:root {
      --page-bg: #f3f7f8;
      --surface: #ffffff;
      --surface-soft: #f8fbfc;
      --navy: #0d2145;
      --navy-2: #17355f;
      --text: #435168;
      --muted: #728096;
      --teal: #047f83;
      --teal-dark: #006d72;
      --teal-soft: #eef8f7;
      --blue: #0755bd;
      --blue-dark: #06449b;
      --blue-soft: #f0f5ff;
      --violet: #785da8;
      --violet-soft: #f6f1fb;
      --orange: #b9623b;
      --orange-soft: #fff2ea;
      --green: #527735;
      --green-soft: #f1f8eb;
      --gold: #a37a16;
      --gold-soft: #fff8df;
      --red: #b84b55;
      --red-soft: #fff2f3;
      --line: rgba(13, 33, 69, .09);
      --line-strong: rgba(13, 33, 69, .14);
      --shadow: 0 22px 66px rgba(18, 42, 66, .09);
      --shadow-sm: 0 12px 34px rgba(18, 42, 66, .075);
      --radius-xl: 34px;
      --radius-lg: 28px;
      --radius-md: 18px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 24px; }

    body {
      margin: 0;
      overflow-x: hidden;
      color: var(--text);
      background:
        radial-gradient(circle at 4% 7%, rgba(4,127,131,.075), transparent 30rem),
        radial-gradient(circle at 97% 88%, rgba(7,85,189,.055), transparent 32rem),
        var(--page-bg);
      font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
      line-height: 1.95;
    }

    a { color: inherit; text-decoration: none; }
    img, svg { max-width: 100%; }
    button, input { font: inherit; }

    a:focus-visible,
    button:focus-visible {
      outline: 3px solid rgba(4,127,131,.26);
      outline-offset: 3px;
    }

    .skip-link {
      position: fixed;
      z-index: 9999;
      top: 10px;
      right: 10px;
      padding: 9px 14px;
      border-radius: 10px;
      color: #fff;
      background: var(--navy);
      transform: translateY(-150%);
      transition: transform .2s ease;
    }
    .skip-link:focus { transform: translateY(0); }

    .svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

    .site-shell {
      width: min(1500px, calc(100% - 30px));
      margin: 15px auto;
      overflow: hidden;
      border: 1px solid rgba(13,33,69,.055);
      border-radius: var(--radius-xl);
      background: rgba(255,255,255,.965);
      box-shadow: var(--shadow);
      backdrop-filter: blur(10px);
    }

    /* Header — برگرفته از صفحه اصلی تصمیمو */
    .site-header {
      position: relative;
      z-index: 50;
      min-height: 82px;
      padding: 15px clamp(20px,4vw,58px);
      border-bottom: 1px solid rgba(13,33,69,.06);
      background: rgba(255,255,255,.9);
      backdrop-filter: blur(16px);
    }
    .site-header .navbar { min-height: 52px; }

    .brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 12px; color: var(--navy); }
    .brand-mark {
      position: relative; display: grid; width: 38px; height: 38px; border-radius: 13px;
      color: #fff; background: linear-gradient(145deg, #08a0a4, #006c72);
      box-shadow: 0 10px 24px rgba(4,127,131,.22); place-items: center;
    }
    .brand-mark::before, .brand-mark::after {
      position: absolute; width: 7px; height: 7px; content: "";
      border: 2px solid currentColor; border-radius: 50%;
    }
    .brand-mark::before { top: 9px; right: 8px; }
    .brand-mark::after { bottom: 9px; left: 8px; }
    .brand-mark span { width: 14px; height: 2px; border-radius: 999px; background: currentColor; transform: rotate(-42deg); }
    .brand-copy { display: grid; line-height: 1.35; }
    .brand-name { color: var(--teal-dark); font-size: 1.08rem; font-weight: 800; }
    .brand-tagline { color: var(--muted); font-size: .72rem; font-weight: 600; }

    .desktop-nav { gap: 2px; }
    .desktop-nav .nav-link {
      display: inline-flex; min-height: 42px; align-items: center; gap: 6px;
      padding: 8px 11px !important; border-radius: 11px; color: #536176;
      font-size: .88rem; font-weight: 700;
      transition: color .2s ease, background .2s ease, transform .2s ease;
    }
    .desktop-nav .nav-link:hover,
    .desktop-nav .nav-link:focus-visible,
    .desktop-nav .nav-link.active,
    .desktop-nav .show > .nav-link {
      color: var(--teal-dark); background: var(--teal-soft); transform: translateY(-1px);
    }
    .desktop-nav .dropdown-toggle::after { display: none; }
    .nav-chevron { width: 14px; height: 14px; transition: transform .2s ease; }
    .show > .nav-link .nav-chevron { transform: rotate(180deg); }
    .mega-dropdown { position: static; }
    .mega-menu {
      width: min(1000px, calc(100vw - 52px)); margin-top: 13px !important; padding: 20px;
      border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.985);
      box-shadow: 0 24px 60px rgba(18,42,66,.16); inset-inline: auto !important;
      right: 50% !important; left: auto !important; transform: translateX(50%) !important;
    }
    .mega-group { height: 100%; padding: 15px; border: 1px solid rgba(13,33,69,.065); border-radius: 17px; background: #fbfcfd; }
    .mega-group--personal { --group-accent: var(--teal); --group-soft: var(--teal-soft); }
    .mega-group--work { --group-accent: var(--blue); --group-soft: var(--blue-soft); }
    .mega-group--knowledge { --group-accent: var(--violet); --group-soft: var(--violet-soft); }
    .mega-heading { display: flex; align-items: center; gap: 9px; margin-bottom: 8px; color: var(--navy); font-size: .96rem; font-weight: 800; }
    .mega-heading::before {
      width: 9px; height: 9px; content: ""; border-radius: 50%; background: var(--group-accent);
      box-shadow: 0 0 0 5px color-mix(in srgb, var(--group-accent) 11%, transparent);
    }
    .mega-list { display: grid; gap: 3px; }
    .mega-list a {
      display: flex; align-items: center; justify-content: space-between; gap: 10px;
      padding: 6px 9px; border-radius: 9px; color: #5c697d; font-size: .82rem; font-weight: 600; transition: .2s ease;
    }
    .mega-list a:hover { color: var(--group-accent); background: var(--group-soft); transform: translateX(-2px); }
    .mega-all { display: inline-flex; align-items: center; gap: 7px; margin-top: 9px; color: var(--group-accent); font-size: .8rem; font-weight: 800; }
    .mega-all svg { width: 16px; height: 16px; }

    .menu-button {
      display: grid; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 14px;
      color: var(--teal-dark); background: var(--teal-soft); place-items: center; transition: .2s ease;
    }
    .menu-button:hover { transform: translateY(-1px); box-shadow: var(--shadow-sm); }
    .menu-button svg { width: 25px; height: 25px; }

    /* Shared page elements */
    .page-main { min-height: 55vh; }
    .page-section { position: relative; padding: clamp(52px,6.4vw,92px) clamp(18px,4.5vw,68px); }
    .page-section--soft { background: linear-gradient(180deg, #f8fbfc 0%, #fff 100%); }
    .page-section--line { border-top: 1px solid rgba(13,33,69,.065); }
    .content-max { width: min(1180px, 100%); margin-inline: auto; }

    .breadcrumb-wrap { padding: 17px clamp(20px,4.5vw,68px) 0; }
    .breadcrumb { margin: 0; color: #7b8798; font-size: .79rem; font-weight: 650; }
    .breadcrumb-item + .breadcrumb-item::before { color: #a0aaba; }
    .breadcrumb a:hover { color: var(--teal-dark); }

    .page-hero {
      position: relative; overflow: hidden; margin: 14px clamp(14px,4vw,62px) 0;
      padding: clamp(52px,7vw,92px) clamp(22px,6vw,86px); border-radius: 31px;
      color: #dcefee;
      background:
        radial-gradient(circle at 8% 18%, rgba(41,187,189,.20), transparent 28rem),
        radial-gradient(circle at 94% 86%, rgba(84,115,203,.19), transparent 29rem),
        linear-gradient(135deg, #0b2748, #075f66);
      box-shadow: 0 25px 58px rgba(8,39,72,.18); isolation: isolate;
    }
    .page-hero::before {
      position: absolute; z-index: -1; top: -125px; left: -95px; width: 315px; height: 315px;
      content: ""; border: 1px dashed rgba(255,255,255,.17); border-radius: 50%;
      box-shadow: 0 0 0 54px rgba(255,255,255,.018); pointer-events: none;
    }
    .page-hero::after {
      position: absolute; z-index: -1; right: -90px; bottom: -150px; width: 340px; height: 340px;
      content: ""; border-radius: 50%; background: radial-gradient(circle, rgba(73,198,192,.2), transparent 66%); pointer-events: none;
    }
    .page-hero--personal {
      background:
        radial-gradient(circle at 7% 15%, rgba(69,214,198,.19), transparent 27rem),
        radial-gradient(circle at 96% 90%, rgba(114,169,194,.16), transparent 29rem),
        linear-gradient(135deg, #0b2945, #087874);
    }
    .page-hero--work {
      background:
        radial-gradient(circle at 7% 15%, rgba(69,175,214,.19), transparent 27rem),
        radial-gradient(circle at 96% 90%, rgba(87,105,199,.17), transparent 29rem),
        linear-gradient(135deg, #0b2748, #084f86);
    }
    .page-hero--detail {
      color: var(--text); background:
        radial-gradient(circle at 8% 18%, rgba(4,127,131,.11), transparent 28rem),
        radial-gradient(circle at 95% 90%, rgba(7,85,189,.08), transparent 29rem),
        linear-gradient(145deg, #f7fbfb, #fff);
      border: 1px solid rgba(13,33,69,.075); box-shadow: var(--shadow-sm);
    }
    .page-hero--detail::before { border-color: rgba(4,127,131,.16); box-shadow: 0 0 0 54px rgba(4,127,131,.025); }
    .page-hero--detail::after { background: radial-gradient(circle, rgba(7,85,189,.08), transparent 66%); }

    .hero-grid { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 34px; }
    .hero-copy { max-width: 920px; }
    .hero-eyebrow { display: inline-flex; align-items: center; gap: 10px; color: #86d7d1; font-size: .89rem; font-weight: 800; }
    .page-hero--detail .hero-eyebrow { color: var(--teal-dark); }
    .hero-eyebrow::before { width: 34px; height: 2px; content: ""; border-radius: 999px; background: currentColor; }
    .page-title {
      max-width: 1040px; margin: 13px 0 18px; color: #fff;
      font-size: clamp(2rem,4vw,4.4rem); font-weight: 800; line-height: 1.38; letter-spacing: -.045em; text-wrap: balance;
    }
    .page-hero--detail .page-title { color: var(--navy); font-size: clamp(1.95rem,3.5vw,3.85rem); }
    .hero-description { max-width: 900px; margin: 0; color: #d5e5e7; font-size: clamp(.98rem,1.15vw,1.17rem); }
    .page-hero--detail .hero-description { color: #59687c; }
    .hero-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
    .hero-chip {
      display: inline-flex; align-items: center; gap: 7px; min-height: 37px; padding: 6px 11px;
      border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #e5f3f2;
      background: rgba(255,255,255,.08); font-size: .76rem; font-weight: 750; backdrop-filter: blur(6px);
    }
    .page-hero--detail .hero-chip { color: var(--teal-dark); border-color: rgba(4,127,131,.14); background: var(--teal-soft); }
    .hero-chip svg { width: 15px; height: 15px; }
    .hero-emblem {
      display: grid; width: clamp(125px,13vw,178px); aspect-ratio: 1; place-items: center;
      border: 1px solid rgba(255,255,255,.17); border-radius: 38px; color: #9ce3de;
      background: rgba(255,255,255,.075); box-shadow: inset 0 1px 0 rgba(255,255,255,.11); backdrop-filter: blur(8px);
    }
    .page-hero--detail .hero-emblem { color: var(--teal); border-color: rgba(4,127,131,.11); background: #fff; box-shadow: var(--shadow-sm); }
    .hero-emblem svg { width: 68%; height: 68%; }

    .section-head { max-width: 870px; margin-bottom: clamp(26px,3.5vw,42px); }
    .section-head--center { margin-inline: auto; text-align: center; }
    .section-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 8px; color: var(--teal-dark); font-size: .84rem; font-weight: 800; }
    .section-kicker::before { width: 31px; height: 2px; content: ""; border-radius: 999px; background: currentColor; }
    .section-head--center .section-kicker::after { width: 31px; height: 2px; content: ""; border-radius: 999px; background: currentColor; }
    .section-title { margin: 0; color: var(--navy); font-size: clamp(1.65rem,2.8vw,3rem); font-weight: 800; line-height: 1.48; letter-spacing: -.025em; text-wrap: balance; }
    .section-intro { max-width: 780px; margin: 12px 0 0; color: #5c697b; font-size: clamp(.93rem,1vw,1.05rem); }
    .section-head--center .section-intro { margin-inline: auto; }

    .plain-link { display: inline-flex; align-items: center; gap: 7px; color: var(--teal-dark); font-size: .84rem; font-weight: 800; }
    .plain-link svg { width: 16px; height: 16px; transition: transform .2s ease; }
    .plain-link:hover svg { transform: translateX(-3px); }

    .primary-btn, .secondary-btn {
      display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 9px;
      padding: 10px 17px; border: 1px solid transparent; border-radius: 14px; font-size: .89rem; font-weight: 800;
      transition: .2s ease;
    }
    .primary-btn { color: #fff; background: linear-gradient(135deg, var(--teal), var(--teal-dark)); box-shadow: 0 12px 25px rgba(4,127,131,.2); }
    .primary-btn:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 16px 30px rgba(4,127,131,.24); }
    .secondary-btn { color: var(--navy); border-color: var(--line-strong); background: #fff; }
    .secondary-btn:hover { color: var(--teal-dark); border-color: rgba(4,127,131,.22); background: var(--teal-soft); transform: translateY(-2px); }
    .primary-btn svg, .secondary-btn svg { width: 17px; height: 17px; }

    .tag-row { display: flex; flex-wrap: wrap; gap: 7px; }
    .soft-tag {
      display: inline-flex; align-items: center; min-height: 31px; padding: 4px 10px;
      border: 1px solid rgba(13,33,69,.075); border-radius: 999px; color: #647186; background: #f8fafb;
      font-size: .72rem; font-weight: 750;
    }
    .soft-tag--teal { color: var(--teal-dark); border-color: rgba(4,127,131,.13); background: var(--teal-soft); }
    .soft-tag--blue { color: var(--blue-dark); border-color: rgba(7,85,189,.13); background: var(--blue-soft); }
    .soft-tag--gold { color: #84620f; border-color: rgba(163,122,22,.15); background: var(--gold-soft); }
    .soft-tag--violet { color: #694e97; border-color: rgba(120,93,168,.15); background: var(--violet-soft); }

    .notice-box {
      display: flex; align-items: flex-start; gap: 13px; padding: 18px 20px;
      border: 1px solid rgba(4,127,131,.13); border-radius: 18px; background: var(--teal-soft); color: #536276;
    }
    .notice-box svg { flex: 0 0 auto; width: 22px; height: 22px; margin-top: 4px; color: var(--teal-dark); }
    .notice-box strong { display: block; margin-bottom: 2px; color: var(--navy); }
    .notice-box p { margin: 0; font-size: .86rem; }

    /* Footer — برگرفته از صفحه اصلی تصمیمو */
    .site-footer {
      padding: clamp(42px,5vw,64px) clamp(22px,4.5vw,68px) 22px;
      border-top: 1px solid rgba(13,33,69,.07); background: #f8fbfc;
    }
    .footer-title { margin: 0 0 13px; color: var(--navy); font-size: .92rem; font-weight: 800; }
    .footer-links { display: grid; gap: 8px; }
    .footer-links a { width: fit-content; color: #637085; font-size: .82rem; font-weight: 600; transition: color .2s ease, transform .2s ease; }
    .footer-links a:hover { color: var(--teal-dark); transform: translateX(-3px); }
    .footer-bottom {
      display: flex; align-items: center; justify-content: space-between; gap: 16px;
      margin-top: 34px; padding-top: 18px; border-top: 1px solid rgba(13,33,69,.07);
      color: #8490a1; font-size: .75rem;
    }

    /* Mobile menu */
    .offcanvas { --tfc-offcanvas-width: min(390px, 90vw); color: var(--navy); }
    .offcanvas-brand { display: inline-flex; align-items: center; gap: 9px; color: var(--teal-dark); font-weight: 800; }
    .offcanvas-brand::before { width: 11px; height: 11px; content: ""; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 5px rgba(4,127,131,.08); }
    .offcanvas .nav-link { padding: 10px 12px; border-radius: 11px; color: #4e5c70; font-size: .9rem; font-weight: 700; }
    .offcanvas .nav-link:hover, .offcanvas .nav-link.active { color: var(--teal-dark); background: var(--teal-soft); }
    .mobile-accordion .accordion-item { border: 0; border-bottom: 1px solid rgba(13,33,69,.07); }
    .mobile-accordion .accordion-button { padding: 13px 12px; color: var(--navy); background: transparent; box-shadow: none; font-size: .9rem; font-weight: 800; }
    .mobile-accordion .accordion-button:not(.collapsed) { color: var(--teal-dark); background: var(--teal-soft); }
    .mobile-subgroup { margin-bottom: 15px; }
    .mobile-subgroup strong { display: block; margin-bottom: 5px; color: var(--navy); font-size: .82rem; }
    .mobile-subgroup a { display: block; padding: 5px 7px; color: #6a7688; font-size: .78rem; }

    @media (max-width: 1199.98px) {
      .brand-tagline { display: none; }
      .desktop-nav .nav-link { padding-inline: 8px !important; font-size: .83rem; }
    }
    @media (max-width: 991.98px) {
      .site-shell { width: min(100% - 16px, 780px); margin-block: 8px; border-radius: 27px; }
      .site-header { min-height: 72px; padding: 12px 18px; }
      .page-hero { margin-inline: 10px; padding: 46px 28px 52px; }
      .hero-grid { grid-template-columns: 1fr; text-align: center; }
      .hero-copy { margin-inline: auto; }
      .hero-eyebrow { justify-content: center; }
      .hero-emblem { display: none; }
      .hero-meta { justify-content: center; }
      .section-head:not(.section-head--center) { margin-inline: auto; text-align: center; }
      .section-head:not(.section-head--center) .section-kicker { justify-content: center; }
      .section-head:not(.section-head--center) .section-intro { margin-inline: auto; }
    }
    @media (max-width: 767.98px) {
      .page-section { padding-inline: 16px; }
      .breadcrumb-wrap { padding-inline: 18px; }
    }
    @media (max-width: 575.98px) {
      body { line-height: 1.85; }
      .site-shell { width: calc(100% - 10px); border-radius: 22px; }
      .site-header { padding: 10px 13px; }
      .brand-mark { width: 35px; height: 35px; border-radius: 12px; }
      .brand-name { font-size: 1rem; }
      .menu-button { width: 43px; height: 43px; }
      .page-hero { margin-inline: 5px; padding: 37px 17px 42px; border-radius: 23px; }
      .page-title { margin-top: 10px; font-size: clamp(1.9rem,9.6vw,2.75rem); line-height: 1.5; }
      .hero-description { font-size: .94rem; }
      .hero-chip { font-size: .7rem; }
      .page-section { padding-block: 49px; padding-inline: 10px; }
      .section-title { font-size: 1.67rem; }
      .section-intro { font-size: .9rem; }
      .primary-btn, .secondary-btn { width: 100%; }
      .site-footer { padding: 37px 17px 18px; }
      .footer-bottom { align-items: flex-start; flex-direction: column; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
    }


    .archive-layout { width: min(1240px, 100%); margin-inline: auto; }
    .filter-panel {
      position: relative; padding: 21px; border: 1px solid rgba(13,33,69,.075); border-radius: 22px;
      background: #fff; box-shadow: var(--shadow-sm);
    }
    .filter-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 15px; }
    .filter-label { display: flex; align-items: center; gap: 9px; color: var(--navy); font-size: .9rem; font-weight: 800; }
    .filter-label svg { width: 20px; height: 20px; color: var(--teal-dark); }
    .filter-chips { display: flex; flex-wrap: wrap; gap: 8px; }
    .filter-chip {
      min-height: 39px; padding: 7px 13px; border: 1px solid rgba(13,33,69,.10); border-radius: 999px;
      color: #5f6c80; background: #fbfcfd; font-size: .77rem; font-weight: 750; transition: .2s ease;
    }
    .filter-chip:hover { color: var(--teal-dark); border-color: rgba(4,127,131,.20); background: var(--teal-soft); }
    .filter-chip[aria-pressed="true"] { color: #fff; border-color: var(--teal); background: linear-gradient(135deg,var(--teal),var(--teal-dark)); box-shadow: 0 9px 20px rgba(4,127,131,.18); }
    .work-page .filter-chip:hover { color: var(--blue-dark); border-color: rgba(7,85,189,.20); background: var(--blue-soft); }
    .work-page .filter-chip[aria-pressed="true"] { border-color: var(--blue); background: linear-gradient(135deg,var(--blue),var(--blue-dark)); box-shadow: 0 9px 20px rgba(7,85,189,.18); }

    .featured-case {
      --accent: var(--teal); --soft: var(--teal-soft); --accent-dark: var(--teal-dark);
      position: relative; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(270px,.75fr); gap: 25px;
      overflow: hidden; margin-top: 28px; padding: clamp(24px,3.5vw,40px); border: 1px solid rgba(13,33,69,.075);
      border-radius: 28px; background: linear-gradient(145deg,#fff 0%,var(--soft) 165%); box-shadow: var(--shadow-sm);
    }
    .work-page .featured-case { --accent: var(--blue); --soft: var(--blue-soft); --accent-dark: var(--blue-dark); }
    .featured-case::after { position: absolute; top: -110px; left: -90px; width: 260px; height: 260px; content: ""; border-radius: 50%; background: radial-gradient(circle,color-mix(in srgb,var(--accent) 12%,transparent),transparent 68%); }
    .featured-copy { position: relative; z-index: 1; }
    .featured-label { display: inline-flex; align-items: center; gap: 7px; color: var(--accent-dark); font-size: .73rem; font-weight: 800; }
    .featured-label::before { width: 23px; height: 2px; content: ""; border-radius: 99px; background: currentColor; }
    .featured-case h2 { margin: 12px 0 10px; color: var(--navy); font-size: clamp(1.45rem,2.3vw,2.25rem); font-weight: 800; line-height: 1.5; }
    .featured-case p { max-width: 700px; margin: 0; color: #5d6a7e; font-size: .93rem; }
    .featured-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; margin-top: 22px; }
    .featured-visual { position: relative; z-index: 1; display: grid; min-height: 250px; place-items: center; border: 1px solid color-mix(in srgb,var(--accent) 13%,transparent); border-radius: 23px; color: var(--accent-dark); background: var(--soft); }
    .featured-visual svg { width: 112px; height: 112px; }
    .featured-code { position: absolute; left: 17px; bottom: 12px; color: color-mix(in srgb,var(--accent) 42%,#718096); font-size: .69rem; font-weight: 850; letter-spacing: .08em; direction: ltr; }

    .case-grid { margin-top: 25px; }
    .case-card {
      --accent: var(--teal); --soft: var(--teal-soft); --accent-dark: var(--teal-dark);
      display: flex; height: 100%; min-height: 335px; flex-direction: column; overflow: hidden;
      padding: 23px; border: 1px solid rgba(13,33,69,.075); border-radius: 22px; background: #fff;
      box-shadow: 0 9px 28px rgba(18,42,66,.055); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }
    .work-page .case-card { --accent: var(--blue); --soft: var(--blue-soft); --accent-dark: var(--blue-dark); }
    .case-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb,var(--accent) 19%,transparent); box-shadow: 0 18px 40px rgba(18,42,66,.10); }
    .case-card[hidden], .featured-case[hidden] { display: none !important; }
    .case-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    .case-category { display: inline-flex; align-items: center; min-height: 30px; padding: 4px 9px; border-radius: 999px; color: var(--accent-dark); background: var(--soft); font-size: .69rem; font-weight: 800; }
    .case-card h3 { margin: 18px 0 9px; color: var(--navy); font-size: 1.12rem; font-weight: 800; line-height: 1.62; }
    .case-card p { margin: 0; color: #647186; font-size: .84rem; }
    .case-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
    .case-meta span { display: inline-flex; align-items: center; min-height: 29px; padding: 4px 8px; border: 1px solid rgba(13,33,69,.07); border-radius: 999px; color: #748196; background: #fafbfc; font-size: .66rem; font-weight: 700; }
    .case-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 21px; }
    .case-link { display: inline-flex; align-items: center; gap: 7px; color: var(--accent-dark); font-size: .79rem; font-weight: 800; }
    .case-link svg { width: 16px; height: 16px; transition: transform .2s ease; }
    .case-link:hover svg { transform: translateX(-3px); }

    .load-more-wrap { display: flex; justify-content: center; margin-top: 31px; }
    .load-more-btn { min-width: 210px; }
    .empty-state { display: none; margin-top: 24px; padding: 28px; border: 1px dashed rgba(13,33,69,.15); border-radius: 20px; color: #748196; background: #fbfcfd; text-align: center; }
    .empty-state.is-visible { display: block; }

    .learning-card { height: 100%; padding: 20px; border: 1px solid rgba(13,33,69,.07); border-radius: 19px; background: #fff; }
    .learning-card strong { display: block; margin-bottom: 4px; color: var(--navy); font-size: .89rem; }
    .learning-card p { margin: 0; color: #6a778a; font-size: .78rem; }
    .footer-heart { color: #e63946; }

    @media (max-width: 991.98px) { .featured-case { grid-template-columns: 1fr; } .featured-visual { min-height: 210px; } }
    @media (max-width: 575.98px) {
      .filter-panel { padding: 17px 14px; border-radius: 19px; }
      .filter-panel-head { align-items: flex-start; flex-direction: column; gap: 4px; }
      .filter-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; scrollbar-width: thin; }
      .filter-chip { flex: 0 0 auto; }
      .featured-case { padding: 21px 16px; border-radius: 22px; }
      .featured-visual { display: none; }
      .case-card { min-height: 0; padding: 20px 16px; border-radius: 20px; }
      .case-card h3 { font-size: 1.04rem; }
    }
