@keyframes pl-drift{0%{transform:translate(0,0)}to{transform:translate(24px,-18px)}}@keyframes pl-spin{to{transform:rotate(360deg)}}:root{--pl-violet-900:#2E0A78;--pl-violet-700:#4811BF;--pl-violet-500:#6B35E8;--pl-violet-400:#8257EE;--pl-violet-300:#9B7DF2;--pl-violet-200:#C4B5F5;--pl-violet-100:#EDE8F9;--pl-violet-mid:#544E9C;--pl-spark:#FF6439;--pl-spark-soft:#EF7D58;--spark-rgb:255,100,57;--fb-danger:#F2685F;--fb-danger-bg:rgba(242,104,95,0.15);--fb-warn:#E0A23C;--fb-warn-bg:rgba(224,162,60,0.15);--fb-ok:#4FB87A;--fb-ok-bg:rgba(79,184,122,0.15);--fb-info:var(--pl-violet-300);--fb-info-bg:rgba(72,17,191,0.18);--pl-violet:var(--pl-violet-700);--pl-violet-light:var(--pl-violet-500);--pl-violet-soft:var(--pl-violet-100);--pl-web-dark:#0D0D0D;--pl-dark:#191919;--pl-graphite:#2A2A2A;--pl-gray:#D9D9D9;--pl-off-white:#F2F0F0;--pl-white:#FFFFFF;--pl-black:var(--pl-dark);--pl-dark-bg:var(--pl-web-dark);--stage-1:var(--pl-violet-700);--stage-2:var(--pl-violet-500);--stage-3:var(--pl-violet-400);--stage-4:var(--pl-violet-300);--bg:var(--pl-web-dark);--bg-elev:rgba(255,255,255,0.035);--bg-elev-2:rgba(255,255,255,0.06);--border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.16);--border-hover:rgba(72,17,191,0.45);--border-active:var(--pl-violet-500);--fg-1:#F2F0F0;--fg-2:rgba(242,240,240,0.62);--fg-3:rgba(242,240,240,0.55);--fg-on-violet:#FFFFFF;--fg-on-light:var(--pl-dark);--accent:var(--pl-violet-700);--accent-hover:var(--pl-violet-500);--link:var(--pl-violet-500);--focus-ring:var(--pl-violet-500);--fg1:var(--fg-1);--fg2:var(--fg-2);--fg3:var(--fg-3);--surface-canvas:#0D0D0D;--surface-card:#191919;--surface-text-on:#F2F0F0;--surface-text-on-dim:rgba(242,240,240,0.62);--glass-bg:rgba(255,255,255,0.05);--glass-bg-tinted:linear-gradient(180deg, rgba(72,17,191,0.16) 0%, rgba(255,255,255,0.02) 100%);--glass-border:rgba(255,255,255,0.14);--glass-shine:linear-gradient(to right, transparent, rgba(255,255,255,0.16), transparent);--glow-violet-rgb:72, 17, 191;--pattern-line:rgba(255,255,255,0.04);--pattern-dot:rgba(255,255,255,0.09);--pattern-violet-line:rgba(72,17,191,0.20);--noise-opacity:0.40;--noise-blend:overlay;--vignette:rgba(0,0,0,0.55)}.light,[data-theme=light]{--bg:var(--pl-off-white);--bg-elev:#FFFFFF;--bg-elev-2:#FAF8FB;--border:rgba(25,25,25,0.10);--border-strong:rgba(25,25,25,0.18);--border-hover:rgba(72,17,191,0.40);--border-active:var(--pl-violet-700);--fg-1:#191919;--fg-2:rgba(25,25,25,0.66);--fg-3:rgba(25,25,25,0.62);--fg-on-light:var(--pl-dark);--accent-hover:var(--pl-violet-900);--link:var(--pl-violet-700);--focus-ring:var(--pl-violet-700);--fb-danger:#C5392F;--fb-danger-bg:rgba(197,57,47,0.10);--fb-warn:#A9700C;--fb-warn-bg:rgba(169,112,12,0.10);--fb-ok:#2E8B57;--fb-ok-bg:rgba(46,139,87,0.10);--fb-info:var(--pl-violet-700);--fb-info-bg:rgba(72,17,191,0.08);--surface-canvas:#F2F0F0;--surface-card:#FFFFFF;--surface-text-on:#191919;--surface-text-on-dim:rgba(25,25,25,0.66);--glass-bg:rgba(255,255,255,0.60);--glass-bg-tinted:linear-gradient(180deg, rgba(72,17,191,0.08) 0%, rgba(255,255,255,0.65) 100%);--glass-border:rgba(25,25,25,0.10);--glass-shine:linear-gradient(to right, transparent, rgba(255,255,255,0.85), transparent);--pattern-line:rgba(25,25,25,0.06);--pattern-dot:rgba(25,25,25,0.12);--pattern-violet-line:rgba(72,17,191,0.16);--noise-opacity:0.28;--noise-blend:multiply;--vignette:rgba(25,25,25,0.10)}@font-face{font-family:"Open Sans";src:url(fonts/OpenSans-VariableFont_wdth-wght.woff2)format("woff2-variations"),url(fonts/OpenSans-VariableFont_wdth-wght.ttf)format("truetype-variations");font-weight:300 800;font-style:normal;font-display:swap}@font-face{font-family:"Open Sans";src:url(fonts/OpenSans-Italic-VariableFont_wdth-wght.woff2)format("woff2-variations"),url(fonts/OpenSans-Italic-VariableFont_wdth-wght.ttf)format("truetype-variations");font-weight:300 800;font-style:italic;font-display:swap}@font-face{font-family:"Jost";src:url(fonts/Jost-VariableFont_wght.woff2)format("woff2-variations"),url(fonts/Jost-VariableFont_wght.ttf)format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"Jost";src:url(fonts/Jost-Italic-VariableFont_wght.woff2)format("woff2-variations"),url(fonts/Jost-Italic-VariableFont_wght.ttf)format("truetype-variations");font-weight:100 900;font-style:italic;font-display:swap}:root{--font-display:'Jost', 'DM Sans', system-ui, sans-serif;--font-body:'Open Sans', system-ui, sans-serif;--font-mono:ui-monospace, 'SF Mono', Menlo, Consolas, monospace;--fs-display:88px;--fs-h1:64px;--fs-h2:44px;--fs-h3:30px;--fs-h4:22px;--fs-h5:18px;--fs-body-lg:19px;--fs-body:16px;--fs-small:13px;--fs-caption:11px;--fs-num-lg:120px;--lh-display:1.04;--lh-heading:1.14;--lh-snug:1.35;--lh-body:1.65;--tr-display:-0.035em;--tr-heading:-0.02em;--tr-body:0}body,html{background:var(--bg);color:var(--fg-1);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.h1,h1{font-family:var(--font-display);font-weight:900;font-size:var(--fs-h1);line-height:var(--lh-display);letter-spacing:var(--tr-display);margin:0}.h2,h2{font-weight:700;font-size:var(--fs-h2);line-height:var(--lh-heading);letter-spacing:var(--tr-heading)}.display,.h2,.h3,.h4,.h5,h2,h3,h4,h5{font-family:var(--font-display);margin:0}.h3,h3{font-weight:600;font-size:var(--fs-h3);line-height:var(--lh-heading);letter-spacing:var(--tr-heading)}.display,.h4,.h5,h4,h5{font-weight:500;font-size:var(--fs-h4);line-height:var(--lh-snug)}.display,.h5,h5{font-size:var(--fs-h5)}.display{font-weight:900;font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:-.04em}.display em,.h1 em,.h2 em{font-style:italic;font-weight:900}.body,.body-lg,p{line-height:var(--lh-body);color:var(--fg-2)}.body,p{font-family:var(--font-body);font-size:var(--fs-body);margin:0}.body-lg{font-size:var(--fs-body-lg)}.small{font-size:var(--fs-small)}.caption{font-size:var(--fs-caption);color:var(--fg-3)}.label{font-family:var(--font-body);font-size:var(--fs-small);font-weight:600;color:var(--fg-2);letter-spacing:0;text-transform:none}.label--violet,.num,a:hover{color:var(--pl-violet-500)}.num{font-family:var(--font-display);font-weight:900;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}.num-lg{font-size:var(--fs-num-lg)}.link,a{color:var(--link);text-decoration:none;transition:color .2s cubic-bezier(.22,.61,.36,1)}.light .pl-btn--ghost:hover,.light a:hover{color:var(--pl-violet-900)}.mono,code,kbd{font-family:var(--font-mono);font-size:.92em}::selection{background:var(--pl-violet-700);color:#fff}:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--sp-32:128px;--content-max:1200px;--content-narrow:820px;--gutter:clamp(20px, 5vw, 64px);--r-xs:8px;--r-sm:12px;--r-md:16px;--r-panel:24px;--r-lg:24px;--r-xl:32px;--r-pill:999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.35);--shadow-md:0 8px 28px rgba(0,0,0,0.40);--shadow-lg:0 24px 64px rgba(0,0,0,0.55);--glow-violet:0 0 60px rgba(72,17,191,0.35);--glow-violet-deep:0 0 110px rgba(72,17,191,0.45);--ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(0,.55,.45,1);--dur-fast:120ms;--dur:200ms;--dur-slow:320ms;--focus-width:2px;--focus-offset:2px}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.bg-canvas,.bg-card{color:var(--surface-text-on)}.bg-canvas{background:var(--surface-canvas)}.bg-card{background:var(--surface-card)}.bg-violet{background:var(--pl-violet-700);color:#fff}.bg-paper{background:var(--pl-off-white);color:var(--pl-dark)}.bg-black{background:var(--pl-dark);color:var(--pl-off-white)}.bg-glow-violet{background:radial-gradient(circle at 82% 18%,rgba(var(--glow-violet-rgb),.4) 0%,transparent 55%),var(--surface-canvas)}.bg-glow-corner{background:radial-gradient(60% 60%at 100% 0%,rgba(var(--glow-violet-rgb),.32) 0%,transparent 60%),radial-gradient(50% 50%at 0% 100%,rgba(var(--glow-violet-rgb),.16) 0%,transparent 60%),var(--surface-canvas)}.bg-glow-center{background:radial-gradient(ellipse at center,rgba(var(--glow-violet-rgb),.28) 0%,transparent 62%),var(--surface-canvas)}.bg-violet-depth{background:linear-gradient(150deg,#0d0d0d 0,#1a0b3a 52%,#0d0d0d 100%);color:var(--pl-off-white)}.light .bg-violet-depth,[data-theme=light] .bg-violet-depth{background:linear-gradient(150deg,#f2f0f0 0,#ede8f9 52%,#f2f0f0 100%);color:var(--pl-dark)}.orb{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(var(--glow-violet-rgb),.45) 0%,transparent 70%);filter:blur(40px)}@media (prefers-reduced-motion:no-preference){.orb--drift{animation:pl-drift 11s var(--ease) infinite alternate}}.pattern-grid{background-image:linear-gradient(to right,var(--pattern-line) 1px,transparent 1px),linear-gradient(to bottom,var(--pattern-line) 1px,transparent 1px);background-size:40px 40px}.pattern-dot{background-image:radial-gradient(var(--pattern-dot) 1px,transparent 1px);background-size:20px 20px}.pattern-stripes{background-image:linear-gradient(to right,var(--pattern-violet-line) 1px,transparent 1px);background-size:72px 100%}.pattern-diag{background-image:repeating-linear-gradient(45deg,var(--pattern-line)0,var(--pattern-line) 1px,transparent 1px,transparent 18px)}.texture-noise,.texture-vignette{position:relative}.texture-noise::before,.texture-vignette::after{content:"";position:absolute;inset:0;pointer-events:none}.texture-noise::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.08 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:var(--noise-opacity);mix-blend-mode:var(--noise-blend)}.texture-vignette::after{background:radial-gradient(ellipse at center,transparent 32%,var(--vignette) 100%)}.scrim-top{-webkit-mask-image:linear-gradient(to bottom,#000 0,transparent 100%);mask-image:linear-gradient(to bottom,#000 0,transparent 100%)}.scrim-bottom{-webkit-mask-image:linear-gradient(to top,#000 0,transparent 100%);mask-image:linear-gradient(to top,#000 0,transparent 100%)}.glass,.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--r-panel);padding:var(--sp-6);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 30px rgba(0,0,0,.35);position:relative;overflow:hidden}.glass-light{-webkit-backdrop-filter:blur(8px) saturate(140%);backdrop-filter:blur(8px) saturate(140%)}.glass-deep{-webkit-backdrop-filter:blur(36px) saturate(200%);backdrop-filter:blur(36px) saturate(200%)}.glass-violet{background:var(--glass-bg-tinted);border-color:rgba(72,17,191,.3)}.glass-card::before,.glass::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--glass-shine);pointer-events:none}.panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-panel);padding:var(--sp-6);transition:border-color var(--dur) var(--ease)}.panel:hover{border-color:var(--border-hover)}.glow-violet{box-shadow:var(--glow-violet)}.glow-violet-deep{box-shadow:var(--glow-violet-deep)}.theme-flip{transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.pl-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-display);font-weight:600;line-height:1;border:1px solid transparent;border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur-fast) var(--ease),color var(--dur) var(--ease)}.pl-btn--sm{height:40px;padding:0 18px;font-size:14px}.pl-btn--md{height:50px;padding:0 26px;font-size:15px}.pl-btn--lg{height:58px;padding:0 34px;font-size:17px}.pl-btn:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(72,17,191,.45)}.pl-btn:disabled,.pl-btn[aria-disabled=true]{opacity:.4;cursor:not-allowed;pointer-events:none}.pl-btn__icon{display:inline-flex;flex:none}.pl-btn--primary{background:var(--pl-violet-700);color:#fff}.pl-btn--primary:hover{background:var(--pl-violet-500);box-shadow:var(--glow-violet)}.pl-btn--primary:active{transform:translateY(1px);box-shadow:inset 0 2px 6px rgba(0,0,0,.35)}.pl-btn--secondary{background:var(--pl-violet-700);color:var(--fg-1);border-color:transparent}.pl-btn--secondary:hover{background:var(--pl-violet-500);border-color:var(--border-active);color:var(--fg-1)}.pl-btn--secondary:active{transform:translateY(1px)}.pl-btn--ghost{background:0 0;color:var(--fg-1);padding-left:14px;padding-right:14px}.pl-btn--ghost:hover{color:var(--pl-violet-500)}.pl-btn--icon{width:50px;height:50px;padding:0;border-radius:var(--r-pill)}.pl-btn--icon.pl-btn--sm{width:40px;height:40px}.pl-btn--icon.pl-btn--lg{width:58px;height:58px}.pl-btn--block{display:flex;width:100%}.pl-btn--on-violet{background:#fff;color:var(--pl-violet-700)}.pl-btn--on-violet:hover{background:var(--pl-off-white);box-shadow:0 8px 28px rgba(0,0,0,.3)}.pl-btn--on-violet:active{transform:translateY(1px)}.pl-btn--loading{position:relative;color:transparent!important;pointer-events:none}.pl-btn--loading>*{visibility:hidden}.pl-btn--loading::after{content:"";position:absolute;width:17px;height:17px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:pl-spin .6s linear infinite}.pl-btn--ghost.pl-btn--loading::after,.pl-btn--secondary.pl-btn--loading::after{border-color:rgba(130,87,238,.35);border-top-color:var(--pl-violet-500)}.pl-btn--on-violet.pl-btn--loading::after{border-color:rgba(72,17,191,.3);border-top-color:var(--pl-violet-700)}.pl-badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 12px;border-radius:var(--r-pill);font-family:var(--font-body);font-size:12px;font-weight:600;line-height:1;border:1px solid transparent}.pl-badge--sm{height:22px;padding:0 9px;font-size:11px;gap:5px}.pl-badge--lg{height:32px;padding:0 16px;font-size:13px}.pl-badge--dot::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.pl-badge--solid{background:var(--pl-violet-700);color:#fff}.pl-badge--soft{background:rgba(72,17,191,.18);color:var(--pl-violet-200)}.light .pl-badge--soft{background:var(--pl-violet-100)}.pl-badge--outline{background:0 0;color:var(--pl-violet-200);border-color:var(--border-strong)}.light .pl-badge--outline,.light .pl-badge--soft{color:var(--pl-violet-700)}.pl-badge--danger.pl-badge--soft{background:var(--fb-danger-bg);color:var(--fb-danger)}.pl-badge--danger.pl-badge--outline{color:var(--fb-danger);border-color:var(--fb-danger)}.pl-badge--danger.pl-badge--solid{background:var(--fb-danger);color:#fff}.pl-badge--warn.pl-badge--soft{background:var(--fb-warn-bg);color:var(--fb-warn)}.pl-badge--warn.pl-badge--outline{color:var(--fb-warn);border-color:var(--fb-warn)}.pl-badge--warn.pl-badge--solid{background:var(--fb-warn);color:#1a0f00}.pl-badge--ok.pl-badge--soft{background:var(--fb-ok-bg);color:var(--fb-ok)}.pl-badge--ok.pl-badge--outline{color:var(--fb-ok);border-color:var(--fb-ok)}.pl-badge--ok.pl-badge--solid{background:var(--fb-ok);color:#04150c}.pl-badge--info.pl-badge--soft{background:var(--fb-info-bg);color:var(--fb-info)}.pl-badge--info.pl-badge--outline{color:var(--fb-info);border-color:var(--fb-info)}.pl-badge--info.pl-badge--solid{background:var(--pl-violet-700);color:#fff}.pl-badge--neutral.pl-badge--soft{background:var(--bg-elev-2);color:var(--fg-2)}.pl-badge--neutral.pl-badge--outline{color:var(--fg-2);border-color:var(--border-strong)}.pl-badge--neutral.pl-badge--solid{background:var(--pl-graphite);color:var(--fg-1)}.pl-field{display:flex;flex-direction:column;gap:8px}.pl-field__label{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--fg-2)}.pl-field__hint{font-size:12px;color:var(--fg-3)}.pl-input{width:100%;box-sizing:border-box;height:52px;padding:0 22px;border-radius:var(--r-pill);background:var(--bg-elev);color:var(--fg-1);border:1px solid var(--border);font-family:var(--font-body);font-size:15px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.pl-input::placeholder{color:var(--fg-3)}.pl-input:hover{border-color:var(--border-strong)}.pl-input:focus{outline:0;border-color:var(--border-active);box-shadow:0 0 0 3px rgba(72,17,191,.25)}.pl-input--soft,textarea.pl-input{border-radius:var(--r-sm)}textarea.pl-input{height:auto;min-height:120px;padding:16px 22px;resize:vertical;line-height:1.6}select.pl-input{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:46px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23A7A4A8' stroke-width='1.5'><path d='M4 6l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 20px center}.pl-input:disabled{opacity:.5;cursor:not-allowed}.pl-field__req{color:var(--fb-danger);margin-left:3px;font-weight:700}.pl-input--error,.pl-input--error:hover{border-color:var(--fb-danger)}.pl-input--error:focus{border-color:var(--fb-danger);box-shadow:0 0 0 3px var(--fb-danger-bg)}.pl-field__error{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--fb-danger)}.pl-field__error::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}.pl-choice{flex-direction:row;align-items:flex-start;gap:11px;cursor:pointer}.pl-choice input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:var(--pl-violet-700);cursor:pointer}.pl-choice .pl-field__label{color:var(--fg-1);font-weight:400;font-size:14px;line-height:1.4}.pl-card{border-radius:var(--r-panel);border:1px solid var(--border);background:var(--bg-elev);padding:32px}.pl-card--tinted{border-color:rgba(72,17,191,.3);background:var(--glass-bg-tinted)}.pl-card--plain{background:0 0}.pl-card--hoverable{transition:border-color var(--dur) var(--ease)}.pl-card--hoverable:hover,.pl-card--interactive:hover{border-color:var(--border-hover)}.pl-card--sm{padding:20px}.pl-card--lg{padding:44px}.pl-card--interactive{cursor:pointer;transition:border-color var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.pl-card--interactive:focus-visible{outline:0;border-color:var(--border-active);box-shadow:0 0 0 3px rgba(72,17,191,.3)}.pl-card--interactive:active{transform:translateY(1px)}.pl-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.pl-card__title{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.02em;margin:0;color:var(--fg-1)}.pl-card__body{color:var(--fg-2);font-size:15px;line-height:1.6}.pl-card__foot{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.pl-stage-num{font-family:var(--font-display);font-weight:900;letter-spacing:-.045em;line-height:.9;font-variant-numeric:tabular-nums}.pl-alert{display:flex;gap:13px;align-items:flex-start;padding:15px 17px;border-radius:var(--r-md);border:1px solid transparent;font-family:var(--font-body)}.pl-alert__icon{flex:none;display:inline-flex;margin-top:1px}.pl-alert__content{flex:1;min-width:0}.pl-alert__title{font-weight:700;font-size:14.5px;color:var(--fg-1);margin:0;line-height:1.4}.pl-alert__body{font-size:14px;color:var(--fg-2);line-height:1.55;margin:4px 0 0}.pl-alert__title+.pl-alert__body{margin-top:4px}.pl-alert__action{display:flex;align-items:center;gap:12px;margin-top:13px;flex-wrap:wrap}.pl-alert__dismiss{flex:none;appearance:none;background:0 0;border:0;cursor:pointer;color:var(--fg-3);padding:2px;margin:-2px -2px 0 0;line-height:0;border-radius:6px;transition:color var(--dur) var(--ease)}.pl-alert__dismiss:hover{color:var(--fg-1)}.pl-alert__dismiss:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(72,17,191,.4)}.pl-alert--danger{background:var(--fb-danger-bg);border-color:color-mix(in srgb,var(--fb-danger) 40%,transparent)}.pl-alert--danger .pl-alert__icon{color:var(--fb-danger)}.pl-alert--warn{background:var(--fb-warn-bg);border-color:color-mix(in srgb,var(--fb-warn) 40%,transparent)}.pl-alert--warn .pl-alert__icon{color:var(--fb-warn)}.pl-alert--ok{background:var(--fb-ok-bg);border-color:color-mix(in srgb,var(--fb-ok) 40%,transparent)}.pl-alert--ok .pl-alert__icon{color:var(--fb-ok)}.pl-alert--info{background:var(--fb-info-bg);border-color:color-mix(in srgb,var(--fb-info) 40%,transparent)}.pl-alert--info .pl-alert__icon{color:var(--fb-info)}.pl-metric{display:flex;flex-direction:column;gap:7px}.pl-metric--center{align-items:center;text-align:center}.pl-metric__icon{color:var(--pl-violet-400);margin-bottom:3px;display:inline-flex}.pl-metric__value{font-family:var(--font-display);font-weight:900;letter-spacing:-.04em;line-height:.86;font-variant-numeric:tabular-nums;font-size:clamp(40px,5.5vw,60px);color:var(--fg-1)}.pl-metric--sm .pl-metric__value{font-size:clamp(30px,4vw,40px)}.pl-metric--lg .pl-metric__value{font-size:clamp(54px,8vw,84px)}.pl-metric__value .pl-metric__unit{font-size:.5em;font-weight:800;color:var(--fg-3);letter-spacing:-.01em;margin-left:4px}.pl-metric--spark .pl-metric__value{color:var(--pl-spark)}.pl-metric__label{font-family:var(--font-body);font-weight:600;font-size:14px;color:var(--fg-2)}.pl-metric__sub{font-size:13px;color:var(--fg-3);line-height:1.5;margin:0;max-width:34ch}.pl-score{display:flex;flex-direction:column;gap:18px;font-family:var(--font-body)}.pl-score__head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;flex-wrap:wrap}.pl-score__figure{display:flex;align-items:baseline;gap:12px}.pl-score__num{font-family:var(--font-display);font-weight:900;letter-spacing:-.05em;line-height:.78;font-variant-numeric:tabular-nums;color:var(--fg-1);font-size:clamp(60px,9vw,92px)}.pl-score--lg .pl-score__num{font-size:clamp(76px,12vw,120px)}.pl-score--sm .pl-score__num{font-size:clamp(44px,6vw,60px)}.pl-score__max,.pl-score__verdict{font-family:var(--font-display);letter-spacing:-.02em}.pl-score__max{font-weight:700;font-size:.32em;color:var(--fg-3)}.pl-score__verdict{display:flex;align-items:center;gap:9px;font-weight:800;font-size:clamp(18px,2.4vw,26px);padding-bottom:8px}.pl-score__verdict-dot{width:11px;height:11px;border-radius:50%;flex:none;background:currentColor}.pl-score__gauge{height:8px;border-radius:999px;background:var(--bg-elev-2);overflow:hidden}.light .pl-score__gauge{background:var(--pl-gray)}.pl-score__fill{height:100%;border-radius:999px;transition:width .45s var(--ease)}.pl-score--danger .pl-score__verdict{color:var(--fb-danger)}.pl-score--danger .pl-score__fill{background:var(--fb-danger)}.pl-score--warn .pl-score__verdict{color:var(--fb-warn)}.pl-score--warn .pl-score__fill{background:var(--fb-warn)}.pl-score--ok .pl-score__verdict{color:var(--fb-ok)}.pl-score--ok .pl-score__fill{background:var(--fb-ok)}.pl-score__scale{display:flex;justify-content:space-between;font-size:11.5px;color:var(--fg-3);margin-top:-8px}.pl-cta-band{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:clamp(34px,5vw,60px)}.pl-cta-band--violet{background:var(--pl-violet-700);color:#fff}.pl-cta-band--dark{background:var(--bg-elev);border:1px solid var(--border)}.pl-cta-band__inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:22px;max-width:660px}.pl-cta-band--split .pl-cta-band__inner{flex-direction:row;align-items:center;justify-content:space-between;max-width:none;gap:36px}.pl-cta-band__copy{display:flex;flex-direction:column;gap:12px}.pl-cta-band__title{font-family:var(--font-display);font-weight:800;font-size:clamp(26px,3.4vw,40px);letter-spacing:-.03em;line-height:1.08;margin:0}.pl-cta-band__body{font-size:16px;line-height:1.6;margin:0}.pl-cta-band--violet .pl-cta-band__body{color:rgba(255,255,255,.82)}.pl-cta-band--dark .pl-cta-band__body{color:var(--fg-2)}.pl-cta-band__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;flex:none}.pl-cta-band--violet::after{content:"";position:absolute;top:-40%;right:-10%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(107,53,232,.55),transparent 68%);pointer-events:none}@media (max-width:640px){.pl-cta-band--split .pl-cta-band__inner{flex-direction:column;align-items:flex-start}}.pl-summary{border:1px solid var(--border);border-left:3px solid var(--pl-violet-700);border-radius:var(--r-md);background:var(--bg-elev);padding:22px 26px}.pl-summary__title{font-family:var(--font-body);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin:0 0 10px}.pl-summary__body{font-family:var(--font-body);font-size:15.5px;line-height:1.65;color:var(--fg-2);margin:0;max-width:72ch}@media (max-width:560px){.pl-summary{padding:18px 20px}}.pl-faq{display:flex;flex-direction:column;gap:14px}.pl-faq__item{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-elev);padding:22px 26px}.pl-faq__q{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.01em;line-height:1.35;color:var(--fg-1);margin:0 0 8px}.pl-faq__a{font-family:var(--font-body);font-size:15px;line-height:1.65;color:var(--fg-2);margin:0;max-width:72ch}@media (max-width:560px){.pl-faq__item{padding:18px 20px}}.pl-audit-form,.pl-audit-form__head{display:flex;flex-direction:column;gap:20px}.pl-audit-form__head{gap:8px}.pl-audit-form__title{font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:-.02em;margin:0;color:var(--fg-1)}.pl-audit-form__intro{font-size:14.5px;line-height:1.55;color:var(--fg-2);margin:0;max-width:52ch}.pl-audit-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pl-audit-form--compact .pl-audit-form__grid{grid-template-columns:1fr}.pl-audit-form__full{grid-column:1/-1}.pl-audit-form__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:2px}.pl-audit-form__note{font-size:12.5px;color:var(--fg-3);line-height:1.5}@media (max-width:560px){.pl-audit-form__grid{grid-template-columns:1fr}}.pl-skip-link{position:fixed;top:12px;left:12px;z-index:10000;transform:translateY(-150%);display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border-radius:999px;background:var(--pl-violet-700);color:#fff;font-family:var(--font-display);font-weight:700;font-size:14px;text-decoration:none;box-shadow:0 0 0 3px rgba(72,17,191,.35),0 16px 42px rgba(0,0,0,.35);transition:transform var(--dur) var(--ease),background-color var(--dur) var(--ease)}.pl-skip-link:focus,.pl-skip-link:focus-visible{transform:translateY(0);outline:0}.pl-skip-link:hover{background:var(--pl-violet-500);color:#fff}html{color-scheme:dark}

/* ============================================================
   PLATONICA PRESENCE — HOME + AUTOEVALUACIÓN
   Migrated from index.html on 2026-08-02.
   ============================================================ */
/* ============================================================
     HOME — page-specific layout. Tokens/components come from
     styles.css. This block only adds section structure, never
     new brand color or shape language.
     ============================================================ */
  body { margin:0; color:var(--fg-1);
    background:
      radial-gradient(1200px 640px at 50% 0px, rgba(72,17,191,0.34) 0%, transparent 62%),
      var(--pl-web-dark);
    background-repeat:no-repeat;
  }
  a { color:inherit; }
  img, svg { display:block; }
  .ico { width:1em; height:1em; fill:currentColor; display:inline-block; vertical-align:middle; flex:none; }
  .container { max-width:var(--content-max); margin:0 auto; padding:0 var(--gutter); }
  .dot-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px; }
  .dot-list li { display:flex; gap:12px; align-items:flex-start; color:var(--fg-2); font-size:15px; line-height:1.55; }
  .dot-list li::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--pl-violet-500); margin-top:8px; flex:none; }
  .visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

  /* focus visibility, applied globally on this page per spec §1.6 */
  a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
    outline: var(--focus-width) solid var(--border-active);
    outline-offset: var(--focus-offset);
  }

  /* ---------- NAV ---------- */
  .pl-nav-wrap { position:fixed; inset:0 0 auto; z-index:60; padding:18px var(--gutter) 0; background:transparent; pointer-events:none; }
  .pl-nav-wrap .container { padding:0; pointer-events:none; }
  .pl-nav {
    pointer-events:auto;
    display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
    height:64px; padding:0 8px 0 22px; border-radius:var(--r-pill);
    background:transparent; border:1px solid transparent;
    transition: background-color 420ms var(--ease), border-color 420ms var(--ease),
                box-shadow 420ms var(--ease), max-width 420ms var(--ease), padding 420ms var(--ease);
    max-width: var(--content-max); margin:0 auto;
  }
  .pl-nav.is-scrolled {
    background:rgba(13,13,13,0.82); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
    border-color:rgba(255,255,255,0.06); box-shadow:0 8px 30px rgba(0,0,0,0.30);
    max-width: 560px; padding:0 8px 0 18px;
  }
  .pl-logo { display:flex; align-items:center; gap:10px; color:var(--pl-off-white); text-decoration:none; }
  .pl-logo span { font-family:var(--font-display); font-weight:700; font-size:19px; letter-spacing:-0.02em; }
  footer.pl-footer .pl-logo span { font-size:18px; }
  .pl-nav__logo { position:relative; justify-self:start; height:44px; width:108px; display:flex; align-items:center; color:var(--pl-off-white); }
  .pl-nav__logo .pl-logo { position:absolute; left:0; top:50%; transform:translateY(-50%); transition:opacity 360ms var(--ease); }
  .logo-scrolled { opacity:0; }
  .pl-nav.is-scrolled .logo-rest { opacity:0; }
  .pl-nav.is-scrolled .logo-scrolled { opacity:1; }
  .cta-rest { max-width:320px; overflow:hidden; transition:max-width 380ms var(--ease), opacity 260ms var(--ease), padding 380ms var(--ease), margin 380ms var(--ease); }
  .cta-scrolled { opacity:0; pointer-events:none; transition:opacity 280ms var(--ease) 80ms; }
  .pl-nav.is-scrolled .cta-rest { max-width:0; opacity:0; padding-left:0; padding-right:0; margin:0; pointer-events:none; }
  .pl-nav.is-scrolled .cta-scrolled { opacity:1; pointer-events:auto; }
  .pl-nav__links { display:flex; gap:4px; justify-self:center; }
  .pl-nav__links a {
    font-size:15px; color:var(--fg-2); text-decoration:none; padding:9px 16px;
    border-radius:var(--r-pill); transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);
    position:relative;
  }
  .pl-nav__links a:hover { background:rgba(255,255,255,0.06); color:var(--fg-1); }
  .pl-nav__links a.is-active { color:var(--fg-1); text-shadow:0 0 18px rgba(107,53,232,0.85); }
  .pl-nav__right { display:flex; align-items:center; gap:var(--sp-3); justify-self:end; }
  .pl-lang {
    display:inline-flex; align-items:center; height:38px; padding:0 15px; border-radius:var(--r-pill);
    border:1px solid var(--border-strong); background:transparent; color:var(--fg-2);
    font-family:var(--font-body); font-weight:600; font-size:13px; cursor:not-allowed;
    letter-spacing:0.02em; opacity:0.55;
  }
  a.pl-lang { text-decoration:none; cursor:pointer; opacity:1; transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease); }
  a.pl-lang:hover { color:var(--fg-1); border-color:var(--border-active); }
  .pl-nav .pl-btn--primary:hover,.pl-mobile-menu .pl-btn--primary:hover { color:#fff; }
  .pl-nav__toggle { display:none; }
  @media (max-width:768px){
    .pl-nav__links { display:none; }
    .pl-nav__toggle { display:inline-flex; justify-self:center; }
    .pl-nav.is-scrolled { max-width:none; }
    /* At rest on mobile the CTA collapses to icon-only so the bar never overflows. */
    .cta-rest { display:none; }
    .cta-scrolled { opacity:1; pointer-events:auto; }
  }
  .pl-mobile-menu {
    display:none; position:fixed; inset:0; z-index:55; background:rgba(13,13,13,0.97);
    -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); padding:96px 28px 28px;
    flex-direction:column; gap:6px;
  }
  .pl-mobile-menu.is-open { display:flex; }
  .pl-mobile-menu a { font-family:var(--font-display); font-size:22px; font-weight:600; color:var(--fg-1); text-decoration:none; padding:14px 4px; }
  .pl-mobile-menu .row { display:flex; gap:14px; margin-top:18px; }

  /* ---------- HERO ---------- */
  .hero { position:relative; overflow:hidden; padding:100px 0 0; background:transparent; }
  .hero .stmt { text-align:center; max-width:1040px; margin:0 auto; position:relative; z-index:2; }
  .hero h1 { font-family:var(--font-display); font-weight:900; letter-spacing:-0.04em; line-height:1.04;
    font-size:clamp(40px,6.4vw,84px); margin:0; color:var(--pl-off-white); }
  .hero .hero-h1 { font-size:clamp(46px,7.2vw,96px); line-height:1.02; margin:0; }
  .hero .hero-subtext { color:var(--fg-2); font-size:clamp(18px,1.7vw,24px); line-height:1.65;
    max-width:760px; margin:20px auto 0; }
  .hero .hero-accent { color:var(--pl-violet-500); }
  .hero h1 .lead { display:block; font-weight:700; letter-spacing:-0.02em; line-height:1.3;
    font-size:clamp(30px,4.8vw,63px); color:var(--fg-1); margin:0 0 14px; }
  .hero h1 .vt { color:var(--pl-violet-500); }
  .hero h1 em { font-style:italic; color:var(--pl-violet-500); font-weight:900; }
  .hero p.sub { color:var(--fg-2); font-size:clamp(16px,1.4vw,19px); line-height:1.6;
    max-width:600px; margin:26px auto 0; }
  .hero .media-wrap { max-width:840px; margin:56px auto 0; padding:0 var(--gutter) 0; }
  .hero .frame { padding:0; background:transparent; border:none; border-radius:0; }
  .hero-illustration svg { width:100%; height:auto; }
  /* native illustration motion, restored from the source asset */
  @keyframes plxFlow { to { stroke-dashoffset: -200; } }
  @keyframes plxFlowR { to { stroke-dashoffset: 200; } }
  @keyframes plxDrift { 0%,100% { opacity: 0.65; } 50% { opacity: 1; } }
  .plx-flow { animation: plxFlow 5s linear infinite; }
  .plx-flow-in { animation: plxFlowR 4.6s linear infinite; }
  .plx-glow { animation: plxDrift 12s ease-in-out infinite; }
  @media (prefers-reduced-motion: reduce) { .plx-flow, .plx-flow-in, .plx-glow { animation: none; } }
  /* entrance reveal, page load only */
  .reveal-in { opacity:0; transform:translateY(10px); transition:opacity 600ms var(--ease), transform 600ms var(--ease); }
  .reveal-in.is-shown { opacity:1; transform:translateY(0); }
  @media (prefers-reduced-motion: reduce) { .reveal-in { opacity:1 !important; transform:none !important; transition:none !important; } }
  .stagger > *:nth-child(2) { transition-delay:80ms; }
  .stagger > *:nth-child(3) { transition-delay:160ms; }
  .stagger > *:nth-child(4) { transition-delay:240ms; }

  /* ---------- shared section frame ---------- */
  section.block { padding:120px 0; }
  .sec-head { max-width:760px; }
  .sec-head h2 { font-family:var(--font-display); font-weight:800; font-size:clamp(30px,3.6vw,46px);
    letter-spacing:-0.03em; line-height:1.08; margin:0; color:var(--pl-off-white); }
  .sec-head h2 em { font-style:italic; color:var(--pl-violet-500); font-weight:800; }
  .sec-head p { color:var(--fg-2); font-size:17px; line-height:1.6; margin:30px 0 0; max-width:600px; }
  .violet-em { color:var(--pl-violet-500); }

  /* ---------- MIRROR (pinned) ---------- */
  .mirror-outer { position:relative; background:var(--pl-web-dark); }
  .mirror-pin-region { position:relative; height:220vh; }
  .mirror-sticky { position:sticky; top:0; height:100vh; display:flex; align-items:center; justify-content:center; will-change:opacity; }
  .mirror-stmt { text-align:center; max-width:880px; margin:0 auto; padding:0 var(--gutter); }
  .mirror-stmt .l1 { font-family:var(--font-display); font-weight:700; font-size:clamp(26px,3.6vw,44px);
    letter-spacing:-0.025em; line-height:1.2; color:var(--fg-1); margin:0; }
  .mirror-stmt .l2 { font-family:var(--font-display); font-style:italic; font-weight:700;
    font-size:clamp(26px,3.6vw,44px); letter-spacing:-0.025em; line-height:1.2; color:var(--pl-violet-500); margin:14px 0 0; }
  /* static fallback: mobile and reduced-motion. JS adds .is-static, which this rule serves. */
  .mirror-pin-region.is-static { height:auto; padding:160px 0; }
  .mirror-pin-region.is-static .mirror-sticky { position:relative; top:auto; height:auto; opacity:1 !important; }

  /* ---------- STATS ---------- */
  .stats-section {
    background:linear-gradient(180deg, #0D0D0D 0%, #0A0520 100%);
  }
  .stats-section .sec-head h3 { font-family:var(--font-display); font-weight:800; font-size:clamp(28px,3.2vw,40px); letter-spacing:-0.03em; line-height:1.12; margin:0; color:var(--pl-off-white); max-width:760px; }
  .stats-row { display:grid; grid-template-columns:repeat(3, 1fr); gap:48px; margin-top:100px; }
  .stat { display:flex; flex-direction:column; gap:10px; min-width:0; }
  .stat .pl-metric__value { font-size:clamp(48px,6vw,72px); }
  .stat .phrase { color:var(--fg-1); font-size:16px; line-height:1.5; max-width:30ch; }
  .stat .src { color:var(--fg-3); font-size:12.5px; font-style:italic; }
  .stats-close { margin-top:56px; max-width:640px; color:var(--fg-2); font-size:17px; line-height:1.6; }

  /* ---------- VISIBILITY SUITE INTRO ---------- */
  .suite-intro-section { background:#0A0520; position:relative; }
  .suite-intro-kicker { width:280px; height:22.33px; display:block; color:var(--pl-off-white); margin-bottom:20px; }
  .suite-intro-illustration { max-width:880px; margin:56px auto 0; }
  .suite-intro-illustration svg { width:100%; height:auto; display:block; }

  /* ---------- SUITE (5B) ---------- */
  .suite-section { background:linear-gradient(180deg, #0A0520 0%, var(--pl-web-dark) 100%); }
  .suite-section .sec-head { text-align:center; margin:0 auto; max-width:900px; }
  .suite-section .sec-head p { max-width:840px; margin:30px auto 0; }
  .suite { display:grid; grid-template-columns:1fr 1fr; gap:80px; margin-top:80px; position:relative; }
  .suite-product { display:flex; flex-direction:column; align-items:center; text-align:center; gap:18px; }
  .suite-product .suite-logo { display:block; height:48px; width:auto; align-self:center; color:var(--pl-off-white); }
  .suite-product .dot-list { margin-top:18px; text-align:left; }
  .suite-illustration { grid-column:1 / -1; order:2; margin:-20px 0 -80px; position:relative; }
  .suite-illustration svg { width:100%; height:auto; display:block; }
  .suite-cta { grid-column:1 / -1; order:3; text-align:center; margin-top:20px; }
  @media (max-width:768px){
    .suite { grid-template-columns:1fr; }
    .suite-illustration { margin:20px 0 0; }
  }

  /* ---------- METHODOLOGY ---------- */
  .method-section { background:transparent; padding-bottom:32px; }
  .track { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin-top:60px; }
  .track.is-column { grid-template-columns:1fr; gap:40px; }
  .node { position:relative; }
  .method-illustration { max-width:960px; margin:24px auto 0; }
  .method-illustration svg { width:100%; height:auto; display:block; }
  .node .dot { width:15px; height:15px; border-radius:50%; position:relative; z-index:2; }
  .node .num { font-family:var(--font-display); font-weight:900; font-size:60px; letter-spacing:-0.05em; line-height:0.86; margin-top:26px; }
  .node .ico-lg { width:24px; height:24px; margin:16px 0 10px; }
  .node h3 { font-family:var(--font-display); font-weight:700; font-size:21px; letter-spacing:-0.02em; color:var(--pl-off-white); margin:0 0 8px; }
  .node .phrase { font-size:15px; font-weight:700; color:var(--pl-violet-300); line-height:1.45; margin:0 0 8px; }
  .node p.body { font-size:14px; color:var(--fg-2); line-height:1.6; margin:0; max-width:260px; }
  @media (max-width:768px){ .track { grid-template-columns:1fr 1fr; } }

  /* ---------- METHODOLOGY + CLOSE: one continuous field so the CTA
     glow isn't clipped by the section boundary ---------- */
  .method-close-group { position:relative; background:var(--pl-web-dark); }
  .method-close-group::before { content:''; position:absolute; inset:0; background:radial-gradient(55% 55% at 50% 100%, rgba(72,17,191,0.40) 0%, transparent 62%); pointer-events:none; }

  /* ---------- CLOSE ---------- */
  .close-section { position:relative; overflow:hidden; background:transparent; text-align:center; padding:200px 0 96px; }
  .close-section .inner { position:relative; z-index:2; }
  .close-section h2 { font-family:var(--font-display); font-weight:900; font-size:clamp(32px,4.6vw,58px); letter-spacing:-0.035em; line-height:1.05; max-width:880px; margin:0 auto; color:var(--pl-off-white); }
  .close-section h2 em { font-style:italic; color:var(--pl-violet-500); font-weight:900; }
  .close-section p.close-sub { color:var(--fg-2); font-size:17px; line-height:1.6; max-width:560px; margin:22px auto 0; }
  .close-cta { margin-top:44px; }

  /* ---------- FOOTER ---------- */
  footer.pl-footer { padding:64px 0 40px; background:#070707; }
  footer.pl-footer .top { display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; }
  footer.pl-footer .logo { color:var(--pl-off-white); flex:none; }
  footer.pl-footer .desc { color:var(--fg-2); font-size:15px; max-width:320px; margin:18px 0 0; line-height:1.55; }
  footer.pl-footer .cols { display:flex; gap:56px; flex-wrap:wrap; }
  footer.pl-footer .col .col-h6 { font-family:var(--font-body); font-weight:700; font-size:13px; color:var(--pl-violet-300); margin:0 0 14px; }
  footer.pl-footer .col a { display:block; color:var(--fg-2); font-size:14px; text-decoration:none; margin-bottom:10px; }
  footer.pl-footer .col a:hover { color:var(--fg-1); }
  footer.pl-footer .pl-footer__product-logo {
    display:block;
    width:118px;
    max-width:100%;
    height:auto;
    color:var(--fg-2);
    transition:color var(--dur) var(--ease), opacity var(--dur) var(--ease);
  }
  footer.pl-footer .pl-footer__product-link:hover .pl-footer__product-logo,
  footer.pl-footer .pl-footer__product-link:focus-visible .pl-footer__product-logo { color:var(--fg-1); }
  footer.pl-footer .pl-footer__product-logo--retainer { width:126px; }
  footer.pl-footer .col a.accent { display:inline-flex; align-items:center; gap:7px; color:var(--pl-violet-300); }
  footer.pl-footer .legal { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:48px; padding-top:24px; color:var(--fg-3); font-size:13px; }
  footer.pl-footer .legal a { color:var(--fg-3); text-decoration:none; margin-left:18px; }
  footer.pl-footer .legal a:hover { color:var(--fg-1); }

  @media (max-width:768px){
    section.block { padding:80px 0; }
    .hero { padding-top:72px; }
    .stats-row { grid-template-columns:1fr; gap:40px; }
  }


  .home-faq__grid { display:grid; grid-template-columns:minmax(0,0.36fr) minmax(0,0.64fr); gap:56px; align-items:start; }
  .home-faq__intro { display:flex; flex-direction:column; gap:18px; }
  .home-faq__intro p { max-width:34ch; }
  .pl-faq--accordion { gap:0; }
  .pl-faq--accordion .pl-faq__item { padding:0; border:0; border-radius:0; background:transparent; border-top:1px solid var(--border); }
  .pl-faq--accordion .pl-faq__item:last-child { border-bottom:1px solid var(--border); }
  .pl-faq--accordion summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; padding:20px 0; color:var(--fg-1); }
  .pl-faq--accordion summary::-webkit-details-marker { display:none; }
  .pl-faq--accordion summary:focus-visible { outline:var(--focus-width) solid var(--focus-ring); outline-offset:var(--focus-offset); border-radius:var(--r-xs); }
  .pl-faq--accordion .pl-faq__q { margin:0; font-size:18px; line-height:1.35; }
  .pl-faq--accordion .pl-faq__a { max-width:72ch; padding:0 48px 22px 0; }
  .pl-faq__indicator::before { content:"+"; display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; color:var(--pl-violet-300); font-family:var(--font-display); font-size:24px; line-height:1; }
  .pl-faq--accordion details[open] .pl-faq__indicator::before { content:"−"; }
  @media (max-width:768px){ .home-faq__grid { grid-template-columns:1fr; gap:36px; } .home-faq__intro p { max-width:none; } .pl-faq--accordion summary { padding:20px 0; gap:18px; } .pl-faq--accordion .pl-faq__a { padding-right:0; } }


  /* ---------- PRESENCE HOMEPAGE UPDATE ---------- */
  .pl-nav__logo{width:190px;transition:width 360ms var(--ease)}.pl-nav.is-scrolled .pl-nav__logo{width:40px}.presence-nav-logo{width:184px;height:auto}
  .accent-violet{color:var(--pl-violet-300)}.audit-section .accent-violet{color:var(--pl-violet-700)}.needs-section{background:var(--pl-web-dark)}.needs-section .sec-head h2,.needs-card h3,.audit-section .sec-head h2,.products-section .sec-head h2{text-wrap:balance}.needs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:64px}.needs-card{min-height:270px;padding:36px;border-radius:var(--r-panel);border:1px solid rgba(107,53,232,.38);background:radial-gradient(circle at 12% 0%,rgba(107,53,232,.18),transparent 44%),linear-gradient(145deg,rgba(46,10,120,.36) 0%,rgba(31,24,45,.97) 58%,rgba(25,25,25,.99) 100%);box-shadow:inset 0 1px 0 rgba(196,181,245,.1),0 24px 60px rgba(0,0,0,.22)}.needs-card h3{margin:0 0 18px;font-family:var(--font-display);font-size:clamp(24px,2.5vw,32px);line-height:1.08;color:var(--pl-off-white)}.needs-card p{margin:0;color:var(--fg-2);font-size:16px;line-height:1.7}
  .stats-row .stat h3{margin:18px 0 12px;color:var(--pl-off-white);font-family:var(--font-display);font-size:23px;line-height:1.15}
  .how-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:52px}.how-card{padding:26px;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-panel);background:rgba(255,255,255,.035)}.how-card h3{margin:0 0 12px;color:var(--pl-violet-300);font-family:var(--font-display);font-size:21px}.how-card p{margin:0;color:var(--fg-2);line-height:1.65;font-size:15px}
  .audit-section{background:var(--pl-off-white);color:var(--pl-dark)}.audit-section .sec-head h2{color:var(--pl-dark)}.audit-section .sec-head>p{color:#4E4B50}.audit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:54px}.audit-card{padding:28px;border:1px solid rgba(72,17,191,.2);border-radius:var(--r-panel);background:#fff;box-shadow:0 18px 46px rgba(24,18,42,.08)}.audit-card h3{margin:0 0 12px;color:var(--pl-violet-700);font-family:var(--font-display);font-size:21px}.audit-card p{margin:0;color:#4E4B50;line-height:1.65}.audit-outcome{margin:28px 0 0;padding:24px 28px;border-radius:var(--r-md);background:rgba(72,17,191,.07);color:#343137;line-height:1.65}.audit-cta{margin-top:34px}
  .products-section{background:linear-gradient(180deg,#0A0520 0%,var(--pl-web-dark) 100%)}.products-section .track{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px;margin:54px auto 0;gap:24px}.products-section .node{border:1px solid rgba(255,255,255,.1);border-radius:var(--r-panel);background:rgba(255,255,255,.04);padding:34px}.product-card-logo{display:block;width:min(100%,250px);height:auto;margin-bottom:28px;overflow:visible}.product-card-logo .product-logo-word{fill:var(--pl-off-white)}.product-card-logo .product-logo-mark{fill:var(--pl-violet-500)}.products-section .node h3{margin-top:0}.products-section .node .body{margin:0}.product-relation{max-width:760px;margin:34px auto 0;text-align:center;color:var(--fg-2);font-size:16px;line-height:1.65}.products-cta{display:flex;justify-content:center;margin-top:30px}
  .proof-intro{max-width:820px;margin:0 auto}.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:52px auto 0;max-width:1040px}.proof-card{padding:28px;border:1px solid rgba(107,53,232,.38);border-radius:var(--r-panel);background:radial-gradient(circle at 12% 0%,rgba(107,53,232,.18),transparent 44%),linear-gradient(145deg,rgba(46,10,120,.5) 0%,rgba(38,24,68,.98) 100%);box-shadow:inset 0 1px 0 rgba(196,181,245,.1),0 24px 60px rgba(0,0,0,.22);color:var(--pl-off-white);line-height:1.65;text-align:left}.closing-message{margin:70px auto 0;max-width:820px}.closing-message h3{margin:0;font-family:var(--font-display);font-size:clamp(28px,4vw,48px);line-height:1.08;color:var(--pl-off-white)}.closing-message p{margin:18px 0 0;color:var(--fg-2);font-size:17px}
  .presence-footer-logo{width:210px;height:auto}footer.pl-footer .pl-footer__product-logo{filter:brightness(0) invert(1);opacity:.74}footer.pl-footer .pl-footer__product-link:hover .pl-footer__product-logo,footer.pl-footer .pl-footer__product-link:focus-visible .pl-footer__product-logo{opacity:1}footer.pl-footer .presence-signature{margin:18px 0 0;color:var(--pl-off-white);font-size:15px}footer.pl-footer .presence-coverage{margin:8px 0 0;color:var(--fg-2);font-size:14px;line-height:1.55;max-width:360px}
  @media(max-width:900px){.needs-grid,.audit-grid{grid-template-columns:1fr}.how-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.presence-nav-logo{width:168px}.pl-nav__logo{width:174px}.pl-nav.is-scrolled .pl-nav__logo{width:40px}.needs-card{min-height:0;padding:26px}.how-grid,.products-section .track,.proof-grid{grid-template-columns:1fr}.audit-card{padding:24px}.presence-footer-logo{width:184px}}
  @media(max-width:768px){
    .pl-nav-wrap{padding-left:12px;padding-right:12px}
    .pl-nav{grid-template-columns:minmax(0,1fr) auto;padding:0 10px 0 16px}
    .pl-nav__right{display:none}
    .pl-nav__toggle{justify-self:end}
    .hero .stmt{padding-left:22px;padding-right:22px}
  }

  /* ---------- CVA — AUTOEVALUACIÓN EN EL HERO ---------- */
  .cva-hero,.cva-hero *,.cva-result-panel,.cva-result-panel * { box-sizing:border-box; }
  body.cva-flow-locked { overflow:hidden; }
  .hero.cva-hero {
    isolation:isolate; min-height:clamp(680px,100svh,940px); padding:0;
    display:grid; place-items:center; overflow:hidden; background:#0d0d0d;
  }
  .hero.cva-hero::after {
    content:''; position:absolute; z-index:0; inset:0; pointer-events:none; opacity:0;
    background:rgba(5,4,8,.76); -webkit-backdrop-filter:blur(16px) saturate(.55); backdrop-filter:blur(16px) saturate(.55);
    transition:opacity 240ms cubic-bezier(.23,1,.32,1);
  }
  .hero.cva-hero.is-active::after { opacity:1; }
  .cva-grid, .cva-glow, .cva-rings { position:absolute; pointer-events:none; }
  .cva-grid {
    z-index:-3; inset:0;
    background-image:linear-gradient(rgba(107,53,232,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(107,53,232,.075) 1px,transparent 1px);
    background-size:64px 64px;
    -webkit-mask-image:radial-gradient(ellipse 86% 86% at 50% 50%,#000 0%,transparent 100%);
    mask-image:radial-gradient(ellipse 86% 86% at 50% 50%,#000 0%,transparent 100%);
  }
  .cva-glow {
    z-index:-2; width:min(980px,94vw); aspect-ratio:1; left:50%; top:50%; transform:translate(-50%,-50%);
    background:radial-gradient(circle,rgba(72,17,191,.28) 0%,rgba(72,17,191,.08) 34%,transparent 69%);
    animation:cvaBreathe 6s ease-in-out infinite; transition:opacity 240ms cubic-bezier(.23,1,.32,1);
  }
  .cva-rings { z-index:-1; width:min(760px,82vw); aspect-ratio:1; left:50%; top:50%; transform:translate(-50%,-50%); opacity:.72; transition:opacity 240ms cubic-bezier(.23,1,.32,1); }
  .cva-ring { position:absolute; border-radius:50%; border:1px solid rgba(107,53,232,.2); animation:cvaSpin linear infinite; }
  .cva-ring:nth-child(1){inset:0;animation-duration:28s}.cva-ring:nth-child(2){inset:15%;border-color:rgba(107,53,232,.28);animation-duration:20s;animation-direction:reverse}.cva-ring:nth-child(3){inset:31%;border-color:rgba(196,181,245,.32);animation-duration:14s}
  .cva-ring::after { content:""; position:absolute; width:7px; height:7px; left:-4px; top:50%; border-radius:50%; background:var(--pl-violet-500); box-shadow:0 0 16px rgba(107,53,232,.95); }
  @keyframes cvaSpin { to { transform:rotate(360deg); } }
  @keyframes cvaBreathe { 0%,100%{opacity:.72;transform:translate(-50%,-50%) scale(.96)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.04)} }
  @keyframes cvaPulse { 50% { opacity:.45; transform:scale(.88); } }
  @keyframes cvaViewIn { from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none} }
  @keyframes cvaViewOut { to{opacity:0;transform:translateY(-3px)} }

  .cva-shell {
    position:relative; z-index:2; width:min(1120px,100%); margin:0 auto; padding:112px var(--gutter) 54px;
    text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center;
  }
  .cva-hero.is-flowing .cva-shell { max-height:100svh; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
  .cva-intro { width:100%; transform-origin:center top; transition:opacity 280ms cubic-bezier(.23,1,.32,1),transform 280ms cubic-bezier(.23,1,.32,1),filter 280ms cubic-bezier(.23,1,.32,1),max-height 280ms cubic-bezier(.23,1,.32,1),margin 280ms cubic-bezier(.23,1,.32,1); }
  .cva-eyebrow { margin:0 0 26px; color:var(--pl-violet-300); font-family:var(--font-display); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
  .hero.cva-hero .cva-title { margin:0; color:var(--pl-off-white); font-family:var(--font-display); font-size:clamp(48px,7vw,94px); font-weight:900; letter-spacing:-.045em; line-height:.98; text-wrap:balance; }
  .hero.cva-hero .cva-promise { max-width:820px; margin:24px auto 0; color:var(--fg-2); font-size:clamp(18px,1.8vw,23px); line-height:1.55; text-wrap:balance; }
  .cva-hero.is-active .cva-intro { opacity:.035; transform:translateY(-26px) scale(.84); filter:blur(10px); max-height:112px; margin-bottom:-32px; pointer-events:none; }
  .cva-hero.is-active .cva-glow,.cva-hero.is-active .cva-ring { animation:none; }
  .cva-hero.is-active .cva-glow { opacity:.34; }
  .cva-hero.is-active .cva-rings { opacity:.28; }
  .cva-interaction { width:min(920px,100%); margin-top:48px; position:relative; transition:transform 260ms cubic-bezier(.23,1,.32,1); }
  .cva-hero.is-active .cva-interaction { margin-top:18px; transform:translateY(-8px); }
  .cva-progress-wrap { width:min(720px,100%); margin:0 auto 22px; }
  .cva-progress-wrap[hidden] { display:none; }
  .cva-progress { min-height:20px; margin:0 0 10px; color:var(--pl-violet-300); font-family:var(--font-display); font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
  .cva-progress-track { width:100%; height:4px; overflow:hidden; border-radius:999px; background:rgba(196,181,245,.16); box-shadow:inset 0 1px 2px rgba(0,0,0,.38); }
  .cva-progress-fill { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--pl-violet-700),var(--pl-violet-300)); box-shadow:0 0 14px rgba(107,53,232,.55); transition:width 220ms cubic-bezier(.23,1,.32,1); }
  .cva-live { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
  .cva-input-row { position:relative; width:100%; }
  .cva-input {
    box-sizing:border-box; width:100%; height:78px; padding:0 84px 0 30px; border:1px solid rgba(196,181,245,.36); border-radius:999px;
    background:rgba(13,13,13,.74); color:var(--pl-off-white); box-shadow:0 18px 70px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.06);
    font:500 clamp(16px,1.45vw,20px)/1.3 var(--font-body); transition:border-color 220ms var(--ease),box-shadow 220ms var(--ease),background 220ms var(--ease);
  }
  .cva-input::placeholder { color:#9f9ca5; opacity:1; }
  .cva-input:hover { border-color:rgba(196,181,245,.6); }
  .cva-input:focus { outline:none; border-color:var(--pl-violet-300); background:rgba(20,15,31,.92); box-shadow:0 0 0 4px rgba(107,53,232,.18),0 26px 80px rgba(0,0,0,.4); }
  .cva-continue {
    position:absolute; right:10px; top:50%; transform:translateY(-50%); width:58px; height:58px; padding:0; border:1px solid rgba(196,181,245,.5); border-radius:50%;
    display:grid; place-items:center; background:var(--pl-violet-700); color:#fff; font-size:25px; line-height:1; cursor:pointer;
    transition:opacity 180ms var(--ease),transform 180ms var(--ease),background 180ms var(--ease),box-shadow 180ms var(--ease);
  }
  .cva-continue:hover { transform:translateY(-50%) scale(1.04); background:var(--pl-violet-500); box-shadow:0 10px 30px rgba(72,17,191,.42); }
  .cva-continue[aria-disabled=true] { opacity:.34; cursor:not-allowed; background:rgba(107,53,232,.3); box-shadow:none; }
  .cva-continue::after {
    content:attr(data-tooltip); position:absolute; right:0; bottom:calc(100% + 10px); padding:6px 10px; border-radius:7px;
    background:#f2f0f0; color:#17151a; font:700 12px/1 var(--font-body); white-space:nowrap; opacity:0; transform:translateY(4px); pointer-events:none;
    transition:opacity 150ms ease,transform 150ms ease;
  }
  .cva-continue:hover::after,.cva-continue:focus-visible::after { opacity:1; transform:translateY(0); }
  .cva-features { margin:18px 0 0; color:var(--fg-2); font-size:14px; letter-spacing:.01em; white-space:nowrap; }
  .cva-view { animation:cvaViewIn 180ms cubic-bezier(.23,1,.32,1) both; }
  .cva-view.is-leaving { pointer-events:none; animation:cvaViewOut 90ms ease-in both; }
  .cva-question { max-width:900px; margin:0 auto 28px; color:var(--pl-off-white); font-family:var(--font-display); font-size:clamp(27px,3.1vw,42px); font-weight:800; letter-spacing:-.025em; line-height:1.12; text-wrap:balance; }
  .cva-question:focus,.cva-question:focus-visible,.cva-score-category:focus,.cva-score-category:focus-visible,.cva-review h2:focus,.cva-review h2:focus-visible { outline:none; }
  .cva-confirm-text { max-width:760px; margin:0 auto 28px; color:var(--pl-off-white); font-family:var(--font-display); font-size:clamp(23px,2.7vw,34px); font-weight:700; line-height:1.25; text-wrap:balance; }
  .cva-options { display:grid; grid-template-columns:1fr; gap:10px; width:min(840px,100%); margin:0 auto; }
  .cva-option {
    width:100%; min-height:52px; padding:13px 18px; border:1px solid rgba(196,181,245,.3); border-radius:18px; background:rgba(13,13,13,.66); color:var(--fg-1); text-align:left;
    font:600 15px/1.35 var(--font-body); cursor:pointer; transition:border-color 150ms ease,background-color 150ms ease,transform 90ms ease;
  }
  @media (hover:hover) and (pointer:fine) { .cva-option:hover { border-color:rgba(196,181,245,.72); background:rgba(107,53,232,.14); transform:translateY(-1px); } }
  .cva-option:active { transform:scale(.99); }
  .cva-option[aria-pressed=true] { border-color:var(--pl-violet-300); background:rgba(107,53,232,.26); box-shadow:inset 0 0 0 1px rgba(196,181,245,.18); }
  .cva-option[aria-pressed=true]::before { content:"✓"; margin-right:8px; color:var(--pl-violet-300); }
  .cva-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:30px; }
  .cva-btn {
    min-height:46px; padding:11px 22px; border-radius:999px; border:1px solid rgba(196,181,245,.34); background:transparent; color:var(--fg-1);
    font:700 14px/1.2 var(--font-display); cursor:pointer; text-decoration:none; transition:background 180ms ease,border-color 180ms ease,transform 180ms ease,opacity 180ms ease;
  }
  .cva-btn:hover { border-color:rgba(196,181,245,.72); background:rgba(255,255,255,.055); transform:translateY(-1px); }
  .cva-btn--primary { border-color:var(--pl-violet-700); background:var(--pl-violet-700); color:#fff; }
  .cva-btn--primary:hover { background:var(--pl-violet-500); border-color:var(--pl-violet-500); color:#fff; }
  .cva-btn:disabled,.cva-btn[aria-disabled=true] { opacity:.38; cursor:not-allowed; transform:none; }
  .cva-exit { margin-top:24px; padding:8px 12px; border:0; background:transparent; color:var(--fg-2); font:600 13px/1.2 var(--font-body); text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
  .cva-exit:hover { color:var(--fg-1); }
  .cva-processing { min-height:300px; display:grid; place-items:center; align-content:center; gap:24px; }
  .cva-processing-dots { display:flex; gap:12px; }
  .cva-processing-dots span { width:10px; height:10px; border-radius:50%; background:var(--pl-violet-300); animation:cvaPulse 900ms ease-in-out infinite; }
  .cva-processing-dots span:nth-child(2){animation-delay:140ms}.cva-processing-dots span:nth-child(3){animation-delay:280ms}
  .cva-processing p { margin:0; color:var(--pl-off-white); font:700 clamp(23px,3vw,36px)/1.2 var(--font-display); }
  .score-positive { --cva-score-tone:#70D58B; --cva-score-glow:rgba(112,213,139,.20); }
  .score-watch { --cva-score-tone:#B8CC62; --cva-score-glow:rgba(184,204,98,.18); }
  .score-attention { --cva-score-tone:#F1C84B; --cva-score-glow:rgba(241,200,75,.18); }
  .score-critical { --cva-score-tone:#F06A73; --cva-score-glow:rgba(240,106,115,.18); }
  .cva-score-label { margin:0 0 8px; color:var(--pl-violet-300); font:700 12px/1.2 var(--font-display); letter-spacing:.15em; }
  .cva-score-number { margin:0; color:var(--pl-off-white); font:900 clamp(76px,13vw,154px)/.9 var(--font-display); letter-spacing:-.06em; text-shadow:0 0 60px rgba(107,53,232,.48); }
  .cva-score-view .cva-score-number { color:var(--cva-score-tone); text-shadow:0 0 46px var(--cva-score-glow); }
  .cva-score-category { margin:18px 0 0; color:var(--pl-off-white); font:800 clamp(25px,3vw,39px)/1.12 var(--font-display); }
  .cva-score-view .cva-score-category { display:inline-flex; align-items:center; justify-content:center; gap:10px; }
  .cva-score-view .cva-score-category::before { content:''; width:8px; height:8px; border-radius:50%; flex:none; background:var(--cva-score-tone); box-shadow:0 0 16px var(--cva-score-glow); }
  .cva-score-copy { max-width:720px; margin:14px auto 0; color:var(--fg-2); font-size:16px; line-height:1.6; }
  .cva-priority { margin:24px 0 0; color:var(--fg-2); font-size:14px; }
  .cva-priority strong { display:block; margin-top:7px; color:var(--pl-off-white); font:750 clamp(20px,2vw,27px)/1.2 var(--font-display); }
  .cva-disclaimer { margin:20px 0 0; color:#aaa6b1; font-size:13px; }
  .cva-review { text-align:left; max-width:850px; margin:0 auto; }
  .cva-review h2 { margin:0 0 24px; text-align:center; color:var(--pl-off-white); font:800 clamp(28px,3.4vw,42px)/1.1 var(--font-display); }
  .cva-review-list { list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.12); }
  .cva-review-list li { padding:17px 0; border-bottom:1px solid rgba(255,255,255,.12); }
  .cva-review-q { display:block; color:var(--fg-2); font-size:13px; line-height:1.45; }
  .cva-review-a { display:block; margin-top:6px; color:var(--pl-off-white); font-weight:650; line-height:1.45; }
  .cva-review-meta { display:block; margin-top:4px; color:var(--pl-violet-300); font-size:12px; }
  .cva-result-panel { position:fixed; z-index:10010; inset:0; background:#09090c; color:var(--fg-1); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(196,181,245,.28) transparent; }
  .cva-result-panel[hidden] { display:none; }
  .cva-hero.is-flowing .cva-shell { scrollbar-width:thin; scrollbar-color:rgba(196,181,245,.24) transparent; }
  .cva-result-panel::-webkit-scrollbar,.cva-hero.is-flowing .cva-shell::-webkit-scrollbar { width:8px; }
  .cva-result-panel::-webkit-scrollbar-track,.cva-hero.is-flowing .cva-shell::-webkit-scrollbar-track { margin-block:18px; background:transparent; }
  .cva-result-panel::-webkit-scrollbar-thumb,.cva-hero.is-flowing .cva-shell::-webkit-scrollbar-thumb { border:2px solid transparent; border-radius:999px; background:linear-gradient(180deg,rgba(196,181,245,.28),rgba(72,17,191,.24)) padding-box; box-shadow:inset 0 0 0 1px rgba(255,255,255,.04); }
  .cva-result-panel::-webkit-scrollbar-thumb:hover,.cva-hero.is-flowing .cva-shell::-webkit-scrollbar-thumb:hover { background:linear-gradient(180deg,rgba(196,181,245,.42),rgba(72,17,191,.36)) padding-box; }
  .cva-result-backdrop { position:absolute; inset:0; pointer-events:none; background:radial-gradient(900px 650px at 50% -10%,rgba(72,17,191,.27),transparent 70%),linear-gradient(rgba(107,53,232,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(107,53,232,.045) 1px,transparent 1px); background-size:auto,72px 72px,72px 72px; -webkit-mask-image:linear-gradient(#000,transparent 88%); mask-image:linear-gradient(#000,transparent 88%); }
  .cva-result-inner { position:relative; width:min(1180px,100%); box-sizing:border-box; margin:0 auto; padding:70px max(var(--gutter),24px) 84px; }
  .cva-result-close { position:fixed; z-index:2; right:24px; top:20px; width:auto; min-width:88px; height:38px; padding:0 14px; border:1px solid rgba(255,255,255,.2); border-radius:10px; display:flex; align-items:center; justify-content:center; gap:9px; background:rgba(13,13,13,.86); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); color:#fff; font:650 13px/1 var(--font-display); cursor:pointer; }
  .cva-result-close::before { content:'Cerrar'; }
  .cva-result-kicker { margin:0 0 10px; color:var(--pl-violet-300); font:700 11px/1.2 var(--font-display); letter-spacing:.16em; text-transform:uppercase; }
  .cva-result-inner h2 { margin:0; color:var(--pl-off-white); font:850 clamp(32px,4.4vw,48px)/1.05 var(--font-display); letter-spacing:-.035em; }
  .cva-result-section { padding:30px 0; border-bottom:1px solid rgba(255,255,255,.12); }
  .cva-result-section h3 { margin:0 0 18px; color:var(--pl-off-white); font:750 clamp(20px,2vw,26px)/1.15 var(--font-display); }
  .cva-result-section h4 { margin:0 0 8px; color:var(--pl-off-white); font:720 16px/1.3 var(--font-display); }
  .cva-result-section p { margin:0; color:var(--fg-2); font-size:14px; line-height:1.65; }
  .cva-result-section p + p { margin-top:15px; }
  .cva-result-score { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px 28px; }
  .cva-result-score strong { color:var(--pl-off-white); font:900 clamp(58px,9vw,100px)/.85 var(--font-display); letter-spacing:-.055em; }
  .cva-result-score span { color:var(--pl-violet-300); font:800 clamp(22px,3vw,32px)/1.15 var(--font-display); }
  .cva-dimensions { display:grid; gap:20px; margin-top:24px; }
  .cva-dimension-row { display:grid; grid-template-columns:minmax(150px,1fr) minmax(180px,2fr) auto; align-items:center; gap:14px; }
  .cva-dimension-row[data-priority="true"] .cva-dimension-name::after { content:"Primera prioridad"; display:block; color:var(--pl-violet-300); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
  .cva-dimension-name { color:var(--fg-1); font-weight:650; }
  .cva-bar { height:8px; border-radius:999px; background:rgba(255,255,255,.1); overflow:hidden; }
  .cva-bar span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--pl-violet-700),var(--pl-violet-300)); }
  .cva-dimension-score { color:var(--fg-2); font-variant-numeric:tabular-nums; }
  .cva-benchmark { padding-left:20px; border-left:2px solid var(--pl-violet-500); }
  .cva-benchmark-source { display:block; margin-top:12px; color:#aaa6b1; font-size:13px; line-height:1.55; }
  .cva-result-close-line { color:var(--pl-off-white)!important; font:800 clamp(24px,3.2vw,36px)/1.2 var(--font-display); }
  .cva-result-actions { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:12px; padding-top:30px; }
  .cva-result-actions .cva-btn { min-height:52px; }
  .cva-result-actions a.cva-btn { display:flex; align-items:center; justify-content:center; }
  .cva-report-header { text-align:center; padding:0 90px 28px; border-bottom:1px solid rgba(255,255,255,.1); }
  .cva-report-status { display:flex; align-items:center; justify-content:center; gap:7px; margin:13px 0 0!important; color:#aaa6b1!important; font-size:12px!important; }
  .cva-report-status::before { content:'✓'; width:15px; height:15px; border:1px solid var(--pl-violet-300); border-radius:50%; display:grid; place-items:center; color:var(--pl-violet-300); font-size:9px; }
  .cva-summary-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:32px; padding:32px 0; border-bottom:1px solid rgba(255,255,255,.12); }
  .cva-summary-card { min-width:0; }
  .cva-summary-card + .cva-summary-card { padding-left:32px; border-left:1px solid rgba(255,255,255,.1); }
  .cva-summary-card h3 { margin:0 0 6px; color:var(--pl-off-white); font:750 20px/1.2 var(--font-display); }
  .cva-module-label { margin:0 0 20px!important; color:#aaa6b1!important; font-size:11px!important; }
  .cva-score-module { display:grid; grid-template-columns:minmax(180px,220px) minmax(160px,1fr); gap:24px; align-items:center; }
  .cva-score-orbit { position:relative; width:min(220px,100%); aspect-ratio:1; display:grid; place-items:center; isolation:isolate; }
  .cva-score-orbit::before { content:''; position:absolute; inset:22%; z-index:-1; border-radius:50%; background:var(--cva-score-glow); filter:blur(22px); opacity:.72; pointer-events:none; }
  .cva-score-orbit svg { position:relative; z-index:1; width:100%; height:100%; transform:rotate(-90deg); }
  .cva-orbit-track { fill:none; stroke:rgba(255,255,255,.08); stroke-width:8; }
  .cva-orbit-progress { fill:none; stroke:var(--cva-score-tone,var(--pl-violet-500)); stroke-width:9; stroke-linecap:round; stroke-dasharray:var(--score) calc(100 - var(--score)); stroke-dashoffset:100; filter:drop-shadow(0 0 5px var(--cva-score-glow)); animation:cvaOrbitIn 520ms cubic-bezier(.23,1,.32,1) forwards; }
  .cva-orbit-tick { fill:var(--pl-violet-500); }
  .cva-score-center { position:absolute; inset:0; display:grid; place-content:center; text-align:center; pointer-events:none; }
  .cva-score-center strong { display:block; color:var(--pl-off-white); font:850 clamp(48px,6vw,72px)/.88 var(--font-display); letter-spacing:-.055em; }
  .cva-score-center span { margin-top:6px; color:var(--fg-1); font:650 15px/1 var(--font-display); }
  .cva-score-center small { max-width:15ch; margin:12px auto 0; color:var(--cva-score-tone,var(--pl-violet-300)); font:650 11px/1.3 var(--font-display); }
  @keyframes cvaOrbitIn { to { stroke-dashoffset:0; } }
  .cva-score-ranges { list-style:none; margin:0; padding:0; display:grid; gap:11px; }
  .cva-score-ranges li { display:grid; grid-template-columns:12px 52px 1fr; gap:8px; align-items:center; color:#aaa6b1; font-size:11px; line-height:1.3; }
  .cva-score-ranges i { width:10px; height:10px; border:1px solid var(--cva-score-tone,rgba(196,181,245,.55)); border-radius:50%; opacity:.44; }
  .cva-score-ranges li.is-active { color:var(--pl-off-white); font-weight:700; }
  .cva-score-ranges li.is-active i { opacity:1; border:3px solid var(--cva-score-tone); box-shadow:0 0 0 3px var(--cva-score-glow); }
  .cva-score-summary { margin-top:20px!important; color:var(--fg-1)!important; }
  .cva-interpretation-full { margin-top:10px!important; color:#918e98!important; font-size:12px!important; }
  .cva-dimensions { display:grid; gap:17px; margin-top:20px; }
  .cva-dimension-row { display:grid; grid-template-columns:minmax(120px,.78fr) minmax(170px,1.7fr) auto; align-items:center; gap:12px; }
  .cva-dimension-row[data-priority=true] { margin:0 -8px; padding:8px; border-radius:9px; background:rgba(107,53,232,.1); }
  .cva-dimension-name { color:var(--fg-1); font-size:12px; font-weight:650; }
  .cva-dimension-row[data-priority=true] .cva-dimension-name { color:var(--pl-violet-300); }
  .cva-dimension-row[data-priority=true] .cva-dimension-name::after { content:'Prioridad'; display:inline-block; margin-left:7px; padding:2px 6px; border:1px solid rgba(196,181,245,.4); border-radius:999px; color:var(--pl-violet-300); font-size:8px; letter-spacing:.08em; text-transform:uppercase; vertical-align:1px; }
  .cva-lollipop { position:relative; height:18px; }
  .cva-lollipop::before { content:''; position:absolute; left:0; right:0; top:8px; height:1px; background:rgba(255,255,255,.13); }
  .cva-lollipop-fill { position:absolute; left:0; top:8px; width:var(--value); height:1px; background:linear-gradient(90deg,var(--pl-violet-700),var(--pl-violet-300)); }
  .cva-lollipop-dot { position:absolute; left:var(--value); top:4px; width:9px; height:9px; border-radius:50%; background:var(--pl-violet-300); transform:translateX(-50%); box-shadow:0 0 12px rgba(107,53,232,.55); }
  .cva-dimension-row[data-priority=true] .cva-lollipop-dot { width:13px; height:13px; top:2px; border:3px solid #c4b5f5; background:var(--pl-violet-700); box-shadow:0 0 0 3px rgba(107,53,232,.22); }
  .cva-dimension-score { color:var(--fg-1); font-size:11px; font-variant-numeric:tabular-nums; white-space:nowrap; }
  .cva-dimension-scale { display:grid; grid-template-columns:repeat(3,1fr); margin:4px 40px 0 132px; color:#8a8791; font-size:9px; }
  .cva-dimension-scale span:nth-child(2) { text-align:center; }
  .cva-dimension-scale span:last-child { text-align:right; }
  .cva-starting-point { display:grid; grid-template-columns:180px 1fr auto; gap:18px; align-items:center; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.1); }
  .cva-starting-point h3 { margin:0; color:var(--pl-off-white); font:700 16px/1.2 var(--font-display); }
  .cva-starting-point p { margin:0; color:var(--fg-2); font-size:13px; line-height:1.5; }
  .cva-starting-channel { color:var(--pl-violet-300)!important; font-size:11px!important; text-align:right; }
  .cva-priority-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:20px; }
  .cva-priority-heading h3 { margin:0; }
  .cva-priority-heading p { color:var(--pl-violet-300); font:650 12px/1.3 var(--font-display); }
  .cva-priority-path { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:14px; align-items:stretch; }
  .cva-priority-card { min-width:0; padding:22px; border:1px solid rgba(107,53,232,.34); border-radius:14px; background:linear-gradient(145deg,rgba(72,17,191,.13),rgba(255,255,255,.025)); }
  .cva-priority-icon { width:42px; height:42px; margin-bottom:18px; border-radius:50%; display:grid; place-items:center; color:var(--pl-off-white); background:radial-gradient(circle at 35% 30%,#7f51ee,var(--pl-violet-700)); box-shadow:0 0 28px rgba(72,17,191,.35); }
  .cva-priority-icon svg { width:21px; height:21px; }
  .cva-priority-card h4 { margin:0 0 9px; font-size:15px; }
  .cva-priority-card p { font-size:12px; line-height:1.6; }
  .cva-priority-arrow { align-self:center; color:var(--pl-violet-300); font:300 28px/1 var(--font-display); }
  .cva-benchmark-layout { display:grid; grid-template-columns:minmax(150px,.62fr) minmax(260px,1fr) minmax(220px,.9fr); gap:34px; align-items:center; }
  .cva-benchmark-value { display:block; margin-bottom:10px; color:var(--pl-violet-500); font:850 clamp(58px,7vw,86px)/.85 var(--font-display); letter-spacing:-.055em; }
  .cva-benchmark-lead { color:var(--fg-1)!important; font-size:13px!important; }
  .cva-benchmark-grid { display:grid; grid-template-columns:repeat(10,1fr); gap:8px; width:100%; max-width:330px; margin:auto; }
  .cva-benchmark-dot { aspect-ratio:1; border:1px solid rgba(196,181,245,.38); border-radius:50%; background:transparent; }
  .cva-benchmark-dot.is-active { border-color:var(--pl-violet-500); background:var(--pl-violet-500); box-shadow:0 0 8px rgba(107,53,232,.32); }
  .cva-benchmark-copy { padding-left:24px; border-left:1px solid rgba(255,255,255,.12); }
  .cva-benchmark-copy p { color:var(--fg-1); }
  .cva-benchmark-source { display:block; margin-top:18px; color:#8f8c95; font-size:10px; line-height:1.55; }
  .cva-coverage-summary { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; }
  .cva-coverage-list { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
  .cva-coverage-item { min-width:0; text-align:center; }
  .cva-coverage-mark { width:30px; height:30px; margin:0 auto 9px; border:1px solid currentColor; border-radius:50%; display:grid; place-items:center; font-size:15px; }
  .cva-coverage-item[data-state=confirmed] { color:#70d58b; }
  .cva-coverage-item[data-state=unknown] { color:#f1c84b; }
  .cva-coverage-state { display:block; font-size:11px; font-weight:700; }
  .cva-coverage-dimension { display:block; margin-top:5px; color:#aaa6b1; font-size:10px; line-height:1.3; }
  .cva-coverage-count { max-width:180px; padding-left:24px; border-left:1px solid rgba(255,255,255,.12); color:var(--fg-1)!important; }
  .cva-coverage-note { margin-top:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); }
  .cva-coverage-note strong { display:block; margin:10px 0 4px; color:var(--pl-off-white); font-family:var(--font-display); }
  .cva-scope-note { display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; margin-top:20px; padding:18px; border:1px solid rgba(107,53,232,.38); border-radius:12px; background:rgba(72,17,191,.08); }
  .cva-scope-note::before { content:'i'; width:24px; height:24px; border:1px solid var(--pl-violet-300); border-radius:50%; display:grid; place-items:center; color:var(--pl-violet-300); font:700 13px/1 var(--font-display); }
  .cva-scope-note strong { display:block; margin-bottom:4px; color:var(--pl-off-white); font-family:var(--font-display); }
  .cva-confirm-dialog { position:fixed; z-index:2147483645; width:min(520px,calc(100% - 32px)); padding:30px; border:1px solid rgba(196,181,245,.35); border-radius:24px; background:#17131f; color:var(--fg-1); box-shadow:0 30px 100px rgba(0,0,0,.7); }
  .cva-confirm-dialog::backdrop { z-index:2147483644; background:rgba(0,0,0,.72); backdrop-filter:blur(6px); cursor:default; }
  .cva-confirm-dialog h2 { margin:0 0 10px; color:var(--pl-off-white); font:800 25px/1.2 var(--font-display); }
  .cva-confirm-dialog p { margin:0; color:var(--fg-2); line-height:1.6; }

  .cva-sent-dialog { text-align:center; }
  .cva-sent-icon { width:54px; height:54px; margin:0 auto 18px; border:1px solid rgba(196,181,245,.52); border-radius:50%; display:grid; place-items:center; color:var(--pl-violet-300); background:rgba(107,53,232,.12); font:800 22px/1 var(--font-display); }
  .cva-sent-email { margin:16px 0 0!important; padding:12px 14px; border:1px solid rgba(196,181,245,.26); border-radius:12px; background:rgba(4,3,9,.42); color:var(--pl-off-white)!important; font-weight:700; overflow-wrap:anywhere; }
  .cva-sent-note { margin-top:14px!important; font-size:12px; }
  .cva-sent-dialog .cva-actions { margin-top:24px; }
  .cva-download-form { display:grid; gap:15px; margin-top:22px; }
  .cva-download-form label { display:grid; gap:7px; color:var(--pl-off-white); font:700 13px/1.2 var(--font-display); }
  .cva-download-form input { width:100%; box-sizing:border-box; min-height:48px; padding:11px 14px; border:1px solid rgba(196,181,245,.34); border-radius:12px; background:rgba(4,3,9,.62); color:var(--pl-off-white); font:500 15px/1.3 var(--font-body); }
  .cva-download-form input:focus-visible { outline:2px solid var(--pl-violet-300); outline-offset:2px; }
  .cva-download-privacy { font-size:12px; }
  .cva-download-privacy a { color:var(--pl-violet-300); }
  .cva-download-status { min-height:20px; color:var(--pl-off-white)!important; font-size:13px; }
  .cva-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
  @media (max-width:768px) {
    .hero.cva-hero { min-height:100svh; }
    .cva-shell { padding:96px 18px 30px; }
    .cva-hero.is-flowing .cva-shell { max-height:100svh; justify-content:flex-start; padding-top:92px; }
    .cva-eyebrow { margin-bottom:18px; font-size:10px; }
    .hero.cva-hero .cva-title { font-size:clamp(39px,12vw,58px); }
    .hero.cva-hero .cva-promise { margin-top:18px; font-size:17px; }
    .cva-hero.is-active .cva-intro { transform:translateY(-18px) scale(.84); max-height:66px; margin-bottom:-22px; }
    .cva-interaction { margin-top:34px; }
    .cva-input { height:68px; padding-left:22px; padding-right:74px; font-size:16px; }
    .cva-continue { width:52px; height:52px; right:8px; }
    .cva-features { white-space:normal; line-height:1.6; }
    .cva-question { margin-bottom:22px; font-size:clamp(24px,7vw,32px); }
    .cva-progress-wrap { margin-bottom:18px; }
    .cva-options { gap:9px; }
    .cva-option { width:100%; min-height:48px; border-radius:18px; text-align:left; padding:12px 16px; }
    .cva-actions { margin-top:22px; }
    .cva-btn { min-height:48px; }
    .cva-score-number { font-size:clamp(70px,26vw,108px); }
    .cva-review { padding-bottom:18px; }
    .cva-result-inner { padding:74px 20px 70px; }
    .cva-result-close { right:14px; top:14px; }
    .cva-dimension-row { grid-template-columns:1fr auto; gap:8px 12px; }
    .cva-bar { grid-column:1 / -1; grid-row:2; }
    .cva-result-actions { display:grid; grid-template-columns:1fr; }
    .cva-result-actions .cva-btn,.cva-result-actions a.cva-btn { width:100%; display:flex; align-items:center; justify-content:center; text-align:center; box-sizing:border-box; }
  }
  @media (max-width:1024px) {
    .cva-result-inner { padding-left:28px; padding-right:28px; }
    .cva-score-module { grid-template-columns:minmax(160px,190px) 1fr; gap:18px; }
    .cva-priority-card { padding:18px; }
    .cva-benchmark-layout { gap:24px; }
  }
  @media (max-width:900px) {
    .cva-summary-grid { grid-template-columns:1fr; }
    .cva-summary-card + .cva-summary-card { padding:28px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.1); }
    .cva-priority-path { grid-template-columns:1fr; }
    .cva-priority-arrow { transform:rotate(90deg); justify-self:center; }
    .cva-benchmark-layout { grid-template-columns:minmax(140px,.55fr) minmax(250px,1fr); }
    .cva-benchmark-copy { grid-column:1 / -1; padding:20px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.1); }
  }
  @media (max-width:768px) {
    .cva-result-inner { padding:68px 18px 56px; }
    .cva-result-close { right:12px; top:12px; min-width:80px; height:36px; }
    .cva-report-header { padding:0 8px 24px; }
    .cva-result-inner h2 { font-size:30px; }
    .cva-summary-grid { gap:26px; padding:28px 0; }
    .cva-score-module { grid-template-columns:1fr; }
    .cva-score-orbit { width:210px; margin:auto; }
    .cva-score-ranges { width:min(330px,100%); margin:auto; }
    .cva-dimension-row { grid-template-columns:minmax(92px,.8fr) minmax(110px,1.6fr) auto; gap:8px; }
    .cva-dimension-name { font-size:10px; }
    .cva-dimension-row[data-priority=true] .cva-dimension-name::after { display:block; width:max-content; margin:4px 0 0; }
    .cva-dimension-scale { margin-left:100px; margin-right:36px; }
    .cva-starting-point { grid-template-columns:1fr; gap:8px; }
    .cva-starting-channel { text-align:left; }
    .cva-priority-heading { display:block; }
    .cva-priority-heading p { margin-top:7px; }
    .cva-benchmark-layout { grid-template-columns:1fr; }
    .cva-benchmark-grid { width:min(300px,100%); }
    .cva-benchmark-copy { grid-column:auto; }
    .cva-coverage-summary { grid-template-columns:1fr; }
    .cva-coverage-list { gap:8px; }
    .cva-coverage-mark { width:26px; height:26px; }
    .cva-coverage-state,.cva-coverage-dimension { font-size:8px; }
    .cva-coverage-count { max-width:none; padding:16px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.1); }
    .cva-result-actions { grid-template-columns:1fr; }
  }
  @media (max-width:420px) {
    .cva-shell { padding-left:14px; padding-right:14px; }
    .hero.cva-hero .cva-title { font-size:clamp(35px,11vw,47px); }
    .cva-input { font-size:15px; }
    .cva-actions { gap:8px; }
    .cva-btn { padding-left:17px; padding-right:17px; }
  }
  @media (prefers-reduced-motion:reduce) {
    .cva-glow,.cva-ring,.cva-processing-dots span { animation:none!important; }
    .cva-intro,.cva-interaction,.cva-view,.cva-btn,.cva-option,.cva-continue,.cva-progress-fill,.hero.cva-hero::after { transition:none!important; animation:none!important; }
    .cva-hero.is-active .cva-intro { transform:none; }
    .cva-orbit-progress { animation:none!important; stroke-dashoffset:0; }
  }

  /* Precision cursor: remains above the full report surface. */
  .pl-cursor-dot,.pl-cursor-ring {
    position:fixed; left:-80px; top:-80px; border-radius:50%; pointer-events:none;
    opacity:0; transform:translate(-50%,-50%); will-change:left,top,width,height;
  }
  .pl-cursor-dot {
    z-index:2147483647; width:9px; height:9px; background:var(--pl-violet-500);
    box-shadow:0 0 18px rgba(107,53,232,.45);
    transition:width 180ms var(--ease),height 180ms var(--ease),background-color 220ms var(--ease),opacity 160ms ease;
  }
  .pl-cursor-ring {
    z-index:2147483646; width:32px; height:32px; border:1px solid rgba(155,125,242,.55);
    background:rgba(107,53,232,.025);
    transition:width 240ms var(--ease),height 240ms var(--ease),border-color 240ms var(--ease),background-color 240ms var(--ease),opacity 180ms ease;
  }
  .pl-cursor-dot.is-visible,.pl-cursor-ring.is-visible { opacity:1; }
  .pl-cursor-dot.is-interactive { width:13px; height:13px; background:var(--pl-spark); }
  .pl-cursor-ring.is-interactive { width:46px; height:46px; border-color:rgba(255,100,57,.46); background:rgba(255,100,57,.04); }
  @media (hover:hover) and (pointer:fine) {
    html.pl-has-custom-cursor,html.pl-has-custom-cursor * { cursor:none!important; }
  }
  @media (hover:none),(pointer:coarse) {
    .pl-cursor-dot,.pl-cursor-ring { display:none; }
  }

  /* Deliberate assessment transitions. */
  .cva-view { animation-duration:360ms; }
  .cva-view.is-committing { pointer-events:none; }
  .cva-view.is-committing .cva-option[aria-pressed=true] {
    border-color:var(--pl-violet-300); background:rgba(107,53,232,.2);
    box-shadow:0 0 0 1px rgba(155,125,242,.18),0 14px 44px rgba(72,17,191,.16);
  }
  .cva-view.is-leaving { animation:cvaViewOut 180ms cubic-bezier(.4,0,1,1) both; }
  .cva-thinking { min-height:180px; display:grid; place-content:center; justify-items:center; text-align:center; }
  .cva-thinking-signal { width:124px; display:grid; grid-template-columns:repeat(3,1fr); align-items:center; gap:16px; position:relative; }
  .cva-thinking-signal::before { content:''; position:absolute; left:13px; right:13px; top:50%; height:1px; background:linear-gradient(90deg,transparent,rgba(155,125,242,.52),transparent); transform:scaleX(0); animation:cvaSignalLine 620ms var(--ease) forwards; }
  .cva-thinking-signal i { position:relative; z-index:1; width:9px; height:9px; margin:auto; border:1px solid var(--pl-violet-300); border-radius:50%; background:#0d0d0d; box-shadow:0 0 0 0 rgba(107,53,232,.22); animation:cvaSignalNode 680ms ease-out both; }
  .cva-thinking-signal i:nth-child(2){animation-delay:90ms}.cva-thinking-signal i:nth-child(3){animation-delay:180ms}
  .cva-thinking-label { margin-top:19px; color:var(--pl-off-white); font:700 14px/1.3 var(--font-display); letter-spacing:.01em; }
  .cva-thinking-step { margin-top:5px; color:#8f8b98; font:500 11px/1.3 var(--font-body); }

  .cva-processing { min-height:330px; display:grid; place-items:center; }
  .cva-analysis { width:min(590px,100%); padding:27px 28px 25px; border:1px solid rgba(155,125,242,.2); border-radius:18px; background:linear-gradient(145deg,rgba(72,17,191,.11),rgba(255,255,255,.018)); box-shadow:0 24px 80px rgba(0,0,0,.18); text-align:left; }
  .cva-analysis-top { display:flex; align-items:center; justify-content:space-between; gap:18px; }
  .cva-analysis-kicker,.cva-analysis-count { color:var(--pl-violet-300); font:700 10px/1.2 var(--font-display); letter-spacing:.15em; }
  .cva-analysis-count { font-variant-numeric:tabular-nums; letter-spacing:.08em; }
  .cva-analysis-title { min-height:1.25em; margin:25px 0 7px; color:var(--pl-off-white); font:800 clamp(24px,3.4vw,34px)/1.15 var(--font-display); letter-spacing:-.025em; animation:cvaPhaseText 420ms var(--ease); }
  .cva-analysis-copy { min-height:1.6em; color:var(--fg-2); font-size:13px; }
  .cva-analysis-meter { height:2px; margin-top:28px; overflow:hidden; background:rgba(255,255,255,.08); }
  .cva-analysis-meter span { display:block; width:var(--analysis-progress,33.333%); height:100%; background:linear-gradient(90deg,var(--pl-violet-700),var(--pl-violet-300)); box-shadow:0 0 12px rgba(107,53,232,.5); transition:width 520ms cubic-bezier(.23,1,.32,1); }
  .cva-analysis-phases { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:14px; }
  .cva-analysis-phases span { display:flex; align-items:center; gap:7px; color:#77737e; font:600 10px/1.2 var(--font-body); transition:color 320ms ease; }
  .cva-analysis-phases i { order:-1; width:6px; height:6px; border-radius:50%; border:1px solid currentColor; transition:background-color 320ms ease,box-shadow 320ms ease; }
  .cva-analysis-phases span.is-active { color:var(--pl-violet-300); }
  .cva-analysis-phases span.is-active i { background:var(--pl-violet-500); box-shadow:0 0 10px rgba(107,53,232,.7); }
  .cva-analysis-phases span.is-complete { color:#a8a4af; }
  .cva-analysis-phases span.is-complete i { background:#a8a4af; }

  .cva-score-view > * { animation:cvaScoreReveal 560ms var(--ease) both; }
  .cva-score-view > *:nth-child(2){animation-delay:80ms}.cva-score-view > *:nth-child(3){animation-delay:180ms}
  .cva-score-view > *:nth-child(4){animation-delay:240ms}.cva-score-view > *:nth-child(5){animation-delay:300ms}
  .cva-score-view > *:nth-child(n+6){animation-delay:360ms}
  .cva-result-panel { opacity:0; transition:opacity 360ms var(--ease); }
  .cva-result-panel.is-presented { opacity:1; }
  .cva-result-panel.is-presented .cva-report-header,
  .cva-result-panel.is-presented .cva-summary-grid,
  .cva-result-panel.is-presented .cva-starting-point,
  .cva-result-panel.is-presented .cva-result-section,
  .cva-result-panel.is-presented .cva-result-actions { animation:cvaReportReveal 620ms var(--ease) both; }
  .cva-result-panel.is-presented .cva-summary-grid{animation-delay:80ms}
  .cva-result-panel.is-presented .cva-starting-point{animation-delay:130ms}
  .cva-result-panel.is-presented .cva-result-section{animation-delay:170ms}
  .cva-result-panel.is-presented .cva-result-actions{animation-delay:220ms}

  @keyframes cvaSignalLine { to { transform:scaleX(1); } }
  @keyframes cvaSignalNode { 0%{opacity:0;transform:scale(.6)} 55%{box-shadow:0 0 0 8px rgba(107,53,232,.08)} 100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(107,53,232,0)} }
  @keyframes cvaPhaseText { from{opacity:.28;transform:translateY(5px)} to{opacity:1;transform:none} }
  @keyframes cvaScoreReveal { from{opacity:0;transform:translateY(10px);filter:blur(3px)} to{opacity:1;transform:none;filter:none} }
  @keyframes cvaReportReveal { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:none} }

  @media (max-width:600px) {
    .cva-analysis { padding:23px 20px 21px; }
    .cva-analysis-copy { min-height:3.2em; }
  }
  @media (prefers-reduced-motion:reduce) {
    .pl-cursor-ring { display:none; }
    .cva-thinking-signal::before,.cva-thinking-signal i,.cva-score-view > *,
    .cva-result-panel.is-presented .cva-report-header,.cva-result-panel.is-presented .cva-summary-grid,
    .cva-result-panel.is-presented .cva-starting-point,.cva-result-panel.is-presented .cva-result-section,
    .cva-result-panel.is-presented .cva-result-actions { animation:none!important; }
    .cva-result-panel { opacity:1; transition:none; }
  }

/* ============================================================
   INSIGHTS — ARTICLE SHARED LAYOUT
   Global article presentation used by all ES insight pages.
   Header, footer, cursor and interaction primitives remain global.
   ============================================================ */
body.insight-article {
  margin:0;
  background:var(--pl-web-dark);
  color:var(--fg-1);
}
.insight-article a { color:inherit; }
.insight-article img,
.insight-article svg { display:block; }
.insight-article .article-group {
  position:relative;
  background:var(--pl-web-dark);
}
.insight-article .article-group::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(1100px 720px at 92% 0%, rgba(72,17,191,.28) 0%, transparent 60%),
    radial-gradient(1000px 760px at 50% 100%, rgba(72,17,191,.40) 0%, transparent 62%);
}
.insight-article .article-group > * { position:relative; z-index:1; }
.insight-article .article-hero { padding:112px 0 0; }
.insight-article .article-head { max-width:760px; margin:0 auto; text-align:center; }
.insight-article .article-head .post-badge {
  height:auto;
  padding:5px 11px;
  white-space:normal;
  line-height:1.3;
}
.insight-article .article-head h1 {
  margin:22px 0 0;
  color:var(--pl-off-white);
  font-family:var(--font-display);
  font-size:clamp(30px,4.6vw,50px);
  font-weight:900;
  line-height:1.1;
  letter-spacing:-.035em;
}
.insight-article .article-head .article-sub {
  max-width:640px;
  margin:20px auto 0;
  color:var(--fg-2);
  font-size:clamp(16px,1.3vw,18.5px);
  line-height:1.6;
}
.insight-article .article-meta {
  margin:26px 0 0;
  color:var(--fg-3);
  font-size:13px;
  line-height:1.55;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.insight-article .article-meta time { color:var(--fg-3); }
.insight-article .article-cover {
  max-width:960px;
  margin:52px auto 0;
  aspect-ratio:16/10;
}
.insight-article .article-cover.panel,
.insight-article .article-inline-media.panel { padding:0; overflow:hidden; }
.insight-article .article-cover img,
.insight-article .article-inline-media img { width:100%; height:100%; object-fit:cover; }
.insight-article .article-inline-media { margin:38px 0; aspect-ratio:16/9; overflow:hidden; }
.insight-article .article-body { max-width:720px; margin:64px auto 0; padding-bottom:24px; }
.insight-article .article-body p { margin:0 0 26px; color:var(--fg-2); font-size:17px; line-height:1.8; }
.insight-article .article-body strong { color:var(--pl-off-white); font-weight:700; }
.insight-article .article-body h2 {
  margin:52px 0 20px;
  color:var(--pl-off-white);
  font-family:var(--font-display);
  font-size:clamp(22px,2.2vw,27px);
  font-weight:700;
  line-height:1.25;
  letter-spacing:-.02em;
}
.insight-article .article-body h3 {
  margin:40px 0 16px;
  color:var(--pl-off-white);
  font-family:var(--font-display);
  font-size:19px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.015em;
}
.insight-article .article-body ul { margin:0 0 26px; padding-left:22px; color:var(--fg-2); font-size:16.5px; line-height:1.7; }
.insight-article .article-body li { margin-bottom:10px; }
.insight-article .article-body blockquote { margin:38px 0; padding:4px 0 4px 26px; border-left:3px solid var(--pl-violet-500); }
.insight-article .article-body blockquote p {
  margin:0;
  color:var(--pl-off-white);
  font-family:var(--font-display);
  font-size:20px;
  font-weight:600;
  line-height:1.5;
}
.insight-article .article-tags { max-width:720px; margin:24px auto 0; display:flex; flex-wrap:wrap; gap:10px; }

.insight-article .article-eval-cta {
  max-width:960px;
  margin:34px auto 0;
  padding:0 var(--gutter);
}
.insight-article .article-eval-cta__inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:24px 28px;
  border:1px solid rgba(155,125,242,.25);
  border-radius:var(--r-panel);
  background:linear-gradient(135deg,rgba(72,17,191,.16),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.insight-article .article-eval-cta__copy { max-width:650px; }
.insight-article .article-eval-cta__title {
  margin:0;
  color:var(--pl-off-white);
  font-family:var(--font-display);
  font-size:clamp(19px,2vw,24px);
  font-weight:750;
  line-height:1.25;
  letter-spacing:-.02em;
}
.insight-article .article-eval-cta__text { margin:7px 0 0; color:var(--fg-2); font-size:14.5px; line-height:1.6; }

.insight-article .related-articles { max-width:960px; margin:74px auto 0; }
.insight-article .related-articles h2 {
  margin:0 0 24px;
  color:var(--pl-off-white);
  font-family:var(--font-display);
  font-size:clamp(22px,2.5vw,30px);
  font-weight:800;
  letter-spacing:-.025em;
}
.insight-article .related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.insight-article .related-card.panel { padding:0; overflow:hidden; }
.insight-article .related-card__media { display:block; aspect-ratio:16/10; overflow:hidden; }
.insight-article .related-card__media img { width:100%; height:100%; object-fit:cover; transition:transform 420ms var(--ease); }
.insight-article .related-card:hover .related-card__media img { transform:scale(1.035); }
.insight-article .related-card__title {
  display:block;
  margin:18px 18px 0;
  color:var(--pl-off-white);
  font-family:var(--font-display);
  font-size:17px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:-.015em;
  text-decoration:none;
}
.insight-article .related-card__title:hover { color:var(--pl-violet-300); }
.insight-article .related-card p { margin:10px 18px 20px; color:var(--fg-2); font-size:13.5px; line-height:1.55; }

.insight-article .article-cta { padding:112px 0 104px; text-align:center; }
.insight-article .article-cta h2 {
  max-width:760px;
  margin:0 auto;
  color:var(--pl-off-white);
  font-family:var(--font-display);
  font-size:clamp(28px,3.8vw,46px);
  font-weight:900;
  line-height:1.1;
  letter-spacing:-.035em;
}
.insight-article .article-cta p { max-width:600px; margin:22px auto 0; color:var(--fg-2); font-size:clamp(15px,1.2vw,17px); line-height:1.65; }
.insight-article .article-cta .cta-row { margin-top:36px; }
.insight-article .article-cta .pl-btn--primary { color:#fff; background:var(--pl-violet-700); }
.insight-article .article-cta .pl-btn--primary:hover { color:#fff; background:var(--pl-violet-500); }
.insight-article .back-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:28px;
  color:var(--pl-violet-300);
  font-family:var(--font-body);
  font-size:14.5px;
  font-weight:600;
  text-decoration:none;
}
.insight-article .back-link .ico { width:14px; height:14px; }

@media (max-width:768px) {
  .insight-article .article-hero { padding-top:104px; }
  .insight-article .article-body { margin-top:48px; }
  .insight-article .article-cta { padding:88px 0 78px; }
  .insight-article .article-eval-cta__inner { align-items:flex-start; flex-direction:column; padding:22px; }
  .insight-article .article-eval-cta .pl-btn { width:100%; }
  .insight-article .related-grid { grid-template-columns:1fr; }
  .insight-article .related-card { display:grid; grid-template-columns:112px minmax(0,1fr); }
  .insight-article .related-card__media { grid-row:1 / span 2; aspect-ratio:1/1; }
  .insight-article .related-card__title { margin:16px 16px 0; font-size:16px; }
  .insight-article .related-card p { margin:8px 16px 16px; }
}

/* ============================================================
   INSIGHTS FINAL INTEGRATION — HUB + ARTICLE TEMPLATE
   Approved architecture and reusable ES/EN components.
   ============================================================ */

/* ---------- HUB / ARCHIVE ---------- */
body.insights-hub{margin:0;background:var(--pl-web-dark);color:var(--fg-1)}
.insights-hub main{position:relative;overflow:hidden;background:var(--pl-web-dark)}
.insights-hub main::before{content:"";position:absolute;inset:0 0 auto;height:1050px;pointer-events:none;background:radial-gradient(900px 620px at 88% 0%,rgba(72,17,191,.28),transparent 62%),radial-gradient(760px 620px at 12% 32%,rgba(72,17,191,.16),transparent 68%)}
.insights-hub main>*{position:relative;z-index:1}
.insights-eyebrow{display:inline-flex;align-items:center;min-height:26px;padding:0 11px;border:1px solid var(--border-strong);border-radius:var(--r-pill);color:var(--pl-violet-200);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.insights-hero{padding:172px 0 96px}
.insights-hero__inner{max-width:900px}
.insights-hero h1{max-width:850px;color:var(--pl-off-white);font-size:clamp(42px,7vw,78px);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.insights-hero .insights-eyebrow{margin-bottom:24px}
.insights-hero__copy{display:grid;grid-template-columns:1.35fr 1fr;gap:36px;margin-top:34px;max-width:900px}
.insights-hero__copy p{font-size:clamp(16px,1.4vw,19px);line-height:1.72}
.insights-hero--archive{padding-bottom:64px}
.insights-hero--archive .insights-text-link{margin-top:28px}
.insights-section{padding:88px 0}
.insights-section__head{max-width:760px;margin-bottom:38px}
.insights-section__head h2{color:var(--pl-off-white);font-size:clamp(30px,4vw,50px);font-weight:850;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
.insights-section__head p{margin-top:16px;font-size:17px}
.insights-section__head--split{display:flex;align-items:flex-end;justify-content:space-between;max-width:none;gap:28px}
.insights-text-link,.insight-card__link,.related-card__link{display:inline-flex;align-items:center;gap:7px;color:var(--pl-violet-300);font-size:14px;font-weight:700;text-decoration:none}
.insights-text-link:hover,.insight-card__link:hover,.related-card__link:hover{color:var(--pl-violet-200)}
.featured-insight{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);padding:0;overflow:hidden;min-height:460px;background:linear-gradient(145deg,rgba(72,17,191,.16),rgba(255,255,255,.025))}
.featured-insight__media{min-height:100%;overflow:hidden}
.featured-insight__media img{width:100%;height:100%;object-fit:cover;transition:transform 520ms var(--ease)}
.featured-insight:hover .featured-insight__media img{transform:scale(1.025)}
.featured-insight__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,5vw,64px)}
.featured-insight__body h2{margin:20px 0 0;color:var(--pl-off-white);font-size:clamp(30px,4.2vw,52px);font-weight:850;line-height:1.05;letter-spacing:-.04em}
.featured-insight__body h2 a{color:inherit}
.featured-insight__body p{margin:22px 0 0;font-size:17px;line-height:1.7}
.featured-insight__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;color:var(--fg-3);font-size:12.5px}
.featured-insight__body .insights-text-link{margin-top:26px}
.route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.route-card{position:relative;min-height:250px;padding:28px;background:linear-gradient(155deg,rgba(72,17,191,.12),rgba(255,255,255,.025))}
.route-card__index{color:var(--pl-violet-400);font-family:var(--font-display);font-size:13px;font-weight:800}
.route-card h3{margin-top:28px;color:var(--pl-off-white);font-size:21px;font-weight:750;line-height:1.2}
.route-card p{margin-top:14px;font-size:14.5px;line-height:1.65}
.route-card a{display:inline-flex;margin-top:20px;color:var(--pl-violet-300);font-size:13.5px;font-weight:700}
.insight-grid{display:grid;gap:18px}
.insight-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.insight-grid--archive{grid-template-columns:repeat(3,minmax(0,1fr))}
.insight-card.panel{display:flex;flex-direction:column;padding:0;overflow:hidden;background:rgba(255,255,255,.025)}
.insight-card__media{display:block;aspect-ratio:16/10;overflow:hidden}
.insight-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 420ms var(--ease)}
.insight-card:hover .insight-card__media img{transform:scale(1.03)}
.insight-card__body{display:flex;flex:1;flex-direction:column;padding:22px}
.insight-card__eyebrow{color:var(--pl-violet-300);font-size:11.5px;font-weight:700;line-height:1.35}
.insight-card h3{margin:12px 0 0;color:var(--pl-off-white);font-size:19px;font-weight:750;line-height:1.25;letter-spacing:-.02em}
.insight-card h3 a{color:inherit}
.insight-card p{margin:14px 0 0;font-size:14px;line-height:1.6}
.insight-card__meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px;color:var(--fg-3);font-size:12px}
.insight-card__link{margin-top:auto;padding-top:18px}
.insight-card--compact .insight-card__body{padding:20px}
.insight-card--compact p{display:none}
.insights-foundations{padding-top:108px}
.foundations-panel{max-width:1000px;padding:clamp(38px,6vw,72px);background:radial-gradient(620px 420px at 100% 0%,rgba(72,17,191,.25),transparent 62%),rgba(255,255,255,.025)}
.foundations-panel h2{max-width:820px;margin-top:24px;color:var(--pl-off-white);font-size:clamp(32px,5vw,58px);font-weight:850;line-height:1.05;letter-spacing:-.04em}
.foundations-panel__definition{max-width:860px;margin-top:30px;color:var(--pl-off-white);font-family:var(--font-display);font-size:clamp(20px,2.3vw,28px);font-weight:600;line-height:1.45}
.foundations-panel>p:last-child{max-width:760px;margin-top:22px;font-size:17px;line-height:1.7}
.application-panel{display:flex;align-items:center;justify-content:space-between;gap:48px;padding:clamp(34px,5vw,58px);background:linear-gradient(135deg,rgba(72,17,191,.22),rgba(255,255,255,.025));border-color:rgba(155,125,242,.24)}
.application-panel h2{max-width:700px;color:var(--pl-off-white);font-size:clamp(28px,4vw,46px);font-weight:850;line-height:1.08;letter-spacing:-.035em}
.application-panel p{max-width:680px;margin-top:16px;font-size:16.5px;line-height:1.65}
.application-panel__actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;flex:none}
.insights-closing{padding:96px 0 110px;background:#090909}
.insights-closing__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:44px;align-items:end}
.insights-closing p{max-width:780px;color:var(--fg-2);font-family:var(--font-display);font-size:clamp(24px,3vw,38px);font-weight:600;line-height:1.35}
.insights-closing nav{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.insights-closing nav a{color:var(--pl-violet-300);font-size:14px;font-weight:650}

/* ---------- ARTICLE: approved two-column template ---------- */
.insight-article .article-hero{padding:146px 0 0}
.insight-article .article-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:960px;margin:0 auto 34px;color:var(--fg-3);font-size:12.5px}
.insight-article .article-breadcrumbs a{color:var(--fg-2)}
.insight-article .article-head{max-width:900px;text-align:left}
.insight-article .article-head h1{max-width:900px;font-size:clamp(38px,5.8vw,68px);line-height:1.04}
.insight-article .article-head .article-sub{max-width:780px;margin:24px 0 0;font-size:clamp(17px,1.5vw,20px)}
.insight-article .article-byline{display:flex;align-items:center;gap:12px;margin-top:26px;color:var(--fg-2);font-size:14px;font-weight:600}
.insight-article .article-byline__mark,.author-profile__mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(155,125,242,.34);border-radius:50%;background:rgba(72,17,191,.15);color:var(--pl-violet-200);font-family:var(--font-display);font-size:11px;font-weight:800}
.insight-article .article-meta-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:960px;margin:42px auto 0;padding:22px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.insight-article .article-meta-grid>div{padding:0 18px;border-left:1px solid var(--border)}
.insight-article .article-meta-grid>div:first-child{padding-left:0;border-left:0}
.insight-article .article-meta-grid dt{color:var(--fg-3);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.insight-article .article-meta-grid dd{margin:7px 0 0;color:var(--fg-1);font-size:13.5px;line-height:1.4}
.insight-article .article-cover{margin-top:44px}
.insight-article .article-eval-cta{margin-top:38px}
.insight-article .article-eval-cta__inner{align-items:flex-start}
.insight-article .article-eval-cta__support{margin:10px 0 0;color:var(--fg-3);font-size:12.5px}
.insight-article .article-eval-cta__actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex:none}
.insight-article .article-eval-cta__secondary{color:var(--fg-3);font-size:12.5px;font-weight:600}
.insight-article .article-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(230px,280px);grid-template-areas:"main sidebar";gap:clamp(52px,7vw,92px);align-items:start;margin-top:70px}
.insight-article .article-main{grid-area:main;min-width:0}
.insight-article .article-main .article-body{max-width:none;margin:0;padding-bottom:10px}
.insight-article .article-main .article-tags{max-width:none}
.insight-article .article-sidebar{grid-area:sidebar;position:sticky;top:112px;max-height:calc(100vh - 136px);overflow:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:rgba(155,125,242,.42) transparent}
.insight-article .article-sidebar__section{padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid var(--border)}
.insight-article .article-sidebar__section:last-child{border-bottom:0}
.insight-article .article-sidebar h2{margin:0 0 14px;color:var(--fg-1);font-family:var(--font-body);font-size:12px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.insight-article .article-sidebar p{margin:0;color:var(--fg-2);font-size:13px;line-height:1.55}
.insight-article .article-toc{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none}
.insight-article .article-toc li{margin:0}
.insight-article .article-toc a{display:block;color:var(--fg-2);font-size:12.8px;line-height:1.45}
.insight-article .article-toc a:hover{color:var(--pl-violet-300)}
.insight-article .article-toc .toc-level-3{padding-left:12px}
.insight-article .article-sidebar__tags{display:flex;flex-wrap:wrap;gap:7px}
.insight-article .article-sidebar__tags .pl-badge{height:auto;min-height:24px;padding:4px 9px;white-space:normal;line-height:1.3}
.insight-article .article-sidebar__related{display:flex;flex-direction:column;gap:11px;margin:0;padding:0;list-style:none}
.insight-article .article-sidebar__related a{color:var(--fg-2);font-size:12.8px;line-height:1.45}
.insight-article .author-profile{display:flex;align-items:center;gap:14px;margin-top:44px;padding:22px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.insight-article .author-profile>div{display:flex;flex-direction:column;gap:3px}
.insight-article .author-profile strong{color:var(--fg-1);font-size:14.5px}
.insight-article .author-profile span:last-child{color:var(--fg-3);font-size:12.5px}
.insight-article .article-faq-compact{margin-top:62px;padding-top:28px;border-top:1px solid var(--border)}
.insight-article .article-faq-compact__title{margin:0 0 8px;font-size:21px}
.insight-article .article-faq-compact .pl-faq__q{font-size:16px}
.insight-article .article-faq-compact .pl-faq__a{font-size:14px;line-height:1.65}
.insight-article .related-articles{max-width:none;margin:80px 0 0;padding:0 var(--gutter)}
.insight-article .related-articles>.container{max-width:var(--content-max)}
.insight-article .related-grid{gap:18px}
.insight-article .related-card.panel{display:flex;flex-direction:column;background:rgba(255,255,255,.025)}
.insight-article .related-card__body{display:flex;flex:1;flex-direction:column;padding:20px}
.insight-article .related-card__route{color:var(--pl-violet-300);font-size:11.5px;font-weight:700}
.insight-article .related-card__title{margin:12px 0 0}
.insight-article .related-card p{display:-webkit-box;overflow:hidden;margin:12px 0 0;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.insight-article .related-card__link{margin-top:auto;padding-top:16px}
.insight-article .article-cta{padding:100px 0 72px}
.insight-article .article-cta__support{margin-top:14px!important;color:var(--fg-3)!important;font-size:12.5px!important}
.insight-article .continue-exploring{padding:0 0 104px}
.insight-article .continue-exploring h2{margin:0 0 24px;color:var(--pl-off-white);font-size:clamp(25px,3vw,36px);font-weight:800;letter-spacing:-.03em}
.insight-article .continue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.insight-article .explore-card{display:flex;min-height:126px;flex-direction:column;justify-content:space-between;padding:22px;border:1px solid var(--border);border-radius:var(--r-md);background:rgba(255,255,255,.025)}
.insight-article .explore-card:hover{border-color:var(--border-hover)}
.insight-article .explore-card span{color:var(--fg-3);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.insight-article .explore-card strong{color:var(--fg-1);font-family:var(--font-display);font-size:15.5px;line-height:1.35}
.insight-article .explore-card--next{text-align:right}
.insight-article .explore-card--hub{text-align:center}

@media(max-width:1050px){
  .route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .insight-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .insight-grid--archive{grid-template-columns:repeat(2,minmax(0,1fr))}
  .insight-article .article-layout{grid-template-columns:minmax(0,1fr) 250px;gap:44px}
  .insight-article .article-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px}
  .insight-article .article-meta-grid>div:nth-child(4){padding-left:0;border-left:0}
}
@media(max-width:768px){
  .insights-hero{padding:132px 0 72px}
  .insights-hero__copy{grid-template-columns:1fr;gap:16px}
  .insights-section{padding:66px 0}
  .featured-insight{grid-template-columns:1fr;min-height:0}
  .featured-insight__media{aspect-ratio:16/10}
  .route-grid,.insight-grid--four,.insight-grid--archive{grid-template-columns:1fr}
  .route-card{min-height:0}
  .insights-section__head--split{align-items:flex-start;flex-direction:column}
  .application-panel{align-items:flex-start;flex-direction:column}
  .application-panel__actions{width:100%}
  .application-panel__actions .pl-btn{width:100%}
  .insights-closing__inner{grid-template-columns:1fr}
  .insights-closing nav{align-items:flex-start}
  .insight-card--compact{display:grid!important;grid-template-columns:112px minmax(0,1fr)}
  .insight-card--compact .insight-card__media{aspect-ratio:1/1}
  .insight-card--compact .insight-card__body{padding:16px}
  .insight-card--compact h3{font-size:16px}
  .insight-card--compact .insight-card__link{display:none}
  .insight-article .article-hero{padding-top:124px}
  .insight-article .article-breadcrumbs{margin-bottom:26px}
  .insight-article .article-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0}
  .insight-article .article-meta-grid>div{padding:0 14px;border-left:1px solid var(--border)}
  .insight-article .article-meta-grid>div:nth-child(odd){padding-left:0;border-left:0}
  .insight-article .article-layout{grid-template-columns:1fr;grid-template-areas:"sidebar" "main";gap:42px;margin-top:52px}
  .insight-article .article-sidebar{position:static;max-height:none;overflow:visible;padding:22px;border:1px solid var(--border);border-radius:var(--r-md);background:rgba(255,255,255,.025)}
  .insight-article .article-sidebar__section{margin-bottom:18px;padding-bottom:18px}
  .insight-article .article-eval-cta__actions{width:100%}
  .insight-article .article-eval-cta__actions .pl-btn{width:100%;box-sizing:border-box;white-space:normal;text-align:center}
  .insight-article .article-eval-cta__secondary{overflow-wrap:anywhere}
  .insight-article .continue-grid{grid-template-columns:1fr}
  .insight-article .explore-card--next,.insight-article .explore-card--hub{text-align:left}
}
@media(max-width:520px){
  .insights-hero h1{font-size:40px}
  .featured-insight__body{padding:28px 24px}
  .insight-card--compact{grid-template-columns:96px minmax(0,1fr)}
  .insight-card--compact .insight-card__eyebrow{font-size:10.5px}
  .insight-card--compact .insight-card__meta{display:none}
  .insight-article .article-meta-grid{grid-template-columns:1fr}
  .insight-article .article-meta-grid>div,.insight-article .article-meta-grid>div:nth-child(odd),.insight-article .article-meta-grid>div:nth-child(4){padding:0;border-left:0}
}

/* ============================================================
   PLATONICA PRESENCE — COMPANY
   Institutional page · 2026-08-03
   Page-specific composition only. Global tokens, header, footer,
   cursor and shared components remain governed by the main system.
   ============================================================ */
.company-hero,
.company-section,
.company-close {
  position:relative;
  overflow:hidden;
}
.company-hero {
  min-height:760px;
  padding:174px 0 112px;
  background:var(--pl-web-dark);
}
.company-hero__glow {
  position:absolute;
  width:720px;
  height:720px;
  top:-360px;
  left:-260px;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(72,17,191,.48) 0%,rgba(72,17,191,.18) 38%,transparent 70%);
}
.company-network {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:.58;
  pointer-events:none;
}
.company-network__lines path {
  fill:none;
  stroke:rgba(107,53,232,.28);
  stroke-width:1.5;
  stroke-dasharray:8 12;
}
.company-network__dots circle {
  fill:rgba(155,125,242,.75);
}
.company-network__dots .company-network__core {
  fill:var(--pl-violet-500);
  filter:drop-shadow(0 0 14px rgba(107,53,232,.7));
}
.company-network__dots .company-network__ring {
  fill:none;
  stroke:rgba(107,53,232,.48);
  stroke-width:2;
}
.company-hero__grid {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.42fr) minmax(280px,.72fr);
  gap:clamp(48px,6vw,92px);
  align-items:end;
}
.company-hero__title h1 {
  max-width:790px;
  color:var(--pl-off-white);
  font-family:var(--font-display);
  font-size:clamp(54px,6.5vw,88px);
  font-weight:900;
  letter-spacing:-.052em;
  line-height:1.01;
  text-wrap:balance;
}
.company-hero__title h1 em {
  color:var(--pl-violet-500);
  font-style:italic;
}
.company-hero__definition {
  padding-bottom:8px;
}
.company-hero__definition p {
  color:var(--fg-2);
  font-size:15.5px;
  line-height:1.74;
}
.company-hero__definition p + p {
  margin-top:16px;
}
.company-hero__definition strong {
  color:var(--pl-off-white);
}
.company-hero__cue {
  position:absolute;
  left:50%;
  bottom:30px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:12px;
  transform:translateX(-50%);
  color:var(--fg-3);
  font-size:12px;
  letter-spacing:.01em;
}
.company-hero__cue:hover {
  color:var(--pl-off-white);
}
.company-hero__cue .ico {
  width:30px;
  height:30px;
  padding:7px;
  border:1px solid var(--border);
  border-radius:50%;
}

.company-section {
  padding:132px 0;
  background:var(--pl-web-dark);
}
.company-intro-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);
  gap:clamp(48px,7vw,104px);
  align-items:start;
}
.company-intro-grid h2,
.company-method__header h2,
.company-founder__copy h2,
.company-rigor__intro h2,
.company-close__content h2 {
  color:var(--pl-off-white);
  font-family:var(--font-display);
  font-size:clamp(40px,4.9vw,64px);
  font-weight:800;
  letter-spacing:-.042em;
  line-height:1.06;
  text-wrap:balance;
}
.company-intro-grid > p,
.company-method__header > p,
.company-founder__copy > p,
.company-rigor__intro > p,
.company-close__content > p {
  color:var(--fg-2);
  font-size:16px;
  line-height:1.74;
}

.company-layers {
  display:grid;
  grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr) 60px minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin-top:82px;
}
.company-layer {
  min-height:220px;
  padding:30px;
  border:1px solid var(--border);
  border-radius:var(--r-panel);
  background:rgba(255,255,255,.028);
}
.company-layer--focus {
  border-color:rgba(107,53,232,.45);
  background:
    radial-gradient(circle at 10% 0%,rgba(107,53,232,.18),transparent 44%),
    linear-gradient(180deg,rgba(72,17,191,.14),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(196,181,245,.08);
}
.company-layer__label {
  display:block;
  margin-bottom:34px;
  color:var(--pl-violet-300);
  font-family:var(--font-body);
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
}
.company-layer h3 {
  color:var(--pl-off-white);
  font-family:var(--font-display);
  font-size:clamp(20px,2vw,25px);
  font-weight:700;
  letter-spacing:-.025em;
  line-height:1.3;
}
.company-connector {
  display:flex;
  justify-content:center;
  gap:7px;
}
.company-connector span {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--pl-violet-500);
  opacity:.36;
}
.company-connector span:nth-child(2) { opacity:.65; }
.company-connector span:nth-child(3) { opacity:1; }
.company-operation__close {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(36px,5vw,70px);
  margin-top:72px;
  padding-top:38px;
  border-top:1px solid var(--border);
}
.company-operation__close p {
  color:var(--fg-2);
  font-size:15.5px;
  line-height:1.72;
}

.company-method {
  background:
    radial-gradient(50% 70% at 15% 20%,rgba(72,17,191,.22),transparent 68%),
    linear-gradient(150deg,#0D0D0D 0%,#180C34 52%,#0D0D0D 100%);
}
.company-method__header {
  max-width:900px;
}
.company-method__header > p {
  max-width:780px;
  margin-top:28px;
}
.company-method__header strong {
  color:var(--pl-off-white);
}
.company-method__track {
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:34px;
  margin-top:82px;
}
.company-method__track::before {
  content:"";
  position:absolute;
  top:15px;
  left:10px;
  right:10px;
  height:1px;
  background:linear-gradient(90deg,var(--pl-violet-700),var(--pl-violet-300));
}
.company-method__step {
  position:relative;
  padding-top:50px;
}
.company-method__dot {
  position:absolute;
  top:7px;
  left:6px;
  width:16px;
  height:16px;
  border:4px solid #21143D;
  border-radius:50%;
  background:var(--pl-violet-500);
  box-shadow:0 0 0 5px rgba(107,53,232,.08);
}
.company-method__step h3 {
  margin-bottom:14px;
  color:var(--pl-off-white);
  font-family:var(--font-display);
  font-size:clamp(25px,2.4vw,31px);
  font-style:italic;
  font-weight:700;
  letter-spacing:-.03em;
}
.company-method__step p {
  max-width:26ch;
  color:var(--fg-2);
  font-size:14.5px;
  line-height:1.66;
}

.company-founder {
  background:#131313;
}
.company-founder__grid {
  display:grid;
  grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr);
  gap:clamp(52px,7vw,96px);
  align-items:center;
}
.company-founder__media {
  position:relative;
  min-height:560px;
  margin:0;
  overflow:hidden;
  border-radius:var(--r-xl);
  background:
    radial-gradient(circle at 40% 20%,rgba(107,53,232,.34),transparent 62%),
    #1A1A1A;
}
.company-founder__media img {
  width:100%;
  height:560px;
  object-fit:cover;
  object-position:center top;
}
.company-founder__media figcaption {
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-md);
  background:rgba(13,13,13,.74);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
.company-founder__media figcaption strong {
  color:var(--pl-off-white);
  font-family:var(--font-display);
  font-size:15px;
}
.company-founder__media figcaption span {
  color:var(--fg-2);
  font-size:12px;
}
.company-founder__copy > p {
  margin-top:26px;
}
.company-founder__facts {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:44px;
  padding-top:34px;
  border-top:1px solid var(--border);
}
.company-founder__facts strong {
  display:block;
  margin-bottom:8px;
  color:var(--pl-violet-300);
  font-family:var(--font-display);
  font-size:clamp(28px,3vw,38px);
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1;
}
.company-founder__facts span {
  display:block;
  color:var(--fg-2);
  font-size:12px;
  line-height:1.5;
}

.company-rigor__intro {
  max-width:920px;
}
.company-rigor__intro > p {
  max-width:720px;
  margin-top:26px;
}
.company-rigor__map {
  display:grid;
  grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr) 54px minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin-top:78px;
}
.company-rigor__node {
  min-height:240px;
  padding:30px;
  border:1px solid var(--border);
  border-radius:var(--r-panel);
  background:rgba(255,255,255,.026);
}
.company-rigor__node--focus {
  border-color:rgba(107,53,232,.46);
  background:
    radial-gradient(circle at 10% 0%,rgba(107,53,232,.18),transparent 44%),
    linear-gradient(180deg,rgba(72,17,191,.14),rgba(255,255,255,.02));
}
.company-rigor__node > span {
  display:block;
  margin-bottom:30px;
  color:var(--pl-violet-300);
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
}
.company-rigor__node p {
  color:var(--fg-2);
  font-size:15px;
  line-height:1.68;
}
.company-rigor__arrow {
  display:flex;
  justify-content:center;
  color:var(--pl-violet-500);
}
.company-rigor__arrow .ico {
  width:26px;
  height:26px;
}
.company-collaboration {
  display:grid;
  grid-template-columns:minmax(260px,.56fr) 1fr;
  gap:42px;
  align-items:center;
  margin-top:54px;
  padding-top:32px;
  border-top:1px solid var(--border);
}
.company-collaboration > p {
  color:var(--fg-2);
  font-size:14.5px;
  line-height:1.65;
}
.company-collaboration > div {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
.company-collaboration span {
  padding:10px 14px;
  border:1px solid var(--border);
  border-radius:var(--r-pill);
  color:var(--fg-2);
  font-size:12px;
}

.company-close {
  padding:144px 0;
  background:var(--pl-violet-700);
}
.company-close__orbit {
  position:absolute;
  width:720px;
  height:720px;
  top:-320px;
  right:-250px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  box-shadow:
    0 0 0 80px rgba(255,255,255,.026),
    0 0 0 160px rgba(255,255,255,.018);
}
.company-close__content {
  position:relative;
  z-index:2;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.company-close__content h2 {
  color:#fff;
}
.company-close__content > p {
  max-width:720px;
  margin:28px auto 0;
  color:rgba(255,255,255,.78);
}
.company-close__content .pl-btn {
  margin-top:38px;
}

@media (prefers-reduced-motion:no-preference) {
  .company-network__lines path {
    animation:company-network-flow 9s linear infinite;
  }
  .company-network__ring {
    animation:company-network-pulse 5.5s var(--ease) infinite;
    transform-box:fill-box;
    transform-origin:center;
  }
}
@keyframes company-network-flow {
  to { stroke-dashoffset:-80; }
}
@keyframes company-network-pulse {
  0%,100% { opacity:.45; transform:scale(.96); }
  50% { opacity:.85; transform:scale(1.08); }
}

@media (max-width:980px) {
  .company-hero__grid,
  .company-intro-grid,
  .company-founder__grid {
    grid-template-columns:1fr;
  }
  .company-hero__grid {
    gap:36px;
  }
  .company-hero__definition {
    max-width:660px;
  }
  .company-intro-grid {
    gap:30px;
  }
  .company-intro-grid > p {
    max-width:700px;
  }
  .company-layers,
  .company-rigor__map {
    grid-template-columns:1fr;
    gap:12px;
  }
  .company-connector {
    flex-direction:column;
    align-items:center;
    padding:4px 0;
  }
  .company-rigor__arrow {
    transform:rotate(90deg);
  }
  .company-founder__media {
    max-width:620px;
  }
}
@media (max-width:768px) {
  .company-hero {
    min-height:760px;
    padding:152px 0 100px;
  }
  .company-hero__title h1 {
    font-size:clamp(42px,11.4vw,58px);
  }
  .company-hero__definition p {
    font-size:14.5px;
    line-height:1.68;
  }
  .company-network {
    width:150%;
    left:-28%;
    opacity:.36;
  }
  .company-hero__cue {
    width:max-content;
    max-width:84%;
  }
  .company-section {
    padding:92px 0;
  }
  .company-intro-grid h2,
  .company-method__header h2,
  .company-founder__copy h2,
  .company-rigor__intro h2,
  .company-close__content h2 {
    font-size:clamp(34px,9.7vw,44px);
  }
  .company-layers,
  .company-method__track,
  .company-rigor__map {
    margin-top:54px;
  }
  .company-layer,
  .company-rigor__node {
    min-height:auto;
    padding:26px;
  }
  .company-operation__close,
  .company-collaboration {
    grid-template-columns:1fr;
    gap:18px;
  }
  .company-method__track {
    grid-template-columns:1fr;
    gap:0;
  }
  .company-method__track::before {
    top:13px;
    bottom:13px;
    left:13px;
    right:auto;
    width:1px;
    height:auto;
  }
  .company-method__step {
    padding:0 0 42px 52px;
  }
  .company-method__step:last-child {
    padding-bottom:0;
  }
  .company-method__dot {
    top:3px;
    left:5px;
  }
  .company-method__step p {
    max-width:34ch;
  }
  .company-founder__media,
  .company-founder__media img {
    min-height:430px;
    height:430px;
  }
  .company-founder__media figcaption {
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .company-founder__facts {
    grid-template-columns:1fr;
  }
  .company-collaboration > div {
    justify-content:flex-start;
  }
  .company-close {
    padding:104px 0;
  }
  .company-close__orbit {
    right:-530px;
  }
}
@media (max-width:480px) {
  .company-hero {
    min-height:800px;
  }
  .company-hero__cue span {
    max-width:210px;
  }
  .company-layer__label,
  .company-rigor__node > span {
    letter-spacing:.075em;
  }
  .company-founder__media,
  .company-founder__media img {
    min-height:390px;
    height:390px;
  }
}

/* Safe load: institutional content remains visible if site.js fails. */
.company-page .reveal-in {
  opacity:1;
  transform:none;
  transition:none;
}

/* ============================================================
   LEGAL PAGES — PLATONICA PRESENCE
   Shared light-mode presentation for Privacy + Terms.
   Content remains owned by each HTML document.
   ============================================================ */
.legal-html{
  color-scheme:light;
  background:var(--pl-off-white);
}
body.legal-page,
body.legal-page *{box-sizing:border-box}
body.legal-page{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(900px 480px at 90% -80px,rgba(72,17,191,.10),transparent 70%),
    radial-gradient(680px 420px at -10% 18%,rgba(107,53,232,.06),transparent 70%),
    var(--pl-off-white);
  color:var(--pl-dark);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
body.legal-page a{
  color:var(--pl-violet-700);
  text-underline-offset:3px;
}
body.legal-page a:hover{color:var(--pl-violet-900)}
body.legal-page :where(a,button,[tabindex="0"]):focus-visible{
  outline:var(--focus-width) solid var(--pl-violet-700);
  outline-offset:var(--focus-offset);
}
body.legal-page p,
body.legal-page li,
body.legal-page td{
  color:rgba(25,25,25,.72);
}
body.legal-page strong{color:var(--pl-dark)}

/* ---------- Terms: editorial document ---------- */
.legal-terms .wrap{
  position:relative;
  width:min(940px,calc(100% - 40px));
  margin:clamp(24px,5vw,56px) auto 88px;
  padding:clamp(34px,6vw,76px) clamp(26px,7vw,86px) clamp(52px,7vw,88px);
  border:1px solid rgba(25,25,25,.08);
  border-radius:var(--r-xl);
  background:rgba(255,255,255,.90);
  box-shadow:0 28px 80px rgba(46,10,120,.08),0 2px 8px rgba(25,25,25,.035);
}
.legal-terms .wrap::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:6px;
  border-radius:var(--r-xl) var(--r-xl) 0 0;
  background:linear-gradient(90deg,var(--pl-violet-900),var(--pl-violet-700),var(--pl-violet-400));
}
.legal-terms .back{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  margin:0 0 40px;
  padding:0 16px;
  border:1px solid rgba(72,17,191,.18);
  border-radius:var(--r-pill);
  background:var(--pl-violet-100);
  color:var(--pl-violet-700);
  font-family:var(--font-display);
  font-size:13px;
  font-weight:650;
  text-decoration:none;
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.legal-terms .back:hover{
  border-color:rgba(72,17,191,.35);
  background:#E3DCF7;
  color:var(--pl-violet-900);
}
.legal-terms h1{
  max-width:760px;
  margin:0;
  color:var(--pl-dark);
  font-family:var(--font-display);
  font-size:clamp(44px,7vw,72px);
  font-weight:900;
  line-height:.98;
  letter-spacing:-.045em;
}
.legal-terms h1 + p{
  margin:20px 0 0;
  color:rgba(25,25,25,.52);
  font-size:13px;
  letter-spacing:.015em;
}
.legal-terms .notice{
  position:relative;
  margin:34px 0 56px;
  padding:22px 24px 22px 27px;
  border:1px solid rgba(72,17,191,.16);
  border-left:3px solid var(--pl-violet-700);
  border-radius:var(--r-md);
  background:linear-gradient(135deg,rgba(72,17,191,.075),rgba(255,255,255,.72));
  color:rgba(25,25,25,.76);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.legal-terms h2{
  max-width:760px;
  margin:54px 0 16px;
  padding-top:6px;
  color:var(--pl-dark);
  font-family:var(--font-display);
  font-size:clamp(25px,3vw,32px);
  font-weight:750;
  line-height:1.16;
  letter-spacing:-.025em;
}
.legal-terms h2::after{
  content:"";
  display:block;
  width:42px;
  height:2px;
  margin-top:13px;
  border-radius:999px;
  background:var(--pl-violet-500);
  opacity:.75;
}
.legal-terms p{
  max-width:75ch;
  margin:0 0 17px;
  font-size:15.5px;
  line-height:1.78;
}
.legal-terms main p a{
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:rgba(72,17,191,.28);
}

/* ---------- Privacy: bilingual reference page ---------- */
.legal-privacy .site-header{
  position:sticky;
  top:0;
  z-index:30;
  border-bottom:1px solid rgba(25,25,25,.08);
  background:rgba(242,240,240,.86);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  backdrop-filter:blur(16px) saturate(150%);
}
.legal-privacy .header-inner{
  width:min(var(--content-max),calc(100% - 40px));
  min-height:72px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.legal-privacy .brand{
  color:var(--pl-dark);
  font-family:var(--font-display);
  font-size:18px;
  font-weight:750;
  letter-spacing:-.025em;
  text-decoration:none;
}
.legal-privacy .header-nav{
  display:flex;
  align-items:center;
  gap:6px;
}
.legal-privacy .header-nav a{
  padding:8px 12px;
  border-radius:var(--r-pill);
  color:rgba(25,25,25,.60);
  font-family:var(--font-body);
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.legal-privacy .header-nav a:hover{
  background:rgba(72,17,191,.07);
  color:var(--pl-violet-900);
}
.legal-privacy main{
  width:min(980px,calc(100% - 40px));
  margin:auto;
  padding:clamp(56px,8vw,92px) 0 104px;
}
.legal-privacy .hero{
  position:relative;
  overflow:visible;
  padding:0 0 54px;
  border-bottom:1px solid rgba(25,25,25,.10);
  background:transparent;
}
.legal-privacy .hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:320px;
  height:320px;
  right:-90px;
  top:-150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(72,17,191,.13),transparent 70%);
  filter:blur(5px);
  pointer-events:none;
}
.legal-privacy .eyebrow{
  margin:0 0 17px;
  color:var(--pl-violet-700);
  font-family:var(--font-body);
  font-size:11px;
  font-weight:750;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.legal-privacy h1{
  max-width:780px;
  margin:0;
  color:var(--pl-dark);
  font-family:var(--font-display);
  font-size:clamp(46px,7vw,76px);
  font-weight:900;
  line-height:.98;
  letter-spacing:-.05em;
}
.legal-privacy .lede{
  max-width:760px;
  margin:27px 0 0;
  color:rgba(25,25,25,.68);
  font-size:clamp(17px,2vw,20px);
  line-height:1.68;
}
.legal-privacy .meta{
  display:flex;
  flex-wrap:wrap;
  gap:9px 18px;
  margin-top:26px;
  color:rgba(25,25,25,.48);
  font-size:12.5px;
}
.legal-privacy .language-links{
  display:flex;
  gap:8px;
  margin-top:30px;
}
.legal-privacy .language-links a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 15px;
  border:1px solid rgba(72,17,191,.17);
  border-radius:var(--r-pill);
  background:var(--pl-violet-100);
  color:var(--pl-violet-700);
  font-family:var(--font-display);
  font-size:13px;
  font-weight:650;
  text-decoration:none;
}
.legal-privacy .section{
  padding:46px 0;
  border-bottom:1px solid rgba(25,25,25,.09);
  scroll-margin-top:94px;
}
.legal-privacy .section:last-child{border-bottom:0}
.legal-privacy h2{
  max-width:800px;
  margin:0 0 20px;
  color:var(--pl-dark);
  font-family:var(--font-display);
  font-size:clamp(26px,3vw,34px);
  font-weight:760;
  line-height:1.15;
  letter-spacing:-.028em;
}
.legal-privacy h3{
  margin:32px 0 10px;
  color:var(--pl-dark);
  font-family:var(--font-display);
  font-size:19px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.012em;
}
.legal-privacy p{
  max-width:78ch;
  margin:0 0 17px;
  font-size:15.5px;
  line-height:1.78;
}
.legal-privacy ul{
  max-width:75ch;
  margin:14px 0 20px;
  padding-left:22px;
  color:rgba(25,25,25,.72);
}
.legal-privacy li{margin:8px 0;padding-left:3px}
.legal-privacy article a{
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:rgba(72,17,191,.27);
}
.legal-privacy .note{
  max-width:78ch;
  margin-top:24px;
  padding:20px 22px;
  border:1px solid rgba(72,17,191,.17);
  border-left:3px solid var(--pl-violet-700);
  border-radius:var(--r-md);
  background:linear-gradient(135deg,rgba(72,17,191,.07),rgba(255,255,255,.65));
  color:rgba(25,25,25,.72);
}
.legal-privacy .table-wrap{
  overflow-x:auto;
  margin-top:22px;
  border:1px solid rgba(25,25,25,.10);
  border-radius:var(--r-panel);
  background:#fff;
  box-shadow:0 18px 44px rgba(46,10,120,.06);
}
.legal-privacy table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
}
.legal-privacy th,
.legal-privacy td{
  padding:16px 18px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid rgba(25,25,25,.08);
  font-size:14px;
  line-height:1.58;
}
.legal-privacy th{
  background:rgba(237,232,249,.58);
  color:var(--pl-dark);
  font-family:var(--font-display);
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
}
.legal-privacy tr:last-child td{border-bottom:0}
.legal-privacy .english{
  margin-top:76px;
  padding-top:76px;
  border-top:2px solid var(--pl-violet-700);
}
.legal-privacy .english > .hero{
  padding-bottom:48px;
}
.legal-privacy .footer{
  width:min(var(--content-max),calc(100% - 40px));
  margin:auto;
  padding:28px 0 44px;
  border-top:1px solid rgba(25,25,25,.10);
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:14px 24px;
  color:rgba(25,25,25,.50);
  font-size:12.5px;
}
.legal-privacy .footer-links{display:flex;flex-wrap:wrap;gap:8px 18px}
.legal-privacy .footer a{color:rgba(25,25,25,.58);text-decoration:none}
.legal-privacy .footer a:hover{color:var(--pl-violet-900)}

/* ---------- Consent banner: preserve behavior, normalize brand ---------- */
.legal-page #plConsentBanner{
  left:18px!important;
  right:18px!important;
  bottom:18px!important;
  max-width:1040px!important;
  gap:16px!important;
  padding:17px 18px 17px 20px!important;
  border:1px solid rgba(196,181,245,.18)!important;
  border-radius:var(--r-panel)!important;
  background:rgba(13,13,13,.94)!important;
  -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
  backdrop-filter:blur(18px) saturate(145%)!important;
  box-shadow:0 26px 74px rgba(13,13,13,.38)!important;
  color:var(--pl-off-white)!important;
  font-family:var(--font-body)!important;
}
.legal-page #plConsentBanner h2{
  margin:0 0 4px!important;
  color:var(--pl-off-white)!important;
  font-family:var(--font-display)!important;
  font-size:16px!important;
  font-weight:720!important;
  letter-spacing:-.015em!important;
}
.legal-page #plConsentBanner p{
  margin:0!important;
  color:rgba(242,240,240,.64)!important;
  font-size:12.5px!important;
  line-height:1.55!important;
}
.legal-page #plConsentBanner button{
  min-height:42px!important;
  padding:0 18px!important;
  border-radius:var(--r-pill)!important;
  font-family:var(--font-display)!important;
  font-size:13px!important;
  font-weight:650!important;
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur-fast) var(--ease)!important;
}
.legal-page #plConsentDecline{
  border-color:rgba(242,240,240,.24)!important;
  background:transparent!important;
  color:var(--pl-off-white)!important;
}
.legal-page #plConsentDecline:hover{background:rgba(255,255,255,.07)!important}
.legal-page #plConsentAccept{
  border-color:var(--pl-violet-700)!important;
  background:var(--pl-violet-700)!important;
  color:#fff!important;
}
.legal-page #plConsentAccept:hover{
  border-color:var(--pl-violet-500)!important;
  background:var(--pl-violet-500)!important;
}

@media(max-width:700px){
  .legal-terms .wrap{
    width:min(100% - 20px,940px);
    margin:10px auto 56px;
    padding:34px 22px 54px;
    border-radius:22px;
  }
  .legal-terms .wrap::before{border-radius:22px 22px 0 0}
  .legal-terms .back{margin-bottom:32px}
  .legal-terms h2{margin-top:44px}
  .legal-terms .notice{margin-bottom:46px;padding:19px 19px 19px 21px}

  .legal-privacy .header-inner,
  .legal-privacy main,
  .legal-privacy .footer{width:min(100% - 28px,var(--content-max))}
  .legal-privacy .header-inner{min-height:64px}
  .legal-privacy .header-nav .optional{display:none}
  .legal-privacy main{padding:44px 0 72px}
  .legal-privacy .hero{padding-bottom:40px}
  .legal-privacy .section{padding:38px 0}
  .legal-privacy .english{margin-top:54px;padding-top:54px}
  .legal-privacy .language-links{flex-wrap:wrap}
  .legal-privacy th,.legal-privacy td{padding:14px 15px}

  .legal-page #plConsentBanner{
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    padding:16px!important;
    border-radius:18px!important;
  }
  .legal-page #plConsentBanner > div:last-of-type{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .legal-page #plConsentBanner button{width:100%!important;padding:0 12px!important}
}

@media(max-width:440px){
  .legal-terms .wrap{width:100%;margin:0;border:0;border-radius:0;box-shadow:none;padding-left:20px;padding-right:20px}
  .legal-terms .wrap::before{border-radius:0}
  .legal-privacy h1{font-size:clamp(40px,13vw,54px)}
}

@media print{
  .legal-html,
  body.legal-page{background:#fff!important}
  .legal-terms .wrap{width:100%;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:#fff}
  .legal-terms .wrap::before,
  .legal-terms .back,
  .legal-privacy .site-header,
  .legal-privacy .language-links,
  .legal-privacy .footer,
  .legal-page #plConsentBanner{display:none!important}
  .legal-privacy main{width:100%;padding:0}
  .legal-privacy .hero::before{display:none}
}

