/* roulang page: index */
:root{
      --plum:#6f4b68;
      --plum-dark:#51354d;
      --ink:#2d252a;
      --muted:#6e6268;
      --sage:#809489;
      --apricot:#d9aa7b;
      --paper:#f5f1ec;
      --paper-deep:#eee7e8;
      --card:#fffdf9;
      --line:rgba(70,53,60,.13);
      --shadow:0 10px 30px rgba(48,35,41,.07);
      --shadow-hover:0 16px 35px rgba(48,35,41,.13);
      --radius-lg:20px;
      --radius:14px;
      --container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;background:var(--paper);color:var(--ink);
      font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
      font-size:16px;line-height:1.85;letter-spacing:.01em;
      -webkit-font-smoothing:antialiased;
    }
    a{color:inherit;text-decoration:none}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    img,svg{display:block;max-width:100%}
    :focus-visible{outline:3px solid rgba(111,75,104,.42);outline-offset:3px}
    .container{width:min(var(--container),calc(100% - 64px));margin:auto}
    .site-header{
      position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(70,53,60,.09);
      background:rgba(255,253,249,.86);backdrop-filter:blur(14px);
      transition:background .2s ease,box-shadow .2s ease;
    }
    .site-header.is-scrolled{background:rgba(255,253,249,.97);box-shadow:0 5px 18px rgba(48,35,41,.06)}
    .nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}
    .brand{display:flex;align-items:center;gap:10px;min-width:0;font-weight:800;color:var(--plum-dark);letter-spacing:-.03em}
    .brand-mark{width:31px;height:31px;border-radius:10px;background:var(--plum);position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
    .brand-mark:before,.brand-mark:after{content:"";position:absolute;border:1.5px solid #fffdf9;border-radius:50%}
    .brand-mark:before{width:11px;height:11px;top:6px;left:6px}
    .brand-mark:after{width:4px;height:4px;top:12px;left:12px;background:#fffdf9}
    .brand-name{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .main-nav{display:flex;align-items:center;gap:6px;margin-left:auto}
    .main-nav a{position:relative;min-height:44px;display:grid;place-items:center;padding:0 13px;color:var(--muted);font-size:14px;transition:color .2s}
    .main-nav a:after{content:"";position:absolute;bottom:5px;width:0;height:2px;border-radius:4px;background:var(--plum);transition:width .2s}
    .main-nav a:hover,.main-nav a.active{color:var(--plum-dark)}
    .main-nav a:hover:after,.main-nav a.active:after{width:25px}
    .nav-cta,.btn-primary{
      border:1px solid var(--plum);border-radius:999px;background:var(--plum);color:#fffdf9;
      min-height:44px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
      font-weight:700;font-size:14px;transition:transform .2s,background .2s,box-shadow .2s;
    }
    .nav-cta:hover,.btn-primary:hover{background:var(--plum-dark);transform:translateY(-1px);box-shadow:0 8px 18px rgba(81,53,77,.18)}
    .nav-cta:active,.btn-primary:active{transform:scale(.98)}
    .btn-secondary{
      min-height:44px;border-radius:999px;border:1px solid rgba(111,75,104,.45);background:rgba(255,253,249,.7);
      color:var(--plum-dark);padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
      font-weight:700;font-size:14px;transition:all .2s;
    }
    .btn-secondary:hover{background:#fffdf9;border-color:var(--plum);transform:translateY(-1px)}
    .hero{
      position:relative;overflow:hidden;padding:68px 0 46px;
      background:radial-gradient(circle at 72% 16%,rgba(111,75,104,.14),transparent 29%),radial-gradient(circle at 20% 80%,rgba(217,170,123,.18),transparent 33%);
    }
    .hero:before{content:"";position:absolute;inset:0;opacity:.28;background-image:radial-gradient(rgba(70,53,60,.3) .45px,transparent .6px);background-size:8px 8px;pointer-events:none}
    .hero .container{position:relative}
    .eyebrow,.section-kicker,.badge{
      display:inline-flex;align-items:center;gap:7px;line-height:1.4;border-radius:999px;
      padding:6px 10px;font-size:12px;font-weight:700;
    }
    .eyebrow{color:var(--plum-dark);background:rgba(255,253,249,.76);border:1px solid var(--line)}
    .dot{width:7px;height:7px;border-radius:50%;background:var(--apricot);box-shadow:0 0 0 4px rgba(217,170,123,.18)}
    .hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:42px;align-items:end}
    h1,h2,h3,p{margin-top:0}
    h1{margin:16px 0 18px;max-width:760px;font-size:clamp(33px,4.6vw,58px);line-height:1.18;letter-spacing:-.055em}
    .hero-intro{max-width:680px;color:#554a50;font-size:17px;line-height:1.9;margin-bottom:24px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:27px}
    .mini-points{display:flex;flex-wrap:wrap;gap:18px;color:var(--muted);font-size:13px}
    .mini-points span{display:flex;align-items:center;gap:7px}
    .mini-points svg{color:var(--sage)}
    .dashboard{background:rgba(255,253,249,.86);border:1px solid rgba(70,53,60,.13);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow)}
    .dashboard-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}
    .dashboard-title{font-weight:800;font-size:15px}
    .status{font-size:11px;color:#4c665a;background:#edf3ed;border:1px solid rgba(90,123,102,.18);padding:4px 8px;border-radius:999px;white-space:nowrap}
    .dash-main{padding:18px;border-radius:15px;color:#fffdf9;background:var(--plum);position:relative;overflow:hidden}
    .dash-main:after{content:"";position:absolute;width:160px;height:160px;border:1px solid rgba(255,255,255,.19);border-radius:50%;right:-56px;top:-56px}
    .metric-label{font-size:12px;opacity:.84}
    .metric-value{font-size:43px;font-weight:800;line-height:1.15;letter-spacing:-.05em;margin:7px 0}
    .metric-caption{font-size:12px;opacity:.82}
    .metric-row{display:grid;grid-template-columns:1.15fr 1fr;gap:10px;margin-top:10px}
    .metric-small{padding:13px 12px;background:#f8f4f0;border:1px solid var(--line);border-radius:12px}
    .metric-small strong{display:block;font-size:20px;line-height:1.25;letter-spacing:-.03em;color:var(--plum-dark)}
    .metric-small span{display:block;color:var(--muted);font-size:11px;margin-top:3px}
    .chart{margin-top:10px;padding:13px 13px 10px;border-radius:12px;background:#f8f4f0;border:1px solid var(--line)}
    .chart-head{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-bottom:5px}
    .section{padding:82px 0;scroll-margin-top:85px}
    .section-tone{background:var(--paper-deep)}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:31px}
    .section-head h2{font-size:clamp(25px,3.2vw,38px);line-height:1.28;letter-spacing:-.04em;margin:10px 0 0}
    .section-head p{max-width:480px;margin:0;color:var(--muted);font-size:14px;line-height:1.8}
    .section-kicker{padding:0;color:var(--plum);background:none}
    .section-kicker:before{content:"";width:23px;height:1px;background:var(--plum)}
    .matrix{display:grid;grid-template-columns:1.06fr 1.06fr .76fr;grid-template-rows:auto auto;gap:14px}
    .matrix-card{
      min-height:188px;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
      box-shadow:0 4px 14px rgba(48,35,41,.025);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;
    }
    .matrix-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:rgba(111,75,104,.55);background:#fffefa}
    .matrix-card.featured{grid-row:span 2;background:linear-gradient(145deg,#fffdf9,#f4eaef)}
    .matrix-card.slim{min-height:0;padding:17px}
    .card-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}
    .card-num{font-weight:800;color:var(--plum);font-variant-numeric:tabular-nums}
    .badge{padding:4px 8px;font-size:11px}
    .badge-focus{background:#eee3eb;color:#62405c}
    .badge-info{background:#e9efeb;color:#51665c}
    .badge-tip{background:#f6eada;color:#815a35}
    .matrix-card h3{font-size:20px;line-height:1.38;letter-spacing:-.03em;margin:19px 0 9px}
    .matrix-card p{font-size:13px;color:var(--muted);line-height:1.75;margin-bottom:16px}
    .text-link{margin-top:auto;display:inline-flex;align-items:center;gap:7px;color:var(--plum);font-size:13px;font-weight:700}
    .text-link:hover{text-decoration:underline;text-underline-offset:4px}
    .text-link svg{transition:transform .2s}
    .matrix-card:hover .text-link svg{transform:translateX(4px)}
    .news-layout{display:grid;grid-template-columns:1.38fr .62fr;gap:28px}
    .news-list{border-top:1px solid var(--line)}
    .news-item{display:grid;grid-template-columns:72px 1fr auto;gap:17px;align-items:center;padding:18px 2px;border-bottom:1px solid var(--line);transition:padding .2s}
    .news-item:hover{padding-left:8px}
    .news-date{font-size:12px;line-height:1.45;color:var(--muted)}
    .news-date b{display:block;font-size:16px;color:var(--plum-dark)}
    .news-item h3{font-size:16px;line-height:1.5;margin:0 0 4px}
    .news-item p{font-size:13px;color:var(--muted);line-height:1.65;margin:0}
    .arrow-link{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--plum);transition:all .2s}
    .news-item:hover .arrow-link{background:var(--plum);color:#fffdf9;border-color:var(--plum)}
    .side-note{padding:23px;background:var(--ink);color:#f7f0e8;border-radius:var(--radius);position:relative;overflow:hidden}
    .side-note:before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;border:1px solid rgba(255,255,255,.12);right:-70px;bottom:-70px}
    .side-note h3{font-size:21px;line-height:1.4;margin:12px 0 9px;position:relative}
    .side-note p{font-size:13px;line-height:1.8;color:rgba(247,240,232,.73);position:relative}
    .side-note ul{padding:0;margin:18px 0 0;list-style:none;position:relative}
    .side-note li{padding:10px 0;border-top:1px solid rgba(255,255,255,.13);font-size:13px}
    .compare-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:28px;align-items:start}
    .compare-intro{position:sticky;top:104px}
    .compare-intro h2{font-size:34px;line-height:1.3;letter-spacing:-.04em;margin:11px 0}
    .compare-intro p{font-size:14px;color:var(--muted)}
    .filter-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
    .filter-tags span{font-size:12px;border:1px solid var(--line);padding:6px 10px;border-radius:999px;background:rgba(255,253,249,.58);color:var(--muted)}
    .filter-tags span:first-child{border-color:rgba(111,75,104,.35);color:var(--plum);background:#f3e9ef}
    .compare-panel{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius-lg);overflow:hidden}
    .compare-title{display:grid;grid-template-columns:.72fr 1fr 1fr;background:#f2eaed;border-bottom:1px solid var(--line)}
    .compare-title div{padding:15px;font-size:12px;font-weight:800;color:var(--muted)}
    .compare-title div:last-child{color:var(--plum-dark);background:rgba(111,75,104,.08)}
    .compare-row{display:grid;grid-template-columns:.72fr 1fr 1fr;border-bottom:1px solid var(--line)}
    .compare-row:last-child{border-bottom:0}
    .compare-row div{padding:17px 15px;font-size:13px;line-height:1.7}
    .compare-row div:first-child{font-weight:800;color:var(--ink);background:#fbf8f4}
    .compare-row div:last-child{background:rgba(111,75,104,.045)}
    .compare-note{margin-top:13px;padding:12px 14px;border-left:3px solid var(--apricot);background:rgba(255,253,249,.52);font-size:12px;color:var(--muted);line-height:1.75}
    .safety-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}
    .safety-art{min-height:295px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(145deg,#7d596f,#4a3548);position:relative;overflow:hidden;display:grid;place-items:center}
    .safety-art:before,.safety-art:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.16)}
    .safety-art:before{width:370px;height:370px}
    .safety-art:after{width:246px;height:246px}
    .shield{z-index:1;width:103px;height:121px;border:2px solid rgba(255,253,249,.88);border-radius:49% 49% 42% 42% / 37% 37% 57% 57%;display:grid;place-items:center;color:#fffdf9}
    .shield svg{width:47px;height:47px}
    .safety-copy h2{font-size:35px;line-height:1.3;letter-spacing:-.04em;margin:10px 0 14px}
    .safety-copy>p{color:var(--muted);font-size:14px}
    .safety-list{margin:22px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
    .safety-list li{display:grid;grid-template-columns:33px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
    .safety-list i{width:28px;height:28px;border-radius:9px;background:#ece5e8;color:var(--plum);display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:800}
    .safety-list strong{display:block;font-size:14px}
    .safety-list span{display:block;color:var(--muted);font-size:12px;line-height:1.65;margin-top:2px}
    .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-question{width:100%;border:0;background:transparent;padding:17px 0;display:grid;grid-template-columns:36px 1fr 24px;gap:10px;text-align:left;align-items:center;color:var(--ink)}
    .faq-no{font-size:12px;color:var(--plum);font-weight:800}
    .faq-question strong{font-size:15px;line-height:1.5}
    .faq-icon{width:23px;height:23px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--plum);transition:transform .2s}
    .faq-item.open .faq-icon{transform:rotate(45deg);background:#f1e8ed}
    .faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}
    .faq-answer>div{overflow:hidden}
    .faq-item.open .faq-answer{grid-template-rows:1fr}
    .faq-answer p{margin:0;padding:0 10px 17px 46px;color:var(--muted);font-size:13px;line-height:1.85}
    .faq-footer{margin-top:22px;font-size:14px;color:var(--muted)}
    .form-section{padding:82px 0 100px;background:var(--paper-deep)}
    .form-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;padding:35px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
    .form-copy h2{font-size:34px;line-height:1.3;letter-spacing:-.04em;margin:11px 0 12px}
    .form-copy p{color:var(--muted);font-size:14px}
    .steps{padding:0;margin:24px 0;list-style:none;counter-reset:steps}
    .steps li{counter-increment:steps;display:flex;gap:11px;margin:13px 0;color:#554a50;font-size:13px}
    .steps li:before{content:counter(steps);flex:none;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#eee4e9;color:var(--plum);font-size:11px;font-weight:800}
    .privacy{font-size:12px!important;padding:12px 13px;background:#f7f2ed;border-left:3px solid var(--sage);border-radius:0 9px 9px 0}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
    .field.full{grid-column:1/-1}
    label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:#4a3c44}
    label em{font-style:normal;color:var(--plum);font-size:11px;margin-left:5px}
    input,select,textarea{width:100%;min-height:47px;border:1px solid rgba(70,53,60,.19);background:#fffefa;border-radius:12px;padding:11px 12px;color:var(--ink);outline:none;transition:border .2s,box-shadow .2s}
    textarea{min-height:100px;resize:vertical}
    input:focus,select:focus,textarea:focus{border-color:var(--plum);box-shadow:0 0 0 4px rgba(111,75,104,.11)}
    .form-agree{display:flex;gap:9px;align-items:flex-start;margin:15px 0;color:var(--muted);font-size:12px;line-height:1.65}
    .form-agree input{width:16px;min-height:16px;margin-top:2px;accent-color:var(--plum)}
    .submit-btn{width:100%;border-radius:12px;min-height:49px}
    .form-feedback{display:none;margin-top:12px;padding:11px 13px;border-radius:10px;font-size:13px}
    .form-feedback.success{background:#eaf1eb;color:#466151;border:1px solid rgba(70,97,81,.18)}
    .form-feedback.error{background:#f8ebe5;color:#805342;border:1px solid rgba(128,83,66,.18)}
    .site-footer{background:var(--ink);color:#eee5dd;padding:48px 0 27px}
    .footer-main{display:grid;grid-template-columns:1.15fr .85fr .8fr;gap:36px;padding-bottom:31px;border-bottom:1px solid rgba(255,255,255,.13)}
    .footer-brand{color:#fffaf3;font-size:18px;font-weight:800;margin-bottom:10px}
    .footer-copy{max-width:370px;color:rgba(238,229,221,.67);font-size:13px;line-height:1.8}
    .footer-title{font-size:13px;color:#fffaf3;font-weight:800;margin:3px 0 11px}
    .footer-links{display:grid;gap:7px;font-size:13px;color:rgba(238,229,221,.7)}
    .footer-links a:hover{color:#fffaf3;text-decoration:underline;text-underline-offset:4px}
    .footer-bottom{padding-top:19px;display:flex;justify-content:space-between;gap:14px;color:rgba(238,229,221,.5);font-size:12px}
    .mobile-tabs{display:none}
    @media(max-width:1024px){
      .hero-grid,.safety-wrap{grid-template-columns:1fr;gap:28px}
      .dashboard{max-width:700px}
      .matrix{grid-template-columns:1fr 1fr .78fr}
      .compare-grid{grid-template-columns:1fr}
      .compare-intro{position:static}
      .compare-intro h2{font-size:31px}
    }
    @media(max-width:768px){
      body{padding-bottom:82px}
      .container{width:min(var(--container),calc(100% - 48px))}
      .nav-wrap{height:65px}
      .main-nav,.nav-cta{display:none}
      .hero{padding:42px 0 33px}
      h1{font-size:35px}
      .hero-intro{font-size:16px}
      .section,.form-section{padding:58px 0}
      .section-head{display:block;margin-bottom:23px}
      .section-head p{margin-top:12px}
      .matrix{display:flex;flex-direction:column}
      .matrix-card,.matrix-card.featured{min-height:0}
      .news-layout{grid-template-columns:1fr}
      .side-note{min-height:0}
      .compare-title{display:none}
      .compare-panel{background:transparent;border:0;box-shadow:none;overflow:visible}
      .compare-row{grid-template-columns:1fr;gap:0;margin-bottom:12px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--card)}
      .compare-row div{padding:11px 14px;border-bottom:1px solid var(--line)}
      .compare-row div:last-child{border-bottom:0}
      .compare-row div:first-child{font-size:14px}
      .compare-row div:nth-child(2):before,.compare-row div:nth-child(3):before{display:block;color:var(--muted);font-size:11px;font-weight:700;margin-bottom:3px}
      .compare-row div:nth-child(2):before{content:"基础浏览"}
      .compare-row div:nth-child(3):before{content:"分类参考"}
      .faq-grid{grid-template-columns:1fr;gap:0}
      .form-panel{grid-template-columns:1fr;padding:25px;gap:23px}
      .footer-main{grid-template-columns:1fr 1fr}
      .footer-main>div:first-child{grid-column:1/-1}
      .mobile-tabs{
        display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:50;bottom:0;left:0;right:0;
        height:68px;padding-bottom:env(safe-area-inset-bottom);background:rgba(255,253,249,.94);backdrop-filter:blur(12px);
        border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(48,35,41,.08)
      }
      .mobile-tabs a{min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#776b70;font-size:11px}
      .mobile-tabs svg{width:19px;height:19px;stroke-width:1.8}
      .mobile-tabs a.active{color:var(--plum);font-weight:800}
    }
    @media(max-width:520px){
      .container{width:calc(100% - 32px)}
      .brand-name{font-size:14px}
      h1{font-size:31px}
      .hero-actions{display:grid;grid-template-columns:1fr}
      .hero-actions a{width:100%}
      .mini-points{gap:9px 14px}
      .metric-row{grid-template-columns:1fr 1fr}
      .section-head h2,.form-copy h2,.safety-copy h2{font-size:28px}
      .news-item{grid-template-columns:54px 1fr;gap:10px}
      .news-item .arrow-link{display:none}
      .form-grid{grid-template-columns:1fr}
      .field.full{grid-column:auto}
      .footer-main{grid-template-columns:1fr;gap:23px}
      .footer-main>div:first-child{grid-column:auto}
      .footer-bottom{display:block;line-height:1.8}
    }
    @media(prefers-reduced-motion:reduce){
      *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
    }

/* roulang page: category1 */
:root{
 --plum:#6f4b68;--plum-dark:#51354d;--ink:#2d252a;--muted:#6e6268;
 --sage:#809489;--apricot:#d9aa7b;--paper:#f5f1ec;--paper-deep:#eee7e8;
 --card:#fffdf9;--line:rgba(70,53,60,.13);--shadow:0 10px 30px rgba(48,35,41,.07);
 --shadow-hover:0 16px 35px rgba(48,35,41,.13);--radius-lg:20px;--radius:14px;--container:1180px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;font-size:16px;line-height:1.85;letter-spacing:.01em;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}
.container{width:min(var(--container),calc(100% - 64px));margin:auto}
.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(70,53,60,.09);background:rgba(255,253,249,.86);backdrop-filter:blur(14px);transition:.2s}
.site-header.is-scrolled{background:rgba(255,253,249,.97);box-shadow:0 5px 18px rgba(48,35,41,.06)}
.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:10px;min-width:0;font-weight:800;color:var(--plum-dark);letter-spacing:-.03em}
.brand-mark{width:31px;height:31px;border-radius:10px;background:var(--plum);position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);flex:none}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;border:1.5px solid #fffdf9;border-radius:50%}
.brand-mark:before{width:11px;height:11px;top:6px;left:6px}.brand-mark:after{width:4px;height:4px;top:12px;left:12px;background:#fffdf9}
.brand-name{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main-nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.main-nav a{position:relative;min-height:44px;display:grid;place-items:center;padding:0 13px;color:var(--muted);font-size:14px;transition:color .2s}
.main-nav a:after{content:"";position:absolute;bottom:5px;width:0;height:2px;border-radius:4px;background:var(--plum);transition:width .2s}
.main-nav a:hover,.main-nav a.active{color:var(--plum-dark)}
.main-nav a:hover:after,.main-nav a.active:after{width:25px}
.nav-cta,.btn-primary{border:1px solid var(--plum);border-radius:999px;background:var(--plum);color:#fffdf9;min-height:44px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;transition:transform .2s,background .2s,box-shadow .2s}
.nav-cta:hover,.btn-primary:hover{background:var(--plum-dark);transform:translateY(-1px);box-shadow:0 8px 18px rgba(81,53,77,.18)}
.nav-cta:active,.btn-primary:active{transform:scale(.98)}
.btn-secondary{min-height:44px;border-radius:999px;border:1px solid rgba(111,75,104,.45);background:rgba(255,253,249,.7);color:var(--plum-dark);padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;transition:.2s}
.btn-secondary:hover{background:#fffdf9;border-color:var(--plum);transform:translateY(-1px)}
:focus-visible{outline:3px solid rgba(111,75,104,.38);outline-offset:3px}
.hero{position:relative;overflow:hidden;padding:58px 0 48px;background:radial-gradient(circle at 75% 10%,rgba(111,75,104,.14),transparent 30%),radial-gradient(circle at 18% 80%,rgba(217,170,123,.18),transparent 34%)}
.hero:before{content:"";position:absolute;inset:0;opacity:.25;background-image:radial-gradient(rgba(70,53,60,.3) .45px,transparent .6px);background-size:8px 8px;pointer-events:none}
.hero .container{position:relative}
.crumbs{display:flex;gap:9px;color:var(--muted);font-size:13px;margin-bottom:25px}.crumbs a:hover{color:var(--plum);text-decoration:underline}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}
.eyebrow,.badge,.filter-tag{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;line-height:1.4}
.eyebrow{color:var(--plum-dark);background:rgba(255,253,249,.78);border:1px solid var(--line)}
h1{font-size:clamp(34px,5vw,62px);line-height:1.18;letter-spacing:-.055em;margin:18px 0 18px;max-width:720px}
.hero-copy{max-width:650px;color:#554a50;font-size:17px;line-height:1.9;margin:0 0 24px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.snapshot{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow)}
.snapshot-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:17px;border-bottom:1px solid var(--line)}
.snapshot-title{font-weight:800;font-size:17px}.status{font-size:12px;color:#5c7163;background:#e9efeb;border-radius:999px;padding:5px 9px}
.big-number{font-size:46px;line-height:1;font-weight:800;color:var(--plum-dark);font-variant-numeric:tabular-nums;margin:24px 0 4px}
.snapshot small{color:var(--muted);font-size:13px}
.mini-bars{display:flex;align-items:end;gap:7px;height:70px;margin:20px 0 9px;padding:0 4px;border-bottom:1px solid var(--line)}
.mini-bars i{display:block;flex:1;border-radius:5px 5px 0 0;background:var(--sage);opacity:.7}.mini-bars i:nth-child(1){height:35%}.mini-bars i:nth-child(2){height:52%}.mini-bars i:nth-child(3){height:44%}.mini-bars i:nth-child(4){height:70%;background:var(--plum)}.mini-bars i:nth-child(5){height:83%;background:var(--plum)}.mini-bars i:nth-child(6){height:64%;background:var(--apricot)}
.snapshot-note{font-size:12px;color:var(--muted)}
.section{padding:78px 0;scroll-margin-top:90px}.section-tone{background:var(--paper-deep)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:30px}
.section-kicker{color:var(--plum);font-size:13px;font-weight:800;letter-spacing:.08em}.section-head h2{font-size:clamp(27px,3.4vw,40px);line-height:1.28;letter-spacing:-.045em;margin:9px 0 0}.section-head p{max-width:470px;margin:0;color:var(--muted);font-size:14px}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:28px;align-items:start}
.topic-flow{display:grid;gap:12px}
.topic-item{display:grid;grid-template-columns:58px 1fr auto;gap:18px;align-items:start;padding:22px 24px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);transition:.2s}
.topic-item:hover{transform:translateY(-2px);border-color:rgba(111,75,104,.5);box-shadow:var(--shadow-hover)}
.topic-item.featured{padding:27px 25px;background:linear-gradient(135deg,#fffdf9,#f4eaef)}
.topic-index{color:var(--plum);font-size:25px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}
.topic-label{color:var(--sage);font-size:12px;font-weight:800;letter-spacing:.04em}.topic-item h3{font-size:20px;line-height:1.4;margin:5px 0 5px}.topic-item p{color:var(--muted);font-size:14px;line-height:1.75;margin:0}.topic-time{font-size:12px;color:var(--muted);white-space:nowrap}.topic-arrow{color:var(--plum);font-size:21px;align-self:center}
.index-side{position:sticky;top:102px;padding:21px;background:rgba(255,253,249,.7);border:1px solid var(--line);border-radius:var(--radius)}
.index-side h3{font-size:16px;margin:0 0 14px}.side-group{padding:17px 0;border-top:1px solid var(--line)}.side-group:first-of-type{border-top:0;padding-top:0}
.filter-tags{display:flex;flex-wrap:wrap;gap:8px}.filter-tag{padding:5px 9px;background:#eee3eb;color:#62405c}.filter-tag.sage{background:#e9efeb;color:#51665c}.filter-tag.apricot{background:#f6eada;color:#815a35}
.side-list{display:grid;gap:9px;margin:0;padding:0;list-style:none;color:var(--muted);font-size:13px}.side-list li:before{content:"—";color:var(--plum);margin-right:7px}
.divider-note{margin:17px 0 5px;padding:16px 18px;border-left:3px solid var(--apricot);background:#faf5ef;color:#66565a;font-size:14px;line-height:1.8}
.map{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:14px 0 38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.map a{position:relative;min-height:116px;padding:22px 19px 18px;border-right:1px solid var(--line);transition:.2s}.map a:last-child{border-right:0}.map a:hover{background:var(--card);color:var(--plum-dark)}
.map-num{display:block;color:var(--plum);font-weight:800;font-size:13px;margin-bottom:12px}.map strong{font-size:16px}.map a:after{content:"";position:absolute;right:-5px;top:50%;width:9px;height:9px;border-radius:50%;background:var(--paper);border:2px solid var(--plum);transform:translateY(-50%);z-index:1}.map a:last-child:after{display:none}
.stream{max-width:900px}.stream-block{display:grid;grid-template-columns:100px 1fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}.stream-no{color:var(--plum);font-size:14px;font-weight:800;letter-spacing:.08em}.stream-block h3{font-size:24px;line-height:1.35;margin:0 0 9px}.stream-block p{color:var(--muted);margin:0 0 14px;font-size:15px}.stream-tags{display:flex;gap:7px;flex-wrap:wrap}.stream-tags span{font-size:12px;color:var(--plum-dark);background:#eee3eb;border-radius:999px;padding:4px 9px}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px}.faq-item{border-bottom:1px solid var(--line);padding:16px 0}.faq-item summary{cursor:pointer;font-weight:700;list-style:none;padding-right:22px;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:0;color:var(--plum);font-size:20px;top:-3px}.faq-item[open] summary:after{content:"−"}.faq-answer{color:var(--muted);font-size:14px;line-height:1.8;padding:10px 0 2px}
.cta-panel{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:28px 31px;background:var(--plum);color:#fffdf9;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.cta-panel h2{font-size:26px;line-height:1.35;margin:0 0 6px}.cta-panel p{color:rgba(255,253,249,.76);font-size:14px;margin:0}.cta-panel .btn-secondary{background:#fffdf9;border-color:#fffdf9;color:var(--plum-dark)}
.site-footer{background:var(--ink);color:#eee6e1;padding:48px 0 24px}.footer-main{display:grid;grid-template-columns:1.5fr .7fr .9fr;gap:45px}.footer-brand{font-weight:800;font-size:19px;color:#fffdf9}.footer-copy{max-width:410px;color:#bcb0b2;font-size:13px;line-height:1.8}.footer-title{font-size:13px;font-weight:800;color:#fffdf9;margin-bottom:12px}.footer-links{display:grid;gap:7px;color:#bcb0b2;font-size:13px}.footer-links a:hover{color:#fffdf9;text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:17px;color:#968b8e;font-size:12px}
.mobile-tabs{display:none}
@media(max-width:900px){.container{width:min(var(--container),calc(100% - 48px))}.hero-grid{grid-template-columns:1fr;gap:30px}.content-layout{grid-template-columns:1fr}.index-side{position:static;order:-1}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}.map{grid-template-columns:repeat(2,1fr)}.map a:nth-child(2){border-right:0}.map a:nth-child(-n+2){border-bottom:1px solid var(--line)}.map a:nth-child(2):after{display:none}}
@media(max-width:700px){body{padding-bottom:78px}.container{width:calc(100% - 32px)}.nav-wrap{height:66px}.brand-name{font-size:14px}.main-nav,.nav-cta{display:none}.hero{padding:40px 0 35px}h1{font-size:38px}.hero-copy{font-size:16px}.section{padding:58px 0}.section-head{display:block;margin-bottom:23px}.section-head p{margin-top:12px}.topic-item,.topic-item.featured{grid-template-columns:39px 1fr;padding:18px 17px;gap:12px}.topic-time{grid-column:2}.topic-arrow{position:absolute;right:17px;top:20px}.topic-item{position:relative}.map{grid-template-columns:repeat(2,1fr)}.map a{min-height:100px;padding:17px 14px}.stream-block{grid-template-columns:1fr;gap:4px;padding:24px 0}.stream-block h3{font-size:21px}.faq-grid{grid-template-columns:1fr;gap:0}.cta-panel{display:block;padding:24px 21px}.cta-panel .btn-secondary{margin-top:18px}.footer-main{grid-template-columns:1fr;gap:25px}.footer-main>div:first-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}.mobile-tabs{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:40;bottom:0;left:0;right:0;height:68px;padding-bottom:env(safe-area-inset-bottom);background:rgba(255,253,249,.95);border-top:1px solid var(--line);box-shadow:0 -5px 18px rgba(48,35,41,.08)}.mobile-tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--muted);font-size:11px}.mobile-tabs svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}.mobile-tabs a.active{color:var(--plum);font-weight:800}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* roulang page: category2 */
:root{
 --plum:#6f4b68;
 --plum-dark:#51354d;
 --ink:#2d252a;
 --muted:#6e6268;
 --sage:#809489;
 --apricot:#d9aa7b;
 --paper:#f5f1ec;
 --paper-deep:#eee7e8;
 --card:#fffdf9;
 --line:rgba(70,53,60,.13);
 --shadow:0 10px 30px rgba(48,35,41,.07);
 --shadow-hover:0 16px 35px rgba(48,35,41,.13);
 --radius-lg:20px;
 --radius:14px;
 --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;background:var(--paper);color:var(--ink);
 font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
 font-size:16px;line-height:1.85;letter-spacing:.01em;
 -webkit-font-smoothing:antialiased;
}
body:after{
 content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;z-index:-1;
 background-image:radial-gradient(rgba(70,53,60,.35) .45px,transparent .6px);
 background-size:9px 9px;
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img,svg{display:block;max-width:100%}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{
 outline:3px solid rgba(111,75,104,.35);outline-offset:3px;
}
.container{width:min(var(--container),calc(100% - 64px));margin:auto}
.site-header{
 position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(70,53,60,.09);
 background:rgba(255,253,249,.86);backdrop-filter:blur(14px);
 transition:background .2s ease,box-shadow .2s ease;
}
.site-header.is-scrolled{background:rgba(255,253,249,.97);box-shadow:0 5px 18px rgba(48,35,41,.06)}
.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:10px;min-width:0;font-weight:800;color:var(--plum-dark);letter-spacing:-.03em}
.brand-mark{width:31px;height:31px;flex:0 0 31px;border-radius:10px;background:var(--plum);position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;border:1.5px solid #fffdf9;border-radius:50%}
.brand-mark:before{width:11px;height:11px;top:6px;left:6px}
.brand-mark:after{width:4px;height:4px;top:12px;left:12px;background:#fffdf9}
.brand-name{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main-nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.main-nav a{position:relative;min-height:44px;display:grid;place-items:center;padding:0 13px;color:var(--muted);font-size:14px;transition:color .2s}
.main-nav a:after{content:"";position:absolute;bottom:5px;width:0;height:2px;border-radius:4px;background:var(--plum);transition:width .2s}
.main-nav a:hover,.main-nav a.active{color:var(--plum-dark)}
.main-nav a:hover:after,.main-nav a.active:after{width:25px}
.nav-cta,.btn-primary{
 border:1px solid var(--plum);border-radius:999px;background:var(--plum);color:#fffdf9;
 min-height:44px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
 font-weight:700;font-size:14px;transition:transform .2s,background .2s,box-shadow .2s;
}
.nav-cta:hover,.btn-primary:hover{background:var(--plum-dark);transform:translateY(-1px);box-shadow:0 8px 18px rgba(81,53,77,.18)}
.nav-cta:active,.btn-primary:active{transform:scale(.98)}
.btn-secondary{
 min-height:44px;border-radius:999px;border:1px solid rgba(111,75,104,.45);background:rgba(255,253,249,.72);
 color:var(--plum-dark);padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
 font-weight:700;font-size:14px;transition:all .2s;
}
.btn-secondary:hover{background:#fffdf9;border-color:var(--plum);transform:translateY(-1px)}
.page-hero{
 position:relative;overflow:hidden;padding:55px 0 50px;
 background:radial-gradient(circle at 76% 18%,rgba(111,75,104,.15),transparent 30%),radial-gradient(circle at 18% 89%,rgba(217,170,123,.16),transparent 32%);
}
.page-hero:before{content:"";position:absolute;inset:0;opacity:.22;background-image:radial-gradient(rgba(70,53,60,.3) .45px,transparent .6px);background-size:8px 8px}
.page-hero .container{position:relative}
.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:21px;color:var(--muted);font-size:13px}
.breadcrumb a:hover{color:var(--plum);text-decoration:underline;text-underline-offset:3px}
.breadcrumb span:last-child{color:var(--plum-dark)}
.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:44px;align-items:end}
.eyebrow,.badge,.topic-pill{
 display:inline-flex;align-items:center;gap:7px;line-height:1.4;border-radius:999px;
 padding:6px 10px;font-size:12px;font-weight:700;
}
.eyebrow{color:var(--plum-dark);background:rgba(255,253,249,.76);border:1px solid var(--line)}
.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--apricot);box-shadow:0 0 0 3px rgba(217,170,123,.16)}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(31px,4.2vw,50px);line-height:1.2;letter-spacing:-.055em;margin:16px 0 17px;max-width:780px}
.hero-copy{max-width:690px;color:#554a50;font-size:16px;line-height:1.9;margin-bottom:22px}
.hero-meta{display:flex;gap:8px;flex-wrap:wrap}
.badge{padding:5px 9px;font-size:11px}
.badge-focus{background:#eee3eb;color:#62405c}
.badge-info{background:#e9efeb;color:#51665c}
.badge-tip{background:#f6eada;color:#815a35}
.status-board{background:rgba(255,253,249,.83);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow)}
.status-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:13px;font-weight:800}
.live-dot{display:inline-flex;align-items:center;gap:6px;color:var(--sage);font-size:12px;font-weight:700}
.live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sage)}
.status-list{list-style:none;padding:0;margin:13px 0 0}
.status-list li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;color:var(--muted);font-size:13px;border-bottom:1px dashed rgba(70,53,60,.11)}
.status-list li:last-child{border:0}
.status-list strong{color:var(--ink);font-variant-numeric:tabular-nums}
.section{padding:78px 0;scroll-margin-top:94px}
.section-tone{background:var(--paper-deep)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:30px}
.section-kicker{padding:0;color:var(--plum);background:none}
.section-kicker:before{content:"";width:23px;height:1px;background:var(--plum)}
.section-head h2{font-size:clamp(25px,3.2vw,38px);line-height:1.28;letter-spacing:-.04em;margin:10px 0 0}
.section-head p{max-width:490px;margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.map-panel{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius-lg);padding:28px}
.map-track{display:grid;grid-template-columns:repeat(5,1fr);position:relative;gap:10px}
.map-track:before{content:"";position:absolute;left:8%;right:8%;top:23px;height:1px;background:linear-gradient(90deg,var(--apricot),var(--plum),var(--sage))}
.map-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;min-height:118px;padding:0 5px;color:var(--muted);font-size:12px;line-height:1.55;transition:color .2s}
.map-node:hover{color:var(--plum-dark)}
.node-number{display:grid;place-items:center;width:47px;height:47px;border-radius:50%;border:1px solid rgba(111,75,104,.32);background:var(--card);color:var(--plum);font-weight:800;font-size:14px;box-shadow:0 4px 10px rgba(48,35,41,.06)}
.map-node.active .node-number{background:var(--plum);border-color:var(--plum);color:#fffdf9}
.map-node strong{font-size:13px;color:var(--ink)}
.map-note{margin:20px 0 0;padding:13px 15px;border-left:3px solid var(--apricot);background:#fcf5ed;border-radius:0 10px 10px 0;color:#715e51;font-size:13px;line-height:1.75}
.reference-layout{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:48px;align-items:start}
.reference-flow{min-width:0}
.reference-item{position:relative;padding:0 0 42px 43px;border-left:1px solid rgba(111,75,104,.25);scroll-margin-top:100px}
.reference-item:last-child{padding-bottom:0;border-left-color:transparent}
.reference-item:before{content:"";position:absolute;left:-7px;top:5px;width:13px;height:13px;border-radius:50%;background:var(--paper);border:3px solid var(--plum)}
.reference-item:nth-child(even):before{border-color:var(--sage)}
.reference-number{font-size:12px;color:var(--plum);font-weight:800;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.reference-card{padding:0 0 25px;border-bottom:1px solid var(--line)}
.reference-item:last-child .reference-card{border-bottom:0}
.reference-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:7px 0 11px}
.reference-card h3{margin:0;font-size:23px;line-height:1.4;letter-spacing:-.035em}
.reference-card p{max-width:730px;color:var(--muted);font-size:15px;line-height:1.85;margin-bottom:15px}
.tag-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:17px}
.topic-pill{padding:5px 9px;background:#f1ebed;color:#62405c;font-size:11px}
.topic-pill.sage{background:#e9efeb;color:#50665a}
.topic-pill.apricot{background:#f8edde;color:#805f40}
.detail-toggle{
 width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;
 min-height:44px;padding:0;border:0;background:transparent;color:var(--plum);font-size:13px;font-weight:800;
}
.detail-toggle span:last-child{font-size:19px;font-weight:400;transition:transform .2s}
.detail-toggle[aria-expanded="true"] span:last-child{transform:rotate(45deg)}
.detail-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}
.detail-content > div{overflow:hidden}
.detail-content p{margin:5px 0 0;padding:14px 16px;background:#faf5f6;border:1px solid rgba(111,75,104,.12);border-radius:10px;color:#695c62;font-size:13px;line-height:1.78}
.detail-content.open{grid-template-rows:1fr}
.related-link{display:inline-flex;align-items:center;gap:7px;margin-top:16px;color:var(--plum);font-size:13px;font-weight:800}
.related-link:hover{text-decoration:underline;text-underline-offset:4px}
.quick-panel{position:sticky;top:100px;padding:18px;background:rgba(255,253,249,.86);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.quick-panel h3{font-size:15px;margin:0 0 12px}
.quick-panel p{margin:0 0 13px;color:var(--muted);font-size:12px;line-height:1.72}
.quick-links{display:flex;flex-direction:column;gap:3px}
.quick-links a{display:flex;align-items:center;gap:9px;min-height:38px;padding:0 8px;border-radius:8px;color:var(--muted);font-size:12px;transition:background .2s,color .2s}
.quick-links a:before{content:"";width:6px;height:6px;border-radius:50%;background:#c6b5bf}
.quick-links a:hover,.quick-links a.current{color:var(--plum-dark);background:#f1e8ed}
.quick-links a.current:before{background:var(--plum)}
.mini-divider{height:1px;background:var(--line);margin:15px 0}
.mini-link{display:inline-flex;align-items:center;gap:6px;color:var(--plum);font-size:12px;font-weight:800}
.mini-link:hover{text-decoration:underline;text-underline-offset:3px}
.faq-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:start}
.faq-intro{padding:7px 0}
.faq-intro h2{font-size:clamp(27px,3.3vw,39px);line-height:1.3;letter-spacing:-.045em;margin:12px 0 14px}
.faq-intro p{color:var(--muted);font-size:15px;margin-bottom:22px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-button{width:100%;display:flex;align-items:center;gap:14px;padding:17px 3px;text-align:left;border:0;background:transparent;color:var(--ink);font-weight:800;line-height:1.55}
.faq-no{color:var(--plum);font-size:12px;font-variant-numeric:tabular-nums}
.faq-button span:nth-child(2){flex:1}
.faq-icon{width:25px;height:25px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--plum);font-size:18px;font-weight:400;transition:transform .2s}
.faq-button[aria-expanded="true"] .faq-icon{transform:rotate(45deg);background:#f1e8ed}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}
.faq-answer > div{overflow:hidden}
.faq-answer p{padding:0 42px 18px;margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.faq-answer.open{grid-template-rows:1fr}
.cta-box{display:grid;grid-template-columns:1fr auto;align-items:center;gap:26px;padding:31px 34px;background:var(--plum-dark);border-radius:var(--radius-lg);color:#fffdf9;box-shadow:var(--shadow)}
.cta-box .section-kicker{color:#ead9e3}
.cta-box .section-kicker:before{background:#ead9e3}
.cta-box h2{margin:8px 0 7px;font-size:29px;line-height:1.35;letter-spacing:-.04em}
.cta-box p{margin:0;color:#eadfe5;font-size:14px}
.cta-box .btn-primary{background:#fffdf9;border-color:#fffdf9;color:var(--plum-dark)}
.cta-box .btn-primary:hover{background:#f4e8ed;box-shadow:none}
.site-footer{background:var(--ink);color:#e7dfe1;padding:57px 0 22px;margin-top:78px}
.footer-main{display:grid;grid-template-columns:1.5fr .8fr .8fr;gap:48px;padding-bottom:37px}
.footer-brand{font-size:18px;font-weight:800;letter-spacing:-.035em;color:#fffaf7;margin-bottom:12px}
.footer-copy{max-width:420px;margin:0;color:#c7b9be;font-size:13px;line-height:1.8}
.footer-title{font-size:13px;color:#fffaf7;font-weight:800;margin:4px 0 12px}
.footer-links{display:flex;flex-direction:column;gap:8px}
.footer-links a{width:max-content;max-width:100%;color:#c7b9be;font-size:13px;transition:color .2s}
.footer-links a:hover{color:#fffaf7;text-decoration:underline;text-underline-offset:4px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:19px;display:flex;justify-content:space-between;gap:20px;color:#aa999f;font-size:12px}
.mobile-tabs{display:none}
@media (max-width:1024px){
 .hero-layout{grid-template-columns:1fr 300px;gap:28px}
 .reference-layout{grid-template-columns:minmax(0,1fr) 218px;gap:28px}
 .footer-main{gap:28px}
}
@media (max-width:768px){
 body{padding-bottom:83px}
 .container{width:min(var(--container),calc(100% - 32px))}
 .site-header{position:sticky}
 .nav-wrap{height:65px;gap:12px}
 .brand-name{font-size:14px;max-width:177px}
 .brand-mark{width:28px;height:28px;flex-basis:28px;border-radius:9px}
 .brand-mark:before{width:10px;height:10px;top:5px;left:5px}
 .brand-mark:after{top:10px;left:10px}
 .main-nav,.nav-cta{display:none}
 .page-hero{padding:36px 0 38px}
 .hero-layout{grid-template-columns:1fr;gap:22px}
 h1{font-size:32px}
 .status-board{padding:17px}
 .section{padding:59px 0}
 .section-head{display:block;margin-bottom:23px}
 .section-head p{margin-top:13px}
 .map-panel{padding:18px 10px}
 .map-track{overflow-x:auto;grid-template-columns:repeat(5,125px);padding:0 5px}
 .map-track:before{left:30px;right:auto;width:525px}
 .map-node{min-height:107px}
 .reference-layout{display:block}
 .quick-panel{position:relative;top:auto;margin-bottom:29px;overflow:hidden}
 .quick-links{flex-direction:row;overflow:auto;padding-bottom:2px}
 .quick-links a{white-space:nowrap;flex:0 0 auto}
 .reference-item{padding-left:31px;padding-bottom:31px}
 .reference-card h3{font-size:20px}
 .faq-wrap{grid-template-columns:1fr;gap:26px}
 .cta-box{grid-template-columns:1fr;padding:26px 22px;gap:18px}
 .cta-box h2{font-size:25px}
 .site-footer{margin-top:58px;padding-top:43px;padding-bottom:30px}
 .footer-main{grid-template-columns:1fr;gap:25px}
 .footer-bottom{display:block;line-height:1.8}
 .footer-bottom span{display:block}
 .mobile-tabs{
  position:fixed;display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch;
  left:0;right:0;bottom:0;z-index:50;height:66px;padding-bottom:env(safe-area-inset-bottom);
  background:rgba(255,253,249,.95);backdrop-filter:blur(15px);border-top:1px solid var(--line);
  box-shadow:0 -7px 22px rgba(48,35,41,.06);
 }
 .mobile-tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:58px;color:#82747a;font-size:11px;font-weight:700}
 .mobile-tabs svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.75}
 .mobile-tabs a.active{color:var(--plum)}
 .mobile-tabs a.active svg{stroke-width:2.2}
}
@media (max-width:520px){
 .hero-meta{gap:6px}
 .badge{font-size:10px;padding:4px 7px}
 .reference-title-row{display:block}
 .reference-title-row .badge{display:inline-flex;margin-top:10px}
 .reference-card p{font-size:14px}
 .faq-answer p{padding-left:31px;font-size:13px}
 .cta-box .btn-primary{width:100%}
}
@media (prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
