/* roulang page: index */
:root{
      --ink:#171719;
      --ink-soft:#252528;
      --paper:#f5f1eb;
      --paper-deep:#e9e1d9;
      --white:#fffdfa;
      --berry:#963b5f;
      --berry-dark:#702b48;
      --coral:#e87868;
      --acid:#c6d66b;
      --muted:#777277;
      --line:#d7cec6;
      --shadow:0 16px 38px rgba(23,23,25,.10);
      --radius:8px;
      --ease:all .24s ease;
    }
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;font-size:16px;line-height:1.7}
    a{color:inherit;text-decoration:none;transition:var(--ease)}
    img{display:block;max-width:100%;height:auto}
    button,input,select{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid var(--acid);outline-offset:3px}
    .container{width:min(1180px,calc(100% - 40px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(245,241,235,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
    .nav-shell{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
    .brand{font-weight:900;letter-spacing:.02em;font-size:18px;white-space:nowrap}
    .brand-mark{display:inline-grid;place-items:center;background:var(--berry);color:var(--white);width:30px;height:30px;margin-right:9px;border-radius:4px;font-size:13px}
    .main-nav{display:flex;align-items:center;gap:26px;margin-left:auto}
    .main-nav a{font-size:14px;color:var(--muted);position:relative}
    .main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--berry);transition:var(--ease)}
    .main-nav a:hover,.main-nav a.active{color:var(--ink)}
    .main-nav a:hover::after,.main-nav a.active::after{right:0}
    .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:5px;padding:11px 18px;font-weight:700;font-size:14px;transition:var(--ease)}
    .button-primary{background:var(--berry);color:#fff}
    .button-primary:hover{background:var(--berry-dark);transform:translateY(-2px)}
    .button-dark{background:var(--ink);color:#fff}
    .button-dark:hover{background:var(--berry);transform:translateY(-2px)}
    .button-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
    .button-ghost:hover{background:var(--ink);color:#fff}
    .hero{position:relative;min-height:650px;background:var(--ink);color:var(--white);overflow:hidden;display:flex;align-items:center}
    .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(23,23,25,.98) 0%,rgba(23,23,25,.84) 48%,rgba(23,23,25,.35) 100%)}
    .hero-art{position:absolute;right:0;top:0;width:54%;height:100%;background:var(--berry-dark);clip-path:polygon(22% 0,100% 0,100% 100%,0 100%);opacity:.9}
    .hero-art::before{content:"";position:absolute;right:12%;top:14%;width:48%;height:72%;border:1px solid rgba(255,255,255,.32);transform:rotate(8deg)}
    .hero-art::after{content:"01";position:absolute;right:11%;bottom:7%;font-size:180px;line-height:1;font-weight:900;color:rgba(255,255,255,.12)}
    .hero-content{position:relative;z-index:1;padding:100px 0 110px;max-width:790px}
    .eyebrow,.section-kicker{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--coral);font-weight:800}
    h1,h2,h3{margin:0;line-height:1.16;font-weight:900}
    h1{font-size:clamp(44px,7vw,88px);max-width:850px;letter-spacing:.01em}
    .hero-copy{max-width:650px;font-size:18px;color:#ddd4d2;margin:28px 0 30px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px}
    .hero-meta{display:flex;gap:34px;margin-top:64px;padding-top:18px;border-top:1px solid rgba(255,255,255,.25)}
    .hero-meta strong{display:block;font-size:25px;color:var(--acid);line-height:1.2}
    .hero-meta span{font-size:13px;color:#c2b9b7}
    section{padding:100px 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}
    .section-head h2{font-size:clamp(30px,4vw,52px);max-width:650px}
    .section-head p{max-width:450px;color:var(--muted);margin:0}
    .story-band{background:var(--berry);color:#fff;padding:34px 0}
    .story-band p{font-size:clamp(22px,3vw,35px);font-weight:800;line-height:1.35;margin:0;max-width:950px}
    .matrix{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:14px}
    .matrix-item{min-height:210px;background:var(--white);border:1px solid var(--line);padding:28px;position:relative;overflow:hidden;transition:var(--ease)}
    .matrix-item:nth-child(2){background:var(--ink);color:#fff;transform:translateY(28px)}
    .matrix-item:nth-child(3){background:var(--paper-deep)}
    .matrix-item:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
    .matrix-item:nth-child(2):hover{transform:translateY(20px)}
    .number{font-size:13px;color:var(--berry);font-weight:900}
    .matrix-item:nth-child(2) .number{color:var(--acid)}
    .matrix-item h3{font-size:25px;margin:25px 0 10px}
    .matrix-item p{font-size:14px;color:var(--muted);margin:0}
    .matrix-item:nth-child(2) p{color:#c9c0bf}
    .text-link{display:inline-block;margin-top:22px;font-size:13px;font-weight:800;color:var(--berry)}
    .matrix-item:nth-child(2) .text-link{color:var(--acid)}
    .milestone{background:var(--ink);color:#fff}
    .milestone .section-kicker{color:var(--acid)}
    .milestone .section-head p{color:#bdb5b3}
    .timeline{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #514b4c}
    .timeline-item{padding:25px 22px 0 0;border-right:1px solid #514b4c;min-height:180px}
    .timeline-item:not(:first-child){padding-left:22px}
    .timeline-item:last-child{border-right:0}
    .timeline-item strong{font-size:42px;color:var(--coral);display:block}
    .timeline-item h3{font-size:18px;margin:10px 0}
    .timeline-item p{font-size:14px;color:#bdb5b3;margin:0}
    .filter-bar{background:var(--white);border:1px solid var(--line);padding:15px;display:flex;gap:10px;margin-bottom:28px}
    .filter-bar input,.filter-bar select{height:44px;border:1px solid var(--line);background:var(--paper);padding:0 13px;color:var(--ink);min-width:0}
    .filter-bar input{flex:1}
    .filter-bar select{width:170px}
    .news-layout{display:grid;grid-template-columns:1.5fr .8fr;gap:50px}
    .news-list{border-top:1px solid var(--ink)}
    .news-row{display:grid;grid-template-columns:90px 1fr auto;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
    .news-row time{font-size:13px;color:var(--muted)}
    .news-row h3{font-size:19px}
    .news-row p{margin:5px 0 0;color:var(--muted);font-size:14px}
    .arrow{font-size:22px;color:var(--berry)}
    .feature-panel{background:var(--paper-deep);padding:28px;border-left:5px solid var(--coral)}
    .feature-panel .badge{margin-bottom:45px}
    .feature-panel h3{font-size:30px;margin-bottom:16px}
    .feature-panel p{font-size:15px;color:var(--muted)}
    .badge{display:inline-block;background:var(--acid);color:var(--ink);padding:4px 9px;font-size:11px;font-weight:900;letter-spacing:.04em}
    .assurance{background:var(--paper-deep)}
    .assurance-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    .assurance-item{padding:25px 0;border-top:1px solid var(--ink);display:grid;grid-template-columns:55px 1fr;gap:16px}
    .assurance-item b{font-size:25px;color:var(--berry)}
    .assurance-item h3{font-size:19px;margin-bottom:7px}
    .assurance-item p{margin:0;color:var(--muted);font-size:14px}
    .pricing{background:var(--white)}
    .price-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
    .price-main{background:var(--ink);color:#fff;padding:38px;position:relative}
    .price-main .badge{background:var(--coral)}
    .price-main h3{font-size:33px;margin:26px 0 8px}
    .price{font-size:48px;font-weight:900;color:var(--acid)}
    .price small{font-size:14px;color:#bbb}
    .benefits{list-style:none;padding:0;margin:25px 0}
    .benefits li{padding:9px 0;border-bottom:1px solid #444044;color:#ddd}
    .benefits li::before{content:"✓";color:var(--acid);margin-right:10px}
    .price-note{border:1px solid var(--line);padding:30px}
    .price-note h3{font-size:24px;margin-bottom:14px}
    .price-note p{color:var(--muted);font-size:14px}
    .cta{background:var(--coral);padding:75px 0}
    .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}
    .cta h2{font-size:clamp(30px,4vw,55px);max-width:690px}
    .cta p{margin:12px 0 0;max-width:620px}
    .site-footer{background:var(--ink);color:#fff;padding:56px 0 25px}
    .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px;padding-bottom:45px;border-bottom:1px solid #484346}
    .footer-brand{font-size:22px;font-weight:900}
    .footer-grid p{color:#aaa2a0;font-size:14px;max-width:330px}
    .footer-grid h3{font-size:14px;color:var(--acid);margin-bottom:14px}
    .footer-links{list-style:none;padding:0;margin:0}
    .footer-links li{margin:8px 0;color:#c5bcba;font-size:14px}
    .footer-links a:hover{color:var(--coral)}
    .copyright{display:flex;justify-content:space-between;gap:20px;padding-top:22px;color:#8e8786;font-size:12px}
    .mobile-tabs{display:none}
    @media(max-width:900px){
      .main-nav{gap:15px}
      .matrix{grid-template-columns:1fr 1fr}
      .matrix-item:nth-child(3){grid-column:1/-1;transform:none}
      .timeline{grid-template-columns:1fr 1fr}
      .timeline-item:nth-child(2){border-right:0}
      .news-layout,.price-layout{grid-template-columns:1fr}
    }
    @media(max-width:640px){
      body{font-size:15px;padding-bottom:68px}
      .container{width:min(100% - 28px,560px)}
      .site-header{position:relative}
      .nav-shell{height:66px}
      .brand{font-size:14px}
      .brand-mark{width:26px;height:26px;margin-right:5px}
      .main-nav{display:none}
      .hero{min-height:570px}
      .hero-art{width:85%;opacity:.55}
      .hero-content{padding:70px 0 80px}
      h1{font-size:44px}
      .hero-copy{font-size:16px;margin:20px 0}
      .hero-meta{gap:18px;margin-top:42px}
      .hero-meta strong{font-size:20px}
      section{padding:68px 0}
      .section-head{display:block;margin-bottom:28px}
      .section-head p{margin-top:15px}
      .story-band{padding:25px 0}
      .story-band p{font-size:22px}
      .matrix{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
      .matrix-item{min-width:82%;scroll-snap-align:start}
      .matrix-item:nth-child(2){transform:none}
      .matrix-item:nth-child(2):hover{transform:translateY(-5px)}
      .timeline{grid-template-columns:1fr}
      .timeline-item,.timeline-item:not(:first-child){padding:20px 0;border-right:0;border-bottom:1px solid #514b4c;min-height:auto}
      .timeline-item:last-child{border-bottom:0}
      .filter-bar{display:grid;grid-template-columns:1fr 1fr}
      .filter-bar input{grid-column:1/-1;width:100%}
      .filter-bar select{width:100%}
      .filter-bar .button{grid-column:1/-1}
      .news-row{grid-template-columns:65px 1fr;gap:10px}
      .news-row .arrow{grid-column:2}
      .feature-panel{margin-top:10px}
      .assurance-grid{grid-template-columns:1fr}
      .price-main,.price-note{padding:27px}
      .cta-inner{display:block}
      .cta .button{margin-top:24px}
      .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
      .footer-grid>div:first-child{grid-column:1/-1}
      .copyright{display:block}
      .copyright span{display:block;margin-top:8px}
      .mobile-tabs{position:fixed;display:flex;bottom:0;left:0;right:0;height:62px;background:rgba(23,23,25,.97);z-index:30;border-top:1px solid #484346;justify-content:space-around}
      .mobile-tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aaa;font-size:11px;min-width:70px}
      .mobile-tabs a.active,.mobile-tabs a:hover{color:var(--acid)}
      .mobile-tabs b{font-size:18px;line-height:1;margin-bottom:2px}
    }
    @media(prefers-reduced-motion:reduce){
      *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
    }

/* roulang page: category1 */
:root{
 --ink:#171719;
 --ink-soft:#252528;
 --paper:#f5f1eb;
 --paper-deep:#e9e1d9;
 --white:#fffdfa;
 --berry:#963b5f;
 --berry-dark:#702b48;
 --coral:#e87868;
 --acid:#c6d66b;
 --muted:#777277;
 --line:#d7cec6;
 --shadow:0 16px 38px rgba(23,23,25,.10);
 --shadow-deep:0 22px 48px rgba(23,23,25,.18);
 --radius:8px;
 --ease:all .24s ease;
}
*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;
 background:var(--paper);
 color:var(--ink);
 font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;
 font-size:16px;
 line-height:1.7;
 -webkit-font-smoothing:antialiased;
}
body.is-loading{cursor:progress}
a{color:inherit;text-decoration:none;transition:var(--ease)}
a:hover{color:var(--berry)}
img{display:block;max-width:100%;height:auto}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.48}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,h4{line-height:1.18;font-weight:900}
ul{padding:0;margin:0;list-style:none}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.site-header{
 position:sticky;
 top:0;
 z-index:30;
 background:rgba(245,241,235,.95);
 border-bottom:1px solid var(--line);
 backdrop-filter:blur(12px);
}
.nav-shell{
 height:76px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:28px;
}
.brand{
 display:inline-flex;
 align-items:center;
 font-weight:900;
 letter-spacing:.02em;
 font-size:18px;
 white-space:nowrap;
}
.brand-mark{
 display:inline-grid;
 place-items:center;
 background:var(--berry);
 color:var(--white);
 width:30px;
 height:30px;
 margin-right:9px;
 border-radius:4px;
 font-size:13px;
}
.main-nav{
 display:flex;
 align-items:center;
 gap:26px;
 margin-left:auto;
}
.main-nav a{
 font-size:14px;
 color:var(--muted);
 position:relative;
}
.main-nav a::after{
 content:"";
 position:absolute;
 left:0;
 right:100%;
 bottom:-8px;
 height:2px;
 background:var(--berry);
 transition:var(--ease);
}
.main-nav a:hover,
.main-nav a.active{color:var(--ink)}
.main-nav a:hover::after,
.main-nav a.active::after{right:0}
.button{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 border:1px solid transparent;
 border-radius:5px;
 padding:11px 18px;
 font-weight:700;
 font-size:14px;
 transition:var(--ease);
}
.button:hover{transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible{
 outline:3px solid rgba(150,59,95,.28);
 outline-offset:3px;
}
.button-primary{background:var(--berry);color:#fff}
.button-primary:hover{background:var(--berry-dark);color:#fff}
.button-dark{background:var(--ink);color:#fff}
.button-dark:hover{background:var(--berry);color:#fff}
.button-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.button-ghost:hover{background:var(--ink);color:#fff}
.mobile-tabs{display:none}
.editor-hero{
 background:var(--ink);
 color:var(--white);
 padding:74px 0 68px;
 position:relative;
 overflow:hidden;
}
.editor-hero::after{
 content:"TOPIC / 01";
 position:absolute;
 right:5%;
 bottom:20px;
 color:rgba(255,255,255,.08);
 font-size:clamp(48px,9vw,128px);
 font-weight:900;
 letter-spacing:.04em;
 line-height:1;
}
.editor-layout{
 position:relative;
 z-index:1;
 display:grid;
 grid-template-columns:minmax(0,1fr) 360px;
 gap:70px;
 align-items:end;
}
.eyebrow,.section-kicker{
 color:var(--coral);
 font-size:12px;
 letter-spacing:.18em;
 font-weight:800;
 text-transform:uppercase;
}
.editor-hero h1{
 max-width:780px;
 margin:18px 0 22px;
 font-size:clamp(42px,7vw,82px);
 letter-spacing:.01em;
}
.editor-hero p{
 max-width:650px;
 margin:0;
 color:#d8cfcc;
 font-size:17px;
}
.hero-stamp{
 min-height:220px;
 border:1px solid rgba(255,255,255,.28);
 padding:24px;
 position:relative;
 background:var(--berry-dark);
}
.hero-stamp::before{
 content:"精选";
 position:absolute;
 top:20px;
 right:20px;
 border:1px solid rgba(255,255,255,.55);
 width:58px;
 height:58px;
 display:grid;
 place-items:center;
 color:var(--acid);
 font-size:13px;
}
.hero-stamp strong{
 display:block;
 margin-top:92px;
 font-size:24px;
}
.hero-stamp span{
 display:block;
 color:#d7ccca;
 font-size:13px;
 margin-top:5px;
}
.page-main{padding:78px 0 0}
.breadcrumb{
 display:flex;
 gap:10px;
 color:var(--muted);
 font-size:13px;
 margin-bottom:34px;
}
.breadcrumb a:hover{color:var(--berry)}
.browse-section{
 display:grid;
 grid-template-columns:250px minmax(0,1fr);
 gap:52px;
 align-items:start;
}
.filter-panel{
 position:sticky;
 top:102px;
 border-top:3px solid var(--ink);
 padding-top:20px;
}
.filter-panel h2{font-size:24px;margin-bottom:9px}
.filter-panel>p{font-size:13px;color:var(--muted);margin-bottom:25px}
.filter-toggle{
 display:none;
 width:100%;
 border:1px solid var(--line);
 background:var(--white);
 padding:12px 14px;
 text-align:left;
 font-weight:800;
}
.filter-form label{
 display:block;
 font-size:13px;
 font-weight:800;
 margin:17px 0 7px;
}
.filter-form input,
.filter-form select{
 width:100%;
 height:44px;
 border:1px solid var(--line);
 background:var(--white);
 color:var(--ink);
 padding:0 12px;
 border-radius:4px;
 transition:var(--ease);
}
.filter-form input:hover,
.filter-form select:hover{border-color:var(--berry)}
.filter-form input:focus,
.filter-form select:focus{
 border-color:var(--berry);
 box-shadow:0 0 0 3px rgba(150,59,95,.12);
 outline:0;
}
.form-actions{display:flex;gap:8px;margin-top:22px}
.form-actions .button{flex:1;padding-left:8px;padding-right:8px}
.form-note{font-size:12px;color:var(--muted);margin-top:14px}
.empty-state,
.loading-state{
 display:none;
 margin-top:18px;
 padding:16px;
 background:var(--paper-deep);
 border-left:3px solid var(--coral);
 color:var(--muted);
 font-size:13px;
}
.list-column{min-width:0}
.list-heading{
 display:flex;
 align-items:end;
 justify-content:space-between;
 gap:25px;
 border-bottom:1px solid var(--ink);
 padding-bottom:18px;
 margin-bottom:22px;
}
.list-heading h2{font-size:clamp(29px,4vw,48px);margin:0}
.list-heading p{font-size:13px;color:var(--muted);margin:0}
.feature-entry{
 display:grid;
 grid-template-columns:250px minmax(0,1fr);
 min-height:250px;
 background:var(--ink);
 color:#fff;
 margin-bottom:30px;
 overflow:hidden;
 box-shadow:var(--shadow);
}
.entry-cover{
 min-height:250px;
 background:var(--berry);
 position:relative;
 overflow:hidden;
}
.entry-cover::before{
 content:"01";
 position:absolute;
 left:20px;
 bottom:8px;
 color:rgba(255,255,255,.2);
 font-size:120px;
 line-height:1;
 font-weight:900;
}
.entry-cover::after{
 content:"";
 position:absolute;
 width:130px;
 height:190px;
 right:35px;
 top:28px;
 border:1px solid rgba(255,255,255,.6);
 transform:rotate(9deg);
}
.entry-cover span{
 position:absolute;
 z-index:1;
 top:22px;
 left:22px;
 color:var(--acid);
 font-size:12px;
 font-weight:900;
 letter-spacing:.13em;
}
.entry-content{padding:31px 34px}
.badge{
 display:inline-block;
 background:var(--acid);
 color:var(--ink);
 padding:4px 9px;
 font-size:11px;
 font-weight:900;
 letter-spacing:.04em;
}
.entry-content h3{font-size:30px;margin:24px 0 12px}
.entry-content p{color:#c9c0bf;font-size:14px;max-width:560px;margin-bottom:21px}
.entry-meta{
 display:flex;
 flex-wrap:wrap;
 gap:18px;
 color:#aaa09f;
 font-size:12px;
 margin-bottom:22px;
}
.entry-list{
 border-top:1px solid var(--ink);
}
.entry-row{
 display:grid;
 grid-template-columns:82px minmax(0,1fr) auto;
 gap:20px;
 align-items:center;
 padding:23px 0;
 border-bottom:1px solid var(--line);
 transition:var(--ease);
}
.entry-row:hover{padding-left:10px;background:rgba(255,253,250,.45)}
.entry-number{
 color:var(--berry);
 font-size:25px;
 font-weight:900;
}
.entry-row h3{font-size:19px;margin:0 0 5px}
.entry-row p{font-size:13px;color:var(--muted);margin:0}
.row-meta{font-size:12px;color:var(--muted);white-space:nowrap}
.row-arrow{font-size:22px;color:var(--berry);padding-left:8px}
.tags-strip{
 display:flex;
 flex-wrap:wrap;
 gap:8px;
 margin:34px 0 0;
}
.tag{
 display:inline-flex;
 align-items:center;
 border:1px solid var(--line);
 background:var(--white);
 color:var(--muted);
 padding:7px 12px;
 border-radius:3px;
 font-size:12px;
 transition:var(--ease);
}
.tag:hover,.tag.selected{
 background:var(--berry);
 border-color:var(--berry);
 color:#fff;
}
.pagination-wrap{
 display:flex;
 justify-content:center;
 align-items:center;
 gap:8px;
 padding:38px 0 20px;
}
.page-button{
 min-width:38px;
 height:38px;
 display:grid;
 place-items:center;
 border:1px solid var(--line);
 background:var(--white);
 color:var(--muted);
 border-radius:4px;
 font-size:13px;
}
.page-button:hover,.page-button.current{background:var(--ink);border-color:var(--ink);color:#fff}
.info-band{
 margin-top:90px;
 background:var(--paper-deep);
 padding:64px 0;
}
.info-grid{
 display:grid;
 grid-template-columns:1.1fr 1fr;
 gap:70px;
}
.info-grid h2{font-size:clamp(30px,4vw,49px);margin:13px 0 18px}
.info-grid>div>p{color:var(--muted);max-width:560px}
.rule-list{border-top:1px solid var(--ink)}
.rule-item{
 display:grid;
 grid-template-columns:42px 1fr;
 gap:14px;
 padding:18px 0;
 border-bottom:1px solid var(--line);
}
.rule-item b{color:var(--berry);font-size:18px}
.rule-item h3{font-size:17px;margin:0 0 5px}
.rule-item p{font-size:13px;color:var(--muted);margin:0}
.faq-section{padding:88px 0}
.faq-layout{
 display:grid;
 grid-template-columns:.75fr 1.25fr;
 gap:80px;
}
.faq-layout h2{font-size:clamp(31px,4vw,51px);margin:13px 0 18px}
.faq-layout .intro{color:var(--muted);font-size:14px}
.faq-list{border-top:1px solid var(--ink)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{
 list-style:none;
 cursor:pointer;
 padding:20px 38px 20px 0;
 font-weight:800;
 position:relative;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
 content:"+";
 position:absolute;
 right:7px;
 top:15px;
 font-size:25px;
 color:var(--berry);
 font-weight:400;
}
.faq-item[open] summary::after{content:"−"}
.faq-answer{padding:0 38px 20px 0;color:var(--muted);font-size:14px}
.cta{
 background:var(--coral);
 padding:65px 0;
}
.cta-inner{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:30px;
}
.cta h2{font-size:clamp(30px,4vw,53px);margin:0 0 10px}
.cta p{margin:0;max-width:600px;color:#4a292c}
.cta .button-dark{white-space:nowrap}
.site-footer{
 background:var(--ink);
 color:#fff;
 padding:62px 0 24px;
}
.footer-grid{
 display:grid;
 grid-template-columns:1.5fr 1fr 1fr;
 gap:50px;
 padding-bottom:48px;
}
.footer-brand{font-size:22px;font-weight:900;margin-bottom:12px}
.footer-grid p{color:#aaa09f;font-size:14px;max-width:370px;margin:0}
.footer-grid h3{font-size:14px;color:var(--acid);margin:0 0 16px}
.footer-links li{margin-bottom:9px}
.footer-links a{color:#c7bfbd;font-size:13px}
.footer-links a:hover{color:#fff}
.copyright{
 border-top:1px solid #403b3c;
 padding-top:19px;
 display:flex;
 justify-content:space-between;
 gap:20px;
 color:#8c8382;
 font-size:12px;
}
@media (max-width:1024px){
 .editor-layout{grid-template-columns:minmax(0,1fr) 290px;gap:38px}
 .browse-section{gap:32px}
 .feature-entry{grid-template-columns:210px minmax(0,1fr)}
 .faq-layout{gap:45px}
}
@media (max-width:768px){
 .container{width:min(100% - 32px,620px)}
 .nav-shell{height:68px}
 .main-nav a:not(.button){display:none}
 .main-nav{gap:0}
 .main-nav .button{padding:9px 13px}
 .brand{font-size:15px}
 .brand-mark{width:27px;height:27px;margin-right:7px}
 .editor-hero{padding:54px 0 48px}
 .editor-layout{display:block}
 .editor-hero h1{font-size:clamp(38px,10vw,62px);margin-top:14px}
 .editor-hero p{font-size:15px}
 .hero-stamp{margin-top:34px;min-height:145px}
 .hero-stamp strong{margin-top:54px;font-size:20px}
 .page-main{padding-top:48px}
 .browse-section{display:block}
 .filter-toggle{display:block}
 .filter-panel{position:static;border-top:0;padding:0;margin-bottom:30px}
 .filter-panel>p{margin-bottom:12px}
 .filter-form{display:none;padding:16px;background:var(--paper-deep);margin-top:10px}
 .filter-panel.open .filter-form{display:block}
 .list-heading{align-items:start;display:block}
 .list-heading p{margin-top:8px}
 .feature-entry{display:block}
 .entry-cover{min-height:145px}
 .entry-cover::before{font-size:90px}
 .entry-cover::after{height:110px;width:90px;right:25%;top:20px}
 .entry-content{padding:25px 22px}
 .entry-content h3{font-size:25px}
 .entry-row{grid-template-columns:45px minmax(0,1fr);gap:12px}
 .row-meta{grid-column:2;white-space:normal}
 .row-arrow{position:absolute;right:3px}
 .entry-row{position:relative;padding-right:28px}
 .info-grid,.faq-layout{display:block}
 .info-grid>div+div{margin-top:40px}
 .faq-layout .intro{margin-bottom:32px}
 .cta-inner{display:block}
 .cta .button{margin-top:24px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
 .footer-grid>div:first-child{grid-column:1/-1}
 .copyright{display:block}
 .copyright span{display:block;margin-bottom:5px}
 .mobile-tabs{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:40;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:rgba(23,23,25,.97);
  border-top:1px solid #403b3c;
  padding:7px 8px calc(7px + env(safe-area-inset-bottom));
 }
 .mobile-tabs a{
  color:#a9a1a0;
  text-align:center;
  font-size:11px;
  line-height:1.3;
 }
 .mobile-tabs a span{display:block;font-size:18px;margin-bottom:2px}
 .mobile-tabs a.active,.mobile-tabs a:hover{color:var(--acid)}
 body{padding-bottom:62px}
}
@media (max-width:520px){
 .container{width:calc(100% - 28px)}
 .main-nav .button{font-size:12px;padding:8px 10px}
 .editor-hero h1{font-size:39px}
 .editor-hero::after{font-size:45px}
 .hero-stamp{min-height:130px}
 .hero-stamp strong{margin-top:42px;font-size:18px}
 .section-kicker{font-size:11px}
 .form-actions{display:grid;grid-template-columns:1fr 1fr}
 .entry-content h3{font-size:22px}
 .pagination-wrap{padding-bottom:5px}
 .info-band,.faq-section{padding:60px 0}
 .footer-grid{grid-template-columns:1fr}
 .footer-grid>div:first-child{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}
