/* roulang page: index */
:root{
      --bg:#f4efe8;
      --bg-soft:#ede6dc;
      --surface:#ffffff;
      --surface-2:#faf7f2;
      --surface-dark:#1c1815;
      --surface-dark-2:#26201b;
      --text:#191511;
      --muted:#6e665c;
      --line:rgba(28,24,21,.12);
      --line-strong:rgba(28,24,21,.18);
      --brand:#181412;
      --brand-2:#2b241e;
      --accent:#b58a4a;
      --accent-soft:#d8c39a;
      --accent-line:rgba(181,138,74,.28);
      --shadow:0 14px 40px rgba(24,20,18,.08);
      --shadow-strong:0 24px 60px rgba(24,20,18,.14);
      --radius-xl:28px;
      --radius-lg:22px;
      --radius-md:16px;
      --radius-sm:12px;
      --container:1180px;
      --space-1:8px;
      --space-2:12px;
      --space-3:16px;
      --space-4:20px;
      --space-5:24px;
      --space-6:32px;
      --space-7:48px;
      --space-8:72px;
      --space-9:104px;
    }
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--text);
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      line-height:1.72;
      background:
        radial-gradient(circle at top left, rgba(181,138,74,.07), transparent 28%),
        radial-gradient(circle at top right, rgba(40,34,30,.05), transparent 22%),
        linear-gradient(180deg, #f8f4ee 0%, #f4efe8 28%, #f6f2eb 100%);
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(115deg, rgba(255,255,255,.28), transparent 32%),
        linear-gradient(0deg, rgba(0,0,0,.015), rgba(0,0,0,.015));
      opacity:.28;
      mix-blend-mode:multiply;
      z-index:-1;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea,select{
      font:inherit;
      color:inherit;
      outline:none;
    }
    button{
      border:0;
      background:none;
      cursor:pointer;
    }
    ::selection{background:rgba(181,138,74,.24);color:var(--brand)}
    .site-shell{
      width:min(var(--container), calc(100% - 32px));
      margin:0 auto;
    }
    .site-header{
      position:sticky;
      top:0;
      z-index:50;
      backdrop-filter:saturate(140%) blur(16px);
      background:rgba(244,239,232,.84);
      border-bottom:1px solid rgba(28,24,21,.08);
      transition:box-shadow .22s ease, background .22s ease, border-color .22s ease;
    }
    .site-header.is-scrolled{
      box-shadow:0 10px 30px rgba(24,20,18,.06);
      background:rgba(247,242,236,.92);
    }
    .topbar{
      display:flex;
      align-items:center;
      gap:16px;
      padding:16px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:250px;
      flex:0 0 auto;
    }
    .brand-badge{
      width:48px;
      height:48px;
      border-radius:18px;
      display:grid;
      place-items:center;
      color:#f7f2ea;
      background:linear-gradient(145deg, var(--brand), var(--brand-2));
      box-shadow:0 10px 20px rgba(24,20,18,.18);
      letter-spacing:.08em;
      font-size:12px;
      position:relative;
      overflow:hidden;
    }
    .brand-badge::after{
      content:"";
      position:absolute;
      inset:auto -20% -55% auto;
      width:90px;
      height:90px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(181,138,74,.42), transparent 65%);
      opacity:.7;
    }
    .brand-copy{
      display:flex;
      flex-direction:column;
      line-height:1.16;
    }
    .brand-copy strong{
      font-size:1rem;
      letter-spacing:.02em;
      font-weight:800;
      color:var(--brand);
    }
    .brand-copy small{
      margin-top:3px;
      color:var(--muted);
      font-size:.84rem;
    }
    .search-form{
      margin-left:auto;
      max-width:410px;
      flex:1 1 auto;
      display:flex;
      align-items:center;
      gap:0;
      border:1px solid rgba(28,24,21,.11);
      background:rgba(255,255,255,.72);
      border-radius:999px;
      overflow:hidden;
      box-shadow:0 8px 18px rgba(24,20,18,.04);
      transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    }
    .search-form:focus-within{
      border-color:rgba(181,138,74,.45);
      box-shadow:0 10px 24px rgba(24,20,18,.08);
      transform:translateY(-1px);
    }
    .search-form input{
      width:100%;
      border:0;
      background:transparent;
      padding:14px 18px;
      color:var(--text);
      min-width:0;
    }
    .search-form input::placeholder{color:#8a8278}
    .search-form button{
      padding:14px 18px;
      white-space:nowrap;
      color:#f7f2ea;
      background:linear-gradient(135deg, var(--brand), var(--brand-2));
      transition:filter .2s ease, transform .2s ease;
    }
    .search-form button:hover{filter:brightness(1.05)}
    .search-form button:active{transform:translateY(1px)}
    .header-actions{
      display:flex;
      align-items:center;
      gap:12px;
      flex:0 0 auto;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:48px;
      padding:0 20px;
      border-radius:999px;
      font-weight:700;
      letter-spacing:.01em;
      transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
      will-change:transform;
    }
    .btn:hover{transform:translateY(-1px)}
    .btn:active{transform:translateY(1px)}
    .btn:focus-visible,
    .menu-toggle:focus-visible,
    .channel-tabs a:focus-visible,
    .drawer-links a:focus-visible,
    input:focus-visible,
    textarea:focus-visible,
    summary:focus-visible{
      outline:3px solid rgba(181,138,74,.32);
      outline-offset:3px;
    }
    .btn-primary{
      background:linear-gradient(135deg, var(--brand), var(--brand-2));
      color:#f8f4ed;
      box-shadow:0 14px 24px rgba(24,20,18,.12);
    }
    .btn-primary:hover{box-shadow:0 18px 32px rgba(24,20,18,.16)}
    .btn-secondary{
      background:rgba(255,255,255,.74);
      color:var(--brand);
      border:1px solid rgba(28,24,21,.12);
      box-shadow:0 10px 18px rgba(24,20,18,.04);
    }
    .btn-secondary:hover{
      border-color:rgba(181,138,74,.38);
      box-shadow:0 14px 24px rgba(24,20,18,.08);
    }
    .btn-accent{
      background:linear-gradient(135deg, #c89d5c, #b58a4a);
      color:#fff9f0;
      box-shadow:0 14px 24px rgba(181,138,74,.24);
    }
    .btn-ghost{
      color:var(--text);
      border:1px solid rgba(28,24,21,.12);
      background:rgba(255,255,255,.38);
    }
    .menu-toggle{
      display:none;
      width:48px;
      height:48px;
      border-radius:16px;
      border:1px solid rgba(28,24,21,.12);
      background:rgba(255,255,255,.72);
      align-items:center;
      justify-content:center;
      box-shadow:0 10px 18px rgba(24,20,18,.04);
    }
    .menu-toggle span{
      width:18px;
      height:2px;
      background:var(--brand);
      position:relative;
      border-radius:999px;
    }
    .menu-toggle span::before,
    .menu-toggle span::after{
      content:"";
      position:absolute;
      left:0;
      width:18px;
      height:2px;
      background:var(--brand);
      border-radius:999px;
    }
    .menu-toggle span::before{top:-6px}
    .menu-toggle span::after{top:6px}
    .channelbar{
      border-top:1px solid rgba(28,24,21,.07);
      background:rgba(247,243,236,.7);
    }
    .channel-tabs{
      display:flex;
      gap:10px;
      padding:10px 0 14px;
      overflow-x:auto;
      scrollbar-width:none;
      align-items:center;
    }
    .channel-tabs::-webkit-scrollbar{display:none}
    .channel-tabs a{
      flex:0 0 auto;
      display:inline-flex;
      align-items:center;
      gap:8px;
      height:40px;
      padding:0 16px;
      border-radius:999px;
      border:1px solid transparent;
      color:var(--muted);
      background:transparent;
      white-space:nowrap;
      transition:background .22s ease, color .22s ease, border-color .22s ease, transform .22s ease;
    }
    .channel-tabs a:hover{
      color:var(--brand);
      background:rgba(255,255,255,.6);
      border-color:rgba(28,24,21,.08);
      transform:translateY(-1px);
    }
    .channel-tabs a.active,
    .channel-tabs a[aria-current="page"]{
      color:var(--brand);
      background:rgba(255,255,255,.92);
      border-color:rgba(181,138,74,.28);
      box-shadow:0 10px 20px rgba(24,20,18,.04);
    }
    .page{
      padding-bottom:24px;
    }
    .hero{
      padding:28px 0 var(--space-8);
    }
    .hero-card{
      position:relative;
      overflow:hidden;
      border-radius:var(--radius-xl);
      border:1px solid rgba(28,24,21,.08);
      box-shadow:var(--shadow);
      background:
        linear-gradient(135deg, rgba(28,24,21,.98), rgba(47,41,34,.96)),
        linear-gradient(135deg, rgba(181,138,74,.14), transparent 42%);
      color:#f7f2ea;
    }
    .hero-card::before,
    .hero-card::after{
      content:"";
      position:absolute;
      inset:auto;
      pointer-events:none;
      border-radius:50%;
      filter:blur(4px);
    }
    .hero-card::before{
      width:280px;
      height:280px;
      right:-80px;
      top:-90px;
      background:radial-gradient(circle, rgba(181,138,74,.22), transparent 64%);
      opacity:.8;
    }
    .hero-card::after{
      width:360px;
      height:360px;
      left:-160px;
      bottom:-180px;
      background:radial-gradient(circle, rgba(255,255,255,.08), transparent 62%);
      opacity:.9;
    }
    .hero-grid{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:1.08fr .92fr;
      gap:24px;
      padding:34px;
      min-height:520px;
      align-items:stretch;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      color:#e4d8c6;
      border:1px solid rgba(255,255,255,.09);
      letter-spacing:.06em;
      font-size:.82rem;
      text-transform:none;
    }
    .hero-title{
      margin:18px 0 16px;
      font-size:clamp(2.3rem, 4.7vw, 4.9rem);
      line-height:.98;
      letter-spacing:-.05em;
      font-weight:850;
      max-width:10.3ch;
    }
    .hero-lead{
      max-width:36rem;
      margin:0;
      font-size:1.02rem;
      color:rgba(247,242,234,.84);
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:28px;
    }
    .hero-actions .btn{
      min-height:50px;
      padding-inline:22px;
    }
    .hero-actions .btn-secondary{
      background:rgba(255,255,255,.08);
      color:#f7f2ea;
      border-color:rgba(255,255,255,.12);
    }
    .hero-actions .btn-secondary:hover{
      background:rgba(255,255,255,.13);
      border-color:rgba(255,255,255,.18);
    }
    .hero-tags{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:24px;
    }
    .badge{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:8px 12px;
      border-radius:999px;
      font-size:.86rem;
      line-height:1;
      border:1px solid rgba(255,255,255,.12);
      color:#f7f2ea;
      background:rgba(255,255,255,.07);
    }
    .hero-panel{
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:18px;
      padding:22px;
      border-radius:var(--radius-lg);
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.1);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    }
    .panel-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      color:rgba(247,242,234,.86);
      font-size:.92rem;
    }
    .panel-head .accent{
      color:#f2d7a7;
      letter-spacing:.04em;
    }
    .hero-metrics{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:14px;
    }
    .metric-box{
      padding:18px;
      border-radius:20px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.1);
      min-height:116px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .metric-box strong{
      display:block;
      font-size:1.9rem;
      line-height:1;
      letter-spacing:-.04em;
      color:#f7efe2;
    }
    .metric-box span{
      display:block;
      margin-top:10px;
      color:rgba(247,242,234,.92);
      font-weight:600;
    }
    .metric-box small{
      margin-top:8px;
      color:rgba(247,242,234,.64);
      line-height:1.55;
    }
    .hero-notes{
      margin:0;
      padding:0;
      list-style:none;
      display:grid;
      gap:10px;
    }
    .hero-notes li{
      display:flex;
      gap:10px;
      color:rgba(247,242,234,.82);
      font-size:.95rem;
    }
    .hero-notes i{
      flex:0 0 auto;
      width:20px;
      height:20px;
      border-radius:50%;
      display:inline-grid;
      place-items:center;
      font-style:normal;
      background:rgba(181,138,74,.18);
      color:#f2d7a7;
      margin-top:2px;
    }
    .section{
      padding:var(--space-8) 0;
    }
    .section.tight{
      padding-top:18px;
    }
    .section-head{
      display:flex;
      justify-content:space-between;
      align-items:end;
      gap:18px;
      margin-bottom:24px;
      flex-wrap:wrap;
    }
    .section-kicker{
      color:var(--accent);
      font-weight:800;
      letter-spacing:.12em;
      font-size:.78rem;
      text-transform:uppercase;
      margin-bottom:10px;
    }
    .section-title{
      margin:0;
      font-size:clamp(1.55rem, 2.6vw, 2.4rem);
      line-height:1.15;
      letter-spacing:-.04em;
      color:var(--brand);
      font-weight:850;
    }
    .section-desc{
      margin:0;
      max-width:38rem;
      color:var(--muted);
      line-height:1.8;
    }
    .trust-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:16px;
    }
    .trust-card{
      padding:22px;
      border-radius:var(--radius-lg);
      background:rgba(255,255,255,.72);
      border:1px solid rgba(28,24,21,.08);
      box-shadow:var(--shadow);
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
      min-height:160px;
    }
    .trust-card:hover{
      transform:translateY(-3px);
      border-color:rgba(181,138,74,.25);
      box-shadow:var(--shadow-strong);
    }
    .trust-card strong{
      display:block;
      font-size:2rem;
      line-height:1;
      letter-spacing:-.04em;
      color:var(--brand);
    }
    .trust-card span{
      display:block;
      margin-top:10px;
      color:var(--brand);
      font-weight:700;
    }
    .trust-card p{
      margin:8px 0 0;
      color:var(--muted);
      line-height:1.7;
      font-size:.95rem;
    }
    .feature-grid{
      display:grid;
      grid-template-columns:1.22fr .78fr;
      gap:18px;
    }
    .feature-card{
      padding:24px;
      border-radius:var(--radius-xl);
      background:rgba(255,255,255,.78);
      border:1px solid rgba(28,24,21,.08);
      box-shadow:var(--shadow);
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
      height:100%;
    }
    .feature-card:hover{
      transform:translateY(-3px);
      box-shadow:var(--shadow-strong);
      border-color:rgba(181,138,74,.24);
    }
    .feature-card.dark{
      background:
        linear-gradient(145deg, rgba(28,24,21,.98), rgba(43,36,29,.96));
      color:#f7f2ea;
      border-color:rgba(255,255,255,.08);
    }
    .feature-card .card-kicker{
      display:inline-flex;
      padding:7px 10px;
      border-radius:999px;
      font-size:.78rem;
      font-weight:700;
      letter-spacing:.08em;
      text-transform:uppercase;
      background:rgba(181,138,74,.12);
      color:var(--accent);
    }
    .feature-card.dark .card-kicker{
      background:rgba(255,255,255,.08);
      color:#f2d7a7;
    }
    .feature-card h3{
      margin:14px 0 12px;
      font-size:1.34rem;
      line-height:1.35;
      letter-spacing:-.03em;
      font-weight:800;
      color:inherit;
    }
    .feature-card p{
      margin:0;
      color:inherit;
      opacity:.86;
      line-height:1.8;
    }
    .feature-list{
      margin:18px 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:10px;
    }
    .feature-list li{
      display:flex;
      gap:10px;
      color:inherit;
      opacity:.92;
    }
    .feature-list li::before{
      content:"";
      flex:0 0 auto;
      width:8px;
      height:8px;
      border-radius:50%;
      margin-top:10px;
      background:var(--accent);
      box-shadow:0 0 0 4px rgba(181,138,74,.12);
    }
    .feature-stack{
      display:grid;
      gap:18px;
    }
    .feature-mini{
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      min-height:232px;
    }
    .mini-top{
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:center;
      margin-bottom:14px;
    }
    .mini-index{
      width:42px;
      height:42px;
      border-radius:14px;
      display:grid;
      place-items:center;
      background:rgba(181,138,74,.12);
      color:var(--accent);
      font-weight:800;
    }
    .mini-tag{
      color:var(--muted);
      font-size:.88rem;
    }
    .spotlight-grid{
      display:grid;
      grid-template-columns:1.08fr .92fr;
      gap:18px;
      align-items:stretch;
    }
    .spotlight-card,
    .spotlight-panel{
      border-radius:var(--radius-xl);
      padding:26px;
      border:1px solid rgba(28,24,21,.08);
      background:rgba(255,255,255,.82);
      box-shadow:var(--shadow);
    }
    .spotlight-card{
      position:relative;
      overflow:hidden;
      background:
        linear-gradient(145deg, rgba(28,24,21,.97), rgba(42,35,29,.95));
      color:#f7f2ea;
      text-decoration:none;
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
      min-height:100%;
    }
    .spotlight-card:hover{
      transform:translateY(-3px);
      box-shadow:var(--shadow-strong);
    }
    .spotlight-card::after{
      content:"";
      position:absolute;
      inset:auto -80px -90px auto;
      width:260px;
      height:260px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(181,138,74,.24), transparent 66%);
      pointer-events:none;
    }
    .spotlight-card .badge,
    .spotlight-panel .badge{
      border-color:rgba(181,138,74,.24);
      background:rgba(181,138,74,.1);
      color:var(--accent);
    }
    .spotlight-card h3,
    .spotlight-panel h3{
      margin:14px 0 12px;
      font-size:1.45rem;
      line-height:1.3;
      letter-spacing:-.03em;
      font-weight:850;
    }
    .spotlight-card p,
    .spotlight-panel p{
      margin:0;
      opacity:.88;
      line-height:1.84;
    }
    .spotlight-foot{
      margin-top:22px;
      display:flex;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      font-weight:700;
      color:inherit;
      opacity:.95;
    }
    .check-list{
      margin:18px 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:12px;
    }
    .check-list li{
      display:flex;
      gap:12px;
      align-items:flex-start;
      color:var(--text);
      line-height:1.7;
    }
    .check-list li::before{
      content:"";
      width:20px;
      height:20px;
      border-radius:50%;
      flex:0 0 auto;
      margin-top:3px;
      background:
        radial-gradient(circle at 50% 50%, var(--accent) 0 36%, transparent 38%),
        rgba(181,138,74,.14);
      box-shadow:0 0 0 4px rgba(181,138,74,.08);
    }
    .case-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr .9fr;
      gap:18px;
    }
    .case-card{
      padding:24px;
      border-radius:var(--radius-lg);
      background:rgba(255,255,255,.8);
      border:1px solid rgba(28,24,21,.08);
      box-shadow:var(--shadow);
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
      min-height:220px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      position:relative;
      overflow:hidden;
    }
    .case-card:hover{
      transform:translateY(-3px);
      box-shadow:var(--shadow-strong);
      border-color:rgba(181,138,74,.24);
    }
    .case-card.feature{
      grid-row:span 2;
      min-height:458px;
      background:
        linear-gradient(145deg, rgba(27,23,20,.98), rgba(47,40,33,.95));
      color:#f7f2ea;
      border-color:rgba(255,255,255,.08);
    }
    .case-card.feature::after{
      content:"";
      position:absolute;
      inset:auto -90px -110px auto;
      width:300px;
      height:300px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(181,138,74,.24), transparent 64%);
      pointer-events:none;
    }
    .case-card .case-index{
      display:inline-flex;
      width:max-content;
      padding:7px 10px;
      border-radius:999px;
      background:rgba(181,138,74,.12);
      color:var(--accent);
      font-weight:700;
      font-size:.8rem;
      letter-spacing:.06em;
    }
    .case-card.feature .case-index{
      background:rgba(255,255,255,.08);
      color:#f2d7a7;
    }
    .case-card h3{
      margin:14px 0 10px;
      font-size:1.28rem;
      line-height:1.36;
      letter-spacing:-.03em;
      font-weight:800;
    }
    .case-card p{
      margin:0;
      color:inherit;
      opacity:.86;
      line-height:1.8;
    }
    .case-meta{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:18px;
    }
    .case-meta .badge{
      background:rgba(255,255,255,.07);
      border-color:rgba(255,255,255,.1);
      color:#f7f2ea;
    }
    .case-card:not(.feature) .case-meta .badge{
      background:rgba(181,138,74,.08);
      border-color:rgba(181,138,74,.18);
      color:var(--brand);
    }
    .timeline{
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:16px;
    }
    .timeline-item{
      padding:24px;
      border-radius:var(--radius-lg);
      background:rgba(255,255,255,.78);
      border:1px solid rgba(28,24,21,.08);
      box-shadow:var(--shadow);
      position:relative;
      overflow:hidden;
      min-height:210px;
    }
    .timeline-item::before{
      content:"";
      position:absolute;
      inset:0 auto auto 0;
      width:100%;
      height:4px;
      background:linear-gradient(90deg, var(--accent), rgba(181,138,74,.18));
    }
    .step-num{
      display:inline-grid;
      place-items:center;
      width:42px;
      height:42px;
      border-radius:14px;
      background:rgba(181,138,74,.12);
      color:var(--accent);
      font-weight:800;
      margin-bottom:14px;
    }
    .timeline-item h3{
      margin:0 0 10px;
      font-size:1.18rem;
      line-height:1.35;
      letter-spacing:-.02em;
      font-weight:800;
      color:var(--brand);
    }
    .timeline-item p{
      margin:0;
      color:var(--muted);
      line-height:1.8;
    }
    .faq-list{
      display:grid;
      gap:14px;
    }
    .faq-item{
      border-radius:var(--radius-lg);
      border:1px solid rgba(28,24,21,.08);
      background:rgba(255,255,255,.82);
      box-shadow:var(--shadow);
      overflow:hidden;
      transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease;
    }
    .faq-item[open]{
      border-color:rgba(181,138,74,.26);
      box-shadow:var(--shadow-strong);
    }
    .faq-item summary{
      list-style:none;
      cursor:pointer;
      padding:20px 22px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      font-weight:800;
      color:var(--brand);
      line-height:1.45;
    }
    .faq-item summary::-webkit-details-marker{display:none}
    .faq-item summary::after{
      content:"+";
      flex:0 0 auto;
      width:30px;
      height:30px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:rgba(181,138,74,.1);
      color:var(--accent);
      font-size:1.1rem;
      font-weight:700;
      transition:transform .22s ease, background .22s ease;
    }
    .faq-item[open] summary::after{
      content:"−";
      transform:rotate(180deg);
      background:rgba(181,138,74,.15);
    }
    .faq-answer{
      padding:0 22px 20px;
      color:var(--muted);
      line-height:1.84;
      margin:0;
    }
    .contact-band{
      background:
        linear-gradient(145deg, rgba(27,23,20,.98), rgba(44,37,31,.96));
      color:#f7f2ea;
      border-radius:calc(var(--radius-xl) + 4px);
      padding:30px;
      border:1px solid rgba(255,255,255,.08);
      box-shadow:var(--shadow-strong);
      position:relative;
      overflow:hidden;
    }
    .contact-band::before,
    .contact-band::after{
      content:"";
      position:absolute;
      border-radius:50%;
      pointer-events:none;
    }
    .contact-band::before{
      width:320px;
      height:320px;
      right:-120px;
      top:-120px;
      background:radial-gradient(circle, rgba(181,138,74,.24), transparent 68%);
    }
    .contact-band::after{
      width:240px;
      height:240px;
      left:-100px;
      bottom:-100px;
      background:radial-gradient(circle, rgba(255,255,255,.06), transparent 66%);
    }
    .contact-grid{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:.92fr 1.08fr;
      gap:22px;
      align-items:start;
    }
    .contact-copy h2{
      margin:0 0 14px;
      font-size:clamp(1.6rem, 2.8vw, 2.4rem);
      line-height:1.14;
      letter-spacing:-.04em;
      font-weight:850;
    }
    .contact-copy p{
      margin:0 0 20px;
      color:rgba(247,242,234,.84);
      line-height:1.84;
    }
    .contact-points{
      display:grid;
      gap:12px;
      margin:0;
    }
    .contact-point{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:rgba(247,242,234,.86);
      line-height:1.7;
    }
    .contact-point i{
      flex:0 0 auto;
      font-style:normal;
      width:22px;
      height:22px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:rgba(181,138,74,.16);
      color:#f2d7a7;
      margin-top:2px;
    }
    .contact-form{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:14px;
      padding:0;
      margin:0;
    }
    .field{
      display:flex;
      flex-direction:column;
      gap:8px;
    }
    .field.full{grid-column:1 / -1}
    .field label{
      color:rgba(247,242,234,.84);
      font-size:.9rem;
      font-weight:600;
    }
    .field input,
    .field textarea{
      width:100%;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.1);
      background:rgba(255,255,255,.07);
      color:#f7f2ea;
      padding:14px 16px;
      transition:border-color .22s ease, background .22s ease, transform .22s ease;
    }
    .field input::placeholder,
    .field textarea::placeholder{color:rgba(247,242,234,.52)}
    .field input:focus,
    .field textarea:focus{
      border-color:rgba(181,138,74,.42);
      background:rgba(255,255,255,.1);
      transform:translateY(-1px);
    }
    .field textarea{
      min-height:136px;
      resize:vertical;
    }
    .form-actions{
      grid-column:1 / -1;
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      align-items:center;
      margin-top:4px;
    }
    .form-actions .btn{
      min-width:180px;
    }
    .form-note{
      color:rgba(247,242,234,.68);
      font-size:.9rem;
      line-height:1.7;
    }
    .footer{
      padding:38px 0 28px;
    }
    .footer-box{
      border-top:1px solid rgba(28,24,21,.08);
      padding-top:26px;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr .85fr 1fr;
      gap:20px;
    }
    .footer-brand h3{
      margin:0 0 10px;
      font-size:1.2rem;
      line-height:1.3;
      color:var(--brand);
      font-weight:850;
    }
    .footer-brand p{
      margin:0;
      color:var(--muted);
      line-height:1.8;
      max-width:28rem;
    }
    .footer-title{
      margin:0 0 12px;
      color:var(--brand);
      font-size:.95rem;
      font-weight:800;
      letter-spacing:.05em;
    }
    .footer-links{
      display:grid;
      gap:10px;
    }
    .footer-links a{
      color:var(--muted);
      transition:color .2s ease, transform .2s ease;
      width:max-content;
    }
    .footer-links a:hover{
      color:var(--brand);
      transform:translateX(2px);
    }
    .footer-note{
      color:var(--muted);
      line-height:1.8;
    }
    .footer-bottom{
      display:flex;
      justify-content:space-between;
      gap:14px;
      margin-top:20px;
      padding-top:18px;
      border-top:1px solid rgba(28,24,21,.08);
      color:var(--muted);
      font-size:.92rem;
      flex-wrap:wrap;
    }
    .backtop{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--brand);
      font-weight:700;
    }
    .drawer-overlay{
      position:fixed;
      inset:0;
      background:rgba(17,14,12,.38);
      opacity:0;
      visibility:hidden;
      transition:opacity .22s ease, visibility .22s ease;
      z-index:60;
    }
    .mobile-drawer{
      position:fixed;
      right:0;
      top:0;
      width:min(86vw, 360px);
      height:100vh;
      background:rgba(250,247,242,.98);
      border-left:1px solid rgba(28,24,21,.08);
      box-shadow:-16px 0 36px rgba(24,20,18,.14);
      transform:translateX(100%);
      transition:transform .26s ease;
      z-index:70;
      padding:20px;
      display:flex;
      flex-direction:column;
      gap:18px;
    }
    .drawer-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }
    .drawer-title{
      font-size:1rem;
      font-weight:800;
      color:var(--brand);
    }
    .drawer-close{
      width:42px;
      height:42px;
      border-radius:14px;
      border:1px solid rgba(28,24,21,.1);
      background:#fff;
      font-size:1.3rem;
      color:var(--brand);
    }
    .drawer-links{
      display:grid;
      gap:10px;
    }
    .drawer-links a{
      padding:14px 16px;
      border-radius:16px;
      background:#fff;
      border:1px solid rgba(28,24,21,.08);
      color:var(--brand);
      font-weight:700;
      box-shadow:0 8px 16px rgba(24,20,18,.04);
    }
    .drawer-links a.active{
      background:rgba(181,138,74,.08);
      border-color:rgba(181,138,74,.24);
    }
    .drawer-foot{
      margin-top:auto;
      padding-top:16px;
      border-top:1px solid rgba(28,24,21,.08);
      color:var(--muted);
      line-height:1.7;
      font-size:.92rem;
    }
    body.drawer-open{overflow:hidden}
    body.drawer-open .drawer-overlay{
      opacity:1;
      visibility:visible;
    }
    body.drawer-open .mobile-drawer{
      transform:translateX(0);
    }
    .hidden-desktop{display:none}
    .soft-divider{
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(28,24,21,.14), transparent);
      margin:0;
    }
    @media (max-width: 1200px){
      .hero-grid{grid-template-columns:1fr .94fr}
      .case-grid{grid-template-columns:1.05fr .95fr}
      .case-card.feature{grid-row:auto; min-height:260px}
      .timeline{grid-template-columns:repeat(2, minmax(0,1fr))}
      .footer-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
    }
    @media (max-width: 1024px){
      .topbar{
        flex-wrap:wrap;
      }
      .brand{min-width:auto}
      .search-form{
        order:3;
        width:100%;
        max-width:none;
      }
      .header-actions{margin-left:auto}
      .hero-grid{
        grid-template-columns:1fr;
      }
      .trust-grid,
      .feature-grid,
      .spotlight-grid,
      .case-grid{
        grid-template-columns:1fr;
      }
      .feature-mini{min-height:auto}
      .hero-title{max-width:none}
    }
    @media (max-width: 768px){
      .site-shell{width:min(var(--container), calc(100% - 20px))}
      .topbar{padding:14px 0}
      .hero{padding-top:20px}
      .hero-card{border-radius:24px}
      .hero-grid{padding:22px}
      .hero-title{font-size:clamp(2rem, 8vw, 3rem)}
      .hero-panel{padding:18px}
      .hero-metrics{grid-template-columns:1fr}
      .trust-grid{grid-template-columns:1fr 1fr}
      .timeline{grid-template-columns:1fr}
      .contact-grid{grid-template-columns:1fr}
      .contact-form{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr}
      .section{padding:56px 0}
      .section-head{align-items:flex-start}
      .hidden-mobile{display:none !important}
      .menu-toggle{display:inline-flex}
      .header-actions .btn-secondary{display:none}
      .channel-tabs{padding-bottom:12px}
    }
    @media (max-width: 520px){
      .site-shell{width:min(var(--container), calc(100% - 16px))}
      .brand-badge{width:42px;height:42px;border-radius:15px}
      .brand-copy strong{font-size:.98rem}
      .brand-copy small{font-size:.78rem}
      .hero-grid{padding:18px}
      .hero-title{font-size:2.02rem}
      .hero-lead{font-size:.96rem}
      .hero-actions .btn{
        width:100%;
      }
      .trust-grid{grid-template-columns:1fr}
      .btn{width:auto}
      .contact-band{padding:20px}
      .contact-copy h2{font-size:1.5rem}
      .footer-bottom{flex-direction:column}
      .footer-links a{width:100%}
    }

