/* AmirParviz Design System v1.0 RC15 — visual identity migration */
:root,
[data-theme="amirparviz-brand-light"] {
  color-scheme: light;
  --th-font-fa: RaviFaNum-VF, Ravi, Tahoma, Arial, sans-serif;
  --th-font-latin: system-ui, Arial, sans-serif;
  --th-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* Official identity colors */
  --th-brand-navy:#00005B;
  --th-brand-purple:#5A50D8;
  --th-brand-cyan:#00BBF9;
  --th-functional-blue:#007AF9;
  --th-action-blue-accessible:#0064D8;
  --th-neutral-white:#FFFFFF;
  --th-neutral-50:#F7F7FA;
  --th-neutral-200:#E6E7EF;
  --th-neutral-600:#74768A;
  --th-neutral-650:#707287;
  --th-neutral-900:#111126;

  /* Compatibility ramp: derived only from official Purple/Navy, not additional brand colors */
  --th-color-primary-50:color-mix(in srgb,var(--th-brand-purple) 7%,white);
  --th-color-primary-100:color-mix(in srgb,var(--th-brand-purple) 13%,white);
  --th-color-primary-200:color-mix(in srgb,var(--th-brand-purple) 24%,white);
  --th-color-primary-300:color-mix(in srgb,var(--th-brand-purple) 38%,white);
  --th-color-primary-400:color-mix(in srgb,var(--th-brand-purple) 60%,white);
  --th-color-primary-500:color-mix(in srgb,var(--th-brand-purple) 82%,white);
  --th-color-primary-600:var(--th-brand-purple);
  --th-color-primary-700:var(--th-brand-purple);
  --th-color-primary-800:color-mix(in srgb,var(--th-brand-purple) 72%,var(--th-brand-navy));
  --th-color-primary-900:var(--th-brand-navy);
  --th-color-primary-950:color-mix(in srgb,var(--th-brand-navy) 90%,black);
  --th-color-neutral-0:var(--th-neutral-white);
  --th-color-neutral-50:var(--th-neutral-50);
  --th-color-neutral-100:color-mix(in srgb,var(--th-neutral-200) 55%,white);
  --th-color-neutral-200:var(--th-neutral-200);
  --th-color-neutral-300:color-mix(in srgb,var(--th-neutral-600) 28%,var(--th-neutral-200));
  --th-color-neutral-400:color-mix(in srgb,var(--th-neutral-600) 72%,white);
  --th-color-neutral-500:var(--th-neutral-600);
  --th-color-neutral-600:var(--th-neutral-600);
  --th-color-neutral-700:color-mix(in srgb,var(--th-neutral-900) 70%,var(--th-neutral-600));
  --th-color-neutral-800:color-mix(in srgb,var(--th-neutral-900) 88%,var(--th-brand-navy));
  --th-color-neutral-900:var(--th-neutral-900);
  --th-color-neutral-950:color-mix(in srgb,var(--th-neutral-900) 90%,black);

  --th-bg-canvas:var(--th-neutral-white); --th-bg-subtle:var(--th-neutral-50);
  --th-surface:var(--th-neutral-white); --th-surface-raised:var(--th-neutral-white);
  --th-text-primary:var(--th-neutral-900); --th-text-secondary:var(--th-neutral-650);
  --th-text-muted:var(--th-neutral-650); --th-text-inverse:var(--th-neutral-white);
  --th-border:var(--th-neutral-200); --th-border-subtle:color-mix(in srgb,var(--th-neutral-200) 62%,white);
  --th-border-strong:color-mix(in srgb,var(--th-neutral-600) 28%,var(--th-neutral-200));
  --th-action-primary:var(--th-action-blue-accessible);
  --th-action-primary-hover:var(--th-brand-purple);
  --th-action-accent:var(--th-brand-purple);
  --th-action-accent-hover:var(--th-brand-navy);
  --th-focus-ring:0 0 0 3px color-mix(in srgb,var(--th-action-blue-accessible) 30%,transparent);
  --th-brand:var(--th-brand-purple);
  --th-accent:var(--th-brand-cyan);
  --th-bg:var(--th-bg-canvas); --th-surface-subtle:var(--th-bg-subtle);

  --th-radius-none:0px; --th-radius-sm:8px; --th-radius-md:10px; --th-radius-lg:12px; --th-radius-xl:18px; --th-radius-2xl:24px; --th-radius-pill:999px;
  --th-radius-button:10px; --th-radius-card:8px; --th-radius-panel:10px; --th-radius-overlay:12px;
  --th-shadow-xs:0 1px 2px color-mix(in srgb,var(--th-brand-navy) 6%,transparent);
  --th-shadow-sm:0 6px 18px -8px color-mix(in srgb,var(--th-brand-navy) 12%,transparent);
  --th-shadow-md:0 12px 30px -12px color-mix(in srgb,var(--th-brand-navy) 18%,transparent);
  --th-shadow-lg:0 20px 44px -16px color-mix(in srgb,var(--th-brand-navy) 24%,transparent);
  --th-shadow-xl:0 24px 80px -22px color-mix(in srgb,var(--th-brand-navy) 32%,transparent);
  --th-container-reading:800px; --th-container-content:920px; --th-container-site:1180px; --th-container-wide:1200px;
  --th-weight-regular:400; --th-weight-medium:500; --th-weight-semibold:600; --th-weight-strong:700; --th-weight-display:800; --th-weight-emphasis:900;
  --th-status-success:#087A55; --th-status-success-subtle:#E7F6F0;
  --th-status-warning:#8A5200; --th-status-warning-subtle:#FFF6E6;
  --th-status-danger:#B42318; --th-status-danger-subtle:#FDECEA;
  --th-status-info:var(--th-functional-blue); --th-status-info-subtle:color-mix(in srgb,var(--th-functional-blue) 8%,white);
  --th-control-height-sm:40px; --th-control-height-md:48px; --th-control-height-lg:56px;
  --th-icon-size-sm:16px; --th-icon-size-md:20px; --th-icon-size-lg:24px;
  --th-space-1:4px; --th-space-2:8px; --th-space-3:12px; --th-space-4:16px; --th-space-5:20px; --th-space-6:24px; --th-space-8:32px; --th-space-10:40px; --th-space-12:48px; --th-space-14:56px; --th-space-16:64px; --th-space-20:80px;
  --th-z-base:0; --th-z-raised:10; --th-z-sticky:100; --th-z-dropdown:300; --th-z-overlay:600; --th-z-modal:800; --th-z-toast:900; --th-z-max:1000;
  --th-leading-compact:1.45; --th-leading-heading:1.6; --th-leading-body:1.9; --th-leading-reading:2;
  --th-font-numeral-fa:var(--th-font-fa);
}
[data-theme="amirparviz-dashboard-dark"] {
  color-scheme:dark;
  --th-bg-canvas:var(--th-neutral-900); --th-bg-subtle:var(--th-brand-navy);
  --th-surface:color-mix(in srgb,var(--th-neutral-900) 86%,var(--th-brand-navy));
  --th-surface-raised:color-mix(in srgb,var(--th-brand-purple) 16%,var(--th-neutral-900));
  --th-text-primary:#FFFFFF; --th-text-secondary:#E6E7EF; --th-text-muted:color-mix(in srgb,#FFFFFF 60%,var(--th-neutral-600)); --th-text-inverse:var(--th-neutral-900);
  --th-border:color-mix(in srgb,#FFFFFF 18%,var(--th-brand-navy)); --th-border-subtle:color-mix(in srgb,#FFFFFF 10%,var(--th-brand-navy));
  --th-action-primary:var(--th-action-blue-accessible); --th-action-primary-hover:var(--th-brand-purple);
  --th-action-accent:var(--th-brand-purple); --th-action-accent-hover:var(--th-functional-blue);
  --th-focus-ring:0 0 0 3px color-mix(in srgb,var(--th-brand-cyan) 38%,transparent);
}
.th-type-body-lg{font:400 18px/2 var(--th-font-fa)}.th-type-body{font:400 16px/1.9 var(--th-font-fa)}.th-type-small{font:400 14px/1.8 var(--th-font-fa)}.th-type-label{font:600 13px/1.5 var(--th-font-fa)}.th-type-h4{font:700 20px/1.6 var(--th-font-fa)}.th-type-h3{font:700 24px/1.6 var(--th-font-fa)}.th-type-h2{font:780 clamp(26px,2.2vw,32px)/1.6 var(--th-font-fa)}.th-type-h1{font:800 clamp(32px,2.6vw,40px)/1.5 var(--th-font-fa)}.th-reading{max-width:var(--th-container-reading);font:400 18px/2 var(--th-font-fa);color:var(--th-text-primary)}
.th-display-hero{max-width:768px;margin:0;font-family:var(--th-font-fa);font-size:clamp(34px,2.8vw,46px);font-weight:800;line-height:1.48;color:var(--th-brand-navy);text-wrap:balance}.th-display-hero__emphasis{font-weight:900;color:var(--th-brand-purple)}.th-display-hero__support{display:block;margin-top:.08em;font-size:.72em;font-weight:680;line-height:1.65;color:var(--th-neutral-900)}.th-display-service{max-width:780px;margin:0;font-family:var(--th-font-fa);font-size:clamp(30px,2.5vw,40px);font-weight:800;line-height:1.55;color:var(--th-brand-navy);text-wrap:balance}.th-display-service__emphasis{font-weight:900;color:var(--th-brand-purple)}
.th-btn{min-height:44px;padding:10px 20px;border-radius:var(--th-radius-button);border:1px solid transparent;font:600 14px/1.5 var(--th-font-fa);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:background-color 160ms cubic-bezier(.2,0,0,1),border-color 160ms cubic-bezier(.2,0,0,1),transform 100ms ease}.th-btn:focus-visible{outline:0;box-shadow:var(--th-focus-ring)}.th-btn:active{transform:translateY(1px)}.th-btn--primary{background:var(--th-action-primary);color:#fff}.th-btn--primary:hover{background:var(--th-action-primary-hover)}.th-btn--accent{background:var(--th-action-accent);color:#fff}.th-btn--accent:hover{background:var(--th-action-accent-hover)}.th-btn--secondary{background:var(--th-surface);color:var(--th-brand-navy);border-color:var(--th-border)}.th-btn[disabled]{cursor:not-allowed;background:var(--th-color-neutral-100);color:var(--th-color-neutral-400);transform:none}
.th-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.th-numeral-fa,.th-table__number{font-family:var(--th-font-numeral-fa)!important;font-variant-numeric:tabular-nums}
@media(max-width:768px){.th-display-hero{font-size:clamp(26px,7vw,34px);line-height:1.52}.th-display-service{font-size:clamp(25px,6.5vw,32px);line-height:1.58}}
