/* roulang page: index */
:root {
      --color-primary: #8f3f4a;
      --color-primary-dark: #6f2f39;
      --color-primary-soft: #f8e8e6;
      --color-accent: #d98762;
      --color-accent-dark: #bd6844;
      --color-green: #4d7565;
      --color-bg: #fffaf6;
      --color-bg-soft: #f7efe8;
      --color-card: #ffffff;
      --color-dark: #2d2424;
      --color-text: #463839;
      --color-muted: #7c6a68;
      --color-border: #eadbd4;
      --shadow-sm: 0 8px 22px rgba(74, 46, 42, 0.08);
      --shadow-md: 0 16px 42px rgba(74, 46, 42, 0.14);
      --shadow-lg: 0 24px 70px rgba(74, 46, 42, 0.18);
      --radius-sm: 10px;
      --radius-md: 16px;
      --radius-lg: 24px;
      --radius-xl: 34px;
      --space-section: 88px;
      --container-pad: 18px;
      --ease: all .24s ease;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      color: var(--color-text);
      background:
        radial-gradient(circle at top left, rgba(217, 135, 98, .16), transparent 35%),
        linear-gradient(180deg, #fffaf6 0%, #fff8f2 46%, #f8efe8 100%);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
      font-size: 16px;
      line-height: 1.75;
      overflow-x: hidden;
    }

    a {
      color: inherit;
      text-decoration: none;
      transition: var(--ease);
    }

    a:hover,
    a:focus {
      color: var(--color-primary);
    }

    img {
      max-width: 100%;
      height: auto;
      display: block;
    }

    button,
    input,
    textarea,
    select {
      font: inherit;
    }

    input,
    textarea,
    select {
      width: 100%;
      border: 1px solid var(--color-border);
      border-radius: 14px;
      background: #fff;
      color: var(--color-dark);
      box-shadow: none;
      transition: var(--ease);
    }

    input:focus,
    textarea:focus,
    select:focus {
      outline: none;
      border-color: rgba(143, 63, 74, .65);
      box-shadow: 0 0 0 4px rgba(143, 63, 74, .12);
    }

    textarea {
      min-height: 118px;
      resize: vertical;
    }

    .site-wrap {
      min-height: 100vh;
    }

    .page-container {
      width: min(1180px, calc(100% - 36px));
      margin: 0 auto;
    }

    .section {
      padding: var(--space-section) 0;
      position: relative;
    }

    .section-tight {
      padding: 56px 0;
    }

    .section-heading {
      max-width: 760px;
      margin-bottom: 34px;
    }

    .section-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 12px;
      border-radius: 999px;
      background: rgba(143, 63, 74, .09);
      color: var(--color-primary);
      font-size: 14px;
      font-weight: 700;
      letter-spacing: .02em;
      margin-bottom: 14px;
    }

    .section h2 {
      margin: 0 0 14px;
      color: var(--color-dark);
      font-size: clamp(28px, 3vw, 42px);
      line-height: 1.25;
      letter-spacing: -0.02em;
      font-weight: 800;
    }

    .section-desc {
      color: var(--color-muted);
      font-size: 17px;
      margin: 0;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: rgba(255, 250, 246, .88);
      backdrop-filter: blur(18px);
      border-bottom: 1px solid rgba(234, 219, 212, .82);
      box-shadow: 0 8px 24px rgba(75, 48, 43, .05);
    }

    .nav-inner {
      min-height: 78px;
      display: grid;
      grid-template-columns: 260px minmax(280px, 1fr) auto;
      align-items: center;
      gap: 20px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
    }

    .brand-mark {
      width: 44px;
      height: 44px;
      border-radius: 16px;
      background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 12px 26px rgba(143, 63, 74, .28);
      flex: 0 0 auto;
    }

    .brand-name {
      display: block;
      color: var(--color-dark);
      font-size: 16px;
      font-weight: 900;
      line-height: 1.22;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 190px;
    }

    .brand-note {
      display: block;
      color: var(--color-muted);
      font-size: 12px;
      margin-top: 2px;
      white-space: nowrap;
    }

    .nav-search {
      position: relative;
    }

    .nav-search i {
      position: absolute;
      left: 18px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--color-muted);
      pointer-events: none;
    }

    .nav-search input {
      height: 48px;
      padding: 0 18px 0 46px;
      border-radius: 999px;
      background: #fff;
      box-shadow: var(--shadow-sm);
      border-color: rgba(234, 219, 212, .88);
    }

    .nav-search input::placeholder {
      color: #aa9894;
    }

    .nav-menu {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
      margin: 0;
      list-style: none;
    }

    .nav-link {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 10px 14px;
      border-radius: 999px;
      color: var(--color-text);
      font-weight: 700;
      font-size: 14px;
      white-space: nowrap;
    }

    .nav-link:hover {
      background: var(--color-primary-soft);
      color: var(--color-primary-dark);
    }

    .nav-link.active {
      color: #fff;
      background: var(--color-primary);
      box-shadow: 0 10px 22px rgba(143, 63, 74, .22);
    }

    .menu-toggle {
      display: none;
      width: 44px;
      height: 44px;
      border: 0;
      border-radius: 14px;
      color: var(--color-primary);
      background: var(--color-primary-soft);
      cursor: pointer;
      transition: var(--ease);
    }

    .menu-toggle:hover,
    .menu-toggle:focus {
      background: #f3d8d4;
      outline: none;
      transform: translateY(-1px);
    }

    .hero {
      padding: 86px 0 70px;
      position: relative;
      overflow: hidden;
    }

    .hero::before {
      content: "";
      position: absolute;
      width: 520px;
      height: 520px;
      right: -170px;
      top: -110px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(143, 63, 74, .16), transparent 65%);
      pointer-events: none;
    }

    .hero::after {
      content: "";
      position: absolute;
      width: 260px;
      height: 260px;
      left: -90px;
      bottom: 20px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(77, 117, 101, .14), transparent 66%);
      pointer-events: none;
    }

    .hero-grid {
      position: relative;
      z-index: 1;
      align-items: center;
    }

    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      color: var(--color-primary-dark);
      background: rgba(255, 255, 255, .76);
      border: 1px solid rgba(234, 219, 212, .95);
      border-radius: 999px;
      padding: 8px 14px;
      font-weight: 800;
      font-size: 14px;
      box-shadow: var(--shadow-sm);
      margin-bottom: 22px;
    }

    .hero h1 {
      color: var(--color-dark);
      font-size: clamp(40px, 5.2vw, 66px);
      line-height: 1.08;
      letter-spacing: -0.045em;
      font-weight: 900;
      margin: 0 0 22px;
    }

    .hero h1 span {
      color: var(--color-primary);
    }

    .hero-lead {
      color: var(--color-muted);
      font-size: clamp(17px, 2vw, 20px);
      line-height: 1.85;
      max-width: 720px;
      margin: 0 0 30px;
    }

    .hero-actions,
    .cta-actions {
      display: flex;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
    }

    .btn-modern {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      min-height: 48px;
      padding: 13px 22px;
      border-radius: 999px;
      font-weight: 800;
      border: 1px solid transparent;
      cursor: pointer;
      transition: var(--ease);
      line-height: 1.2;
    }

    .btn-primary {
      color: #fff;
      background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
      box-shadow: 0 14px 30px rgba(143, 63, 74, .24);
    }

    .btn-primary:hover,
    .btn-primary:focus {
      color: #fff;
      transform: translateY(-2px);
      box-shadow: 0 20px 42px rgba(143, 63, 74, .32);
      outline: none;
    }

    .btn-secondary {
      color: var(--color-primary-dark);
      background: #fff;
      border-color: rgba(143, 63, 74, .18);
      box-shadow: var(--shadow-sm);
    }

    .btn-secondary:hover,
    .btn-secondary:focus {
      color: var(--color-primary-dark);
      background: var(--color-primary-soft);
      transform: translateY(-2px);
      outline: none;
    }

    .hero-panel {
      position: relative;
      background: rgba(255, 255, 255, .76);
      border: 1px solid rgba(234, 219, 212, .92);
      border-radius: var(--radius-xl);
      box-shadow: var(--shadow-lg);
      padding: 28px;
      overflow: hidden;
    }

    .hero-panel::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(135deg, rgba(143, 63, 74, .08), transparent 38%),
        radial-gradient(circle at 85% 18%, rgba(217, 135, 98, .22), transparent 30%);
      pointer-events: none;
    }

    .insight-card {
      position: relative;
      background: #fff;
      border: 1px solid var(--color-border);
      border-radius: 22px;
      padding: 22px;
      box-shadow: var(--shadow-sm);
      margin-bottom: 16px;
      transition: var(--ease);
    }

    .insight-card:hover {
      transform: translateY(-2px);
      box-shadow: var(--shadow-md);
    }

    .insight-top {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 14px;
      margin-bottom: 12px;
    }

    .insight-title {
      margin: 0;
      color: var(--color-dark);
      font-size: 18px;
      font-weight: 900;
    }

    .pill {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 5px 10px;
      border-radius: 999px;
      background: var(--color-primary-soft);
      color: var(--color-primary-dark);
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }

    .progress-track {
      width: 100%;
      height: 9px;
      border-radius: 999px;
      background: #f2e5df;
      overflow: hidden;
      margin: 14px 0 10px;
    }

    .progress-fill {
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
    }

    .micro-list {
      margin: 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 10px;
    }

    .micro-list li {
      display: flex;
      gap: 10px;
      color: var(--color-muted);
      font-size: 14px;
    }

    .micro-list i {
      color: var(--color-green);
      margin-top: 6px;
    }

    .stats-band {
      margin-top: -18px;
      position: relative;
      z-index: 2;
    }

    .stat-card {
      height: 100%;
      padding: 24px;
      background: rgba(255, 255, 255, .86);
      border: 1px solid rgba(234, 219, 212, .9);
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow-sm);
      transition: var(--ease);
    }

    .stat-card:hover {
      transform: translateY(-2px);
      box-shadow: var(--shadow-md);
    }

    .stat-number {
      color: var(--color-primary);
      font-size: 34px;
      line-height: 1;
      font-weight: 900;
      letter-spacing: -0.03em;
      margin-bottom: 9px;
    }

    .stat-label {
      color: var(--color-dark);
      font-weight: 900;
      margin-bottom: 4px;
    }

    .stat-text {
      color: var(--color-muted);
      font-size: 14px;
      margin: 0;
    }

    .category-entry {
      background: var(--color-dark);
      color: #fff;
      border-radius: var(--radius-xl);
      padding: 34px;
      box-shadow: var(--shadow-lg);
      overflow: hidden;
      position: relative;
    }

    .category-entry::after {
      content: "";
      position: absolute;
      width: 260px;
      height: 260px;
      border-radius: 50%;
      right: -90px;
      top: -100px;
      background: rgba(217, 135, 98, .28);
    }

    .category-entry h3 {
      position: relative;
      z-index: 1;
      font-size: clamp(25px, 3vw, 38px);
      line-height: 1.25;
      margin: 0 0 12px;
      font-weight: 900;
      color: #fff;
    }

    .category-entry p {
      position: relative;
      z-index: 1;
      max-width: 720px;
      color: rgba(255, 255, 255, .76);
      margin-bottom: 20px;
    }

    .tag-row {
      position: relative;
      z-index: 1;
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin: 18px 0 24px;
    }

    .tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 7px 12px;
      border-radius: 999px;
      background: rgba(255, 255, 255, .12);
      color: rgba(255, 255, 255, .9);
      border: 1px solid rgba(255, 255, 255, .16);
      font-size: 13px;
      font-weight: 800;
    }

    .service-grid .cell:nth-child(2) .service-card {
      transform: translateY(24px);
    }

    .service-card {
      height: 100%;
      padding: 28px;
      border-radius: var(--radius-lg);
      background: #fff;
      border: 1px solid var(--color-border);
      box-shadow: var(--shadow-sm);
      transition: var(--ease);
      position: relative;
      overflow: hidden;
    }

    .service-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-md);
      border-color: rgba(143, 63, 74, .28);
    }

    .service-card.featured {
      background: linear-gradient(145deg, #fff, #fff4ee);
      border-color: rgba(217, 135, 98, .35);
    }

    .service-icon {
      width: 52px;
      height: 52px;
      border-radius: 18px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: var(--color-primary-soft);
      color: var(--color-primary);
      font-size: 20px;
      margin-bottom: 18px;
    }

    .service-card h3 {
      color: var(--color-dark);
      font-size: 21px;
      line-height: 1.35;
      margin: 0 0 10px;
      font-weight: 900;
    }

    .service-card p {
      color: var(--color-muted);
      margin: 0 0 16px;
      font-size: 15px;
    }

    .service-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .service-tags span {
      padding: 5px 9px;
      border-radius: 999px;
      background: #f7eee8;
      color: var(--color-primary-dark);
      font-size: 12px;
      font-weight: 800;
    }

    .compare-box {
      background: #fff;
      border: 1px solid var(--color-border);
      border-radius: var(--radius-xl);
      box-shadow: var(--shadow-md);
      overflow: hidden;
    }

    .compare-side {
      padding: 34px;
      height: 100%;
    }

    .compare-before {
      background: #fff;
    }

    .compare-after {
      background: linear-gradient(145deg, #3c3030, #6f2f39);
      color: #fff;
    }

    .compare-side h3 {
      margin: 0 0 20px;
      font-size: 24px;
      font-weight: 900;
      color: inherit;
    }

    .compare-list {
      margin: 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 14px;
    }

    .compare-list li {
      display: flex;
      gap: 12px;
      align-items: flex-start;
    }

    .compare-before .compare-list i {
      color: #b98d7b;
    }

    .compare-after .compare-list i {
      color: #ffd1bd;
    }

    .method-step {
      height: 100%;
      padding: 26px;
      border-radius: var(--radius-lg);
      background: rgba(255, 255, 255, .78);
      border: 1px solid rgba(234, 219, 212, .92);
      box-shadow: var(--shadow-sm);
      position: relative;
      transition: var(--ease);
    }

    .method-step:hover {
      transform: translateY(-3px);
      box-shadow: var(--shadow-md);
    }

    .step-num {
      width: 42px;
      height: 42px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 14px;
      background: var(--color-dark);
      color: #fff;
      font-weight: 900;
      margin-bottom: 18px;
    }

    .method-step h3 {
      margin: 0 0 9px;
      color: var(--color-dark);
      font-size: 20px;
      font-weight: 900;
    }

    .method-step p {
      margin: 0;
      color: var(--color-muted);
      font-size: 15px;
    }

    .content-card {
      display: flex;
      flex-direction: column;
      height: 100%;
      background: #fff;
      border-radius: var(--radius-lg);
      border: 1px solid var(--color-border);
      box-shadow: var(--shadow-sm);
      overflow: hidden;
      transition: var(--ease);
    }

    .content-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-md);
    }

    .content-visual {
      height: 132px;
      background:
        linear-gradient(135deg, rgba(143, 63, 74, .88), rgba(217, 135, 98, .76)),
        radial-gradient(circle at 85% 30%, rgba(255, 255, 255, .32), transparent 30%);
      position: relative;
    }

    .content-visual::before,
    .content-visual::after {
      content: "";
      position: absolute;
      border: 1px solid rgba(255, 255, 255, .36);
      border-radius: 999px;
    }

    .content-visual::before {
      width: 92px;
      height: 92px;
      right: 26px;
      top: 22px;
    }

    .content-visual::after {
      width: 44px;
      height: 44px;
      left: 30px;
      bottom: 24px;
    }

    .content-body {
      padding: 24px;
      flex: 1;
      display: flex;
      flex-direction: column;
    }

    .content-meta {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-bottom: 12px;
    }

    .badge-soft {
      display: inline-flex;
      padding: 5px 9px;
      border-radius: 999px;
      background: var(--color-primary-soft);
      color: var(--color-primary-dark);
      font-size: 12px;
      font-weight: 800;
    }

    .content-body h3 {
      margin: 0 0 10px;
      color: var(--color-dark);
      font-size: 20px;
      line-height: 1.38;
      font-weight: 900;
    }

    .content-body p {
      color: var(--color-muted);
      font-size: 15px;
      margin: 0 0 18px;
    }

    .read-link {
      margin-top: auto;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--color-primary);
      font-weight: 900;
    }

    .read-link:hover {
      gap: 12px;
      color: var(--color-primary-dark);
    }

    .faq-shell {
      background: rgba(255, 255, 255, .72);
      border: 1px solid rgba(234, 219, 212, .9);
      border-radius: var(--radius-xl);
      box-shadow: var(--shadow-md);
      padding: 12px;
    }

    .accordion {
      margin: 0;
      background: transparent;
    }

    .accordion-item {
      border-bottom: 1px solid var(--color-border);
    }

    .accordion-item:last-child {
      border-bottom: none;
    }

    .accordion-title {
      border: 0 !important;
      background: transparent !important;
      color: var(--color-dark) !important;
      font-size: 17px;
      font-weight: 900;
      padding: 22px 48px 22px 18px;
      line-height: 1.45;
    }

    .accordion-title:hover,
    .accordion-title:focus {
      color: var(--color-primary) !important;
      outline: none;
    }

    .accordion-title::before {
      color: var(--color-primary);
      font-weight: 900;
      margin-top: -10px;
    }

    .accordion-content {
      border: 0 !important;
      background: transparent !important;
      color: var(--color-muted);
      padding: 0 18px 22px;
      line-height: 1.8;
    }

    .contact-panel {
      background: linear-gradient(145deg, #fff, #fff3ed);
      border: 1px solid rgba(217, 135, 98, .26);
      border-radius: var(--radius-xl);
      box-shadow: var(--shadow-lg);
      overflow: hidden;
    }

    .contact-copy {
      height: 100%;
      padding: 40px;
      background:
        radial-gradient(circle at 20% 18%, rgba(255, 255, 255, .34), transparent 34%),
        linear-gradient(145deg, var(--color-primary-dark), var(--color-primary));
      color: #fff;
    }

    .contact-copy h2 {
      color: #fff;
      margin: 0 0 14px;
      font-size: clamp(28px, 3vw, 42px);
      font-weight: 900;
      line-height: 1.26;
    }

    .contact-copy p {
      color: rgba(255, 255, 255, .78);
      margin-bottom: 24px;
    }

    .privacy-list {
      margin: 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 12px;
    }

    .privacy-list li {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      color: rgba(255, 255, 255, .88);
    }

    .privacy-list i {
      margin-top: 5px;
      color: #ffd6c6;
    }

    .contact-form {
      padding: 34px;
    }

    .form-label {
      color: var(--color-dark);
      font-weight: 900;
      margin-bottom: 7px;
    }

    .form-hint {
      color: var(--color-muted);
      font-size: 13px;
      margin: 12px 0 0;
    }

    .cta-strip {
      padding: 42px;
      border-radius: var(--radius-xl);
      background:
        linear-gradient(135deg, rgba(45, 36, 36, .96), rgba(111, 47, 57, .94)),
        radial-gradient(circle at right top, rgba(217, 135, 98, .55), transparent 34%);
      color: #fff;
      box-shadow: var(--shadow-lg);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 26px;
    }

    .cta-strip h2 {
      color: #fff;
      margin: 0 0 8px;
      font-size: clamp(26px, 3vw, 38px);
      font-weight: 900;
    }

    .cta-strip p {
      color: rgba(255, 255, 255, .76);
      margin: 0;
      max-width: 720px;
    }

    .site-footer {
      background: #2d2424;
      color: rgba(255, 255, 255, .76);
      padding: 58px 0 26px;
      margin-top: 70px;
    }

    .footer-brand {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 16px;
    }

    .footer-brand .brand-mark {
      box-shadow: none;
    }

    .footer-title {
      color: #fff;
      font-weight: 900;
      line-height: 1.25;
    }

    .footer-desc {
      max-width: 520px;
      color: rgba(255, 255, 255, .66);
      margin: 0;
    }

    .footer-col h3 {
      color: #fff;
      font-size: 16px;
      font-weight: 900;
      margin: 0 0 14px;
    }

    .footer-links {
      margin: 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 10px;
    }

    .footer-links a {
      color: rgba(255, 255, 255, .66);
    }

    .footer-links a:hover {
      color: #fff;
      padding-left: 3px;
    }

    .footer-bottom {
      margin-top: 36px;
      padding-top: 22px;
      border-top: 1px solid rgba(255, 255, 255, .12);
      display: flex;
      justify-content: space-between;
      gap: 18px;
      flex-wrap: wrap;
      font-size: 13px;
      color: rgba(255, 255, 255, .52);
    }

    .mobile-search-row {
      display: none;
      padding: 0 0 14px;
    }

    @media (max-width: 1024px) {
      :root {
        --space-section: 72px;
      }

      .nav-inner {
        grid-template-columns: 230px minmax(240px, 1fr) auto;
        gap: 14px;
      }

      .brand-name {
        max-width: 160px;
      }

      .nav-link {
        padding: 9px 11px;
      }

      .service-grid .cell:nth-child(2) .service-card {
        transform: none;
      }

      .hero-panel {
        margin-top: 34px;
      }

      .cta-strip {
        align-items: flex-start;
        flex-direction: column;
      }
    }

    @media (max-width: 768px) {
      .page-container {
        width: min(100% - 28px, 1180px);
      }

      .site-header {
        position: sticky;
      }

      .nav-inner {
        min-height: 68px;
        grid-template-columns: 1fr auto;
      }

      .nav-search {
        display: none;
      }

      .mobile-search-row {
        display: block;
      }

      .menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
      }

      .nav-menu {
        position: absolute;
        left: 14px;
        right: 14px;
        top: calc(100% + 8px);
        padding: 12px;
        border: 1px solid var(--color-border);
        border-radius: 20px;
        background: rgba(255, 250, 246, .98);
        box-shadow: var(--shadow-md);
        display: none;
        flex-direction: column;
        align-items: stretch;
      }

      .nav-menu.is-open {
        display: flex;
      }

      .nav-link {
        width: 100%;
        justify-content: center;
      }

      .hero {
        padding: 54px 0 48px;
      }

      .hero h1 {
        letter-spacing: -0.03em;
      }

      .hero-actions,
      .cta-actions {
        align-items: stretch;
      }

      .btn-modern {
        width: 100%;
      }

      .category-entry,
      .contact-copy,
      .contact-form,
      .cta-strip {
        padding: 26px;
      }

      .compare-side {
        padding: 26px;
      }

      .site-footer {
        margin-top: 46px;
      }
    }

    @media (max-width: 520px) {
      body {
        font-size: 15px;
      }

      :root {
        --space-section: 58px;
      }

      .brand-mark {
        width: 40px;
        height: 40px;
        border-radius: 14px;
      }

      .brand-name {
        max-width: 210px;
        font-size: 15px;
      }

      .brand-note {
        display: none;
      }

      .hero-panel,
      .faq-shell,
      .contact-panel,
      .category-entry,
      .cta-strip {
        border-radius: 22px;
      }

      .stat-card,
      .service-card,
      .method-step,
      .content-card {
        border-radius: 18px;
      }

      .hero-badge {
        align-items: flex-start;
        border-radius: 18px;
      }

      .section h2 {
        font-size: 27px;
      }

      .footer-bottom {
        flex-direction: column;
      }
    }