/* roulang page: category1 */
:root{
      --bg: #f4f0ea;
      --bg-soft: #fbf8f3;
      --surface: #ffffff;
      --surface-2: #f7f4ef;
      --surface-dark: #191613;
      --surface-dark-2: #211d19;
      --ink: #161311;
      --muted: #685f57;
      --soft: #8a8279;
      --line: rgba(22,19,17,.10);
      --line-2: rgba(22,19,17,.16);
      --accent: #b58a45;
      --accent-2: #d8bc86;
      --accent-soft: rgba(181,138,69,.14);
      --shadow: 0 20px 50px rgba(22,19,17,.08);
      --shadow-2: 0 12px 28px rgba(22,19,17,.12);
      --radius-xl: 28px;
      --radius-lg: 22px;
      --radius-md: 16px;
      --radius-sm: 12px;
      --container: 1240px;
      --speed: 220ms cubic-bezier(.2,.7,.2,1);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,sans-serif;
      color:var(--ink);
      background:
        radial-gradient(circle at top right, rgba(181,138,69,.10), transparent 28%),
        radial-gradient(circle at 10% 0%, rgba(22,19,17,.06), transparent 24%),
        linear-gradient(180deg, #f7f3ed 0%, #f3eee7 38%, #f5f1eb 100%);
      line-height:1.72;
      text-rendering:optimizeLegibility;
      -webkit-font-smoothing:antialiased;
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background-image:linear-gradient(rgba(255,255,255,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px);
      background-size:52px 52px;
      opacity:.18;
      mask-image:linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,0) 18%, rgba(0,0,0,0) 82%, rgba(0,0,0,.22));
    }
    a{
      color:inherit;
      text-decoration:none;
      transition:color var(--speed), background var(--speed), border-color var(--speed), transform var(--speed), box-shadow var(--speed), opacity var(--speed);
    }
    a:hover{color:inherit}
    img{max-width:100%;display:block}
    button,input,textarea,select{
      font:inherit;
    }
    button{
      cursor:pointer;
    }
    ::selection{
      background:rgba(181,138,69,.22);
      color:var(--ink);
    }
    :focus{outline:none}
    :focus-visible{
      outline:3px solid rgba(181,138,69,.35);
      outline-offset:3px;
    }
    .skip-link{
      position:absolute;
      left:14px;
      top:-48px;
      z-index:1000;
      padding:10px 14px;
      border-radius:999px;
      background:var(--surface-dark);
      color:#fff;
      box-shadow:var(--shadow-2);
    }
    .skip-link:focus{top:12px}
    .site-shell{
      width:min(var(--container), calc(100% - 36px));
      margin:0 auto;
      position:relative;
    }
    .section-pad{
      padding:clamp(70px, 8vw, 112px) 0;
      position:relative;
    }
    .section-pad.tight{
      padding:clamp(56px, 6vw, 84px) 0;
    }
    .section-head{
      margin-bottom:28px;
      max-width:760px;
    }
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:12px;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:var(--accent);
      font-weight:700;
      margin-bottom:12px;
    }
    .section-kicker::before{
      content:"";
      width:26px;
      height:1px;
      background:linear-gradient(90deg, var(--accent), transparent);
      display:inline-block;
    }
    .section-title{
      margin:0;
      font-size:clamp(28px, 3vw, 48px);
      line-height:1.08;
      letter-spacing:-.03em;
      color:var(--ink);
      font-weight:800;
    }
    .section-lead{
      margin:14px 0 0;
      color:var(--muted);
      font-size:16px;
      max-width:680px;
    }
    .surface-card{
      background:rgba(255,255,255,.84);
      border:1px solid rgba(255,255,255,.75);
      border-radius:var(--radius-xl);
      box-shadow:var(--shadow);
      backdrop-filter:saturate(120%);
    }
    .surface-card.dark{
      background:linear-gradient(180deg, rgba(25,22,19,.98), rgba(33,29,25,.96));
      color:#f5efe4;
      border-color:rgba(255,255,255,.06);
      box-shadow:0 28px 70px rgba(13,10,8,.18);
    }
    .muted{
      color:var(--muted);
    }
    .micro{
      font-size:13px;
      color:var(--soft);
    }
    .badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 13px;
      border-radius:999px;
      background:var(--accent-soft);
      color:#8f6322;
      border:1px solid rgba(181,138,69,.22);
      font-size:13px;
      font-weight:700;
      letter-spacing:.02em;
    }
    .badge.dark{
      background:rgba(255,255,255,.06);
      color:#f3e5c4;
      border-color:rgba(255,255,255,.12);
    }
    .pill{
      display:inline-flex;
      align-items:center;
      min-height:40px;
      padding:0 14px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.72);
      color:var(--muted);
      font-size:14px;
      white-space:nowrap;
      transition:transform var(--speed), box-shadow var(--speed), border-color var(--speed), background var(--speed), color var(--speed);
    }
    .pill:hover{
      transform:translateY(-2px);
      border-color:rgba(181,138,69,.28);
      box-shadow:0 10px 22px rgba(22,19,17,.08);
      color:var(--ink);
    }
    .pill.active{
      background:var(--surface-dark);
      color:#fff;
      border-color:transparent;
      box-shadow:0 12px 26px rgba(22,19,17,.18);
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:46px;
      padding:0 20px;
      border-radius:999px;
      font-weight:700;
      font-size:15px;
      border:1px solid transparent;
      transition:transform var(--speed), box-shadow var(--speed), background var(--speed), color var(--speed), border-color var(--speed);
      will-change:transform;
    }
    .btn:hover{
      transform:translateY(-2px);
      box-shadow:var(--shadow-2);
    }
    .btn-primary{
      background:linear-gradient(180deg, #1d1916, #0f0d0b);
      color:#fff;
      border-color:rgba(255,255,255,.06);
    }
    .btn-primary:hover{
      color:#fff;
      box-shadow:0 18px 30px rgba(13,10,8,.24);
    }
    .btn-accent{
      background:linear-gradient(180deg, #c39a53, #a97d31);
      color:#20160a;
      border-color:rgba(255,255,255,.2);
    }
    .btn-accent:hover{
      color:#20160a;
      box-shadow:0 18px 32px rgba(181,138,69,.28);
    }
    .btn-ghost{
      background:rgba(255,255,255,.72);
      color:var(--ink);
      border-color:rgba(22,19,17,.12);
    }
    .btn-ghost:hover{
      background:#fff;
      color:var(--ink);
      border-color:rgba(181,138,69,.24);
    }
    .btn.block{
      width:100%;
    }
    .topbar{
      position:sticky;
      top:0;
      z-index:60;
      background:rgba(250,247,242,.82);
      backdrop-filter:blur(16px);
      border-bottom:1px solid rgba(22,19,17,.08);
    }
    .topbar-inner{
      display:grid;
      grid-template-columns:auto minmax(220px, 1fr) auto;
      align-items:center;
      gap:18px;
      padding:14px 0;
    }
    .brand{
      display:inline-flex;
      flex-direction:column;
      gap:2px;
      min-width:180px;
    }
    .brand-line{
      display:flex;
      align-items:baseline;
      gap:8px;
      line-height:1;
    }
    .brand-mark{
      font-size:26px;
      font-weight:900;
      letter-spacing:-.04em;
      color:var(--surface-dark);
    }
    .brand-sub{
      font-size:12px;
      letter-spacing:.18em;
      color:var(--accent);
      font-weight:700;
      text-transform:uppercase;
    }
    .brand-note{
      font-size:12px;
      color:var(--soft);
      letter-spacing:.08em;
    }
    .search-box{
      display:flex;
      align-items:center;
      gap:10px;
      justify-self:center;
      width:min(420px, 100%);
      padding:8px 10px 8px 16px;
      border-radius:999px;
      background:#fff;
      border:1px solid rgba(22,19,17,.10);
      box-shadow:0 10px 24px rgba(22,19,17,.04);
    }
    .search-box input{
      border:0;
      background:transparent;
      flex:1;
      min-width:0;
      height:28px;
      color:var(--ink);
      padding:0;
    }
    .search-box input::placeholder{color:#9a9085}
    .search-box button{
      border:0;
      border-radius:999px;
      background:var(--surface-dark);
      color:#fff;
      padding:8px 14px;
      min-height:36px;
      font-size:13px;
      font-weight:700;
      letter-spacing:.02em;
    }
    .search-box button:hover{
      background:#000;
    }
    .topbar-cta{
      justify-self:end;
    }
    .nav-strip{
      position:sticky;
      top:72px;
      z-index:55;
      border-bottom:1px solid rgba(22,19,17,.08);
      background:rgba(247,243,237,.82);
      backdrop-filter:blur(14px);
    }
    .channel-tabs{
      display:flex;
      align-items:center;
      gap:10px;
      overflow-x:auto;
      padding:12px 0;
      scrollbar-width:none;
    }
    .channel-tabs::-webkit-scrollbar{display:none}
    .channel-tabs a{
      display:inline-flex;
      align-items:center;
      min-height:38px;
      padding:0 15px;
      border-radius:999px;
      background:rgba(255,255,255,.74);
      color:var(--muted);
      border:1px solid rgba(22,19,17,.08);
      font-size:14px;
      white-space:nowrap;
      flex:0 0 auto;
    }
    .channel-tabs a:hover{
      color:var(--ink);
      border-color:rgba(181,138,69,.24);
      background:#fff;
      transform:translateY(-1px);
    }
    .channel-tabs a.active,
    .channel-tabs a[aria-current="page"]{
      background:var(--surface-dark);
      color:#fff;
      border-color:transparent;
      box-shadow:0 14px 26px rgba(22,19,17,.16);
    }
    .hero{
      padding:clamp(34px, 5vw, 60px) 0 clamp(56px, 8vw, 92px);
    }
    .hero-shell{
      position:relative;
      overflow:hidden;
    }
    .hero-shell::before,
    .hero-shell::after{
      content:"";
      position:absolute;
      border-radius:999px;
      filter:blur(2px);
      pointer-events:none;
    }
    .hero-shell::before{
      width:320px;
      height:320px;
      right:-110px;
      top:-120px;
      background:radial-gradient(circle, rgba(181,138,69,.20), transparent 68%);
      opacity:.95;
    }
    .hero-shell::after{
      width:220px;
      height:220px;
      left:-80px;
      bottom:-100px;
      background:radial-gradient(circle, rgba(22,19,17,.12), transparent 70%);
      opacity:.75;
    }
    .breadcrumb{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      align-items:center;
      font-size:13px;
      color:var(--soft);
      margin-bottom:18px;
    }
    .breadcrumb a{
      color:var(--muted);
    }
    .breadcrumb .sep{
      color:#b1a79d;
    }
    .hero-grid{
      position:relative;
      display:grid;
      grid-template-columns:minmax(0, 1.25fr) minmax(320px, .85fr);
      gap:26px;
      align-items:stretch;
    }
    .hero-copy{
      padding:clamp(20px, 2vw, 28px);
      border-radius:var(--radius-xl);
      background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.90));
      border:1px solid rgba(255,255,255,.9);
      box-shadow:var(--shadow);
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size:12px;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:var(--accent);
      font-weight:800;
      margin-bottom:16px;
    }
    .eyebrow::before{
      content:"";
      width:30px;
      height:1px;
      background:linear-gradient(90deg, var(--accent), transparent);
    }
    .hero h1{
      margin:0;
      font-size:clamp(38px, 5vw, 64px);
      line-height:1.02;
      letter-spacing:-.05em;
      color:var(--surface-dark);
      max-width:12ch;
      font-weight:900;
    }
    .hero p{
      margin:18px 0 0;
      font-size:17px;
      color:var(--muted);
      max-width:60ch;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:26px;
    }
    .hero-points{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:14px;
      margin:26px 0 0;
      padding:0;
      list-style:none;
    }
    .hero-points li{
      padding:16px 16px 15px;
      border-radius:18px;
      background:rgba(255,255,255,.72);
      border:1px solid rgba(22,19,17,.08);
      box-shadow:0 10px 22px rgba(22,19,17,.04);
    }
    .hero-points strong{
      display:block;
      font-size:16px;
      color:var(--surface-dark);
      margin-bottom:5px;
    }
    .hero-points span{
      display:block;
      font-size:13px;
      color:var(--muted);
      line-height:1.55;
    }
    .hero-panel{
      padding:clamp(20px, 2vw, 28px);
      border-radius:var(--radius-xl);
      background:linear-gradient(180deg, #191613 0%, #231f1b 100%);
      color:#f6f0e4;
      border:1px solid rgba(255,255,255,.05);
      box-shadow:0 24px 62px rgba(13,10,8,.20);
      position:relative;
      overflow:hidden;
    }
    .hero-panel::before{
      content:"";
      position:absolute;
      inset:auto -60px -80px auto;
      width:220px;
      height:220px;
      background:radial-gradient(circle, rgba(181,138,69,.24), transparent 68%);
      pointer-events:none;
    }
    .panel-head{
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:flex-start;
      margin-bottom:18px;
    }
    .panel-title{
      margin:0;
      font-size:22px;
      line-height:1.15;
      letter-spacing:-.03em;
      font-weight:800;
    }
    .panel-meta{
      color:#d8cfbf;
      font-size:13px;
    }
    .metric-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:12px;
      margin-top:18px;
    }
    .metric{
      padding:16px 14px;
      border-radius:18px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
      min-height:110px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .metric strong{
      font-size:28px;
      line-height:1;
      letter-spacing:-.04em;
      color:#f4deaf;
    }
    .metric span{
      font-size:13px;
      color:#e0d6c6;
      line-height:1.5;
    }
    .panel-list{
      margin:18px 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:10px;
    }
    .panel-list li{
      display:flex;
      align-items:flex-start;
      gap:10px;
      padding:13px 14px;
      border-radius:16px;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
      font-size:14px;
      color:#f4ede0;
    }
    .panel-list i{
      flex:0 0 auto;
      width:20px;
      height:20px;
      border-radius:50%;
      background:rgba(181,138,69,.22);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      font-style:normal;
      color:#f4deaf;
      font-weight:800;
      font-size:12px;
      margin-top:2px;
    }
    .section-band{
      background:linear-gradient(180deg, rgba(255,255,255,.36), rgba(247,242,236,.7));
      border-top:1px solid rgba(22,19,17,.05);
      border-bottom:1px solid rgba(22,19,17,.05);
    }
    .feature-grid{
      display:grid;
      grid-template-columns:minmax(0, 1.2fr) minmax(320px, .8fr);
      gap:22px;
      align-items:stretch;
    }
    .feature-card{
      padding:26px;
      border-radius:var(--radius-xl);
      background:rgba(255,255,255,.84);
      border:1px solid rgba(22,19,17,.08);
      box-shadow:var(--shadow);
      position:relative;
      overflow:hidden;
      transition:transform var(--speed), box-shadow var(--speed), border-color var(--speed);
    }
    .feature-card:hover{
      transform:translateY(-4px);
      box-shadow:0 24px 52px rgba(22,19,17,.11);
      border-color:rgba(181,138,69,.22);
    }
    .feature-card.dark{
      background:linear-gradient(180deg, #1b1714 0%, #23201c 100%);
      color:#f4ecde;
      border-color:rgba(255,255,255,.06);
    }
    .feature-card h3{
      margin:0;
      font-size:24px;
      line-height:1.2;
      letter-spacing:-.03em;
      color:inherit;
    }
    .feature-card p{
      margin:12px 0 0;
      color:inherit;
      opacity:.88;
    }
    .feature-stats{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:12px;
      margin-top:22px;
    }
    .stat-box{
      padding:16px 14px;
      border-radius:18px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
    }
    .feature-card:not(.dark) .stat-box{
      background:var(--surface-2);
      border-color:rgba(22,19,17,.08);
    }
    .stat-box strong{
      display:block;
      font-size:20px;
      line-height:1;
      color:var(--surface-dark);
      letter-spacing:-.03em;
      font-weight:900;
    }
    .feature-card.dark .stat-box strong{
      color:#f4deaf;
    }
    .stat-box span{
      display:block;
      font-size:13px;
      color:var(--muted);
      margin-top:6px;
      line-height:1.45;
    }
    .check-list{
      display:grid;
      gap:12px;
      margin:18px 0 0;
      padding:0;
      list-style:none;
    }
    .check-list li{
      position:relative;
      padding-left:28px;
      color:inherit;
      font-size:15px;
    }
    .check-list li::before{
      content:"";
      position:absolute;
      left:0;
      top:9px;
      width:15px;
      height:15px;
      border-radius:50%;
      background:
        radial-gradient(circle at center, #fff 0 2px, transparent 3px),
        linear-gradient(180deg, var(--accent), #9d742f);
      box-shadow:0 0 0 4px rgba(181,138,69,.14);
    }
    .mini-stack{
      display:grid;
      gap:14px;
    }
    .mini-card{
      padding:22px;
      border-radius:22px;
      background:rgba(255,255,255,.86);
      border:1px solid rgba(22,19,17,.08);
      box-shadow:var(--shadow);
      min-height:calc(50% - 7px);
    }
    .mini-card.dark{
      background:linear-gradient(180deg, #1d1916, #221f1b);
      color:#f6efe2;
      border-color:rgba(255,255,255,.06);
    }
    .mini-card h4{
      margin:0 0 10px;
      font-size:18px;
      letter-spacing:-.02em;
      font-weight:800;
      color:inherit;
    }
    .mini-card p{
      margin:0;
      color:inherit;
      opacity:.88;
      font-size:14px;
    }
    .mini-card .tag-row{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:14px;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      min-height:32px;
      padding:0 11px;
      border-radius:999px;
      background:rgba(181,138,69,.12);
      border:1px solid rgba(181,138,69,.18);
      color:#8b6327;
      font-size:13px;
      font-weight:700;
    }
    .tag.dark{
      background:rgba(255,255,255,.06);
      border-color:rgba(255,255,255,.1);
      color:#f4deaf;
    }
    .toolbar{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:20px;
    }
    .section-contrast{
      background:linear-gradient(180deg, rgba(25,22,19,.04), rgba(25,22,19,.0));
    }
    .grid-card{
      padding:24px;
      border-radius:24px;
      background:rgba(255,255,255,.84);
      border:1px solid rgba(22,19,17,.08);
      box-shadow:var(--shadow);
      height:100%;
      transition:transform var(--speed), box-shadow var(--speed), border-color var(--speed);
      position:relative;
      overflow:hidden;
    }
    .grid-card:hover{
      transform:translateY(-3px);
      box-shadow:0 24px 56px rgba(22,19,17,.12);
      border-color:rgba(181,138,69,.22);
    }
    .grid-card.featured{
      background:linear-gradient(180deg, #1b1714 0%, #29231f 100%);
      color:#f7efe2;
      border-color:rgba(255,255,255,.06);
    }
    .grid-card h3,
    .grid-card h4{
      margin:0;
      line-height:1.18;
      letter-spacing:-.03em;
      font-weight:850;
    }
    .grid-card h3{
      font-size:24px;
      color:inherit;
    }
    .grid-card h4{
      font-size:18px;
      color:inherit;
    }
    .grid-card p{
      margin:12px 0 0;
      color:inherit;
      opacity:.86;
    }
    .grid-card .card-foot{
      margin-top:18px;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }
    .chip-row{
      display:flex;
      gap:10px;
      overflow-x:auto;
      padding-bottom:2px;
      scrollbar-width:none;
      margin-top:18px;
    }
    .chip-row::-webkit-scrollbar{display:none}
    .catalog-grid{
      display:grid;
      grid-template-columns:repeat(12, minmax(0, 1fr));
      gap:18px;
      margin-top:26px;
    }
    .catalog-main{
      grid-column:span 8;
      display:grid;
      gap:18px;
    }
    .catalog-side{
      grid-column:span 4;
      display:grid;
      gap:18px;
      align-content:start;
    }
    .featured-card{
      padding:28px;
      border-radius:28px;
      background:linear-gradient(180deg, rgba(22,19,17,.98), rgba(33,29,25,.98));
      color:#f5ecde;
      border:1px solid rgba(255,255,255,.06);
      box-shadow:0 28px 58px rgba(13,10,8,.20);
    }
    .featured-card h3{
      margin:0;
      font-size:28px;
      line-height:1.1;
      letter-spacing:-.04em;
      color:#fff;
    }
    .featured-card p{
      margin:12px 0 0;
      color:#e3d9c9;
    }
    .scene-list{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:18px;
    }
    .scene-card{
      padding:24px;
      border-radius:24px;
      background:rgba(255,255,255,.86);
      border:1px solid rgba(22,19,17,.08);
      box-shadow:var(--shadow);
      min-height:190px;
      transition:transform var(--speed), box-shadow var(--speed), border-color var(--speed);
    }
    .scene-card:hover{
      transform:translateY(-3px);
      box-shadow:0 22px 52px rgba(22,19,17,.12);
      border-color:rgba(181,138,69,.22);
    }
    .scene-card.featured{
      background:linear-gradient(180deg, #1b1714 0%, #29231f 100%);
      color:#f6efe2;
      grid-row:span 2;
      min-height:calc(100% + 18px);
    }
    .scene-label{
      margin-bottom:12px;
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 11px;
      border-radius:999px;
      background:var(--accent-soft);
      color:#8a5f23;
      font-size:12px;
      font-weight:800;
      letter-spacing:.02em;
    }
    .scene-card.featured .scene-label{
      background:rgba(255,255,255,.08);
      color:#f4deaf;
    }
    .scene-card h3{
      margin:0;
      font-size:22px;
      line-height:1.18;
      letter-spacing:-.03em;
      font-weight:850;
      color:inherit;
    }
    .scene-card p{
      margin:12px 0 0;
      color:inherit;
      opacity:.86;
    }
    .scene-card ul{
      margin:18px 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:10px;
    }
    .scene-card li{
      position:relative;
      padding-left:18px;
      font-size:14px;
      color:inherit;
      opacity:.92;
    }
    .scene-card li::before{
      content:"";
      position:absolute;
      left:0;
      top:10px;
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--accent);
    }
    .steps{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:18px;
      margin-top:26px;
    }
    .step-card{
      padding:24px;
      border-radius:24px;
      background:rgba(255,255,255,.86);
      border:1px solid rgba(22,19,17,.08);
      box-shadow:var(--shadow);
      min-height:230px;
      position:relative;
      overflow:hidden;
      transition:transform var(--speed), box-shadow var(--speed), border-color var(--speed);
    }
    .step-card:hover{
      transform:translateY(-3px);
      box-shadow:0 24px 54px rgba(22,19,17,.11);
      border-color:rgba(181,138,69,.24);
    }
    .step-index{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:42px;
      height:42px;
      border-radius:14px;
      background:linear-gradient(180deg, #1c1815, #100e0c);
      color:#fff;
      font-size:16px;
      font-weight:800;
      margin-bottom:18px;
    }
    .step-card h3{
      margin:0;
      font-size:20px;
      line-height:1.18;
      letter-spacing:-.03em;
      font-weight:850;
    }
    .step-card p{
      margin:12px 0 0;
      color:var(--muted);
    }
    .step-card .mini-lines{
      margin-top:16px;
      display:grid;
      gap:10px;
    }
    .mini-line{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:var(--muted);
      font-size:14px;
    }
    .mini-line strong{
      flex:0 0 auto;
      width:18px;
      height:18px;
      border-radius:50%;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:rgba(181,138,69,.12);
      color:#8f6322;
      font-size:12px;
      margin-top:2px;
    }
    .faq-wrap{
      display:grid;
      grid-template-columns:minmax(0, 1fr) minmax(280px, 360px);
      gap:20px;
      align-items:start;
      margin-top:26px;
    }
    .faq-list{
      display:grid;
      gap:14px;
    }
    details.faq-item{
      border-radius:22px;
      background:rgba(255,255,255,.88);
      border:1px solid rgba(22,19,17,.08);
      box-shadow:var(--shadow);
      overflow:hidden;
      transition:border-color var(--speed), box-shadow var(--speed), transform var(--speed);
    }
    details.faq-item:hover{
      border-color:rgba(181,138,69,.22);
      box-shadow:0 20px 46px rgba(22,19,17,.10);
      transform:translateY(-2px);
    }
    details.faq-item[open]{
      border-color:rgba(181,138,69,.26);
    }
    details.faq-item summary{
      list-style:none;
      cursor:pointer;
      padding:20px 22px;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:16px;
      font-size:18px;
      font-weight:800;
      letter-spacing:-.02em;
      color:var(--surface-dark);
    }
    details.faq-item summary::-webkit-details-marker{display:none}
    .faq-arrow{
      flex:0 0 auto;
      width:28px;
      height:28px;
      border-radius:999px;
      background:rgba(181,138,69,.12);
      border:1px solid rgba(181,138,69,.16);
      position:relative;
      margin-top:2px;
    }
    .faq-arrow::before,
    .faq-arrow::after{
      content:"";
      position:absolute;
      left:50%;
      top:50%;
      width:10px;
      height:2px;
      border-radius:2px;
      background:#91662a;
      transform-origin:center;
      transition:transform var(--speed);
    }
    .faq-arrow::before{
      transform:translate(-50%, -50%) rotate(45deg) translateX(2px);
    }
    .faq-arrow::after{
      transform:translate(-50%, -50%) rotate(-45deg) translateX(-2px);
    }
    details[open] .faq-arrow::before{
      transform:translate(-50%, -50%) rotate(-45deg) translateX(2px);
    }
    details[open] .faq-arrow::after{
      transform:translate(-50%, -50%) rotate(45deg) translateX(-2px);
    }
    .faq-answer{
      padding:0 22px 20px;
      color:var(--muted);
    }
    .faq-side{
      padding:26px;
      border-radius:26px;
      background:linear-gradient(180deg, #1b1714, #26211c);
      color:#f7f0e2;
      border:1px solid rgba(255,255,255,.06);
      box-shadow:0 24px 54px rgba(13,10,8,.18);
      position:sticky;
      top:142px;
    }
    .faq-side h3{
      margin:0;
      font-size:24px;
      line-height:1.15;
      letter-spacing:-.03em;
      font-weight:850;
    }
    .faq-side p{
      margin:12px 0 0;
      color:#e0d5c4;
    }
    .faq-side .toolbar{
      margin-top:18px;
    }
    .contact-grid{
      display:grid;
      grid-template-columns:minmax(0, 1fr) minmax(320px, .78fr);
      gap:20px;
      align-items:stretch;
      margin-top:26px;
    }
    .contact-form,
    .contact-info{
      padding:26px;
      border-radius:28px;
      background:rgba(255,255,255,.88);
      border:1px solid rgba(22,19,17,.08);
      box-shadow:var(--shadow);
    }
    .contact-info{
      background:linear-gradient(180deg, #1b1714, #28231e);
      color:#f5ecde;
      border-color:rgba(255,255,255,.06);
    }
    .contact-info h3,
    .contact-form h3{
      margin:0;
      font-size:24px;
      line-height:1.15;
      letter-spacing:-.03em;
      font-weight:850;
    }
    .contact-info p,
    .contact-form p{
      margin:12px 0 0;
      color:inherit;
      opacity:.88;
    }
    .form-grid{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:14px;
      margin-top:20px;
    }
    .field.full{
      grid-column:1 / -1;
    }
    .field label{
      display:block;
      margin-bottom:8px;
      font-size:14px;
      font-weight:700;
      color:var(--ink);
    }
    .contact-info .field label{
      color:#f7efe2;
    }
    .input{
      width:100%;
      min-height:48px;
      border-radius:16px;
      border:1px solid rgba(22,19,17,.12);
      background:#fff;
      padding:12px 14px;
      color:var(--ink);
      transition:border-color var(--speed), box-shadow var(--speed), transform var(--speed), background var(--speed);
    }
    .input::placeholder{color:#a39a90}
    .input:focus{
      border-color:rgba(181,138,69,.34);
      box-shadow:0 0 0 4px rgba(181,138,69,.12);
    }
    textarea.input{
      min-height:120px;
      resize:vertical;
    }
    .note-box{
      margin-top:18px;
      padding:16px 18px;
      border-radius:20px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
      color:#f4e8d4;
    }
    .note-box strong{
      display:block;
      margin-bottom:6px;
      color:#fff;
      font-size:16px;
    }
    .contact-list{
      margin:18px 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:12px;
    }
    .contact-list li{
      display:flex;
      align-items:flex-start;
      gap:10px;
      padding:13px 14px;
      border-radius:18px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
      color:#f5ebdb;
    }
    .contact-list li i{
      flex:0 0 auto;
      width:20px;
      height:20px;
      border-radius:50%;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background:rgba(181,138,69,.18);
      color:#f4deaf;
      font-style:normal;
      font-size:12px;
      font-weight:800;
      margin-top:2px;
    }
    .submit-row{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:12px;
      margin-top:16px;
    }
    .form-status{
      margin-top:14px;
      min-height:24px;
      font-size:14px;
      color:#8f6322;
      font-weight:700;
    }
    .form-status.is-ok{
      color:#9a6a27;
    }
    .footer{
      margin-top:0;
      background:linear-gradient(180deg, #151311 0%, #0f0d0b 100%);
      color:#eee5d5;
      border-top:1px solid rgba(255,255,255,.06);
    }
    .footer-box{
      padding:54px 0 22px;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.25fr .75fr .7fr .9fr;
      gap:24px;
      align-items:start;
    }
    .footer-brand h3{
      margin:0 0 10px;
      font-size:28px;
      line-height:1.1;
      letter-spacing:-.04em;
      font-weight:900;
      color:#fff;
    }
    .footer-brand p{
      margin:0;
      color:#d7ccba;
      max-width:34ch;
    }
    .footer-title{
      font-size:14px;
      font-weight:800;
      color:#f5e5c6;
      margin-bottom:14px;
      letter-spacing:.08em;
    }
    .footer-links{
      display:grid;
      gap:10px;
    }
    .footer-links a{
      color:#d9cfbf;
    }
    .footer-links a:hover{
      color:#fff;
      transform:translateX(2px);
    }
    .footer-note{
      color:#d7ccba;
      font-size:14px;
      line-height:1.72;
    }
    .footer-bottom{
      margin-top:28px;
      padding-top:18px;
      border-top:1px solid rgba(255,255,255,.08);
      display:flex;
      justify-content:space-between;
      gap:16px;
      align-items:center;
      color:#cfc5b4;
      font-size:14px;
    }
    .backtop{
      color:#f6e9cf;
      font-weight:700;
    }
    .backtop:hover{
      color:#fff;
    }
    .reveal{
      opacity:0;
      transform:translateY(14px);
      transition:opacity .6s ease, transform .6s ease;
    }
    .reveal.is-visible{
      opacity:1;
      transform:none;
    }
    .float-cta{
      display:none;
      position:fixed;
      right:16px;
      bottom:16px;
      z-index:40;
      box-shadow:0 16px 30px rgba(22,19,17,.18);
    }
    .sr-only{
      position:absolute;
      width:1px;
      height:1px;
      padding:0;
      margin:-1px;
      overflow:hidden;
      clip:rect(0,0,0,0);
      white-space:nowrap;
      border:0;
    }
    @media (max-width: 1199px){
      .hero-grid,
      .feature-grid,
      .contact-grid,
      .faq-wrap{
        grid-template-columns:1fr;
      }
      .faq-side{
        position:relative;
        top:auto;
      }
      .catalog-main,
      .catalog-side{
        grid-column:1 / -1;
      }
      .steps{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
      .footer-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
      }
      .hero h1{
        max-width:14ch;
      }
    }
    @media (max-width: 768px){
      .topbar-inner{
        grid-template-columns:1fr auto;
        gap:12px;
      }
      .brand{
        grid-column:1 / -1;
        min-width:0;
      }
      .search-box{
        width:100%;
        justify-self:stretch;
        grid-column:1 / 2;
      }
      .topbar-cta{
        grid-column:2 / 3;
      }
      .nav-strip{
        top:0;
      }
      .channel-tabs{
        padding:10px 0 12px;
      }
      .hero{
        padding-top:24px;
      }
      .hero-points,
      .metric-grid,
      .feature-stats,
      .scene-list,
      .form-grid{
        grid-template-columns:1fr;
      }
      .hero-actions,
      .toolbar,
      .submit-row{
        flex-direction:column;
      }
      .hero-actions .btn,
      .toolbar .btn,
      .submit-row .btn{
        width:100%;
      }
      .scene-card.featured{
        grid-row:auto;
        min-height:auto;
      }
      .steps{
        grid-template-columns:1fr;
      }
      .footer-grid{
        grid-template-columns:1fr;
      }
      .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
      }
    }
    @media (max-width: 520px){
      .site-shell{
        width:calc(100% - 24px);
      }
      .brand-mark{
        font-size:22px;
      }
      .brand-sub{
        letter-spacing:.12em;
      }
      .hero h1{
        font-size:clamp(32px, 12vw, 42px);
      }
      .section-title{
        font-size:clamp(26px, 9vw, 34px);
      }
      .hero-copy,
      .hero-panel,
      .feature-card,
      .grid-card,
      .scene-card,
      .step-card,
      .contact-form,
      .contact-info{
        border-radius:22px;
      }
      .hero-points li,
      .metric,
      .stat-box{
        border-radius:16px;
      }
      .btn,
      .pill,
      .channel-tabs a{
        min-height:42px;
      }
      .search-box{
        padding:7px 9px 7px 12px;
      }
      .search-box button{
        padding:8px 12px;
      }
      .float-cta{
        display:inline-flex;
      }
    }
