:root {
  --font-body: "Manrope", Arial, sans-serif;
  --font-display: "Manrope", Arial, sans-serif;
  --font-size-nav: 0.92rem;
  --font-size-eyebrow: 0.78rem;
  --font-size-menu-icon: 1.55rem;
  --font-size-search-icon: 1.12rem;
  --font-size-tab: 0.84rem;
  --font-size-tab-sm: 0.8rem;
  --font-size-tab-icon: 0.96rem;
  --font-size-chip: 0.84rem;
  --font-size-card-title: 1.14rem;
  --font-size-card-title-sm: 1.08rem;
  --font-size-card-meta: 0.86rem;
  --font-size-card-text: 0.92rem;
  --font-size-card-text-sm: 0.88rem;
  --font-size-card-category: 0.74rem;
  --font-size-action-label: 0.58rem;
  --font-size-action: 0.68rem;
  --font-size-action-sm: 0.66rem;
  --font-size-action-icon: 0.86rem;
  --font-size-action-icon-sm: 0.82rem;
  --font-size-tag: 0.72rem;
  --font-size-service-icon: 1.25rem;
  --font-size-bi: 1.05rem;
  --font-size-brand-sm: 0.9rem;
  --font-size-hero-lg: clamp(3rem, 7vw, 6.8rem);
  --font-size-heading-lg: clamp(1.8rem, 4vw, 3.1rem);
  --font-size-hero-copy: clamp(1rem, 2vw, 1.24rem);
  --font-size-services-title: clamp(1.95rem, 3.05vw, 3rem);
  --font-size-h1-md: 3.2rem;
  --font-size-h1-sm: 2.45rem;
  --font-size-services-title-sm: 2rem;
  --line-height-body: 1.5;
  --font-weight-action-label: 500;
  --font-weight-action: 500;
  --line-height-tightest: 1.04;
  --line-height-tight: 1.08;
  --line-height-heading: 1.1;
  --line-height-card-title: 1.18;
  --line-height-card-text: 1.48;

  --content-max: 1240px;
  --hero-copy-max: 740px;
  --hero-title-max: 760px;
  --hero-text-max: 580px;
  --mobile-title-max: 10ch;

  --bp-xl: 1180px;
  --bp-lg: 980px;
  --bp-md: 780px;
  --bp-sm: 560px;

  --space-0: 0;
  --space-2xs: 2px;
  --space-xs: 4px;
  --space-sm: 5px;
  --space-md: 6px;
  --space-lg: 8px;
  --space-xl: 9px;
  --space-2xl: 10px;
  --space-3xl: 12px;
  --space-4xl: 14px;
  --space-5xl: 16px;
  --space-6xl: 18px;
  --space-7xl: 20px;
  --space-8xl: 22px;
  --space-9xl: 24px;
  --space-10xl: 28px;
  --space-11xl: 32px;
  --space-12xl: 36px;
  --space-13xl: 40px;
  --space-14xl: 42px;
  --space-15xl: 44px;
  --space-16xl: 48px;
  --space-17xl: 52px;
  --space-18xl: 56px;
  --space-19xl: 64px;
  --space-20xl: 70px;
  --space-21xl: 72px;
  --space-22xl: 76px;
  --space-23xl: 80px;
  --space-24xl: 82px;
  --space-25xl: 88px;
  --space-26xl: 90px;
  --space-27xl: 112px;
  --space-28xl: 128px;

  --page-pad-x: clamp(18px, 5vw, 72px);
  --header-pad-x: clamp(18px, 4vw, 56px);
  --mobile-pad-x: 14px;
  --hero-pad-top: 128px;
  --hero-pad-bottom: 64px;
  --services-pad-top: 90px;
  --services-pad-bottom: 52px;
  --services-mobile-pad: 80px 14px 42px;
  --toolbar-pad: 44px var(--page-pad-x) 28px;
  --manuals-pad: 56px var(--page-pad-x);
  --footer-pad: 36px var(--page-pad-x);

  --radius-none: 0;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-pill: 999px;
  --radius-round: 50%;

  --duration-fast: 160ms;
  --duration-card: 180ms;
  --duration-header: 220ms;
  --duration-page: 240ms;
  --ease-standard: ease;

  --blur-menu: blur(18px);
  --blur-header: blur(14px) saturate(1.12);
  --blur-header-glass: blur(28px) saturate(1.38);
  --blur-glass: blur(28px) saturate(1.45);
  --blur-control: blur(16px);
  --blur-card: blur(18px) saturate(1.08);

  --z-background: 0;
  --z-base: 0;
  --z-raised: 1;
  --z-page-content: 1;
  --z-overlay: 2;
  --z-content: 3;
  --z-mobile-nav: 15;
  --z-header: 20;

  --blue-950: #05091c;
  --blue-900: #0b1644;
  --blue-800: #132468;
  --blue-850: #0a143f;
  --blue-700: #58b7ff;
  --gold-500: #d6a229;
  --gold-400: #f1c95a;
  --aqua-500: #2dccff;
  --green-500: #76d8ba;
  --os-windows: #58b7ff;
  --os-apple: #f5f7ff;
  --os-android: #76d8ba;
  --os-mobile: #9cc8ff;
  --white: #ffffff;
  --white-rgb: 255, 255, 255;
  --black-rgb: 0, 0, 0;
  --gold-500-rgb: 214, 162, 41;
  --gold-400-rgb: 241, 201, 90;
  --blue-800-rgb: 19, 36, 104;
  --blue-overlay-rgb: 25, 48, 116;
  --blue-700-rgb: 88, 183, 255;
  --blue-deep-rgb: 3, 7, 24;
  --accent-text: #ecf4ff;
  --action-bg: linear-gradient(135deg, rgba(24, 54, 148, 0.9), rgba(9, 18, 58, 0.94));
  --action-hover: linear-gradient(135deg, rgba(34, 76, 176, 0.94), rgba(12, 27, 86, 0.96));
  --action-fg: #ffffff;
  --ink: #eff5ff;
  --muted: #a8b2c8;
  --line: rgba(116, 141, 210, 0.22);
  --paper: #07102e;
  --wash: #050a20;
  --page-bg: #04091f;
  --page-video-bg: #03081d;
  --page-video-opacity: 0.78;
  --page-video-scale: 1.045;
  --page-video-filter: saturate(0.96) contrast(1.06) brightness(0.66) hue-rotate(188deg);
  --page-video-overlay:
    radial-gradient(circle at 18% 8%, rgba(var(--blue-overlay-rgb), 0.34), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(var(--blue-700-rgb), 0.09), transparent 30%),
    linear-gradient(180deg, rgba(var(--blue-overlay-rgb), 0.38) 0%, rgba(var(--blue-overlay-rgb), 0.52) 48%, rgba(6, 14, 45, 0.7) 100%);
  --page-video-vignette:
    linear-gradient(90deg, rgba(var(--blue-overlay-rgb), 0.28), transparent 28%, transparent 72%, rgba(var(--blue-overlay-rgb), 0.26)),
    radial-gradient(circle at 50% 42%, transparent 0%, rgba(8, 18, 55, 0.3) 74%);
  --section-bg: rgba(7, 13, 35, 0.7);
  --section-soft: rgba(10, 20, 55, 0.64);
  --title: #f7faff;
  --header-bg:
    radial-gradient(circle at 14% 0%, rgba(88, 183, 255, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(22, 42, 122, 0.98), rgba(14, 28, 84, 0.96));
  --header-glass-bg:
    radial-gradient(circle at 14% 0%, rgba(88, 183, 255, 0.2), transparent 34%),
    linear-gradient(180deg, rgba(19, 36, 104, 0.72), rgba(5, 10, 28, 0.66));
  --header-border: rgba(116, 141, 210, 0.26);
  --nav-text: rgba(238, 244, 255, 0.86);
  --hero-text-muted: rgba(233, 239, 249, 0.84);
  --hero-overlay:
    linear-gradient(110deg, rgba(7, 26, 58, 0.96) 0%, rgba(9, 39, 90, 0.82) 48%, rgba(8, 34, 74, 0.5) 100%),
    radial-gradient(circle at 88% 18%, rgba(229, 198, 106, 0.24), transparent 26%),
    radial-gradient(circle at 78% 82%, rgba(18, 166, 180, 0.22), transparent 28%);
  --home-bg: linear-gradient(180deg, rgba(16, 31, 90, 0.36) 0%, rgba(8, 17, 52, 0.48) 42%, rgba(4, 8, 23, 0.66) 100%);
  --home-glow-primary: rgba(55, 88, 190, 0.28);
  --home-glow-gold: rgba(214, 162, 41, 0.12);
  --home-glow-deep: rgba(19, 36, 104, 0.42);
  --services-home-bg:
    radial-gradient(circle at 18% 4%, var(--home-glow-primary), transparent 32%),
    radial-gradient(circle at 88% 12%, var(--home-glow-gold), transparent 24%),
    radial-gradient(circle at 56% 88%, var(--home-glow-deep), transparent 38%),
    var(--home-bg);
  --glass-bg: linear-gradient(145deg, rgba(12, 24, 74, 0.72), rgba(3, 7, 24, 0.92));
  --glass-border: rgba(91, 116, 188, 0.28);
  --glass-highlight: rgba(214, 162, 41, 0.18);
  --glass-shadow: 0 34px 110px rgba(0, 0, 0, 0.58);
  --glass-inner: inset 0 1px 0 rgba(255, 255, 255, 0.16), inset 0 -1px 0 rgba(255, 255, 255, 0.04);
  --search-bg: rgba(5, 10, 32, 0.82);
  --search-border: rgba(82, 109, 186, 0.34);
  --tab-bg: linear-gradient(180deg, rgba(8, 17, 55, 0.98), rgba(3, 7, 24, 0.96));
  --tab-active: linear-gradient(180deg, rgba(25, 48, 139, 0.92), rgba(11, 23, 70, 0.98));
  --chip-bg: rgba(4, 9, 30, 0.84);
  --card-bg: linear-gradient(145deg, rgba(14, 28, 84, 0.74), rgba(3, 7, 24, 0.96));
  --card-border: rgba(78, 102, 172, 0.24);
  --icon-bg: rgba(10, 22, 70, 0.78);
  --icon-border: rgba(214, 162, 41, 0.26);
  --control-bg: rgba(19, 36, 104, 0.7);
  --control-fg: var(--gold-400);
  --shadow: 0 28px 80px rgba(0, 0, 0, 0.46);

  --text-strong: var(--white);
  --text-nav-hover: #fff3c9;
  --text-control-hover: #fff5d2;
  --text-tab-active: #fff4d0;
  --text-chip-active: #fff1c2;
  --text-ghost: #f2dc9f;
  --text-ghost-hover: #fff6d8;
  --text-manual: #f7dfa0;
  --text-manual-hover: #fff4d0;
  --text-system: #65bdff;
  --text-footer: rgba(var(--white-rgb), 0.78);
  --text-footer-muted: rgba(var(--white-rgb), 0.58);
  --text-search: rgba(226, 235, 255, 0.86);
  --text-placeholder: rgba(226, 235, 255, 0.72);
  --text-search-icon: rgba(210, 224, 255, 0.86);

  --focus-outline: rgba(var(--gold-500-rgb), 0.78);
  --focus-shadow: 0 0 0 4px rgba(var(--gold-500-rgb), 0.12);
  --brand-divider: rgba(var(--gold-500-rgb), 0.3);
  --header-shadow:
    0 16px 44px rgba(var(--black-rgb), 0.2),
    inset 0 1px 0 rgba(var(--white-rgb), 0.08),
    inset 0 -14px 32px rgba(5, 10, 28, 0.16);
  --header-glass-border: rgba(var(--gold-500-rgb), 0.2);
  --header-glass-line: linear-gradient(90deg, transparent, rgba(var(--gold-500-rgb), 0.34), transparent);
  --header-glass-shadow:
    0 20px 70px rgba(var(--black-rgb), 0.38),
    inset 0 1px 0 rgba(var(--white-rgb), 0.14),
    inset 0 -22px 44px rgba(var(--blue-deep-rgb), 0.26);
  --nav-hover-bg: rgba(var(--white-rgb), 0.075);
  --nav-hover-shadow:
    inset 0 1px 0 rgba(255, 231, 172, 0.12),
    0 8px 22px rgba(4, 8, 24, 0.16);
  --top-nav-radius: 2px;
  --top-nav-hover-bg:
    linear-gradient(180deg, rgba(var(--white-rgb), 0.04), rgba(var(--blue-700-rgb), 0.08));
  --top-nav-hover-line: rgba(var(--gold-500-rgb), 0.48);
  --top-nav-hover-shadow: inset 0 -1px 0 var(--top-nav-hover-line);
  --menu-bg: rgba(var(--white-rgb), 0.075);
  --menu-bg-hover: rgba(var(--white-rgb), 0.14);
  --menu-border: rgba(116, 141, 210, 0.28);
  --menu-border-hover: rgba(var(--gold-500-rgb), 0.32);

  --service-dock-bg:
    radial-gradient(circle at 28% 0%, rgba(62, 91, 190, 0.18), transparent 48%),
    linear-gradient(180deg, rgba(12, 25, 76, 0.94), rgba(var(--blue-deep-rgb), 0.98)),
    var(--glass-bg);
  --service-dock-border: rgba(82, 109, 186, 0.26);
  --service-dock-shadow:
    0 30px 96px rgba(var(--black-rgb), 0.62),
    inset 0 1px 0 rgba(var(--white-rgb), 0.08),
    inset 0 -24px 54px rgba(var(--black-rgb), 0.5);
  --liquid-glass-sheen:
    linear-gradient(115deg, transparent 0%, var(--glass-highlight) 22%, transparent 38%),
    radial-gradient(circle at 14% 8%, rgba(117, 153, 255, 0.18), transparent 32%),
    radial-gradient(circle at 88% 96%, rgba(var(--blue-800-rgb), 0.38), transparent 36%);
  --liquid-glass-outline: rgba(var(--gold-500-rgb), 0.08);

  --search-row-bg:
    radial-gradient(circle at 16% 0%, rgba(116, 152, 255, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(9, 18, 58, 0.9), rgba(var(--blue-deep-rgb), 0.92));
  --search-box-celeste-bg:
    linear-gradient(90deg, rgba(var(--blue-700-rgb), 0.075), rgba(2, 5, 18, 0.78));
  --search-box-celeste-border: rgba(var(--blue-700-rgb), 0.14);
  --search-box-celeste-glow:
    inset 0 1px 0 rgba(var(--white-rgb), 0.05),
    0 0 22px rgba(var(--blue-700-rgb), 0.08);
  --search-row-shadow:
    inset 0 1px 0 rgba(185, 205, 255, 0.18),
    inset 0 -18px 36px rgba(var(--black-rgb), 0.22),
    0 16px 34px rgba(var(--black-rgb), 0.16);
  --search-row-sheen: linear-gradient(100deg, transparent, rgba(150, 177, 255, 0.22), transparent);
  --search-focus-border: rgba(132, 165, 255, 0.64);
  --search-focus-shadow: inset 0 1px 0 rgba(201, 216, 255, 0.2), 0 0 0 4px rgba(var(--blue-800-rgb), 0.36), 0 22px 44px rgba(var(--black-rgb), 0.24);
  --search-box-bg: linear-gradient(90deg, rgba(9, 18, 58, 0.82), rgba(2, 5, 18, 0.76));
  --search-box-border: rgba(155, 178, 245, 0.1);
  --search-box-focus-border: rgba(185, 205, 255, 0.18);
  --search-box-focus-shadow: inset 0 1px 0 rgba(var(--white-rgb), 0.06);
  --clear-bg: rgba(7, 13, 36, 0.58);
  --clear-border: rgba(var(--gold-500-rgb), 0.18);
  --clear-bg-hover: rgba(var(--gold-500-rgb), 0.14);
  --clear-border-hover: rgba(var(--gold-500-rgb), 0.34);

  --tab-border: rgba(82, 109, 186, 0.24);
  --tab-shadow:
    inset 0 1px 0 rgba(var(--white-rgb), 0.05),
    inset 0 -18px 40px rgba(var(--black-rgb), 0.36);
  --tab-active-shadow:
    inset 0 1px 0 rgba(255, 231, 172, 0.14),
    inset 0 -12px 28px rgba(var(--black-rgb), 0.26),
    0 8px 24px rgba(var(--black-rgb), 0.24);

  --chip-bg-image: linear-gradient(180deg, rgba(7, 15, 48, 0.9), rgba(var(--blue-deep-rgb), 0.92));
  --chip-border: rgba(91, 116, 188, 0.18);
  --chip-text: rgba(236, 244, 255, 0.74);
  --chip-pad-x: 13px;
  --category-chip-bg:
    radial-gradient(circle at 18% 0%, var(--category-soft), transparent 56%),
    var(--chip-bg-image);
  --chip-active-bg-image: linear-gradient(180deg, rgba(var(--category-rgb), 0.15), rgba(4, 8, 24, 0.9));
  --category-chip-active-bg:
    radial-gradient(circle at 18% 0%, var(--category-glow), transparent 62%),
    var(--chip-active-bg-image);
  --chip-active-shadow:
    inset 0 1px 0 rgba(var(--white-rgb), 0.12),
    0 10px 24px rgba(var(--category-rgb), 0.1);

  --card-glow-primary-opacity: 0.18;
  --card-glow-primary-stop-opacity: 0.07;
  --card-glow-secondary-opacity: 0.11;
  --card-glow-secondary-stop-opacity: 0.05;
  --card-glow-wash-opacity: 0.05;
  --card-glow-corner-opacity: 0.08;
  --card-glow-ambient-opacity: 0.06;
  --card-topline-primary-opacity: 0.78;
  --card-topline-stop-opacity: 0.22;
  --card-topline-solid-opacity: 0.86;
  --card-topline-fade-opacity: 0.26;
  --card-shadow:
    0 22px 54px rgba(var(--black-rgb), 0.46),
    inset 0 1px 0 rgba(var(--white-rgb), 0.08),
    inset 0 -22px 42px rgba(var(--black-rgb), 0.34);
  --card-shadow-hover:
    0 28px 70px rgba(var(--black-rgb), 0.56),
    0 0 0 1px rgba(var(--category-rgb), 0.1),
    inset 0 1px 0 rgba(var(--white-rgb), 0.1);
  --service-icon-bg:
    radial-gradient(circle at 30% 12%, rgba(var(--category-rgb), 0.22), transparent 58%),
    var(--icon-bg);
  --service-icon-border: rgba(var(--category-rgb), 0.5);
  --service-icon-border-hover: rgba(var(--category-rgb), 0.72);
  --service-icon-shadow:
    inset 0 1px 0 rgba(var(--white-rgb), 0.08),
    0 10px 24px rgba(var(--category-rgb), 0.08);
  --service-icon-shadow-hover:
    inset 0 1px 0 rgba(var(--white-rgb), 0.12),
    0 14px 32px rgba(var(--category-rgb), 0.16);

  --favorite-border: rgba(var(--gold-500-rgb), 0.18);
  --favorite-color: rgba(242, 220, 159, 0.7);
  --favorite-bg-active: rgba(var(--gold-500-rgb), 0.15);
  --favorite-border-active: rgba(var(--gold-500-rgb), 0.34);
  --primary-border: rgba(206, 220, 255, 0.16);
  --primary-border-hover: rgba(var(--gold-400-rgb), 0.28);
  --action-group-bg: rgba(0, 0, 0, 0.19);
  --action-group-bg-hover: rgba(0, 0, 0, 0.46);
  --action-group-shadow: inset 0 1px 0 rgba(var(--white-rgb), 0.06);
  --action-label-color: rgba(226, 235, 255, 0.62);
  --action-pill-glow-hover: 0 14px 32px rgba(48, 139, 255, 0.28);
  --action-pill-sheen: linear-gradient(110deg, transparent 0%, rgba(var(--white-rgb), 0.2) 46%, transparent 72%);
  --manual-pill-bg: linear-gradient(135deg, rgba(var(--gold-500-rgb), 0.16), rgba(5, 12, 38, 0.72));
  --manual-pill-bg-hover: linear-gradient(135deg, rgba(var(--gold-400-rgb), 0.26), rgba(8, 17, 52, 0.74));
  --manual-pill-border: rgba(var(--gold-500-rgb), 0.24);
  --manual-pill-glow-hover: 0 14px 32px rgba(var(--gold-500-rgb), 0.18);
  --services-band-bg:
    radial-gradient(circle at 10% 12%, rgba(84, 214, 228, 0.07), transparent 30%),
    radial-gradient(circle at 88% 48%, rgba(229, 198, 106, 0.08), transparent 28%),
    var(--wash);
  --ghost-bg: rgba(3, 5, 13, 0.72);

  --manual-row-hover-border: var(--blue-700);
  --footer-link-hover: var(--white);
  --footer-link-font-size: 0.92rem;
  --footer-link-font-size-sm: 0.72rem;
  --footer-note-font-size: 0.75rem;
  --footer-note-font-size-sm: 0.62rem;
  --footer-text-line-height-sm: 1.25;

  --grid-gap: 18px;
  --grid-gap-sm: 14px;
  --panel-gap: 8px;
  --dock-grid: minmax(280px, 430px) minmax(430px, 1fr) max-content;
  --profile-grid: 0.82fr 1.12fr 1fr 1.42fr;
  --manual-grid: minmax(260px, 0.34fr) 1fr;
  --manual-arrow-size: 18px;
  --manual-arrow-icon-size: 0.86rem;
  --footer-logo-width: 190px;
  --footer-logo-width-sm: 132px;
  --footer-grid: auto 1fr auto;
  --services-grid-cols: repeat(3, minmax(0, 1fr));
  --services-grid-cols-md: repeat(2, minmax(0, 1fr));
  --single-col: 1fr;
  --search-row-grid: 1fr 36px;
  --profile-grid-sm: 1fr 1fr;

  --header-height: 76px;
  --header-height-sm: 70px;
  --header-logo-height: 36px;
  --header-logo-height-md: 30px;
  --header-logo-max: 190px;
  --header-logo-max-sm: 170px;
  --menu-button-size: 44px;
  --icon-button-size: 34px;
  --service-icon-size: 48px;
  --favorite-size: 38px;
  --manual-icon-size: 42px;
  --hero-min-height: 720px;
  --hero-content-min-height: 520px;
  --service-card-min-height: 292px;
  --service-card-pad: 22px;
  --service-card-pad-sm: 20px;
  --search-box-min-height: 46px;
  --search-box-min-height-sm: 44px;
  --profile-tab-min-height: 46px;
  --dock-favorite-min-height: 42px;
  --dock-favorite-min-height-md: 38px;
  --dock-favorite-min-height-sm: 36px;
  --category-bar-min-height: 38px;
  --category-bar-min-height-sm: 46px;
  --action-min-height: 40px;
  --action-pill-max-width: 230px;
  --action-pill-max-width-sm: 100%;
  --empty-icon-size: 2.4rem;
  --card-topline-height: 2px;
  --card-topline-width: 56%;
  --focus-offset: 3px;
  --liquid-glass-inset: 6px;
  --search-sheen-height: 160%;
  --search-sheen-width: 34%;
  --search-sheen-left: -35%;
  --search-sheen-top: -30%;
  --search-sheen-angle: 12deg;

  --category-rgb: 241, 201, 90;
  --category-color: rgb(var(--category-rgb));
  --category-soft: rgba(var(--category-rgb), 0.1);
  --category-glow: rgba(var(--category-rgb), 0.2);
  --category-border: rgba(var(--category-rgb), 0.32);
  color-scheme: dark;
}

[data-category-key="todos"] {
  --category-rgb: 241, 201, 90;
}

[data-category-key="academico"] {
  --category-rgb: 241, 201, 90;
}

[data-category-key="finanzas"] {
  --category-rgb: 105, 220, 174;
}

[data-category-key="bienestar"] {
  --category-rgb: 255, 142, 178;
}

[data-category-key="investigacion"] {
  --category-rgb: 181, 164, 255;
}

[data-category-key="tecnologia"] {
  --category-rgb: 88, 183, 255;
}

[data-category-key="administrativo"] {
  --category-rgb: 255, 184, 107;
}

[data-category-key] {
  --category-color: rgb(var(--category-rgb));
  --category-soft: rgba(var(--category-rgb), 0.1);
  --category-glow: rgba(var(--category-rgb), 0.2);
  --category-border: rgba(var(--category-rgb), 0.32);
  --category-chip-bg:
    radial-gradient(circle at 18% 0%, var(--category-soft), transparent 56%),
    var(--chip-bg-image);
  --category-chip-active-bg:
    radial-gradient(circle at 18% 0%, var(--category-glow), transparent 62%),
    var(--chip-active-bg-image);
  --chip-active-shadow:
    inset 0 1px 0 rgba(var(--white-rgb), 0.12),
    0 10px 24px rgba(var(--category-rgb), 0.1);
  --card-shadow-hover:
    0 28px 70px rgba(var(--black-rgb), 0.56),
    0 0 0 1px rgba(var(--category-rgb), 0.1),
    inset 0 1px 0 rgba(var(--white-rgb), 0.1);
  --service-icon-bg:
    radial-gradient(circle at 30% 12%, rgba(var(--category-rgb), 0.22), transparent 58%),
    var(--icon-bg);
  --service-icon-border: rgba(var(--category-rgb), 0.5);
  --service-icon-border-hover: rgba(var(--category-rgb), 0.72);
  --service-icon-shadow:
    inset 0 1px 0 rgba(var(--white-rgb), 0.08),
    0 10px 24px rgba(var(--category-rgb), 0.08);
  --service-icon-shadow-hover:
    inset 0 1px 0 rgba(var(--white-rgb), 0.12),
    0 14px 32px rgba(var(--category-rgb), 0.16);
}

* {
  box-sizing: border-box;
}

html {
  background: var(--page-bg);
  min-height: 100%;
  scroll-behavior: smooth;
}

body {
  margin: var(--space-0);
  background: var(--page-bg);
  color: var(--ink);
  font-family: var(--font-body);
  line-height: var(--line-height-body);
  min-height: 100%;
  overflow-x: clip;
  transition: background var(--duration-page) var(--ease-standard), color var(--duration-page) var(--ease-standard);
}

.page-background {
  background: var(--page-video-bg);
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  position: fixed;
  z-index: var(--z-background);
}

.page-background-video {
  filter: var(--page-video-filter);
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center;
  opacity: var(--page-video-opacity);
  position: absolute;
  transform: scale(var(--page-video-scale));
  width: 100%;
}

.page-background::before,
.page-background::after {
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.page-background::before {
  background: var(--page-video-overlay);
}

.page-background::after {
  background: var(--page-video-vignette);
}

main,
.site-footer {
  position: relative;
  z-index: var(--z-page-content);
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input {
  font: inherit;
}

button {
  cursor: pointer;
}

button:focus,
a:focus,
input:focus {
  outline: none;
}

button:focus-visible,
a:focus-visible,
input:focus-visible {
  outline: 1px solid var(--focus-outline);
  outline-offset: var(--focus-offset);
  box-shadow: var(--focus-shadow);
}

.site-header {
  align-items: center;
  backdrop-filter: var(--blur-header);
  background: var(--header-bg);
  border-bottom: none;
  box-shadow: var(--header-shadow);
  display: grid;
  gap: var(--space-10xl);
  grid-template-columns: minmax(260px, 1fr) auto;
  height: var(--header-height);
  left: 0;
  padding: 0 var(--header-pad-x);
  position: fixed;
  right: 0;
  top: 0;
  transition: background var(--duration-header) var(--ease-standard), backdrop-filter var(--duration-header) var(--ease-standard), border-color var(--duration-header) var(--ease-standard), box-shadow var(--duration-header) var(--ease-standard);
  z-index: var(--z-header);
}

.site-header.is-scrolled {
  backdrop-filter: var(--blur-header-glass);
  background: var(--header-glass-bg);
  /* border-bottom-color: var(--header-glass-border); */
  box-shadow: var(--header-glass-shadow);
}

.site-header.is-scrolled::after {
  background: var(--header-glass-line);
  bottom: -1px;
  content: "";
  height: 1px;
  left: var(--header-pad-x);
  opacity: 0.8;
  position: absolute;
  right: var(--header-pad-x);
}

.brand {
  align-items: center;
  color: var(--text-strong);
  display: inline-flex;
  gap: var(--space-5xl);
  justify-self: start;
  min-width: 0;
  width: fit-content;
  text-decoration: none !important;
}

.brand img {
  display: block;
  height: var(--header-logo-height);
  image-rendering: auto;
  max-width: var(--header-logo-max);
  object-fit: contain;
  width: auto;
}

a{
  text-decoration: none !important;
}

.brand span {
  border-left: 1px solid var(--brand-divider);
  color: var(--gold-400);
  font-weight: 700;
  padding-left: var(--space-5xl);
  white-space: nowrap;
}

.top-nav {
  align-items: center;
  display: flex;
  gap: clamp(var(--space-3xl), 2vw, 26px);
  justify-self: end;
}

.top-nav a,
.mobile-nav a {
  color: var(--nav-text);
  font-size: var(--font-size-nav);
  font-weight: 700;
  padding: var(--space-2xl) var(--space-4xl);
  transition: background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}

.top-nav a {
  border-bottom: 1px solid transparent;
  border-radius: var(--top-nav-radius);
}

.mobile-nav a {
  border-radius: var(--radius-pill);
}

.top-nav a:hover {
  background: var(--top-nav-hover-bg);
  border-bottom-color: var(--top-nav-hover-line);
  box-shadow: var(--top-nav-hover-shadow);
  color: var(--text-nav-hover);
}

.mobile-nav a:hover {
  background: var(--nav-hover-bg);
  box-shadow: var(--nav-hover-shadow);
  color: var(--text-nav-hover);
}

.menu-button,
.icon-button,
.favorite-button {
  align-items: center;
  border: 0;
  display: inline-flex;
  justify-content: center;
}

.header-actions {
  align-items: center;
  display: none;
  gap: var(--space-2xl);
  justify-self: end;
}

.menu-button {
  background: var(--menu-bg);
  border: 1px solid var(--menu-border);
  border-radius: var(--radius-round);
  color: var(--text-strong);
  height: var(--menu-button-size);
  width: var(--menu-button-size);
}

.menu-button {
  display: none;
}

.menu-button:hover {
  background: var(--menu-bg-hover);
  border-color: var(--menu-border-hover);
}

.menu-button .bi {
  font-size: var(--font-size-menu-icon);
}

.mobile-nav {
  background: var(--header-bg);
  backdrop-filter: var(--blur-menu);
  border-bottom: 1px solid var(--header-border);
  display: grid;
  gap: var(--space-xs);
  left: 0;
  padding: var(--space-25xl) var(--space-6xl) var(--space-6xl);
  position: fixed;
  right: 0;
  top: 0;
  z-index: var(--z-mobile-nav);
}

.site-header.is-scrolled + .mobile-nav {
  backdrop-filter: var(--blur-header-glass);
  background: var(--header-glass-bg);
  border-bottom-color: var(--header-glass-border);
}

.hero {
  background: var(--blue-950);
  min-height: var(--hero-min-height);
  overflow: hidden;
  padding: var(--hero-pad-top) var(--page-pad-x) var(--hero-pad-bottom);
  position: relative;
}

.hero-video,
.hero-shade,
.hero-canvas {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.hero-video {
  object-fit: cover;
  opacity: 0.44;
  z-index: var(--z-base);
}

.hero-shade {
  background: var(--hero-overlay);
  z-index: var(--z-raised);
}

.hero-canvas {
  mix-blend-mode: screen;
  opacity: 0.52;
  pointer-events: none;
  z-index: var(--z-overlay);
}

.hero-content {
  align-items: end;
  display: grid;
  gap: clamp(var(--space-10xl), 5vw, var(--space-21xl));
  grid-template-columns: minmax(0, 0.88fr) minmax(520px, 0.68fr);
  margin: 0 auto;
  max-width: var(--content-max);
  min-height: var(--hero-content-min-height);
  min-width: 0;
  position: relative;
  z-index: var(--z-content);
}

.hero-copy {
  color: var(--text-strong);
  max-width: var(--hero-copy-max);
  padding-bottom: var(--space-10xl);
}

.eyebrow {
  color: var(--gold-400);
  font-size: var(--font-size-eyebrow);
  font-weight: 800;
  letter-spacing: 0;
  margin: 0 0 var(--space-4xl);
  text-transform: uppercase;
}

.eyebrow.dark {
  color: var(--blue-700);
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2 {
  font-family: var(--font-display);
}

h1 {
  font-size: var(--font-size-hero-lg);
  line-height: var(--line-height-tightest);
  margin-bottom: var(--space-8xl);
  max-width: var(--hero-title-max);
}

h2 {
  color: var(--title);
  font-size: var(--font-size-heading-lg);
  line-height: var(--line-height-heading);
  margin-bottom: 0;
}

.hero-text {
  color: var(--hero-text-muted);
  font-size: var(--font-size-hero-copy);
  max-width: var(--hero-text-max);
}

.services-home {
  background: var(--services-home-bg);
  min-height: 100vh;
  overflow: hidden;
  padding: var(--services-pad-top) var(--page-pad-x) var(--services-pad-bottom);
  position: relative;
}

.services-layout {
  display: grid;
  gap: var(--space-3xl);
  min-width: 0;
  position: relative;
  z-index: var(--z-raised);
  width: 100%;
}

.services-layout > * {
  min-width: 0;
}

.services-head {
  align-items: end;
  display: flex;
  justify-content: flex-start;
}

.services-head h1 {
  color: var(--title);
  font-size: var(--font-size-services-title);
  line-height: var(--line-height-tight);
  margin: 0;
  max-width: none;
}

.service-controls {
  display: block;
  min-width: 0;
  width: 100%;
}

.services-home .access-panel {
  justify-self: stretch;
  width: 100%;
}

.access-panel {
  backdrop-filter: var(--blur-glass);
  /* background: rgba(12, 25, 44, 0.91); */
  border: none;
  border-radius: var(--radius-md);
  /* box-shadow: var(--glass-shadow), var(--glass-inner); */
  display: grid;
  gap: var(--panel-gap);
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  padding: var(--space-xl);
  position: relative;
  width: 100%;
}

.service-dock {
  background: rgba(8, 18, 56, 0.7);
  /* border-color: var(--service-dock-border); */
  border:none;
  /* box-shadow: var(--service-dock-shadow); */
}

.liquid-glass::before {
  background: var(--liquid-glass-sheen);
  content: "";
  inset: 0;
  opacity: 0.38;
  pointer-events: none;
  position: absolute;
  transform: translateX(-18%);
}

.liquid-glass::after {
  border: 1px solid var(--liquid-glass-outline);
  border-radius: var(--radius-md);
  content: "";
  inset: var(--liquid-glass-inset);
  opacity: 0.32;
  pointer-events: none;
  position: absolute;
}

.access-panel > * {
  position: relative;
  z-index: var(--z-raised);
}

.dock-main,
.search-category-row {
  align-items: stretch;
  display: grid;
  gap: var(--panel-gap);
  grid-template-columns: var(--dock-grid);
  min-width: 0;
  width: 100%;
}

.search-row {
  border-radius: var(--radius-md);
  display: grid;
  gap: var(--panel-gap);
  grid-template-columns: var(--search-row-grid);
  overflow: hidden;
  padding: var(--space-md);
  position: relative;
  width: 100%;
}

.search-row::before {
  background: var(--search-row-sheen);
  content: "";
  height: var(--search-sheen-height);
  left: var(--search-sheen-left);
  opacity: 0.45;
  pointer-events: none;
  position: absolute;
  top: var(--search-sheen-top);
  transform: rotate(var(--search-sheen-angle));
  width: var(--search-sheen-width);
}

.search-row input{
  background: transparent;
  box-shadow: none;
}

.search-box:has(input:focus){
  border: 1px solid #ebc45a;
  i{
    color: #ebc45a;
  }
}

.search-box {
  align-items: center;
  background: var(--search-box-celeste-bg);
  border: 1px solid var(--search-box-celeste-border);
  border-radius: var(--radius-sm);
  box-shadow: var(--search-box-celeste-glow);
  color: var(--text-search);
  display: flex;
  gap: var(--space-3xl);
  min-height: var(--search-box-min-height);
  padding: 0 var(--space-4xl);
  position: relative;
  margin-bottom: 0;
}

.search-box .bi {
  color: var(--text-search-icon);
  font-size: var(--font-size-search-icon);
}

.search-box:focus-within {
  border-color: var(--search-box-focus-border);
  box-shadow: var(--search-box-focus-shadow);
}

.search-box input {
  background: transparent;
  border: 0;
  color: var(--ink);
  font-weight: 700;
  min-width: 0;
  outline: 0;
  width: 100%;
}

.search-box input::placeholder {
  color: var(--text-placeholder);
  opacity: 1;
}

.icon-button {
  background: var(--clear-bg);
  border: 1px solid var(--clear-border);
  border-radius: var(--radius-round);
  color: var(--control-fg);
  height: var(--icon-button-size);
  padding-top: 2px;
  position: relative;
  place-self: center;
  z-index: var(--z-raised);
  width: var(--icon-button-size);
}

.icon-button:hover {
  background: var(--clear-bg-hover);
  border-color: var(--clear-border-hover);
  color: var(--text-control-hover);
}

.profile-tabs {
  backdrop-filter: var(--blur-menu);
  background: var(--tab-bg);
  border: 1px solid var(--tab-border);
  border-radius: var(--radius-md);
  display: grid;
  gap: var(--space-xs);
  grid-template-columns: var(--profile-grid);
  min-width: 0;
  padding: var(--space-xs);
  box-shadow: var(--tab-shadow);
}

.profile-tab {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: var(--accent-text);
  display: inline-flex;
  font-size: var(--font-size-tab);
  font-weight: 800;
  gap: var(--space-md);
  justify-content: center;
  min-width: 0;
  min-height: var(--profile-tab-min-height);
  opacity: 0.74;
  padding: var(--space-lg) var(--space-2xl);
  white-space: nowrap;
  transition: background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}

.profile-tab .bi {
  font-size: var(--font-size-tab-icon);
}

.profile-tab.active {
  background: var(--action-bg);
  border-color: transparent;
  color: var(--action-fg);
  opacity: 1;
}

.profile-tab.active:hover {
  background: var(--action-hover);
  border-color: transparent;
  box-shadow: var(--action-pill-glow-hover);
  color: var(--action-fg);
}

.dock-favorite {
  border-radius: var(--radius-md);
  font-size: var(--font-size-tab);
  justify-content: center;
  min-height: var(--dock-favorite-min-height);
  padding: 0 var(--space-3xl);
  place-self: center;
  white-space: nowrap;
}

.toolbar-band,
.manuals-band {
  background: var(--section-bg);
}

.toolbar-band {
  border-bottom: 1px solid var(--line);
  padding: var(--toolbar-pad);
}

.section-shell {
  margin: 0 auto;
  max-width: var(--content-max);
}

.section-title {
  align-items: end;
  display: flex;
  gap: var(--space-9xl);
  justify-content: space-between;
  margin-bottom: 26px;
}

.category-rail {
  max-width: 100%;
  margin-top: var(--space-lg);
  min-width: 0;
  overflow: hidden;
  position: relative;
  z-index: var(--z-raised);
  width: 100%;
}

.category-bar {
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  border-radius: var(--radius-none);
  display: flex;
  flex-wrap: nowrap;
  gap: var(--space-lg);
  min-height: var(--category-bar-min-height);
  overflow-x: auto;
  padding: 0 var(--space-2xs) var(--space-2xs);
  scrollbar-width: none;
  white-space: nowrap;
  width: 100%;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 730px) {
  .category-bar {
    gap: var(--space-md);
    flex-wrap: wrap;
  }
}


.category-bar::-webkit-scrollbar {
  display: none;
}

.category-chip,
.ghost-button {
  align-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  display: inline-flex;
  font-weight: 800;
  gap: var(--space-lg);
  min-height: var(--icon-button-size);
  padding: 0 var(--chip-pad-x);
  transition: background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}

.category-chip {
  background: var(--category-chip-bg);
  /* border-color: var(--chip-border); */
  border:none;
  color: var(--chip-text);
  flex: 0 0 auto;
  font-size: var(--font-size-chip);
  opacity: 1;
}

.category-chip:hover,
.category-chip.active {
  background: var(--category-chip-active-bg);
  /* border-color: var(--category-border); */
  /* box-shadow: var(--chip-active-shadow); */
  color: rgb(var(--category-rgb));
  opacity: 1;
}

.services-band {
  background: var(--services-band-bg);
  padding: var(--space-10xl) var(--page-pad-x) var(--space-19xl);
}

.results-line {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-weight: 700;
  justify-content: flex-end;
  margin-bottom: var(--space-6xl);
}

.ghost-button {
  backdrop-filter: var(--blur-control);
  background: var(--ghost-bg);
  border-color: rgba(var(--gold-500-rgb), 0.16);
  color: var(--text-ghost);
  box-shadow: var(--glass-inner);
}

.ghost-button.active,
.ghost-button:hover {
  background: rgba(var(--gold-500-rgb), 0.16);
  border-color: rgba(var(--gold-500-rgb), 0.38);
  color: var(--text-ghost-hover);
}

.services-grid {
  display: grid;
  gap: var(--grid-gap);
  grid-template-columns: var(--services-grid-cols);
}

.service-card {
  --card-x: 50%;
  --card-y: 0%;
  --card-glow:
    radial-gradient(680px circle at var(--card-x) var(--card-y), rgba(var(--category-rgb), var(--card-glow-primary-opacity)), rgba(var(--category-rgb), var(--card-glow-primary-stop-opacity)) 30%, transparent 60%),
    radial-gradient(820px circle at calc(var(--card-x) + 10%) calc(var(--card-y) + 12%), rgba(var(--category-rgb), var(--card-glow-secondary-opacity)), rgba(var(--category-rgb), var(--card-glow-secondary-stop-opacity)) 38%, transparent 68%),
    linear-gradient(124deg, rgba(var(--category-rgb), var(--card-glow-wash-opacity)), transparent 34%),
    radial-gradient(circle at 100% 0%, rgba(var(--category-rgb), var(--card-glow-corner-opacity)), transparent 28%),
    radial-gradient(circle at 10% 20%, rgba(var(--category-rgb), var(--card-glow-ambient-opacity)), transparent 34%);
  --card-topline:
    radial-gradient(280px circle at var(--card-x) 0%, rgba(var(--category-rgb), var(--card-topline-primary-opacity)), rgba(var(--category-rgb), var(--card-topline-stop-opacity)) 46%, transparent 72%),
    linear-gradient(90deg, rgb(var(--category-rgb)), rgba(var(--category-rgb), var(--card-topline-solid-opacity)), rgba(var(--category-rgb), var(--card-topline-fade-opacity)), transparent 92%);
  backdrop-filter: var(--blur-card);
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);
  box-shadow: var(--card-shadow);
  display: flex;
  flex-direction: column;
  isolation: isolate;
  min-height: var(--service-card-min-height);
  overflow: hidden;
  padding: var(--service-card-pad);
  position: relative;
  transition: border-color var(--duration-card) var(--ease-standard), box-shadow var(--duration-card) var(--ease-standard), transform var(--duration-card) var(--ease-standard);
}

.service-card::before {
  background: var(--card-glow);
  content: "";
  display: block;
  inset: 0;
  opacity: 0.5;
  pointer-events: none;
  position: absolute;
  transition: opacity var(--duration-card) var(--ease-standard);
}

.service-card::after {
  background: var(--card-topline);
  content: "";
  height: var(--card-topline-height);
  inset: 0 auto auto 0;
  opacity: 0.72;
  position: absolute;
  transition: opacity var(--duration-card) var(--ease-standard), width var(--duration-card) var(--ease-standard);
  width: var(--card-topline-width);
}

.service-card:hover {
  border-color: var(--category-border);
  box-shadow: var(--card-shadow-hover);
  transform: translateY(-3px);
}

.service-card:hover::before {
  opacity: 1;
}

.service-card:hover::after {
  opacity: 1;
  width: 100%;
}

.service-top {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: var(--space-6xl);
  position: relative;
  z-index: var(--z-raised);
}

.service-icon {
  align-items: center;
  background: var(--service-icon-bg);
  border: 1px solid var(--service-icon-border);
  border-radius: var(--radius-md);
  box-shadow: var(--service-icon-shadow);
  color: rgb(var(--category-rgb));
  display: inline-flex;
  height: var(--service-icon-size);
  justify-content: center;
  width: var(--service-icon-size);
}

.service-card:hover .service-icon {
  border-color: var(--service-icon-border-hover);
  box-shadow: var(--service-icon-shadow-hover);
}

.service-icon .bi {
  font-size: var(--font-size-service-icon);
}

.favorite-button {
  background: var(--icon-bg);
  border: 1px solid var(--favorite-border);
  border-radius: var(--radius-round);
  color: var(--favorite-color);
  height: var(--favorite-size);
  width: var(--favorite-size);
}

.favorite-button:hover,
.favorite-button.active {
  background: var(--favorite-bg-active);
  border-color: var(--favorite-border-active);
  color: var(--gold-400);
}

.service-body {
  flex: 1;
  position: relative;
  z-index: var(--z-raised);
}

.service-category {
  color: rgb(var(--category-rgb));
  display: inline-block;
  font-size: var(--font-size-card-category);
  font-weight: 900;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.service-card h3 {
  color: var(--title);
  font-size: var(--font-size-card-title);
  line-height: var(--line-height-card-title);
  margin-bottom: var(--space-md);
}

.service-system {
  color: var(--text-system);
  font-size: var(--font-size-card-meta);
  font-weight: 800;
  margin-bottom: var(--space-2xl);
}

.service-card p:not(.service-system) {
  color: var(--muted);
  font-size: var(--font-size-card-text);
  line-height: var(--line-height-card-text);
  margin-bottom: 0;
}

.profile-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  margin: var(--space-5xl) 0;
  position: relative;
  z-index: var(--z-raised);
}

.profile-tags span {
  background: var(--chip-bg);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  color: var(--muted);
  font-size: var(--font-size-tag);
  font-weight: 800;
  padding: var(--space-sm) var(--space-xl);
}

.service-actions {
  display: grid;
  gap: var(--space-xl);
  grid-template-columns: var(--single-col);
  margin-top: auto;
  position: relative;
  z-index: var(--z-raised);
}

.service-actions.has-split {
  align-items: start;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.action-group {
  align-content: start;
  align-items: start;
  background: var(--action-group-bg);
  border: 0;
  border-radius: var(--radius-md);
  box-shadow: var(--action-group-shadow);
  display: grid;
  gap: var(--space-lg);
  min-width: 0;
  padding: var(--space-2xl);
  transition: background var(--duration-fast) var(--ease-standard);
}

.action-group:has(.primary-action:hover),
.action-group:has(.primary-action:focus-visible),
.action-group:has(.manual-pill:hover),
.action-group:has(.manual-pill:focus-visible) {
  background: var(--action-group-bg-hover);
}

.action-label {
  color: var(--action-label-color);
  display: inline-flex;
  font-size: var(--font-size-action-label);
  font-weight: var(--font-weight-action-label);
  line-height: 1;
  text-transform: uppercase;
}

.action-list {
  align-items: start;
  display: grid;
  gap: var(--space-lg);
  justify-items: start;
  min-width: 0;
  width: 100%;
}

.service-actions.has-split .primary-action,
.service-actions.has-split .manual-pill {
  width: min(100%, var(--action-pill-max-width));
}

.primary-action,
.manual-pill {
  align-items: center;
  border-radius: var(--radius-md);
  display: inline-flex;
  font-size: var(--font-size-action);
  font-weight: var(--font-weight-action);
  gap: var(--space-lg);
  line-height: 1;
  max-width: 100%;
  min-height: var(--action-min-height);
  min-width: 0;
  overflow: hidden;
  padding: 0 var(--space-3xl);
  position: relative;
  text-align: left;
  text-transform: uppercase;
  transition: background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
  white-space: nowrap;
  width: 100%;
}

.primary-action::before,
.manual-pill::before {
  background: var(--action-pill-sheen);
  content: "";
  inset: -40% auto -40% -60%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: translateX(0);
  transition: opacity var(--duration-fast) var(--ease-standard), transform 520ms var(--ease-standard);
  width: 58%;
}

.primary-action .bi,
.manual-pill .bi {
  flex: 0 0 auto;
  font-size: var(--font-size-action-icon);
  position: relative;
  z-index: var(--z-raised);
}

.primary-action[data-os] .bi,
.manual-pill[data-os] .bi {
  color: var(--os-icon-color);
  text-shadow: 0 0 14px color-mix(in srgb, var(--os-icon-color) 34%, transparent);
}

[data-os="windows"] {
  --os-icon-color: var(--os-windows);
}

[data-os="apple"] {
  --os-icon-color: var(--os-apple);
}

[data-os="android"] {
  --os-icon-color: var(--os-android);
}

[data-os="mobile"] {
  --os-icon-color: var(--os-mobile);
}

.action-text {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  position: relative;
  text-overflow: ellipsis;
  white-space: nowrap;
  z-index: var(--z-raised);
}

.primary-action:hover,
.manual-pill:hover {
  transform: translateY(-1px);
}

.primary-action:hover::before,
.manual-pill:hover::before {
  opacity: 1;
  transform: translateX(280%);
}

.primary-action {
  background: var(--action-bg);
  border: 1px solid var(--primary-border);
  color: var(--action-fg);
}

.primary-action:hover {
  background: var(--action-hover);
  border-color: var(--primary-border-hover);
  box-shadow: var(--action-pill-glow-hover);
  color: var(--action-fg);
}

.manual-pill {
  background: var(--manual-pill-bg);
  border: 1px solid var(--manual-pill-border);
  color: var(--text-manual);
}

.manual-pill:hover {
  background: var(--manual-pill-bg-hover);
  border-color: rgba(var(--gold-400-rgb), 0.42);
  box-shadow: var(--manual-pill-glow-hover);
  color: var(--text-manual-hover);
}

.empty-state {
  background: var(--card-bg);
  border: 1px dashed var(--line);
  border-radius: var(--radius-md);
  color: var(--muted);
  padding: var(--space-16xl) var(--space-6xl);
  text-align: center;
}

.empty-state .bi {
  color: var(--blue-700);
  display: block;
  font-size: var(--empty-icon-size);
  margin-bottom: var(--space-3xl);
}

.empty-state h3 {
  color: var(--title);
  margin-bottom: var(--space-md);
}

.manuals-band {
  border-top: 1px solid var(--line);
  padding: var(--manuals-pad);
}

.manual-layout {
  align-items: start;
  display: grid;
  gap: var(--space-11xl);
  grid-template-columns: var(--manual-grid);
}

.manual-list {
  align-content: start;
  align-items: start;
  display: grid;
  gap: var(--space-2xl);
}

.manual-row {
  align-items: center;
  backdrop-filter: var(--blur-control);
  background: var(--card-bg);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  display: flex;
  gap: var(--space-3xl);
  justify-content: flex-start;
  padding: var(--space-3xl);
  transition: background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);
}

.manual-row:hover {
  background: var(--glass-bg);
  border-color: var(--manual-row-hover-border);
}

.manual-icon {
  align-items: center;
  flex: 0 0 var(--manual-icon-size);
  background: var(--icon-bg);
  border: 1px solid var(--icon-border);
  border-radius: var(--radius-md);
  color: var(--blue-700);
  display: inline-flex;
  height: var(--manual-icon-size);
  justify-content: center;
  width: var(--manual-icon-size);
}

.manual-copy {
  align-items: flex-start;
  display: inline-flex;
  flex: 0 1 auto;
  flex-direction: column;
  gap: var(--space-2xs);
  min-width: 0;
  text-align: left;
}

.manual-row strong {
  color: var(--title);
  line-height: var(--line-height-card-title);
}

.manual-row small {
  color: var(--muted);
  font-weight: 700;
  line-height: var(--line-height-tight);
}

.manual-arrow {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  flex: 0 0 var(--manual-arrow-size);
  height: var(--manual-arrow-size);
  justify-content: center;
  margin-left: auto;
  width: var(--manual-arrow-size);
}

.manual-arrow .bi {
  font-size: var(--manual-arrow-icon-size);
}

.manual-row:hover .manual-arrow {
  color: var(--blue-700);
}

.site-footer {
  background: var(--header-bg);
  border-top: 1px solid var(--header-border);
  color: var(--text-footer);
  padding: 2rem 2rem 1rem 2rem;
}

.footer-inner {
  align-items: center;
  display: flex;
  gap: var(--space-8xl);
  flex-wrap: wrap;
  flex-direction: column;
  margin: 0 auto;
  max-width: var(--content-max);
}

.fs-xs{
  font-size: 12px;
}

.footer-logo img {
  /* height: var(--space-15xl); */
  width: var(--footer-logo-width);
}

.text-celeste{
  color:#64bbfd !important;
}

.footer-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-5xl) var(--space-8xl);
  justify-content: center;
}

.footer-links a,
.footer-links span {
  align-items: center;
  display: inline-flex;
  font-size: var(--footer-link-font-size);
  gap: var(--space-lg);
}

.footer-links a:hover {
  color: var(--footer-link-hover);
}

.site-footer p {
  color: var(--text-footer-muted);
  font-size: var(--footer-note-font-size);
  margin: 0;
}

@media (prefers-reduced-motion: reduce) {
  .page-background {
    background:
      var(--page-video-overlay),
      url("../images/video-bg.jpg") center / cover fixed no-repeat,
      var(--page-video-bg);
  }

  .page-background-video {
    display: none;
  }
}

.bi {
  display: inline-flex;
  font-size: var(--font-size-bi);
  line-height: 1;
}

@media (max-width: 1180px) {
  .services-grid {
    grid-template-columns: var(--services-grid-cols);
  }

  .service-actions.has-split {
    grid-template-columns: var(--single-col);
  }
}

@media (max-width: 980px) {
  .site-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .top-nav {
    display: none;
  }

  .header-actions {
    display: inline-flex;
  }

  .menu-button {
    display: inline-flex;
  }

  .hero {
    min-height: auto;
  }

  .hero-content {
    align-items: start;
    grid-template-columns: var(--single-col);
    min-height: 0;
  }

  .access-panel {
    justify-self: stretch;
    width: 100%;
  }

  .hero-copy {
    padding-bottom: 0;
  }

  .service-controls {
    display: block;
  }

  .dock-main,
  .search-category-row {
    grid-template-columns: var(--single-col);
  }

  .dock-favorite {
    justify-self: start;
  }

  .manual-layout,
  .footer-inner {
    grid-template-columns: var(--single-col);
  }

  .footer-links {
    justify-content: flex-start;
  }
}

@media (max-width: 780px) {
  .brand img {
    height: var(--header-logo-height-md);
  }

  .brand span {
    font-size: var(--font-size-brand-sm);
  }

  .hero {
    padding-top: var(--space-27xl);
  }

  .services-home {
    padding-top: var(--space-24xl);
  }

  h1 {
    font-size: var(--font-size-h1-md);
  }

  .profile-tabs {
    grid-template-columns: var(--profile-grid-sm);
  }

  .dock-favorite {
    min-height: var(--dock-favorite-min-height-md);
  }

  .services-grid {
    grid-template-columns: var(--services-grid-cols-md);
  }

}

@media (max-width: 560px) {
  .site-header {
    height: var(--header-height-sm);
    padding: 0 var(--mobile-pad-x);
  }

  .brand {
    gap: var(--space-2xl);
  }

  .brand img {
    max-width: var(--header-logo-max-sm);
  }

  .brand span {
    display: none;
  }

  .hero {
    padding-left: var(--mobile-pad-x);
    padding-right: var(--mobile-pad-x);
  }

  .services-home {
    padding: var(--services-mobile-pad);
  }

  .services-head {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-2xl);
  }

  .services-head h1 {
    font-size: var(--font-size-services-title-sm);
  }

  h1 {
    font-size: var(--font-size-h1-sm);
    max-width: var(--mobile-title-max);
  }

  .access-panel {
    gap: var(--panel-gap);
    padding: var(--space-lg);
  }

  .search-row {
    gap: var(--panel-gap);
    grid-template-columns: var(--search-row-grid);
    padding: var(--space-sm);
  }

  .category-bar {
    min-height: var(--category-bar-min-height-sm);
  }

  .search-box {
    gap: var(--space-2xl);
    min-height: var(--search-box-min-height-sm);
    padding: 0 var(--space-3xl);
  }

  .icon-button {
    height: var(--icon-button-size);
    width: var(--icon-button-size);
  }

  .profile-tab {
    font-size: var(--font-size-tab-sm);
    gap: var(--space-sm);
    padding-left: var(--space-md);
    padding-right: var(--space-md);
  }

  .dock-favorite {
    min-height: var(--dock-favorite-min-height-sm);
  }

  .services-grid {
    gap: var(--grid-gap-sm);
    grid-template-columns: var(--single-col);
  }

  .service-card {
    min-height: auto;
    padding: var(--service-card-pad-sm);
  }

  .service-top {
    margin-bottom: var(--space-5xl);
  }

  .service-card h3 {
    font-size: var(--font-size-card-title-sm);
  }

  .service-card p:not(.service-system) {
    font-size: var(--font-size-card-text-sm);
  }

  .profile-tags {
    margin: var(--space-4xl) 0;
  }

  .action-group {
    padding: var(--space-xl);
  }

  .service-actions.has-split .primary-action,
  .service-actions.has-split .manual-pill {
    width: min(100%, var(--action-pill-max-width-sm));
  }

  .primary-action,
  .manual-pill {
    font-size: var(--font-size-action-sm);
  }

  .primary-action .bi,
  .manual-pill .bi {
    font-size: var(--font-size-action-icon-sm);
  }

  .section-title,
  .results-line {
    align-items: flex-start;
    flex-direction: column;
  }

  .services-band,
  .toolbar-band,
  .manuals-band,
  .site-footer {
    padding-left: var(--mobile-pad-x);
    padding-right: var(--mobile-pad-x);
  }

  .site-footer {
    padding-bottom: var(--space-5xl);
    padding-top: var(--space-7xl);
  }

  .footer-inner {
    align-items: center;
    flex-direction: column;
    gap: var(--space-4xl);
    text-align: center;
  }

  .footer-logo img {
    width: var(--footer-logo-width-sm);
  }

  .footer-links {
    align-items: center;
    flex-direction: column;
    gap: var(--space-2xl);
    justify-content: center;
    width: 100%;
  }

  .footer-links a,
  .footer-links span {
    font-size: var(--footer-link-font-size-sm);
    justify-content: center;
    line-height: var(--footer-text-line-height-sm);
    width: 100%;
  }

  .site-footer p {
    font-size: var(--footer-note-font-size-sm);
    line-height: var(--footer-text-line-height-sm);
  }
}