/* roulang page: category1 */
:root{
      --bg: #f6efe8;
      --bg-soft: #fbf7f2;
      --surface: #ffffff;
      --surface-2: #f8ede5;
      --surface-3: #f2e2d8;
      --text: #2f2523;
      --muted: #6e5f5c;
      --line: #e7d8cf;
      --primary: #8a4a45;
      --primary-2: #ab6255;
      --accent: #c98e61;
      --accent-2: #d9b07b;
      --success: #4f7a68;
      --shadow: 0 18px 45px rgba(77, 51, 45, .10);
      --shadow-soft: 0 10px 28px rgba(77, 51, 45, .08);
      --radius-xl: 24px;
      --radius-lg: 18px;
      --radius-md: 14px;
      --radius-sm: 10px;
      --container: 1200px;
      --header-h: 84px;
      --transition: 180ms ease;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
      color:var(--text);
      line-height:1.7;
      background:
        radial-gradient(circle at top left, rgba(201, 142, 97, .10), transparent 28%),
        radial-gradient(circle at top right, rgba(138, 74, 69, .10), transparent 24%),
        linear-gradient(180deg, #faf6f1 0%, #f5ede5 100%);
      min-height:100vh;
      text-rendering:optimizeLegibility;
      -webkit-font-smoothing:antialiased;
    }
    ::selection{background:rgba(138,74,69,.15); color:var(--text)}
    a{color:inherit; text-decoration:none}
    img{max-width:100%; display:block}
    button,input,textarea,select{font:inherit}
    button{cursor:pointer}
    .page-container{
      width:min(var(--container), calc(100% - 2rem));
      margin:0 auto;
    }
    .site-header{
      position:sticky;
      top:0;
      z-index:1000;
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      background:rgba(250, 245, 239, .88);
      border-bottom:1px solid rgba(231, 216, 207, .9);
      box-shadow:0 8px 24px rgba(72, 47, 40, .04);
    }
    .nav-inner{
      display:flex;
      align-items:center;
      gap:1rem;
      padding:1rem 0;
      position:relative;
      flex-wrap:wrap;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:.85rem;
      min-width:240px;
      color:var(--text);
    }
    .brand:hover .brand-name{color:var(--primary)}
    .brand-mark,
    .footer-brand .brand-mark{
      width:44px;
      height:44px;
      border-radius:14px;
      display:grid;
      place-items:center;
      color:#fff;
      background:linear-gradient(135deg, var(--primary), var(--primary-2));
      box-shadow:0 14px 24px rgba(138,74,69,.22);
      flex:0 0 auto;
    }
    .brand-name,
    .footer-title{
      display:block;
      font-weight:800;
      font-size:1.02rem;
      letter-spacing:.02em;
      line-height:1.25;
      color:var(--text);
    }
    .brand-note{
      display:block;
      font-size:.82rem;
      color:var(--muted);
      margin-top:.1rem;
    }
    .nav-search{
      flex:1 1 340px;
      min-width:260px;
      display:flex;
      align-items:center;
      gap:.75rem;
      background:rgba(255,255,255,.92);
      border:1px solid var(--line);
      border-radius:999px;
      padding:.88rem 1rem;
      box-shadow:var(--shadow-soft);
      transition:box-shadow var(--transition), border-color var(--transition), transform var(--transition);
    }
    .nav-search:focus-within{
      border-color:rgba(138,74,69,.45);
      box-shadow:0 0 0 4px rgba(138,74,69,.08), var(--shadow-soft);
      transform:translateY(-1px);
    }
    .nav-search i{
      color:var(--primary);
      font-size:1rem;
      flex:0 0 auto;
    }
    .nav-search input{
      border:0;
      outline:0;
      background:transparent;
      width:100%;
      color:var(--text);
      min-width:0;
    }
    .nav-search input::placeholder{color:#9a8781}
    .nav-menu{
      display:flex;
      align-items:center;
      gap:.45rem;
      list-style:none;
      margin:0;
      padding:0;
      flex:0 0 auto;
    }
    .nav-link{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.72rem 1rem;
      border-radius:999px;
      color:var(--text);
      font-weight:600;
      transition:background var(--transition), color var(--transition), transform var(--transition), box-shadow var(--transition);
      border:1px solid transparent;
    }
    .nav-link:hover{
      background:rgba(138,74,69,.08);
      color:var(--primary);
      transform:translateY(-1px);
    }
    .nav-link.active,
    .nav-link[aria-current="page"]{
      background:linear-gradient(135deg, var(--primary), var(--primary-2));
      color:#fff;
      box-shadow:0 12px 22px rgba(138,74,69,.18);
    }
    .nav-link:focus-visible,
    .btn:focus-visible,
    .menu-toggle:focus-visible,
    input:focus-visible,
    textarea:focus-visible,
    summary:focus-visible{
      outline:3px solid rgba(201, 142, 97, .35);
      outline-offset:2px;
    }
    .menu-toggle{
      display:none;
      align-items:center;
      justify-content:center;
      width:44px;
      height:44px;
      border:1px solid var(--line);
      border-radius:14px;
      background:rgba(255,255,255,.92);
      color:var(--text);
      box-shadow:var(--shadow-soft);
      margin-left:auto;
    }
    .mobile-search-row{
      display:none;
      width:100%;
      padding-bottom:.95rem;
    }

    .main-wrap{
      padding:1.6rem 0 0;
    }
    .breadcrumb{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:.45rem;
      color:var(--muted);
      font-size:.92rem;
      margin:0 0 1.1rem;
    }
    .breadcrumb a{
      color:var(--primary);
    }
    .breadcrumb i{font-size:.8rem; opacity:.65}
    .hero{
      padding:1.15rem 0 1.8rem;
    }
    .hero-shell{
      position:relative;
      overflow:hidden;
      border-radius:var(--radius-xl);
      background:
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(250,241,233,.96)),
        linear-gradient(135deg, rgba(138,74,69,.08), rgba(201,142,97,.08));
      border:1px solid rgba(231,216,207,.95);
      box-shadow:var(--shadow);
      padding:clamp(1.4rem, 3vw, 2.4rem);
    }
    .hero-shell::before,
    .hero-shell::after{
      content:"";
      position:absolute;
      border-radius:50%;
      pointer-events:none;
      filter:blur(0);
      opacity:.85;
    }
    .hero-shell::before{
      width:240px;
      height:240px;
      right:-110px;
      top:-90px;
      background:radial-gradient(circle at 30% 30%, rgba(201,142,97,.24), rgba(201,142,97,.02) 70%);
    }
    .hero-shell::after{
      width:180px;
      height:180px;
      left:-70px;
      bottom:-70px;
      background:radial-gradient(circle at 35% 35%, rgba(138,74,69,.16), rgba(138,74,69,.03) 72%);
    }
    .hero-grid{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:1.3fr .9fr;
      gap:1.5rem;
      align-items:center;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:.55rem;
      padding:.45rem .75rem;
      border-radius:999px;
      background:rgba(138,74,69,.09);
      color:var(--primary);
      font-size:.9rem;
      font-weight:700;
      letter-spacing:.01em;
      margin-bottom:1rem;
    }
    .hero h1{
      margin:0;
      font-size:clamp(2rem, 4vw, 3.6rem);
      line-height:1.12;
      letter-spacing:-.02em;
    }
    .hero-lead{
      margin:1rem 0 0;
      color:var(--muted);
      font-size:1.05rem;
      max-width:52rem;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:.85rem;
      margin-top:1.5rem;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.55rem;
      border-radius:999px;
      padding:.9rem 1.15rem;
      font-weight:700;
      border:1px solid transparent;
      transition:transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition), border-color var(--transition);
      min-height:48px;
    }
    .btn:hover{transform:translateY(-1px)}
    .btn-primary{
      background:linear-gradient(135deg, var(--primary), var(--primary-2));
      color:#fff;
      box-shadow:0 14px 24px rgba(138,74,69,.18);
    }
    .btn-primary:hover{
      box-shadow:0 18px 28px rgba(138,74,69,.22);
      color:#fff;
    }
    .btn-secondary{
      background:rgba(255,255,255,.82);
      color:var(--primary);
      border-color:rgba(138,74,69,.22);
    }
    .btn-secondary:hover{
      border-color:rgba(138,74,69,.32);
      background:#fff;
      color:var(--primary);
    }
    .hero-tags{
      display:flex;
      flex-wrap:wrap;
      gap:.55rem;
      margin-top:1.4rem;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      padding:.48rem .82rem;
      border-radius:999px;
      background:rgba(255,255,255,.8);
      border:1px solid var(--line);
      color:var(--muted);
      font-size:.92rem;
      white-space:nowrap;
    }
    .hero-art{
      position:relative;
      min-height:330px;
      border-radius:22px;
      background:
        linear-gradient(180deg, rgba(138,74,69,.08), rgba(201,142,97,.14)),
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(247,236,228,.95));
      border:1px solid rgba(231,216,207,.95);
      box-shadow:var(--shadow-soft);
      overflow:hidden;
      padding:1.25rem;
    }
    .art-card{
      position:absolute;
      border-radius:18px;
      background:rgba(255,255,255,.78);
      border:1px solid rgba(231,216,207,.9);
      box-shadow:0 12px 24px rgba(77,51,45,.08);
      backdrop-filter:blur(8px);
    }
    .art-card.one{
      width:58%;
      height:88px;
      left:1.1rem;
      top:1rem;
      padding:1rem;
    }
    .art-card.two{
      width:48%;
      height:102px;
      right:1rem;
      top:6.2rem;
      padding:1rem;
    }
    .art-card.three{
      width:62%;
      height:122px;
      left:2rem;
      bottom:1.1rem;
      padding:1rem 1.1rem;
    }
    .art-stat{
      display:flex;
      align-items:center;
      gap:.9rem;
      height:100%;
    }
    .art-badge{
      width:48px;
      height:48px;
      border-radius:16px;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg, rgba(138,74,69,.14), rgba(201,142,97,.24));
      color:var(--primary);
      flex:0 0 auto;
      font-size:1.1rem;
    }
    .art-stat strong{
      display:block;
      font-size:1.08rem;
      line-height:1.25;
    }
    .art-stat span{
      display:block;
      color:var(--muted);
      font-size:.9rem;
      margin-top:.15rem;
    }
    .orb{
      position:absolute;
      border-radius:50%;
      background:radial-gradient(circle at 35% 35%, rgba(171,98,85,.45), rgba(171,98,85,.12) 65%, transparent 70%);
      filter:blur(.2px);
    }
    .orb.a{width:120px;height:120px;right:30px;bottom:32px}
    .orb.b{width:84px;height:84px;left:24px;top:28px}
    .orb.c{width:54px;height:54px;right:110px;top:28px;background:radial-gradient(circle at 35% 35%, rgba(201,142,97,.55), rgba(201,142,97,.12) 70%, transparent 75%)}

    .section{
      padding:1.4rem 0;
    }
    .section-head{
      display:flex;
      flex-wrap:wrap;
      align-items:end;
      justify-content:space-between;
      gap:1rem;
      margin-bottom:1rem;
    }
    .section-title{
      margin:0;
      font-size:1.55rem;
      line-height:1.2;
      letter-spacing:-.01em;
    }
    .section-desc{
      margin:0;
      color:var(--muted);
      max-width:64rem;
    }
    .panel{
      background:rgba(255,255,255,.84);
      border:1px solid rgba(231,216,207,.92);
      border-radius:var(--radius-xl);
      box-shadow:var(--shadow-soft);
      overflow:hidden;
    }
    .panel-pad{padding:1.2rem}
    .kpi-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:1rem;
    }
    .kpi-card{
      background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,239,231,.94));
      border:1px solid rgba(231,216,207,.95);
      border-radius:var(--radius-lg);
      padding:1.05rem 1.1rem;
      box-shadow:var(--shadow-soft);
      transition:transform var(--transition), box-shadow var(--transition);
      min-height:132px;
    }
    .kpi-card:hover{transform:translateY(-2px); box-shadow:var(--shadow)}
    .kpi-icon{
      width:44px;
      height:44px;
      border-radius:14px;
      display:grid;
      place-items:center;
      background:rgba(138,74,69,.09);
      color:var(--primary);
      margin-bottom:.85rem;
      font-size:1.05rem;
    }
    .kpi-value{
      margin:0;
      font-size:1.6rem;
      line-height:1;
      color:var(--text);
      font-weight:800;
    }
    .kpi-label{
      margin:.35rem 0 0;
      font-weight:700;
      color:var(--text);
    }
    .kpi-text{
      margin:.25rem 0 0;
      color:var(--muted);
      font-size:.94rem;
    }

    .topic-grid{
      display:grid;
      grid-template-columns:repeat(12, minmax(0,1fr));
      gap:1rem;
    }
    .topic-card{
      grid-column:span 4;
      background:rgba(255,255,255,.88);
      border:1px solid rgba(231,216,207,.95);
      border-radius:var(--radius-lg);
      padding:1.15rem;
      box-shadow:var(--shadow-soft);
      transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
      display:flex;
      flex-direction:column;
      min-height:210px;
    }
    .topic-card:hover{
      transform:translateY(-2px);
      box-shadow:var(--shadow);
      border-color:rgba(138,74,69,.24);
    }
    .topic-card.featured{
      grid-column:span 8;
      background:linear-gradient(135deg, rgba(138,74,69,.98), rgba(171,98,85,.96));
      color:#fff;
      border-color:transparent;
    }
    .topic-card.featured .topic-desc,
    .topic-card.featured .topic-foot,
    .topic-card.featured .topic-meta,
    .topic-card.featured .topic-head .muted{
      color:rgba(255,255,255,.84);
    }
    .topic-head{
      display:flex;
      gap:.9rem;
      align-items:flex-start;
    }
    .topic-icon{
      width:52px;
      height:52px;
      border-radius:16px;
      display:grid;
      place-items:center;
      background:rgba(138,74,69,.09);
      color:var(--primary);
      flex:0 0 auto;
      font-size:1.1rem;
    }
    .topic-card.featured .topic-icon{
      background:rgba(255,255,255,.12);
      color:#fff;
    }
    .topic-title{
      margin:0;
      font-size:1.06rem;
      line-height:1.35;
      font-weight:800;
    }
    .muted{color:var(--muted)}
    .topic-desc{
      margin:.85rem 0 0;
      color:var(--muted);
      flex:1 1 auto;
    }
    .topic-meta{
      display:flex;
      flex-wrap:wrap;
      gap:.5rem;
      margin-top:1rem;
    }
    .mini-tag{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      padding:.34rem .62rem;
      border-radius:999px;
      background:rgba(138,74,69,.09);
      color:var(--primary);
      font-size:.82rem;
      font-weight:700;
    }
    .topic-foot{
      margin-top:1rem;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.75rem;
      color:var(--muted);
      font-size:.92rem;
    }
    .topic-link{
      font-weight:700;
      color:var(--primary);
    }

    .compare-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:1rem;
    }
    .compare-box{
      background:rgba(255,255,255,.9);
      border:1px solid rgba(231,216,207,.94);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-soft);
      overflow:hidden;
    }
    .compare-box .head{
      padding:1rem 1.1rem;
      font-weight:800;
      border-bottom:1px solid rgba(231,216,207,.92);
      display:flex;
      align-items:center;
      gap:.55rem;
    }
    .compare-box.before .head{
      background:rgba(138,74,69,.08);
      color:var(--primary);
    }
    .compare-box.after .head{
      background:rgba(79,122,104,.08);
      color:var(--success);
    }
    .compare-box ul{
      list-style:none;
      margin:0;
      padding:1rem 1.1rem 1.1rem;
    }
    .compare-box li{
      position:relative;
      padding-left:1.45rem;
      margin:.7rem 0;
      color:var(--text);
    }
    .compare-box li::before{
      content:"";
      position:absolute;
      left:0;
      top:.55rem;
      width:.75rem;
      height:.75rem;
      border-radius:50%;
      background:currentColor;
      opacity:.18;
    }
    .compare-box.before li{color:#705651}
    .compare-box.after li{color:var(--success)}

    .flow-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:1rem;
      align-items:start;
    }
    .flow-card{
      background:rgba(255,255,255,.88);
      border:1px solid rgba(231,216,207,.95);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-soft);
      padding:1.1rem;
    }
    .flow-steps{
      display:grid;
      gap:.9rem;
      counter-reset:step;
      margin:0;
      padding:0;
      list-style:none;
    }
    .flow-steps li{
      display:flex;
      gap:.9rem;
      align-items:flex-start;
      padding:.2rem 0;
    }
    .flow-steps li::before{
      counter-increment:step;
      content:counter(step);
      width:36px;
      height:36px;
      border-radius:12px;
      background:linear-gradient(135deg, var(--primary), var(--primary-2));
      color:#fff;
      display:grid;
      place-items:center;
      font-weight:800;
      flex:0 0 auto;
      box-shadow:0 10px 18px rgba(138,74,69,.18);
    }
    .flow-steps strong{display:block; font-size:1.02rem}
    .flow-steps span{display:block; color:var(--muted); margin-top:.25rem}
    .side-list{
      display:grid;
      gap:.75rem;
    }
    .side-item{
      display:flex;
      gap:.8rem;
      align-items:flex-start;
      padding:.95rem 1rem;
      border-radius:16px;
      background:rgba(248,239,231,.88);
      border:1px solid rgba(231,216,207,.95);
    }
    .side-item i{
      color:var(--accent);
      margin-top:.15rem;
    }
    .side-item strong{display:block}
    .side-item p{margin:.2rem 0 0; color:var(--muted); font-size:.94rem}

    .faq-wrap{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:1rem;
    }
    .faq-item{
      background:rgba(255,255,255,.9);
      border:1px solid rgba(231,216,207,.95);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-soft);
      overflow:hidden;
    }
    .faq-item details{
      padding:0;
    }
    .faq-item summary{
      list-style:none;
      cursor:pointer;
      padding:1rem 1.1rem;
      font-weight:800;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item summary i{
      color:var(--primary);
      transition:transform var(--transition);
    }
    .faq-item details[open] summary i{transform:rotate(180deg)}
    .faq-body{
      padding:0 1.1rem 1.1rem;
      color:var(--muted);
    }

    .contact-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:1rem;
      align-items:stretch;
    }
    .contact-card{
      background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,242,235,.96));
      border:1px solid rgba(231,216,207,.95);
      border-radius:var(--radius-xl);
      box-shadow:var(--shadow);
      padding:1.2rem;
    }
    .contact-note{
      display:flex;
      gap:.75rem;
      align-items:flex-start;
      padding:.95rem 1rem;
      border-radius:16px;
      background:rgba(79,122,104,.08);
      border:1px solid rgba(79,122,104,.14);
      color:#406355;
      margin-bottom:1rem;
    }
    .contact-note i{margin-top:.15rem}
    .form-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:.9rem;
    }
    .field{
      display:flex;
      flex-direction:column;
      gap:.45rem;
    }
    .field.full{grid-column:1/-1}
    .field label{
      font-size:.92rem;
      font-weight:700;
      color:var(--text);
    }
    .field input,
    .field textarea,
    .field select{
      width:100%;
      border:1px solid var(--line);
      border-radius:14px;
      background:#fff;
      padding:.9rem 1rem;
      color:var(--text);
      transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);
      box-shadow:0 6px 18px rgba(77,51,45,.04);
    }
    .field input::placeholder,
    .field textarea::placeholder{
      color:#aa968f;
    }
    .field input:focus,
    .field textarea:focus,
    .field select:focus{
      border-color:rgba(138,74,69,.45);
      box-shadow:0 0 0 4px rgba(138,74,69,.08);
      outline:none;
      transform:translateY(-1px);
    }
    .field textarea{min-height:128px; resize:vertical}
    .form-actions{
      display:flex;
      align-items:center;
      gap:1rem;
      flex-wrap:wrap;
      margin-top:1rem;
    }
    .form-hint{
      color:var(--muted);
      font-size:.92rem;
    }
    .contact-side{
      display:flex;
      flex-direction:column;
      gap:1rem;
    }
    .info-stack{
      display:grid;
      gap:.9rem;
    }
    .info-box{
      background:rgba(255,255,255,.9);
      border:1px solid rgba(231,216,207,.95);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-soft);
      padding:1rem 1.05rem;
    }
    .info-box h3{
      margin:0 0 .5rem;
      font-size:1rem;
    }
    .info-box p{margin:0; color:var(--muted)}
    .info-list{
      list-style:none;
      margin:.75rem 0 0;
      padding:0;
      display:grid;
      gap:.6rem;
    }
    .info-list li{
      display:flex;
      align-items:flex-start;
      gap:.6rem;
      color:var(--text);
    }
    .info-list i{color:var(--accent); margin-top:.2rem}

    .site-footer{
      margin-top:2rem;
      background:linear-gradient(180deg, rgba(47,37,35,.98), rgba(38,29,27,.98));
      color:rgba(255,255,255,.92);
      padding:2.2rem 0 1rem;
    }
    .site-footer a{color:rgba(255,255,255,.86)}
    .site-footer a:hover{color:#fff}
    .footer-brand{
      display:flex;
      align-items:center;
      gap:.85rem;
      margin-bottom:.95rem;
    }
    .footer-title{
      color:#fff;
      font-size:1.08rem;
    }
    .footer-desc{
      color:rgba(255,255,255,.76);
      margin:0;
      max-width:38rem;
    }
    .footer-col h3{
      font-size:1.02rem;
      margin:0 0 .9rem;
      color:#fff;
    }
    .footer-links{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:.55rem;
    }
    .footer-links a{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      color:rgba(255,255,255,.82);
    }
    .footer-links a::before{
      content:"";
      width:.38rem;
      height:.38rem;
      border-radius:50%;
      background:rgba(255,255,255,.5);
      display:inline-block;
    }
    .footer-bottom{
      margin-top:1.5rem;
      padding-top:1rem;
      border-top:1px solid rgba(255,255,255,.12);
      display:flex;
      flex-wrap:wrap;
      justify-content:space-between;
      gap:.75rem;
      color:rgba(255,255,255,.62);
      font-size:.9rem;
    }

    .section-divider{
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(138,74,69,.18), transparent);
      margin:1rem 0;
    }
    .note-strip{
      display:flex;
      flex-wrap:wrap;
      gap:.6rem;
      margin-top:.9rem;
    }
    .note-chip{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      border-radius:999px;
      padding:.42rem .72rem;
      background:rgba(255,255,255,.78);
      border:1px solid var(--line);
      color:var(--muted);
      font-size:.9rem;
    }
    .mini-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:1rem;
    }
    .mini-box{
      background:rgba(255,255,255,.88);
      border:1px solid rgba(231,216,207,.95);
      border-radius:var(--radius-lg);
      padding:1rem;
      box-shadow:var(--shadow-soft);
    }
    .mini-box strong{display:block; margin-bottom:.35rem}
    .mini-box p{margin:0; color:var(--muted)}

    @media (max-width: 1024px){
      .hero-grid,
      .flow-grid,
      .contact-grid,
      .compare-grid,
      .faq-wrap{
        grid-template-columns:1fr;
      }
      .topic-card,
      .topic-card.featured{
        grid-column:span 12;
      }
      .kpi-grid,
      .mini-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
      }
      .hero-art{min-height:280px}
      .nav-search{flex:1 1 100%; order:4}
      .nav-menu{margin-left:auto}
    }

    @media (max-width: 768px){
      .nav-inner{padding:.85rem 0}
      .brand{min-width:0; flex:1 1 auto}
      .nav-search{display:none}
      .menu-toggle{display:inline-flex}
      .mobile-search-row{display:block}
      .nav-menu{
        display:none;
        width:100%;
        flex-direction:column;
        align-items:stretch;
        gap:.35rem;
        padding:.8rem;
        margin-top:.1rem;
        border:1px solid var(--line);
        border-radius:18px;
        background:rgba(255,255,255,.94);
        box-shadow:var(--shadow-soft);
      }
      .nav-menu.is-open{display:flex}
      .nav-link{width:100%; justify-content:flex-start}
      .section-title{font-size:1.35rem}
      .hero{padding:1rem 0 1.4rem}
      .hero-shell{padding:1.1rem}
      .hero-actions .btn{width:100%}
      .kpi-grid,
      .mini-grid,
      .form-grid{
        grid-template-columns:1fr;
      }
      .topic-card,
      .topic-card.featured{
        min-height:unset;
      }
      .art-card.one{width:72%}
      .art-card.two{width:62%}
      .art-card.three{width:76%}
      .footer-bottom{flex-direction:column}
    }

    @media (max-width: 520px){
      .page-container{width:min(var(--container), calc(100% - 1.1rem))}
      .brand-name{font-size:.98rem}
      .brand-note{font-size:.78rem}
      .hero h1{font-size:1.9rem}
      .hero-lead{font-size:1rem}
      .hero-art{min-height:250px}
      .art-card.one,
      .art-card.two,
      .art-card.three{
        width:calc(100% - 2rem);
        left:1rem;
        right:1rem;
      }
      .art-card.one{top:1rem}
      .art-card.two{top:7rem}
      .art-card.three{bottom:1rem}
      .section{padding:1.1rem 0}
      .panel-pad,
      .contact-card,
      .flow-card,
      .info-box{padding:1rem}
      .btn{width:100%}
    }
