@layer reset,tokens,base,components,layouts,pages,states,responsive,utilities;@font-face{font-family:Acme;src:url(/fonts/Acme/Acme-Regular.woff2) format("woff2"),url(/fonts/Acme/Acme-Regular.ttf) format("truetype");font-weight:var(--font-weight-regular);font-style:normal;font-display:swap}@font-face{font-family:KCAcmeHandInked;src:url(/fonts/KCAcmeHand/KCSimpleSans-Inked.otf) format("opentype");font-weight:var(--font-weight-regular);font-style:normal;font-display:swap}@font-face{font-family:Inconsolata;src:url(/fonts/Inconsolata/Inconsolata-Variable.woff2) format("woff2-variations");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/CormorantGaramond/CormorantGaramond-Regular.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:rgba(var(--text-rgb, 25, 25, 25),.7) transparent}::selection{background-color:var(--color-accent);color:var(--color-neutral-100)}::-moz-selection{background-color:var(--color-accent);color:var(--color-neutral-100)}body{font-family:Arial,Helvetica,sans-serif;font-weight:500;line-height:1.4;margin:0;padding:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-display:swap}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;line-height:1.2;margin:0}p{margin:0;line-height:1.6}ul,ol{list-style:none;margin:0;padding:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle;max-width:100%;height:auto}button svg,.btn svg,[type=button] svg,[type=submit] svg{color:inherit}img{border-style:none}table{border-collapse:collapse;border-spacing:0}a{color:inherit;text-decoration:inherit}a:hover{text-decoration:underline}nav a:hover,.sidebar a:hover,.portal-global-header a:hover,.portal-tabs a:hover,.tab-list a:hover,.stat-card a:hover,.btn-primary:hover,.btn-secondary:hover,.btn-sm:hover{text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus{outline:none}:focus-visible{outline:none;box-shadow:0 0 0 var(--focus-ring-width, 2px) var(--focus-ring-color, var(--color-accent))}:focus:not(:focus-visible){outline:none}details{border-radius:var(--border-radius-lg, 12px)}summary{display:flex;align-items:center;gap:var(--icon-gap-md);cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.portal :is(.nav-item,.sidebar-toggle-btn){display:flex;align-items:center;gap:var(--icon-gap-md)}.portal :is(button,a,.btn,.btn-primary,.btn-secondary,.btn-outline):not(.icon-btn):not(.nav-btn)>.btn-icon{width:1em;height:1em;flex-shrink:0}.portal :is(button,a,.btn):hover>svg,.portal :is(button,a,.btn):hover>.btn-icon{color:inherit}.portal svg{color:var(--color-text-primary);align-self:center}.portal button svg,.portal a svg{color:inherit}details:focus-within{outline:2px solid var(--color-accent);outline-offset:-2px}details>summary:focus-visible{outline:none;box-shadow:none}.custom-dropdown{border-radius:var(--border-radius-lg, 12px)}.custom-dropdown.open:not(.table-dropdown):focus-within{outline:2px solid var(--color-accent);outline-offset:-2px}.table-dropdown.open:focus-within{outline:none}.custom-dropdown.open .custom-dropdown-trigger:focus,.custom-dropdown.open .custom-dropdown-trigger:focus-visible{outline:none;box-shadow:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:high){:root{--color-shadow: var(--portal-alpha-black-80, rgba(0, 0, 0, .8))}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}body{font-size:12pt;line-height:1.5}.no-print{display:none!important}}}@layer tokens;@layer tokens;@layer tokens{:root{--color-brand-primary: #dc2626;--color-brand-primary-rgb: 220, 38, 38;--color-brand-secondary: #10b981;--color-brand-accent: #dc2626;--color-gray-50: #fafafa;--color-gray-100: #f5f5f5;--color-gray-200: #e5e5e5;--color-gray-300: #d4d4d4;--color-gray-400: #a3a3a3;--color-gray-500: #737373;--color-gray-600: #525252;--color-gray-700: #404040;--color-gray-800: #262626;--color-gray-900: #171717;--color-gray-950: #0a0a0a;--portal-neutral-0: #000000;--portal-neutral-50: #0a0a0a;--portal-neutral-100: #1a1a1a;--portal-neutral-200: #2a2a2a;--portal-neutral-300: #3a3a3a;--portal-neutral-400: #4a4a4a;--portal-neutral-500: #787878;--portal-neutral-600: #a0a0a0;--portal-neutral-700: #c0c0c0;--portal-neutral-800: #e0e0e0;--portal-neutral-900: #f4f4f4;--color-off-white: #e5e5e5;--color-success-500: #10b981;--color-success-600: #059669;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-info-500: #3b82f6;--color-info-600: #2563eb;--color-bg-primary: var(--color-off-white);--color-bg-secondary: var(--color-gray-100);--color-bg-tertiary: var(--color-gray-200);--color-bg-raised: var(--color-gray-300);--color-bg-elevated: var(--color-gray-400);--color-bg-prominent: var(--color-gray-500);--color-bg-hover: var(--color-gray-100);--color-bg-readonly: var(--color-gray-100);--color-bg-inverse: var(--color-gray-900);--color-bg-overlay: rgba(0, 0, 0, .5);--color-surface-primary: var(--color-off-white);--color-surface-secondary: var(--color-gray-100);--color-surface-tertiary: var(--color-gray-200);--color-surface-elevated: var(--color-off-white);--color-form-input-bg: #333333;--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-700);--color-text-tertiary: var(--color-gray-500);--color-text-disabled: var(--color-gray-400);--color-text-inverse: var(--color-off-white);--color-text-brand: var(--color-brand-primary);--color-nav-text: #333333;--color-border-primary: var(--color-gray-300);--color-border-secondary: var(--color-gray-200);--color-border-tertiary: var(--color-gray-100);--color-border-focus: var(--color-brand-primary);--color-border-error: var(--color-error-500);--color-interactive-primary: var(--color-brand-primary);--color-interactive-primary-hover: #b91c1c;--color-interactive-primary-active: #991b1b;--color-interactive-secondary: var(--color-gray-500);--color-interactive-secondary-hover: var(--color-gray-700);--color-interactive-secondary-active: var(--color-gray-800);--color-state-hover: rgba(0, 0, 0, .05);--color-state-active: rgba(0, 0, 0, .1);--color-state-selected: rgba(0, 0, 0, .08);--color-state-disabled: var(--color-gray-400);--color-accent-10: rgba(var(--color-brand-primary-rgb), .1);--color-hover-bg: var(--color-gray-900);--color-hover-text: var(--color-off-white);--color-hover-icon: var(--color-off-white);--color-hover-border: var(--color-gray-900);--color-shadow-sm: rgba(0, 0, 0, .05);--color-shadow-md: rgba(0, 0, 0, .1);--color-shadow-lg: rgba(0, 0, 0, .15);--color-shadow-xl: rgba(0, 0, 0, .25);--color-shadow-2xl: rgba(0, 0, 0, .3);--color-shadow-3xl: rgba(0, 0, 0, .5);--color-overlay-subtle: rgba(0, 0, 0, .05);--color-overlay-muted: rgba(0, 0, 0, .25);--color-overlay-light: rgba(0, 0, 0, .5);--color-overlay-medium: rgba(0, 0, 0, .7);--color-overlay-heavy: rgba(0, 0, 0, .8);--color-overlay-dark: rgba(0, 0, 0, .85);--color-annotation-red: #ef4444;--color-annotation-yellow: #eab308;--color-annotation-blue: #3b82f6;--color-annotation-green: #22c55e;--color-chart-primary: var(--color-brand-primary);--color-chart-secondary: #22c55e;--color-chart-tertiary: #f59e0b;--color-chart-quaternary: #9ca3af;--color-chart-text: var(--color-gray-700);--color-chart-grid: var(--color-gray-300)}html[data-theme=dark]:not([data-page=admin]):not([data-page=client-portal]){--color-bg-primary: var(--color-gray-900);--color-bg-secondary: var(--color-gray-800);--color-bg-tertiary: var(--color-gray-700);--color-bg-inverse: var(--color-gray-50);--color-surface-primary: var(--color-gray-900);--color-surface-secondary: var(--color-gray-800);--color-surface-tertiary: var(--color-gray-700);--color-surface-elevated: var(--color-gray-800);--color-text-primary: var(--color-gray-50);--color-text-secondary: var(--color-gray-200);--color-text-tertiary: var(--color-gray-400);--color-text-inverse: var(--color-gray-900);--color-nav-text: var(--color-gray-50);--color-form-input-bg: var(--color-gray-800);--color-border-primary: var(--color-text-primary);--color-border-secondary: var(--color-gray-700);--color-border-tertiary: var(--color-gray-800);--color-state-hover: rgba(255, 255, 255, .1);--color-state-active: rgba(255, 255, 255, .15);--color-state-selected: rgba(255, 255, 255, .2);--color-shadow-sm: rgba(0, 0, 0, .3);--color-shadow-md: rgba(0, 0, 0, .5);--color-shadow-lg: rgba(0, 0, 0, .7);--color-shadow-xl: rgba(0, 0, 0, .9)}@media(prefers-contrast:high){:root{--color-text-primary: #000000;--color-text-secondary: #000000;--color-border-primary: #000000;--color-shadow-md: rgba(0, 0, 0, .5)}html[data-theme=dark]{--color-text-primary: #ffffff;--color-text-secondary: #ffffff;--color-border-primary: #ffffff}}:root,html[data-theme=light]{--color-neutral-100: #fffdfc;--color-neutral-200: var(--color-gray-200);--color-neutral-300: #e0e0e0;--color-neutral-400: var(--color-gray-400);--color-neutral-500: var(--color-gray-500);--color-neutral-600: var(--color-gray-600);--color-neutral-700: var(--color-gray-700);--color-neutral-800: var(--color-gray-800);--color-neutral-900: var(--color-gray-900);--color-dark: #333333;--color-light: #ffffff;--color-primary: var(--color-text-primary);--color-accent-rgb: var(--color-brand-primary-rgb);--color-accent-hover: var(--color-brand-accent);--color-secondary: var(--color-brand-secondary);--color-accent: var(--color-brand-accent);--color-border: #000000;--color-border-light: #e0e0e0;--color-shadow: rgba(0, 0, 0, .2);--app-color-primary: var(--color-brand-primary);--app-color-primary-hover: var(--color-interactive-primary-hover);--app-color-success: var(--color-success);--app-color-warning: var(--color-warning);--app-color-danger: var(--color-danger);--app-color-info: var(--color-info);--app-color-purple: var(--color-purple);--app-color-warning-light: var(--color-warning-light);--app-color-danger-dark: var(--color-danger-dark);--color-light-bg: #ffffff;--color-light-text: #171717;--color-light-text-secondary: #525252;--color-light-text-muted: #737373;--color-light-border: #d4d4d4;--color-success: #10b981;--color-success-dark: #047857;--color-success-light: #d1fae5;--color-warning: #fbbf24;--color-warning-dark: #d97706;--color-warning-light: #fef3c7;--color-error: #dc2626;--color-error-dark: #991b1b;--color-error-light: #fee2e2;--color-info: #3b82f6;--color-info-dark: #1d4ed8;--color-info-light: #dbeafe;--color-danger: #dc2626;--color-danger-rgb: 220, 38, 38;--color-danger-dark: #ff4757;--color-danger-bg: #dc2626;--color-danger-hover: #b91c1c;--color-role-technical: #ea580c;--color-purple: #c084fc;--color-pink: #f472b6;--color-cyan: #22d3ee;--status-active: #3b82f6;--status-active-rgb: 59, 130, 246;--status-active-bg: rgba(59, 130, 246, .15);--status-pending: #fbbf24;--status-pending-rgb: 251, 191, 36;--status-pending-bg: rgba(251, 191, 36, .15);--status-completed: #10b981;--status-completed-rgb: 16, 185, 129;--status-completed-bg: rgba(16, 185, 129, .15);--status-cancelled: #ef4444;--status-cancelled-rgb: 239, 68, 68;--status-cancelled-bg: rgba(239, 68, 68, .15);--status-qualified: #8b5cf6;--status-qualified-rgb: 139, 92, 246;--status-qualified-bg: rgba(139, 92, 246, .15);--status-inactive: #6b7280;--status-inactive-rgb: 107, 114, 128;--status-inactive-bg: rgba(107, 114, 128, .15);--status-new: #06b6d4;--status-new-rgb: 6, 182, 212;--status-new-bg: rgba(6, 182, 212, .15);--status-on-hold: #f97316;--status-on-hold-rgb: 249, 115, 22;--status-on-hold-bg: rgba(249, 115, 22, .15);--color-status-new: var(--status-new);--color-status-pending: var(--status-pending);--color-status-read: var(--status-qualified);--color-status-responded: var(--status-completed);--color-status-completed: var(--status-completed);--color-status-archived: var(--status-inactive);--color-status-overdue: var(--status-cancelled);--color-status-pending-bg: #fef3cd;--color-status-pending-text: #92400e;--color-status-pending-border: #f59e0b;--color-status-progress-bg: #dbeafe;--color-status-progress-text: #1e40af;--color-status-progress-border: #3b82f6;--color-status-review-bg: #ede9fe;--color-status-review-text: #6b21a8;--color-status-review-border: #8b5cf6;--color-status-completed-bg: #d1fae5;--color-status-completed-text: #065f46;--color-status-completed-border: #10b981;--color-status-hold-bg: #f3f4f6;--color-status-hold-text: #374151;--color-status-hold-border: #6b7280;--color-status-overdue-bg: #fee2e2;--color-status-overdue-text: #991b1b;--color-status-overdue-border: #dc2626;--color-status-blue: #3b82f6;--color-status-gray: #9ca3af;--color-status-gray-dark: #6b7280;--color-terminal-bg: #000000;--color-terminal-bg-light: #0d0d0d;--color-terminal-bg-panel: #0a0a0a;--color-terminal-bg-input: #050505;--color-terminal-bg-hover: #1a1a1a;--color-terminal-bg-dark: #222222;--color-terminal-border: #2a2a2a;--color-terminal-border-dark: #000000;--color-terminal-green: #7ff709;--color-terminal-green-dark: #5cb800;--color-terminal-blue: #268bd2;--color-terminal-cyan: #88def2;--color-terminal-red: #ff4444;--color-terminal-pink: #ec4891;--color-terminal-text: #e0e8f0;--color-terminal-text-muted: #808080;--color-terminal-text-dim: #606060;--color-terminal-text-dimmer: #404040;--color-terminal-scrollbar: #2a2a2a;--color-terminal-scrollbar-hover: #3a3a3a;--color-mac-close: #ff5f56;--color-mac-close-rgb: 255, 95, 86;--color-mac-minimize: #ffbd2e;--color-mac-maximize: #27ca40;--color-error-rgb: 239, 68, 68;--color-success-rgb: 16, 185, 129;--color-warning-rgb: 245, 158, 11;--color-skeleton-base: #2a2a2a;--color-skeleton-highlight: #3a3a3a;--color-svg-text-left: #333333;--color-svg-text-right: #222222;--color-card-bg: var(--color-off-white);--color-card-bg-gradient-end: #f8f9fa;--color-card-text: #333333;--color-admin-bg-start: #444444;--color-admin-bg-end: #444444;--color-admin-purple: #a855f7;--color-admin-purple-dark: #9333ea;--form-input-border: #333333;--form-input-placeholder: #666666;--form-btn-bg: #333333;--form-btn-fg: var(--color-off-white);--form-btn-shadow: rgba(0, 0, 0, .2)}html[data-theme=dark]:not([data-page=admin]):not([data-page=client-portal]){--color-neutral-300: #333333;--color-neutral-100: #3a3a3a;--color-neutral-200: #3a3a3a;--color-neutral-700: #d0d0d0;--color-neutral-800: #f0f0f0;--color-neutral-900: #f5f5f5;--color-dark: #e0e0e0;--color-light: #1a1a1a;--color-secondary: var(--color-brand-secondary);--color-accent: var(--color-brand-accent);--color-shadow: rgba(0, 0, 0, 1);--form-input-border: #e0e0e0;--form-input-placeholder: #999999;--form-btn-bg: #e0e0e0;--form-btn-fg: #2a2a2a;--form-btn-shadow: rgba(0, 0, 0, .3);--color-svg-text-left: #d5d5d5;--color-svg-text-right: #9a9a9a;--color-card-bg: var(--color-gray-200);--color-card-bg-gradient-end: var(--color-gray-300)}}@layer tokens;@layer tokens{:root{--font--acme: "Acme", sans-serif;--font-family-acme: var(--font--acme);--font-family-sans: "Inconsolata", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;--font-family-serif: "Cormorant Garamond", Georgia, Cambria, "Times New Roman", Times, serif;--font-family-mono: "Inconsolata", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;--font-family-display: "Cormorant Garamond", Georgia, serif;--font-size-base-px: 16;--font-size-2xs: clamp(.625rem, .6rem + .125vw, .6875rem);--font-size-xs: clamp(.75rem, .7rem + .25vw, .875rem);--font-size-sm: clamp(.875rem, .825rem + .25vw, 1rem);--font-size-md: clamp(1rem, .95rem + .25vw, 1.125rem);--font-size-lg: clamp(1.125rem, 1.05rem + .375vw, 1.25rem);--font-size-xl: clamp(1.25rem, 1.125rem + .625vw, 1.5rem);--font-size-2xl: clamp(1.5rem, 1.25rem + 1.25vw, 2rem);--font-size-3xl: clamp(1.875rem, 1.5rem + 1.875vw, 2.5rem);--font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);--font-size-base: var(--font-size-md);--font-weight-light: 300;--font-weight-regular: 400;--font-weight-normal: 400;--font-weight-base: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--letter-spacing-tightest: -.09em;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--letter-spacing-label: var(--letter-spacing-wider);--letter-spacing-title: var(--letter-spacing-wide);--letter-spacing-label-wide: .05em;--letter-spacing-title-wide: .02em;--letter-spacing-extra-wide: .08em}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}}@layer tokens{:root{--space-base: .5rem;--space-0: 0;--space-px: 1px;--space-0-25: calc(var(--space-base) * .25);--space-0-5: calc(var(--space-base) * .5);--space-1: var(--space-base);--space-1-5: calc(var(--space-base) * 1.5);--space-2: calc(var(--space-base) * 2);--space-2-5: calc(var(--space-base) * 2.5);--space-3: calc(var(--space-base) * 3);--space-3-5: calc(var(--space-base) * 3.5);--space-4: calc(var(--space-base) * 4);--space-4-5: calc(var(--space-base) * 4.5);--space-5: calc(var(--space-base) * 5);--space-6: calc(var(--space-base) * 6);--space-7: calc(var(--space-base) * 7);--space-8: calc(var(--space-base) * 8);--space-9: calc(var(--space-base) * 9);--space-10: calc(var(--space-base) * 10);--space-11: calc(var(--space-base) * 11);--space-12: calc(var(--space-base) * 12);--space-14: calc(var(--space-base) * 14);--space-16: calc(var(--space-base) * 16);--space-20: calc(var(--space-base) * 20);--space-24: calc(var(--space-base) * 24);--space-28: calc(var(--space-base) * 28);--space-32: calc(var(--space-base) * 32);--space-fluid-xs: clamp(.25rem, 1vw, .5rem);--space-fluid-sm: clamp(.5rem, 2vw, 1rem);--space-fluid-md: clamp(1rem, 3vw, 1.5rem);--space-fluid-lg: clamp(1.5rem, 4vw, 2rem);--space-fluid-xl: clamp(2rem, 5vw, 3rem);--space-fluid-2xl: clamp(3rem, 6vw, 4rem);--icon-gap-xs: 8px;--icon-gap-sm: 10px;--icon-gap-md: 12px;--icon-gap-lg: 16px;--icon-gap-xl: 20px;--icon-gap: clamp(8px, .75vw, 10px);--portal-section-gap: var(--space-3);--portal-section-heading-padding: var(--space-1-5) var(--space-2);--dashboard-section-gap: var(--space-6);--dashboard-grid-gap: var(--space-3);--dashboard-card-gap: var(--space-2);--dashboard-panel-gap: var(--space-3-5)}}@layer tokens{:root{--shadow-xs: 0 1px 2px 0 var(--color-shadow-sm);--shadow-sm: 0 1px 3px 0 var(--color-shadow-sm), 0 1px 2px -1px var(--color-shadow-sm);--shadow-md: 0 4px 6px -1px var(--color-shadow-md), 0 2px 4px -2px var(--color-shadow-sm);--shadow-lg: 0 10px 15px -3px var(--color-shadow-md), 0 4px 6px -4px var(--color-shadow-sm);--shadow-xl: 0 20px 25px -5px var(--color-shadow-lg), 0 8px 10px -6px var(--color-shadow-sm);--shadow-2xl: 0 25px 50px -12px var(--color-shadow-xl);--shadow-inner: inset 0 2px 4px 0 var(--color-shadow-md);--shadow-none: 0 0 #0000;--shadow-brand-sm: 0 1px 3px 0 rgba(var(--color-brand-primary-rgb), .1), 0 1px 2px -1px rgba(var(--color-brand-primary-rgb), .1);--shadow-brand-md: 0 4px 6px -1px rgba(var(--color-brand-primary-rgb), .1), 0 2px 4px -2px rgba(var(--color-brand-primary-rgb), .1);--shadow-brand-lg: 0 10px 15px -3px rgba(var(--color-brand-primary-rgb), .1), 0 4px 6px -4px rgba(var(--color-brand-primary-rgb), .06);--shadow-error: 0 1px 3px 0 rgba(239, 68, 68, .1), 0 1px 2px -1px rgba(239, 68, 68, .1);--shadow-success: 0 1px 3px 0 rgba(16, 185, 129, .1), 0 1px 2px -1px rgba(16, 185, 129, .1);--shadow-warning: 0 1px 3px 0 rgba(245, 158, 11, .1), 0 1px 2px -1px rgba(245, 158, 11, .1);--shadow-card-rest: var(--shadow-sm);--shadow-card-hover: var(--shadow-md);--shadow-card-active: var(--shadow-xs);--shadow-button-rest: var(--shadow-sm);--shadow-button-hover: var(--shadow-md);--shadow-button-active: var(--shadow-inner);--shadow-button-focus: 0 0 0 3px rgba(var(--color-brand-primary-rgb), .2);--shadow-modal: var(--shadow-2xl);--shadow-dropdown: 4px 0 12px rgba(0, 0, 0, .3), -4px 0 12px rgba(0, 0, 0, .3), 0 -4px 12px rgba(0, 0, 0, .3);--shadow-tooltip: var(--shadow-md);--shadow-nav: var(--shadow-sm);--shadow-nav-mobile: var(--shadow-lg);--shadow-input-rest: var(--shadow-inner);--shadow-input-focus: 0 0 0 3px rgba(var(--color-brand-primary-rgb), .1), var(--shadow-inner);--shadow-input-error: 0 0 0 3px rgba(239, 68, 68, .1), var(--shadow-inner)}:root{--shadow-card: 1px 0 2px rgba(0, 0, 0, .2), 2px 0 6px rgba(0, 0, 0, .15), 0 1px 2px rgba(0, 0, 0, .2), 0 2px 6px rgba(0, 0, 0, .15);--shadow-content: 2px 2px 8px rgba(0, 0, 0, .4), 4px 4px 16px rgba(0, 0, 0, .3);--shadow-sidebar: 2px 0 4px rgba(0, 0, 0, .4), 4px 0 12px rgba(0, 0, 0, .3);--shadow-panel: 2px 0 4px rgba(0, 0, 0, .4), 4px 0 12px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .3), -1px 0 1px rgba(0, 0, 0, .3), 0 -1px 1px rgba(0, 0, 0, .3);--shadow-inset: inset 2px 2px 6px rgba(0, 0, 0, .5), inset -1px -1px 3px rgba(0, 0, 0, .3);--shadow-inset-light: inset 2px 2px 6px rgba(0, 0, 0, .3), inset -1px -1px 3px rgba(0, 0, 0, .15);--shadow-spread: 4px 0 12px rgba(0, 0, 0, .3), -4px 0 12px rgba(0, 0, 0, .3), 0 4px 12px rgba(0, 0, 0, .3);--shadow-elevated-sm: 0 4px 12px rgba(0, 0, 0, .15);--shadow-elevated-md: 0 8px 32px rgba(0, 0, 0, .1);--shadow-elevated-lg: 0 8px 32px rgba(0, 0, 0, .3);--shadow-elevated-xl: 0 12px 40px rgba(0, 0, 0, .15);--shadow-elevated-dark: 0 8px 32px rgba(0, 0, 0, .75);--shadow-dropdown-xl: 0 20px 60px rgba(0, 0, 0, .5);--shadow-terminal: 4px 4px 10px rgba(0, 0, 0, .3), 0 8px 32px rgba(0, 0, 0, .4);--shadow-button: 6px 6px 12px rgba(0, 0, 0, .2), 12px 12px 24px rgba(0, 0, 0, .15);--shadow-button-dark: 6px 6px 12px rgba(0, 0, 0, .5), 12px 12px 24px rgba(0, 0, 0, .4);--shadow-button-pressed: 8px 8px 16px rgba(0, 0, 0, .55), 16px 16px 32px rgba(0, 0, 0, .45)}@media(prefers-reduced-motion:reduce){*{transition:box-shadow .01ms!important}}@media(prefers-contrast:high){:root{--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3)}}}@layer tokens{:root{--border-width-0: 0;--border-width-px: 1px;--border-width-2: 2px;--border-width-4: 4px;--border-width-8: 8px;--border-width: 2px;--border-width-thick: 3px;--border-width-heavy: 4px;--svg-stroke-width: 2.5;--border-radius-none: 0;--border-radius-xs: 0;--border-radius-sm: 0;--border-radius-md: 0;--border-radius-lg: 0;--border-radius-xl: 0;--border-radius-2xl: 0;--border-radius-3xl: 0;--border-radius-full: 9999px;--border-radius-button: 0;--border-radius-input: 0;--border-radius-card: 0;--border-radius-modal: 0;--border-radius-badge: 0;--border-radius-avatar: var(--border-radius-full);--border-style-solid: solid;--border-style-dashed: dashed;--border-style-dotted: dotted;--border-style-none: none}}@layer tokens{:root{--duration-faster: .15s;--duration-fast: .2s;--duration-medium: .3s;--duration-slow: .4s;--duration-slower: .5s;--transition-faster: .15s ease;--transition-fast: .2s ease;--transition-medium: .3s ease;--transition-slow: .4s ease;--transition-slower: .5s ease;--cubic-default: cubic-bezier(.4, 0, .2, 1);--cubic-menu: cubic-bezier(.65, .05, 0, 1);--blur-amount: 4px;--drop-distance: 20px;--transition-enter: .3s;--transition-exit: .2s;--stagger-delay: .05s;--page-transition-duration: var(--transition-length);--page-blur-amount: 12px;--transition-theme: .4s;--transition-mouse: .2s;--transition-normal: .3s;--transition-length: .5s;--transition-long: .8s;--easing-linear: linear;--easing-ease: ease;--easing-ease-in: ease-in;--easing-ease-out: ease-out;--easing-ease-in-out: ease-in-out;--easing-smooth: cubic-bezier(.4, 0, .2, 1);--easing-sharp: cubic-bezier(.4, 0, .6, 1);--easing-emphasized: cubic-bezier(.2, 0, 0, 1);--easing-decelerated: cubic-bezier(0, 0, .2, 1);--easing-accelerated: cubic-bezier(.4, 0, 1, 1);--easing-standard: cubic-bezier(.2, 0, 0, 1);--easing-bounce: cubic-bezier(.68, -.55, .265, 1.55);--easing-elastic: cubic-bezier(.175, .885, .32, 1.275);--easing-spring: cubic-bezier(.25, .1, .25, 3.5);--easing-smooth-sal: cubic-bezier(.3, .9, .3, .9);--easing-default: var(--easing-smooth-sal);--animation-button-hover: var(--duration-fast) var(--easing-smooth);--animation-button-press: var(--duration-fast) var(--easing-sharp);--animation-card-hover: var(--duration-normal) var(--easing-smooth);--animation-card-enter: var(--duration-slow) var(--easing-decelerated);--animation-card-exit: var(--duration-normal) var(--easing-accelerated);--animation-modal-enter: var(--duration-slow) var(--easing-decelerated);--animation-modal-exit: var(--duration-normal) var(--easing-accelerated);--animation-modal-backdrop: var(--duration-normal) var(--easing-smooth);--animation-nav-slide: var(--duration-slow) var(--easing-emphasized);--animation-nav-fade: var(--duration-normal) var(--easing-smooth);--animation-input-focus: var(--duration-fast) var(--easing-smooth);--animation-input-error: var(--duration-normal) var(--easing-bounce);--animation-spinner: 1s var(--easing-linear) infinite;--animation-pulse: 2s var(--easing-smooth) infinite alternate;--animation-fade-in: var(--duration-slow) var(--easing-decelerated);--animation-fade-out: var(--duration-normal) var(--easing-accelerated);--animation-card-flip: .8s var(--easing-smooth);--animation-card-scale: var(--duration-normal) var(--easing-bounce)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer tokens{:root{--breakpoint-xs: 475px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--bp-xs: 320px;--bp-sm: 576px;--bp-md: 768px;--bp-lg: 992px;--bp-xl: 1200px;--bp-2xl: 1400px;--container-xs: 100%;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--max-width-xs: 20rem;--max-width-sm: 24rem;--max-width-md: 28rem;--max-width-lg: 32rem;--max-width-xl: 36rem;--max-width-2xl: 42rem;--max-width-3xl: 48rem;--max-width-4xl: 56rem;--max-width-5xl: 64rem;--max-width-6xl: 72rem;--max-width-7xl: 80rem;--max-width-full: 100%;--max-width-screen: 100vw;--max-width-prose: 65ch;--max-width-screen-xs: var(--breakpoint-xs);--max-width-screen-sm: var(--breakpoint-sm);--max-width-screen-md: var(--breakpoint-md);--max-width-screen-lg: var(--breakpoint-lg);--max-width-screen-xl: var(--breakpoint-xl);--max-width-screen-2xl: var(--breakpoint-2xl)}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media(min-width:475px){.container{max-width:var(--container-xs)}}@media(min-width:640px){.container{max-width:var(--container-sm);padding-left:var(--space-6);padding-right:var(--space-6)}}@media(min-width:768px){.container{max-width:var(--container-md);padding-left:var(--space-8);padding-right:var(--space-8)}}@media(min-width:1024px){.container{max-width:var(--container-lg);padding-left:var(--space-12);padding-right:var(--space-12)}}@media(min-width:1280px){.container{max-width:var(--container-xl);padding-left:var(--space-16);padding-right:var(--space-16)}}@media(min-width:1536px){.container{max-width:var(--container-2xl);padding-left:var(--space-20);padding-right:var(--space-20)}}}@layer tokens{:root{--z-index-0: 0;--z-index-1: 1;--z-index-10: 10;--z-index-20: 20;--z-index-30: 30;--z-index-40: 40;--z-index-50: 50;--z-index-dropdown: 100;--z-index-sticky: 200;--z-index-fixed: 300;--z-index-modal-backdrop: 400;--z-index-modal: 500;--z-index-popover: 600;--z-index-tooltip: 700;--z-index-toast: 800;--z-index-overlay: 900;--z-index-max: 999;--z-index-behind: -1;--z-index-base: 0;--z-index-content: 1;--z-index-elevated: 10;--z-header: var(--z-index-elevated);--z-nav: var(--z-index-nav);--z-modal: var(--z-index-portal-modal);--z-index-nav-backdrop: 90;--z-index-nav: 100;--z-index-nav-dropdown: 110;--z-index-nav-overlay: 115;--z-index-nav-menu: 120;--z-index-nav-menu-content: 125;--z-index-nav-header: 130;--z-index-business-card: 50;--z-index-business-card-overlay: 400;--z-index-business-card-modal: 500;--z-index-loading: 999;--z-index-intro: 998;--z-index-portal-base: 9000;--z-index-portal-header: 9100;--z-index-portal-sidebar: 9200;--z-index-portal-overlay: 9500;--z-index-portal-modal: 9600;--z-index-portal-dropdown: 9700;--z-index-portal-toast: 9800;--z-index-portal-confirm: 9900;--z-index-debug: 10000}.stacking-context{position:relative;z-index:0}.nav-container{position:relative;z-index:var(--z-index-nav)}.modal-container{position:fixed;inset:0;z-index:var(--z-index-modal)}.modal-backdrop{position:absolute;inset:0;z-index:var(--z-index-modal-backdrop)}.modal-content{position:relative;z-index:var(--z-index-modal)}.business-card-container{position:relative;z-index:var(--z-index-business-card)}.business-card-overlay{position:fixed;inset:0;z-index:var(--z-index-business-card-overlay)}.business-card-modal{position:relative;z-index:var(--z-index-business-card-modal)}.loading-overlay{position:fixed;inset:0;z-index:var(--z-index-loading)}.intro-overlay{position:fixed;inset:0;z-index:var(--z-index-intro)}.debug-panel{position:fixed;z-index:var(--z-index-debug)}}@layer tokens{[data-page=admin],[data-page=client-portal]{--portal-btn-padding-y: var(--space-2);--portal-btn-padding-x: var(--space-4);--portal-btn-padding: var(--portal-btn-padding-y) var(--portal-btn-padding-x);--portal-btn-min-height: var(--space-5);--portal-btn-font-family: "Inconsolata", ui-monospace, monospace;--portal-btn-font-size: .875rem;--portal-btn-font-weight: 500;--portal-btn-letter-spacing: -.02em;--portal-btn-text-transform: uppercase;--portal-btn-border-width: 2px;--portal-btn-border-bottom-width: 6px;--portal-btn-border-radius: 0;--portal-btn-border-color: var(--color-text-primary);--portal-btn-bg: inherit;--portal-btn-color: var(--color-text-primary);--portal-btn-border: var(--color-text-primary);--portal-btn-hover-bg: var(--color-text-primary);--portal-btn-hover-color: var(--color-bg-primary);--portal-btn-hover-border: var(--color-text-primary);--portal-btn-danger-bg: transparent;--portal-btn-danger-color: var(--color-error-500);--portal-btn-danger-border: var(--color-error-500);--portal-btn-danger-hover-bg: var(--color-error-500);--portal-btn-danger-hover-color: var(--color-text-primary);--portal-btn-danger-hover-border: var(--color-error-500);--portal-btn-transition: all var(--transition-fast);--portal-btn-shadow: none;--portal-btn-shadow-hover: none;--portal-btn-shadow-focus: none;--portal-btn-sm-padding-y: var(--space-1);--portal-btn-sm-padding-x: var(--space-2);--portal-btn-sm-font-size: .8rem;--portal-btn-sm-min-height: var(--space-4);--portal-btn-icon-size: calc(var(--space-4) + var(--space-0-5));--portal-btn-icon-size-sm: var(--space-4);--portal-btn-icon-size-xs: calc(var(--space-3) + var(--space-0-5));--portal-btn-icon-radius: 0;--portal-btn-icon-inner-size: var(--icon-size-lg);--portal-btn-icon-inner-size-sm: var(--icon-size-md)}html[data-theme=light] body[data-page=client-portal],html[data-theme=light] body[data-page=admin],html[data-theme=light] [data-page=client-portal],html[data-theme=light] [data-page=admin]{--portal-btn-border-color: var(--color-gray-900);--portal-btn-bg: inherit;--portal-btn-color: var(--color-gray-900);--portal-btn-border: var(--color-gray-900);--portal-btn-hover-bg: var(--color-gray-900);--portal-btn-hover-color: var(--color-off-white);--portal-btn-hover-border: var(--color-gray-900);--portal-btn-danger-bg: transparent}}@layer tokens{:root{--header-height: 60px;--footer-height: 40px;--size-container: min(1200px, 100vw - 2rem);--container-padding: clamp(1rem, 4vw, 2rem);--gap: clamp(.75rem, 3vw, 1.5rem);--section-padding: clamp(1rem, 5vw, 2rem);--modal-width-sm: 400px;--modal-width-md: 560px;--modal-width-lg: 860px;--icon-size-xs: 12px;--icon-size-sm: 14px;--icon-size-md: 16px;--icon-size-lg: 20px;--icon-size-xl: 24px;--icon-size-2xl: 32px;--icon-text-size: var(--font-size-sm);--portal-nav-font-size: 1.25rem;--sidebar-icon-size: 20px;--btn-portal-icon-size: 32px;--btn-portal-icon-size-sm: 28px;--btn-portal-icon-size-xs: 24px;--btn-table-icon-size: 24px;--btn-portal-icon-inner-size: 14px;--dropdown-caret-size: var(--icon-size-xs);--dropdown-caret-gap: var(--space-2);--dropdown-font-size: inherit;--dropdown-font-weight: inherit;--dropdown-font-family: inherit;--dropdown-letter-spacing: inherit;--dropdown-text-transform: none;--status-dot-size: 8px;--status-dot-gap: var(--space-2);--menu-padding: clamp(.5rem, 2vw, 1rem);--nav-base-gap: clamp(.5rem, 1.5vw, .8rem);--menu-multiplier: .15;--list-multiplier: .12;--menu-heading-size: clamp(2.5rem, 6vw, 4rem);--menu-button-size: clamp(2rem, 4vw, 2.5rem);--theme-button-size: clamp(2rem, 4vw, 2.5rem);--menu-width-desktop: 35rem;--menu-width-tablet: 32rem;--menu-width-mobile: 100vw;--menu-border-radius: 1.25rem;--menu-height: 100vh;--menu-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--menu-multiplier)));--list-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--list-multiplier)));--business-card-width-svg: 1069.5;--business-card-height-svg: 599.3;--business-card-aspect-ratio: 1.784582;--business-card-base-width: 35vw;--business-card-base-height: calc(var(--business-card-base-width) / var(--business-card-aspect-ratio));--business-card-large-width: 525px;--business-card-large-height: calc(var(--business-card-large-width) / var(--business-card-aspect-ratio));--business-card-medium-width: 420px;--business-card-medium-height: calc(var(--business-card-medium-width) / var(--business-card-aspect-ratio));--business-card-small-width: 350px;--business-card-small-height: calc(var(--business-card-small-width) / var(--business-card-aspect-ratio));--business-card-tiny-width: 280px;--business-card-tiny-height: calc(var(--business-card-tiny-width) / var(--business-card-aspect-ratio));--contact-input-height: clamp(52px, 14vw, 60px);--contact-input-width: min(520px, 100%);--contact-textarea-height: 175px;--contact-textarea-width: min(520px, 100%);--contact-field-gap: 0;--contact-row-gap: 0;--contact-layout-height: 480px;--contact-field-border-width: var(--border-width);--contact-field-border-color: var(--color-text-primary);--terminal-font-family: "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;--terminal-line-height: 1.7;--sidebar-width-open: 240px;--sidebar-width-min: 200px;--sidebar-width-collapsed: 56px;--sidebar-width-default: 280px;--aside-width-narrow: 240px;--aside-width-medium: 280px;--aside-width-wide: 320px;--icon-btn-size-sm: 28px;--icon-btn-size-md: 36px;--icon-btn-size-lg: 40px;--icon-btn-size-xl: 48px;--icon-size-3xl: 64px;--tooltip-max-width: 280px;--tooltip-max-width-sm: 250px;--panel-min-height-sm: 72px;--card-min-height-sm: 120px;--chart-height-md: 200px;--form-container-max-width: 420px;--logo-width-sidebar: 120px;--divider-thin: 1px;--divider-size: 2px;--scrollbar-width: 4px;--tooltip-arrow-size: 6px;--indicator-dot-md: 10px;--indicator-dot-sm: 6px;--input-width-search-table: 180px;--progress-bar-height: 16px}}@layer tokens{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.focus-visible:focus{outline:2px solid var(--color-border-focus);outline-offset:2px}.js-focus-visible :focus:not(.focus-visible){outline:none}.hover\:scale-105:hover{transform:scale(var(--scale-105))}.hover\:shadow-lg:hover{box-shadow:var(--shadow-lg)}.hover\:bg-opacity-90:hover{background-color:rgba(var(--color-bg-primary-rgb),.9)}.focus\:outline-none:focus{outline:none}.focus\:ring:focus{outline:2px solid transparent;box-shadow:0 0 0 2px var(--color-border-focus)}.active\:scale-95:active{transform:scale(var(--scale-95))}.disabled,[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.focus-within\:ring:focus-within{box-shadow:0 0 0 2px var(--color-border-focus)}@media(prefers-contrast:high){.card,.btn,.input{border-width:2px}}@media(prefers-reduced-motion:reduce){.card,.btn,.input,.hover\:scale-105:hover,.active\:scale-95:active{transition:none;transform:none;animation:none}}}@layer tokens{:root{--font-size-2xs: .625rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem}:root{--letter-spacing-label: .05em;--letter-spacing-title: .02em;--letter-spacing-wide: .08em}:root{--color-shadow: rgba(0, 0, 0, .5)}*{box-sizing:border-box}html{scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{font-family:var(--font-family-body, Arial, Helvetica, sans-serif);font-size:var(--font-size-base);line-height:1.6;margin:0;padding:0;background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:background-color .2s ease,color .2s ease}body:is([data-page=admin],[data-page=client-portal]){font-family:var(--font-family-mono, "Inconsolata", monospace)}.header,main,section,.footer{transition:background-color .2s ease,color .2s ease}.container{width:100%;max-width:var(--size-container);margin:0 auto;padding:0 var(--container-padding)}.grid{display:grid;gap:var(--gap)}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:767px){.grid-cols-2,.grid-cols-3,.grid-cols-4,.md\:grid-cols-2,.md\:grid-cols-3,.md\:grid-cols-4{grid-template-columns:1fr}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media(min-width:992px){.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}.p-sm{padding:var(--space-fluid-sm)}.p-md{padding:var(--space-fluid-md)}.p-lg{padding:var(--space-fluid-lg)}.p-xl{padding:var(--space-fluid-xl)}@media(max-width:767px){.md\:hidden{display:none}.sm\:block{display:block}}@media(min-width:768px){.md\:block{display:block}.sm\:hidden{display:none}}img{max-width:100%;height:auto;display:block}}@layer base{h1,h2,h3,h4,h5,h6{font-family:var(--font-family-acme);line-height:1.2;text-transform:uppercase;text-shadow:0 2px 4px var(--color-shadow);margin:0;color:var(--color-dark)}h1,.h1{font-size:clamp(2rem,5vw,4rem)}h2,.h2{font-size:clamp(1.5rem,4vw,3rem);letter-spacing:.1em}h3,.h3{font-size:clamp(1.25rem,3vw,2rem)}h4,.h4{font-size:clamp(1.125rem,2.5vw,1.5rem)}h5,.h5{font-size:clamp(1rem,2vw,1.25rem)}h6,.h6{font-size:clamp(.875rem,1.5vw,1rem)}p{line-height:1.6;margin:0}hr{border:none;height:4px;border-radius:var(--border-radius-xs, 2px) 0 var(--border-radius-sm, 4px) var(--border-radius-xs, 2px);background-color:var(--color-dark);margin:0 0 1.5rem;width:100%}section h2{text-align:left;width:100%;margin:0;margin-bottom:.5rem;padding:0}section h2+hr{margin-top:0;margin-left:0;margin-right:auto;margin-bottom:1rem}.text-xs{font-size:clamp(.75rem,1.5vw,.875rem)}.text-sm{font-size:clamp(.875rem,2vw,1rem)}.text-base{font-size:clamp(1rem,2.5vw,1.125rem)}.text-lg{font-size:clamp(1.125rem,3vw,1.25rem)}.text-xl{font-size:clamp(1.25rem,3.5vw,1.5rem)}.text-2xl{font-size:clamp(1.5rem,4vw,2rem)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.p-small{font-size:clamp(.75rem,1.5vw,.875rem);text-shadow:0 1px 2px var(--color-shadow)}.p-large{font-size:clamp(1rem,2.5vw,1.25rem);font-weight:600}p a{font-weight:600;text-decoration:none;position:relative;color:var(--color-primary, currentColor);padding:0 2px;white-space:nowrap}p a:before{content:"";position:absolute;width:100%;height:33%;border-radius:var(--border-radius-xs, 2px);background-color:currentColor;opacity:.3;bottom:10%;left:0;transform-origin:right;transform:scaleX(0);transition:transform var(--transition-length, .5s) cubic-bezier(.3,.9,.3,.9)}p a:hover:before,p a:focus:before{transform-origin:left;transform:scaleX(1)}.text-link{text-decoration:none;position:relative;color:inherit;padding:0 2px;white-space:nowrap;transition:color var(--transition-mouse, .2s) cubic-bezier(.3,.9,.3,.9)}.text-link:before{content:"";position:absolute;width:100%;height:33%;border-radius:var(--border-radius-xs, 2px);background-color:currentColor;opacity:.3;bottom:10%;left:0;transform-origin:right;transform:scaleX(0);transition:transform var(--transition-length, .5s) cubic-bezier(.3,.9,.3,.9)}.text-link:hover:before,.text-link:focus:before{transform-origin:left;transform:scaleX(1)}.a-wrapper{overflow:hidden;display:flex;align-items:center;position:relative}@media(hover:hover){.text-link:hover{text-decoration:underline}}@media(max-width:767px){h1,.h1{font-size:clamp(1.5rem,6vw,2.5rem)}h2,.h2{font-size:clamp(1.25rem,5vw,2rem)}h3,.h3{font-size:clamp(1.125rem,4vw,1.5rem)}.text-base{font-size:clamp(.8rem,2.5vw,1rem)}}@media(max-width:479px){h1,.h1{font-size:clamp(1.25rem,7vw,2rem)}h2,.h2{font-size:clamp(1.125rem,6vw,1.75rem)}.text-base{font-size:clamp(.75rem,3vw,.9rem)}}}@layer base{@media(max-width:1023px){:root{--header-height: 50px}}@media(max-width:767px){:root{--header-height: 45px}}.header{height:var(--header-height);position:fixed;top:0;left:0;right:0;z-index:var(--z-index-fixed, 300);opacity:1;visibility:visible}main{position:fixed;top:var(--header-height);bottom:var(--footer-height);left:0;right:0;width:100vw;height:calc(100vh - var(--header-height) - var(--footer-height));padding:0;margin:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.business-card-section,.about-section,.hero-section,main>section:not(.contact-section):not(.tech-stack-section){display:flex;flex-direction:column;justify-content:center;align-items:center;padding:clamp(1rem,4vw,2rem);box-sizing:border-box;flex:1 0 100%;width:100%;position:relative;overflow:hidden}.contact-section{padding:clamp(1rem,4vw,2rem);box-sizing:border-box;flex:1 0 100%;width:100%;position:relative}body:not([data-page=admin]):not([data-page=client-portal]) section{flex:1 0 100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem;position:relative;box-sizing:border-box;overflow:hidden;min-height:0}section.contact-section.page-active,section.about-section.page-active{display:grid}@media(min-width:768px){.business-card-section{order:1}.hero-section{order:2}.about-section{order:3}.contact-section{order:4}}.container,.section-content{max-width:min(1000px,90vw);width:100%;margin:0 auto;padding:1rem;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem}.section-content{max-width:min(1000px,90vw);width:100%;height:100%;margin:0 auto;padding:1rem;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;gap:1rem;transform-origin:center center;font-size:clamp(.875rem,2vw,1.125rem)}.grid{display:grid;gap:var(--gap)}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}@media(max-width:767px){.md\:hidden{display:none}.sm\:block{display:block}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}@media(min-width:768px){.md\:block{display:block}.sm\:hidden{display:none}}body{font-family:Arial,Helvetica,sans-serif;line-height:1.4}main{position:fixed;top:var(--header-height);bottom:var(--footer-height);left:0;right:0;overflow-y:auto}@keyframes intro-fallback-show{0%,90%{background:transparent}to{background:var(--color-neutral-300)}}main{opacity:1;visibility:visible}@media(min-width:768px){.intro-loading main{opacity:0;visibility:hidden}.intro-complete main,.intro-finished main{opacity:1;visibility:visible}}.intro-loading .header,.intro-complete .header,.intro-complete.intro-finished .header,.paw-exit .header{opacity:1;visibility:visible}.intro-complete .header{transition:opacity var(--transition-slow) ease-in-out}.intro-complete.intro-finished .header{transition:opacity 0s,visibility 0s}.paw-exit .header{transition:none}@media(max-width:767px){.header,.intro-loading .header,.intro-complete .header,.intro-complete.intro-finished .header,.intro-loading .business-card-section,.intro-loading .business-card-container,.intro-loading .business-card,.intro-loading .business-card-inner,.intro-loading .business-card-front,.intro-loading .business-card-back{opacity:1;visibility:visible}.intro-loading main{opacity:1;visibility:visible}}@media(max-width:1023px){main{top:var(--header-height);height:calc(100vh - var(--header-height) - var(--footer-height))}body:not([data-page=admin]):not([data-page=client-portal]) section{padding:1.5rem}.section-content{max-width:min(900px,92vw);padding:.75rem}}@media(max-width:767px){.section-content{max-width:95vw;padding:.5rem;font-size:clamp(.8rem,2.5vw,1rem)}.container{max-width:95vw}}@media(max-width:479px){body:not([data-page=admin]):not([data-page=client-portal]) section{padding:.75rem}.section-content{max-width:98vw;padding:.25rem}.container{max-width:98vw}}.text-animation-svg{width:100%;max-width:1280px;height:auto;font-family:var(--font-family-acme),"Acme",sans-serif;font-weight:700;display:block;margin:auto}.text-animation-svg .text-left{fill:var(--color-svg-text-left)}.text-animation-svg .text-right{fill:var(--color-svg-text-right)}@media(max-width:767px){.text-animation-svg{max-width:100%;padding:0;transform:scale(1.5);transform-origin:center center}.text-animation-svg text{font-size:180px}}}.flex{display:flex}.grid{display:grid}.hidden{display:none}.block{display:block}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.grow{flex-grow:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0{gap:0}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.m-0{margin:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-0{margin-bottom:0}.mb-4{margin-bottom:var(--space-4)}.mt-lg{margin-top:var(--spacing-lg)}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.min-w-0{min-width:0}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-primary{color:var(--color-text-primary, var(--color-text-primary))}.text-secondary{color:var(--color-text-secondary, var(--color-text-secondary))}.text-muted{color:var(--color-text-tertiary, var(--color-text-tertiary))}.text-light{color:var(--color-text-primary, var(--color-text-inverse))}.text-dark{color:var(--color-text-inverse, var(--color-text-primary))}.text-accent{color:var(--portal-accent, var(--color-brand-primary))}.text-brand{color:var(--color-brand-primary)}.text-status-success{color:var(--status-completed)}.text-status-danger{color:var(--status-cancelled)}.text-status-warning{color:var(--status-warning, var(--color-warning))}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.bg-transparent{background:transparent}.bg-darkest{background:var(--color-bg-primary, var(--color-bg-primary))}.bg-darker{background:var(--color-bg-secondary, var(--color-bg-secondary))}.bg-dark{background:var(--color-bg-tertiary, var(--color-bg-tertiary))}.bg-medium{background:var(--color-bg-raised, var(--color-surface-tertiary))}.bg-hover{background:var(--color-bg-hover, var(--color-state-hover))}.border{border:var(--border-width) solid var(--portal-border, var(--color-border-primary))}.border-t{border-top:var(--border-width) solid var(--portal-border, var(--color-border-primary))}.border-b{border-bottom:var(--border-width) solid var(--portal-border, var(--color-border-primary))}.overflow-auto{overflow:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.pre-wrap-scroll{white-space:pre-wrap;max-height:var(--chart-height-md);overflow:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.opacity-50{opacity:.5}html[data-wireframe=true]{filter:grayscale(100%)}html[data-wireframe=true] *:focus-visible{outline-color:var(--color-gray-700)}@layer components{.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer components{input[name=bot-field]{display:none!important}input[type=radio]{opacity:0!important;position:absolute!important;z-index:var(--z-index-behind)!important}.form-container .form-input,.form-container .form-textarea,.form-container .form-select,.form-container input[type=text],.form-container input[type=email],.form-container input[type=password],.form-container input[type=tel],.login-form input[type=text],.login-form input[type=email],.login-form input[type=password],.login-form input[type=tel],.form-container textarea,.login-form textarea,.form-container select,.login-form select{width:100%;padding:clamp(6px,1.5vw,12px) clamp(8px,2vw,14px);border:var(--border-width) solid var(--form-input-border, var(--color-border-primary));border-radius:clamp(6px,1.5vw,12px);font-size:clamp(.75rem,2vw,1rem);background-color:var(--color-bg-inverse);color:var(--color-text-primary, var(--color-text-primary));font-family:inherit;box-sizing:border-box;transition:all var(--transition-fast);min-height:clamp(32px,8vw,44px);height:auto}.form-container .form-input::-moz-placeholder,.form-container .form-textarea::-moz-placeholder,.form-container input::-moz-placeholder,.login-form input::-moz-placeholder,.form-container textarea::-moz-placeholder,.login-form textarea::-moz-placeholder{font-weight:var(--font-weight-regular);color:var(--color-text-tertiary, var(--color-text-tertiary));opacity:1}.form-container .form-input::placeholder,.form-container .form-textarea::placeholder,.form-container input::placeholder,.login-form input::placeholder,.form-container textarea::placeholder,.login-form textarea::placeholder{font-weight:var(--font-weight-regular);color:var(--color-text-tertiary, var(--color-text-tertiary));opacity:1}.form-container textarea,.login-form textarea{height:auto;min-height:clamp(60px,15vw,100px);resize:vertical}.form-container .form-select,.form-container select,.login-form .form-select,.login-form select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.5rem;background-image:var(--select-caret-light);background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;cursor:pointer}[data-theme=dark] .form-container .form-select,[data-theme=dark] .form-container select,[data-theme=dark] .login-form .form-select,[data-theme=dark] .login-form select{background-image:var(--select-caret)}.form-container .form-select::-ms-expand,.form-container select::-ms-expand,.login-form .form-select::-ms-expand,.login-form select::-ms-expand{display:none}.form-container .form-input:focus,.form-container .form-textarea:focus,.form-container .form-select:focus,.form-container input:not([type=submit]):focus,.login-form input:not([type=submit]):focus,.form-container textarea:focus,.login-form textarea:focus,.form-container select:focus,.login-form select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.25)}.login-form{background:var(--color-neutral-300);padding:clamp(8px,2.5vw,20px);border:var(--border-width-heavy) solid var(--color-border);box-shadow:0 4px 8px var(--color-shadow);max-width:min(600px,95vw);width:100%;margin:0 auto;box-sizing:border-box;display:flex;flex-direction:column;gap:clamp(8px,2vw,16px)}.form-container .form-field,.form-container .form-row,.login-form .form-field,.login-form .form-row{margin:0;display:flex;flex-direction:column;gap:clamp(4px,1vw,8px)}.form-container .form-field label,.form-container label,.login-form .form-field label,.login-form label{display:block;margin-bottom:0;font-weight:var(--font-weight-semibold);color:var(--color-dark);font-size:clamp(.875rem,2.5vw,1rem)}@media(max-width:767px){.form-container,.login-form{max-width:95vw;padding:clamp(6px,2vw,16px);gap:clamp(6px,1.5vw,12px)}.form-container .form-input,.form-container .form-textarea,.form-container .form-select,.form-container input,.login-form input,.form-container textarea,.login-form textarea,.form-container select,.login-form select{font-size:clamp(.7rem,2.5vw,.9rem);min-height:clamp(28px,7vw,40px);height:auto}.form-container textarea,.login-form textarea{min-height:clamp(50px,12vw,80px)}}@media(max-width:479px){.form-container,.login-form{max-width:98vw;padding:clamp(4px,1.5vw,12px)}}@media(prefers-contrast:high){.form-container .form-input,.form-container .form-textarea,.form-container .form-select,.form-container input,.login-form input,.form-container textarea,.login-form textarea,.form-container select,.login-form select{border-width:var(--border-width-thick)}}@media(prefers-reduced-motion:reduce){.form-container .form-input,.form-container .form-textarea,.form-container .form-select,.form-container input,.login-form input,.form-container textarea,.login-form textarea,.form-container select,.login-form select{transition:none}}}@layer components{.btn:not(.icon-btn):not(.nav-btn),.form-button,.login-btn,.btn-primary:not(.icon-btn):not(.nav-btn),.btn-secondary:not(.icon-btn):not(.nav-btn),.btn-outline:not(.icon-btn):not(.nav-btn){display:inline-flex;align-items:center;justify-content:center;gap:var(--icon-gap-md, .5rem);padding:var(--portal-btn-padding, 8px 18px);border:var(--portal-btn-border-width, 2px) solid var(--portal-btn-border-color, var(--color-dark));border-bottom-width:var(--portal-btn-border-bottom-width, 2px);border-radius:var(--portal-btn-border-radius, 0);font-size:var(--portal-btn-font-size, var(--font-size-sm));font-weight:var(--portal-btn-font-weight, 600);font-family:var(--portal-btn-font-family, inherit);letter-spacing:var(--portal-btn-letter-spacing, normal);text-transform:var(--portal-btn-text-transform, uppercase);cursor:pointer;background:inherit;color:var(--portal-btn-color, var(--color-dark));box-shadow:var(--portal-btn-shadow, none);transition:var(--portal-btn-transition, all .2s ease);text-decoration:none;white-space:nowrap;text-shadow:none;box-sizing:border-box}.btn:not(.icon-btn):not(.nav-btn) svg,.form-button svg,.login-btn svg,.btn-primary:not(.icon-btn):not(.nav-btn) svg,.btn-secondary:not(.icon-btn):not(.nav-btn) svg,.btn-outline:not(.icon-btn):not(.nav-btn) svg,button.btn svg,button.btn-primary svg,button.btn-secondary svg{color:inherit}.btn:not(.icon-btn):not(.nav-btn):hover,.form-button:hover,.login-btn:hover,.btn-primary:not(.icon-btn):not(.nav-btn):hover,.btn-secondary:not(.icon-btn):not(.nav-btn):hover,.btn-outline:not(.icon-btn):not(.nav-btn):hover{background:var(--portal-btn-hover-bg, var(--color-dark));color:var(--portal-btn-hover-color, var(--color-light));border-color:var(--portal-btn-hover-border, var(--color-dark));box-shadow:var(--portal-btn-shadow-hover, none)}.btn:not(.icon-btn):not(.nav-btn):focus,.btn:not(.icon-btn):not(.nav-btn):focus-visible,.form-button:focus,.form-button:focus-visible,.login-btn:focus,.login-btn:focus-visible{outline:2px solid var(--color-off-white);outline-offset:2px;box-shadow:none}.btn-primary.form-valid,.form-button.form-valid,.login-btn.form-valid{background:var(--portal-btn-hover-bg, var(--color-dark));color:var(--portal-btn-hover-color, var(--color-light));border-color:var(--portal-btn-hover-border, var(--color-dark))}input[type=submit]:focus,input[type=submit]:active{outline:2px solid var(--color-off-white);outline-offset:2px;box-shadow:none}input[type=submit].form-valid,input.form-button.form-valid{background:var(--portal-btn-hover-bg, var(--color-dark));color:var(--portal-btn-hover-color, var(--color-light));border-color:var(--portal-btn-hover-border, var(--color-dark))}@media(max-width:479px){.btn:not(.nav-btn),.form-button,.login-btn{padding:clamp(6px,1.5vw,10px) clamp(12px,3vw,20px);font-size:clamp(.7rem,2.5vw,.9rem)}}@media(prefers-contrast:high){.btn:not(.nav-btn),.form-button,.login-btn{border-width:var(--border-width-thick)}}@media(prefers-reduced-motion:reduce){.btn:not(.nav-btn),.form-button,.login-btn{transition:none}}}@layer components{.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-error-500);background-color:rgba(var(--color-error-rgb, 239, 68, 68),.05)}.error-message{margin:0;color:var(--color-danger);font-size:var(--font-size-sm);display:none}.error-message.show{display:block}.field-error{color:var(--color-error-500);font-size:var(--font-size-sm);min-height:1.2em;margin-top:var(--space-0-5);display:none}.field--invalid{border-color:var(--color-error-500);background-color:rgba(var(--color-error-rgb, 239, 68, 68),.05)}.field--invalid:focus{outline-color:var(--color-error-500);box-shadow:0 0 0 2px rgba(var(--color-error-rgb, 239, 68, 68),.2)}.form-message{padding:.5rem .75rem;border-radius:var(--border-radius-sm, 4px);margin-bottom:1rem;font-weight:var(--font-weight-medium)}.form-message.success{background-color:rgba(var(--color-success-rgb, 16, 185, 129),.1);border:var(--border-width) solid var(--color-success-500);color:var(--color-success-500)}.form-message.error{background-color:transparent;border:none;color:var(--color-error-500)}.form-button.loading{opacity:.7;cursor:not-allowed;position:relative}.form-button.loading:after{content:"";position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;border:var(--border-width) solid transparent;border-top-color:currentColor;border-radius:var(--border-radius-full, 50%)}.form-button.form-valid{background-color:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-border)}.form-button.form-valid:hover{background-color:var(--color-accent);color:var(--color-bg-primary)}}@layer components{.loading-spinner{display:inline-block;width:20px;height:20px;border:var(--border-width) solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--border-radius-full, 50%);animation:spin .8s linear infinite}.loading-spinner--small{width:14px;height:14px;border-width:2px}.loading-spinner--large{width:32px;height:32px;border-width:var(--border-width-thick)}@keyframes spin{to{transform:rotate(360deg)}}button[aria-busy=true],input[type=submit][aria-busy=true]{cursor:wait;opacity:.8}button[aria-busy=true] .loading-spinner,button[aria-busy=true] .btn-loading-text{display:inline-block;vertical-align:middle}button[aria-busy=true] .loading-spinner{margin-right:.5rem}.btn-loading-text{font-size:inherit}.loading-row.loading-state{text-align:center;padding:2rem 1rem}.loading-row.loading-state .loading-spinner{margin-right:.5rem;vertical-align:middle}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(var(--space-2),3vw,var(--space-4));min-height:150px;gap:clamp(12px,2vw,20px);color:inherit;font-size:inherit}.loading-state .loading-spinner,.loading-state .loading-message{margin:0;padding:0}.skeleton-item,.skeleton-card{padding:1rem;background:var(--color-bg-secondary);border-radius:var(--border-radius-md, 8px);margin-bottom:.5rem}.skeleton-line{height:12px;background:linear-gradient(90deg,var(--color-skeleton-base) 25%,var(--color-skeleton-highlight) 50%,var(--color-skeleton-base) 75%);background-size:200% 100%;border-radius:var(--border-radius-sm, 4px);animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-line--title{height:16px;width:60%;margin-bottom:.75rem}.skeleton-line--text{width:100%;margin-bottom:.5rem}.skeleton-line--text:last-child{margin-bottom:0}.skeleton-line--short{width:40%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-chart{padding:1rem;min-height:200px;display:flex;align-items:flex-end;justify-content:center}.skeleton-chart-bars{display:flex;gap:1rem;align-items:flex-end;height:150px;width:100%;max-width:300px}.skeleton-bar{flex:1;background:linear-gradient(90deg,var(--color-skeleton-base) 25%,var(--color-skeleton-highlight) 50%,var(--color-skeleton-base) 75%);background-size:200% 100%;border-radius:var(--border-radius-sm, 4px) var(--border-radius-sm, 4px) 0 0;animation:skeleton-shimmer 1.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none;border-top-color:var(--color-accent);opacity:.7}.skeleton-line,.skeleton-bar{animation:none;background:var(--color-skeleton-base)}}tr.error-row td,tr.loading-row td,tr.empty-row td,td.error-row,td.loading-row,td.empty-row,td.empty-cell,td.loading-cell,td.error-cell,div.empty-row,div.loading-row,div.error-row,.portal .data-table td.error-row,.portal .data-table td.loading-row,.portal .data-table td.empty-row,.portal .data-table td.empty-cell,.portal .data-table tr.error-row td,.portal .data-table tr.loading-row td,.portal .data-table tr.empty-row td,.portal .data-table tbody td[colspan],.portal table td[colspan]{text-align:center;color:inherit;padding:clamp(var(--space-2),3vw,var(--space-3));font-size:inherit;background:transparent}tr.loading-row,tr.error-row,tr.empty-row{width:100%}tr.loading-row>td,tr.error-row>td,tr.empty-row>td{width:100%}td.error-row,td.loading-row,td.empty-row{border-bottom-left-radius:0;border-bottom-right-radius:0}.error-state,.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(12px,2vw,20px);padding:clamp(var(--space-2),3vw,var(--space-4));width:100%;height:100%;min-height:60px;flex:1 1 auto;box-sizing:border-box;text-align:center;margin:0 auto;color:var(--color-text-primary, inherit);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.portal .portal-card,.portal .dashboard-card,.portal [class*=card]:not(.business-card){position:relative}.portal .loading-state,.portal .empty-state,.portal .error-state{min-height:var(--space-12);padding:clamp(var(--space-3),3vw,var(--space-5))}.empty-state-small:before{content:"";display:block;width:16px;height:16px;background-color:currentColor;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E");-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;flex-shrink:0}.portal :has(>.empty-state):not(td):not(th):not(.panel):not(.data-table-card),.portal :has(>.loading-state):not(td):not(th):not(.panel):not(.data-table-card),.portal :has(>.error-state):not(td):not(th):not(.panel):not(.data-table-card){display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px}.portal .funnel-container,.portal .source-list{display:flex;flex-direction:column;min-height:100px}td .loading-state,td .error-state,td .empty-state,td[colspan] .loading-state,td[colspan] .error-state,td[colspan] .empty-state{padding:var(--space-2) var(--space-3)}@layer utilities{@media(min-width:701px){.data-table tbody td[colspan],.portal table td[colspan]{display:table-cell;text-align:center;vertical-align:middle;min-height:120px;padding:var(--space-4)}.data-table tbody td[colspan] .empty-state,.data-table tbody td[colspan] .loading-state,.data-table tbody td[colspan] .error-state,.portal table td[colspan] .empty-state,.portal table td[colspan] .loading-state,.portal table td[colspan] .error-state{width:-moz-max-content;width:max-content;max-width:100%;min-width:0;height:auto;min-height:60px;margin-left:auto;margin-right:auto}}@media(max-width:700px){.data-table td[colspan]{justify-content:center;align-items:center;flex-direction:column}.data-table td[colspan] .empty-state,.data-table td[colspan] .loading-state,.data-table td[colspan] .error-state{width:-moz-max-content;width:max-content;max-width:100%;min-width:0;height:auto}}}.loading-state p,.error-state p,.empty-state p{margin:0;padding:0;text-align:center;line-height:var(--line-height-snug);font-style:normal;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary, inherit)}td.loading-state,td.loading-row.loading-state{display:table-cell;text-align:center;vertical-align:middle}td.loading-state p,td.loading-row.loading-state p{margin:0;display:inline-block}p.empty-state{display:block;padding:var(--space-4)}[class$=-list]:has(.empty-state,.loading-state,.error-state),[id$=-list]:has(.empty-state,.loading-state,.error-state){display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px}[class$=-list]>.empty-state,[id$=-list]>.empty-state{min-height:80px;padding:var(--space-4)}.loading-state:before{content:"";display:block;width:24px;height:24px;border:var(--border-width-thick) solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--border-radius-full, 50%);animation:spin .8s linear infinite;flex-shrink:0}.loading-state:has(.loading-spinner):before,.loading-state:has(svg):before{display:none}.error-state:before{content:"";display:block;width:24px;height:24px;background-color:var(--color-danger);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;flex-shrink:0}.error-state:has(.error-state-icon):before,.error-state:has(.error-icon):before,.error-state:has(svg):before{display:none}.error-icon,.error-state-icon{width:24px;height:24px;color:var(--color-danger);flex-shrink:0}.error-icon svg,.error-state-icon svg{width:24px;height:24px}.empty-state:before{content:"";display:block;width:24px;height:24px;background-color:currentColor;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E");-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;flex-shrink:0}.empty-state:has(.empty-icon):before,.empty-state:has(svg):before{display:none}.empty-icon{width:var(--icon-size-xl);height:var(--icon-size-xl);color:inherit;flex-shrink:0}.empty-state>svg,.loading-state>svg,.error-state>svg,.empty-icon>svg,.error-state-icon>svg{width:var(--icon-size-xl);height:var(--icon-size-xl);flex-shrink:0;color:inherit;stroke:currentColor}.portal .empty-state svg,.portal .loading-state svg,.portal .error-state svg,.portal .empty-icon svg{width:var(--icon-size-xl);height:var(--icon-size-xl);margin:0;color:inherit;stroke:currentColor}.error-message,.error-state-message,.empty-state-message,.loading-message{color:var(--color-text-primary, inherit);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-style:normal;margin:0}.module-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(var(--space-2),3vw,var(--space-4));min-height:150px;text-align:center}.module-error-state p{margin-bottom:var(--space-1)}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(var(--space-2),3vw,var(--space-4));min-height:150px;gap:clamp(12px,2vw,20px);text-align:center;color:inherit;font-size:inherit}.btn-retry,.error-state-retry{margin-top:var(--space-1, .5rem)}.error-inline{color:var(--color-danger);font-size:var(--font-size-base);display:block;margin-top:.25rem}.error-notification{position:fixed;bottom:1rem;right:1rem;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-danger);border-radius:var(--border-radius-md, 8px);box-shadow:var(--shadow-elevated-sm);z-index:var(--z-index-loading);animation:slide-in-right .3s ease}.error-notification .error-icon{font-size:var(--font-size-sm)}.error-notification .error-message{color:var(--color-text)}.error-dismiss{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-lg);cursor:pointer;padding:0 .25rem;line-height:1}.error-dismiss:hover{color:var(--color-text)}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.empty-state-cta{margin-top:var(--space-1)}.portal .empty-state:not(td *):not(.data-table *):not(.data-table-card *):not(.card *):not(.portal-card *):not(.portal-section *):not(.overview-panel *):not(.panel *),.portal .error-state:not(td *):not(.data-table *):not(.data-table-card *):not(.card *):not(.portal-card *):not(.portal-section *):not(.overview-panel *):not(.panel *),.portal .loading-state:not(td *):not(.data-table *):not(.data-table-card *):not(.card *):not(.portal-card *):not(.portal-section *):not(.overview-panel *):not(.panel *){border:var(--portal-border);padding:var(--space-3);min-height:120px}.error-state-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.error-state-secondary{padding:var(--space-0-5, .375rem) var(--space-1-5, .75rem);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);background:transparent;color:var(--color-text-primary, var(--color-text));border:var(--border-width) solid var(--portal-border, var(--color-border));cursor:pointer;transition:all var(--transition-fast, .2s ease)}.error-state-secondary:hover{background:var(--color-bg-hover, var(--color-state-hover));border-color:var(--color-text-primary, var(--color-text-inverse));color:var(--color-text-primary, var(--color-text-inverse))}.skeleton-container{display:flex;flex-direction:column;gap:var(--space-1);width:100%;padding:var(--space-2)}.loading-state--skeleton:before{display:none}.skeleton-line--full{width:100%;height:12px;background:linear-gradient(90deg,var(--color-skeleton-base) 25%,var(--color-skeleton-highlight) 50%,var(--color-skeleton-base) 75%);background-size:200% 100%;border-radius:var(--border-radius-sm, 4px);animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-row{display:flex;gap:var(--space-2);padding:var(--space-1) 0}.skeleton-row .skeleton-line{flex:1}.spinning,.loading-spin{animation:spin .8s linear infinite}@media(max-width:767px){.empty-state,.loading-state,.error-state{min-width:100%;box-sizing:border-box}.empty-state p,.loading-state p,.error-state p{white-space:normal;word-break:normal;overflow-wrap:break-word}}@media(prefers-reduced-motion:reduce){.skeleton-line--full{animation:none;background:var(--color-skeleton-base)}.spinning,.loading-spin{animation:none;opacity:.7}}}@layer components.components{.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-index-portal-toast);display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none;max-width:var(--toast-max-width)}.toast{display:flex;align-items:center;gap:var(--icon-gap-md);background:var(--color-bg-secondary);border:var(--portal-border);box-shadow:none;color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);pointer-events:auto;opacity:0;transform:translate(100%);transition:opacity var(--transition-normal) ease,transform var(--transition-normal) ease;min-width:var(--toast-min-width);max-width:var(--toast-max-width)}.toast-show{opacity:1;transform:translate(0)}.toast-hide{opacity:0;transform:translate(100%)}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--icon-size-lg);height:var(--icon-size-lg)}.toast-icon svg{width:100%;height:100%}.toast-message{flex:1;word-wrap:break-word}.toast-action{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);text-decoration:none;border-bottom:var(--border-width) solid transparent;transition:border-color var(--transition-fast) ease,color var(--transition-fast) ease;white-space:nowrap}.toast-action:hover{color:var(--color-accent);border-color:var(--color-accent)}.toast-close{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast) ease,color var(--transition-fast) ease;flex-shrink:0;width:var(--icon-size-xl);height:var(--icon-size-xl)}.toast-close:hover{background:var(--color-bg-raised);color:var(--color-text-primary)}.toast-close svg{width:var(--icon-size-md);height:var(--icon-size-md)}.toast-success{border-left:var(--border-width-thick) solid var(--color-success)}.toast-success .toast-icon{color:var(--color-success)}.toast-error{border-left:var(--border-width-thick) solid var(--color-danger)}.toast-error .toast-icon{color:var(--color-danger)}.toast-warning{border-left:var(--border-width-thick) solid var(--color-warning)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info{border-left:var(--border-width-thick) solid var(--color-info)}.toast-info .toast-icon{color:var(--color-info)}@media(max-width:767px){.toast-container{top:var(--space-2);right:var(--space-2);left:var(--space-2);max-width:none}.toast{min-width:auto;max-width:none;transform:translateY(-100%)}.toast-show{transform:translateY(0)}.toast-hide{transform:translateY(-100%)}}}@layer components.components{.field-label,.meta-label,.stat-label{font-size:var(--label-font-size);font-weight:var(--label-font-weight);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--label-letter-spacing)}.field-label,.meta-label{display:block;margin-bottom:var(--portal-field-label-gap);line-height:var(--line-height-tight);white-space:nowrap!important}.field-label svg{display:inline-block;vertical-align:middle;margin-right:var(--portal-field-label-gap)}.field-label--spaced{margin-bottom:var(--space-2)}.meta-value{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--color-text-primary);line-height:var(--line-height-snug)}.meta-value a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}.meta-value a:hover{color:var(--color-accent);text-decoration:underline}.meta-item{display:flex;flex-direction:column;gap:var(--portal-field-label-gap)}.meta-item .field-label,.meta-item .meta-label{margin-bottom:0}.stat-label{margin:0}}.grid-2col{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.form-grid-2col{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr)}.layout-row{display:flex;align-items:center;gap:var(--space-3)}.layout-row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.layout-row-top{display:flex;align-items:flex-start;gap:var(--space-3)}.layout-row-end{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.flex-fill{flex:1;min-width:0}.layout-stack{display:flex;flex-direction:column;gap:var(--space-3)}@layer states{.state-hidden{display:none}.state-visible{display:block}.state-visible-inline{display:inline}.state-visible-flex{display:flex}.state-visible-grid{display:grid}.state-invisible{visibility:hidden}.state-shown{visibility:visible}.state-collapsed{height:0;overflow:hidden;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0}.state-expanded{height:auto;overflow:visible}.state-faded{opacity:0}.state-opaque{opacity:1}.state-removed{display:none;visibility:hidden;opacity:0}.state-staged{visibility:hidden;opacity:0;pointer-events:none}.state-entering{visibility:visible;opacity:1;pointer-events:auto}.skip-link{position:absolute;top:-100%;left:0;z-index:9999;padding:8px 16px;background-color:var(--app-color-surface, #000);color:var(--app-color-text, #fff);text-decoration:none;font-size:14px}.skip-link:focus{top:0}}@layer states{.is-disabled,[disabled]{pointer-events:none;opacity:.5;cursor:not-allowed}.is-readonly{pointer-events:none;cursor:default}.is-loading{pointer-events:none;cursor:wait;position:relative}.is-loading-overlay:after{content:"";position:absolute;inset:0;background:var(--color-bg-tertiary, var(--color-bg-tertiary));display:flex;align-items:center;justify-content:center}.is-skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary, var(--color-bg-tertiary)) 25%,var(--color-bg-raised, var(--color-surface-tertiary)) 50%,var(--color-bg-tertiary, var(--color-bg-tertiary)) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;color:transparent;border-radius:var(--border-radius-sm, 4px)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.is-selected{background-color:var(--color-accent-10);border-color:var(--color-accent)}.is-current{color:var(--color-accent);font-weight:var(--font-weight-semibold)}.is-focused{outline:2px solid var(--color-accent);outline-offset:2px}.has-focus-within:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.is-error,.has-error{border-color:var(--color-danger);color:var(--color-danger)}.is-success,.has-success{border-color:var(--color-success);color:var(--color-success)}.is-warning,.has-warning{border-color:var(--color-warning);color:var(--color-warning)}.is-open{display:block;visibility:visible;opacity:1}.is-closed{display:none;visibility:hidden;opacity:0}.is-dragging{opacity:.8;cursor:grabbing}.is-drag-over{background-color:var(--color-accent-10);border:var(--border-width) dashed var(--color-accent)}.no-transition{transition:none}.force-transition{transition:all var(--transition-normal) cubic-bezier(.65,.05,0,1)}}@layer responsive{@media(max-width:767px){.hide-mobile{display:none}.admin-grid-2col,.admin-grid-3col,.admin-grid-4col,.form-grid-2col,.cards-grid,.cards-grid-sm,.cards-grid-lg{grid-template-columns:1fr}.layout-split,.layout-split-asymmetric{flex-direction:column}.masonry-grid{-moz-column-count:1;column-count:1}}@media(min-width:768px){.show-tablet{display:block}.hide-tablet{display:none}.admin-grid-auto{grid-template-columns:repeat(2,1fr)}.masonry-grid{-moz-column-count:2;column-count:2}}@media(min-width:992px){.show-desktop{display:block}.hide-desktop{display:none}.admin-grid-2col{grid-template-columns:repeat(2,1fr)}.admin-grid-3col{grid-template-columns:repeat(3,1fr)}.admin-grid-4col{grid-template-columns:repeat(4,1fr)}.admin-grid-auto{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.masonry-grid{-moz-column-count:3;column-count:3}}@media(min-width:1200px){.show-wide{display:block}.hide-wide{display:none}.masonry-grid{-moz-column-count:4;column-count:4}}@media(max-width:767px){[data-page=admin] #tab-analytics>.quick-stats{grid-template-columns:1fr}}@media(max-width:479px){[data-page=admin] #tab-analytics .chart-container ul{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem;justify-items:start}[data-page=admin] #tab-analytics .chart-container ul li{margin:0}.data-table-header h3 .title-full{display:none}.data-table-header h3 .title-mobile{display:inline}[data-page=admin] .data-table tbody td:empty{display:none}}@media(max-width:767px){.portal-sidebar{position:fixed;left:-100%;transition:left var(--transition-normal) ease}.portal-sidebar.is-open{left:0}.portal-header{padding:var(--space-2) var(--space-3)}.portal-stats-grid,.portal-widgets-grid{grid-template-columns:1fr}}@media(max-width:767px){.portal .sidebar{width:56px;min-width:56px;max-width:56px}.portal .sidebar.collapsed{width:0;min-width:0;max-width:0;overflow:hidden;padding:0}.portal .sidebar .sidebar-buttons .nav-btn .nav-label{display:none}.portal .sidebar .sidebar-buttons .nav-btn{justify-content:center}.portal .sidebar .sidebar-shortcut{display:none}.portal .portal-body .dashboard-content{width:100%;flex:1}}@media print{.sidebar,.portal-sidebar,.admin-sidebar,.btn,button,.dropdown-toggle{display:none}.main-content,.dashboard-content{width:100%;margin:0;padding:0}.card,.portal-card{-moz-column-break-inside:avoid;break-inside:avoid}}@media(prefers-contrast:high){.card,.portal-card,.btn{border-width:2px}:focus-visible{outline-width:3px;outline-offset:3px}}}@layer components{*{box-sizing:border-box}.container{z-index:1;max-width:var(--size-container);padding-left:var(--container-padding);padding-right:var(--container-padding);width:100%;margin-left:auto;margin-right:auto;position:relative}.container.is--full{max-width:100%}li{display:list-item;text-align:-webkit-match-parent;unicode-bidi:isolate}.header{z-index:130;font-family:var(--font-family-acme);padding:0;position:fixed;top:0;left:0;right:0;width:100%;background-color:transparent}.header .container{padding:0 var(--container-padding)}.nav-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;width:100%;min-height:40px;flex-wrap:nowrap}.nav-logo-row{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--color-nav-text);font-weight:600;font-size:20px;pointer-events:auto;text-shadow:0 2px 4px var(--color-shadow);text-transform:uppercase;white-space:nowrap;flex-shrink:0;position:relative;transition:color var(--transition-mouse) ease;-webkit-tap-highlight-color:transparent}.nav-logo-row:visited{color:var(--color-nav-text)}.nav-logo-row:hover,.nav-logo-row:active{color:var(--color-accent);text-decoration:none}.nav-logo-row:focus{color:var(--color-nav-text);text-decoration:none;outline:none}.nav-logo-row:focus-visible{color:var(--color-accent);outline:none;box-shadow:none}.nav-row__right{display:flex;align-items:center;gap:16px;pointer-events:auto;flex-shrink:0;white-space:nowrap;position:relative;z-index:125}.nav{z-index:120;width:100%;height:100vh;margin-left:auto;margin-right:auto;display:none;position:fixed;inset:0%;pointer-events:auto}.nav[data-nav=open]{display:block}.overlay{z-index:115;cursor:pointer;background-color:rgba(var(--bg-rgb, 25, 25, 25),.7);width:100vw;height:100vh;position:fixed;top:0;left:0;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);transition:opacity var(--transition-length, .5s) cubic-bezier(.3,.9,.3,.9),visibility var(--transition-length, .5s),backdrop-filter var(--transition-length, .5s)}.nav[data-nav=open] .overlay,.overlay.visible{opacity:1;visibility:visible;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.menu{z-index:125;grid-column-gap:5em;grid-row-gap:5em;flex-flow:column;justify-content:flex-start;align-items:flex-start;position:relative;overflow:auto;padding-top:calc(3 * var(--menu-padding));width:var(--menu-width-desktop);height:100%;margin-left:auto;transform:translate(120%)}.menu{padding-bottom:var(--menu-padding);padding-top:calc(3 * var(--menu-padding))}.menu-bg{z-index:1;position:absolute;inset:0%}.menu-inner{z-index:1;grid-column-gap:5em;grid-row-gap:5em;padding-right:0rem;flex-flow:column;justify-content:space-between;align-items:flex-start;height:100%;display:flex;position:relative;overflow:auto}.bg-panel{z-index:1;background-color:var(--color-neutral-100);border-top-left-radius:var(--menu-border-radius);border-bottom-left-radius:var(--menu-border-radius);position:absolute;inset:0%}.bg-panel.first{background-color:var(--color-accent)}.bg-panel.second{background-color:var(--color-neutral-300)}.menu-list{flex-flow:column;width:100%;margin-bottom:0;padding:0;list-style:none;display:flex}.menu-list-item{position:relative;overflow:hidden}.menu-link{padding-top:.75em;padding-bottom:.75em;padding-left:var(--container-padding);padding-right:var(--menu-padding);gap:.75em;width:100%;text-decoration:none;display:flex;color:inherit;position:relative;overflow:hidden;border:none;outline:none;text-transform:uppercase;align-items:center;justify-content:flex-start;min-height:0}.menu-link-heading{text-shadow:0 1em 0 var(--color-neutral-100),0 2px 4px var(--color-shadow);z-index:1;text-transform:uppercase;font-family:var(--font-family-acme);font-weight:700;line-height:.9;position:relative;font-size:var(--menu-heading-size);letter-spacing:.1em;display:inline-block;transform:translateY(-100%);transition:transform .4s var(--cubic-menu);flex:0 1 auto;text-align:left;white-space:nowrap}.menu-link-bg{z-index:0;background-color:var(--color-dark);transform-origin:50% 100%;transform-style:preserve-3d;position:absolute;inset:0%;transform:scale3d(1,0,1);transition:transform .4s var(--cubic-menu);pointer-events:none}.menu-link.disabled{opacity:.5;pointer-events:none;cursor:not-allowed;position:relative}.menu-link.disabled .menu-link-heading{color:var(--color-neutral-800);opacity:.6}.menu-link.disabled .eyebrow{opacity:.4}.menu .menu-link.disabled:hover .menu-link-bg{transform:scale3d(1,0,1)}.menu-link.current,.menu-link[aria-current=page]{filter:blur(2px);opacity:.5;cursor:default;pointer-events:none}.menu-link.current .menu-link-heading,.menu-link[aria-current=page] .menu-link-heading{color:var(--color-text-secondary)}.menu-link.current .menu-link-bg,.menu-link[aria-current=page] .menu-link-bg{display:none}.menu-link.current:hover,.menu-link[aria-current=page]:hover{filter:blur(4px)}.coming-soon-banner{position:absolute;top:50%;right:40%;transform:translateY(-40%);background:var(--color-accent);color:var(--color-dark);padding:var(--space-1) var(--space-3);border-radius:1rem;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;z-index:10;font-family:monospace;text-shadow:none;box-shadow:0 2px 8px rgba(var(--color-accent-rgb),.3)}html[data-theme=dark] .coming-soon-banner{color:var(--color-neutral-100);background:var(--color-accent)}.menu-link .eyebrow{z-index:1;color:var(--color-accent);text-transform:uppercase;font-family:monospace;font-weight:400;position:relative;text-shadow:none;font-size:var(--font-size-sm);flex-shrink:0}.social-icon{width:1em;height:1em;flex-shrink:0;vertical-align:middle;margin-right:.35em}.text-link{display:inline-flex;align-items:center;gap:.25em}@media(hover:hover){.text-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--color-accent);transform-origin:right center;transform:scaleX(0);transition:transform .4s var(--cubic-default)}.text-link:hover:after{transform-origin:left center;transform:scaleX(1)}}.theme-button,.menu-button{display:flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;padding:8px 0;color:inherit;text-transform:uppercase;flex-shrink:0;font-family:inherit;font-size:inherit;line-height:inherit;text-shadow:0 2px 4px var(--color-shadow);transition:color var(--transition-mouse) ease}.theme-button:hover,.theme-button:active,.menu-button:hover,.menu-button:active{color:var(--color-accent)}.theme-button:focus-visible,.menu-button:focus-visible{color:var(--color-accent);background-color:rgba(var(--color-accent-rgb),.1);outline:none;box-shadow:none}.theme-button:focus,.menu-button:focus{outline:none}.theme-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--border-radius-full);transition:background-color var(--transition-mouse) ease}.menu-button-icon{width:16px;height:16px;transition:transform var(--transition-normal) ease;filter:drop-shadow(0 2px 4px var(--color-shadow))}.menu-button-text{flex-flow:column;justify-content:flex-start;align-items:flex-start;height:20px;display:flex;overflow:hidden;text-transform:uppercase}.menu-button-text p{margin:0;padding:0;line-height:1;font-size:var(--font-size-xl);font-weight:600;white-space:nowrap;font-family:var(--font-family-acme, "Acme", sans-serif)}.menu-button{min-height:40px;align-items:center}.menu-details{padding-left:var(--container-padding);grid-column-gap:1.25em;grid-row-gap:1.25em;flex-flow:column;justify-content:flex-start;align-items:flex-start;display:flex;text-transform:uppercase}.socials-row{grid-column-gap:var(--space-6);grid-row-gap:var(--space-6);flex-flow:row;display:flex}.p-small{font-size:.875em;font-family:var(--font-family-acme);text-transform:uppercase}.p-large{font-size:1.125em;font-family:var(--font-family-acme);text-transform:uppercase}.text-link{text-decoration:none;position:relative;color:inherit;text-transform:uppercase}.icon-wrap{display:flex;align-items:center;justify-content:center;transform:rotate(0);width:24px;height:24px;position:relative;transition:all var(--transition-normal) var(--cubic-default)}.theme-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--icon-size-lg);height:var(--icon-size-lg);color:currentColor;transition:opacity var(--transition-normal) ease;filter:drop-shadow(0 2px 4px var(--color-shadow))}[data-theme=light] .sun-icon{opacity:1}[data-theme=light] .moon-icon,[data-theme=dark] .sun-icon{opacity:0}[data-theme=dark] .moon-icon{opacity:1}.social-link{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--border-radius-full);background:var(--color-surface-secondary);color:var(--color-text-primary);transition:all var(--transition-normal) var(--cubic-default)}.social-link:hover{background:var(--color-accent);color:var(--color-text-on-primary);transform:translateY(-2px)}.social-link svg{width:24px;height:24px}@supports (-webkit-appearance: none){.menu{-webkit-overflow-scrolling:touch}.menu-link-heading{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@-moz-document url-prefix(){.menu-link-bg{transform-style:flat}}html[data-theme=dark] .nav-logo-row,html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3,html[data-theme=dark] h4,html[data-theme=dark] h5,html[data-theme=dark] h6{text-shadow:0 2px 4px var(--color-shadow)}html[data-theme=dark] .theme-button,html[data-theme=dark] .menu-button{background:transparent;border:none;box-shadow:none}html[data-theme=dark] .theme-button:hover,html[data-theme=dark] .menu-button:hover{background:transparent;border:none;box-shadow:none;color:var(--color-accent)}html[data-theme=dark] .menu-link-heading{text-shadow:0 1em 0 var(--color-neutral-300)}html[data-theme=dark] .bg-panel{background-color:var(--color-bg-secondary)}html[data-theme=dark] .bg-panel.first{background-color:var(--color-accent)}html[data-theme=dark] .bg-panel.second{background-color:var(--color-neutral-100)}}@layer components{.nav[data-nav=open] .overlay{opacity:1;visibility:visible}.nav[data-nav=open] .menu{transform:translate(0)}.nav[data-nav=open] .menu-link-heading{transform:translateY(0)}.nav[data-nav=open] .menu-button-icon{transform:rotate(45deg)}@media(hover:hover){.menu-button:hover .icon-wrap{transform:rotate(90deg)}.theme-button:hover .icon-wrap{transform:scale(1.1)}.menu-link:hover .menu-link-heading{transform:translateY(-100%)}.menu-link:hover .menu-link-heading:before{transform:translateY(-100%)}.menu-link:hover .menu-link-bg{transform:scale(1)}.text-link:hover{transform:scale(1.05)}}.nav[data-nav=closed] .menu-link-heading{transform:none;transition:none}.nav.nav[data-nav=closed] .menu-link-heading:before{transform:translateY(0);transition:none}.menu-link-heading{transform-origin:center center}@media(hover:hover){.menu-button:hover .icon-wrap{transform:rotate(90deg)}.theme-button:hover .icon-wrap{transform:scale(1.1)}.nav[data-nav=open] .menu-link:hover .menu-link-heading{transform:translateY(-100%)}.nav[data-nav=open] .menu-link:hover .menu-link-heading:before{transform:translateY(-100%)}.nav[data-nav=open] .menu-link:hover .menu-link-bg{transform:scale(1)}.nav.nav[data-nav=closed] .menu-link:hover .menu-link-heading,.nav.nav[data-nav=closed] .menu-link:hover .menu-link-heading:before{transform:none;transition:none}.text-link:hover{transform:scale(1.05)}}.menu-link.touch-active .menu-link-heading{transform:translateY(-100%)}.menu-link.touch-active .menu-link-heading:before{transform:translateY(-100%)}.menu-link.touch-active .menu-link-bg{transform:scale(1)}}@layer components{@media(max-width:991px){:root{--nav-base-gap: clamp(.35rem, 1.2vw, .7rem);--menu-multiplier: .14;--list-multiplier: .11;--menu-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--menu-multiplier)));--list-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--list-multiplier)))}.menu{width:var(--menu-width-tablet);padding-top:calc(4 * var(--menu-padding))}.bg-panel{border-top-left-radius:calc(var(--menu-border-radius) * .8);border-bottom-left-radius:calc(var(--menu-border-radius) * .8)}.nav-logo-row{width:auto;font-size:var(--font-size-xl);gap:var(--icon-gap-sm)}}@media(max-width:767px){:root{--nav-base-gap: clamp(.3rem, 1vw, .6rem);--menu-padding: clamp(.75rem, 3vw, 1.5rem);--menu-heading-size: clamp(5rem, 18vw, 8rem);--menu-button-size: clamp(2.2rem, 5vw, 2.8rem);--theme-button-size: clamp(2.2rem, 5vw, 2.8rem);--menu-multiplier: .13;--list-multiplier: .1;--menu-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--menu-multiplier)));--list-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--list-multiplier)))}.portal-button{opacity:0;visibility:hidden;pointer-events:none;margin-left:.75rem}.header{position:static}.nav-logo-row{font-size:var(--font-size-xl);gap:var(--icon-gap-xs);min-width:auto;text-shadow:0 2px 4px var(--portal-alpha-black-20)}.menu-button-text{text-shadow:0 2px 4px var(--portal-alpha-black-20)}.nav-logo__icon{width:16px;height:16px}.nav-row__right{grid-column-gap:.5rem;grid-row-gap:.5rem;flex-shrink:0}.menu{padding-top:calc(5 * var(--menu-padding))}.menu{width:var(--menu-width-mobile)}.bg-panel{border-top-left-radius:0;border-bottom-left-radius:0}.menu-list{padding-top:2rem}.menu-list-item{min-height:clamp(4rem,10vw,5.5rem)}.menu .menu-link .menu-link-heading{font-size:clamp(3rem,12vw,4.5rem);text-shadow:0 1em 0 var(--color-neutral-100)}.menu-link{padding-top:1em;padding-bottom:1em}.socials-row{grid-column-gap:clamp(1rem,3vw,1.5rem);grid-row-gap:clamp(1rem,3vw,1.5rem);flex-flow:row;display:flex;padding-bottom:var(--menu-padding)}.p-large.text-link{font-size:clamp(.9rem,2vw,1rem)}}@media(max-width:479px){:root{--nav-base-gap: clamp(.25rem, .8vw, .5rem);--menu-padding: clamp(.5rem, 2vw, 1rem);--menu-heading-size: clamp(1.8rem, 5vw, 3.5rem);--theme-button-size: clamp(2rem, 4vw, 2.5rem);--menu-button-size: clamp(2rem, 4vw, 2.5rem);--menu-multiplier: .12;--list-multiplier: .09;--menu-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--menu-multiplier)));--list-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--list-multiplier)))}.menu{padding-top:calc(6 * var(--menu-padding));padding-bottom:calc(1.5 * var(--menu-padding))}.menu-list-item{min-height:clamp(2.5rem,6vw,3.5rem)}.nav-row__right{grid-column-gap:.25rem;grid-row-gap:.25rem}}@media(min-width:1200px){:root{--nav-base-gap: .9rem;--menu-padding: 2.5rem;--menu-heading-size: 5.5rem;--menu-multiplier: .12;--list-multiplier: .09;--menu-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--menu-multiplier)));--list-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--list-multiplier)))}.menu{width:40rem}}@media(min-width:1400px){:root{--nav-base-gap: 1.1rem;--menu-padding: 3rem;--menu-heading-size: 6rem;--menu-multiplier: .13;--list-multiplier: .1;--menu-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--menu-multiplier)));--list-gap: max(var(--nav-base-gap), calc(var(--menu-heading-size) * var(--list-multiplier)))}}.nav .menu-link:focus,.nav .menu-button:focus,.nav .theme-button:focus,.nav .menu-link:active,.nav .menu-button:active,.nav .theme-button:active,.nav .menu-link.active,.nav .menu-button.active,.nav .theme-button.active{border:none;outline:none}@media(hover:none)and (pointer:coarse){.menu-link,.menu-button,.theme-button{min-height:44px;min-width:44px}.menu-link-heading{font-size:clamp(2rem,5vw,4rem)}}@media(min-resolution:192dpi){.nav-logo__icon,.menu-button-icon{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media(max-width:767px){.theme-button{display:flex;width:36px;height:36px}}@media print{.nav,.header,.menu-button,.theme-button{display:none!important}}.menu,.bg-panel,.menu-link-heading,.menu-link-bg,.menu-button-icon,.icon-wrap{will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.menu-inner{contain:layout style paint}}@layer components{.portal-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--border-radius-full, 50%);background:none;border:none;cursor:pointer;padding:var(--space-2) 0;color:inherit;text-transform:uppercase;flex-shrink:0;font-family:inherit;font-size:inherit;line-height:inherit;text-shadow:0 2px 4px var(--color-shadow);transition:color .2s ease,background-color .2s ease}.portal-button:hover{color:var(--color-accent)}.portal-button:focus{outline:none}.portal-button:focus-visible{color:var(--color-accent);background-color:var(--color-danger-alpha-10);outline:none;box-shadow:none}.portal-button .icon-wrap{display:flex;align-items:center;justify-content:center;width:24px;height:24px;position:relative}.portal-button .icon-wrap svg{width:var(--icon-size-lg);height:var(--icon-size-lg);color:currentColor;filter:drop-shadow(0 2px 4px var(--color-shadow))}@media(hover:hover){.portal-button:hover .icon-wrap{transform:scale(1.1)}}.portal-backdrop{display:none;position:fixed;inset:0;width:100vw;height:100vh;background:var(--color-overlay-light);z-index:var(--z-index-portal-overlay);pointer-events:auto;isolation:isolate}.portal-backdrop.open{display:block}.portal-dropdown{position:fixed;top:70px;right:20px;width:320px;background:var(--color-neutral-300);border:var(--border-width-thick) solid var(--color-dark);padding:1.5rem;z-index:var(--z-index-portal-dropdown);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;box-shadow:0 10px 40px var(--color-shadow-2xl);isolation:isolate;color:var(--color-dark)}.portal-dropdown.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.portal-dropdown:before{content:"";position:absolute;top:-12px;left:var(--caret-left, 20px);border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid var(--color-dark)}.portal-dropdown:after{content:"";position:absolute;top:-6px;left:calc(var(--caret-left, 20px) + 2px);border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--color-neutral-300)}.portal-dropdown-header{font-family:var(--font-family-sans);font-size:var(--font-size-xl);text-transform:uppercase;margin-bottom:1rem;color:var(--color-dark)}.portal-dropdown .portal-auth-toggle{display:flex;width:100%;height:44px;border:var(--border-width-thick) solid var(--color-dark);border-radius:0;margin-bottom:1rem;box-sizing:border-box;overflow:hidden}.portal-dropdown .portal-toggle-btn{flex:1;height:100%;padding:0 1rem;background:transparent;border:none;font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:40px;text-transform:uppercase;color:var(--color-dark);cursor:pointer;transition:background-color .2s ease,color .2s ease}.portal-dropdown .portal-toggle-btn:first-child{border-right:var(--border-width-thick) solid var(--color-dark)}.portal-dropdown .portal-toggle-btn:hover:not(.is-active){background:var(--color-neutral-400)}.portal-dropdown .portal-toggle-btn.is-active{background:var(--color-dark);color:var(--color-light)}.portal-dropdown-form{display:none}.portal-dropdown-form.form-active{display:block}.portal-dropdown .dropdown-input{width:100%;height:48px;background:inherit;border:var(--border-width) solid var(--color-dark);border-radius:0;padding:0 1rem;font-size:var(--font-size-sm);color:var(--color-dark);margin-bottom:.75rem;box-sizing:border-box}.portal-dropdown .dropdown-input::-moz-placeholder{color:var(--color-dark);opacity:.5}.portal-dropdown .dropdown-input::placeholder{color:var(--color-dark);opacity:.5}.portal-dropdown .dropdown-input:focus{outline:none;border-color:var(--color-accent)}.portal-dropdown .password-field{position:relative}.portal-dropdown .password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;color:var(--color-dark);display:flex;align-items:center;justify-content:center;margin-top:-.375rem}.portal-dropdown .password-toggle:hover{color:var(--color-accent)}.portal-dropdown .password-toggle .password-icon-hide,.portal-dropdown .password-toggle.showing .password-icon-show{display:none}.portal-dropdown .password-toggle.showing .password-icon-hide{display:block}.portal-dropdown .dropdown-submit{width:100%;height:48px;background:inherit;color:inherit;border:var(--portal-btn-border-width, 2px) solid currentColor;border-bottom-width:var(--portal-btn-border-bottom-width, 6px);border-radius:0;font-family:var(--portal-btn-font-family, inherit);font-size:var(--font-size-base);text-transform:uppercase;cursor:pointer;transition:filter .2s ease}.portal-dropdown .dropdown-submit:hover,.portal-dropdown .dropdown-submit:focus{filter:brightness(1.15)}.portal-dropdown .dropdown-submit.valid{background:var(--color-accent);color:var(--color-bg-primary);opacity:1}.portal-dropdown .dropdown-submit.valid:hover,.portal-dropdown .dropdown-submit.valid:focus{background:var(--color-accent);color:var(--color-bg-primary);filter:brightness(1.1)}.portal-dropdown .dropdown-link{display:block;margin-top:.75rem;font-size:var(--font-size-xs);color:var(--color-dark);text-decoration:underline;text-underline-offset:2px;text-align:center}.portal-dropdown .dropdown-link:hover{color:var(--color-accent)}.portal-dropdown button.dropdown-link{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;width:100%}.portal-dropdown .magic-info{font-size:var(--font-size-xs);color:var(--color-dark);opacity:.7;margin-top:.5rem;text-align:center}.portal-dropdown .forgot-info{font-size:var(--font-size-sm);color:var(--color-dark);margin-bottom:1rem;text-align:left;line-height:var(--line-height-snug)}.portal-dropdown .reset-sent-icon{display:flex;justify-content:center;margin-bottom:1rem;color:var(--color-accent)}.portal-dropdown .reset-sent-message{font-size:var(--font-size-sm);color:var(--color-dark);text-align:center;line-height:var(--line-height-normal);margin-bottom:1rem}@media(max-width:479px){.portal-dropdown{position:fixed;inset:auto 0 0;width:100%;border-left:none;border-right:none;border-bottom:none;transform:translateY(100%)}.portal-dropdown.open{transform:translateY(0)}.portal-dropdown:before,.portal-dropdown:after{display:none}}@media(max-width:767px){.portal-button{width:36px;height:36px}}.portal-login-section{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height, 60px));padding:2rem 1rem}.portal-login-content{display:flex;flex-direction:column;align-items:center;width:100%;max-width:420px}.portal-login-card{width:100%;border:var(--border-width-thick) solid var(--color-dark);padding:2rem;background:transparent}.portal-login-header{margin-bottom:1.5rem}.portal-login-logo{display:block;width:120px;height:120px;margin:0 auto 1.25rem}.portal-login-header h2{font-family:var(--font-family-sans);font-size:var(--font-size-3xl);text-transform:uppercase;color:var(--color-dark);margin:0 0 .25rem;letter-spacing:var(--letter-spacing-label);text-align:center}.portal-login-subtitle{font-size:var(--font-size-base);color:var(--color-dark);margin:0;opacity:.7;text-align:center}.portal-page-form{display:flex;flex-direction:column;gap:1rem}.portal-page-field{display:flex;flex-direction:column}.portal-page-input{width:100%;padding:.75rem 1rem;border:var(--border-width) solid var(--color-dark);background:transparent;color:var(--color-dark);font-size:var(--font-size-base);font-family:inherit;outline:none;transition:border-color var(--transition-fast) ease;box-sizing:border-box}.portal-page-input::-moz-placeholder{color:var(--color-dark);opacity:.5}.portal-page-input::placeholder{color:var(--color-dark);opacity:.5}.portal-page-input:-webkit-autofill,.portal-page-input:-webkit-autofill:hover,.portal-page-input:-webkit-autofill:focus,.portal-page-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--color-neutral-300) inset!important;-webkit-text-fill-color:var(--color-dark)!important;-webkit-transition:background-color 9999s ease-in-out 0s;transition:background-color 9999s ease-in-out 0s;caret-color:var(--color-dark)}.portal-page-input:focus{border-color:var(--color-accent)}.portal-page-pw-wrapper{position:relative}.portal-page-pw-wrapper .portal-page-input{padding-right:2.75rem}.portal-page-pw-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-dark);padding:.25rem;display:flex;align-items:center;justify-content:center}.portal-page-pw-toggle:hover{opacity:.7}.portal-page-error{font-size:var(--font-size-sm);color:var(--color-danger);margin:0}.portal-page-error:empty{display:none}.portal-page-submit{width:100%;padding:.75rem;background:inherit;color:inherit;border:var(--portal-btn-border-width, 2px) solid currentColor;border-bottom-width:var(--portal-btn-border-bottom-width, 6px);border-radius:0;font-family:var(--portal-btn-font-family, inherit);font-size:var(--font-size-base);text-transform:uppercase;letter-spacing:var(--letter-spacing-label);cursor:pointer;transition:filter .2s ease}.portal-page-submit:hover:not(:disabled){filter:brightness(1.15)}.portal-page-submit:disabled{opacity:.6;cursor:not-allowed}.portal-page-success{border:var(--border-width-thick) solid var(--color-dark);padding:1rem;font-size:var(--font-size-sm);color:var(--color-dark);text-align:center}.portal-page-footer{display:flex;align-items:center;justify-content:center;gap:.5rem;text-align:center;margin-top:.5rem}.portal-page-divider{font-size:var(--font-size-sm);color:var(--color-dark);opacity:.4}.portal-page-link{font-size:var(--font-size-sm);color:var(--color-dark);text-decoration:underline;cursor:pointer}.portal-page-link:hover{opacity:.7}.intake-modal-backdrop{display:none;position:fixed;inset:0;width:100vw;height:100vh;background:var(--color-overlay-medium);z-index:var(--z-index-portal-overlay, 9500);pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.intake-modal-backdrop.open{display:block}.intake-modal.intake-modal{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:900px;height:90vh;max-height:85vh;z-index:var(--z-index-portal-modal, 9600);border-radius:var(--border-radius-md, 8px);overflow:hidden;box-shadow:var(--shadow-dropdown-xl);background-color:var(--color-terminal-bg)}.intake-modal.open{display:block}.intake-modal-close{position:absolute;top:10px;right:10px;z-index:var(--z-index-elevated);background:var(--color-overlay-light);border:none;border-radius:var(--border-radius-full, 50%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-tertiary);transition:color .2s ease,background .2s ease}.intake-modal-close:hover{color:var(--color-light);background:rgba(var(--color-mac-close-rgb, 255, 95, 86),.8)}.intake-modal-container{width:100%;height:100%;overflow:hidden}.intake-modal.intake-modal .terminal-intake-container,.intake-modal.intake-modal .terminal-intake{height:100%;max-height:100%;width:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background-color:var(--color-terminal-bg)}.intake-modal.intake-modal .terminal-window{flex:1;width:100%;max-width:100%;max-height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;margin:0}.intake-modal.intake-modal .terminal-chat{flex:1;min-height:0;max-height:none;overflow-y:auto}.intake-modal.intake-modal .terminal-header,.intake-modal.intake-modal .terminal-progress,.intake-modal.intake-modal .terminal-input-area{flex-shrink:0}.intake-modal .intake-modal-container{background-color:var(--color-terminal-bg)}.intake-modal.intake-modal.open .intake-modal-container>*{opacity:1;visibility:visible}@media(max-width:767px){.intake-modal{width:100vw;height:100vh;max-width:100%;max-height:100%;top:0;left:0;transform:none}.intake-modal-close{top:15px;right:15px;width:44px;height:44px}}}@layer components{@media(min-width:768px){.business-card-section{flex:0 0 auto;min-height:calc(100vh - var(--header-height) - var(--footer-height));height:calc(100vh - var(--header-height) - var(--footer-height));display:grid;place-content:center;place-items:center;padding:0;box-sizing:border-box;width:100%;position:relative;overflow:visible;background:var(--color-neutral-300);z-index:var(--z-index-content);margin-top:0}.business-card-section .intro-nav{position:absolute;top:calc(50% + 147.095px + 1rem);left:50%;transform:translate(-50%)}.business-card-section .scroll-arrow-intro{position:fixed;bottom:calc(var(--footer-height) + 1rem);left:50%;transform:translate(-50%);z-index:var(--z-index-elevated)}}.business-card-container{width:525px;height:294.19px;margin:0 auto;contain:layout style size}@media(max-width:767px){.business-card-container{width:380px;height:213px}}@media(max-width:479px){.business-card-container{width:315px;height:177px}}.business-card-container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:static;perspective:1000px;width:525px;height:294.19px;min-width:525px;min-height:294.19px;max-width:525px;max-height:294.19px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;outline:none;background:transparent;border:none;box-shadow:none;padding:0;margin:0}.business-card-container *{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.business-card{width:100%;height:100%;position:relative;perspective:1000px;cursor:pointer;outline:none;opacity:1;transform:scale(1);display:block;visibility:visible;transition:none;background:transparent;border:none;box-shadow:none}.business-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:none;will-change:transform;backface-visibility:hidden}.business-card-front,.business-card-back{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;opacity:1;visibility:visible;backface-visibility:hidden;transform-style:preserve-3d;pointer-events:none;background:linear-gradient(135deg,var(--color-card-bg) 0%,var(--color-card-bg-gradient-end) 100%);color:var(--color-card-text);box-shadow:0 10px 30px var(--color-shadow);flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:visible;padding:0;box-sizing:border-box;font-family:var(--font-family-acme, "Courier New", monospace)}.business-card-front{transform:rotateY(0);z-index:var(--z-index-content)}.business-card-back{transform:rotateY(180deg);z-index:var(--z-index-content)}.card-svg{max-width:100%;max-height:100%;width:100%;height:100%;display:block;-o-object-fit:contain;object-fit:contain;pointer-events:none;transform-style:preserve-3d;transform-origin:center center}.business-card-front .card-svg,.business-card-back .card-svg{width:100%;height:100%;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.business-card-front:empty:before,.business-card-back:empty:before{content:"Business Card - Content Missing";color:var(--color-text-tertiary);font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:var(--color-card-bg);border:var(--border-width) dashed var(--color-border-secondary)}@media(max-width:767px){.business-card-container,.intro-animation-container{width:380px;height:213px;min-width:380px;min-height:213px;max-width:380px;max-height:213px}.contact-section .contact-business-card .business-card-container{width:100%;max-width:260px;height:auto;min-width:unset;min-height:unset;max-height:unset;aspect-ratio:1.785}.business-card-front,.business-card-back{padding:0}.intro-loading .business-card-inner{transform:rotateY(180deg)}}@media(max-width:479px){.business-card-container,.intro-animation-container{width:315px;height:177px;min-width:315px;min-height:177px;max-width:315px;max-height:177px}.contact-section .contact-business-card .business-card-container{max-width:220px}.business-card-front,.business-card-back{padding:0}}@media(prefers-reduced-motion:reduce){.business-card-inner{transition:none!important}.business-card,.business-card-inner{transform:none!important}.business-card-container{perspective:none}}@media(prefers-contrast:high){.business-card-inner{box-shadow:0 0 0 2px var(--color-text-primary)}.business-card-front,.business-card-back{background:var(--color-card-bg);color:var(--color-text-primary);box-shadow:0 0 0 1px var(--color-text-primary),0 10px 30px var(--color-shadow)}}@media print{.business-card-container{width:3.5in;height:2in;perspective:none}.business-card,.business-card-inner{transform:none!important;box-shadow:none;border:1pt solid var(--color-dark);background-color:var(--color-card-bg)}.business-card-front,.business-card-back{box-shadow:none;border:none;background:var(--color-card-bg);color:var(--color-text-primary)}.business-card-back{display:none}}html[data-theme=dark] .business-card-front,html[data-theme=dark] .business-card-back{box-shadow:0 8px 32px var(--color-shadow-xl)}html[data-theme=dark] .business-card-container{background:radial-gradient(circle at center,var(--portal-alpha-white-02, rgba(255, 255, 255, .02)),transparent)}}@layer components{.intro-nav{display:flex;align-items:center;justify-content:space-between;width:525px;max-width:525px;margin-top:1rem;padding:1.5rem;box-sizing:border-box;opacity:0}.intro-nav-link-wrapper{overflow:hidden}.intro-nav-link{font-family:var(--font-family-acme),"Acme",sans-serif;font-size:clamp(1.5rem,4vw,2rem);font-weight:var(--font-weight-regular);line-height:var(--line-height-tight);text-transform:uppercase;opacity:0;text-shadow:0 2px 4px var(--color-shadow);letter-spacing:var(--letter-spacing-widest);color:var(--color-dark);text-decoration:none;padding:1.5rem 0;transition:color var(--transition-fast) var(--cubic-default);position:relative}.intro-nav-link:hover{color:var(--color-accent);opacity:.9}.intro-nav-link:focus{outline:none;box-shadow:none;border:none}.intro-nav-link:focus-visible{outline-offset:4px}.intro-nav-separator{display:none}@media(max-width:767px){.intro-nav{width:380px;max-width:380px;margin-top:.75rem;padding:.5rem 1.25rem}.intro-nav-link{font-size:clamp(1.25rem,5vw,2rem)}}@media(max-width:479px){.intro-nav{width:315px;max-width:315px;margin-top:.5rem;padding:.5rem 1rem}.intro-nav-link{font-size:clamp(1.125rem,6vw,1.75rem);letter-spacing:var(--letter-spacing-widest)}}}@layer components{.intro-morph-overlay{position:fixed;top:var(--header-height);left:0;width:100vw;height:calc(100vh - var(--header-height) - var(--footer-height));z-index:var(--z-index-50);background-color:var(--color-neutral-300);display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:1;visibility:visible;transition:opacity .5s ease,visibility .5s ease;will-change:opacity,visibility}.intro-complete .intro-morph-overlay,.intro-finished .intro-morph-overlay{opacity:0;visibility:hidden}.paw-exit .intro-morph-overlay{top:var(--header-height);height:calc(100vh - var(--header-height) - var(--footer-height))}.intro-morph-overlay.hidden{opacity:0;visibility:hidden}.intro-morph-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible}.morph-paw{fill:var(--color-text-primary);stroke:none;transform-origin:center center;will-change:transform,opacity}.morph-card-group{opacity:1;visibility:visible;filter:url(#card-shadow-light)}html[data-theme=dark] .morph-card-group{filter:url(#card-shadow-dark)}.morph-card-group .cls-1{fill:none}.morph-card-group .cls-2{fill:var(--color-svg-text-right)}.morph-card-group .cls-3,#morph-card{fill:var(--color-off-white);stroke:var(--color-text-primary);stroke-miterlimit:10;stroke-width:5px}@media(max-width:767px){.intro-morph-overlay{display:flex;opacity:1;visibility:visible}}@media(prefers-reduced-motion:reduce){.intro-morph-overlay{display:none;opacity:0;visibility:hidden}}}@layer components{[data-page=client-portal] .footer:not(.portal-footer),[data-page=admin] .footer:not(.admin-footer){display:none}.footer{position:fixed;bottom:0;left:0;right:0;height:var(--footer-height, 40px);background:var(--color-neutral-300);padding:var(--spacing-sm) 0;font-size:var(--font-size-sm);color:var(--color-dark);text-align:center;z-index:50;display:flex;align-items:center;justify-content:center;opacity:1;visibility:visible}.intro-loading .footer,.intro-complete .footer,.intro-complete.intro-finished .footer,.paw-exit .footer{opacity:1;visibility:visible}.footer-text{margin:0}[data-theme=dark] .footer{background:var(--color-neutral-300);color:var(--color-dark)}@media(max-width:767px){.footer{position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--color-neutral-300)}}}@layer pages{@media(min-width:768px){.about-section{min-height:calc(100vh - var(--header-height) - var(--footer-height));display:grid;place-items:center;padding:clamp(2rem,4vw,4rem);box-sizing:border-box;width:100%;position:relative}.about-content{display:block;max-width:100%;width:100%;margin:0 auto;padding:0;box-sizing:border-box}.about-layout{display:flex;gap:1rem;align-items:flex-start;width:100%}.about-image-column{flex-shrink:0}.about-photo{width:300px;height:auto;border:var(--border-width-heavy) solid var(--color-dark);display:block}.about-text-column{display:flex;flex-direction:column;flex:1;max-width:700px;gap:0;padding-top:0}.about-section .section-heading{font-size:clamp(4rem,9vw,6rem);margin-bottom:.5rem}.about-section .section-divider{width:95%}.about-text-column p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-dark);margin:0 0 1.25rem}.about-text-column p:last-child{margin-bottom:0}.about-section .tech-stack-viewport,.about-section .tech-stack-desktop,section.about-section .tech-stack-viewport,section.about-section .tech-stack-desktop{display:none}}@media(min-width:1200px){.about-layout{gap:2rem}}}@layer pages{section.contact-section .contact-hero-desktop{display:none;visibility:hidden;opacity:0;pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;justify-content:center;align-items:center;background:var(--color-neutral-300);z-index:var(--z-index-elevated);cursor:default}@media(min-width:768px){.contact-hero-desktop{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:var(--color-neutral-300);z-index:var(--z-index-elevated);cursor:default;opacity:0;visibility:hidden}.contact-hero-desktop.hero-revealed{opacity:0;visibility:hidden;pointer-events:none}.contact-hero-desktop .text-animation-svg{width:90%;max-width:1200px;height:auto;max-height:80vh;will-change:transform}}.contact-section{min-height:calc(100vh - var(--header-height) - var(--footer-height));height:calc(100vh - var(--header-height) - var(--footer-height));display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:1.5rem;box-sizing:border-box;position:relative;overflow:visible}.contact-content{display:flex;flex-direction:column;width:100%;max-width:580px;margin:0 auto;padding:0;box-sizing:border-box}section.contact-section .section-heading{font-size:var(--font-size-5xl);overflow:visible;position:relative}.contact-layout{display:block;width:100%;margin-top:0;overflow:visible}.contact-form-column{width:100%;position:relative;z-index:var(--z-index-content)}p.contact-options{display:block;margin-bottom:1rem;font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-primary);text-align:left;overflow-wrap:break-word}.avatar-blurb-svg{width:100%;height:auto;display:block}.avatar-blurb-svg #MAIN,.avatar-blurb-svg #NOSE,.avatar-blurb-svg #EAR{fill:var(--color-dark);opacity:.12}.avatar-blurb-svg #EYE{fill:var(--color-off-white);filter:url(#eye-glow);opacity:.5}.avatar-blurb-svg .star-glow,.avatar-blurb-svg #STAR_GLOW{fill:var(--color-off-white);stroke:none;filter:url(#star-glow);transform-origin:center center}.contact-form{width:100%;margin:0;padding:0;border:none;border-radius:0;background-color:transparent;box-sizing:border-box;box-shadow:none;overflow:visible;display:flex;flex-direction:column;gap:0}.submit-row{position:relative;display:flex;align-items:center;margin-top:1rem}@media(max-width:1100px){section.contact-section .section-heading{font-size:var(--font-size-4xl)}.contact-section{padding:2rem}}@media(min-width:1200px){.contact-section{padding:2rem}}.contact-card-front{position:relative}.contact-card-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:2rem;box-sizing:border-box;pointer-events:auto;z-index:var(--z-index-elevated)}.contact-card-text{color:var(--color-text-primary);font-size:var(--font-size-xl);line-height:var(--line-height-relaxed);text-align:left;margin:0}.contact-card-link{font-weight:var(--font-weight-extrabold);text-decoration:underline;color:var(--color-text-primary);transition:color var(--transition-mouse) ease}.contact-card-link:hover,.contact-card-link:focus{color:var(--color-accent)}.contact-option-link{font-weight:var(--font-weight-extrabold);text-decoration:underline}.input-wrapper{overflow:hidden;position:relative;padding:0;width:100%;box-sizing:border-box;display:flex;flex-direction:column}.contact-form .input-wrapper:first-of-type{border:var(--contact-field-border-width) solid var(--contact-field-border-color)}.contact-form .input-wrapper+.input-wrapper{border:var(--contact-field-border-width) solid var(--contact-field-border-color);border-top:none}.contact-form .input-item{display:flex;flex-direction:column;position:relative;overflow:visible;max-width:100%}.contact-form label.text-small{display:none}.input-item input,.input-item textarea{background:inherit;border:none;border-radius:0;color:var(--color-text-primary);caret-color:var(--color-accent);font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-regular);box-sizing:border-box;outline:none;box-shadow:none;position:relative;z-index:var(--z-index-base);-webkit-appearance:none;--placeholder-opacity: 0}.input-item input{width:100%;height:var(--contact-input-height);padding:.78rem .85rem;line-height:var(--line-height-snug)}.input-item textarea{width:100%;max-width:100%;min-height:var(--contact-textarea-height, 175px);height:auto;resize:none;overflow:hidden;padding:.78rem .85rem;line-height:var(--line-height-normal)}.input-item input::-moz-placeholder,.input-item textarea::-moz-placeholder{color:var(--color-text-tertiary);opacity:var(--placeholder-opacity, 0);font-style:normal}.input-item input::placeholder,.input-item textarea::placeholder{color:var(--color-text-tertiary);opacity:var(--placeholder-opacity, 0);font-style:normal}.contact-form .input-wrapper:focus-within{z-index:var(--z-index-content);position:relative}.contact-form .input-item input:focus,.contact-form .input-item input:focus-visible,.contact-form .input-item textarea:focus,.contact-form .input-item textarea:focus-visible{outline:none;box-shadow:none}.contact-form input:-webkit-autofill,.contact-form input:-webkit-autofill:hover,.contact-form input:-webkit-autofill:focus,.contact-form input:-webkit-autofill:active{-webkit-text-fill-color:var(--color-text-primary)!important;box-shadow:0 0 0 100px var(--color-bg-primary) inset!important;-webkit-box-shadow:0 0 0px 100px var(--color-bg-primary) inset!important}.submit-button{display:inline-flex;align-items:center;gap:.55rem;background:inherit;border:var(--portal-btn-border-width, 2px) solid currentColor;border-bottom-width:var(--portal-btn-border-bottom-width, 6px);border-radius:0;box-shadow:none;padding:.9375rem 1.875rem;font-family:var(--font-family-body, inherit);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-text-primary);cursor:pointer;z-index:var(--z-index-20);overflow:visible}.submit-button:focus,.submit-button:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}.submit-button span{font-size:inherit;font-weight:inherit;color:inherit}.contact-form .submit-button.form-sent span{font-size:inherit;font-weight:inherit}.contact-form .submit-button.form-sent svg{display:none}.submit-button.loading{pointer-events:none}.submit-button .btn-icon{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;overflow:visible}.submit-button .btn-icon .arrow-group,.submit-button .btn-icon .bow-group{transform-origin:center center}html[data-theme=dark] .input-item input,html[data-theme=dark] .input-item textarea{color:var(--color-text-primary);caret-color:var(--color-accent);-webkit-text-fill-color:var(--color-text-primary)}.contact-bg-avatar{position:absolute;bottom:6%;right:5%;width:min(55vw,520px);pointer-events:none;z-index:var(--z-index-base)}.contact-bg-avatar .avatar-blurb-container{width:100%}.email-box{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0}.email-box .a-wrapper{left:0}.email-box>span{font-size:clamp(.75rem,2vw,.875rem);color:var(--color-text-primary);opacity:.7}.email-box .a-wrapper a{font-size:clamp(.875rem,2.5vw,1rem);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-mouse) ease}.email-box .a-wrapper a:hover,.email-box .a-wrapper a:focus{color:var(--color-accent)}.form-error-tooltip{position:absolute;top:50%;transform:translateY(-50%);background:var(--color-danger);color:var(--color-gray-50);padding:.5rem .75rem;font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-regular);border:1px solid var(--color-danger);border-radius:0;white-space:nowrap;z-index:var(--z-index-20, 20)}.form-error-tooltip:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--color-danger)}.form-error-tooltip ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.form-error-tooltip li:before{content:"*";margin-right:.4rem;font-weight:var(--font-weight-bold);font-size:1.2em}section.contact-section .contact-form input.error,section.contact-section .contact-form textarea.error{border-color:var(--color-danger);background-color:inherit}.form-message{padding:clamp(12px,3vw,20px);margin-bottom:clamp(12px,2vw,16px);border-radius:var(--border-radius-md, 8px);font-weight:var(--font-weight-semibold);font-size:clamp(.9rem,2.5vw,1.1rem);text-align:center;line-height:var(--line-height-snug)}.form-message.success{background-color:transparent;color:var(--color-text-primary);border:none}.form-message.error{background-color:transparent;color:var(--color-danger);border:none}@media(prefers-contrast:high){.input-item input,.input-item textarea,.submit-button{border-width:var(--border-width-thick)}}@media(prefers-reduced-motion:reduce){.input-item input,.input-item textarea,.submit-button,label.text-small{transition:none!important;animation:none!important}.submit-button{opacity:1;transform:translate(0)}.email-box{opacity:1;filter:blur(0)}.input-item{transform:translateY(0)}}}@layer pages{section.projects-hero-desktop,section.page-hero-desktop[data-hero-page=projects],div.projects-hero-desktop,div.page-hero-desktop[data-hero-page=projects]{display:none;visibility:hidden;opacity:0;pointer-events:none}.projects-hero{padding:4rem 0 2rem;text-align:center;background:linear-gradient(135deg,var(--color-bg) 0%,var(--color-surface) 100%)}.projects-hero .container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.hero-content{max-width:600px;margin:0 auto}.hero-title{font-size:clamp(2.5rem,6vw,4rem);font-family:var(--font-family-acme);line-height:var(--line-height-tight);text-transform:uppercase;text-shadow:0 2px 4px var(--color-shadow);font-weight:var(--font-weight-bold);margin-bottom:1.5rem;color:var(--color-dark)}.hero-title .title-line{display:block}.hero-title .accent{background:linear-gradient(135deg,var(--color-accent),var(--color-accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-description{font-size:var(--font-size-xl);color:var(--color-text-primary);line-height:var(--line-height-relaxed);margin-bottom:0}.projects-filter{padding:3rem 0 2rem;border-bottom:var(--border-width) solid var(--color-border)}.filter-wrapper{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.filter-group{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;align-items:center}.filter-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--color-surface);color:var(--color-text-primary);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-full, 9999px);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-normal) var(--ease-out);cursor:pointer;white-space:nowrap}.filter-btn:hover{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-accent-rgb),.2)}.filter-btn.active{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent);box-shadow:0 2px 8px rgba(var(--color-accent-rgb),.2)}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;background:var(--portal-alpha-white-20, rgba(255, 255, 255, .2));border-radius:var(--border-radius-full, 9999px);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:1}.filter-btn.active .filter-count{background:var(--portal-alpha-black-20, rgba(0, 0, 0, .2))}.projects-grid-section{padding:3rem 0 4rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.project-card{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-lg, 12px);overflow:hidden;transition:all var(--transition-normal) var(--ease-out);height:100%;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elevated-md);border-color:var(--color-accent)}.project-card-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}.project-card-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--color-border)}.project-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--transition-normal) var(--ease-out)}.project-card:hover .project-card-image img{transform:scale(1.05)}.project-card-overlay{position:absolute;inset:0;background:rgba(var(--color-accent-rgb),.9);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-normal) var(--ease-out)}.project-card:hover .project-card-overlay{opacity:1}.view-project{color:var(--color-bg);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg)}.project-card-content{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.project-card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-dark);margin:0;line-height:var(--line-height-snug);flex-grow:1}.project-card-category{background:var(--color-accent);color:var(--color-bg);padding:.25rem .5rem;border-radius:var(--border-radius-xs, 2px);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-label);white-space:nowrap}.project-card-description{color:var(--color-text-primary);line-height:var(--line-height-relaxed);margin-bottom:1rem;flex-grow:1}.project-card-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.project-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:var(--border-width) solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-primary)}.project-card-status{padding:.25rem .5rem;border-radius:var(--border-radius-sm, 4px);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:capitalize}.status-completed{background:var(--color-status-completed-bg);color:var(--color-status-completed-text)}.status-in-progress{background:var(--color-status-progress-bg);color:var(--color-status-progress-text)}.projects-loading{text-align:center;padding:3rem 0}.projects-loading .spinner{width:40px;height:40px;border:var(--border-width-thick) solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--border-radius-full, 50%);margin:0 auto 1rem}section.page-hero-desktop,div.page-hero-desktop{display:none;visibility:hidden;opacity:0;pointer-events:none}@media(max-width:767px){.projects-hero{padding:2rem 0 1.5rem}.hero-title{font-size:var(--font-size-3xl);margin-bottom:1rem}.hero-description{font-size:var(--font-size-lg)}.projects-filter{padding:2rem 0 1.5rem}.filter-group{gap:.75rem}.filter-btn{padding:.6rem 1rem;font-size:var(--font-size-sm)}.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.project-card-category{align-self:flex-start}}@media(max-width:479px){.hero-title{font-size:var(--font-size-2xl)}.hero-description{font-size:var(--font-size-base)}.filter-group{justify-content:flex-start;overflow-x:auto;padding-bottom:.5rem}.filter-btn{flex-shrink:0}.project-card-content{padding:1.25rem}}[data-theme=dark] .projects-hero{background:linear-gradient(135deg,var(--color-bg) 0%,rgba(var(--color-accent-rgb),.02) 100%)}[data-theme=dark] .filter-btn:hover{box-shadow:0 4px 12px rgba(var(--color-accent-rgb),.3)}[data-theme=dark] .filter-btn.active{box-shadow:0 2px 8px rgba(var(--color-accent-rgb),.3)}[data-theme=dark] .project-card:hover{box-shadow:var(--shadow-elevated-lg)}.work-half-wrapper{width:100%}@media(min-width:768px){.work-half-wrapper{width:100%}}.work-card{overflow:hidden}.card-container{height:90px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;pointer-events:auto;border-bottom:var(--border-width) solid var(--color-dark);transform:translateY(-105%);animation:project-drop-in var(--transition-length, .5s) cubic-bezier(.3,.9,.3,.9) forwards;transition:border-color var(--transition-theme, .4s)}.card-container.index-0{animation-delay:.3s}.card-container.index-1{animation-delay:.4s}.card-container.index-2{animation-delay:.5s}.card-container.index-3{animation-delay:.6s}.card-container.index-4{animation-delay:.7s}.card-container.leaving{pointer-events:none;transform:translateY(0);animation:project-drop-out var(--transition-length, .5s) cubic-bezier(.3,.9,.3,.9) forwards}.card-container.leaving.index-0{animation-delay:.1s}.card-container.leaving.index-1{animation-delay:.15s}.card-container.leaving.index-2{animation-delay:.2s}.card-container.leaving.index-3{animation-delay:.25s}.card-container.leaving.index-4{animation-delay:.3s}.project-card-title{display:flex;align-items:center;gap:.5rem;transform:translate(-30px);margin-right:-30px;transition:transform var(--transition-mouse, .2s);flex:1;min-width:0;overflow:hidden}.project-card-title svg{height:50px;width:50px;fill:var(--color-dark);flex-shrink:0;transition:fill var(--transition-theme, .4s)}.card-container:hover .project-card-title,.card-container:focus .project-card-title{transform:translate(0)}.card-container .project-card-title h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-dark);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--transition-theme, .4s)}.card-right-content{display:flex;align-items:center;gap:1rem;white-space:nowrap;transform-origin:right;transition:transform var(--transition-mouse, .2s);flex-shrink:0;margin-left:3rem}.card-container:hover .card-right-content,.card-container:focus .card-right-content{transform:translate(-10px)}.card-category{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-dark);transition:color var(--transition-theme, .4s)}.round-label{background-color:var(--color-dark);padding:var(--icon-gap-xs) var(--space-1-5);border-radius:var(--border-radius-xl, 16px);box-shadow:var(--shadow-elevated-sm);color:var(--color-light);flex-shrink:0;min-width:40px;text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:background-color var(--transition-theme, .4s),color var(--transition-theme, .4s),box-shadow var(--transition-theme, .4s)}@keyframes project-drop-in{0%{transform:translateY(-105%)}to{transform:translateY(0)}}@keyframes project-drop-out{0%{transform:translateY(0)}to{transform:translateY(105%)}}.projects-section .heading-divider{background-color:var(--color-dark);height:4px;border-radius:var(--border-radius-xs, 2px) 0 var(--border-radius-sm, 4px) var(--border-radius-xs, 2px);transform:scaleX(0);transform-origin:bottom left;animation:scale-in-left var(--transition-long, .8s) cubic-bezier(.3,.9,.3,.9) .4s forwards;transition:background-color var(--transition-theme, .4s)}@keyframes scale-in-left{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(min-width:600px)and (max-width:1100px){.projects-section .section-heading{margin-top:0;margin-bottom:.25rem}.projects-section .section-divider{margin-bottom:2rem}.wip-sign{width:70vw;max-width:none;margin:10rem auto 0}.card-container .project-card-title h3{font-size:var(--font-size-xl)}.card-category{font-size:var(--font-size-sm)}}@media(max-width:767px){.projects-content{flex-direction:column;gap:0;padding:4rem 1rem 6rem;align-items:stretch;width:100%;max-width:100%}.projects-flex-row{flex-direction:column;width:100%;gap:0}.projects-list-column{width:100%;flex-shrink:0}.work-half-wrapper{width:100%}.card-container{height:80px}.project-card-title svg{height:40px;width:40px}.card-container .project-card-title h3{font-size:var(--font-size-lg)}.card-container:hover .card-right-content,.card-container:focus .card-right-content{transform:none}.card-category{font-size:var(--font-size-sm)}.round-label{padding:var(--space-0-5) var(--icon-gap-md);font-size:var(--font-size-xs)}.wip-sign-container{max-width:100%;width:100vw;display:flex;justify-content:center;align-items:center;align-self:center;padding:0;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}.wip-sign{width:70vw;max-width:none;margin:10rem auto 0;display:block;transform:translate(8%) scale(1.15)}}@media(max-width:479px){.projects-content{gap:0;padding:0}.card-container{height:70px}.project-card-title svg{height:35px;width:35px}.card-container .project-card-title h3{font-size:var(--font-size-base)}.card-category{font-size:var(--font-size-xs)}.wip-sign-container{width:100vw;align-self:center;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}.wip-sign{width:70vw;max-width:none;margin:10rem auto 0;display:block;transform:translate(8%) scale(1.2)}}.crt-tv{display:none}@media(min-width:1200px){.crt-tv{display:block;position:sticky;top:120px;width:550px;flex-shrink:0;align-self:flex-start}}.projects-flex-row{display:flex;flex-direction:column;gap:2rem;width:100%}.projects-list-column{display:flex;flex-direction:column;flex:1;min-width:0}.projects-list-column h2{margin:0 0 .25rem}.projects-list-column hr,.projects-list-column .heading-divider{margin:0 0 2rem}@media(min-width:1200px){.projects-flex-row{flex-direction:row;gap:8rem;align-items:flex-start}}.crt-tv__wrapper{position:relative;width:100%}.crt-tv__screen-bg{position:absolute;top:0;left:0;width:100%;height:auto;z-index:var(--z-index-content)}.crt-tv__screen{position:absolute;top:19.1%;left:9.2%;width:81.4%;height:59%;overflow:hidden;z-index:var(--z-index-content)}.crt-tv__frame{position:relative;width:100%;height:auto;display:block;z-index:var(--z-index-content)}.crt-tv__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:0}.crt-tv__image.is-visible{opacity:1}.crt-tv__scanlines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,var(--portal-alpha-black-10, rgba(0, 0, 0, .1)) 0px,var(--portal-alpha-black-10, rgba(0, 0, 0, .1)) 1px,transparent 1px,transparent 2px);pointer-events:none}.crt-tv__static{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");opacity:0;pointer-events:none}.crt-tv__glare{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 30%,var(--portal-alpha-white-08, rgba(255, 255, 255, .08)) 0%,transparent 50%);pointer-events:none}}.project-detail-section{display:flex;flex-direction:column;align-items:center;padding:var(--space-8);box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch}.worksub-wrapper{width:100%;max-width:1000px;margin:0 auto;padding-top:var(--space-8);display:flex;flex-direction:column;gap:var(--space-8)}@media(min-width:768px){.project-detail-section{padding:clamp(1rem,4vw,2rem) clamp(2rem,10vw,10%)}.worksub-wrapper{padding-top:60px}}.back-button{position:fixed;left:3%;top:50%;width:80px;height:80px;border-radius:50%;background-color:var(--color-dark);box-shadow:var(--shadow-elevated-sm);cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;animation:back-button-slide-in var(--transition-long, .8s) .8s both;transition:background-color var(--transition-theme, .4s),box-shadow var(--transition-theme, .4s);z-index:var(--z-index-elevated)}.back-button svg{width:40px;height:40px;stroke:var(--color-light);transform:rotate(9deg);transition:transform var(--transition-mouse, .2s) cubic-bezier(.25,.1,.25,3.5),stroke var(--transition-theme, .4s)}.back-button:hover svg{transform:rotate(0)}.back-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@keyframes back-button-slide-in{0%{opacity:0;transform:translate(-170%,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes back-button-slide-out{0%{opacity:1;transform:translateY(-50%)}to{opacity:0;transform:translate(-170%,-50%)}}.back-button.leaving{animation:back-button-slide-out var(--transition-length, .5s) forwards}@media(max-width:1399px){.back-button{display:none}}.back-link{display:none;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;margin-bottom:var(--space-4);padding:var(--space-2) 0;cursor:pointer;transition:color var(--transition-mouse, .2s)}.back-link:hover{color:var(--color-dark)}.back-link svg{width:16px;height:16px;stroke:currentColor;transition:transform var(--transition-mouse, .2s)}.back-link:hover svg{transform:translate(calc(-1 * var(--space-1)))}@media(max-width:1399px){.back-link{display:flex}}.worksub-header{width:100%;animation:header-img-fade-in var(--transition-length, .5s) .3s both}.worksub-header figure{margin:0;aspect-ratio:12 / 7;overflow:hidden;border-radius:12px;box-shadow:var(--shadow-elevated-md)}.worksub-hero-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;border-radius:inherit}.worksub-hero-img.placeholder{background:linear-gradient(135deg,var(--color-neutral-400) 0%,var(--color-neutral-500) 100%);display:flex;align-items:center;justify-content:center}@keyframes header-img-fade-in{0%{opacity:0;transform:translateY(-30%)}to{opacity:1;transform:translateY(0)}}@keyframes header-img-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-60%)}}.worksub-intro{animation:worksub-fade-in var(--transition-length, .5s) .5s both}.worksub-intro h1{font-size:var(--font-size-4xl);font-family:var(--font-family-acme);font-weight:var(--font-weight-bold);text-transform:uppercase;color:var(--color-dark);margin:0 0 var(--space-6);line-height:var(--line-height-tight)}.intro-content{display:flex;flex-direction:column;gap:var(--space-8)}@media(min-width:992px){.intro-content{flex-direction:row;gap:var(--space-12);align-items:flex-start}}.intro-left{display:flex;flex-direction:column;gap:var(--space-4);flex-shrink:0}@media(min-width:768px){.intro-left{flex-direction:row;align-items:baseline;justify-content:space-between;width:100%}.intro-left-row{flex:1;justify-content:space-around}}@media(min-width:992px){.intro-left{flex-direction:column;width:240px;flex-shrink:0}}.intro-left-group{display:flex;flex-direction:column;gap:var(--space-2)}.intro-left-row{display:flex;gap:var(--space-8)}.intro-left-group .round-label{width:-moz-fit-content;width:fit-content;background-color:transparent;box-shadow:none;padding:0;color:var(--color-text-muted, var(--portal-alpha-black-50, rgba(0, 0, 0, .5)));font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-widest)}[data-theme=dark] .intro-left-group .round-label{color:var(--color-neutral-700)}.intro-left-group .text-medium{color:var(--color-dark);font-weight:var(--font-weight-medium)}[data-theme=dark] .intro-left-group .text-medium{color:var(--color-dark)}.tools-section{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6)}.tools-section .round-label{width:-moz-fit-content;width:fit-content;background-color:transparent;box-shadow:none;padding:0;color:var(--color-text-muted, var(--portal-alpha-black-50, rgba(0, 0, 0, .5)));font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-widest)}[data-theme=dark] .tools-section .round-label{color:var(--color-neutral-700)}.tools-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tools-list .tool-tag{background:var(--color-dark);color:var(--color-light);padding:var(--space-1) var(--space-2-5);border-radius:var(--border-radius-sm, 4px);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-theme, .4s),color var(--transition-theme, .4s)}.intro-content>p{color:var(--color-dark);font-size:var(--font-size-lg);line-height:1.7;margin:0;flex:1}@media(max-width:767px){.intro-content>p{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}}.worksub-divider{width:100%;height:var(--space-0-5);border:none;background-color:var(--color-dark);margin:var(--space-8) 0 0;border-radius:var(--border-radius-xs, 2px) 0 var(--border-radius-xs, 2px) var(--border-radius-xs, 2px);transition:background-color var(--transition-theme, .4s)}@keyframes worksub-fade-in{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@keyframes worksub-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100px)}}.worksub-info{display:flex;flex-direction:column;gap:var(--space-12);margin:var(--space-8) 0}.worksub-info section{display:flex;flex-direction:column;gap:var(--space-6)}.worksub-info figure{margin:0;display:flex;flex-direction:column;gap:var(--space-4)}.worksub-info figure img{width:100%;border-radius:var(--border-radius-lg, 12px);box-shadow:var(--shadow-elevated-sm)}.section-heading-wrapper{display:flex;align-items:center;gap:var(--space-3)}.section-heading-wrapper svg{width:24px;height:24px;stroke:var(--color-dark);flex-shrink:0;transition:stroke var(--transition-theme, .4s)}.section-heading-wrapper h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-dark);margin:0}.double-img-wrapper{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media(min-width:768px){.double-img-wrapper{grid-template-columns:1fr 1fr}}.worksub-info figure img.phone-screen,.worksub-info figure img.mobile-page{max-width:300px;margin:0 auto;border-radius:var(--border-radius-xl, 16px)}.worksub-info figure img.app-icon{max-width:200px;margin:0 auto}.worksub-info figure img.medium-image{max-width:640px;margin:0 auto}.worksub-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-8) 0;border-top:var(--border-width) solid var(--color-dark)}.worksub-links a{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background-color:var(--color-dark);color:var(--color-light);border-radius:var(--border-radius-full, 9999px);font-weight:var(--font-weight-semibold);text-decoration:none;transition:transform var(--transition-mouse, .2s),background-color var(--transition-theme, .4s),color var(--transition-theme, .4s)}.worksub-links a:hover{transform:translateY(-2px)}.worksub-links a svg{width:20px;height:20px;stroke:currentColor}.worksub-links:empty{display:none}@media(max-width:767px){.project-detail-section{padding:var(--space-3) var(--space-4)}.worksub-wrapper{padding-top:var(--space-2);gap:var(--space-4)}.worksub-divider{display:none}.back-link{margin-bottom:0}.worksub-header figure{aspect-ratio:2 / 1;border-radius:8px;box-shadow:var(--shadow-elevated-sm)}.worksub-intro{display:flex;flex-direction:column;gap:0}.title-row{flex-direction:row;align-items:center;gap:var(--space-2);margin-bottom:0;flex-wrap:wrap}.worksub-intro h1{font-size:var(--font-size-2xl);margin-bottom:0}.title-row .project-status-badge{padding:4px 10px;font-size:10px;flex-shrink:0;line-height:1.3;border-radius:5px;letter-spacing:.05em;margin-left:auto;margin-right:0}.worksub-intro .project-tagline{margin:0 0 var(--space-2);font-size:15px;color:var(--color-text-muted)}.intro-left-group{flex-direction:row;align-items:baseline;gap:var(--space-2)}.intro-left-group .round-label{font-size:var(--font-size-2xs);min-width:-moz-max-content;min-width:max-content}.intro-left-group .text-medium{font-size:var(--font-size-sm)}.intro-content>p,.intro-content>.text-medium{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.tools-section{margin-top:var(--space-3);gap:var(--space-1)}.tools-section .round-label{font-size:var(--font-size-2xs)}.tools-list{gap:var(--space-1)}.tools-list .tool-tag{font-size:var(--font-size-xs);padding:2px var(--space-2)}.intro-content{gap:var(--space-3)}.intro-left{flex-direction:row;gap:var(--space-4)}.intro-left-row{gap:var(--space-4)}.worksub-case-study{gap:var(--space-6);margin:0}.case-study-section{gap:var(--space-2)}.case-study-heading{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-label);padding-bottom:var(--space-1)}.case-study-text{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.case-study-list li{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);padding-left:var(--space-4)}.worksub-info{gap:var(--space-6);margin:0}.worksub-info section{gap:var(--space-3)}.worksub-links{border-top:none;padding-top:0;margin-top:0;gap:var(--space-2);flex-wrap:nowrap}.worksub-links a{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);flex:1;justify-content:center}.worksub-links a svg{width:16px;height:16px}.project-nav{margin-top:0;padding:0 0 var(--space-4);gap:var(--space-2)}.project-nav-next{margin-left:auto;align-items:flex-end;text-align:right}}@media(max-width:400px){.project-detail-section{padding:var(--space-2) var(--space-3)}.worksub-info figure img.phone-screen,.worksub-info figure img.mobile-page{max-width:250px}}[data-theme=dark] .worksub-header figure{box-shadow:var(--shadow-elevated-lg)}[data-theme=dark] .worksub-info figure img{box-shadow:var(--shadow-elevated-sm)}[data-theme=dark] .worksub-intro h1{color:var(--color-dark)}[data-theme=dark] .intro-content>p{color:var(--color-dark)}[data-theme=dark] .worksub-links{border-top-color:var(--color-dark)}[data-theme=dark] .section-heading-wrapper h2{color:var(--color-dark)}[data-theme=dark] .section-heading-wrapper svg{stroke:var(--color-dark)}[data-theme=dark] .worksub-divider{background-color:var(--color-dark)}.worksub-case-study{display:flex;flex-direction:column;gap:var(--space-10);margin:var(--space-8) 0}.case-study-section{display:flex;flex-direction:column;gap:var(--space-4)}.case-study-heading{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-dark);margin:0;padding-bottom:var(--space-2);border-bottom:var(--border-width) solid var(--color-dark)}[data-theme=dark] .case-study-heading{color:var(--color-dark);border-bottom-color:var(--color-dark)}.case-study-text{font-size:var(--font-size-lg);line-height:1.7;color:var(--color-dark);margin:0}[data-theme=dark] .case-study-text{color:var(--color-dark)}.case-study-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.case-study-list li{position:relative;padding-left:var(--space-6);font-size:var(--font-size-md);line-height:var(--line-height-relaxed);color:var(--color-dark)}[data-theme=dark] .case-study-list li{color:var(--color-dark)}.case-study-list li:before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;background-color:var(--color-dark);border-radius:var(--border-radius-full, 50%);transition:background-color var(--transition-theme, .4s)}[data-theme=dark] .case-study-list li:before{background-color:var(--color-dark)}.results-list li:before{content:"";width:6px;height:6px;background-color:var(--color-dark);border-radius:var(--border-radius-full, 50%)}[data-theme=dark] .results-list li:before{background-color:var(--color-dark)}@media(max-width:767px){.case-study-list{gap:0}.case-study-text,#project-description{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.case-study-list li{font-size:var(--font-size-sm)}}.title-row{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-2)}.title-row h1{margin:0}.project-tagline{font-size:var(--font-size-xl);color:var(--color-text-muted, var(--portal-alpha-black-60, rgba(0, 0, 0, .6)));margin:var(--space-2) 0 var(--space-6) 0;font-style:italic}[data-theme=dark] .project-tagline{color:var(--color-neutral-700)}.project-status-badge{display:inline-flex;align-items:center;padding:var(--space-1-5) var(--space-3-5);border-radius:var(--border-radius-xl, 16px);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-label)}.project-status-badge.status-in-progress{background-color:var(--color-warning);color:var(--color-text-primary)}.project-status-badge.status-completed{background-color:var(--color-success);color:var(--color-off-white)}.project-status-badge.status-planned{background-color:var(--color-info);color:var(--color-off-white)}.project-nav{display:flex;justify-content:space-between;align-items:stretch;gap:var(--space-4);padding-top:var(--space-8);border-top:var(--border-width) solid var(--color-dark)}[data-theme=dark] .project-nav{border-top-color:var(--color-dark)}.project-nav-link{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-4) var(--space-6);text-decoration:none;color:var(--color-dark);background-color:transparent;border:var(--border-width) solid var(--color-dark);border-radius:var(--border-radius-lg, 12px);transition:background-color var(--transition-fast, .2s),transform var(--transition-fast, .2s),border-color var(--transition-fast, .2s);flex:1;max-width:45%}.project-nav-link:hover{background-color:var(--portal-alpha-black-05, rgba(0, 0, 0, .05));transform:translateY(-2px)}.project-nav-link svg{width:20px;height:20px;stroke:currentColor;flex-shrink:0}.project-nav-prev{align-items:flex-start}.project-nav-prev svg{margin-bottom:var(--space-2)}.project-nav-next{align-items:flex-end;text-align:right;margin-left:auto}.project-nav-next svg{margin-bottom:var(--space-2)}.project-nav-label{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-widest);font-weight:var(--font-weight-semibold);color:var(--portal-alpha-black-50, rgba(0, 0, 0, .5))}.project-nav-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-dark)}[data-theme=dark] .project-nav-link{background-color:transparent;border-color:var(--color-dark);color:var(--color-dark)}[data-theme=dark] .project-nav-link:hover{background-color:var(--portal-alpha-white-05, rgba(255, 255, 255, .05))}[data-theme=dark] .project-nav-label{color:var(--color-neutral-700)}[data-theme=dark] .project-nav-title{color:var(--color-dark)}@media(max-width:767px){.title-row{flex-direction:row;align-items:center;gap:var(--space-2);flex-wrap:wrap}.project-nav{border-top:none}.project-nav-link{padding:var(--space-1-5) var(--space-2-5);border-radius:var(--border-radius-md, 8px);gap:var(--space-1);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto}.project-nav-link svg{width:14px;height:14px;margin-bottom:0}.project-nav-prev svg{order:0;grid-row:1;grid-column:1;align-self:center}.project-nav-prev .project-nav-label{order:1;grid-row:1;grid-column:2}.project-nav-prev .project-nav-title{order:2;grid-row:2;grid-column:1 / -1}.project-nav-next{grid-template-columns:1fr auto;text-align:right}.project-nav-next .project-nav-label{order:0;grid-row:1;grid-column:1}.project-nav-next svg{order:1;grid-row:1;grid-column:2;align-self:center}.project-nav-next .project-nav-title{order:2;grid-row:2;grid-column:1 / -1}.project-nav-title{font-size:var(--font-size-sm)}.project-nav-label{font-size:var(--font-size-2xs)}}@layer pages{.terminal{font-family:var(--terminal-font-family);background-color:var(--color-terminal-bg);color:var(--color-terminal-green);display:flex;flex-direction:column;padding:0;margin:0;overflow:visible;font-size:var(--terminal-font-size);font-weight:var(--font-weight-medium);line-height:var(--terminal-line-height);width:100%;min-width:100%}html[data-theme=dark] .terminal,html[data-theme=light] .terminal,html[data-theme=dark] .terminal-intake,html[data-theme=light] .terminal-intake{background-color:var(--color-terminal-bg)}.terminal-intake{font-family:var(--terminal-font-family);background-color:var(--color-terminal-bg);color:var(--color-terminal-green);display:flex;flex-direction:column;padding:0;margin:0;overflow:hidden;font-size:var(--terminal-font-size);font-weight:var(--font-weight-medium);line-height:var(--terminal-line-height);width:100%;height:100%}body[data-page=client-intake] .terminal-intake{min-height:calc(100vh - var(--header-height, 60px) - var(--footer-height, 60px))}body[data-page=client-intake] .terminal-window{max-width:900px;margin:0 auto}.portal #tab-new-project.is-active{display:flex;flex-direction:column;height:calc(100vh - 6rem)}.portal .portal-intake,.portal .terminal-intake-container{flex:1;display:flex;flex-direction:column;align-items:center;min-height:0;width:100%}.portal .portal-intake .terminal-intake{flex:1;min-height:0;height:auto;width:90%;min-width:auto;max-width:900px}.portal .portal-intake .terminal-intake .terminal-window{flex:1;min-height:0;max-height:none;width:100%;min-width:auto}.terminal .confirm-btn{background:var(--color-terminal-green-dark);border:none;color:var(--color-terminal-bg);padding:var(--space-2) var(--space-4);font-family:inherit;font-size:var(--terminal-font-size);font-weight:var(--font-weight-bold);cursor:pointer;text-align:left;border-radius:var(--border-radius-sm, 4px)}.terminal .confirm-btn:hover{background:var(--color-terminal-green);color:var(--color-terminal-bg)}.terminal-avatar-intro{width:100%;display:flex;justify-content:center;align-items:center;padding:1.5rem 0;margin:.5rem 0}.terminal-avatar-wrapper{position:relative;display:inline-block}.terminal-avatar-img{width:150px;height:auto;display:block}svg.terminal-avatar-img image{filter:brightness(0) invert(1) brightness(.9)}svg.terminal-avatar-img #Head{filter:brightness(0) invert(1) brightness(.9)}svg.terminal-avatar-img #Ear{filter:brightness(0) invert(1) brightness(.9)}svg.terminal-avatar-img #Nose{filter:brightness(0) invert(1) brightness(.9)}svg.terminal-avatar-img #Eye,svg.terminal-avatar-img #Eye image{filter:brightness(0)}.terminal-avatar-wrapper:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.08;pointer-events:none;mix-blend-mode:overlay}@media(max-width:767px){.terminal-window{border-left:none;border-right:none}.terminal svg.terminal-avatar-img image,.terminal svg.terminal-avatar-img #Head,.terminal svg.terminal-avatar-img #Head image,.terminal svg.terminal-avatar-img #Ear,.terminal svg.terminal-avatar-img #Ear image,.terminal svg.terminal-avatar-img #Nose,.terminal svg.terminal-avatar-img #Nose image{filter:brightness(0) invert(1) brightness(.9);-webkit-filter:brightness(0) invert(1) brightness(.9)}.terminal svg.terminal-avatar-img #Eye,.terminal svg.terminal-avatar-img #Eye image{filter:brightness(0);-webkit-filter:brightness(0)}body[data-page=client-intake] #main-content{padding:0;margin:0}.terminal-intake-container,.terminal-intake{padding:0;margin:0;width:100%}.terminal-window{max-width:100%;width:100%;margin:0}}@media(max-width:479px){.terminal-intake-container{padding:var(--space-3)}}}@layer pages{.portal-login-form{width:100%;align-self:stretch;margin:0;padding:0;border:none;background-color:transparent;box-shadow:none;overflow:visible;display:none}.portal-login-form.form-active{display:block}.portal-login-form[data-form-type=password],.portal-login-form[data-form-type=magic-link]{min-height:var(--portal-form-height)}}@layer states{section.page-hidden{display:none;opacity:0;visibility:hidden;pointer-events:none;z-index:var(--z-index-behind)}section.page-entering{visibility:hidden;opacity:0}section.page-active:not(.contact-section):not(.about-section):not(.business-card-section){display:block;pointer-events:auto;z-index:var(--z-index-nav)}section.contact-section.page-active{display:grid;pointer-events:auto;z-index:var(--z-index-nav)}section.about-section.page-active{display:grid;pointer-events:auto;z-index:var(--z-index-nav)}section.projects-section.page-active{display:flex;pointer-events:auto;z-index:var(--z-index-nav)}section.project-detail-section.page-active{display:flex;pointer-events:auto;z-index:var(--z-index-nav)}section.admin-login-section.page-active{display:grid;place-items:center;pointer-events:auto;z-index:var(--z-index-nav)}main[data-virtual-pages]>section.contact-section.page-active,main[data-virtual-pages]>section.about-section.page-active{display:grid;pointer-events:auto;z-index:var(--z-index-nav)}@media(max-width:767px){section#about.about-section.page-active,section.about-section#about.page-active{overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain}}section#intro,section.business-card-section{z-index:var(--z-index-10)}section#intro.page-active,section.business-card-section.page-active{z-index:var(--z-index-50)}section#intro.page-hidden,section.business-card-section.page-hidden{display:none;visibility:hidden;opacity:0;pointer-events:none;z-index:var(--z-index-behind)}section#intro.page-hidden .business-card-container,section#intro.page-hidden .business-card,section#intro.page-hidden .intro-nav,section.business-card-section.page-hidden .business-card-container,section.business-card-section.page-hidden .business-card,section.business-card-section.page-hidden .intro-nav{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}@media(min-width:768px){main[data-virtual-pages]{position:fixed;top:var(--header-height);bottom:var(--footer-height);left:0;right:0;width:100%;height:calc(100vh - var(--header-height) - var(--footer-height));height:calc(100dvh - var(--header-height) - var(--footer-height));overflow:hidden;background-color:var(--color-neutral-300)}main[data-virtual-pages]>.projects-section[data-page].page-active{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;overflow:hidden;box-sizing:border-box;padding:clamp(1rem,4vw,2rem)}main[data-virtual-pages]>.projects-section[data-page].page-active>.projects-content{margin-block:auto;width:100%}main[data-virtual-pages]>.project-detail-section[data-page].page-active{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:clamp(1rem,4vw,2rem);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;box-sizing:border-box}main[data-virtual-pages]>section[data-page]:not(.tech-stack-section):not(.contact-section):not(.about-section):not(.business-card-section):not(.projects-section):not(.project-detail-section){position:absolute;top:0;left:0;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;box-sizing:border-box}main[data-virtual-pages]>.business-card-section[data-page]{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;margin:0;overflow:visible;box-sizing:border-box;display:block}main[data-virtual-pages]>.business-card-section[data-page]>.business-card-container{position:absolute;top:calc(50% - 147.1px);left:calc(50% - 262.5px);transform:none;margin:0;display:block}main[data-virtual-pages]>.business-card-section .intro-nav{position:absolute;top:calc(50% + 147.095px + 1rem);left:50%;transform:translate(-50%);z-index:var(--z-index-dropdown);pointer-events:auto}main[data-virtual-pages]>.business-card-section .intro-nav-link{pointer-events:auto;cursor:pointer}main[data-virtual-pages]>.about-section[data-page].page-active{position:absolute;top:0;left:0;width:100%;height:100%;min-height:100%;display:grid;place-items:center;overflow:hidden;box-sizing:border-box;padding:clamp(1rem,4vw,2rem);pointer-events:auto}main[data-virtual-pages]>.about-section .about-content{max-width:min(1000px,90vw);overflow:hidden;align-self:center;justify-self:center}main[data-virtual-pages]>.contact-section[data-page].page-active{position:absolute;top:0;left:0;width:100%;height:100%;min-height:100%;display:grid;place-content:center center;overflow:visible;box-sizing:border-box;padding:clamp(1rem,4vw,2rem);pointer-events:auto}main[data-virtual-pages]>.admin-login-section[data-page].page-active{position:absolute;top:0;left:0;width:100%;height:100%;min-height:100%;display:grid;place-content:center center;overflow:visible;box-sizing:border-box;padding:clamp(1rem,4vw,2rem);pointer-events:auto}main[data-virtual-pages]>.tech-stack-section{display:none}main[data-virtual-pages]>.hero-section{display:none}section[data-page]>*{will-change:transform,opacity,filter}body.virtual-pages-active{overflow:hidden}}.page-entering{opacity:0;filter:blur(var(--page-blur-amount))}section.project-detail-section.page-active{z-index:var(--z-index-dropdown)}section[data-page].page-hidden{display:none!important;visibility:hidden!important;opacity:0!important;z-index:var(--z-index-behind)!important;pointer-events:none!important}@media(prefers-reduced-motion:reduce){:root{--page-transition-duration: 0s;--page-blur-amount: 0}.page-entering{transition:none!important;animation:none!important}}}@layer responsive;@layer responsive{@media(max-width:767px){body{margin:0;padding:0;height:100vh;height:100dvh;overflow:hidden}html[data-theme=dark] body{--color-neutral-300: var(--color-gray-700);background-color:var(--color-neutral-300)}main{position:fixed;top:var(--header-height);left:0;right:0;bottom:var(--footer-height);width:100%;height:calc(100vh - var(--header-height) - var(--footer-height));height:calc(100dvh - var(--header-height) - var(--footer-height));overflow:hidden;-webkit-overflow-scrolling:touch}main>section{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.section-content{max-width:95vw;padding:.5rem;font-size:clamp(.8rem,2.5vw,1rem)}.about-content{max-width:95vw;gap:.8rem}.business-card-section{flex:0 0 auto;display:grid;place-content:center;place-items:center;padding:0;margin:0;overflow:visible}.business-card-section.page-active{z-index:var(--z-index-50)}.business-card-section .intro-nav{position:absolute;top:calc(50% + 106.5px + .75rem);left:50%;transform:translate(-50%)}.hero-section,.page-hero-desktop,.about-hero-desktop,.contact-hero-desktop,.projects-hero-desktop,.portfolio-hero-desktop{display:none}.project-detail-section{overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;height:100%;position:absolute;inset:0;box-sizing:border-box;padding:1.5rem 1rem 3rem}.about-section,section.about-section,section.about-section.page-active,.about-section.page-active,#about.about-section,section#about{padding:0;margin:0;display:block;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;box-sizing:border-box;height:100%;position:absolute;inset:0}.about-section .about-content{display:flex;flex-direction:column;padding:4rem 1rem 6rem;gap:1rem;max-width:100%;width:100%;min-height:unset;height:auto;box-sizing:border-box;align-items:center;pointer-events:auto}.about-section .about-content *,.about-section .about-layout,.about-section .tech-stack-desktop{touch-action:pan-y;pointer-events:auto}.about-layout{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%}.about-image-column{display:flex;justify-content:center;width:100%;margin-top:1rem}.about-photo{display:block;width:clamp(180px,50vw,240px);height:auto;border:var(--border-width-heavy) solid var(--color-dark);margin:0 auto}.about-text-column{display:flex;flex-direction:column;width:100%;text-align:left}.about-text-column .section-heading{letter-spacing:.2em;margin-bottom:.25rem}.about-section .section-divider{width:100%}.about-text-column p{max-width:100%;margin-bottom:1rem}.about-text-column p:last-child{margin-bottom:0}.section-heading{font-size:clamp(2.5rem,10vw,4rem);line-height:1.1;margin-top:1.5rem;margin-bottom:.25rem;text-align:left}.section-divider{margin-top:0;margin-bottom:1rem}.tech-stack-desktop h3{font-size:clamp(1.25rem,5vw,1.75rem);font-family:var(--font-family-acme);font-weight:var(--font-weight-bold);text-transform:uppercase;margin:0;letter-spacing:var(--letter-spacing-widest)}.tech-stack-section{display:none}.tech-stack-desktop{display:block;width:100%;margin-top:1rem}.tech-stack-desktop .tech-stack{background-color:var(--color-neutral-100);padding:2rem;border-radius:var(--border-radius-md, 8px);border:var(--border-width) solid var(--color-neutral-600);display:flex;flex-direction:column;gap:1rem}.tech-stack-desktop .tech-stack h3,.tech-stack-desktop .tech-stack .tech-list{margin:0}html[data-theme=dark] .tech-stack-desktop .tech-stack{border-color:var(--color-neutral-400)}.about-section .tech-list,.tech-stack-desktop .tech-list{max-width:100%;text-align:justify;font-size:var(--font-size-sm)}.contact-section{min-height:calc(100vh - var(--header-height) - var(--footer-height));min-height:calc(100dvh - var(--header-height) - var(--footer-height));height:auto;max-height:none;flex:0 0 auto;padding:1.5rem 1rem;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;overflow:visible;box-sizing:border-box;position:relative}.container,.page-content{max-width:95vw}.text-animation-svg{width:90%;max-width:100%;height:auto;padding:0;font-family:var(--font-family-acme),"Acme",sans-serif;font-weight:var(--font-weight-bold);display:block;transform:scale(1.8);transform-origin:center center}.text-animation-svg text{font-size:150px}.text-animation-svg .text-left{fill:var(--color-svg-text-left)}.text-animation-svg .text-right{fill:var(--color-svg-text-right)}.about-hero-desktop .text-animation-svg,.contact-hero-desktop .text-animation-svg{width:100%;max-width:100%;height:auto;transform:scale(1.5)}}@media(max-width:767px){.projects-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1rem}.projects-section .crt-tv{display:none}.projects-section .projects-flex-row{flex-direction:column;width:100%;gap:0}.projects-section .projects-content{align-self:stretch;width:100%;max-width:100%}.projects-section .projects-list-column{width:100%}.projects-section .card-category{display:inline}}@media(max-width:479px){main>section{padding:.75rem}.section-content{max-width:98vw;padding:.25rem}.container,.page-content{max-width:98vw}.business-card-section .intro-nav{top:calc(50% + 88.5px + .5rem)}}@media(max-width:400px){main>section{padding:.5rem}.project-detail-section{padding-left:1.5rem;padding-right:1.5rem}.header .container{max-width:100%;padding-left:1.5rem;padding-right:1.5rem}.section-heading{font-size:var(--font-size-2xl);margin-top:1rem}}}@layer responsive{@media(max-width:1100px){.contact-bg-avatar{width:min(40vw,300px);opacity:.06}}@media(max-width:767px){br.mobile-only{display:block}:root{--contact-textarea-height: clamp(120px, 32vw, 240px)}.contact-section{height:auto;min-height:calc(100vh - var(--header-height) - var(--footer-height));overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;justify-content:flex-start;padding-top:2rem}.contact-bg-avatar{width:min(80vw,400px);opacity:.09}}@media(max-width:400px){.contact-section{padding-top:.5rem;padding-bottom:.5rem}.input-item input,.input-item textarea{padding:clamp(.375rem,1.5vw,.5rem) clamp(.625rem,2vw,.75rem)}.submit-button{padding:clamp(.5rem,2vw,.625rem) clamp(1rem,3vw,1.25rem)}}}@layer responsive{@media(hover:hover){.portal :is(.btn,.btn-primary,.btn-secondary,.btn-outline,button[type=submit]):hover{background:var(--portal-btn-hover-bg, var(--color-dark));color:var(--portal-btn-hover-color, var(--color-light));box-shadow:var(--portal-btn-shadow-hover, none)}.portal .sidebar-buttons .nav-btn:hover,.portal .sidebar-buttons .nav-btn:hover .nav-icon{color:var(--color-accent)}.portal-modal-tab:hover,.portal-modal-close:hover,.modal-close:hover{color:var(--color-text-primary)}.portal .data-table tbody tr:hover td{background:var(--color-bg-hover, var(--color-state-hover))}.custom-dropdown[data-modal-dropdown] .custom-dropdown-item:hover{background:var(--color-accent);color:var(--color-text-primary, var(--color-text-inverse))}.portal-card:hover{border-color:var(--color-border-primary, var(--color-border-primary))}.file-item:hover,.folder-item:hover{background:var(--color-bg-hover, var(--color-state-hover))}.detail-value a:hover{text-decoration:underline}.toast-close:hover{opacity:1}.pagination-btn:hover:not(:disabled){background:var(--color-bg-hover, var(--color-state-hover));border-color:var(--color-border-primary, var(--color-border-primary))}.pagination-page-btn:hover:not(.is-active){background:var(--color-bg-hover, var(--color-state-hover));border-color:var(--color-border-primary, var(--color-border-primary))}.btn-export:hover{background:var(--color-bg-hover, var(--color-state-hover));border-color:var(--color-border-primary, var(--color-border-primary))}.bulk-toolbar-actions .bulk-action-icon-btn:hover{color:var(--color-accent-hover, var(--color-accent))}}@media(hover:none){.portal :is(.btn,.btn-primary,.btn-secondary,.btn-outline,button[type=submit]):active{background:var(--portal-btn-hover-bg, var(--color-dark));color:var(--portal-btn-hover-color, var(--color-light));transform:scale(.98)}.portal .data-table tbody tr:hover td{background:transparent}.portal .data-table tbody tr:active td{background:var(--color-bg-hover, var(--color-state-hover))}}@media(pointer:coarse){.modal-close,.portal-modal-close,.toast-close{min-width:44px;min-height:44px;padding:var(--space-2)}.pagination-btn{width:var(--table-pagination-btn-size-touch);height:var(--table-pagination-btn-size-touch);min-width:var(--table-pagination-btn-size-touch);min-height:var(--table-pagination-btn-size-touch)}.pagination-page-btn{min-width:var(--table-pagination-btn-size-touch);height:var(--table-pagination-btn-size-touch);min-height:var(--table-pagination-btn-size-touch)}.notification-bell{min-width:44px;min-height:44px}.mobile-menu-toggle,.header-toggle-button,.portal .sidebar.collapsed .sidebar-buttons .nav-btn,.portal .sidebar.collapsed .sidebar-footer .nav-btn,.bulk-toolbar-actions .bulk-action-icon-btn,.bulk-dropdown-trigger{width:44px;height:44px;min-width:44px;min-height:44px}.table-filter-btn,.filter-toggle{min-width:44px;min-height:44px}.custom-dropdown-item{min-height:44px;padding-top:var(--space-2-5, 10px);padding-bottom:var(--space-2-5, 10px)}.portal-tab,.admin-tab,.portal-subtab{min-height:44px;padding-top:var(--space-2);padding-bottom:var(--space-2)}input[type=checkbox],input[type=radio]{min-width:24px;min-height:24px}.portal-checkbox,.form-checkbox{min-height:44px;display:flex;align-items:center;padding:var(--space-1) 0}}.modal-content,.portal-modal{max-width:min(var(--modal-width-md, 560px),calc(100vw - 2 * var(--space-4, 16px)))}.portal-modal.portal-modal--wide,.modal-content.modal-content--wide{max-width:min(var(--modal-width-lg, 860px),calc(100vw - 2 * var(--space-4, 16px)))}.invoice-modal-content,.invoice-edit-modal{max-width:min(var(--modal-width-lg, 800px),calc(100vw - 2 * var(--space-4, 16px)))}.file-preview-modal-content{max-width:min(700px,calc(100vw - 2 * var(--space-4, 16px)))}.file-preview-modal-content.file-preview-modal-content--wide{max-width:min(900px,calc(100vw - 2 * var(--space-4, 16px)))}.portal .modal-content{max-width:min(var(--modal-width-md, 560px),calc(100vw - 2 * var(--space-3, 12px)))}.questionnaire-modal,.onboarding-modal{max-width:min(800px,calc(100vw - 2 * var(--space-3, 12px)))}@media(max-width:479px){.modal-content,.portal-modal,.invoice-modal-content,.invoice-edit-modal,.file-preview-modal-content,.questionnaire-modal,.onboarding-modal{max-width:100%;width:100%;margin:0}.modal-overlay,.portal-modal-overlay{padding:0;align-items:flex-start}.modal-content,.portal-modal{min-height:100vh;min-height:100dvh;max-height:100vh;max-height:100dvh}}@media(max-width:767px){.data-table-container,.table-container,.data-table-scroll-wrapper,.table-scroll-wrapper{width:100%;overflow:visible}.data-table-container>.data-table,.table-container>.data-table,.data-table-scroll-wrapper>.data-table,.table-scroll-wrapper>.data-table{min-width:0;width:100%}.invoice-line-items-section{-webkit-overflow-scrolling:touch}.invoice-line-items{min-width:500px}.messages-table-wrapper,.files-table-wrapper,.portal-files-table,.analytics-table-wrapper,.detail-grid{-webkit-overflow-scrolling:touch}}@media(max-width:479px){.table-scroll-wrapper>table,.table-scroll-wrapper>.data-table,.data-table-container>.data-table,.table-container>table{min-width:0;width:100%}.invoice-line-items{min-width:0;width:100%}}.modal-overlay,.portal-modal-overlay{min-height:100vh;min-height:100dvh}@media(max-width:479px){.modal-content,.portal-modal{max-height:100vh;max-height:100dvh;min-height:100vh;min-height:100dvh}}.nav-mobile-menu{height:100vh;height:100dvh}@media(max-width:767px){.messages-container{max-height:calc(100vh - 200px);max-height:calc(100dvh - 200px)}.messages-layout{height:calc(100vh - 150px);height:calc(100dvh - 150px)}}.auth-gate{min-height:calc(100vh - var(--header-height, 60px) - var(--footer-height, 40px));min-height:calc(100dvh - var(--header-height, 60px) - var(--footer-height, 40px))}@media(max-width:767px){.portal main{min-height:100vh;min-height:100dvh}}@media(pointer:coarse){.btn,.sidebar-buttons .nav-btn,.custom-dropdown-trigger,.portal-tab,.admin-tab{-webkit-user-select:none;-moz-user-select:none;user-select:none}}@media(pointer:coarse){.btn,.custom-dropdown-item,.portal-tab,.admin-tab,.file-item,.folder-item{-webkit-tap-highlight-color:rgba(var(--color-accent-rgb, 220, 38, 38),.1)}}@supports (padding: max(0px)){.modal-content,.portal-modal{padding-left:max(var(--space-5),env(safe-area-inset-left));padding-right:max(var(--space-5),env(safe-area-inset-right))}@media(max-width:479px){.modal-overlay,.portal-modal-overlay{padding-bottom:env(safe-area-inset-bottom)}}}}body{background-color:var(--color-neutral-300);color:var(--color-dark)}.footer .footer-text{opacity:1;visibility:visible;color:var(--color-dark);font-size:var(--font-size-xs);text-align:center;text-transform:uppercase}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-neutral-200)}::-webkit-scrollbar-thumb{background:var(--color-neutral-400);border-radius:var(--border-radius-sm, 4px)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-500)}
