    
    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

    :root {
      --site-max-width: 1080px;
      --article-max-width: 1000px;
      --article-reading-width: 75ch;
      --article-left-offset: 0px;
      --clr-primary: #235272;
      --clr-primary-light: #24508f;
      --clr-accent: #dcb895;
      --clr-bg: #ffffff;
      --clr-text: #1e293b;
      --clr-text-light: #64748b;
      --clr-border: #e2e8f0;
      --radius: 6px;
      --nav-height: 72px;
      --shadow-sm: 0 1px 3px rgba(0,0,0,.08);
      --shadow-md: 0 4px 12px rgba(0,0,0,.1);
      --transition: .2s ease;
    }

    body {
      font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
      color: var(--clr-text);
      line-height: 1.6;
      background: #f8f9fb;
    }

    a { text-decoration: none; color: inherit; }
    ul { list-style: none; }

    
    .header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: var(--clr-bg);
      border-bottom: 1px solid var(--clr-border);
      box-shadow: var(--shadow-sm);
    }

    .header__inner {
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: 0 24px;
      height: var(--nav-height);
      display: flex;
      align-items: center;
      gap: 12px;
    }

    
    .logo {
      display: flex;
      align-items: center;
      gap: 6px;
      flex-shrink: 0;
    }

    .logo__icon {
      width: 24px;
      height: 24px;
      display: grid;
      place-items: center;
    }

    .logo__icon svg {
      width: 24px;
      height: 24px;
      fill: var(--clr-primary);
      stroke: var(--clr-primary);
    }

    .logo__text {
      font-size: 1.25rem;
      font-weight: 700;
      color: var(--clr-primary);
      letter-spacing: -.5px;
    }

    
    .nav {
      flex: 0 1 auto;
      min-width: auto;
    }

    .nav__list {
      display: flex;
      align-items: center;
      gap: 2px;
    }

    .nav__item {
      position: relative;
    }

    .nav__link {
      display: flex;
      align-items: center;
      gap: 5px;
      padding: 8px 8px;
      font-size: .87rem;
      font-weight: 500;
      color: var(--clr-text);
      border-radius: var(--radius);
      transition: background var(--transition), color var(--transition);
      white-space: nowrap;
    }

    .nav__link:hover,
    .nav__link:focus-visible {
      background: #e2e8f0;
      color: var(--clr-primary);
    }

    .nav__link .chevron {
      width: 14px;
      height: 14px;
      fill: var(--clr-text-light);
      transition: transform var(--transition);
    }

    
    .dropdown {
      position: absolute;
      top: 100%;
      left: 0;
      min-width: 220px;
      background: #ffffff;
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      box-shadow: var(--shadow-md);
      padding: 6px 0;
      display: none;
    }

    .nav__item:hover > .dropdown,
    .nav__item:focus-within > .dropdown {
      display: block;
    }

    .nav__item:hover > .nav__link .chevron {
      transform: rotate(180deg);
    }

    .dropdown__link {
      display: block;
      padding: 9px 18px;
      font-size: .875rem;
      color: var(--clr-text);
      transition: background var(--transition), color var(--transition);
    }

    .dropdown__link:hover,
    .dropdown__link:focus-visible {
      background: #f3f4f6;
      color: var(--clr-primary);
    }

    
    .search {
      position: relative;
      flex-shrink: 0;
      margin-left: 6px;
    }

    .search__input {
      width: 160px;
      padding: 9px 14px 9px 38px;
      font-size: .875rem;
      border: 1px solid var(--clr-border);
      border-radius: 100px;
      outline: none;
      background: #f9fafb;
      color: var(--clr-text);
      transition: border-color var(--transition), box-shadow var(--transition), width var(--transition);
    }

    .search__input::placeholder { color: var(--clr-text-light); }

    .search__input:focus {
      border-color: var(--clr-primary);
      box-shadow: 0 0 0 3px rgba(26,60,110,.12);
      width: 190px;
      background: #fff;
    }

    .search__icon {
      position: absolute;
      left: 13px;
      top: 50%;
      transform: translateY(-50%);
      width: 16px;
      height: 16px;
      fill: var(--clr-text-light);
      pointer-events: none;
    }

    
    .mobile-toggle {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
      padding: 6px;
    }

    .mobile-toggle svg {
      width: 26px;
      height: 26px;
      fill: var(--clr-text);
    }

    
    .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 10px 22px;
      font-size: .875rem;
      font-weight: 600;
      border-radius: var(--radius);
      border: none;
      cursor: pointer;
      transition: background var(--transition), transform var(--transition);
    }

    .btn:active { transform: scale(.97); }

    .btn--primary {
      background: var(--clr-primary);
      color: #fff;
    }
    .btn--primary:hover { background: var(--clr-primary-light); }

    .btn--outline {
      background: transparent;
      color: var(--clr-primary);
      border: 2px solid var(--clr-primary);
    }
    .btn--outline:hover { background: #f3f4f6; }

    
    .hero {
      position: relative;
      max-width: 100%;
      margin: 0;
      padding: 48px max(24px, calc((100% - var(--site-max-width)) / 2 + 24px)) 52px;
      text-align: left;
      background-color: #0a1e3c;
      background-image: url('/uploads/site/hero-bg.jpg');
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      color: #ffffff;
    }

    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(10, 30, 60, .45) 0%, rgba(10, 30, 60, .55) 100%);
      z-index: 0;
    }

    .hero > * {
      position: relative;
      z-index: 1;
    }

    .hero__badge {
      display: inline-block;
      padding: 4px 12px;
      font-size: .7rem;
      font-weight: 600;
      color: #ffffff;
      background: rgba(255,255,255,.18);
      border: 1px solid rgba(255,255,255,.3);
      border-radius: 100px;
      margin-bottom: 12px;
      letter-spacing: .4px;
      backdrop-filter: blur(4px);
    }

    .hero__title {
      font-size: clamp(1.4rem, 3.5vw, 2.1rem);
      font-weight: 800;
      color: #ffffff;
      line-height: 1.25;
      max-width: 680px;
      margin: 0 0 10px;
      text-shadow: 0 2px 12px rgba(0,0,0,.25);
    }

    .hero__sub {
      font-size: .9rem;
      color: rgba(255,255,255,.8);
      max-width: 540px;
      margin: 0 0 20px;
      line-height: 1.65;
    }

    .hero__actions {
      display: flex;
      justify-content: flex-start;
      gap: 14px;
      flex-wrap: wrap;
    }

    .hero .btn--outline {
      color: #ffffff;
      border-color: rgba(255,255,255,.5);
    }

    .hero .btn--outline:hover {
      background: rgba(255,255,255,.12);
      border-color: #ffffff;
    }

    
    .page-header {
      background: var(--clr-primary);
      border-bottom: 3px solid var(--clr-accent);
    }

    .page-header__inner {
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: 28px 24px;
    }

    .page-header__title {
      font-size: 1.35rem;
      font-weight: 700;
      color: #fff;
      margin: 0;
      letter-spacing: -.01em;
    }

    .page-header__sub {
      font-size: .88rem;
      color: rgba(255, 255, 255, .75);
      margin: 6px 0 0;
      font-weight: 400;
    }

    
    .blog {
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: 24px 24px 80px;
    }

    .blog__disclaimer {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      padding: 14px 18px;
      background: #fef3cd;
      border: 1px solid #ffc107;
      border-radius: var(--radius);
      font-size: .85rem;
      color: #664d03;
      line-height: 1.6;
      margin-bottom: 32px;
    }

    .blog__disclaimer svg {
      flex-shrink: 0;
      fill: #664d03;
      margin-top: 2px;
    }

    .blog__list {
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    .blog-card {
      display: flex;
      gap: 24px;
      padding: 24px 0;
      border-bottom: 1px solid var(--clr-border);
    }

    .blog-card:first-child {
      padding-top: 0;
    }

    .blog-card__date {
      flex-shrink: 0;
      width: 56px;
      text-align: center;
    }

    .blog-card__day {
      display: block;
      font-size: 1.5rem;
      font-weight: 800;
      color: var(--clr-primary);
      line-height: 1;
    }

    .blog-card__month {
      display: block;
      font-size: .7rem;
      color: var(--clr-text-light);
      text-transform: uppercase;
      letter-spacing: .5px;
      margin-top: 4px;
    }

    .blog-card__content {
      flex: 1;
      min-width: 0;
    }

    .blog-card__title {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--clr-text);
      line-height: 1.4;
      margin-bottom: 6px;
    }

    .blog-card__title a:hover {
      color: var(--clr-primary);
    }

    .blog-card__excerpt {
      font-size: .875rem;
      color: var(--clr-text-light);
      line-height: 1.65;
      margin-bottom: 8px;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .blog-card__meta {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: .78rem;
      color: var(--clr-text-light);
    }

    @media (max-width: 480px) {
      .blog-card__date { width: 44px; }
      .blog-card__day { font-size: 1.2rem; }
      .blog { padding: 16px 16px 60px; }
    }

    
    .news {
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: 24px 24px 80px;
    }

    .news__heading {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 32px;
    }

    .news__heading h2 {
      font-size: 1.75rem;
      font-weight: 700;
      color: var(--clr-primary);
    }

    .news__heading a {
      font-size: .875rem;
      font-weight: 600;
      color: var(--clr-primary);
      transition: opacity var(--transition);
    }

    .news__heading a:hover { opacity: .7; }

    
    .news__featured {
      position: relative;
      border-radius: 12px;
      overflow: hidden;
      margin-bottom: 32px;
      background: var(--clr-primary);
      display: grid;
      grid-template-columns: 1fr 1fr;
      min-height: 400px;
    }

    .news__featured-img {
      display: block;
      position: relative;
      overflow: hidden;
    }

    .news__featured-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .news__featured-body {
      padding: 48px 44px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .news__featured-label {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 4px 12px;
      font-size: .75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .8px;
      color: var(--clr-primary);
      background: var(--clr-accent);
      border-radius: 4px;
      width: fit-content;
      margin-bottom: 18px;
    }

    .news__featured-label svg {
      width: 14px;
      height: 14px;
      fill: var(--clr-primary);
    }

    .news__featured-title {
      font-size: clamp(1.5rem, 3vw, 2.15rem);
      font-weight: 800;
      color: #fff;
      line-height: 1.25;
      margin-bottom: 14px;
    }

    .news__featured-excerpt {
      font-size: 1rem;
      color: rgba(255,255,255,.75);
      line-height: 1.7;
      margin-bottom: 24px;
      max-width: 480px;
    }

    .news__featured-meta {
      display: flex;
      align-items: center;
      gap: 16px;
      font-size: .8rem;
      color: rgba(255,255,255,.55);
    }

    .news__featured-meta span {
      display: flex;
      align-items: center;
      gap: 5px;
    }

    .news__featured-meta svg {
      width: 14px;
      height: 14px;
      fill: rgba(255,255,255,.55);
    }

    .news__featured-cats {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-bottom: 14px;
    }

    .news__featured-cat {
      display: inline-block;
      padding: 3px 10px;
      font-size: .68rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: .6px;
      color: rgba(255,255,255,.85);
      background: rgba(255,255,255,.12);
      border-radius: 3px;
    }

    .news__featured-link {
      display: inline-block;
      margin-top: 16px;
      font-size: .85rem;
      font-weight: 600;
      color: var(--clr-accent);
      transition: opacity var(--transition);
    }

    .news__featured-link:hover {
      opacity: .75;
    }

    
    .news__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }

    .news-card {
      background: var(--clr-bg);
      border: 1px solid var(--clr-border);
      border-radius: 10px;
      overflow: hidden;
      transition: box-shadow var(--transition), transform var(--transition);
    }

    .news-card:hover {
      box-shadow: var(--shadow-md);
      transform: translateY(-3px);
    }

    .news-card__img-link {
      display: block;
      overflow: hidden;
    }

    .news-card__img {
      width: 100%;
      height: 190px;
      object-fit: cover;
      display: block;
      background: #e2e8f0;
    }

    .news-card__body {
      padding: 22px 24px 26px;
    }

    .news-card__tags {
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
      margin-bottom: 10px;
    }

    .news-card__tag {
      display: inline-block;
      padding: 3px 10px;
      font-size: .7rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .5px;
      border-radius: 4px;
      margin-bottom: 0;
    }

    .news-card__tag--research { background: #e5e7eb; color: #1e40af; }
    .news-card__tag--sustainability { background: #dcfce7; color: #166534; }
    .news-card__tag--ai { background: #f3e8ff; color: #6b21a8; }
    .news-card__tag--blog { background: #f5ebe0; color: #6b4c30; }
    .news-card__tag--bewusstsein { background: #eef2ff; color: #4338ca; }
    .news-card__tag--medizin { background: #fef2f2; color: #991b1b; }
    .news-card__tag--evolution { background: #ecfdf5; color: #065f46; }

    
    .article--blog {
      border-top: 3px solid var(--clr-accent);
    }

    .article__blog-notice {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      padding: 12px 16px;
      background: #fef3cd;
      border: 1px solid #ffc107;
      border-radius: var(--radius);
      font-size: .82rem;
      color: #664d03;
      line-height: 1.5;
      margin-bottom: 16px;
    }

    .article__blog-notice svg {
      flex-shrink: 0;
      fill: #664d03;
      margin-top: 1px;
    }

    
    .press__section {
      padding: 40px 0;
    }

    .press__section--alt {
      background: #f3f4f6;
    }

    .press__container {
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: 0 24px;
    }

    .press__intro {
      font-size: 1.05rem;
      line-height: 1.7;
      color: var(--clr-text);
      max-width: 720px;
    }

    .press__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 28px;
    }

    @media (max-width: 680px) {
      .press__grid { grid-template-columns: 1fr; }
    }

    .press__card {
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      padding: 28px;
    }

    .press__card--contact {
      border-left: 3px solid var(--clr-accent);
    }

    .press__card-title {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--clr-primary);
      margin-bottom: 16px;
    }

    .press__card p {
      font-size: .92rem;
      color: var(--clr-text);
      line-height: 1.6;
      margin-bottom: 16px;
    }

    .press__facts {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    .press__facts li {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: .92rem;
      color: var(--clr-text);
    }

    .press__facts svg {
      flex-shrink: 0;
      fill: var(--clr-primary);
    }

    .press__email {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: .92rem;
      font-weight: 600;
      color: var(--clr-primary);
      transition: opacity var(--transition);
    }

    .press__email:hover { opacity: .7; }

    .press__email svg {
      fill: var(--clr-primary);
    }

    .press__section-title {
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--clr-primary);
      margin-bottom: 12px;
    }

    .press__section-text {
      font-size: .92rem;
      color: var(--clr-text);
      line-height: 1.6;
      max-width: 640px;
    }

    .press__disclaimer {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      padding: 12px 16px;
      background: #fef3cd;
      border: 1px solid #ffc107;
      border-radius: var(--radius);
      font-size: .82rem;
      color: #664d03;
      line-height: 1.5;
      margin-bottom: 24px;
    }

    .press__disclaimer svg {
      flex-shrink: 0;
      fill: #664d03;
      margin-top: 1px;
    }

    .press__response-note {
      font-size: .8rem;
      color: var(--clr-text-light);
      margin-top: 12px;
      font-style: italic;
    }

    .press__media-list {
      list-style: none;
      padding: 0;
      margin: 20px 0 24px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    @media (max-width: 680px) {
      .press__media-list { grid-template-columns: 1fr; }
    }

    .press__media-list li {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 12px 16px;
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      font-size: .88rem;
      color: var(--clr-text);
    }

    .press__media-list svg {
      flex-shrink: 0;
      fill: var(--clr-primary);
    }

    .press__media-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 10px 20px;
      background: var(--clr-primary);
      color: #fff;
      font-size: .85rem;
      font-weight: 600;
      border-radius: var(--radius);
      transition: opacity var(--transition);
    }

    .press__media-btn:hover { opacity: .85; }

    .press__media-btn svg { fill: #fff; }

    .press__citation {
      margin: 16px 0 0;
      padding: 12px 16px;
      border-left: 3px solid var(--clr-accent);
      background: #f8f9fb;
      font-size: .88rem;
      color: var(--clr-text);
      font-style: italic;
      line-height: 1.6;
    }

    .press__empty {
      font-size: .92rem;
      color: var(--clr-text-light);
      font-style: italic;
    }

    .news-card__title {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--clr-text);
      line-height: 1.4;
      margin-bottom: 10px;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .news-card__title a:hover { color: var(--clr-primary); }

    .news-card__excerpt {
      font-size: .875rem;
      color: var(--clr-text-light);
      line-height: 1.65;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
      margin-bottom: 16px;
    }

    .news-card__byline {
      display: flex;
      flex-wrap: wrap;
      gap: 6px 12px;
      font-size: .73rem;
      color: var(--clr-text-light);
      margin-bottom: 6px;
      line-height: 1.4;
    }

    .news-card__meta {
      display: flex;
      align-items: center;
      gap: 14px;
      font-size: .78rem;
      color: var(--clr-text-light);
    }

    .news-card__meta span {
      display: flex;
      align-items: center;
      gap: 4px;
    }

    .news-card__meta svg {
      width: 13px;
      height: 13px;
      fill: var(--clr-text-light);
    }

    .news__footer {
      text-align: center;
      margin-top: 40px;
    }

    .news__view-all {
      display: inline-block;
      font-size: .9rem;
      font-weight: 600;
      color: var(--clr-primary);
      padding: 10px 28px;
      border: 2px solid var(--clr-border);
      border-radius: var(--radius);
      transition: all var(--transition);
    }

    .news__view-all:hover {
      border-color: var(--clr-primary);
      background: var(--clr-primary);
      color: #fff;
    }

    
    .articles-listing {
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: 40px 24px 80px;
    }

    .articles-pagination {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 24px;
      margin-top: 48px;
      padding-top: 24px;
      border-top: 1px solid var(--clr-border);
    }

    .articles-pagination__link {
      display: inline-block;
      font-size: .9rem;
      font-weight: 600;
      color: var(--clr-primary);
      padding: 8px 20px;
      border: 2px solid var(--clr-border);
      border-radius: var(--radius);
      transition: all var(--transition);
    }

    .articles-pagination__link:hover {
      border-color: var(--clr-primary);
      background: var(--clr-primary);
      color: #fff;
    }

    .articles-pagination__info {
      font-size: .85rem;
      color: var(--clr-muted);
    }

    
    .article {
      max-width: var(--article-max-width);
      margin: 0 auto;
      padding: 36px 24px 80px;
    }

    .article__readable {
      max-width: var(--article-reading-width);
      margin: 0 0 0 var(--article-left-offset);
    }

    .article__copyright {
      margin-top: 32px;
      padding: 14px 16px;
      border-top: 1px solid var(--clr-border);
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: .75rem;
      color: var(--clr-text-light);
      line-height: 1.6;
    }

    .article__copyright svg {
      flex-shrink: 0;
      fill: var(--clr-text-light);
      margin-top: 2px;
    }

    /* ── Interest prompt ── */
    .article__interest {
      margin-top: 28px;
      padding: 20px 24px;
      background: linear-gradient(135deg, #f0f7ff 0%, #f8f4ff 100%);
      border: 1px solid #d4e4f7;
      border-radius: var(--radius);
      text-align: center;
    }

    .article__interest-text {
      font-size: .95rem;
      color: var(--clr-text);
      margin: 0 0 14px;
      font-weight: 500;
    }

    .article__interest-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 10px 24px;
      background: var(--clr-primary);
      color: #fff;
      border: none;
      border-radius: var(--radius);
      font-size: .9rem;
      font-weight: 600;
      cursor: pointer;
      transition: background var(--transition), transform var(--transition);
    }

    .article__interest-btn:hover {
      background: var(--clr-primary-light);
      transform: translateY(-1px);
    }

    .article__interest-btn:active {
      transform: translateY(0);
    }

    .article__interest-btn svg {
      fill: currentColor;
    }

    .article__interest-done {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: .9rem;
      color: #16a34a;
      font-weight: 600;
      margin: 0;
    }

    .article__interest-done svg {
      fill: currentColor;
    }

    /* ── Invite page ── */
    .invite {
      max-width: 720px;
      margin: 0 auto;
      padding: 0 20px 60px;
    }
    .invite__container {
      background: #fff;
      border-radius: 16px;
      box-shadow: 0 2px 12px rgba(0,0,0,.06);
      padding: 40px;
      text-align: left;
    }
    .invite__error {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      background: #fef2f2;
      border: 1px solid #fecaca;
      border-radius: 10px;
      padding: 20px 24px;
      color: #991b1b;
      font-size: .95rem;
      line-height: 1.5;
    }
    .invite__error svg { flex-shrink: 0; margin-top: 2px; }
    .invite__intro {
      margin-bottom: 28px;
      font-size: 1rem;
      line-height: 1.7;
      color: #374151;
    }
    .invite__intro p { margin: 0 0 8px; }
    .invite__article-preview {
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      padding: 24px;
      margin-bottom: 32px;
    }
    .invite__article-img {
      width: 100%;
      max-height: 200px;
      object-fit: cover;
      border-radius: 8px;
      margin-bottom: 16px;
    }
    .invite__article-title {
      font-size: 1.25rem;
      font-weight: 700;
      color: #111827;
      margin: 0 0 8px;
    }
    .invite__article-excerpt {
      font-size: .92rem;
      color: #6b7280;
      line-height: 1.6;
      margin: 0;
    }
    .invite__register {
      border-top: 1px solid #e5e7eb;
      padding-top: 28px;
    }
    .invite__register h3 {
      font-size: 1.15rem;
      font-weight: 700;
      color: #111827;
      margin: 0 0 6px;
    }
    .invite__register-sub {
      font-size: .92rem;
      color: #6b7280;
      margin: 0 0 24px;
    }
    .invite__form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-bottom: 16px;
    }
    .invite__form-field > label {
      display: block;
      font-size: .85rem;
      font-weight: 600;
      color: #374151;
      margin-bottom: 5px;
    }
    .invite__form-field input[type="text"],
    .invite__form-field input[type="email"],
    .invite__form-field input[type="password"],
    .invite__form-field select {
      width: 100%;
      padding: 10px 14px;
      border: 1px solid #d1d5db;
      border-radius: 8px;
      font-size: .92rem;
      background: #fff;
      transition: border-color .2s;
      box-sizing: border-box;
    }
    .invite__form-field input[type="text"]:focus,
    .invite__form-field input[type="email"]:focus,
    .invite__form-field input[type="password"]:focus,
    .invite__form-field select:focus {
      border-color: #2563eb;
      outline: none;
      box-shadow: 0 0 0 3px rgba(37,99,235,.1);
    }
    .invite__checkbox {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: .88rem;
      color: #374151;
      cursor: pointer;
      text-align: left;
    }
    .invite__form-field .invite__checkbox {
      display: flex;
    }
    .invite__checkbox input[type="checkbox"] {
      margin-top: 3px;
      flex-shrink: 0;
    }
    .invite__submit {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 1rem;
      padding: 12px 28px;
      border-radius: 10px;
      width: 100%;
      justify-content: center;
      margin-top: 8px;
    }
    .invite__login-hint {
      text-align: center;
      font-size: .85rem;
      color: #9ca3af;
      margin-top: 16px;
    }
    .invite__login-hint a { color: #2563eb; }

    .invite__role-choice {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .invite__role-option {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      padding: 12px 14px;
      border: 2px solid #e5e7eb;
      border-radius: 10px;
      cursor: pointer;
      transition: border-color .15s, background .15s;
    }
    .invite__role-option:hover {
      border-color: #93c5fd;
      background: #eff6ff;
    }
    .invite__role-option input[type="radio"] {
      margin-top: 3px;
      flex-shrink: 0;
    }
    .invite__role-option input[type="radio"]:checked ~ .invite__role-option-label {
      color: #1d4ed8;
    }
    .invite__role-option:has(input:checked) {
      border-color: #3b82f6;
      background: #eff6ff;
    }
    .invite__role-option-label {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .invite__role-option-label strong {
      font-size: .9rem;
    }
    .invite__role-option-label small {
      font-size: .8rem;
      color: #6b7280;
    }

    @media (max-width: 600px) {
      .invite__container { padding: 24px 18px; }
      .invite__form-row { grid-template-columns: 1fr; }
    }

    .article__topbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 20px;
    }

    /* ── Category badges above title ── */
    .article__categories {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px;
      margin-bottom: 14px;
    }

    .article__category {
      display: inline-block;
      padding: 4px 12px;
      font-size: .72rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .5px;
      border-radius: 4px;
      background: #eef2ff;
      color: #4338ca;
    }

    .article__back {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: .85rem;
      font-weight: 500;
      color: var(--clr-primary);
      transition: opacity var(--transition);
    }

    .article__back:hover { opacity: .7; }

    .article__back svg {
      width: 16px;
      height: 16px;
      fill: var(--clr-primary);
    }

    .article__tags {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 5px;
      opacity: .45;
      transition: opacity .2s;
    }

    .article__tags:hover {
      opacity: .75;
    }

    .article__tags svg {
      color: #94a3b8;
      flex-shrink: 0;
    }

    .article__tag {
      display: inline-block;
      padding: 3px 10px;
      font-size: .65rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: .4px;
      border-radius: 3px;
      background: #f3f4f6;
      color: #64748b;
      text-decoration: none;
      transition: background .15s, color .15s;
    }

    .article__tag:hover {
      background: #e2e8f0;
      color: #475569;
    }

    
    .tag-archive {
      max-width: 820px;
      margin: 3rem auto;
      padding: 0 1.5rem;
    }
    .tag-archive__heading {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 1.6rem;
      font-weight: 800;
      color: var(--clr-primary);
      margin-bottom: 2rem;
    }
    .tag-archive__heading svg { color: #64748b; flex-shrink: 0; }
    .tag-archive__tag-name { color: #1e40af; }
    .tag-archive__section { margin-bottom: 2.5rem; }
    .tag-archive__section h2 {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--clr-primary);
      margin-bottom: 1rem;
      padding-bottom: .5rem;
      border-bottom: 2px solid #e2e8f0;
    }
    .tag-archive__empty {
      text-align: center;
      color: #64748b;
      margin-top: 3rem;
    }

    .article__title {
      font-size: clamp(1.25rem, 2.5vw, 1.75rem);
      font-weight: 800;
      color: var(--clr-primary);
      line-height: 1.3;
      margin-bottom: 6px;
    }

    .article__subtitle {
      font-size: .95rem;
      color: var(--clr-text-light);
      line-height: 1.5;
      margin: 0 0 16px;
    }

    .article__meta {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 4px 20px;
      font-size: .85rem;
      color: var(--clr-text-light);
      margin-bottom: 16px;
    }

    .article__meta span {
      display: flex;
      align-items: center;
      gap: 5px;
    }

    .article__meta-author {
      font-weight: 600;
      color: var(--clr-text);
    }

    .article__meta-author a {
      color: var(--clr-text);
      text-decoration: none;
      border-bottom: 1px solid var(--clr-border);
    }

    .article__meta-author a:hover {
      color: var(--clr-primary);
      border-bottom-color: var(--clr-primary);
    }

    .article__meta svg {
      width: 15px;
      height: 15px;
      fill: var(--clr-text-light);
    }

    /* ── Article Toolbar (Share / Cite) ── */
    .article__toolbar {
      display: flex;
      align-items: center;
      margin: 4px 0 28px;
      padding: 6px 0;
      border-top: 1px solid #e5e7eb;
    }
    .article__toolbar-group {
      display: flex;
      align-items: center;
      gap: 4px;
    }
    .article__toolbar-dropdown {
      position: relative;
    }
    .article__toolbar-btn {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      padding: 6px 12px;
      border: none;
      border-radius: 6px;
      background: transparent;
      font-family: inherit;
      font-size: .82rem;
      font-weight: 500;
      color: var(--clr-text-light);
      cursor: pointer;
      transition: background .15s, color .15s;
      white-space: nowrap;
    }
    .article__toolbar-btn:hover {
      background: #f3f4f6;
      color: var(--clr-text);
    }
    .article__toolbar-chevron {
      transition: transform .2s;
    }
    .article__toolbar-dropdown.is-open .article__toolbar-chevron {
      transform: rotate(180deg);
    }
    .article__toolbar-panel {
      display: none;
      position: absolute;
      top: calc(100% + 4px);
      left: 0;
      z-index: 50;
      min-width: 160px;
      padding: 6px 0;
      background: #fff;
      border: 1px solid #e5e7eb;
      border-radius: 8px;
      box-shadow: 0 4px 16px rgba(0,0,0,.1);
    }
    .article__toolbar-dropdown.is-open .article__toolbar-panel {
      display: block;
    }
    .article__toolbar-panel a {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 8px 14px;
      font-size: .82rem;
      color: var(--clr-text);
      text-decoration: none;
      transition: background .12s;
    }
    .article__toolbar-panel a:hover {
      background: #f3f4f6;
    }
    .article__toolbar-panel svg {
      width: 16px;
      height: 16px;
      flex-shrink: 0;
      opacity: .6;
    }
    .article__toolbar-btn--copy {
      margin-left: 2px;
    }
    @media (max-width: 600px) {
      .article__toolbar-btn span {
        display: none;
      }
    }

    .article__hero-img {
      width: 100%;
      max-width: var(--article-reading-width);
      display: block;
      border-radius: 10px;
      margin: 0 0 32px var(--article-left-offset);
      aspect-ratio: 16 / 9;
      object-fit: cover;
    }

    /* ── Article lead / abstract ── */
    .article__lead {
      font-size: 1.1rem;
      line-height: 1.7;
      color: var(--clr-text-light);
      margin-bottom: 28px;
      padding-bottom: 24px;
      border-bottom: 1px solid var(--clr-border);
      font-style: italic;
    }

    .article__content {
      font-size: 1.05rem;
      line-height: 1.85;
      color: var(--clr-text);
    }

    .article__content > p:first-child {
      font-size: 1.1rem;
      line-height: 1.75;
      color: #374151;
    }

    .article__content p {
      margin-bottom: 20px;
    }

    .article__content h2 {
      font-size: 1.4rem;
      font-weight: 700;
      color: var(--clr-primary);
      margin: 36px 0 14px;
    }

    .article__content blockquote {
      position: relative;
      border: none;
      border-left: 2px solid #94a3b8;
      padding: 14px 24px;
      margin: 28px 0 28px 12px;
      background: #f8f9fb;
      border-radius: 0;
      font-style: normal;
      color: var(--clr-text);
      font-size: 1.05rem;
      line-height: 1.85;
      letter-spacing: 0.005em;
      box-shadow: none;
    }

    .article__content blockquote p {
      margin: 0 0 6px;
    }

    .article__content blockquote p:last-child {
      margin-bottom: 0;
    }

    .article__content blockquote cite,
    .article__content blockquote footer {
      display: block;
      margin-top: 10px;
      padding-top: 8px;
      border-top: 1px solid #e2e8f0;
      font-size: 0.78rem;
      font-style: normal;
      color: var(--clr-text-light);
      letter-spacing: 0.015em;
    }

    .article__content blockquote cite::before,
    .article__content blockquote footer::before {
      content: "\2014\00a0";
    }

    .article__content ul,
    .article__content ol {
      margin: 16px 0;
      padding-left: 24px;
      list-style: disc;
    }

    .article__content li {
      margin-bottom: 8px;
    }

    .article__content h3 {
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--clr-primary);
      margin: 28px 0 10px;
    }

    .article__content h4 {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--clr-primary);
      margin: 24px 0 8px;
    }

    .article__content a {
      color: var(--clr-primary);
      text-decoration: underline;
    }

    .article__content img {
      max-width: 100%;
      height: auto;
      display: block;
      border-radius: 8px;
      margin: 20px auto;
    }

    .article__content pre {
      background: #1e293b;
      color: #e2e8f0;
      padding: 20px 24px;
      border-radius: 8px;
      overflow-x: auto;
      margin: 20px 0;
      font-size: .9rem;
      line-height: 1.6;
    }

    .article__content code {
      background: #f3f4f6;
      padding: 2px 6px;
      border-radius: 4px;
      font-size: .9em;
      color: #be185d;
    }

    .article__content pre code {
      background: none;
      padding: 0;
      color: inherit;
    }

    .article__content table {
      width: 100%;
      border-collapse: collapse;
      margin: 20px 0;
    }

    .article__content th,
    .article__content td {
      border: 1px solid var(--clr-border);
      padding: 10px 14px;
      text-align: left;
      font-size: .92rem;
    }

    .article__content th {
      background: #f9fafb;
      font-weight: 600;
    }

    .article__content hr {
      border: none;
      border-top: 1px solid var(--clr-border);
      margin: 32px 0;
    }

    .article__content ol {
      list-style: decimal;
    }

    
    /* ── Author Attribution (co-authored articles) ── */

    /* Extra breathing room above author-group transitions */
    .article__content [data-author-group-start] {
      margin-top: 12px;
    }
    .article__content > [data-author-group-start]:first-child {
      margin-top: 0;
    }

    /* Author byline label — academic style */
    .article__content [data-author-group-start]::before {
      content: attr(data-author-tooltip);
      display: block;
      width: fit-content;
      font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
      font-size: .65rem;
      font-weight: 500;
      letter-spacing: .02em;
      text-transform: uppercase;
      white-space: nowrap;
      color: #6b7280;
      padding-bottom: 3px;
      margin-bottom: 4px;
      border-bottom: 1px solid rgba(0, 0, 0, .08);
      opacity: .7;
      transition: opacity .3s ease;
    }

    /* Subtle role differentiation via border accent */
    .article__content [data-author-group-start][data-author-role="expert"]::before {
      border-bottom-color: rgba(96, 165, 250, .35);
    }
    .article__content [data-author-group-start][data-author-role="author"]::before {
      border-bottom-color: rgba(0, 0, 0, .08);
    }

    /* Hover: dotted border outline on text blocks */
    .article__content [data-author-tooltip] {
      border-radius: 4px;
      padding: 6px 10px;
      border: 1px dotted transparent;
      transition: border-color .25s ease;
    }
    /* Preserve blockquote's native left border */
    .article__content blockquote[data-author-tooltip] {
      border-left: 2px solid #94a3b8;
      border-radius: 0;
      border-top: 1px dotted transparent;
      border-right: 1px dotted transparent;
      border-bottom: 1px dotted transparent;
    }
    .article__content [data-author-role="expert"]:hover {
      border-color: rgba(96, 165, 250, 1);
    }
    .article__content [data-author-role="author"]:hover {
      border-color: rgba(156, 163, 175, .90);
    }
    .article__content [data-author-group-start]:hover::before {
      opacity: 1;
    }



    /* Dark mode */
    @media (prefers-color-scheme: dark) {
      .article__content [data-author-group-start]::before {
        color: #9ca3af;
        border-bottom-color: rgba(255, 255, 255, .08);
      }
      .article__content [data-author-group-start][data-author-role="expert"]::before {
        border-bottom-color: rgba(96, 165, 250, .25);
      }
      .article__content [data-author-role="expert"]:hover {
        border-color: rgba(96, 165, 250, .90);
      }
      .article__content [data-author-role="author"]:hover {
        border-color: rgba(156, 163, 175, .80);
      }
    }

    /* Mobile */
    @media (max-width: 480px) {
      .article__content [data-author-group-start]::before {
        font-size: .6rem;
      }
    }

    /* ── Author Byline ── */
    .article__byline {
      margin: 0 0 16px;
      font-size: .85rem;
      line-height: 1.5;
      color: var(--clr-text-light);
    }
    .article__byline a {
      color: var(--clr-text);
      font-weight: 600;
      text-decoration: none;
      border-bottom: 1px solid var(--clr-border);
    }
    .article__byline a:hover {
      color: var(--clr-primary);
      border-bottom-color: var(--clr-primary);
    }
    .article__byline-role {
      font-weight: 400;
      color: var(--clr-text-light);
    }

    /* ── Disclaimers ── */
    .article__disclaimers {
      margin-bottom: 8px;
      padding: 8px 0;
    }
    .article__disclaimer {
      margin: 0 0 4px;
      font-size: .73rem;
      line-height: 1.5;
      color: #94a3b8;
    }
    .article__disclaimer:last-child {
      margin-bottom: 0;
    }

    /* ── Academic References ── */
    .article__references {
      margin-top: 32px;
      padding: 24px 28px 20px;
      background: linear-gradient(135deg, #f8f9fb 0%, #f1f4f8 100%);
      border: 1px solid #e2e8f0;
      border-radius: var(--radius);
    }
    .article__references-title {
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 0 0 16px;
      font-size: .95rem;
      font-weight: 600;
      color: var(--clr-primary);
      letter-spacing: 0.02em;
      text-transform: uppercase;
    }
    .article__references-title svg {
      fill: var(--clr-primary);
      opacity: 0.7;
    }
    .article__references-list {
      margin: 0;
      padding: 0 0 0 24px;
      list-style: decimal;
      counter-reset: none;
    }
    .article__references-item {
      margin-bottom: 10px;
      font-size: .82rem;
      line-height: 1.65;
      color: var(--clr-text);
      word-break: break-word;
    }
    .article__references-item:last-child {
      margin-bottom: 0;
    }
    .article__references-item a {
      color: var(--clr-primary);
      text-decoration: none;
      word-break: break-all;
    }
    .article__references-item a:hover {
      text-decoration: underline;
    }
    .article__references-url {
      display: block;
      font-size: .75rem;
      color: var(--clr-text-light);
      word-break: break-all;
      margin-top: 2px;
    }
    /* Inline superscript reference links */
    .article__ref-link {
      font-size: .7em;
      line-height: 0;
      vertical-align: super;
      position: relative;
      top: -0.1em;
    }
    .article__ref-link a {
      color: var(--clr-primary);
      text-decoration: none;
      font-weight: 600;
      padding: 0 1px;
    }
    .article__ref-link a:hover {
      text-decoration: underline;
      color: var(--clr-accent);
    }

    .article__ai-notice {
      margin-top: 14px;
      padding: 12px 16px;
      background: linear-gradient(135deg, #f0f4f8 0%, #e8edf2 100%);
      border-left: 3px solid var(--clr-primary);
      border-radius: var(--radius);
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: .78rem;
      line-height: 1.6;
      color: var(--clr-text-light);
    }
    .article__ai-notice svg {
      flex-shrink: 0;
      margin-top: 1px;
      fill: var(--clr-primary);
      opacity: 0.6;
    }

    .article__share {
      margin-top: 40px;
      padding-top: 24px;
      border-top: 1px solid var(--clr-border);
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
    }

    .article__share-label {
      font-size: .85rem;
      font-weight: 600;
      color: var(--clr-text-light);
      margin-right: 4px;
    }

    .article__share-btn {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: #f3f4f6;
      display: grid;
      place-items: center;
      transition: background .2s, transform .15s;
    }

    .article__share-btn:hover { transform: scale(1.1); }
    .article__share-btn--facebook:hover  { background: #1877f2; }
    .article__share-btn--facebook:hover svg { fill: #fff; }
    .article__share-btn--x:hover         { background: #000; }
    .article__share-btn--x:hover svg     { fill: #fff; }
    .article__share-btn--whatsapp:hover  { background: #25d366; }
    .article__share-btn--whatsapp:hover svg { fill: #fff; }
    .article__share-btn--linkedin:hover  { background: #0a66c2; }
    .article__share-btn--linkedin:hover svg { fill: #fff; }
    .article__share-btn--reddit:hover    { background: #ff4500; }
    .article__share-btn--reddit:hover svg { fill: #fff; }
    .article__share-btn--email:hover     { background: var(--clr-primary); }
    .article__share-btn--email:hover svg { fill: #fff; }
    .article__share-btn--copy:hover      { background: #e2e8f0; }
    .article__share-btn--system:hover    { background: var(--clr-primary); }
    .article__share-btn--system:hover svg { fill: #fff; }
    .article__share-btn--copied          { background: #22c55e !important; }
    .article__share-btn--copied svg      { fill: #fff !important; }

    .article__share-btn svg {
      width: 17px;
      height: 17px;
      fill: var(--clr-text-light);
      transition: fill .2s;
    }

    .article__cite {
      margin-top: 18px;
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
    }

    .article__cite-label {
      font-size: .85rem;
      font-weight: 600;
      color: var(--clr-text-light);
      margin-right: 4px;
    }

    .article__cite-btn {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      padding: 6px 14px;
      border-radius: 6px;
      background: #f3f4f6;
      font-size: .82rem;
      font-weight: 600;
      color: var(--clr-text-light);
      text-decoration: none;
      transition: background .2s, color .2s;
    }

    .article__cite-btn:hover {
      background: var(--clr-primary);
      color: #fff;
    }

    .article__cite-btn:hover svg {
      fill: #fff;
    }

    .article__cite-btn svg {
      fill: var(--clr-text-light);
      transition: fill .2s;
    }

    
    .footer {
      background: #f3f4f6;
      border-top: 1px solid var(--clr-border);
    }

    .footer__top-inner {
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: 48px 24px 40px;
      display: grid;
      grid-template-columns: 1.6fr 1fr 1fr 1fr;
      gap: 40px;
    }

    .footer__logo {
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--clr-primary);
      text-decoration: none;
      letter-spacing: -.3px;
    }

    .footer__slogan {
      font-size: .92rem;
      font-weight: 600;
      color: var(--clr-text);
      margin: 6px 0 0;
      letter-spacing: -.2px;
    }

    .footer__tagline {
      font-size: .82rem;
      line-height: 1.6;
      color: var(--clr-text-light);
      margin: 10px 0 14px;
    }

    .footer__entity {
      font-size: .72rem;
      color: #94a3b8;
      font-weight: 500;
    }

    .footer__mission {
      font-size: .8rem;
      color: var(--clr-primary);
      margin: 12px 0 0;
      line-height: 1.5;
    }

    .footer__more {
      display: inline-block;
      margin-top: 10px;
      font-size: .78rem;
      color: var(--clr-primary);
      font-weight: 600;
      text-decoration: none;
      transition: color var(--transition);
    }

    .footer__more:hover {
      color: var(--clr-text);
    }

    .footer__heading {
      font-size: .72rem;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: #94a3b8;
      margin-bottom: 14px;
      font-weight: 700;
    }

    .footer__list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 9px;
    }

    .footer__list a {
      font-size: .84rem;
      color: var(--clr-text-light);
      transition: color var(--transition);
    }

    .footer__list a:hover {
      color: var(--clr-primary);
    }

    .footer__bottom {
      border-top: 1px solid var(--clr-border);
    }

    .footer__bottom-inner {
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: 16px 24px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .footer__copyright {
      font-size: .76rem;
      color: #94a3b8;
      margin: 0;
    }

    .footer__nonprofit {
      font-size: .76rem;
      color: #94a3b8;
      margin: 0;
    }

    .footer__trust {
      border-top: 1px solid var(--clr-border);
    }
    .footer__trust-inner {
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: 20px 24px;
      display: flex;
      align-items: center;
      gap: 20px;
      flex-wrap: wrap;
      justify-content: center;
    }
    .footer__trust-label {
      font-size: .78rem;
      color: #94a3b8;
      text-transform: uppercase;
      letter-spacing: .04em;
      font-weight: 600;
      white-space: nowrap;
    }
    .footer__trust-badges {
      display: flex;
      align-items: center;
      gap: 20px;
      flex-wrap: wrap;
      justify-content: center;
    }
    .footer__trust-badges a {
      display: inline-flex;
      align-items: center;
      opacity: .55;
      transition: opacity .2s;
      filter: grayscale(100%);
    }
    .footer__trust-badges a:hover {
      opacity: 1;
      filter: grayscale(0%);
    }
    .footer__trust-badges img {
      height: 32px;
      width: auto;
      object-fit: contain;
    }

    
    @media (max-width: 860px) {
      .mobile-toggle { display: block; }

      .header__inner {
        gap: 12px;
      }

      .nav {
        position: fixed;
        inset: var(--nav-height) 0 0 0;
        background: var(--clr-bg);
        padding: 24px;
        overflow-y: auto;
        transform: translateX(100%);
        transition: transform .3s ease;
        z-index: 99;
      }

      .nav.open {
        transform: translateX(0);
      }

      .nav__list {
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
      }

      .nav__link {
        padding: 12px 16px;
        font-size: 1rem;
      }

      .dropdown {
        position: static;
        box-shadow: none;
        border: none;
        padding: 0 0 0 16px;
        display: none;
      }

      .nav__item.open > .dropdown {
        display: block;
      }

      
      .search {
        margin-left: auto;
      }

      .search__input {
        width: 100%;
      }

      .search__input:focus {
        width: 100%;
      }

      
      .user-nav {
        gap: 8px;
      }

      .lang-menu__toggle {
        width: 46px;
      }
    }

    @media (max-width: 860px) {
      .news__featured {
        grid-template-columns: 1fr;
        min-height: auto;
      }

      .news__featured-img { max-height: 280px; }

      .news__featured-body { padding: 32px 28px; }

      .news__grid {
        grid-template-columns: 1fr 1fr;
      }

      .article__readable,
      .article__hero-img,
      .comments {
        margin-left: auto;
        margin-right: auto;
      }
    }

    @media (max-width: 480px) {
      .header__inner { padding: 0 16px; }
      .hero { padding: 32px 16px 36px; }

      .news { padding: 0 16px 60px; }

      .news__grid {
        grid-template-columns: 1fr;
      }

      .news__featured-body { padding: 24px 20px; }

      .article { padding: 28px 16px 60px; }

      .footer__top-inner {
        grid-template-columns: 1fr 1fr;
        gap: 28px;
      }

      .footer__brand {
        grid-column: 1 / -1;
      }

      .footer__bottom-inner {
        flex-direction: column;
        gap: 6px;
        text-align: center;
      }
    }

    
    .auth {
      max-width: 440px;
      margin: 0 auto;
      padding: 56px 24px 80px;
    }

    .auth__title {
      font-size: 1.6rem;
      font-weight: 800;
      color: var(--clr-primary);
      margin-bottom: 8px;
    }

    .auth__sub {
      font-size: .9rem;
      color: var(--clr-text-light);
      margin-bottom: 28px;
    }

    .auth__errors {
      background: #faf6f1;
      border: 1px solid #e8d5c0;
      border-radius: var(--radius);
      padding: 12px 16px;
      margin-bottom: 20px;
    }

    .auth__errors p {
      font-size: .85rem;
      color: #b91c1c;
      margin-bottom: 4px;
    }

    .auth__errors p:last-child { margin-bottom: 0; }

    
    .auth__verify {
      text-align: center;
    }

    .auth__verify-icon {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: #f3f4f6;
      display: grid;
      place-items: center;
      margin: 0 auto 20px;
    }

    .auth__verify-icon svg {
      width: 32px;
      height: 32px;
      fill: var(--clr-primary);
    }

    .auth__verify-icon--success { background: #dcfce7; }
    .auth__verify-icon--success svg { fill: #16a34a; }
    .auth__verify-icon--warning { background: #f5ebe0; }
    .auth__verify-icon--warning svg { fill: #c9a27e; }
    .auth__verify-icon--error { background: #f5ebe0; }
    .auth__verify-icon--error svg { fill: #dc2626; }
    .auth__verify-icon--info { background: #e5e7eb; }
    .auth__verify-icon--info svg { fill: #2563eb; }

    .auth__verify-email {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--clr-primary);
      margin: 8px 0 16px;
    }

    .auth__verify-text {
      font-size: .9rem;
      line-height: 1.65;
      color: var(--clr-text-light);
      margin-bottom: 20px;
    }

    .auth__verify-tips {
      background: #f9fafb;
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      padding: 16px 20px;
      text-align: left;
      font-size: .85rem;
      color: var(--clr-text-light);
      margin-bottom: 20px;
    }

    .auth__verify-tips p {
      margin: 0 0 8px;
    }

    .auth__verify-tips ul {
      margin: 0;
      padding-left: 20px;
    }

    .auth__verify-tips li {
      margin-bottom: 4px;
    }

    .auth__verify-dev {
      background: #faf6f1;
      border: 1px solid #e8d5c0;
      border-radius: var(--radius);
      padding: 14px 18px;
      font-size: .82rem;
      color: #6b4c30;
      margin-bottom: 20px;
      word-break: break-all;
    }

    .auth__verify-dev p {
      margin: 0 0 8px;
    }

    .auth__verify-dev a {
      color: #6b4c30;
      font-weight: 600;
    }

    .auth__form {
      display: flex;
      flex-direction: column;
      gap: 18px;
    }

    .auth__form [data-step] {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .auth__label {
      font-size: .82rem;
      font-weight: 600;
      color: var(--clr-text);
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .auth__input {
      width: 100%;
      padding: 10px 14px;
      font-size: .9rem;
      font-family: inherit;
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      outline: none;
      color: var(--clr-text);
      transition: border-color var(--transition), box-shadow var(--transition);
    }

    
    .auth__input[type="date"] {
      width: 100%;
      min-height: 40px;
      box-sizing: border-box;
      -webkit-appearance: none;
      appearance: auto; 
    }

    .auth__input:focus {
      border-color: var(--clr-primary);
      box-shadow: 0 0 0 3px rgba(26,60,110,.12);
    }

    .auth__btn {
      margin-top: 4px;
      width: 100%;
      justify-content: center;
      padding: 12px;
    }

    .auth__alt {
      margin-top: 20px;
      font-size: .85rem;
      color: var(--clr-text-light);
      text-align: center;
    }

    .auth__alt a {
      color: var(--clr-primary);
      font-weight: 600;
    }

    .auth__alt a:hover { text-decoration: underline; }

    .auth__hint {
      display: block;
      margin-top: 4px;
      font-size: 0.78rem;
      color: var(--clr-text-light, #8b8fa3);
    }

    .auth__checkboxes {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 4px;
    }

    .auth__checkbox {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: 0.88rem;
      color: var(--clr-text-light, #555);
      cursor: pointer;
      line-height: 1.4;
    }

    .auth__checkbox input[type="checkbox"] {
      margin-top: 3px;
      width: 16px;
      height: 16px;
      accent-color: var(--clr-primary, #4f46e5);
      flex-shrink: 0;
      cursor: pointer;
    }

    .auth__checkbox a {
      color: var(--clr-primary, #4f46e5);
      font-weight: 600;
      text-decoration: none;
    }

    .auth__checkbox a:hover {
      text-decoration: underline;
    }

    .auth__required {
      color: #dc3545;
      font-weight: 700;
    }

    
    .user-nav {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-shrink: 0;
      margin-left: auto;
    }

    .user-nav__account {
      position: relative;
    }

    .user-nav__greeting {
      width: 38px;
      height: 38px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--clr-text-light);
      cursor: pointer;
      border-radius: 50%;
      border: 1px solid var(--clr-border);
      background: #fff;
      transition: background var(--transition), border-color var(--transition), color var(--transition);
    }

    .user-nav__greeting:hover {
      background: #f3f4f6;
      border-color: #cbd5e1;
      color: var(--clr-primary);
    }

    .user-nav__greeting svg {
      width: 18px;
      height: 18px;
      fill: var(--clr-text-light);
      transition: transform 0.2s;
    }

    .user-nav__greeting:hover svg,
    .user-nav__account.open .user-nav__greeting svg {
      fill: var(--clr-primary);
    }

    .user-nav__account:hover .user-nav__greeting svg {
      transform: none;
    }

    .user-nav__dropdown {
      position: absolute;
      top: 100%;
      right: 0;
      margin-top: 6px;
      min-width: 200px;
      background: #fff;
      border: 1px solid var(--clr-border, #e2e8f0);
      border-radius: 10px;
      box-shadow: 0 8px 24px rgba(0,0,0,.1);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-8px);
      transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
      z-index: 100;
      padding: 6px 0;
    }

    .user-nav__account:hover .user-nav__dropdown,
    .user-nav__account.open .user-nav__dropdown {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .user-nav__dropdown a {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 9px 16px;
      font-size: .85rem;
      font-weight: 500;
      color: var(--clr-text, #333);
      text-decoration: none;
      transition: background 0.15s;
    }

    .user-nav__dropdown a:hover {
      background: #f3f4f6;
    }

    .user-nav__dropdown a svg {
      width: 16px;
      height: 16px;
      fill: var(--clr-text-light, #8b8fa3);
      flex-shrink: 0;
    }

    .user-nav__dropdown hr {
      margin: 4px 0;
      border: none;
      border-top: 1px solid var(--clr-border, #e2e8f0);
    }

    .user-nav__dropdown a.user-nav__dropdown--logout {
      color: #dc3545;
    }

    .user-nav__dropdown a.user-nav__dropdown--logout svg {
      fill: #dc3545;
    }

    
    .user-nav__guest {
      position: relative;
    }

    .user-nav__guest-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: transparent;
      border: 2px solid #94a3b8;
      cursor: pointer;
      transition: border-color var(--transition), background var(--transition);
    }

    .user-nav__guest-icon:hover {
      border-color: var(--clr-primary);
      background: rgba(26,60,110,.06);
    }

    .user-nav__guest-icon svg {
      width: 18px;
      height: 18px;
      color: #64748b;
    }

    .user-nav__guest-icon:hover svg {
      color: var(--clr-primary);
    }

    .user-nav__guest-dropdown {
      position: absolute;
      top: 100%;
      right: 0;
      margin-top: 6px;
      min-width: 180px;
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: 10px;
      box-shadow: 0 8px 24px rgba(0,0,0,.1);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-8px);
      transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
      z-index: 100;
      padding: 6px 0;
    }

    .user-nav__guest:hover .user-nav__guest-dropdown,
    .user-nav__guest.open .user-nav__guest-dropdown {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .user-nav__guest-dropdown a {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 16px;
      font-size: .88rem;
      font-weight: 500;
      color: var(--clr-text);
      text-decoration: none;
      transition: background 0.15s;
    }

    .user-nav__guest-dropdown a:hover {
      background: #f3f4f6;
      color: var(--clr-primary);
    }

    .user-nav__guest-dropdown a svg {
      width: 16px;
      height: 16px;
      fill: var(--clr-text-light);
      flex-shrink: 0;
    }

    .user-nav__guest-dropdown hr {
      margin: 4px 0;
      border: none;
      border-top: 1px solid var(--clr-border);
    }

    .user-nav__guest-dropdown a.user-nav__guest-dropdown--register {
      font-weight: 600;
      color: var(--clr-primary);
    }

    .user-nav__guest-dropdown a.user-nav__guest-dropdown--register svg {
      fill: var(--clr-primary);
    }

    
    .lang-menu {
      position: relative;
      flex-shrink: 0;
    }

    .lang-menu__toggle {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      width: 52px;
      height: 38px;
      justify-content: center;
      border: 1px solid var(--clr-border);
      border-radius: 100px;
      background: #fff;
      color: var(--clr-text-light);
      cursor: pointer;
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .03em;
      transition: background var(--transition), border-color var(--transition), color var(--transition);
    }

    .lang-menu__toggle:hover,
    .lang-menu.open .lang-menu__toggle {
      background: #f3f4f6;
      border-color: #cbd5e1;
      color: var(--clr-primary);
    }

    .lang-menu__toggle svg {
      width: 14px;
      height: 14px;
      stroke: currentColor;
      fill: none;
    }

    .lang-menu__dropdown {
      position: absolute;
      top: 100%;
      right: 0;
      margin-top: 6px;
      min-width: 120px;
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: 10px;
      box-shadow: 0 8px 24px rgba(0,0,0,.1);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-8px);
      transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
      z-index: 100;
      padding: 6px 0;
    }

    .lang-menu:hover .lang-menu__dropdown,
    .lang-menu.open .lang-menu__dropdown {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .lang-menu__dropdown a,
    .lang-menu__dropdown span {
      display: block;
      padding: 9px 14px;
      font-size: .82rem;
      font-weight: 600;
      color: var(--clr-text-light);
      text-transform: uppercase;
      letter-spacing: .05em;
    }

    .lang-menu__dropdown a:hover {
      background: #f3f4f6;
      color: var(--clr-primary);
    }

    .lang-menu__dropdown span {
      color: var(--clr-primary);
      background: #f3f4f6;
      cursor: default;
    }

    
    .comments {
      max-width: var(--article-reading-width);
      margin-left: var(--article-left-offset);
      margin-right: 0;
      margin-top: 48px;
      padding-top: 32px;
      border-top: 1px solid var(--clr-border);
    }

    .comments__title {
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--clr-primary);
      margin-bottom: 24px;
    }

    .comments__form {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-bottom: 32px;
    }

    .comments__textarea {
      padding: 12px 14px;
      font-size: .9rem;
      font-family: inherit;
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      outline: none;
      resize: vertical;
      min-height: 100px;
      color: var(--clr-text);
      transition: border-color var(--transition), box-shadow var(--transition);
    }

    .comments__textarea:focus {
      border-color: var(--clr-primary);
      box-shadow: 0 0 0 3px rgba(26,60,110,.12);
    }

    .comments__login-prompt {
      padding: 20px;
      background: #f9fafb;
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      text-align: center;
      font-size: .9rem;
      color: var(--clr-text-light);
      margin-bottom: 32px;
    }

    .comments__login-prompt a {
      color: var(--clr-primary);
      font-weight: 600;
    }

    .comments__login-prompt a:hover { text-decoration: underline; }

    .comment {
      padding: 20px 0;
      border-bottom: 1px solid var(--clr-border);
    }

    .comment:last-child { border-bottom: none; }

    .comment__header {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 8px;
    }

    .comment__avatar {
      width: 34px;
      height: 34px;
      border-radius: 50%;
      object-fit: cover;
      flex-shrink: 0;
      border: 1px solid var(--clr-border);
    }

    .comment__author {
      font-size: .88rem;
      font-weight: 600;
      color: var(--clr-text);
      text-decoration: none;
      transition: color var(--transition);
    }

    a.comment__author:hover {
      color: var(--clr-primary);
    }

    .comment__expert-badge {
      display: inline-flex;
      align-items: center;
      gap: 3px;
      font-size: .7rem;
      font-weight: 600;
      color: #475569;
      background: #f3f4f6;
      border: 1px solid #e2e8f0;
      padding: 1px 7px 1px 5px;
      border-radius: 9999px;
      vertical-align: middle;
      margin-left: 4px;
    }

    .comment__expert-badge svg {
      fill: currentColor;
    }

    .comment__header > a {
      flex-shrink: 0;
      line-height: 0;
    }

    .comment__date {
      font-size: .78rem;
      color: var(--clr-text-light);
    }

    .comment__body {
      font-size: .92rem;
      line-height: 1.7;
      color: var(--clr-text);
      padding-left: 44px;
    }

    .comments__empty {
      font-size: .9rem;
      color: var(--clr-text-light);
      text-align: center;
      padding: 24px 0;
    }

    @media (max-width: 480px) {
      .search__input { width: 140px; }
      .search__input:focus { width: 160px; }
      .auth { padding: 40px 16px 60px; }
    }

    
    .profile {
      max-width: 800px;
      margin: 3rem auto;
      padding: 0 1.5rem 4rem;
    }
    .profile__header-bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 1.25rem;
    }
    .profile__autosave-badge {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      font-size: .8rem;
      color: #64748b;
    }
    .profile__autosave-badge svg {
      flex-shrink: 0;
      opacity: .7;
    }
    .profile__view-public {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      font-size: .8rem;
      color: var(--clr-primary);
      text-decoration: underline;
      text-underline-offset: 3px;
      white-space: nowrap;
    }
    .profile__view-public:hover {
      opacity: .75;
    }
    .profile__view-public svg {
      flex-shrink: 0;
      opacity: .7;
    }
    .profile__title {
      font-size: 1.75rem;
      font-weight: 700;
      color: var(--text);
      margin-bottom: 2rem;
    }
    .profile__success {
      background: #d4edda;
      color: #155724;
      border: 1px solid #c3e6cb;
      border-radius: 8px;
      padding: 0.75rem 1.25rem;
      margin-bottom: 1.5rem;
      font-size: 0.95rem;
    }
    .profile__form {
      display: flex;
      flex-direction: column;
      gap: 2rem;
    }
    .profile__fieldset {
      border: 1px solid #e0e0e0;
      border-radius: 12px;
      padding: 1.5rem;
      background: #fff;
    }
    .profile__legend {
      font-size: 1.1rem;
      font-weight: 600;
      color: var(--primary);
      padding: 0 0.5rem;
    }
    .profile__avatars {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
      gap: 1rem;
      margin-top: 1rem;
    }
    .profile__avatar-option {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.35rem;
      cursor: pointer;
    }
    .profile__avatar-option input[type="radio"] {
      display: none;
    }
    .profile__avatar-img {
      width: 68px;
      height: 68px;
      border-radius: 50%;
      border: 3px solid transparent;
      object-fit: cover;
      transition: border-color 0.2s, transform 0.2s;
      background: #f1f5f9;
    }
    .profile__avatar-label {
      font-size: .68rem;
      font-weight: 500;
      color: var(--clr-text-light, #8b8fa3);
      text-align: center;
      line-height: 1.2;
      max-width: 90px;
      transition: color 0.2s;
    }
    .profile__avatar-option input[type="radio"]:checked + .profile__avatar-img {
      border-color: var(--clr-primary);
      transform: scale(1.1);
      box-shadow: 0 0 0 3px rgba(79,70,229,0.2);
    }
    .profile__avatar-option input[type="radio"]:checked ~ .profile__avatar-label {
      color: var(--clr-primary);
      font-weight: 600;
    }
    .profile__avatar-option:hover .profile__avatar-img {
      border-color: var(--clr-primary-light, #6366f1);
    }
    .profile__avatar-option:hover .profile__avatar-label {
      color: var(--clr-primary-light, #6366f1);
    }
    .profile__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.25rem;
      margin-top: 1rem;
    }
    .profile__field {
      display: flex;
      flex-direction: column;
      gap: 5px;
    }
    .profile__field--full {
      grid-column: 1 / -1;
    }
    .profile__grid-label {
      font-size: .85rem;
      font-weight: 600;
      color: var(--clr-text);
    }
    .profile__grid-input {
      padding: 10px 14px;
      border: 1px solid var(--clr-border);
      border-radius: var(--radius);
      font-size: .9rem;
      font-family: inherit;
      color: var(--clr-text);
      transition: border-color var(--transition), box-shadow var(--transition);
    }
    .profile__grid-input:focus {
      outline: none;
      border-color: var(--clr-primary);
      box-shadow: 0 0 0 3px rgba(26,60,110,.12);
    }
    .profile__grid-input:disabled {
      background: #f9fafb;
      color: var(--clr-text-light);
      cursor: not-allowed;
    }
    .profile__field-hint {
      font-size: .78rem;
      color: var(--clr-text-light);
      line-height: 1.3;
    }
    .profile__field-hint-inline {
      font-weight: 400;
      font-size: .78rem;
      color: var(--clr-text-light);
    }
    .profile__textarea {
      width: 100%;
      min-height: 110px;
      resize: vertical;
    }
    .profile__interests {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      margin-top: 1rem;
    }
    .profile__interest-chip {
      display: flex;
      align-items: center;
      gap: 0.4rem;
      padding: 0.5rem 1rem;
      border: 1px solid #ddd;
      border-radius: 999px;
      font-size: 0.9rem;
      cursor: pointer;
      transition: all 0.2s;
      background: #fff;
    }
    .profile__interest-chip:hover {
      border-color: var(--primary);
      background: rgba(79,70,229,0.04);
    }
    .profile__interest-chip input[type="checkbox"] {
      accent-color: var(--primary);
    }
    @keyframes autosave-spin {
      from { transform: rotate(0deg); }
      to   { transform: rotate(360deg); }
    }
    @keyframes autosave-slidein {
      from { opacity: 0; transform: translateY(12px) scale(.95); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    .profile__autosave-status {
      position: fixed;
      bottom: 24px;
      right: 24px;
      padding: 10px 20px;
      border-radius: 10px;
      font-size: .85rem;
      font-weight: 600;
      z-index: 1000;
      box-shadow: 0 6px 24px rgba(0,0,0,.14);
      animation: autosave-slidein .25s ease-out;
      transition: opacity .3s, transform .3s;
      pointer-events: none;
    }
    .profile__autosave-status[hidden] {
      display: block;
      opacity: 0;
      transform: translateY(12px) scale(.95);
    }
    .profile__autosave-status--saving {
      background: #fff3cd;
      color: #856404;
      border: 1px solid #ffc107;
    }
    .profile__autosave-status--saved {
      background: #d4edda;
      color: #155724;
      border: 1px solid #c3e6cb;
    }
    .profile__autosave-status--error {
      background: #f8d7da;
      color: #721c24;
      border: 1px solid #f5c6cb;
    }
    .profile__sub--autosave {
      display: none;
    }
    .profile__field-saved {
      outline: 2px solid #22c55e !important;
      outline-offset: -1px;
      transition: outline-color .3s;
    }
    .profile__field-error {
      outline: 2px solid #ef4444 !important;
      outline-offset: -1px;
      transition: outline-color .3s;
    }

    .profile__privacy-toggles {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .profile__privacy-toggle {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 4px 10px;
      padding: 12px 16px;
      border: 1.5px solid var(--clr-border, #e2e8f0);
      border-radius: 8px;
      background: #fafbfc;
      cursor: pointer;
      transition: all .15s;
      user-select: none;
    }
    .profile__privacy-toggle:hover {
      border-color: var(--clr-primary);
      background: #f0f5ff;
    }
    .profile__privacy-toggle:has(input:checked) {
      border-color: var(--clr-primary);
      background: #f3f4f6;
    }
    .profile__privacy-toggle input[type="checkbox"] {
      width: 18px;
      height: 18px;
      accent-color: var(--clr-primary);
      cursor: pointer;
      margin: 0;
      flex-shrink: 0;
    }
    .profile__privacy-toggle-label {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: .9rem;
      font-weight: 500;
      color: var(--clr-text);
    }
    .profile__privacy-toggle-label svg {
      fill: currentColor;
      opacity: .6;
      flex-shrink: 0;
    }
    .profile__privacy-hint {
      display: block;
      width: 100%;
      font-size: .8rem;
      color: var(--clr-text-light, #8b8fa3);
      margin-top: 0;
      margin-left: 52px;
    }

    .profile__hint {
      font-size: 0.85rem;
      color: var(--clr-text-light, #8b8fa3);
      margin-top: 0.25rem;
      line-height: 1.5;
    }

    #phone-field .profile__grid-input,
    #orcid-field .profile__grid-input {
      max-width: 260px;
    }
    #phone-field .profile__hint,
    #orcid-field .profile__hint {
      max-width: 260px;
    }

    
    .profile__upload-row {
      display: flex;
      gap: 1rem;
      align-items: center;
      margin-top: 1.25rem;
      padding-top: 1.25rem;
      border-top: 1px dashed #e0e0e0;
    }
    .profile__upload-preview {
      position: relative;
      flex-shrink: 0;
      width: 68px;
      height: 68px;
      border-radius: 50%;
      background: #f3f4f6;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .profile__upload-preview img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 50%;
    }
    .profile__upload-placeholder {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
    }
    .profile__upload-badge {
      position: absolute;
      bottom: -2px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      align-items: center;
      gap: 2px;
      font-size: 0.62rem;
      font-weight: 600;
      padding: 1px 6px;
      border-radius: 999px;
      white-space: nowrap;
    }
    .profile__upload-badge--approved {
      background: #d4edda;
      color: #155724;
    }
    .profile__upload-badge--pending {
      background: #fff3cd;
      color: #856404;
    }
    .profile__upload-info {
      flex: 1;
      min-width: 0;
    }
    .profile__upload-desc {
      font-size: 0.8rem;
      color: var(--clr-text-light, #8b8fa3);
      line-height: 1.45;
      margin: 0 0 0.6rem;
    }
    .profile__upload-controls {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      flex-wrap: wrap;
    }
    .profile__upload-btn {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      padding: 6px 12px;
      background: #f3f4f6;
      border: 1px solid #d1d5db;
      border-radius: 8px;
      font-size: 0.82rem;
      font-weight: 500;
      color: var(--text, #333);
      cursor: pointer;
      transition: background 0.2s;
    }
    .profile__upload-btn:hover {
      background: #e2e8f0;
    }
    .profile__upload-btn svg {
      fill: var(--clr-text-light, #8b8fa3);
    }
    .profile__upload-file {
      display: none;
    }
    .profile__upload-filename {
      font-size: 0.78rem;
      color: var(--clr-text-light, #8b8fa3);
      max-width: 140px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .profile__upload-submit {
      padding: 6px 14px !important;
      font-size: 0.82rem !important;
    }

    @media (max-width: 600px) {
      .profile__grid { grid-template-columns: 1fr; }
      .profile__avatars { grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); }
      .profile__upload-row { flex-direction: column; text-align: center; }
      .profile__upload-controls { justify-content: center; }
    }

    
    .public-profile {
      max-width: 800px;
      margin: 0 auto;
      padding: 48px 24px 80px;
    }

    .public-profile__card {
      display: flex;
      gap: 28px;
      background: linear-gradient(135deg, #f8faff 0%, #fff 40%, #fefff8 100%);
      border: 1px solid #c7d2fe;
      border-radius: 20px;
      padding: 32px;
      margin-top: 16px;
      box-shadow: 0 2px 12px rgba(99,102,241,.06);
    }

    .public-profile__avatar {
      width: 110px;
      height: 110px;
      border-radius: 50%;
      object-fit: cover;
      flex-shrink: 0;
      border: 3px solid #a5b4fc;
      box-shadow: 0 0 0 4px rgba(165,180,252,.15);
    }

    .public-profile__info {
      flex: 1;
      min-width: 0;
    }

    .public-profile__role {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      font-size: .73rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .05em;
      color: #4338ca;
      background: linear-gradient(135deg, #e0e7ff, #ede9fe);
      border: 1px solid #c7d2fe;
      border-radius: 20px;
      padding: 4px 14px;
      margin-bottom: 8px;
    }

    .public-profile__role svg {
      opacity: .7;
    }

    .public-profile__name {
      font-size: 1.5rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 8px;
    }

    .public-profile__meta {
      display: flex;
      flex-wrap: wrap;
      gap: 6px 18px;
      margin-bottom: 14px;
    }

    .public-profile__meta-item {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      font-size: .82rem;
      color: var(--clr-text-light);
    }

    .public-profile__meta-item svg {
      fill: var(--clr-text-light);
      opacity: .7;
    }

    .public-profile__bio {
      font-size: .92rem;
      line-height: 1.65;
      color: var(--clr-text);
      margin: 0 0 14px;
    }

    .public-profile__bio--rich {
      font-size: .95rem;
      line-height: 1.75;
    }
    .public-profile__bio--rich p { margin-bottom: 12px; }
    .public-profile__bio--rich h3 { font-size: 1.1rem; font-weight: 700; color: var(--clr-primary); margin: 20px 0 8px; }
    .public-profile__bio--rich h4 { font-size: 1rem; font-weight: 700; color: var(--clr-primary); margin: 16px 0 6px; }
    .public-profile__bio--rich a { color: var(--clr-primary); text-decoration: underline; }
    .public-profile__bio--rich ul,
    .public-profile__bio--rich ol { margin: 10px 0; padding-left: 20px; }
    .public-profile__bio--rich li { margin-bottom: 4px; }

    .public-profile__role--admin {
      background: linear-gradient(135deg, #e5e7eb, #bfdbfe);
      border-color: #3b82f6;
      color: #1e40af;
    }
    .public-profile__role--admin svg { opacity: .8; }

    .public-profile__job {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: .88rem;
      color: var(--clr-text-light);
      margin-bottom: 10px;
    }
    .public-profile__job svg {
      fill: var(--clr-text-light);
      opacity: .7;
      flex-shrink: 0;
    }
    .public-profile__job-sep {
      margin: 0 2px;
    }
    .public-profile__website {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      color: var(--clr-primary);
      text-decoration: none;
      font-weight: 500;
    }
    .public-profile__website:hover {
      text-decoration: underline;
    }
    .public-profile__website svg {
      fill: var(--clr-primary);
      opacity: .7;
    }
    .public-profile__phone {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      color: var(--clr-primary);
      text-decoration: none;
      font-weight: 500;
    }
    .public-profile__phone:hover {
      text-decoration: underline;
    }
    .public-profile__phone svg {
      fill: var(--clr-primary);
      opacity: .7;
    }

    .public-profile__orcid {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      color: var(--clr-primary);
      text-decoration: none;
      font-weight: 500;
    }
    .public-profile__orcid:hover {
      text-decoration: underline;
    }

    .public-profile__interests {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }

    .public-profile__interest-chip {
      display: inline-block;
      font-size: .76rem;
      font-weight: 600;
      padding: 4px 12px;
      border-radius: 20px;
      background: var(--clr-primary);
      color: #fff;
    }

    
    .public-profile__section {
      margin-top: 36px;
    }

    .public-profile__hidden-notice {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: .85rem;
      color: var(--clr-text-light);
      font-style: italic;
      padding: 12px 18px;
      background: #f9fafb;
      border: 1px dashed var(--clr-border, #e2e8f0);
      border-radius: 8px;
    }
    .public-profile__hidden-notice svg {
      fill: currentColor;
      opacity: .5;
      flex-shrink: 0;
    }
    .public-profile__empty-notice {
      font-size: .9rem;
      color: var(--clr-text-light);
      padding: 16px 18px;
      background: #f9fafb;
      border: 1px dashed var(--clr-border, #e2e8f0);
      border-radius: 8px;
    }

    .public-profile__meta-item--hidden {
      font-style: italic;
      opacity: .7;
    }

    .public-profile__email-link {
      color: var(--clr-primary);
      text-decoration: none;
      border-bottom: 1px dashed var(--clr-primary);
      transition: opacity .2s;
    }
    .public-profile__email-link:hover {
      opacity: .8;
    }

    .public-profile__section-title {
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 16px;
    }

    .public-profile__comments {
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    .public-profile__comment {
      padding: 16px 0;
      border-bottom: 1px solid var(--clr-border);
    }

    .public-profile__comment:last-child {
      border-bottom: none;
    }

    .public-profile__comment-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 6px;
    }

    .public-profile__comment-article {
      font-size: .88rem;
      font-weight: 600;
      color: var(--clr-primary);
      text-decoration: none;
    }

    .public-profile__comment-article:hover {
      text-decoration: underline;
    }

    .public-profile__comment-date {
      font-size: .78rem;
      color: var(--clr-text-light);
      white-space: nowrap;
    }

    .public-profile__comment-body {
      font-size: .88rem;
      line-height: 1.6;
      color: var(--clr-text);
      margin: 0;
    }

    .public-profile__section-count {
      font-size: .82rem;
      font-weight: 400;
      color: var(--clr-text-light);
      margin-left: 8px;
    }

    .public-profile__subsection-title {
      font-size: .92rem;
      font-weight: 600;
      color: var(--clr-text-light);
      text-transform: uppercase;
      letter-spacing: .03em;
      margin: 0 0 10px;
    }
    .public-profile__subsection-title + .public-profile__forum-list,
    .public-profile__subsection-title + .public-profile__comments {
      margin-bottom: 24px;
    }

    .public-profile__forum-list {
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    .public-profile__forum-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 16px;
      border-bottom: 1px solid var(--clr-border, #e2e8f0);
      text-decoration: none;
      transition: background .15s;
    }
    .public-profile__forum-item:first-child {
      border-top: 1px solid var(--clr-border, #e2e8f0);
    }
    .public-profile__forum-item:hover {
      background: #f9fafb;
    }

    .public-profile__forum-category {
      font-size: .7rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .04em;
      padding: 2px 8px;
      border-radius: 4px;
      flex-shrink: 0;
      background: #f3f4f6;
      color: var(--clr-text-light);
    }
    .public-profile__forum-category--question { background: #e5e7eb; color: #1e40af; }
    .public-profile__forum-category--insight { background: #f5ebe0; color: #6b4c30; }
    .public-profile__forum-category--research { background: #dcfce7; color: #166534; }
    .public-profile__forum-category--discussion { background: #f3e8ff; color: #6b21a8; }

    .public-profile__forum-title {
      flex: 1;
      min-width: 0;
      font-size: .88rem;
      font-weight: 600;
      color: var(--clr-primary);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .public-profile__forum-stats {
      font-size: .78rem;
      color: var(--clr-text-light);
      white-space: nowrap;
      flex-shrink: 0;
    }

    .public-profile__forum-date {
      font-size: .78rem;
      color: var(--clr-text-light);
      white-space: nowrap;
      flex-shrink: 0;
    }

    .public-profile__accepted-badge {
      display: inline-block;
      font-size: .72rem;
      font-weight: 700;
      color: #166534;
      background: #dcfce7;
      padding: 1px 8px;
      border-radius: 10px;
      margin-right: 6px;
    }

    @media (max-width: 600px) {
      .public-profile__card {
        flex-direction: column;
        align-items: center;
        text-align: center;
      }
      .public-profile__card--expert {
        align-items: center;
      }
      .public-profile__avatar--expert {
        width: 100px;
        height: 100px;
      }
      .public-profile__meta { justify-content: center; }
      .public-profile__interests { justify-content: center; }
      .public-profile__comment-meta { flex-direction: column; align-items: flex-start; gap: 2px; }
    }

    
    
    .about__section--intro {
      padding: 56px 24px 32px;
      text-align: center;
      border-bottom: 1px solid #e2e8f0;
    }
    .about__page-title {
      font-size: clamp(1.8rem, 4.5vw, 2.6rem);
      font-weight: 800;
      color: var(--clr-primary);
      margin: 0 0 12px;
      letter-spacing: -.02em;
    }
    .about__page-lead {
      font-size: 1.05rem;
      color: var(--clr-text-light);
      line-height: 1.7;
      max-width: 620px;
      margin: 0 auto 28px;
    }
    .about__tagline {
      font-size: 1.25rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 10px;
    }
    .about__tagline-sub {
      font-size: .95rem;
      color: var(--clr-text-light);
      line-height: 1.7;
      max-width: 600px;
      margin: 0 auto;
    }

    
    .about__section {
      padding: 72px 24px;
    }

    .about__section--principle {
      padding: 0;
    }

    .about__principle {
      max-width: 720px;
      margin: 0 auto;
      padding: 48px 36px;
      border-top: 1px solid var(--clr-border);
    }

    .about__principle-heading {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--clr-primary);
      margin: 0 0 14px;
    }

    .about__principle p {
      font-size: .9rem;
      line-height: 1.75;
      color: var(--clr-text-light);
      margin: 0 0 12px;
    }

    .about__principle p:last-child {
      margin-bottom: 0;
    }

    
    .about__founder {
      max-width: 720px;
      margin: 0 auto;
      text-align: center;
    }

    .about__founder-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 14px;
      background: #f3f4f6;
      border-radius: 20px;
      font-size: .78rem;
      font-weight: 600;
      color: var(--clr-primary);
      margin-bottom: 16px;
    }

    .about__founder-badge svg {
      fill: var(--clr-primary);
    }

    .about__founder-title {
      font-size: 1.4rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 16px;
    }

    .about__founder p {
      font-size: .92rem;
      line-height: 1.75;
      color: var(--clr-text-light);
      margin: 0 0 12px;
      text-align: left;
    }

    .about__status-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: 20px;
      padding: 8px 18px;
      background: #f0fdf4;
      border: 1px solid #bbf7d0;
      border-radius: 20px;
      font-size: .82rem;
    }

    .about__status-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #22c55e;
      animation: pulse-dot 2s ease-in-out infinite;
    }

    @keyframes pulse-dot {
      0%, 100% { opacity: 1; }
      50% { opacity: .4; }
    }

    .about__status-label {
      color: #64748b;
      font-weight: 500;
    }

    .about__status-phase {
      color: #16a34a;
      font-weight: 600;
    }

    .about__section--research {
      background: linear-gradient(180deg, #f9fafb 0%, #fff 100%);
    }

    
    .about__section--foryou {
      background: linear-gradient(180deg, #fff 0%, #f3f4f6 100%);
    }

    .about__foryou {
      max-width: 640px;
      margin: 0 auto;
      text-align: center;
    }

    .about__foryou-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 56px;
      height: 56px;
      border-radius: 50%;
      background: #faf6f1;
      color: var(--clr-accent);
      margin-bottom: 14px;
    }

    .about__foryou-title {
      font-size: 1.6rem;
      font-weight: 700;
      color: #1a1a1a;
      margin-bottom: 12px;
    }

    .about__foryou-text {
      font-size: 1.05rem;
      line-height: 1.7;
      color: #444;
      margin-bottom: 24px;
    }

    .about__foryou-points {
      display: flex;
      flex-direction: column;
      gap: 10px;
      text-align: left;
      max-width: 460px;
      margin: 0 auto;
    }

    .about__foryou-point {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: .95rem;
      color: #333;
    }

    .about__foryou-point::before {
      content: '';
      flex-shrink: 0;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--clr-primary);
    }

    .about__section--partners {
      background: linear-gradient(180deg, #f3f4f6 0%, #f9fafb 100%);
    }

    .about__container {
      max-width: 940px;
      margin: 0 auto;
    }

    .about__section-header {
      text-align: center;
      margin-bottom: 44px;
    }

    .about__section-tag {
      display: inline-block;
      font-size: .7rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .1em;
      color: var(--clr-primary);
      background: #f3f4f6;
      padding: 5px 16px;
      border-radius: 16px;
      margin-bottom: 14px;
    }

    .about__section-title {
      font-size: 1.65rem;
      font-weight: 800;
      color: var(--clr-primary);
      text-align: center;
      margin: 0 0 14px;
      letter-spacing: -.015em;
    }

    .about__section-intro {
      font-size: .95rem;
      line-height: 1.75;
      color: var(--clr-text-light);
      text-align: center;
      max-width: 640px;
      margin: 0 auto;
    }

    
    .about__mission {
      max-width: 720px;
    }

    .about__mission-label {
      grid-column: 1 / -1;
    }

    .about__mission-tag {
      display: inline-block;
      font-size: .7rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .1em;
      color: var(--clr-primary);
      background: #f3f4f6;
      padding: 5px 16px;
      border-radius: 16px;
    }

    .about__mission-heading {
      font-size: 1.55rem;
      font-weight: 800;
      color: var(--clr-primary);
      margin: 0 0 18px;
      letter-spacing: -.015em;
      position: relative;
      padding-bottom: 18px;
    }

    .about__mission-heading::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 48px;
      height: 3px;
      border-radius: 2px;
      background: linear-gradient(90deg, var(--clr-primary), #3b82f6);
    }

    .about__mission-lead {
      font-size: 1.02rem;
      line-height: 1.8;
      color: var(--clr-text);
      margin: 0 0 14px;
      font-weight: 500;
    }

    .about__mission-content p:last-child {
      font-size: .92rem;
      line-height: 1.75;
      color: var(--clr-text-light);
      margin: 0;
    }

    
    .about__values-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 22px;
    }

    .about__value {
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: 10px;
      padding: 24px 22px;
      transition: transform .15s, box-shadow .15s, border-color .15s;
      position: relative;
      overflow: hidden;
    }

    .about__value::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: var(--clr-primary);
      opacity: .5;
      transition: opacity .2s;
    }

    .about__value:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(0,0,0,.06);
      border-color: #d1d5db;
    }

    .about__value:hover::before {
      opacity: 1;
    }

    .about__value h3 {
      font-size: 1.02rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 10px;
    }

    .about__value p {
      font-size: .88rem;
      line-height: 1.7;
      color: var(--clr-text-light);
      margin: 0;
    }

    
    .about__features {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 22px;
      margin-top: 8px;
    }

    .about__feature {
      padding: 30px 26px;
      border: 1px solid var(--clr-border);
      border-radius: 14px;
      background: #fff;
      transition: transform .15s, box-shadow .15s;
    }

    .about__feature:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 32px rgba(0,0,0,.07);
    }

    .about__feature-num {
      display: inline-block;
      font-size: .72rem;
      font-weight: 800;
      color: #fff;
      background: linear-gradient(135deg, var(--clr-primary), #3b82f6);
      padding: 5px 14px;
      border-radius: 16px;
      margin-bottom: 16px;
      letter-spacing: .04em;
    }

    .about__feature h4 {
      font-size: .95rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 10px;
    }

    .about__feature p {
      font-size: .86rem;
      line-height: 1.7;
      color: var(--clr-text-light);
      margin: 0;
    }

    
    .about__partners-list {
      max-width: 720px;
      margin: 0 auto;
    }

    .about__partner-item {
      padding: 28px 0;
      border-bottom: 1px solid var(--clr-border);
    }

    .about__partner-item:first-child {
      padding-top: 0;
    }

    .about__partner-item:last-child {
      border-bottom: none;
    }

    .about__partner-item h4 {
      font-size: .95rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 8px;
    }

    .about__partner-item p {
      font-size: .88rem;
      line-height: 1.7;
      color: var(--clr-text-light);
      margin: 0;
    }

    
    .about__section--partners {
      padding-bottom: 48px;
    }

    
    .about__cta {
      background: linear-gradient(135deg, #0f2847 0%, #235272 40%, #2a5298 100%);
      padding: 64px 24px;
      text-align: center;
    }

    .about__cta-inner {
      max-width: 600px;
      margin: 0 auto;
    }

    .about__cta-title {
      font-size: 1.5rem;
      font-weight: 800;
      color: #fff;
      margin: 0 0 12px;
      letter-spacing: -.015em;
    }

    .about__cta-text {
      font-size: .92rem;
      line-height: 1.7;
      color: #cbd5e1;
      margin: 0 0 28px;
    }

    .about__cta-btn {
      display: inline-block;
      background: #fff;
      color: #235272;
      font-weight: 700;
      font-size: .9rem;
      padding: 12px 32px;
      border-radius: 8px;
      text-decoration: none;
      transition: transform .15s, box-shadow .15s;
    }

    .about__cta-btn:hover {
      transform: translateY(-1px);
      box-shadow: 0 8px 24px rgba(0,0,0,.2);
    }

    @media (max-width: 700px) {
      .about__section { padding: 48px 20px; }
      .about__section--intro { padding: 40px 20px 24px; }

      .about__values-grid { grid-template-columns: 1fr; }
      .about__features { grid-template-columns: 1fr; }
    }

    
    .contact__section {
      padding: 56px 24px;
    }

    .contact__section--alt {
      background: #f9fafb;
    }

    .contact__container {
      max-width: 880px;
      margin: 0 auto;
    }

    .contact__section-title {
      font-size: 1.4rem;
      font-weight: 700;
      color: var(--clr-primary);
      text-align: center;
      margin: 0 0 10px;
    }

    .contact__section-intro {
      font-size: .92rem;
      line-height: 1.7;
      color: var(--clr-text-light);
      text-align: center;
      max-width: 600px;
      margin: 0 auto 32px;
    }

    
    .contact__grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }

    .contact__grid--3 {
      grid-template-columns: 1fr 1fr 1.25fr;
    }

    .contact__card {
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: 12px;
      padding: 32px 28px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      min-height: 260px;
    }

    .contact__card--primary {
      border-color: var(--clr-primary);
      border-width: 1.5px;
    }

    .contact__card--pgp {
      border-color: #0d9488;
      border-width: 1.5px;
    }

    .contact__card-icon {
      width: 44px;
      height: 44px;
      border-radius: 10px;
      background: #f3f4f6;
      display: grid;
      place-items: center;
      margin-bottom: 4px;
    }

    .contact__card-icon--secure {
      background: #f0fdfa;
    }

    .contact__card-icon--secure svg {
      fill: #0d9488;
    }

    .contact__card-icon svg {
      width: 22px;
      height: 22px;
      fill: var(--clr-primary);
    }

    .contact__pgp-key {
      background: #f9fafb;
      border: 1px solid var(--clr-border);
      border-radius: 8px;
      padding: 12px 14px;
      font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;
      font-size: .65rem;
      line-height: 1.4;
      color: #475569;
      overflow-x: auto;
      white-space: pre;
      margin: auto 0 0;
      max-height: 120px;
      overflow-y: auto;
    }

    .contact__pgp-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-top: 10px;
      padding: 6px 14px;
      font-size: .82rem;
      font-weight: 600;
      color: #0d9488;
      background: #f0fdfa;
      border: 1px solid #99f6e4;
      border-radius: 6px;
      text-decoration: none;
      transition: background .15s, border-color .15s;
    }

    .contact__pgp-link:hover {
      background: #ccfbf1;
      border-color: #5eead4;
    }

    .contact__security-note {
      font-size: .8rem;
      line-height: 1.55;
      color: #64748b;
      border-left: 2px solid #cbd5e1;
      padding-left: 12px;
      margin-top: 8px;
    }

    .contact__card h2 {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0;
    }

    .contact__card p {
      font-size: .88rem;
      line-height: 1.65;
      color: var(--clr-text-light);
      margin: 0;
    }

    .contact__email {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: .9rem;
      font-weight: 600;
      color: var(--clr-primary);
      text-decoration: none;
      margin-top: 4px;
    }

    .contact__email:hover {
      text-decoration: underline;
    }

    .contact__response {
      font-size: .76rem;
      color: #94a3b8;
    }

    
    .contact__departments {
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    .contact__dept {
      display: flex;
      gap: 18px;
      padding: 22px 24px;
      background: #fff;
      border: 1px solid var(--clr-border);
      border-bottom: none;
    }

    .contact__dept:first-child {
      border-radius: 12px 12px 0 0;
    }

    .contact__dept:last-child {
      border-bottom: 1px solid var(--clr-border);
      border-radius: 0 0 12px 12px;
    }

    .contact__dept-icon {
      width: 40px;
      height: 40px;
      border-radius: 8px;
      background: #f3f4f6;
      display: grid;
      place-items: center;
      flex-shrink: 0;
    }

    .contact__dept-icon svg {
      width: 20px;
      height: 20px;
      fill: #475569;
    }

    .contact__dept-info {
      flex: 1;
      min-width: 0;
    }

    .contact__dept-info h3 {
      font-size: .95rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 4px;
    }

    .contact__dept-info p {
      font-size: .84rem;
      line-height: 1.6;
      color: var(--clr-text-light);
      margin: 0 0 6px;
    }

    .contact__dept .contact__email {
      font-size: .84rem;
      margin-top: 0;
    }

    
    .contact__footer-note {
      display: flex;
      gap: 16px;
      align-items: flex-start;
      max-width: 560px;
      margin: 0 auto;
      padding: 24px;
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: 12px;
    }

    .contact__footer-note > svg {
      width: 24px;
      height: 24px;
      fill: var(--clr-text-light);
      flex-shrink: 0;
      margin-top: 2px;
    }

    .contact__footer-note strong {
      font-size: .9rem;
      color: var(--clr-text);
      display: block;
      margin-bottom: 4px;
    }

    .contact__footer-note p {
      font-size: .84rem;
      line-height: 1.6;
      color: var(--clr-text-light);
      margin: 0;
    }

    .contact__who-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 20px;
    }

    .contact__who-item {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 10px 18px;
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: 8px;
      font-size: .85rem;
      color: var(--clr-text);
    }

    .contact__who-item svg {
      width: 18px;
      height: 18px;
      fill: #64748b;
      flex-shrink: 0;
    }

    @media (max-width: 900px) {
      .contact__grid--3 { grid-template-columns: 1fr 1fr; }
      .contact__card { min-height: auto; }
    }

    @media (max-width: 700px) {
      .contact__section { padding: 40px 20px; }
      .contact__grid,
      .contact__grid--3 { grid-template-columns: 1fr; }
      .contact__dept { flex-direction: column; gap: 12px; }
    }

    
    .contact__form-layout {
      display: grid;
      grid-template-columns: 1fr 380px;
      gap: 32px;
      align-items: start;
    }

    .contact__form-wrap {
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: 12px;
      padding: 32px;
    }

    .contact__form {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .contact__form-required-note {
      font-size: .78rem;
      color: var(--clr-text-muted, #64748b);
      margin: 0;
    }

    .contact__form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }

    .contact__form-group {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .contact__form-group label {
      font-size: .85rem;
      font-weight: 600;
      color: var(--clr-text);
    }

    .contact__required {
      color: #dc2626;
      font-weight: 700;
    }

    .contact__optional {
      font-weight: 400;
      color: var(--clr-text-muted, #64748b);
      font-size: .8rem;
    }

    .contact__form-group input,
    .contact__form-group textarea {
      padding: 10px 14px;
      font-size: .9rem;
      font-family: inherit;
      color: var(--clr-text);
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      transition: border-color .15s, box-shadow .15s;
      outline: none;
    }

    .contact__form-group input:focus,
    .contact__form-group textarea:focus {
      border-color: var(--clr-primary);
      box-shadow: 0 0 0 3px rgba(37, 99, 235, .1);
      background: #fff;
    }

    .contact__form-group textarea {
      resize: vertical;
      min-height: 120px;
    }

    .contact__form-submit {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 28px;
      font-size: .9rem;
      font-weight: 600;
      color: #fff;
      background: var(--clr-primary);
      border: none;
      border-radius: 8px;
      cursor: pointer;
      transition: background .15s, transform .1s;
      align-self: flex-start;
    }

    .contact__form-submit:hover {
      background: var(--clr-primary-dark, #1d4ed8);
      transform: translateY(-1px);
    }

    .contact__form-submit:active {
      transform: translateY(0);
    }

    .contact__alert {
      padding: 14px 18px;
      border-radius: 8px;
      font-size: .88rem;
      line-height: 1.5;
      display: flex;
      align-items: flex-start;
      gap: 10px;
    }

    .contact__alert--success {
      background: #ecfdf5;
      border: 1px solid #a7f3d0;
      color: #065f46;
    }

    .contact__alert--error {
      background: #faf6f1;
      border: 1px solid #e8d5c0;
      color: #991b1b;
    }

    .contact__info-side {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .contact__info-side .contact__card {
      min-height: auto;
    }

    .contact__card--security {
      background: #faf6f1;
      border-color: #e8d5c0;
    }

    @media (max-width: 900px) {
      .contact__form-layout {
        grid-template-columns: 1fr;
      }
      .contact__info-side {
        order: -1;
      }
    }

    @media (max-width: 600px) {
      .contact__form-row {
        grid-template-columns: 1fr;
      }
      .contact__form-wrap {
        padding: 20px;
      }
    }

    
    .community {
      max-width: 960px;
      margin: 0 auto;
      padding: 48px 24px 80px;
    }

    .community__header {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 20px;
      margin-bottom: 28px;
    }

    .community__title {
      font-size: 1.75rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 4px;
    }

    .community__subtitle {
      font-size: .92rem;
      color: var(--clr-text-light);
      margin: 0;
    }

    .community__new-btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      white-space: nowrap;
      flex-shrink: 0;
    }

    
    .community__form-card {
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: 12px;
      padding: 28px;
      margin-bottom: 24px;
    }

    .community__form-title {
      font-size: 1.1rem;
      font-weight: 700;
      margin: 0 0 16px;
      color: var(--clr-text);
    }

    .community__form { display: flex; flex-direction: column; gap: 14px; }

    .community__form-row {
      display: flex;
      gap: 14px;
    }

    .community__form-field {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .community__form-field label {
      font-size: .82rem;
      font-weight: 600;
      color: var(--clr-text);
    }

    .community__form-field input,
    .community__form-field select,
    .community__form-field textarea {
      padding: 10px 14px;
      border: 1px solid var(--clr-border);
      border-radius: 8px;
      font-size: .9rem;
      font-family: inherit;
      transition: border-color .15s;
    }

    .community__form-field input:focus,
    .community__form-field select:focus,
    .community__form-field textarea:focus {
      outline: none;
      border-color: var(--clr-primary);
    }

    .community__form-field textarea {
      resize: vertical;
      min-height: 100px;
    }

    
    .community__anon-toggle {
      margin-bottom: 12px;
    }

    .community__anon-label {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: .88rem;
      color: #334155;
      cursor: pointer;
      font-weight: 500;
    }

    .community__anon-label input[type="checkbox"] {
      width: 16px;
      height: 16px;
      accent-color: #235272;
      cursor: pointer;
    }

    .community__anon-label svg {
      color: #64748b;
    }

    .community__anon-label input:checked ~ svg {
      color: #235272;
    }

    .community__anon-hint {
      display: block;
      font-size: .76rem;
      color: #94a3b8;
      margin-top: 3px;
      padding-left: 22px;
    }

    
    .community__thread-avatar--anon {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: #e2e8f0;
      color: #94a3b8;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .thread__post-avatar--anon {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: #e2e8f0;
      color: #94a3b8;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .community__login-prompt {
      background: #f9fafb;
      border: 1px solid var(--clr-border);
      border-radius: 10px;
      padding: 18px 24px;
      text-align: center;
      font-size: .9rem;
      color: var(--clr-text-light);
      margin-bottom: 24px;
    }

    .community__login-prompt a {
      color: var(--clr-primary);
      font-weight: 600;
      text-decoration: none;
    }

    .community__login-prompt a:hover { text-decoration: underline; }

    
    .community__invite {
      display: flex;
      align-items: flex-start;
      gap: 20px;
      background: linear-gradient(135deg, #faf6f1 0%, #f5ebe0 100%);
      border: 1px solid #e8d5c0;
      border-radius: 12px;
      padding: 24px;
      margin-bottom: 24px;
    }

    .community__invite-icon {
      flex-shrink: 0;
      width: 48px;
      height: 48px;
      background: #dcb895;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
    }

    .community__invite-content {
      flex: 1;
      min-width: 0;
    }

    .community__invite-title {
      font-size: 1.05rem;
      font-weight: 700;
      color: #6b4c30;
      margin: 0 0 6px;
      line-height: 1.3;
    }

    .community__invite-text {
      font-size: .88rem;
      color: #3d2a17;
      line-height: 1.55;
      margin: 0 0 8px;
    }

    .community__invite-note {
      font-size: .78rem;
      color: #6b4c30;
      margin: 0;
      font-style: italic;
    }

    .community__invite-action {
      flex-shrink: 0;
      display: flex;
      align-items: center;
    }

    .community__invite-btn {
      white-space: nowrap;
    }

    .btn--accent {
      background: #dcb895;
      color: #fff;
      border: none;
      font-weight: 600;
      padding: 10px 24px;
      border-radius: var(--radius);
      cursor: pointer;
      font-size: .9rem;
      transition: background var(--transition);
    }

    .btn--accent:hover {
      background: #c9a27e;
    }

    @media (max-width: 640px) {
      .community__invite {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
      }
      .community__invite-icon {
        width: 40px;
        height: 40px;
      }
      .community__invite-icon svg {
        width: 22px;
        height: 22px;
      }
      .community__invite-action {
        justify-content: flex-start;
      }
    }

    
    .community__filters {
      display: flex;
      gap: 0;
      margin-bottom: 24px;
      border-bottom: 1px solid #e2e8f0;
      flex-wrap: wrap;
    }

    .community__filter {
      display: inline-flex;
      align-items: center;
      padding: 10px 16px;
      font-size: .85rem;
      font-weight: 500;
      text-decoration: none;
      color: #64748b;
      background: none;
      border: none;
      border-bottom: 2px solid transparent;
      margin-bottom: -1px;
      transition: color .15s, border-color .15s;
    }

    .community__filter:hover {
      color: var(--clr-text);
    }

    .community__filter--active {
      color: var(--clr-primary);
      border-bottom-color: var(--clr-primary);
      font-weight: 600;
    }

    .community__filter--active:hover {
      color: var(--clr-primary);
    }

    
    .community__threads {
      display: flex;
      flex-direction: column;
    }

    .community__thread {
      display: flex;
      align-items: baseline;
      gap: 16px;
      padding: 16px 0;
      border-bottom: 1px solid #eef2f6;
      text-decoration: none;
      transition: none;
    }

    .community__thread:first-child {
      border-top: 1px solid #eef2f6;
    }

    .community__thread:hover .community__thread-title {
      color: var(--clr-primary);
    }

    .community__thread--pinned {
      background: transparent;
    }

    .community__thread--pinned:hover {
      background: transparent;
    }

    .community__thread-main {
      flex: 1;
      min-width: 0;
    }

    .community__thread-title {
      font-size: .95rem;
      font-weight: 600;
      color: var(--clr-text);
      margin: 0 0 5px;
      line-height: 1.4;
      transition: color .15s;
    }

    .community__thread-pin-icon {
      color: #c9a27e;
      vertical-align: -2px;
      margin-right: 4px;
    }

    .community__thread-meta {
      display: flex;
      align-items: center;
      gap: 0;
      font-size: .78rem;
      color: #94a3b8;
      flex-wrap: wrap;
    }

    .community__thread-meta > * + *::before {
      content: '\00b7';
      margin: 0 6px;
      color: #cbd5e1;
    }

    .community__thread-cat {
      font-size: .72rem;
      font-weight: 600;
      letter-spacing: .02em;
      padding: 1px 8px;
      border-radius: 3px;
      background: #f3f4f6;
      color: #64748b;
    }

    .community__thread-cat::before {
      display: none !important;
    }

    .community__thread-cat--experience   { background: #f3f4f6; color: #1e40af; }
    .community__thread-cat--questions    { background: #f0fdf4; color: #166534; }
    .community__thread-cat--discussion   { background: #f9fafb; color: #475569; }
    .community__thread-cat--knowledge    { background: #faf6f1; color: #6b4c30; }
    .community__thread-cat--personal     { background: #fdf4ff; color: #86198f; }
    .community__thread-cat--introduction { background: #fff7ed; color: #9a3412; }
    .community__thread-cat--question     { background: #f0fdf4; color: #166534; }
    .community__thread-cat--insight      { background: #faf6f1; color: #6b4c30; }
    .community__thread-cat--research     { background: #fce7f3; color: #9d174d; }

    .community__thread-closed {
      font-size: .7rem;
      font-weight: 600;
      padding: 1px 6px;
      border-radius: 3px;
      background: #faf6f1;
      color: #991b1b;
    }

    .community__thread-closed::before {
      display: none !important;
    }

    .community__thread-author {
      color: #64748b;
    }

    .community__expert-icon {
      color: #059669;
      vertical-align: -1px;
      margin-left: 2px;
    }

    .community__thread-date {
      color: #94a3b8;
    }

    .community__thread-replies {
      color: #94a3b8;
    }

    .community__thread-activity {
      flex-shrink: 0;
      font-size: .75rem;
      color: #94a3b8;
      white-space: nowrap;
    }

    @media (max-width: 640px) {
      .community__thread {
        flex-direction: column;
        gap: 4px;
      }
      .community__thread-activity {
        padding-left: 0;
      }
      .community__thread-meta {
        row-gap: 2px;
      }
    }

    .community__empty {
      text-align: center;
      padding: 60px 24px;
      color: var(--clr-text-light);
    }

    .community__empty p {
      margin-top: 12px;
      font-size: .92rem;
    }

    
    .thread-page {
      max-width: 900px;
      margin: 0 auto;
      padding: 48px 24px 80px;
    }

    .thread__header {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 16px 0 8px;
      flex-wrap: wrap;
    }

    .thread__subscribe-btn {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      padding: 6px 14px;
      border: 1px solid var(--clr-border);
      border-radius: 20px;
      background: #fff;
      font-size: .78rem;
      font-weight: 600;
      color: var(--clr-text-light);
      cursor: pointer;
      transition: background .2s, color .2s, border-color .2s;
    }
    .thread__subscribe-btn:hover {
      background: #f3f4f6;
      border-color: var(--clr-primary);
      color: var(--clr-primary);
    }
    .thread__subscribe-btn--active {
      background: var(--clr-primary);
      color: #fff;
      border-color: var(--clr-primary);
    }
    .thread__subscribe-btn--active:hover {
      background: #b91c1c;
      border-color: #b91c1c;
      color: #fff;
    }
    .thread__subscribe-btn svg {
      fill: currentColor;
    }

    .thread__title {
      font-size: 1.5rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 24px;
      line-height: 1.35;
    }

    .thread__post {
      display: flex;
      gap: 20px;
      padding: 24px;
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: 12px;
      margin-bottom: 8px;
    }

    .thread__disclaimer {
      display: flex;
      align-items: flex-start;
      font-size: .78rem;
      color: var(--clr-text-light);
      background: #f8f9fa;
      border: 1px solid var(--clr-border);
      border-radius: 8px;
      padding: 10px 14px;
      margin: 16px 0 20px;
      line-height: 1.5;
    }

    
    .thread__post--op {
      background: #fff;
      box-shadow: 0 1px 8px rgba(0,0,0,.06), 0 0 0 1px rgba(0,0,0,.04);
      padding: 28px 28px;
      margin-bottom: 0;
    }
    .thread__post--op .thread__post-avatar {
      width: 56px;
      height: 56px;
      border-color: var(--clr-primary);
    }
    .thread__post--op .thread__post-body {
      font-size: .95rem;
      line-height: 1.8;
    }

    .thread__post--accepted {
      border-color: #16a34a;
      background: #f0fdf4;
    }

    
    .thread__post-badge {
      display: inline-block;
      font-size: .65rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .5px;
      padding: 2px 8px;
      border-radius: 4px;
      line-height: 1.5;
    }
    .thread__post-badge--author {
      background: rgba(30, 58, 138, .08);
      color: var(--clr-primary);
      border: 1px solid rgba(30, 58, 138, .15);
    }

    .thread__post-sidebar {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      width: 80px;
      flex-shrink: 0;
    }

    .thread__post-avatar {
      width: 50px;
      height: 50px;
      border-radius: 50%;
      object-fit: cover;
      border: 2px solid var(--clr-border);
    }

    .thread__post-author {
      font-size: .82rem;
      font-weight: 600;
      color: var(--clr-text);
      text-decoration: none;
      text-align: center;
    }

    .thread__post-author:hover { color: var(--clr-primary); }

    .thread__post-role,
    .thread__post-contributions {
      font-size: .7rem;
      color: var(--clr-text-light);
      text-align: center;
    }

    .thread__post-content {
      flex: 1;
      min-width: 0;
    }

    .thread__post-body {
      font-size: .92rem;
      line-height: 1.75;
      color: var(--clr-text);
    }

    .thread__post-footer {
      display: flex;
      align-items: center;
      gap: 16px;
      margin-top: 16px;
      padding-top: 12px;
      border-top: 1px solid var(--clr-border);
    }

    .thread__post-date {
      font-size: .78rem;
      color: var(--clr-text-light);
    }

    .thread__accepted-badge {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      font-size: .78rem;
      font-weight: 700;
      color: #16a34a;
      margin-bottom: 10px;
    }

    .thread__accept-btn {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      font-size: .78rem;
      font-weight: 600;
      color: #16a34a;
      text-decoration: none;
      opacity: .7;
      transition: opacity .15s;
    }

    .thread__accept-btn:hover { opacity: 1; }

    .thread__replies {
      margin-top: 0;
      padding-top: 32px;
      border-top: 1px solid var(--clr-border);
    }

    .thread__replies-title {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 16px;
    }

    .thread__no-replies {
      font-size: .9rem;
      color: var(--clr-text-light);
      padding: 20px 0;
    }

    .thread__reply-form {
      margin-top: 32px;
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: 12px;
      padding: 24px;
    }

    .thread__reply-form-title {
      font-size: 1rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 12px;
    }

    .thread__reply-textarea {
      width: 100%;
      padding: 12px 16px;
      border: 1px solid var(--clr-border);
      border-radius: 8px;
      font-size: .9rem;
      font-family: inherit;
      line-height: 1.6;
      resize: vertical;
      min-height: 100px;
      box-sizing: border-box;
      transition: border-color .15s;
    }

    .thread__reply-textarea:focus {
      outline: none;
      border-color: var(--clr-primary);
    }

    @media (max-width: 700px) {
      .community__header { flex-direction: column; }
      .community__thread { flex-direction: column; align-items: flex-start; }
      .community__thread-stats { align-self: flex-end; }
      .community__form-row { flex-direction: column; }
      .thread__post { flex-direction: column; }
      .thread__post-sidebar { flex-direction: row; width: auto; gap: 10px; }
    }

    
    .search-page {
      max-width: 900px;
      margin: 0 auto;
      padding: 40px 20px 60px;
    }
    .search-page__header {
      margin-bottom: 32px;
    }
    .search-page__title {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 1.6rem;
      font-weight: 800;
      color: var(--clr-heading);
      margin: 0 0 20px;
    }
    .search-page__title svg { fill: currentColor; }
    .search-page__form {
      display: flex;
      gap: 10px;
      margin-bottom: 14px;
    }
    .search-page__input {
      flex: 1;
      padding: 12px 18px;
      font-size: 1rem;
      border: 2px solid var(--clr-border);
      border-radius: 10px;
      outline: none;
      background: #fff;
      color: var(--clr-text);
      transition: border-color .2s;
    }
    .search-page__input:focus {
      border-color: var(--clr-primary);
      box-shadow: 0 0 0 3px rgba(26,60,110,.1);
    }
    .search-page__btn {
      padding: 12px 28px;
      font-size: .95rem;
      font-weight: 600;
      background: var(--clr-primary);
      color: #fff;
      border: none;
      border-radius: 10px;
      cursor: pointer;
      transition: background .2s;
    }
    .search-page__btn:hover { background: var(--clr-primary-light); }
    .search-page__summary {
      font-size: .9rem;
      color: var(--clr-text-light);
      margin: 0;
    }
    .search-page__summary strong { color: var(--clr-text); }

    .search-page__empty {
      text-align: center;
      padding: 60px 20px;
      color: var(--clr-text-light);
    }
    .search-page__empty svg { margin-bottom: 16px; opacity: .5; }
    .search-page__empty p { margin: 0 0 6px; font-size: 1.05rem; }
    .search-page__empty strong { color: var(--clr-text); }
    .search-page__empty-hint { font-size: .85rem; }

    .search-page__section {
      margin-bottom: 36px;
    }
    .search-page__section-title {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--clr-heading);
      margin: 0 0 16px;
      padding-bottom: 10px;
      border-bottom: 2px solid var(--clr-border);
    }
    .search-page__section-title svg { fill: currentColor; }
    .search-page__count {
      background: var(--clr-primary);
      color: #fff;
      font-size: .75rem;
      padding: 2px 9px;
      border-radius: 99px;
      font-weight: 600;
    }

    .search-page__results {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .search-result {
      display: flex;
      gap: 16px;
      padding: 16px 20px;
      background: #fff;
      border: 1px solid var(--clr-border);
      border-radius: 10px;
      text-decoration: none;
      color: inherit;
      transition: border-color .2s, box-shadow .2s;
    }
    .search-result:hover {
      border-color: var(--clr-primary);
      box-shadow: 0 2px 12px rgba(26,60,110,.08);
    }
    .search-result__img {
      width: 120px;
      height: 80px;
      object-fit: cover;
      border-radius: 8px;
      flex-shrink: 0;
    }
    .search-result__content {
      flex: 1;
      min-width: 0;
    }
    .search-result__meta {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 6px;
      font-size: .78rem;
      color: var(--clr-text-light);
    }
    .search-result__cat {
      display: inline-block;
      padding: 2px 10px;
      border-radius: 99px;
      font-size: .72rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: .03em;
    }
    .search-result__title {
      font-size: 1rem;
      font-weight: 700;
      color: var(--clr-heading);
      margin: 0 0 4px;
      line-height: 1.4;
    }
    .search-result__excerpt {
      font-size: .85rem;
      color: var(--clr-text-light);
      margin: 0 0 4px;
      line-height: 1.55;
    }
    .search-result__author {
      font-size: .78rem;
      color: var(--clr-text-light);
    }
    .search-result__stats {
      display: flex;
      gap: 14px;
      font-size: .78rem;
      color: var(--clr-text-light);
      margin-top: 6px;
    }

    @media (max-width: 600px) {
      .search-result {
        flex-direction: column;
      }
      .search-result__img {
        width: 100%;
        height: 140px;
      }
      .search-page__form {
        flex-direction: column;
      }
    }

  .donate { padding-bottom: 64px; }

  .donate__container { max-width: 800px; margin: 0 auto; padding: 0 24px; }

  .donate__section { padding: 48px 0 0; }
  .donate__section h2 {
    font-size: 1.35rem;
    color: var(--clr-primary);
    margin-bottom: 12px;
  }
  .donate__section p {
    font-size: .94rem;
    line-height: 1.75;
    color: var(--clr-text);
    margin-bottom: 14px;
  }

  .donate__divider {
    border: none;
    border-top: 1px solid var(--clr-border);
    margin: 40px 0 0;
  }

  .donate__bank {
    background: #f9fafb;
    border: 1px solid var(--clr-border);
    border-radius: 12px;
    padding: 28px;
    margin: 24px 0 0;
  }
  .donate__bank h3 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--clr-text);
    margin: 0 0 16px;
  }
  .donate__bank-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .9rem;
  }
  .donate__bank-table td {
    padding: 8px 0;
    border-bottom: 1px solid var(--clr-border);
    color: var(--clr-text);
  }
  .donate__bank-table tr:last-child td { border-bottom: none; }
  .donate__bank-table td:first-child {
    font-weight: 600;
    color: var(--clr-text-light);
    width: 40%;
  }
  .donate__bank-note {
    font-size: .82rem;
    color: var(--clr-text-light);
    margin: 14px 0 0;
    font-style: italic;
  }

  .donate__notice {
    background: #f1f1f1;
    border: none;
    border-radius: 8px;
    padding: 20px 24px;
    margin: 28px 0;
  }
  .donate__notice h3 {
    font-size: .95rem;
    font-weight: 600;
    color: var(--clr-text-light);
    margin: 0 0 6px;
  }
  .donate__notice p {
    font-size: .86rem;
    color: var(--clr-text-light);
    margin: 0;
  }

  .donate__steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 32px 0;
  }
  .donate__step {
    background: #f9fafb;
    border: 1px solid var(--clr-border);
    border-radius: 12px;
    padding: 24px 20px;
    text-align: center;
  }
  .donate__step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--clr-primary);
    color: #fff;
    font-size: .9rem;
    font-weight: 700;
    margin-bottom: 12px;
  }
  .donate__step h3 {
    font-size: .95rem;
    font-weight: 700;
    color: var(--clr-text);
    margin: 0 0 6px;
  }
  .donate__step p {
    font-size: .84rem;
    color: var(--clr-text-light);
    margin: 0;
    line-height: 1.6;
  }

  @media (max-width: 700px) {
    .donate__steps { grid-template-columns: 1fr; }
    .donate__bank-table td:first-child { width: 35%; }
  }

  .donate__publish {
    background: linear-gradient(135deg, #f3f4f6, #e5e7eb);
    border: 2px solid #93c5fd;
    border-radius: var(--radius);
    padding: 36px 32px;
    text-align: center;
    margin-top: 48px;
  }
  .donate__publish-icon {
    color: var(--clr-primary);
    margin-bottom: 8px;
  }
  .donate__publish h2 {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--clr-primary);
    margin: 0 0 10px;
  }
  .donate__publish p {
    color: #334155;
    font-size: .95rem;
    line-height: 1.6;
    max-width: 540px;
    margin: 0 auto;
  }
  .donate__publish-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 20px;
    flex-wrap: wrap;
  }
  .donate__publish-actions .btn--outline {
    background: transparent;
    border: 2px solid var(--clr-primary);
    color: var(--clr-primary);
    padding: 10px 24px;
    border-radius: var(--radius);
    font-weight: 600;
    font-size: .9rem;
    transition: background .2s, color .2s;
  }
  .donate__publish-actions .btn--outline:hover {
    background: var(--clr-primary);
    color: #fff;
  }

  .donate__contact {
    background: var(--clr-primary);
    color: #fff;
    border-radius: var(--radius);
    padding: 32px;
    text-align: center;
    margin-top: 48px;
  }
  .donate__contact h2 { color: #fff; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 1.2rem; margin: 0 0 8px; }
  .donate__contact h2 svg { fill: #fff; }
  .donate__contact p { color: rgba(255,255,255,.82); margin-top: 8px; font-size: .94rem; }
  .donate__contact a {
    display: inline-block;
    margin-top: 16px;
    background: var(--clr-accent);
    color: var(--clr-text);
    font-weight: 600;
    padding: 10px 28px;
    border-radius: var(--radius);
    font-size: .9rem;
    transition: opacity .2s;
  }
  .donate__contact a:hover { opacity: .9; }
  
  .meth { padding-bottom: 64px; }

  .meth__container { max-width: 900px; margin: 0 auto; padding: 0 24px; }

  .meth__section { padding: 48px 0 0; }
  .meth__section h2 {
    font-size: 1.35rem;
    color: var(--clr-primary);
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .meth__section h2 svg { width: 22px; height: 22px; fill: var(--clr-primary); flex-shrink: 0; }
  .meth__section h3 { font-size: 1.05rem; margin: 0 0 6px; color: var(--clr-text); }
  .meth__section p {
    font-size: .93rem;
    line-height: 1.72;
    color: var(--clr-text-light);
    margin: 0 0 10px;
  }
  .meth__section p:last-child { margin-bottom: 0; }

  .meth__divider {
    border: none;
    border-top: 1px solid var(--clr-border);
    margin: 48px 0 0;
  }

  
  .meth__highlight {
    background: #f0f6ff;
    border-left: 4px solid var(--clr-primary);
    padding: 20px 24px;
    border-radius: 0 var(--radius) var(--radius) 0;
    margin: 16px 0 0;
  }
  .meth__highlight p { color: var(--clr-text); font-weight: 500; }
  .meth__highlight p + p { margin-top: 8px; font-weight: 400; }

  
  .meth__standard {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    margin-top: 24px;
  }
  .meth__standard-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--clr-primary);
    color: #fff;
    font-size: .82rem;
    font-weight: 800;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .meth__standard h3 { margin-top: 2px; }
  .meth__standard p { margin-bottom: 0; }

  
  .meth__domains {
    padding-left: 20px;
    list-style: none;
    margin: 16px 0 0;
  }
  .meth__domains li {
    font-size: .93rem;
    line-height: 1.72;
    color: var(--clr-text-light);
    margin-bottom: 10px;
    padding-left: 16px;
    position: relative;
  }
  .meth__domains li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    background: var(--clr-primary);
    border-radius: 50%;
  }

  @media (max-width: 700px) {
    .meth__container { padding: 0 20px; }
    .meth__standard { gap: 14px; }
  }

  .tg { padding-bottom: 64px; }
  .tg__container { max-width: 920px; margin: 0 auto; padding: 0 24px; }

  .tg__intro { padding: 48px 0 0; }
  .tg__section-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--clr-primary);
    margin: 0 0 16px;
  }
  .tg__intro p {
    font-size: .93rem;
    line-height: 1.75;
    color: var(--clr-text-light);
    margin: 0 0 12px;
  }
  .tg__intro-accent {
    font-weight: 600;
    color: var(--clr-text) !important;
    font-style: italic;
    border-left: 3px solid var(--clr-primary);
    padding-left: 16px;
    margin-top: 20px !important;
  }

  .tg__how {
    display: flex;
    gap: 8px;
    align-items: baseline;
    background: #f8fafc;
    border: 1px solid var(--clr-border);
    border-radius: 8px;
    padding: 14px 20px;
    margin: 32px 0 0;
    font-size: .86rem;
    line-height: 1.6;
    color: var(--clr-text-light);
  }
  .tg__how strong {
    color: var(--clr-text);
    white-space: nowrap;
    flex-shrink: 0;
  }

  .tg__terms { margin-top: 40px; display: flex; flex-direction: column; gap: 20px; }

  .tg__card {
    border: 1px solid var(--clr-border);
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    transition: box-shadow .15s;
  }
  .tg__card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,.05);
  }
  .tg__card-term {
    font-size: 1.08rem;
    font-weight: 700;
    color: #fff;
    background: var(--clr-primary);
    padding: 14px 22px;
    margin: 0;
    letter-spacing: .01em;
  }
  .tg__card-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .tg__card-col {
    padding: 20px 22px;
  }
  .tg__card-col--trad {
    background: #fafbfc;
    border-right: 1px solid var(--clr-border);
  }
  .tg__card-col--sci {
    background: #fff;
  }
  .tg__card-label {
    display: block;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    margin-bottom: 8px;
  }
  .tg__card-col--trad .tg__card-label { color: #9ca3af; }
  .tg__card-col--sci .tg__card-label { color: var(--clr-primary); }
  .tg__card-col p {
    font-size: .88rem;
    line-height: 1.7;
    color: var(--clr-text-light);
    margin: 0;
  }
  .tg__card-col--sci p { color: var(--clr-text); }
  .tg__card-col p strong { color: var(--clr-primary); font-weight: 700; }

  .tg__note {
    margin-top: 48px;
    padding: 24px 28px;
    background: #f8fafc;
    border: 1px solid var(--clr-border);
    border-radius: 10px;
  }
  .tg__note h3 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--clr-text);
    margin: 0 0 8px;
  }
  .tg__note p {
    font-size: .88rem;
    line-height: 1.7;
    color: var(--clr-text-light);
    margin: 0 0 14px;
  }
  .tg__note-link {
    font-size: .85rem;
    font-weight: 600;
    color: var(--clr-primary);
    text-decoration: none;
  }
  .tg__note-link:hover { text-decoration: underline; }

  @media (max-width: 700px) {
    .tg__container { padding: 0 20px; }
    .tg__card-body { grid-template-columns: 1fr; }
    .tg__card-col--trad { border-right: none; border-bottom: 1px solid var(--clr-border); }
    .tg__how { flex-direction: column; gap: 4px; }
  }

  .legal-page { max-width: 800px; margin: 0 auto; padding: 48px 24px 80px; }
  .legal-page__title { font-size: 1.8rem; font-weight: 800; color: var(--clr-primary); margin: 0 0 32px; }
  .legal-page h2 { font-size: 1.2rem; font-weight: 700; color: var(--clr-text); margin: 32px 0 10px; }
  .legal-page h3 { font-size: 1rem; font-weight: 600; color: var(--clr-text); margin: 20px 0 8px; }
  .legal-page p { font-size: .92rem; line-height: 1.75; color: var(--clr-text); margin: 0 0 12px; }
  .legal-page ul { font-size: .92rem; line-height: 1.75; color: var(--clr-text); padding-left: 20px; margin: 0 0 12px; }
  .legal-page strong { color: var(--clr-text); }
  .legal-page__note {
    border: 1px solid #d4b896;
    border-left: 4px solid #dcb895;
    background: #faf6f1;
    padding: 14px 16px;
    border-radius: 8px;
    margin-bottom: 20px;
  }
  .legal-page__commitment {
    background: #f0f6ff;
    border: 1px solid #93c5fd;
    border-radius: 6px;
    padding: 16px 20px;
    margin: 0 0 24px;
    font-size: .92rem;
    line-height: 1.75;
    color: var(--clr-text);
  }
  .legal-page__commitment strong {
    display: block;
    margin-bottom: 6px;
  }
  .legal-page__updated {
    font-size: .82rem;
    color: var(--clr-text-light);
    margin: 0 0 16px;
  }
  .legal-page ol {
    font-size: .92rem;
    line-height: 1.75;
    color: var(--clr-text);
    padding-left: 20px;
    margin: 0 0 12px;
  }

  
  .studies { padding-bottom: 64px; }

  .studies__container { max-width: 900px; margin: 0 auto; padding: 0 24px; }

  .studies__section { padding: 48px 0 0; }
  .studies__section h2 {
    font-size: 1.35rem;
    color: var(--clr-primary);
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .studies__section h2 svg { width: 22px; height: 22px; fill: var(--clr-primary); flex-shrink: 0; }
  .studies__section p {
    font-size: .93rem;
    line-height: 1.72;
    color: var(--clr-text-light);
  }

  .studies__status {
    background: #f0f6ff;
    border-left: 4px solid var(--clr-primary);
    padding: 24px 28px;
    border-radius: 0 var(--radius) var(--radius) 0;
    margin: 24px 0 0;
    text-align: center;
  }
  .studies__status-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px; height: 56px;
    background: var(--clr-primary);
    color: #fff;
    border-radius: 50%;
    margin-bottom: 16px;
  }
  .studies__status-icon svg { width: 28px; height: 28px; fill: #fff; }
  .studies__status h3 {
    font-size: 1.15rem;
    color: var(--clr-text);
    margin-bottom: 8px;
  }
  .studies__status p {
    font-size: .93rem;
    line-height: 1.72;
    color: var(--clr-text-light);
    max-width: 600px;
    margin: 0 auto;
  }

  .studies__divider {
    border: none;
    border-top: 1px solid var(--clr-border);
    margin: 48px 0 0;
  }

  .studies__areas {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
    margin: 24px 0 0;
  }
  .studies__area {
    background: #f9fafb;
    border: 1px solid var(--clr-border);
    border-radius: var(--radius);
    padding: 24px;
  }
  .studies__area h4 {
    font-size: .95rem;
    color: var(--clr-text);
    margin-bottom: 6px;
  }
  .studies__area p {
    font-size: .85rem;
    line-height: 1.65;
    color: var(--clr-text-light);
  }

  
  .studies__contact {
    background: var(--clr-primary);
    color: #fff;
    border-radius: var(--radius);
    padding: 32px;
    text-align: center;
    margin-top: 48px;
  }
  .studies__contact h2 { color: #fff; justify-content: center; }
  .studies__contact h2 svg { width: 22px; height: 22px; fill: #fff; flex-shrink: 0; }
  .studies__contact p { color: rgba(255,255,255,.82); margin-top: 8px; }
  .studies__contact a {
    display: inline-block;
    margin-top: 16px;
    background: var(--clr-accent);
    color: var(--clr-text);
    font-weight: 600;
    padding: 10px 28px;
    border-radius: var(--radius);
    font-size: .9rem;
    transition: opacity var(--transition);
  }
  .studies__contact a:hover { opacity: .9; }

  .tp { padding-bottom: 64px; }

  
  .tp__hero {
    text-align: center;
    padding: 48px 24px 40px;
    background: #0a1e3c;
    color: #fff;
  }
  .tp__hero h1 {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0 0 10px;
  }
  .tp__hero p {
    max-width: 600px;
    margin: 0 auto;
    font-size: .95rem;
    line-height: 1.6;
    color: rgba(255,255,255,.8);
  }

  
  .tp__container { max-width: 800px; margin: 0 auto; padding: 40px 24px 0; }

  
  .tp__section { margin-bottom: 32px; }
  .tp__section h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--clr-text);
    margin: 0 0 12px;
  }
  .tp__section h2 svg,
  .tp__contact h2 svg {
    width: 20px;
    height: 20px;
    min-width: 20px;
    fill: var(--clr-primary);
  }
  .tp__section h3 {
    font-size: .95rem;
    font-weight: 600;
    color: var(--clr-text);
    margin: 20px 0 6px;
  }
  .tp__section p {
    font-size: .9rem;
    line-height: 1.7;
    color: var(--clr-text-light);
    margin: 0 0 8px;
  }
  .tp__section ul {
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
  }
  .tp__section ul li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 10px;
    font-size: .9rem;
    line-height: 1.7;
    color: var(--clr-text-light);
  }
  .tp__section ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 7px; height: 7px;
    background: var(--clr-primary);
    border-radius: 50%;
  }

  
  .tp__highlight {
    background: #f0f6ff;
    border-left: 3px solid var(--clr-primary);
    padding: 20px 18px;
    border-radius: 0 var(--radius) var(--radius) 0;
    margin: 16px 0 28px;
    font-size: .9rem;
    color: var(--clr-text);
  }
  .tp__highlight p { margin: 0 0 8px; color: var(--clr-text); }
  .tp__highlight p:last-child { margin-bottom: 0; }

  
  .tp__divider {
    border: none;
    border-top: 1px solid var(--clr-border, #e5e7eb);
    margin: 32px 0;
  }

  
  .tp__figures {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
    margin-top: 16px;
  }
  .tp__figure {
    background: #f9fafb;
    border: 1px solid var(--clr-border, #e5e7eb);
    border-radius: var(--radius);
    padding: 20px 16px;
    text-align: center;
  }
  .tp__figure strong {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--clr-primary);
    margin-bottom: 6px;
  }
  .tp__figure span {
    font-size: .82rem;
    line-height: 1.4;
    color: var(--clr-text-light);
  }

  
  .tp__docs {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px;
  }
  .tp__doc {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid var(--clr-border, #e5e7eb);
    border-radius: var(--radius);
    text-decoration: none;
    color: var(--clr-text);
    transition: background var(--transition), box-shadow var(--transition);
  }
  .tp__doc:hover {
    background: #f9fafb;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
  }
  .tp__doc-icon {
    width: 32px;
    height: 32px;
    min-width: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f6ff;
    border-radius: 6px;
  }
  .tp__doc-icon svg {
    width: 18px;
    height: 18px;
    fill: var(--clr-primary);
  }
  .tp__doc-info {
    flex: 1;
    min-width: 0;
  }
  .tp__doc-info strong {
    display: block;
    font-size: .88rem;
    font-weight: 600;
    color: var(--clr-text);
  }
  .tp__doc-info span {
    display: block;
    font-size: .8rem;
    color: var(--clr-text-light);
    margin-top: 2px;
  }
  .tp__doc-action {
    font-size: .82rem;
    font-weight: 600;
    color: var(--clr-primary);
    white-space: nowrap;
  }
  .tp__doc--pending {
    opacity: .5;
    cursor: default;
    pointer-events: none;
  }
  .tp__doc--pending .tp__doc-icon {
    background: #f3f4f6;
  }
  .tp__doc--pending .tp__doc-icon svg {
    fill: #9ca3af;
  }
  .tp__doc-pending {
    display: block;
    font-size: .75rem;
    font-style: italic;
    color: #9ca3af;
    margin-top: 3px;
  }

  
  .tp__contact {
    background: var(--clr-primary);
    color: #fff;
    border-radius: var(--radius);
    padding: 28px 32px;
    text-align: center;
    margin-top: 32px;
  }
  .tp__contact h2 { justify-content: center; color: #fff; }
  .tp__contact h2 svg { fill: #fff; }
  .tp__contact p { color: rgba(255,255,255,.85); margin: 0 0 12px; font-size: .93rem; }
  .tp__contact a {
    display: inline-block;
    background: var(--clr-accent);
    color: var(--clr-text);
    font-weight: 600;
    padding: 10px 28px;
    border-radius: var(--radius);
    font-size: .9rem;
    transition: opacity var(--transition);
  }
  .tp__contact a:hover { opacity: .9; }

  
  .redirect-notice {
    max-width: 540px;
    margin: 60px auto;
    padding: 40px 32px;
    background: var(--clr-surface);
    border: 1px solid var(--clr-border);
    border-radius: var(--radius);
    text-align: center;
  }
  .redirect-notice__icon {
    color: var(--clr-primary);
    margin-bottom: 16px;
  }
  .redirect-notice__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--clr-text);
    margin: 0 0 8px;
  }
  .redirect-notice__text {
    color: var(--clr-text-light);
    font-size: .95rem;
    margin: 0 0 20px;
  }
  .redirect-notice__url-box {
    background: var(--clr-bg);
    border: 1px solid var(--clr-border);
    border-radius: var(--radius);
    padding: 12px 16px;
    margin: 0 0 16px;
    text-align: left;
    word-break: break-all;
  }
  .redirect-notice__url-label {
    display: block;
    font-size: .78rem;
    font-weight: 600;
    color: var(--clr-text-light);
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: .04em;
  }
  .redirect-notice__url {
    font-size: .88rem;
    color: var(--clr-text);
    font-family: var(--font-mono, monospace);
    background: none;
    padding: 0;
  }
  .redirect-notice__disclaimer {
    font-size: .82rem;
    color: var(--clr-text-light);
    margin: 0 0 24px;
    line-height: 1.5;
  }
  .redirect-notice__actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
  }
.exp-fields {
  background: #faf6f1;
  border: 1px solid #d4b896;
  border-radius: 10px;
  padding: 20px 24px;
  margin: 16px 0 0;
}
.exp-fields__header {
  font-size: .88rem;
  font-weight: 700;
  color: #6b4c30;
  margin: 0 0 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.exp-fields__header svg {
  flex-shrink: 0;
}
.exp-fields__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
}
@media (max-width: 600px) {
  .exp-fields__grid { grid-template-columns: 1fr; }
}
.exp-fields__grid label {
  font-size: .82rem;
  font-weight: 600;
  color: #374151;
  display: block;
  margin-bottom: 4px;
}
.exp-fields__grid select {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: .85rem;
  background: #fff;
  color: #1f2937;
  transition: border-color .15s;
}
.exp-fields__grid select:focus {
  outline: none;
  border-color: #dcb895;
  box-shadow: 0 0 0 3px rgba(14,165,233,.15);
}
.exp-type-options {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.exp-type-option {
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  cursor: pointer;
  font-size: .82rem !important;
  font-weight: 500 !important;
  color: #475569 !important;
  margin-bottom: 0 !important;
  transition: border-color .15s, background .15s;
}
.exp-type-option:hover {
  border-color: #cbd5e1;
  background: #f9fafb;
}
.exp-type-option input[type="radio"] {
  accent-color: var(--clr-primary);
  margin: 0;
  flex-shrink: 0;
}
.exp-type-option:has(input:checked) {
  border-color: var(--clr-primary);
  background: #f3f4f6;
}
.exp-type-option span {
  flex: 1;
}
.exp-type-option__info {
  color: #94a3b8;
  flex-shrink: 0;
  cursor: help;
  transition: color .15s;
}
.exp-type-option:hover .exp-type-option__info {
  color: #64748b;
}

.exp-fields__consent {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e8d5c0;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: .82rem;
  color: #6b7280;
  line-height: 1.45;
}
.exp-fields__consent input[type="checkbox"] {
  margin-top: 2px;
  accent-color: #dcb895;
}
.exp-data {
  background: #faf6f1;
  border: 1px solid #d4b896;
  border-radius: 10px;
  padding: 18px 22px;
  margin: 16px 0 0;
}
.exp-data__header {
  font-size: .85rem;
  font-weight: 700;
  color: #6b4c30;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 14px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.exp-data__header svg {
  flex-shrink: 0;
}
.exp-data__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 20px;
}
@media (max-width: 600px) {
  .exp-data__grid { grid-template-columns: 1fr; }
}
.exp-data__item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.exp-data__label {
  font-size: .75rem;
  font-weight: 600;
  color: #6b4c30;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.exp-data__value {
  font-size: .88rem;
  color: #1f2937;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
}
.exp-data__dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e5e7eb;
  transition: background .15s;
}
.exp-data__dot--filled {
  background: #dcb895;
}
.exp-data__intensity-text {
  margin-left: 4px;
  font-size: .8rem;
  color: #6b7280;
}
.exp-data__consent {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #e8d5c0;
  font-size: .78rem;
  color: #15803d;
  display: flex;
  align-items: center;
  gap: 5px;
}
.exp-data__consent svg {
  flex-shrink: 0;
}
.exp-disclaimer {
  font-size: .78rem;
  color: #6b7280;
  margin: 8px 0 0;
  line-height: 1.4;
  display: flex;
  align-items: flex-start;
}
.thread__post-badge--expert {
  background: #f3f4f6;
  color: #475569;
  border: 1px solid #cbd5e1;
  font-size: .7rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
}
.thread__post-badge--expert svg { opacity: .55; }

.community__expert-tag {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: .72rem;
  font-weight: 600;
  color: #64748b;
}
.public-profile__role--expert {
  background: none;
  border: none;
  color: #334155;
  text-transform: none;
  letter-spacing: .01em;
  font-size: .76rem;
  padding: 0;
  gap: 6px;
  border-radius: 0;
  box-shadow: none;
}
.public-profile__role--expert svg {
  width: 14px;
  height: 14px;
  color: #2563eb;
  opacity: 1;
  flex-shrink: 0;
}
.public-profile__role-text {
  font-weight: 600;
  color: #1e3a5f;
}
.public-profile__role-sep {
  width: 1px;
  height: 11px;
  background: #94a3b8;
  opacity: .4;
}
.public-profile__role-field {
  font-weight: 400;
  color: #475569;
}

.public-profile__field {
  display: block;
  font-size: .8rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #64748b;
  margin-bottom: 4px;
}

.public-profile__affiliation {
  font-size: .85rem;
  color: #64748b;
  margin: 0 0 10px;
  line-height: 1.4;
}

.public-profile__card--expert {
  border: none;
  background: #fff;
  padding: 32px 0;
  gap: 32px;
  box-shadow: none;
  border-radius: 0;
}

.public-profile__avatar--expert {
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  width: 120px;
  height: 120px;
  box-shadow: none;
}
.nav__link--expert {
  color: #059669 !important;
  font-weight: 600;
}
.auth__expert-box {
  background: #f9fafb;
  border: 1px dashed #d1d5db;
  border-radius: 8px;
  padding: 14px 16px;
  margin-top: 1.25rem;
}
.auth__expert-optional {
  display: inline-block;
  font-size: .68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #9ca3af;
  background: #f3f4f6;
  padding: 1px 7px;
  border-radius: 4px;
  margin-left: 6px;
  vertical-align: middle;
}
.auth__expert-hint {
  font-size: .76rem;
  color: #9ca3af;
  margin: 4px 0 0;
  line-height: 1.45;
  padding-left: 24px;
}
.auth__expert-note {
  font-size: .75rem;
  color: #6b7280;
  margin: 6px 0 0;
  line-height: 1.4;
  display: flex;
  align-items: flex-start;
}
.casebrowser {
  max-width: var(--site-max-width);
  margin: 0 auto;
  padding: 1.5rem;
}
.casebrowser__welcome {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #f9fafb;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 14px 20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.casebrowser__welcome-badge {
  width: 40px;
  height: 40px;
  background: var(--clr-primary);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.casebrowser__welcome-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.casebrowser__welcome-info strong {
  font-size: .95rem;
  color: var(--clr-primary);
}
.casebrowser__welcome-info span {
  font-size: .78rem;
  color: #64748b;
  font-weight: 600;
}
.casebrowser__welcome-stats {
  margin-left: auto;
  font-size: .82rem;
  color: #6b7280;
  display: flex;
  gap: 8px;
  align-items: center;
}
.casebrowser__welcome-stats strong {
  color: var(--clr-primary);
}
.casebrowser__welcome-sep {
  opacity: .4;
}
.casebrowser__layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 24px;
  align-items: start;
}
.casebrowser__sidebar {
  position: sticky;
  top: 80px;
}
.casebrowser__filters {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 18px;
}
.casebrowser__filter-title {
  font-size: .88rem;
  font-weight: 700;
  color: var(--clr-primary);
  margin: 0 0 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.casebrowser__filter-title svg {
  fill: currentColor;
}
.casebrowser__filter-group {
  margin-bottom: 12px;
}
.casebrowser__filter-label {
  display: block;
  font-size: .72rem;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: .03em;
  margin-bottom: 4px;
}
.casebrowser__filter-input,
.casebrowser__filter-select {
  width: 100%;
  padding: 7px 10px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: .82rem;
  color: #374151;
  background: #fff;
  outline: none;
  transition: border-color .2s;
}
.casebrowser__filter-input:focus,
.casebrowser__filter-select:focus {
  border-color: #059669;
}
.casebrowser__filter-btn {
  width: 100%;
  margin-top: 6px;
  font-size: .82rem;
  padding: 8px;
}
.casebrowser__filter-clear {
  display: block;
  text-align: center;
  font-size: .78rem;
  color: #9ca3af;
  margin-top: 8px;
  text-decoration: none;
}
.casebrowser__filter-clear:hover {
  color: #ef4444;
}
.casebrowser__breakdown {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 14px 18px;
  margin-top: 14px;
}
.casebrowser__breakdown-title {
  font-size: .75rem;
  font-weight: 600;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0 0 10px;
}
.casebrowser__breakdown-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  text-decoration: none;
  color: #374151;
  font-size: .8rem;
  transition: background .15s;
}
.casebrowser__breakdown-row:hover {
  background: #f3f4f6;
}
.casebrowser__breakdown-row--active {
  background: #ecfdf5;
  font-weight: 600;
}
.casebrowser__type-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.casebrowser__type-dot--psychosomatic { background: #dcb895; }
.casebrowser__type-dot--evolution { background: #3b82f6; }
.casebrowser__type-dot--subtle { background: #8b5cf6; }
.casebrowser__breakdown-name {
  flex: 1;
}
.casebrowser__breakdown-count {
  font-weight: 700;
  color: var(--clr-primary);
  font-size: .78rem;
}
.casebrowser__breakdown-avg {
  font-size: .7rem;
  color: #9ca3af;
}
.casebrowser__results-bar {
  margin-bottom: 16px;
}
.casebrowser__results-count {
  font-size: .85rem;
  font-weight: 600;
  color: #374151;
}
.casebrowser__results-filtered {
  font-weight: 400;
  color: #059669;
  font-size: .78rem;
}

.casebrowser__empty {
  text-align: center;
  padding: 60px 20px;
  color: #9ca3af;
}
.casebrowser__empty p {
  margin: 12px 0 0;
  font-size: .9rem;
}
.casebrowser__cases {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.casebrowser__case {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 20px;
  transition: box-shadow .2s;
}
.casebrowser__case:hover {
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.casebrowser__case-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.casebrowser__type-tag {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 8px;
  font-size: .72rem;
  font-weight: 700;
  white-space: nowrap;
  letter-spacing: .02em;
}
.casebrowser__type-tag--psychosomatic { background: #f5ebe0; color: #6b4c30; }
.casebrowser__type-tag--evolution { background: #e5e7eb; color: #1e40af; }
.casebrowser__type-tag--subtle { background: #ede9fe; color: #5b21b6; }

.casebrowser__case-date {
  font-size: .75rem;
  color: #9ca3af;
}
.casebrowser__case-title {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 8px;
  line-height: 1.35;
}
.casebrowser__case-title a {
  color: var(--clr-primary);
  text-decoration: none;
}
.casebrowser__case-title a:hover {
  text-decoration: underline;
}
.casebrowser__case-excerpt {
  font-size: .85rem;
  color: #4b5563;
  line-height: 1.55;
  margin: 0 0 14px;
}
.casebrowser__case-meta {
  display: flex;
  gap: 24px;
  padding: 12px 0;
  border-top: 1px solid #f3f4f6;
  border-bottom: 1px solid #f3f4f6;
  flex-wrap: wrap;
}
.casebrowser__case-field {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.casebrowser__case-field-label {
  font-size: .68rem;
  font-weight: 600;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.casebrowser__case-field-value {
  font-size: .82rem;
  color: #374151;
  font-weight: 500;
}
.casebrowser__intensity {
  display: flex;
  align-items: center;
  gap: 3px;
}
.casebrowser__intensity-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #e5e7eb;
}
.casebrowser__intensity-dot--active { background: #059669; }
.casebrowser__intensity-dot--l4 { background: #dcb895; }
.casebrowser__intensity-dot--l5 { background: #ef4444; }
.casebrowser__intensity-num {
  font-size: .75rem;
  color: #6b7280;
  margin-left: 4px;
  font-weight: 600;
}
.casebrowser__case-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 12px;
  flex-wrap: wrap;
  gap: 8px;
}
.casebrowser__case-demo {
  font-size: .78rem;
  color: #6b7280;
  display: flex;
  align-items: center;
  gap: 5px;
}
.casebrowser__case-demo svg {
  fill: currentColor;
  opacity: .6;
}
.casebrowser__case-engage {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: .78rem;
  color: #9ca3af;
}
.casebrowser__case-engage span {
  display: flex;
  align-items: center;
  gap: 3px;
}
.casebrowser__case-engage svg {
  fill: currentColor;
}
.casebrowser__case-link {
  color: #059669;
  font-weight: 600;
  text-decoration: none;
  font-size: .78rem;
}
.casebrowser__case-link:hover {
  text-decoration: underline;
}
.casebrowser__case-body {
  margin-bottom: 14px;
}
.casebrowser__case-full {
  white-space: pre-line;
  font-size: .85rem;
  color: #4b5563;
  line-height: 1.55;
  margin-top: 6px;
}
.casebrowser__expand-btn {
  background: none;
  border: none;
  color: #059669;
  font-size: .78rem;
  font-weight: 600;
  cursor: pointer;
  padding: 2px 0;
  margin-top: 4px;
}
.casebrowser__expand-btn:hover {
  text-decoration: underline;
}
.casebrowser__case-id {
  font-size: .72rem;
  color: #d1d5db;
  font-weight: 600;
}
.casebrowser__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
}
.casebrowser__page-btn {
  font-size: .82rem;
  color: #059669;
  font-weight: 600;
  text-decoration: none;
  padding: 6px 14px;
  border-radius: 6px;
  border: 1px solid #bbf7d0;
  transition: background .15s;
}
.casebrowser__page-btn:hover {
  background: #ecfdf5;
}
.casebrowser__page-info {
  font-size: .8rem;
  color: #6b7280;
}
.casebrowser__disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 14px 18px;
  margin-top: 24px;
}
.casebrowser__disclaimer svg {
  flex-shrink: 0;
  color: #059669;
  margin-top: 1px;
}
.casebrowser__disclaimer p {
  font-size: .78rem;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}
.casebrowser__tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 24px;
  border-bottom: 2px solid #e5e7eb;
  padding-bottom: 0;
}
.casebrowser__tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  font-size: .88rem;
  font-weight: 600;
  color: #6b7280;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  border-radius: 8px 8px 0 0;
  transition: color .15s, border-color .15s, background .15s;
}
.casebrowser__tab svg { fill: currentColor; }
.casebrowser__tab:hover {
  color: var(--clr-primary);
  background: rgba(35,82,114,.04);
}
.casebrowser__tab--active {
  color: var(--clr-primary);
  border-bottom-color: var(--clr-primary);
}
.casebrowser__success {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 10px;
  padding: 14px 20px;
  margin-bottom: 20px;
  color: #065f46;
}
.casebrowser__success svg { fill: #059669; flex-shrink: 0; }
.casebrowser__success p { margin: 0; font-size: .88rem; font-weight: 500; }
.expert-pub {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 28px;
}
.expert-pub__header {
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f3f4f6;
}
.expert-pub__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.15rem;
  color: var(--clr-primary);
  margin: 0 0 6px;
}
.expert-pub__title svg { fill: currentColor; }
.expert-pub__hint {
  font-size: .82rem;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}
.expert-pub__form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.expert-pub__label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: .82rem;
  font-weight: 600;
  color: #374151;
}
.expert-pub__input {
  padding: 10px 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: .9rem;
  transition: border-color .15s, box-shadow .15s;
  font-weight: 400;
  color: #1f2937;
}
.expert-pub__input:focus {
  outline: none;
  border-color: var(--clr-primary);
  box-shadow: 0 0 0 3px rgba(35,82,114,.1);
}
.expert-pub__textarea {
  padding: 10px 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: .88rem;
  font-family: inherit;
  resize: vertical;
  min-height: 60px;
  transition: border-color .15s, box-shadow .15s;
  font-weight: 400;
  color: #1f2937;
}
.expert-pub__textarea:focus {
  outline: none;
  border-color: var(--clr-primary);
  box-shadow: 0 0 0 3px rgba(35,82,114,.1);
}
.expert-pub__textarea--body {
  min-height: 260px;
  font-size: .86rem;
  line-height: 1.65;
}
.expert-pub__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.expert-pub__label--half {
  min-width: 0;
}
.expert-pub__cat-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}
.expert-pub__cat-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border: 1px solid #d1d5db;
  border-radius: 20px;
  font-size: .78rem;
  font-weight: 500;
  color: #4b5563;
  cursor: pointer;
  transition: background .15s, border-color .15s;
  user-select: none;
}
.expert-pub__cat-pill input[type="checkbox"] {
  width: 14px;
  height: 14px;
  accent-color: var(--clr-primary);
}
.expert-pub__cat-pill:has(input:checked) {
  background: #ecfdf5;
  border-color: #059669;
  color: #065f46;
}
.expert-pub__file {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.expert-pub__file input[type="file"] {
  font-size: .82rem;
}
.expert-pub__preview {
  max-width: 200px;
  max-height: 120px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  margin-top: 6px;
}
.expert-pub__submit {
  align-self: flex-start;
  padding: 12px 32px;
  font-size: .9rem;
  margin-top: 4px;
}
.composer--expert {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 24px;
  align-items: start;
}
.composer--expert .composer__main {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.composer--expert .composer__panel {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  padding: 24px;
}
.composer--expert .composer__panel-title {
  font-size: .82rem;
  font-weight: 700;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.composer--expert .composer__panel-title svg {
  width: 16px;
  height: 16px;
  fill: var(--clr-primary);
  opacity: .7;
}
.composer--expert .composer__title-input {
  width: 100%;
  padding: 10px 14px;
  font-size: .95rem;
  font-weight: 600;
  font-family: inherit;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fafafa;
  color: #1f2937;
  transition: border-color .15s, box-shadow .15s;
}
.composer--expert .composer__title-input:focus {
  outline: none;
  border-color: var(--clr-primary);
  box-shadow: 0 0 0 3px rgba(35,82,114,.1);
  background: #fff;
}
.composer--expert .composer__title-input::placeholder {
  color: #b5b5c3;
  font-weight: 400;
}
.composer--expert .composer__excerpt textarea,
.composer--expert .composer__body textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: .9rem;
  font-family: inherit;
  background: #fafafa;
  color: #1f2937;
  resize: vertical;
  transition: border-color .15s, box-shadow .15s;
}
.composer--expert .composer__excerpt textarea {
  min-height: 60px;
}
.composer--expert .composer__body textarea {
  min-height: 300px;
  line-height: 1.7;
}
.composer--expert .composer__excerpt textarea:focus,
.composer--expert .composer__body textarea:focus {
  outline: none;
  border-color: var(--clr-primary);
  box-shadow: 0 0 0 3px rgba(35,82,114,.1);
  background: #fff;
}
.composer--expert .composer__hint {
  font-size: .75rem;
  color: #9ca3af;
  margin-top: 6px;
}
.composer--expert .composer__toggle-hint {
  font-size: .75rem;
  color: #9ca3af;
  font-weight: 400;
}
.composer--expert .composer__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 4px;
}
.composer--expert .composer__sidebar {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: sticky;
  top: calc(var(--header-h, 64px) + 24px);
}
.composer--expert .composer__sidebar .composer__panel {
  padding: 20px;
}
.composer--expert .composer__sidebar .composer__panel-title {
  margin-bottom: 14px;
  font-size: .76rem;
}
.composer--expert .composer__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.composer--expert .composer__ai-select {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: .85rem;
  color: var(--clr-text);
  background: #fff;
  cursor: pointer;
  appearance: auto;
  margin-top: 4px;
}
/* References structured rows (expert) */
.composer--expert .composer__ref-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}
.composer--expert .composer__ref-num {
  font-size: .78rem;
  font-weight: 600;
  color: var(--clr-primary);
  flex-shrink: 0;
  min-width: 28px;
  text-align: center;
}
.composer--expert .composer__ref-url,
.composer--expert .composer__ref-desc {
  flex: 1;
  min-width: 0;
  padding: 7px 10px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: .8rem;
  color: var(--clr-text);
  background: #fff;
}
.composer--expert .composer__ref-desc { flex: 1.5; }
.composer--expert .composer__ref-url:focus,
.composer--expert .composer__ref-desc:focus {
  outline: none;
  border-color: var(--clr-primary);
}
.composer--expert .composer__ref-del {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border: none;
  background: none;
  color: #94a3b8;
  font-size: 1.1rem;
  cursor: pointer;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.composer--expert .composer__ref-del:hover {
  background: #fee2e2;
  color: #ef4444;
}
.composer--expert .composer__refs-add {
  display: inline-block;
  margin-top: 4px;
  padding: 5px 12px;
  border: 1px dashed #cbd5e1;
  border-radius: 6px;
  background: none;
  color: var(--clr-primary);
  font-size: .8rem;
  cursor: pointer;
}
.composer--expert .composer__refs-add:hover {
  background: #f0f4f8;
  border-color: var(--clr-primary);
}
.composer--expert .composer__cat-pill {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: .82rem;
  padding: 5px 12px;
  border: 1px solid #d1d5db;
  border-radius: 20px;
  cursor: pointer;
  background: #fff;
  color: #6b7280;
  transition: all .15s;
  user-select: none;
}
.composer--expert .composer__cat-pill:hover {
  border-color: var(--clr-primary);
  color: var(--clr-primary);
}
.composer--expert .composer__cat-pill input { display: none; }
.composer--expert .composer__cat-pill:has(input:checked) {
  background: var(--clr-primary);
  color: #fff;
  border-color: var(--clr-primary);
}
.composer--expert .composer__image-area { margin-top: 4px; }
.composer--expert .composer__image-drop {
  border: 2px dashed #d1d5db;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  position: relative;
  cursor: pointer;
  transition: border-color .15s;
}
.composer--expert .composer__image-drop:hover {
  border-color: var(--clr-primary);
}
.composer--expert .composer__image-drop input[type="file"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.composer--expert .composer__image-drop-icon {
  width: 32px;
  height: 32px;
  margin: 0 auto 6px;
  color: #9ca3af;
}
.composer--expert .composer__image-drop-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}
.composer--expert .composer__image-drop-text {
  font-size: .82rem;
  color: #6b7280;
  font-weight: 500;
}
.composer--expert .composer__image-drop-hint {
  font-size: .72rem;
  color: #b5b5c3;
  margin-top: 2px;
}
.composer--expert .composer__image-preview img {
  width: 100%;
  max-height: 160px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  margin-top: 8px;
}
.expert-pub__list {
  margin-top: 32px;
}
.expert-pub__list-title {
  font-size: 1rem;
  font-weight: 700;
  color: #1f2937;
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e5e7eb;
}
.expert-pub__article {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  margin-bottom: 8px;
  transition: box-shadow .15s;
}
.expert-pub__article:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.expert-pub__article-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.expert-pub__article-title {
  font-size: .92rem;
  font-weight: 600;
  color: #1f2937;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.expert-pub__article-meta {
  font-size: .76rem;
  color: #9ca3af;
}
.expert-pub__article-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.expert-pub__status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 8px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
}
.expert-pub__status--pending {
  background: #f5ebe0;
  color: #6b4c30;
}
.expert-pub__status--approved {
  background: #d1fae5;
  color: #065f46;
}
.expert-pub__status--rejected {
  background: #f5ebe0;
  color: #991b1b;
}
.expert-pub__edit-btn,
.expert-pub__view-btn {
  font-size: .78rem;
  font-weight: 600;
  text-decoration: none;
  padding: 5px 14px;
  border-radius: 6px;
  transition: background .15s;
}
.expert-pub__edit-btn {
  color: var(--clr-primary);
  border: 1px solid var(--clr-primary);
}
.expert-pub__edit-btn:hover {
  background: rgba(35,82,114,.06);
}
.expert-pub__view-btn {
  color: #059669;
  border: 1px solid #a7f3d0;
}
.expert-pub__view-btn:hover {
  background: #ecfdf5;
}
.public-profile__publications {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.public-profile__pub-card {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow .15s, border-color .15s;
}
.public-profile__pub-card:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  border-color: #cbd5e1;
}
.public-profile__pub-image {
  width: 80px;
  height: 56px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}
.public-profile__pub-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.public-profile__pub-title {
  font-size: .92rem;
  font-weight: 600;
  color: var(--clr-primary);
  line-height: 1.35;
}
.public-profile__pub-excerpt {
  font-size: .82rem;
  color: #6b7280;
  line-height: 1.45;
}
.public-profile__pub-meta {
  font-size: .75rem;
  color: #9ca3af;
  margin-top: 2px;
}
.public-profile__pub-type {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 1px 7px;
  border-radius: 4px;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.6;
}
.public-profile__pub-type svg {
  flex-shrink: 0;
}
.public-profile__pub-type--review {
  background: #eff6ff;
  color: #1d4ed8;
}
.public-profile__pub-type--coauthor {
  background: #f0fdf4;
  color: #15803d;
}
@media (max-width: 860px) {
  .casebrowser__layout {
    grid-template-columns: 1fr;
  }
  .casebrowser__sidebar {
    position: static;
  }
  .casebrowser__welcome-stats {
    margin-left: 0;
    width: 100%;
    margin-top: 4px;
  }
  .expert-pub__row {
    grid-template-columns: 1fr;
  }
  .expert-pub__article {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .composer--expert {
    grid-template-columns: 1fr;
  }
  .composer--expert .composer__sidebar {
    position: static;
  }
}
@media (max-width: 480px) {
  .casebrowser__case-meta {
    gap: 14px;
  }
  .casebrowser {
    padding: 1rem;
  }
  .expert-pub {
    padding: 18px;
  }
  .casebrowser__tabs {
    gap: 0;
  }
  .casebrowser__tab {
    padding: 8px 14px;
    font-size: .82rem;
  }
}

/* ── Expert Review / Co-Authorship Styles ──────────────── */

/* Tab badge */
/* Expert nav link badge */
.nav__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 17px;
  height: 17px;
  padding: 0 5px;
  border-radius: 9px;
  background: #ef4444;
  color: #fff;
  font-size: .6rem;
  font-weight: 700;
  margin-left: 4px;
  vertical-align: middle;
  line-height: 1;
}

.casebrowser__tab-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: #ef4444;
  color: #fff;
  font-size: .65rem;
  font-weight: 700;
  margin-left: 6px;
}
.casebrowser__tab-badge--urgent {
  background: #dc2626;
  animation: urgentPulse 2s ease-in-out infinite;
}
@keyframes urgentPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); }
}

/* Status badges for awaiting_expert and changes_requested */
.expert-pub__status--awaiting_expert {
  background: #ede9fe;
  color: #6d28d9;
}
.expert-pub__status--changes_requested {
  background: #fef3c7;
  color: #92400e;
}
.expert-pub__article--revision {
  border-left: 3px solid #f59e0b;
  background: #fffbeb;
}
.expert-pub__edit-btn--urgent {
  color: #dc2626;
  border-color: #fca5a5;
  background: #fef2f2;
  animation: pulse-border .8s ease-in-out infinite alternate;
}
@keyframes pulse-border {
  from { border-color: #fca5a5; }
  to { border-color: #ef4444; }
}

/* Revision banner */
.expert-review__revision-banner {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 18px;
  background: #fef3c7;
  border: 1px solid #fbbf24;
  border-radius: 10px;
  margin-bottom: 20px;
}
.expert-review__revision-banner svg {
  fill: #d97706;
  flex-shrink: 0;
  margin-top: 2px;
}
.expert-review__revision-banner strong {
  font-size: .9rem;
  color: #92400e;
}
.expert-review__revision-banner p {
  margin: 4px 0 0;
  font-size: .82rem;
  color: #78350f;
}

/* Revision comments box (in publish tab edit mode) */
.expert-review__revision-comments {
  background: #f0f9ff;
  border: 1px solid #bae6fd;
  border-radius: 10px;
  padding: 18px;
  margin-bottom: 20px;
}
.expert-review__revision-comments h4 {
  margin: 0 0 12px;
  font-size: .92rem;
  color: #0369a1;
}
.expert-review__revision-info {
  font-size: .82rem;
  color: #475569;
  margin: 12px 0 0;
}

/* Back link */
.expert-review__back {
  margin-bottom: 16px;
}
.expert-review__back a {
  font-size: .85rem;
  color: var(--clr-primary);
  text-decoration: none;
  font-weight: 500;
}
.expert-review__back a:hover {
  text-decoration: underline;
}

/* Article header in review view */
.expert-review__article-header {
  margin-bottom: 24px;
}
.expert-review__title {
  font-size: 1.4rem;
  font-weight: 700;
  color: #1a202c;
  margin: 0 0 8px;
}
.expert-review__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: .82rem;
  color: #64748b;
}

/* Assignment status badges */
.expert-review__status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 8px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
}
.expert-review__status--claimed {
  background: #e0e7ff;
  color: #3730a3;
}
.expert-review__status--in_review {
  background: #dbeafe;
  color: #1e40af;
}
.expert-review__status--changes_requested {
  background: #fef3c7;
  color: #92400e;
}
.expert-review__status--author_revised {
  background: #fce7f3;
  color: #9d174d;
}
.expert-review__status--approved {
  background: #d1fae5;
  color: #065f46;
}
.expert-review__status--published {
  background: #d1fae5;
  color: #065f46;
}

/* Type badge */
.expert-review__type-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: .68rem;
  font-weight: 600;
}
.expert-review__type-badge--review {
  background: #f0f9ff;
  color: #0369a1;
}
.expert-review__type-badge--coauthor {
  background: #faf5ff;
  color: #7c3aed;
}

/* Choose type cards */
.expert-review__choose-type {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 24px;
}
.expert-review__choose-type h3 {
  margin: 0 0 6px;
  font-size: 1.05rem;
  color: #1e293b;
}
.expert-review__choose-type > p {
  margin: 0 0 18px;
  font-size: .85rem;
  color: #64748b;
}
.expert-review__type-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}
.expert-review__type-option {
  cursor: pointer;
}
.expert-review__type-option input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.expert-review__type-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
  padding: 24px 18px;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  transition: all .15s;
}
.expert-review__type-card:hover {
  border-color: #94a3b8;
}
.expert-review__type-option input:checked + .expert-review__type-card {
  border-color: var(--clr-primary);
  background: #f0f9ff;
  box-shadow: 0 0 0 3px rgba(35,82,114,.12);
}
.expert-review__type-card svg {
  color: #64748b;
}
.expert-review__type-option input:checked + .expert-review__type-card svg {
  color: var(--clr-primary);
}
.expert-review__type-card strong {
  font-size: .95rem;
  color: #1e293b;
}
.expert-review__type-card span {
  font-size: .78rem;
  color: #64748b;
  line-height: 1.4;
}

/* Article content box (read-only review) */
.expert-review__content-box {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 24px;
}
.expert-review__content-box h3 {
  margin: 0 0 16px;
  font-size: .95rem;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.expert-review__article-body {
  font-size: .95rem;
  line-height: 1.75;
  color: #1a202c;
  max-height: 600px;
  overflow-y: auto;
  padding-right: 8px;
}
.expert-review__article-body img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* Comments section */
.expert-review__comments {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 24px;
}
.expert-review__comments h3 {
  margin: 0 0 16px;
  font-size: .95rem;
  color: #334155;
}
.expert-review__comment-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}
.expert-review__comment {
  padding: 12px 16px;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
}
.expert-review__comment--own {
  background: #f0f9ff;
  border-color: #bae6fd;
}
.expert-review__comment--other {
  background: #fafafa;
}
.expert-review__comment-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}
.expert-review__comment-header strong {
  font-size: .82rem;
  color: #1e293b;
  display: flex;
  align-items: center;
  gap: 6px;
}
.expert-review__expert-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: #fff;
  background: #235272;
  border-radius: 4px;
  white-space: nowrap;
}
.expert-review__comment-date {
  font-size: .72rem;
  color: #94a3b8;
}
.expert-review__comment-body {
  font-size: .85rem;
  line-height: 1.5;
  color: #475569;
}
.expert-review__no-comments {
  font-size: .85rem;
  color: #94a3b8;
  font-style: italic;
}
.expert-review__comment-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.expert-review__comment-form textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: .85rem;
  font-family: inherit;
  resize: vertical;
  min-height: 60px;
  box-sizing: border-box;
}
.expert-review__comment-form textarea:focus {
  outline: none;
  border-color: var(--clr-primary);
  box-shadow: 0 0 0 3px rgba(35,82,114,.1);
}

/* Action buttons */
.expert-review__actions {
  display: flex;
  gap: 16px;
  margin-bottom: 24px;
}
.expert-review__action-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.expert-review__action-form textarea {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: .82rem;
  font-family: inherit;
  resize: vertical;
  min-height: 50px;
  box-sizing: border-box;
}
.expert-review__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 20px;
  border: none;
  border-radius: 8px;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
  font-family: inherit;
}
.expert-review__btn--claim {
  background: var(--clr-primary);
  color: #fff;
}
.expert-review__btn--claim:hover {
  opacity: .9;
}
.expert-review__btn--preview {
  background: #f3f4f6;
  color: #374151;
  border: 1px solid #d1d5db;
}
.expert-review__btn--preview:hover {
  background: #e5e7eb;
}
.expert-review__author-link {
  color: var(--clr-primary);
  text-decoration: underline;
  font-weight: 600;
}
.expert-review__author-link:hover {
  opacity: .8;
}
.expert-review__preview {
  display: none;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-top: none;
  border-radius: 0 0 12px 12px;
  margin-top: -8px;
  margin-bottom: 12px;
  padding: 1.5rem;
  max-height: 600px;
  overflow-y: auto;
}
.expert-review__preview--open {
  display: block;
}
.expert-review__preview-body {
  font-size: .95rem;
  line-height: 1.7;
  color: #1f2937;
}
.expert-review__preview-body img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.expert-review__btn--changes {
  background: #ea580c;
  color: #fff;
  border: 1px solid #c2410c;
  font-weight: 700;
  font-size: 1rem;
  padding: .75rem 1.5rem;
  box-shadow: 0 2px 6px rgba(234,88,12,.3);
}
.expert-review__btn--changes:hover {
  background: #c2410c;
  box-shadow: 0 3px 10px rgba(234,88,12,.4);
}
.expert-review__btn--approve {
  background: #059669;
  color: #fff;
}
.expert-review__btn--approve:hover {
  background: #047857;
}
.expert-review__decision {
  background: #fff7ed;
  border: 1px solid #fb923c;
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  margin-top: 1rem;
}
.expert-review__decision h3 {
  font-size: 1rem;
  font-weight: 700;
  color: #c2410c;
  margin: 0 0 .75rem;
}
.expert-review__decision-textarea {
  width: 100%;
  padding: .75rem;
  border: 1px solid #fb923c;
  border-radius: 8px;
  font-size: .9rem;
  font-family: inherit;
  resize: vertical;
  background: #fff;
}
.expert-review__decision-textarea:focus {
  outline: none;
  border-color: #ea580c;
  box-shadow: 0 0 0 3px rgba(234,88,12,.15);
}
.expert-review__decision-actions {
  margin-top: .75rem;
  display: flex;
  gap: .75rem;
}
.expert-review__decision-actions .expert-review__btn--changes {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.expert-review__decision-hint {
  margin: .5rem 0 0;
  font-size: .8rem;
  color: #c2410c;
  line-height: 1.4;
}
.expert-review__approve-only-hint {
  display: flex;
  align-items: center;
  gap: .4rem;
  margin: 0;
  padding: .5rem .75rem;
  background: #fef3c7;
  border: 1px solid #fbbf24;
  border-radius: 8px;
  font-size: .82rem;
  font-weight: 600;
  color: #92400e;
  line-height: 1.4;
}
.expert-review__approve-only-hint svg {
  flex-shrink: 0;
  color: #d97706;
}
.expert-review__approve-section {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.expert-review__approve-info {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  color: #166534;
  font-size: .88rem;
  line-height: 1.5;
}
.expert-review__approve-info svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: #16a34a;
}
.expert-review__approve-info p {
  margin: 0;
}
.expert-review__approve-section .expert-review__btn--approve {
  align-self: flex-end;
}
.expert-review__btn--draft {
  background: #e2e8f0;
  color: #475569;
}
.expert-review__btn--draft:hover {
  background: #cbd5e1;
}

/* Info box */
.expert-review__info-box {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 14px 18px;
  background: #f0f9ff;
  border: 1px solid #bae6fd;
  border-radius: 10px;
  margin-bottom: 20px;
}
.expert-review__info-box svg {
  fill: #0369a1;
  flex-shrink: 0;
  margin-top: 1px;
}
.expert-review__info-box p {
  margin: 0;
  font-size: .85rem;
  color: #0c4a6e;
}
.expert-review__info-box--success {
  background: #ecfdf5;
  border-color: #a7f3d0;
}
.expert-review__info-box--success svg {
  fill: #059669;
}
.expert-review__info-box--success p {
  color: #065f46;
}
.expert-review__info-box--revision {
  background: #fffbeb;
  border-color: #fde68a;
}
.expert-review__info-box--revision svg {
  fill: #d97706;
}
.expert-review__info-box--revision p {
  color: #92400e;
}

/* Co-author editor */
.expert-review__coauthor-editor {
  margin-bottom: 24px;
}
.expert-review__coauthor-editor h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  color: #1e293b;
}
.expert-review__coauthor-editor > p {
  margin: 0 0 16px;
  font-size: .82rem;
  color: #64748b;
}
.expert-review__coauthor-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.expert-review__coauthor-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}

/* Queue listing */
.expert-review__queue {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.expert-review__section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.expert-review__section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .95rem;
  font-weight: 700;
  color: #1e293b;
  margin: 0;
}
.expert-review__section-title svg {
  fill: currentColor;
  flex-shrink: 0;
}
.expert-review__section-desc {
  font-size: .82rem;
  color: #64748b;
  margin: 0;
}

/* Review cards */
.expert-review__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.expert-review__card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  text-decoration: none;
  transition: all .15s;
}
.expert-review__card:hover {
  border-color: #94a3b8;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.expert-review__card--available {
  border-left: 3px solid var(--clr-primary);
}
.expert-review__card-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}
.expert-review__card-title {
  font-size: .9rem;
  font-weight: 600;
  color: #1e293b;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.expert-review__card-meta {
  font-size: .75rem;
  color: #94a3b8;
}
.expert-review__card-excerpt {
  font-size: .8rem;
  color: #64748b;
  margin: 4px 0 0;
  line-height: 1.4;
}
.expert-review__card-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin-left: 16px;
}

/* Empty state */
.expert-review__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 48px 24px;
  text-align: center;
}
.expert-review__empty svg {
  fill: #94a3b8;
  opacity: .5;
}
.expert-review__empty p {
  font-size: .9rem;
  color: #94a3b8;
  margin: 0;
}

/* ── Inline Review Editor ── */
.inline-review__toolbar-hint {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 10px;
  margin-bottom: 16px;
  font-size: .85rem;
  color: #1e40af;
}
.inline-review__toolbar-hint svg {
  fill: #3b82f6;
  flex-shrink: 0;
}
.inline-review__container {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 20px;
}
.inline-review__article {
  padding: 28px 32px;
  font-size: .95rem;
  line-height: 1.8;
  color: #1a202c;
  position: relative;
  cursor: text;
  user-select: text;
}
.inline-review__article[data-editable="true"] {
  min-height: 200px;
}
.inline-review__article img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.inline-review__article h2,
.inline-review__article h3,
.inline-review__article h4 {
  margin-top: 1.5em;
}

/* Highlight styles */
.inline-review__highlight {
  position: relative;
  cursor: pointer;
  border-radius: 2px;
  transition: background .2s;
}
.inline-review__highlight--comment {
  background: #fef9c3;
  border-bottom: 2px solid #eab308;
}
.inline-review__highlight--comment:hover {
  background: #fef08a;
}
.inline-review__highlight--suggestion {
  background: #fef3c7;
  border-bottom: 2px dashed #f59e0b;
  text-decoration: line-through;
  text-decoration-color: #d97706;
}
.inline-review__highlight--suggestion:hover {
  background: #fde68a;
}
.inline-review__highlight--deletion {
  background: #fee2e2;
  text-decoration: line-through;
  text-decoration-color: #ef4444;
  text-decoration-thickness: 2px;
  color: #991b1b;
}
.inline-review__highlight--deletion:hover {
  background: #fecaca;
}
.inline-review__highlight--flash {
  animation: inlineFlash .8s ease 2;
}
@keyframes inlineFlash {
  0%, 100% { opacity: 1; }
  50% { opacity: .4; }
}

/* Insertion (suggested replacement text) */
.inline-review__insertion {
  background: #dcfce7;
  color: #166534;
  border-bottom: 2px solid #22c55e;
  padding: 0 2px;
  border-radius: 2px;
  cursor: pointer;
}

/* Annotation badge */
.inline-review__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #3b82f6;
  color: #fff;
  font-size: .65rem;
  font-weight: 700;
  margin-right: 2px;
  vertical-align: super;
  line-height: 1;
}

/* Floating toolbar */
.inline-review__floating-toolbar {
  position: absolute;
  z-index: 1000;
  display: flex;
  gap: 2px;
  background: #1e293b;
  border-radius: 8px;
  padding: 4px;
  box-shadow: 0 4px 16px rgba(0,0,0,.2);
}
.inline-review__floating-toolbar button {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  background: transparent;
  border: none;
  color: #f1f5f9;
  font-size: .78rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  border-radius: 6px;
  transition: background .15s;
  white-space: nowrap;
}
.inline-review__floating-toolbar button:hover {
  background: #334155;
}
.inline-review__floating-toolbar button svg {
  fill: currentColor;
}

/* Comment / Suggest input popovers */
.inline-review__comment-input,
.inline-review__suggest-input {
  position: absolute;
  z-index: 1001;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  padding: 14px;
  width: 320px;
  box-shadow: 0 6px 20px rgba(0,0,0,.12);
}
.inline-review__comment-input textarea,
.inline-review__suggest-input textarea {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: .85rem;
  font-family: inherit;
  resize: vertical;
  box-sizing: border-box;
}
.inline-review__comment-input textarea:focus,
.inline-review__suggest-input textarea:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59,130,246,.15);
}
.inline-review__suggest-input label {
  display: block;
  font-size: .78rem;
  font-weight: 600;
  color: #475569;
  margin-bottom: 4px;
  margin-top: 8px;
}
.inline-review__suggest-input label:first-of-type {
  margin-top: 0;
}
.inline-review__suggest-original {
  padding: 6px 10px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 6px;
  font-size: .82rem;
  color: #991b1b;
  text-decoration: line-through;
  margin-bottom: 4px;
}
.inline-review__comment-input-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 8px;
}
.inline-review__comment-btn {
  padding: 6px 14px;
  border: none;
  border-radius: 6px;
  font-size: .8rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
}
.inline-review__comment-btn--cancel {
  background: #f1f5f9;
  color: #475569;
}
.inline-review__comment-btn--cancel:hover {
  background: #e2e8f0;
}
.inline-review__comment-btn--save {
  background: #3b82f6;
  color: #fff;
}
.inline-review__comment-btn--save:hover {
  background: #2563eb;
}

/* Annotations panel */
.inline-review__annotations-panel {
  border-top: 1px solid #e2e8f0;
  padding: 16px 24px;
  background: #fafbfc;
}
.inline-review__panel-empty {
  font-size: .85rem;
  color: #94a3b8;
  font-style: italic;
  text-align: center;
  padding: 12px;
}
.inline-review__panel-title {
  font-size: .9rem;
  font-weight: 700;
  color: #334155;
  margin: 0 0 12px;
}
.inline-review__panel-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.inline-review__panel-item {
  padding: 10px 14px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  cursor: pointer;
  transition: all .15s;
}
.inline-review__panel-item:hover {
  border-color: #94a3b8;
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.inline-review__panel-item--flash {
  animation: panelFlash .6s ease 2;
}
@keyframes panelFlash {
  0%, 100% { background: #fff; }
  50% { background: #eff6ff; }
}
.inline-review__panel-item-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.inline-review__panel-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #3b82f6;
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  flex-shrink: 0;
}
.inline-review__panel-type {
  font-size: .78rem;
  font-weight: 600;
  color: #475569;
}
.inline-review__panel-remove {
  margin-left: auto;
  background: none;
  border: none;
  color: #94a3b8;
  font-size: .85rem;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 4px;
}
.inline-review__panel-remove:hover {
  background: #fee2e2;
  color: #dc2626;
}
.inline-review__panel-quote {
  font-size: .8rem;
  color: #64748b;
  font-style: italic;
  line-height: 1.4;
  margin-bottom: 2px;
}
.inline-review__panel-comment {
  font-size: .82rem;
  color: #1e293b;
  background: #fef9c3;
  padding: 6px 10px;
  border-radius: 6px;
  margin-top: 4px;
  line-height: 1.4;
}
.inline-review__panel-suggestion {
  font-size: .82rem;
  color: #166534;
  background: #dcfce7;
  padding: 6px 10px;
  border-radius: 6px;
  margin-top: 4px;
  line-height: 1.4;
}

/* Author-facing feedback panel */
.inline-review__panel-legend {
  font-size: .8rem;
  color: #64748b;
  line-height: 1.5;
  margin: 0 0 12px;
  padding: 10px 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
.inline-review__panel-item--comment { border-left: 3px solid #eab308; }
.inline-review__panel-item--suggestion { border-left: 3px solid #22c55e; }
.inline-review__panel-item--deletion { border-left: 3px solid #ef4444; }
.inline-review__panel-expert-note {
  font-size: .82rem;
  color: #1e293b;
  background: #eff6ff;
  padding: 8px 12px;
  border-radius: 6px;
  margin-top: 6px;
  line-height: 1.5;
}
.inline-review__panel-expert-note strong {
  color: #235272;
  font-weight: 600;
}
.inline-review__panel-detail {
  margin-top: 4px;
}
.inline-review__panel-detail-row {
  display: flex;
  gap: 8px;
  align-items: baseline;
  margin-bottom: 4px;
  font-size: .82rem;
  line-height: 1.5;
}
.inline-review__panel-detail-label {
  font-weight: 600;
  color: #475569;
  white-space: nowrap;
  flex-shrink: 0;
}
.inline-review__panel-detail-old {
  color: #dc2626;
  text-decoration: line-through;
}
.inline-review__panel-detail-new {
  color: #166534;
  font-weight: 600;
  background: #dcfce7;
  padding: 2px 8px;
  border-radius: 4px;
}
.inline-review__panel-remove-note {
  font-size: .82rem;
  color: #dc2626;
  font-style: italic;
  margin-top: 4px;
}

/* Checkbox & solved state for author feedback */
.inline-review__panel-checkbox {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  flex-shrink: 0;
}
.inline-review__panel-checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #22c55e;
  cursor: pointer;
  margin: 0;
}
.inline-review__panel-item--solved {
  opacity: .55;
  position: relative;
}
.inline-review__panel-item--solved .inline-review__panel-quote,
.inline-review__panel-item--solved .inline-review__panel-detail,
.inline-review__panel-item--solved .inline-review__panel-expert-note {
  text-decoration: line-through;
  text-decoration-color: #94a3b8;
}
.inline-review__panel-progress {
  font-size: .82rem;
  font-weight: 600;
  color: #475569;
  margin-bottom: 12px;
  padding: 6px 12px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  display: flex;
  gap: 4px;
  align-items: center;
}

/* Claude AI button in annotation items */
.inline-review__claude-btn {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #ede9fe, #e0e7ff);
  border: 1px solid #c4b5fd;
  color: #7c3aed;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  cursor: pointer;
  transition: all .2s;
  flex-shrink: 0;
  padding: 0;
}
.inline-review__claude-btn:hover {
  background: linear-gradient(135deg, #ddd6fe, #c7d2fe);
  border-color: #8b5cf6;
  box-shadow: 0 2px 8px rgba(124, 58, 237, .2);
  transform: scale(1.05);
}
.inline-review__claude-btn:active {
  transform: scale(.97);
}
.inline-review__claude-btn--loading {
  pointer-events: none;
  opacity: .6;
  animation: claudeSpin 1s linear infinite;
}
@keyframes claudeSpin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Not-found and approximate match indicators */
.inline-review__panel-item--not-found {
  border-color: #fca5a5 !important;
  background: #fef2f2 !important;
}
.inline-review__panel-item--not-found::after {
  content: 'Text not found';
  display: block;
  font-size: .72rem;
  color: #dc2626;
  margin-top: 4px;
  font-style: italic;
}
.inline-review__panel-item--approx {
  border-color: #fcd34d !important;
  background: #fffbeb !important;
}
.inline-review__panel-item--approx::after {
  content: '⚠ approximate location';
  display: block;
  font-size: .72rem;
  color: #d97706;
  margin-top: 4px;
  font-style: italic;
}

/* Claude AI suggestion popup */
.claude-popup {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.claude-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .4);
  backdrop-filter: blur(2px);
}
.claude-popup__dialog {
  position: relative;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .2);
  max-width: 560px;
  width: 90%;
  max-height: 80vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.claude-popup__header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 20px;
  border-bottom: 1px solid #e2e8f0;
  background: linear-gradient(135deg, #f5f3ff, #eff6ff);
  font-weight: 700;
  font-size: .95rem;
  color: #1e293b;
}
.claude-popup__close {
  margin-left: auto;
  background: none;
  border: none;
  font-size: 1.4rem;
  color: #94a3b8;
  cursor: pointer;
  padding: 0 4px;
  line-height: 1;
}
.claude-popup__close:hover {
  color: #475569;
}
.claude-popup__body {
  padding: 20px;
  overflow-y: auto;
  flex: 1;
}
.claude-popup__suggestion {
  font-size: .92rem;
  line-height: 1.7;
  color: #1e293b;
  white-space: pre-wrap;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 16px;
}
.claude-popup__error {
  font-size: .88rem;
  color: #dc2626;
  background: #fef2f2;
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid #fecaca;
}
.claude-popup__actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding: 14px 20px;
  border-top: 1px solid #e2e8f0;
  background: #f8fafc;
}
.claude-popup__apply {
  background: linear-gradient(135deg, #7c3aed, #6d28d9) !important;
  border-color: #7c3aed !important;
}
.claude-popup__apply:hover {
  background: linear-gradient(135deg, #6d28d9, #5b21b6) !important;
}

/* Expert review: editable title input */
.inline-review__title-edit {
  margin-bottom: 12px;
}
.inline-review__title-label {
  display: block;
  font-size: .8rem;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 4px;
}
.inline-review__title-input {
  width: 100%;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1e293b;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 10px 16px;
  font-family: inherit;
  box-sizing: border-box;
  transition: border-color .2s;
}
.inline-review__title-input:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59,130,246,.1);
}

/* Author: title suggestion card */
.inline-review__title-suggestion {
  background: #fff;
  border: 1px solid #bbf7d0;
  border-left: 3px solid #22c55e;
  border-radius: 10px;
  padding: 14px 18px;
  margin-bottom: 14px;
  transition: opacity .3s;
}
.inline-review__title-suggestion-header {
  margin-bottom: 8px;
  font-size: .88rem;
}
.inline-review__title-suggestion-diff {
  margin-bottom: 10px;
}
.inline-review__title-accept-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-size: .82rem;
  font-weight: 600;
  color: #fff;
  background: #22c55e;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background .2s;
}
.inline-review__title-accept-btn:hover {
  background: #16a34a;
}

/* General comment field */
.inline-review__general-comment {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  font-size: .88rem;
  font-family: inherit;
  resize: vertical;
  min-height: 70px;
  box-sizing: border-box;
  margin-bottom: 12px;
}
.inline-review__general-comment:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59,130,246,.12);
}

/* Action bar */
.inline-review__action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.inline-review__action-left,
.inline-review__action-right {
  display: flex;
  gap: 8px;
}

/* ── Responsive for review ── */
@media (max-width: 640px) {
  .expert-review__type-options {
    grid-template-columns: 1fr;
  }
  .expert-review__card {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .expert-review__card-right {
    margin-left: 0;
    flex-wrap: wrap;
  }
  .expert-review__actions {
    flex-direction: column;
  }
  .expert-review__coauthor-actions {
    flex-direction: column;
  }
  .expert-review__meta {
    flex-direction: column;
    gap: 4px;
  }
}


    /* ── Community Guidelines ── */

    .gl {
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: 40px 24px 80px;
    }

    .gl__container {
      max-width: 720px;
      margin: 0 auto;
    }

    .gl__intro {
      font-size: 1.02rem;
      line-height: 1.75;
      color: var(--clr-text-light);
      margin: 0 0 28px;
    }

    .gl__scope {
      background: #f1f5f9;
      border-left: 3px solid var(--clr-accent);
      padding: 14px 18px;
      border-radius: var(--radius);
      font-size: .9rem;
      line-height: 1.7;
      color: var(--clr-text);
      margin: 0 0 36px;
    }

    .gl__scope strong {
      color: var(--clr-primary);
    }

    .gl__list {
      list-style: none;
      counter-reset: gl-counter;
      padding: 0;
      margin: 0 0 40px;
    }

    .gl__item {
      counter-increment: gl-counter;
      padding: 28px 0;
      border-top: 1px solid var(--clr-border);
    }

    .gl__item:last-child {
      border-bottom: 1px solid var(--clr-border);
    }

    .gl__item h3 {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--clr-primary);
      margin: 0 0 10px;
    }

    .gl__item h3::before {
      content: counter(gl-counter) ". ";
      color: var(--clr-accent);
      font-weight: 800;
    }

    .gl__item p {
      font-size: .9rem;
      line-height: 1.75;
      color: var(--clr-text-light);
      margin: 0;
    }

    .gl__enforcement,
    .gl__sanctions,
    .gl__appeal {
      margin: 0 0 28px;
    }

    .gl__enforcement h3,
    .gl__sanctions h3,
    .gl__appeal h3 {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--clr-primary);
      margin: 0 0 10px;
    }

    .gl__enforcement p,
    .gl__sanctions p,
    .gl__appeal p {
      font-size: .9rem;
      line-height: 1.75;
      color: var(--clr-text-light);
      margin: 0;
    }

    .gl__sanctions ul {
      list-style: none;
      padding: 0;
      margin: 10px 0 0;
    }

    .gl__sanctions ul li {
      position: relative;
      padding: 6px 0 6px 20px;
      font-size: .9rem;
      line-height: 1.7;
      color: var(--clr-text-light);
    }

    .gl__sanctions ul li::before {
      content: "–";
      position: absolute;
      left: 0;
      color: var(--clr-accent);
      font-weight: 700;
    }

    .gl__version {
      font-size: .82rem;
      color: var(--clr-text-light);
      margin: 36px 0 20px;
      padding-top: 20px;
      border-top: 1px solid var(--clr-border);
    }

    .gl__contact {
      background: #f1f5f9;
      border-radius: var(--radius);
      padding: 18px 20px;
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
    }

    .gl__contact p {
      font-size: .9rem;
      color: var(--clr-text);
      margin: 0;
    }

    .gl__contact a {
      font-size: .9rem;
      font-weight: 600;
      color: var(--clr-primary);
      transition: opacity var(--transition);
    }

    .gl__contact a:hover {
      opacity: .7;
    }

    @media (max-width: 600px) {
      .gl { padding: 28px 16px 60px; }
      .gl__contact { flex-direction: column; align-items: flex-start; }
    }

    /* ═══════════════════════════════════════════════════════
       Sensitive Biography – Teaser on Profile
       ═══════════════════════════════════════════════════════ */
    .sbio-teaser {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-top: 18px;
      padding: 16px 20px;
      border-radius: 10px;
      border: 1px solid #e2e8f0;
      background: linear-gradient(135deg, #fefce8 0%, #fff7ed 100%);
    }
    .sbio-teaser > svg {
      flex-shrink: 0;
      fill: #92400e;
      opacity: .8;
    }
    .sbio-teaser__text {
      flex: 1;
    }
    .sbio-teaser__text strong {
      display: block;
      font-size: .9rem;
      color: #78350f;
      margin-bottom: 2px;
    }
    .sbio-teaser__text p {
      font-size: .82rem;
      color: #92400e;
      margin: 0;
      line-height: 1.5;
    }
    .sbio-teaser__btn {
      white-space: nowrap;
      flex-shrink: 0;
      font-size: .82rem;
      border-color: #92400e;
      color: #92400e;
    }
    .sbio-teaser__btn:hover {
      background: #92400e;
      color: #fff;
    }
    @media (max-width: 600px) {
      .sbio-teaser { flex-direction: column; align-items: flex-start; }
      .sbio-teaser__btn { align-self: stretch; text-align: center; }
    }

    /* ═══════════════════════════════════════════════════════
       Sensitive Biography – Full Page
       ═══════════════════════════════════════════════════════ */
    .sbio {
      max-width: 860px;
      margin: 0 auto;
      padding: 32px 0 48px;
    }
    .sbio__header {
      display: flex;
      align-items: center;
      gap: 18px;
      margin-bottom: 24px;
    }
    .sbio__avatar {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      object-fit: cover;
    }
    .sbio__title {
      font-size: 1.4rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 2px;
    }
    .sbio__author {
      font-size: .92rem;
      color: var(--clr-text-light);
      margin: 0 0 6px;
    }
    .sbio__access-badge {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      font-size: .76rem;
      font-weight: 600;
      padding: 3px 10px;
      border-radius: 20px;
      border: 1px solid;
    }
    .sbio__access-badge--expert {
      background: #ecfdf5;
      border-color: #10b981;
      color: #065f46;
    }
    .sbio__access-badge--expert svg { fill: #10b981; }
    .sbio__access-badge--admin {
      background: #eff6ff;
      border-color: #3b82f6;
      color: #1e40af;
    }
    .sbio__access-badge--admin svg { fill: #3b82f6; }
    .sbio__access-badge--institutional {
      background: #fef3c7;
      border-color: #f59e0b;
      color: #78350f;
    }
    .sbio__access-badge--institutional svg { fill: #f59e0b; }
    .sbio__inst-org { font-weight: 400; opacity: .8; }

    .sbio__notice {
      display: flex;
      gap: 12px;
      padding: 16px 20px;
      border-radius: 10px;
      border: 1px solid #fbbf24;
      background: #fffbeb;
      margin-bottom: 28px;
    }
    .sbio__notice > svg {
      flex-shrink: 0;
      fill: #92400e;
      margin-top: 2px;
    }
    .sbio__notice strong {
      display: block;
      font-size: .9rem;
      color: #78350f;
      margin-bottom: 4px;
    }
    .sbio__notice p {
      font-size: .82rem;
      color: #92400e;
      line-height: 1.55;
      margin: 0;
    }

    .sbio__content {
      padding: 28px 32px;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      box-shadow: 0 1px 3px rgba(0,0,0,.06);
    }

    /* Locked state */
    .sbio--locked .sbio__restricted {
      text-align: center;
      padding: 48px 24px;
    }
    .sbio--locked .sbio__restricted > svg {
      fill: var(--clr-text-light);
      opacity: .3;
      margin-bottom: 16px;
    }
    .sbio--locked .sbio__restricted h2 {
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 8px;
    }
    .sbio--locked .sbio__restricted > p {
      font-size: .9rem;
      color: var(--clr-text-light);
      max-width: 540px;
      margin: 0 auto 24px;
      line-height: 1.6;
    }

    .sbio__who-can-access {
      text-align: left;
      max-width: 480px;
      margin: 0 auto 28px;
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      border-radius: 10px;
      padding: 18px 22px;
    }
    .sbio__who-can-access h3 {
      font-size: .88rem;
      font-weight: 600;
      color: var(--clr-text);
      margin: 0 0 10px;
    }
    .sbio__who-can-access ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .sbio__who-can-access li {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: .84rem;
      color: var(--clr-text);
      line-height: 1.5;
      margin-bottom: 8px;
    }
    .sbio__who-can-access li svg {
      flex-shrink: 0;
      fill: var(--clr-primary);
      margin-top: 2px;
    }

    .sbio__login-hint {
      margin-top: 20px;
    }
    .sbio__login-hint p {
      font-size: .88rem;
      color: var(--clr-text-light);
      margin-bottom: 12px;
    }

    .sbio__info {
      font-size: .88rem;
      color: var(--clr-primary);
      font-weight: 500;
      margin-top: 16px;
    }

    .sbio__success {
      text-align: center;
      padding: 60px 24px;
    }
    .sbio__success h2 {
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 16px 0 8px;
    }
    .sbio__success p {
      font-size: .9rem;
      color: var(--clr-text-light);
      max-width: 460px;
      margin: 0 auto;
      line-height: 1.6;
    }

    .sbio__token-error {
      text-align: center;
      padding: 32px 24px;
      margin: 0 24px 24px;
      background: rgba(211, 47, 47, .06);
      border: 1px solid rgba(211, 47, 47, .2);
      border-radius: 12px;
    }
    .sbio__token-error h2 {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--clr-danger, #d32f2f);
      margin: 12px 0 8px;
    }
    .sbio__token-error p {
      font-size: .9rem;
      color: var(--clr-text-light);
      max-width: 480px;
      margin: 0 auto;
      line-height: 1.6;
    }

    /* Institutional request form */
    .sbio__inst-form-section {
      margin-top: 40px;
      padding: 28px 32px;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      background: #f8fafc;
    }
    .sbio__inst-form-section h2 {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--clr-text);
      margin: 0 0 6px;
    }
    .sbio__inst-form-section > p {
      font-size: .86rem;
      color: var(--clr-text-light);
      line-height: 1.55;
      margin: 0 0 20px;
    }
    .sbio__form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }
    .sbio__form-field--full {
      grid-column: 1 / -1;
    }
    .sbio__form-field label {
      display: block;
      font-size: .82rem;
      font-weight: 600;
      color: var(--clr-text);
      margin-bottom: 4px;
    }
    .sbio__form-field input,
    .sbio__form-field select,
    .sbio__form-field textarea {
      width: 100%;
      padding: 8px 12px;
      border: 1px solid #d1d5db;
      border-radius: 8px;
      font-size: .88rem;
      font-family: inherit;
      background: #fff;
      color: var(--clr-text);
      transition: border-color .15s;
    }
    .sbio__form-field input:focus,
    .sbio__form-field select:focus,
    .sbio__form-field textarea:focus {
      outline: none;
      border-color: var(--clr-primary);
      box-shadow: 0 0 0 3px rgba(35,82,114,.1);
    }
    .sbio__submit {
      margin-top: 20px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    @media (max-width: 600px) {
      .sbio__form-grid { grid-template-columns: 1fr; }
      .sbio__inst-form-section { padding: 20px 16px; }
      .sbio__content { padding: 20px 16px; }
    }


/* ═══════════════════════════════════════════════════════════════
   CASE REPORTS — Anonymous Medical Case Reports for Experts
   ═══════════════════════════════════════════════════════════════ */

/* ── Listing Page ─────────────────────────────────────────── */
.case-reports { max-width: 960px; margin: 0 auto; padding: 40px 0 60px; }
.case-reports__header { text-align: center; margin-bottom: 24px; }
.case-reports__title { font-size: 2rem; font-weight: 700; color: var(--clr-heading); margin-bottom: 8px; }
.case-reports__subtitle { color: var(--clr-muted); font-size: 1.05rem; }

.case-reports__disclaimer {
  display: flex; gap: 12px; align-items: flex-start;
  background: #fff3cd; border: 1px solid #ffc107; border-radius: 8px;
  padding: 16px 20px; margin-bottom: 24px; font-size: .9rem; color: #664d03;
}
.case-reports__disclaimer svg { flex-shrink: 0; margin-top: 1px; color: #b58900; }

.case-reports__success {
  background: #d1e7dd; border: 1px solid #badbcc; border-radius: 8px;
  padding: 14px 20px; margin-bottom: 20px; color: #0f5132; font-size: .95rem;
}

.case-reports__gate {
  text-align: center; padding: 60px 20px; border: 2px dashed var(--clr-border);
  border-radius: 12px; margin: 40px 0;
}
.case-reports__gate svg { color: var(--clr-muted); margin-bottom: 16px; }
.case-reports__gate h2 { font-size: 1.4rem; color: var(--clr-heading); margin-bottom: 8px; }
.case-reports__gate p { color: var(--clr-muted); max-width: 500px; margin: 0 auto; }
.case-reports__gate-gov { font-size: .85rem; margin-top: 12px; font-style: italic; }
.case-reports__submit-cta { text-align: center; margin: 24px 0; }

.case-reports__toolbar {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 24px; flex-wrap: wrap; gap: 12px;
}
.case-reports__filters { display: flex; gap: 8px; flex-wrap: wrap; }
.case-reports__filter {
  padding: 6px 14px; border-radius: 20px; font-size: .85rem; text-decoration: none;
  color: var(--clr-body); background: var(--clr-bg-alt, #f5f5f5); border: 1px solid var(--clr-border);
  transition: all .15s ease;
}
.case-reports__filter:hover { border-color: var(--clr-primary); color: var(--clr-primary); }
.case-reports__filter--active {
  background: var(--clr-primary); color: #fff; border-color: var(--clr-primary);
}

.case-reports__my-cases { margin-bottom: 32px; }
.case-reports__my-cases h3 { font-size: 1.1rem; margin-bottom: 12px; color: var(--clr-heading); }

.case-reports__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}

.case-reports__empty { text-align: center; color: var(--clr-muted); padding: 40px 0; }

.case-reports__pagination {
  display: flex; justify-content: center; align-items: center; gap: 16px;
  margin-top: 32px;
}
.case-reports__page-info { color: var(--clr-muted); font-size: .9rem; }

.case-reports__govt-notice {
  display: flex; align-items: center; gap: 8px; font-size: .85rem;
  color: var(--clr-muted); margin-top: 24px; padding: 12px 16px;
  background: var(--clr-bg-alt, #f5f5f5); border-radius: 8px;
}

/* ── Case Cards ───────────────────────────────────────────── */
.case-card {
  display: block; text-decoration: none; color: inherit;
  background: var(--clr-bg-card, #fff); border: 1px solid var(--clr-border);
  border-radius: 10px; padding: 20px; transition: box-shadow .2s ease, border-color .2s ease;
}
.case-card:hover {
  border-color: var(--clr-primary); box-shadow: 0 4px 16px rgba(0,0,0,.08);
}
.case-card--draft { border-left: 3px solid #ffc107; opacity: .85; }

.case-card__type {
  display: inline-block; font-size: .75rem; font-weight: 600; text-transform: uppercase;
  padding: 3px 10px; border-radius: 12px; margin-bottom: 10px; letter-spacing: .03em;
}
.case-card__type--transpersonal { background: #e8d5f5; color: #6b21a8; }
.case-card__type--psychosomatic { background: #d1ecf1; color: #0c5460; }
.case-card__type--rare_physiological { background: #fce4ec; color: #880e4f; }
.case-card__type--consciousness_related { background: #e0f2f1; color: #004d40; }
.case-card__type--unclassified { background: #f5f5f5; color: #666; }

.case-card__status {
  display: inline-block; font-size: .7rem; font-weight: 600; text-transform: uppercase;
  padding: 2px 8px; border-radius: 8px; margin-bottom: 8px;
}
.case-card__status--draft { background: #fff3cd; color: #664d03; }
.case-card__status--pending_review { background: #cfe2ff; color: #084298; }

.case-card__title { font-size: 1.1rem; font-weight: 600; color: var(--clr-heading); margin-bottom: 8px; line-height: 1.4; }
.case-card__excerpt { font-size: .9rem; color: var(--clr-muted); line-height: 1.5; margin-bottom: 12px; }
.case-card__meta { display: flex; flex-wrap: wrap; gap: 8px; font-size: .8rem; color: var(--clr-muted); }
.case-card__tags { font-style: italic; }
.case-card__interest { font-weight: 500; }
.case-card__actions { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--clr-border-light, #eee); }

/* ── Case Detail Page ─────────────────────────────────────── */
.case-detail { max-width: 780px; margin: 0 auto; padding: 32px 0 60px; }
.case-detail__back {
  display: inline-block; margin-bottom: 20px; font-size: .9rem; color: var(--clr-primary);
  text-decoration: none;
}
.case-detail__back:hover { text-decoration: underline; }

.case-detail__withdrawn {
  background: #f8d7da; border: 1px solid #f5c2c7; border-radius: 8px;
  padding: 14px 20px; color: #842029; margin-bottom: 20px;
}

.case-detail__disclaimer {
  display: flex; gap: 10px; align-items: center;
  background: #fff3cd; border: 1px solid #ffc107; border-radius: 8px;
  padding: 12px 16px; margin-bottom: 24px; font-size: .85rem; color: #664d03;
}
.case-detail__disclaimer svg { flex-shrink: 0; color: #b58900; }

.case-detail__header { margin-bottom: 28px; }
.case-detail__title { font-size: 1.8rem; font-weight: 700; color: var(--clr-heading); margin: 12px 0 8px; line-height: 1.3; }
.case-detail__meta { font-size: .85rem; color: var(--clr-muted); }

.case-detail__actions { margin-bottom: 24px; display: flex; gap: 12px; align-items: center; }
.case-detail__interested { color: #198754; font-weight: 600; font-size: .9rem; }

.case-detail__section {
  margin-bottom: 32px; padding-bottom: 24px;
  border-bottom: 1px solid var(--clr-border);
}
.case-detail__section:last-child { border-bottom: none; }
.case-detail__section h2 { font-size: 1.15rem; font-weight: 600; color: var(--clr-heading); margin-bottom: 12px; }
.case-detail__section--highlight {
  background: var(--clr-bg-alt, #f8f9fa); border-radius: 8px; padding: 20px;
  border: 1px solid var(--clr-border); border-bottom: 1px solid var(--clr-border);
}
.case-detail__section--expert {
  background: #f0f4ff; border: 1px solid #b6d0fe; border-radius: 10px; padding: 24px;
  border-bottom: 1px solid #b6d0fe;
}
.case-detail__body { font-size: .95rem; line-height: 1.7; color: var(--clr-body); }
.case-detail__hint { font-size: .85rem; color: var(--clr-muted); margin-bottom: 16px; }
.case-detail__hint--secure { display: flex; gap: 6px; align-items: center; }
.case-detail__empty { font-size: .9rem; color: var(--clr-muted); font-style: italic; }

.case-detail__table { width: 100%; border-collapse: collapse; }
.case-detail__table th { text-align: left; font-weight: 500; color: var(--clr-muted); padding: 8px 12px 8px 0; font-size: .85rem; }
.case-detail__table td { padding: 8px 0; font-size: .95rem; }
.case-detail__table--full { border: 1px solid var(--clr-border); border-radius: 8px; }
.case-detail__table--full th,
.case-detail__table--full td { padding: 10px 14px; border-bottom: 1px solid var(--clr-border); }
.case-detail__table--full thead th { background: var(--clr-bg-alt, #f8f9fa); font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; }
.case-detail__table--full tr:last-child td { border-bottom: none; }
.case-detail__table-wrap { overflow-x: auto; }

.case-detail__severity { font-weight: 600; padding: 2px 8px; border-radius: 8px; font-size: .8rem; }
.case-detail__severity--low { background: #d1e7dd; color: #0f5132; }
.case-detail__severity--mid { background: #fff3cd; color: #664d03; }
.case-detail__severity--high { background: #f8d7da; color: #842029; }

.case-detail__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.case-detail__tag {
  display: inline-block; background: var(--clr-bg-alt, #f0f0f0); color: var(--clr-body);
  padding: 4px 12px; border-radius: 14px; font-size: .8rem; font-weight: 500;
}

/* ── Expert Discussion ────────────────────────────────────── */
.case-discuss__list { margin-bottom: 20px; }
.case-discuss__comment {
  padding: 16px; border-radius: 8px; margin-bottom: 12px;
  background: #fff; border: 1px solid #d0d7e3;
}
.case-discuss__meta { display: flex; gap: 12px; align-items: center; margin-bottom: 8px; font-size: .85rem; flex-wrap: wrap; }
.case-discuss__meta strong { color: var(--clr-heading); }
.case-discuss__meta time { color: var(--clr-muted); }
.case-discuss__role { font-size: .75rem; background: #e8d5f5; color: #6b21a8; padding: 2px 8px; border-radius: 10px; }
.case-discuss__body { font-size: .93rem; line-height: 1.6; color: var(--clr-body); }
.case-discuss__form textarea {
  width: 100%; border: 1px solid var(--clr-border); border-radius: 8px;
  padding: 12px; font-size: .95rem; font-family: inherit; resize: vertical;
  margin-bottom: 10px; min-height: 80px;
}
.case-discuss__form textarea:focus { outline: none; border-color: var(--clr-primary); box-shadow: 0 0 0 3px rgba(35,82,114,.12); }

/* ── Data Requests ────────────────────────────────────────── */
.case-data__list { margin-bottom: 20px; }
.case-data__item {
  padding: 16px; border-radius: 8px; margin-bottom: 12px;
  background: #fff; border: 1px solid var(--clr-border);
}
.case-data__item--answered { border-left: 3px solid #198754; }
.case-data__item--declined { border-left: 3px solid #dc3545; opacity: .7; }
.case-data__item--pending  { border-left: 3px solid #ffc107; }
.case-data__header { display: flex; gap: 10px; align-items: center; margin-bottom: 8px; font-size: .85rem; flex-wrap: wrap; }
.case-data__header strong { color: var(--clr-heading); }
.case-data__type { font-size: .75rem; background: #e9ecef; padding: 2px 8px; border-radius: 10px; }
.case-data__status {
  font-size: .7rem; font-weight: 600; text-transform: uppercase;
  padding: 2px 8px; border-radius: 8px;
}
.case-data__body { font-size: .93rem; line-height: 1.5; color: var(--clr-body); margin-bottom: 10px; }
.case-data__response {
  background: #d1e7dd; border-radius: 6px; padding: 12px; margin-top: 10px; font-size: .9rem;
}
.case-data__declined { color: #dc3545; font-size: .85rem; font-style: italic; margin-top: 8px; }
.case-data__actions { margin-top: 12px; }
.case-data__respond-form textarea {
  width: 100%; border: 1px solid var(--clr-border); border-radius: 6px;
  padding: 10px; font-size: .9rem; font-family: inherit; resize: vertical;
  margin-bottom: 8px;
}
.case-data__btns { display: flex; gap: 8px; }
.case-data__form { margin-top: 16px; }
.case-data__new { display: flex; flex-direction: column; gap: 10px; }
.case-data__new select {
  padding: 8px 12px; border: 1px solid var(--clr-border); border-radius: 6px;
  font-size: .9rem; max-width: 250px;
}
.case-data__new textarea {
  width: 100%; border: 1px solid var(--clr-border); border-radius: 6px;
  padding: 10px; font-size: .9rem; font-family: inherit; resize: vertical;
}

/* ── Case Submission Page ─────────────────────────────────── */
.case-submit { max-width: 720px; margin: 0 auto; padding: 32px 0 60px; }
.case-submit__title { font-size: 1.8rem; font-weight: 700; color: var(--clr-heading); margin-bottom: 8px; }
.case-submit__intro { color: var(--clr-muted); margin-bottom: 20px; font-size: .95rem; }

.case-submit__notice {
  display: flex; gap: 10px; align-items: center;
  background: #e0f2f1; border: 1px solid #80cbc4; border-radius: 8px;
  padding: 14px 18px; margin-bottom: 24px; font-size: .9rem; color: #004d40;
}
.case-submit__notice svg { flex-shrink: 0; color: #00897b; }
.case-submit__success { background: #d1e7dd; border: 1px solid #badbcc; border-radius: 8px; padding: 14px 20px; margin-bottom: 20px; color: #0f5132; }

.case-submit__form { display: flex; flex-direction: column; gap: 20px; }
.case-submit__field { display: flex; flex-direction: column; gap: 6px; }
.case-submit__field label { font-weight: 500; font-size: .9rem; color: var(--clr-heading); }
.case-submit__field input[type="text"],
.case-submit__field textarea,
.case-submit__field select {
  padding: 10px 14px; border: 1px solid var(--clr-border); border-radius: 8px;
  font-size: .95rem; font-family: inherit; transition: border-color .15s;
}
.case-submit__field input:focus,
.case-submit__field textarea:focus,
.case-submit__field select:focus {
  outline: none; border-color: var(--clr-primary); box-shadow: 0 0 0 3px rgba(35,82,114,.1);
}
.case-submit__field--half { flex: 1; min-width: 200px; }

.case-submit__fieldset {
  border: 1px solid var(--clr-border); border-radius: 10px; padding: 20px;
}
.case-submit__fieldset legend { font-weight: 600; font-size: .95rem; color: var(--clr-heading); padding: 0 8px; }
.case-submit__row { display: flex; gap: 16px; flex-wrap: wrap; }

/* Symptom log rows */
.case-submit__hint {
  font-size: .85rem; color: var(--clr-text-muted, #6c757d); margin: 0 0 12px;
}
.case-submit__symptom-header {
  display: flex; gap: 8px; margin-bottom: 6px; font-size: .78rem;
  font-weight: 600; color: var(--clr-text-muted, #6c757d); text-transform: uppercase; letter-spacing: .03em;
}
.case-submit__symptom-header .case-submit__symptom-rm { width: 72px; flex-shrink: 0; }
.case-submit__symptom-row {
  display: flex; gap: 8px; align-items: center; margin-bottom: 8px; flex-wrap: wrap;
}
.case-submit__symptom-input { flex: 2; min-width: 120px; }
.case-submit__symptom-sm { flex: 1; min-width: 80px; }
.case-submit__symptom-xs { width: 60px; }
.case-submit__symptom-row input,
.case-submit__symptom-row select {
  padding: 8px 10px; border: 1px solid var(--clr-border); border-radius: 6px;
  font-size: .85rem; font-family: inherit; background: var(--clr-bg, #fff);
  color: inherit;
}
.case-submit__symptom-row input:focus,
.case-submit__symptom-row select:focus {
  outline: none; border-color: var(--clr-primary);
}
.case-submit__severity-range {
  width: 60px; cursor: pointer; padding: 0; border: none; vertical-align: middle;
}
.case-submit__severity-val {
  display: inline-block; width: 22px; text-align: center; font-weight: 600;
  font-size: .85rem; color: var(--clr-heading);
}

/* Consent */
.case-submit__consent { background: var(--clr-bg-alt, #f8f9fa); }
.case-submit__consent-label { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; cursor: pointer; }
.case-submit__consent-label input { margin-top: 3px; flex-shrink: 0; }

.case-submit__actions { display: flex; gap: 12px; margin-top: 8px; }

.btn--danger { color: #dc3545; border-color: #dc3545; }
.btn--danger:hover { background: #dc3545; color: #fff; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 700px) {
  .case-reports__grid { grid-template-columns: 1fr; }
  .case-reports__toolbar { flex-direction: column; align-items: flex-start; }
  .case-submit__symptom-header { display: none; }
  .case-submit__symptom-row { flex-direction: column; }
  .case-submit__symptom-input,
  .case-submit__symptom-sm { min-width: 100%; }
  .case-submit__row { flex-direction: column; }
  .case-detail__title { font-size: 1.4rem; }
}
