/* roulang page: index */
:root{
  --plum:#5a3448;
  --plum-dark:#3f2634;
  --ink:#241f23;
  --text:#383337;
  --muted:#756d70;
  --peach:#d58a72;
  --peach-pale:#f3dfd5;
  --cream:#f5f1ed;
  --paper:#fffdfc;
  --line:#ddd3cc;
  --soft-plum:#eee5e9;
  --green:#55725d;
  --error:#a3544b;
  --shadow:0 16px 38px rgba(51,32,43,.09);
  --shadow-hover:0 22px 44px rgba(51,32,43,.15);
  --radius:16px;
  --radius-sm:10px;
  --container:1180px;
  --ease:220ms ease-out;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--text);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;font-size:16px;line-height:1.8}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
::selection{background:var(--peach-pale);color:var(--plum-dark)}
.container{width:min(var(--container),calc(100% - 64px));margin:0 auto}
.skip-link{position:fixed;left:12px;top:-60px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:7px;z-index:2000;transition:top var(--ease)}
.skip-link:focus{top:12px}
.site-header{height:82px;background:rgba(255,253,252,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1000;transition:height var(--ease),box-shadow var(--ease)}
.site-header.scrolled{height:66px;box-shadow:0 8px 22px rgba(36,31,35,.08)}
.nav-shell{height:100%;max-width:1320px;margin:auto;padding:0 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}
.nav-side{display:flex;align-items:center;gap:25px}
.nav-side.right{justify-content:flex-end}
.nav-link{font-size:14px;font-weight:650;color:#62595d;position:relative;padding:9px 0;white-space:nowrap;transition:color var(--ease)}
.nav-link:after{content:"";height:2px;width:0;position:absolute;left:0;bottom:2px;background:var(--peach);transition:width var(--ease)}
.nav-link:hover,.nav-link.active{color:var(--plum)}
.nav-link:hover:after,.nav-link.active:after{width:100%}
.logo{font-family:"Source Han Serif SC","Songti SC",serif;color:var(--plum);font-size:18px;font-weight:800;letter-spacing:.06em;white-space:nowrap;display:flex;align-items:center;gap:9px}
.logo:before{content:"久";display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--plum);font-family:"PingFang SC",sans-serif;font-size:13px;letter-spacing:0}
.nav-action{border:1px solid var(--line);color:var(--plum);background:transparent;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:700;transition:all var(--ease)}
.nav-action:hover{border-color:var(--plum);background:var(--soft-plum)}
.menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent;color:var(--plum);padding:9px}
.menu-toggle span{width:21px;height:2px;background:currentColor;display:block;margin:4px auto;border-radius:2px;transition:transform var(--ease),opacity var(--ease)}
.mobile-drawer{display:none}
.hero{position:relative;overflow:hidden;padding:56px 0 62px;background:linear-gradient(130deg,#faf6f2 0%,#f5f1ed 58%,#eee5e9 100%)}
.hero:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(90,52,72,.13);border-radius:50%;right:-180px;top:-230px}
.hero:after{content:"";position:absolute;width:230px;height:360px;background:rgba(213,138,114,.12);right:10%;bottom:-210px;transform:rotate(28deg);border-radius:110px}
.hero-wrap{position:relative;z-index:1}
.hero-topline{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:25px}
.crumb,.eyebrow{color:var(--plum);font-size:13px;font-weight:750;letter-spacing:.09em}
.crumb span{color:var(--peach);margin:0 7px}
.age-note{font-size:13px;color:var(--muted);padding:5px 10px;border:1px solid var(--line);background:rgba(255,253,252,.65);border-radius:6px}
.coupon-wall{display:grid;grid-template-columns:1.12fr .88fr;gap:28px;min-height:474px;align-items:stretch}
.coupon-main{padding:39px 42px;background:var(--paper);border:1px solid #dac9d0;border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden}
.coupon-main:before{content:"访问凭证";position:absolute;right:-21px;top:24px;color:rgba(90,52,72,.055);font-family:Georgia,serif;font-size:87px;font-weight:bold;transform:rotate(90deg);white-space:nowrap}
.coupon-main h1{position:relative;font-family:"Source Han Serif SC","Songti SC",serif;color:var(--plum-dark);font-size:clamp(38px,4vw,58px);line-height:1.22;letter-spacing:.025em;margin:11px 0 17px;max-width:660px}
.coupon-main h1 em{font-style:normal;color:var(--peach);font-size:.45em;vertical-align:middle;letter-spacing:.12em;font-family:"PingFang SC",sans-serif}
.hero-copy{position:relative;max-width:650px;margin:0;color:#5e5559;line-height:1.9}
.hero-bottom{position:relative;display:flex;align-items:center;gap:16px;margin-top:27px;flex-wrap:wrap}
.btn{border:1px solid transparent;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 18px;border-radius:8px;font-size:15px;font-weight:750;transition:transform var(--ease),background var(--ease),border-color var(--ease),box-shadow var(--ease)}
.btn-primary{background:var(--plum);color:#fff}
.btn-primary:hover{background:var(--plum-dark);transform:translateY(-2px);box-shadow:0 9px 20px rgba(90,52,72,.23)}
.btn-secondary{color:var(--plum);border-color:#bcaab2;background:transparent}
.btn-secondary:hover{background:var(--soft-plum);border-color:var(--plum);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.coupon-code{font-size:13px;color:var(--muted);padding-left:2px}
.coupon-code strong{font-family:ui-monospace,monospace;letter-spacing:.1em;color:var(--plum)}
.coupon-side{display:grid;grid-template-rows:1.08fr .92fr;gap:18px}
.index-card,.mini-coupon{border-radius:var(--radius);border:1px solid rgba(90,52,72,.17);overflow:hidden}
.index-card{background:var(--plum);color:#fff;padding:28px;position:relative}
.index-card:before{content:"01";position:absolute;right:24px;top:12px;font:700 70px/1 Georgia,serif;color:rgba(255,255,255,.09)}
.index-card .card-label{color:#ffd6c9;border-color:rgba(255,214,201,.4)}
.card-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.08em;font-weight:750;border-bottom:1px solid currentColor;padding-bottom:3px}
.index-card h2{font-family:"Source Han Serif SC","Songti SC",serif;font-size:27px;line-height:1.35;position:relative;margin:17px 0 9px}
.index-card p{font-size:14px;line-height:1.75;color:#e6dce0;margin:0;position:relative}
.index-lines{position:relative;margin-top:22px}
.index-lines i{height:1px;background:rgba(255,255,255,.28);display:block;margin-top:9px}
.index-lines i:nth-child(2){width:76%}.index-lines i:nth-child(3){width:53%}
.mini-coupon{background:var(--peach-pale);padding:21px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.mini-coupon strong{color:var(--plum-dark);font-size:17px;display:block}
.mini-coupon span{font-size:13px;color:#785c5b}
.round-arrow{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--plum);font-size:19px;transition:transform var(--ease)}
.mini-coupon:hover .round-arrow{transform:translateX(4px)}
.section{padding:104px 0}
.section-head{max-width:720px;margin-bottom:38px}
.section-kicker{display:flex;align-items:center;gap:10px;color:var(--peach);font-size:13px;font-weight:800;letter-spacing:.11em;margin-bottom:9px}
.section-kicker:before{content:"";width:25px;height:1px;background:currentColor}
.section h2{font-family:"Source Han Serif SC","Songti SC",serif;font-size:clamp(29px,3vw,41px);line-height:1.3;color:var(--plum-dark);margin:0 0 12px;letter-spacing:.02em}
.section-head p{margin:0;color:var(--muted);max-width:680px}
.calendar{padding-top:92px}
.calendar-layout{display:grid;grid-template-columns:260px 1fr;gap:42px;align-items:start}
.calendar-side{padding-top:4px}
.calendar-side p{color:var(--muted);font-size:15px;margin:12px 0 0}
.calendar-days{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.day-item{background:var(--paper);padding:20px 18px;min-height:160px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background var(--ease),transform var(--ease)}
.day-item:hover{background:#fcf5f1;transform:translateY(-3px)}
.day-date{font-size:13px;color:var(--peach);font-weight:800}
.day-item strong{display:block;color:var(--plum);font-size:17px;line-height:1.5;margin:9px 0 5px}
.day-item small{font-size:13px;color:var(--muted);line-height:1.55;display:block}
.topic-section{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.topic-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:18px}
.topic-card{min-height:272px;padding:25px;border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden;background:#fffdfc;display:flex;flex-direction:column;transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease)}
.topic-card:hover{transform:translateY(-5px);border-color:var(--plum);box-shadow:var(--shadow)}
.topic-card.large{background:var(--soft-plum);min-height:328px}
.topic-card.peach{background:#fbefe9}
.topic-card .number{font:700 44px/1 Georgia,serif;color:rgba(90,52,72,.2);margin-bottom:auto}
.topic-card h3{font-size:21px;line-height:1.45;color:var(--plum-dark);margin:12px 0 8px}
.topic-card p{font-size:14px;color:var(--muted);margin:0;line-height:1.75;max-width:350px}
.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:19px;font-size:13px;color:var(--plum);font-weight:750}
.card-foot b{font-size:20px;font-weight:400;transition:transform var(--ease)}
.topic-card:hover .card-foot b{transform:translateX(5px)}
.dashboard{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.dashboard:after{content:"INDEX";font:700 190px/1 Georgia,serif;color:rgba(255,255,255,.025);position:absolute;right:-15px;bottom:-45px}
.dashboard .section-head{position:relative;z-index:1}
.dashboard .section-kicker{color:var(--peach)}
.dashboard h2{color:#fffaf7}
.dashboard .section-head p{color:#d8cdd1}
.stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}
.stat{padding:28px 28px 28px 0;border-right:1px solid rgba(255,255,255,.2);margin-right:28px}
.stat:last-child{border-right:0;margin-right:0}
.stat strong{display:block;color:var(--peach);font:700 49px/1.1 Georgia,"Songti SC",serif}
.stat span{display:block;font-weight:750;margin-top:11px}
.stat small{display:block;font-size:13px;line-height:1.6;color:#cbbfc4;margin-top:4px}
.ruler{position:relative;z-index:1;display:flex;justify-content:space-between;color:#bcaeb5;font-size:11px;letter-spacing:.1em;margin-top:25px}
.ruler i{height:7px;border-left:1px solid rgba(213,138,114,.75)}
.news-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:54px}
.news-list{border-top:1px solid var(--line)}
.news-item{display:grid;grid-template-columns:75px 1fr auto;gap:17px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line);transition:padding var(--ease)}
.news-item:hover{padding-left:8px}
.news-date{font:700 15px/1.25 Georgia,serif;color:var(--peach)}
.news-date small{font:500 11px "PingFang SC",sans-serif;color:var(--muted);display:block;margin-top:3px}
.news-item h3{font-size:17px;line-height:1.5;margin:0;color:var(--plum-dark)}
.news-item p{font-size:13px;color:var(--muted);line-height:1.6;margin:4px 0 0}
.news-arrow{font-size:21px;color:var(--plum);transition:transform var(--ease)}
.news-item:hover .news-arrow{transform:translateX(4px)}
.opinion{background:var(--plum);color:#fff;border-radius:var(--radius);padding:34px;position:relative;min-height:100%}
.opinion:before{content:"“";font:90px/1 Georgia,serif;position:absolute;right:24px;top:16px;color:rgba(255,255,255,.12)}
.opinion .section-kicker{color:#ffd4c5;position:relative}
.opinion h3{font-family:"Source Han Serif SC","Songti SC",serif;font-size:25px;line-height:1.45;margin:14px 0;position:relative}
.opinion p{font-size:14px;color:#eadfe3;line-height:1.85;position:relative;margin:0}
.opinion a{display:inline-flex;margin-top:20px;font-size:14px;color:#fff;border-bottom:1px solid #f0b7a5;padding-bottom:3px;position:relative}
.guide-section{background:#f0e9e5}
.guide-layout{display:grid;grid-template-columns:32% 1fr;gap:43px}
.guide-steps{border-left:1px solid #cbbcc2}
.guide-step{display:block;width:100%;border:0;border-left:3px solid transparent;background:transparent;text-align:left;padding:15px 17px;color:var(--muted);transition:all var(--ease)}
.guide-step span{display:block;font-size:12px;color:var(--peach);font-weight:800;letter-spacing:.08em}
.guide-step strong{display:block;font-size:17px;color:inherit;margin-top:3px}
.guide-step:hover,.guide-step.active{color:var(--plum);border-left-color:var(--peach);background:rgba(255,253,252,.56)}
.guide-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:34px 38px;box-shadow:0 10px 24px rgba(58,39,45,.05)}
.guide-panel .panel-count{font:700 15px Georgia,serif;color:var(--peach)}
.guide-panel h3{font-family:"Source Han Serif SC","Songti SC",serif;color:var(--plum-dark);font-size:28px;line-height:1.4;margin:8px 0 12px}
.guide-panel p{color:var(--muted);margin:0}
.check-list{list-style:none;padding:0;margin:22px 0;display:grid;grid-template-columns:1fr 1fr;gap:9px 20px}
.check-list li{font-size:14px;color:#564d51}
.check-list li:before{content:"✓";color:var(--peach);font-weight:900;margin-right:9px}
.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:78px}
.faq-intro{padding-top:8px}
.faq-intro .large-no{font:700 82px/1 Georgia,serif;color:#dac9d0;margin:8px 0}
.faq-intro p{font-size:14px;color:var(--muted);max-width:260px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-question{width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;padding:20px 4px;color:var(--plum-dark);font-weight:750;font-size:17px;line-height:1.5}
.faq-question:hover{color:var(--plum)}
.faq-question:focus-visible,.guide-step:focus-visible,.nav-link:focus-visible,.btn:focus-visible,.news-item:focus-visible{outline:3px solid rgba(213,138,114,.58);outline-offset:4px}
.faq-icon{flex:0 0 auto;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:400;transition:transform var(--ease),background var(--ease)}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--soft-plum);border-color:var(--plum)}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows 280ms ease}
.faq-answer>div{overflow:hidden}
.faq-answer p{margin:0;padding:0 4px 0;color:var(--muted);font-size:15px;line-height:1.85}
.faq-item.open .faq-answer{grid-template-rows:1fr}
.faq-item.open .faq-answer p{padding-bottom:21px}
.feedback{padding-top:0}
.feedback-panel{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid #dfbcae;border-radius:var(--radius);overflow:hidden;background:var(--paper)}
.feedback-copy{padding:38px;background:var(--peach-pale)}
.feedback-copy h2{font-family:"Source Han Serif SC","Songti SC",serif;color:var(--plum-dark);font-size:31px;line-height:1.35;margin:10px 0}
.feedback-copy p{font-size:14px;color:#715b5b;margin:0}
.feedback-copy .privacy{font-size:12px;line-height:1.65;margin-top:24px;color:#805f59}
.feedback-form{padding:30px 35px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field.full{grid-column:1/-1}
.field label{font-size:13px;font-weight:750;color:#5b5055}
.field input,.field select,.field textarea{width:100%;background:#fff;border:1px solid #d7ccc7;border-radius:8px;color:var(--text);padding:10px 12px;outline:0;transition:border var(--ease),box-shadow var(--ease)}
.field input,.field select{height:47px}
.field textarea{min-height:120px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#a49b9d}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--plum);box-shadow:0 0 0 3px rgba(90,52,72,.12)}
.consent{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:flex-start;margin:2px 0 16px}
.consent input{margin-top:4px;accent-color:var(--plum)}
.form-status{display:none;font-size:13px;margin-top:12px;padding:8px 10px;border-radius:6px}
.form-status.success{background:#e5eee5;color:var(--green);display:block}
.form-status.error{background:#f4e1df;color:var(--error);display:block}
.site-footer{background:var(--ink);color:#e4dadd;padding:53px 0 24px;border-top:1px solid rgba(255,255,255,.1)}
.footer-top{display:grid;grid-template-columns:1.15fr .85fr .7fr;gap:40px;padding-bottom:35px;border-bottom:1px solid rgba(255,255,255,.15)}
.footer-brand .logo{color:#fffaf7;margin-bottom:12px}
.footer-brand .logo:before{border-color:#fffaf7}
.footer-brand p{font-size:13px;line-height:1.8;color:#bdb0b6;margin:0;max-width:330px}
.footer-col h3{font-size:13px;color:#f7e7e0;margin:0 0 12px;letter-spacing:.08em}
.footer-col a{display:block;font-size:13px;color:#bdb0b6;padding:4px 0;transition:color var(--ease)}
.footer-col a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:20px;font-size:12px;color:#a99ba2}
.footer-bottom span:last-child{text-align:right}
@media (max-width:1199px){
  .container{width:min(var(--container),calc(100% - 48px))}
  .nav-shell{padding:0 24px;gap:18px}
  .nav-side{gap:16px}
  .calendar-layout{gap:28px}
  .news-layout,.faq-layout{gap:42px}
}
@media (max-width:900px){
  .nav-link{font-size:13px}.nav-side{gap:12px}
  .coupon-main{padding:33px}
  .coupon-wall{grid-template-columns:1fr .8fr}
  .calendar-layout{grid-template-columns:1fr}
  .calendar-side{display:flex;gap:26px;align-items:end}
  .calendar-side p{margin:0;max-width:530px}
  .calendar-days{grid-template-columns:repeat(2,1fr)}
  .topic-grid{grid-template-columns:1fr 1fr}
  .topic-card.large{grid-column:1/-1}
  .stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0;margin-right:0}.stat:nth-child(3){border-top:1px solid rgba(255,255,255,.2);padding-top:28px}.stat:nth-child(4){border-top:1px solid rgba(255,255,255,.2);border-right:0;margin-right:0;padding-top:28px}
  .guide-layout{gap:28px}
}
@media (max-width:767px){
  body{font-size:15px}.container{width:min(var(--container),calc(100% - 32px))}
  .site-header{height:68px}.site-header.scrolled{height:62px}
  .nav-shell{padding:0 16px;grid-template-columns:42px 1fr 42px;gap:0}
  .nav-side{display:none}.logo{justify-self:center;font-size:15px;letter-spacing:.02em}.logo:before{width:23px;height:23px;font-size:11px}
  .menu-toggle{display:block}.nav-action{justify-self:end;width:37px;height:37px;padding:0;font-size:0;border:0}.nav-action:after{content:"⌕";font-size:23px;font-weight:400}
  .mobile-drawer{position:fixed;left:0;right:0;top:68px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 16px 32px rgba(36,31,35,.12);padding:15px 16px 22px;z-index:999;transform:translateY(-125%);opacity:0;pointer-events:none;transition:transform var(--ease),opacity var(--ease)}
  .mobile-drawer.open{transform:translateY(0);opacity:1;pointer-events:auto}
  .mobile-drawer a{display:flex;align-items:center;min-height:46px;border-bottom:1px solid #eee6e2;color:var(--plum);font-weight:700;font-size:15px}
  .mobile-drawer a:last-child{border-bottom:0}
  .hero{padding:27px 0 43px}.hero-topline{margin-bottom:17px}.age-note{font-size:11px;padding:4px 7px}
  .coupon-wall{grid-template-columns:1fr;min-height:0}.coupon-main{padding:28px 23px}.coupon-main h1{font-size:37px}.hero-copy{font-size:14px}.coupon-side{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.index-card{padding:20px}.index-card h2{font-size:21px}.index-card p{font-size:12px}.mini-coupon{padding:18px;flex-direction:column;align-items:flex-start}.mini-coupon strong{font-size:15px}.round-arrow{align-self:flex-end;margin-top:-35px}
  .section{padding:66px 0}.section-head{margin-bottom:27px}.section h2{font-size:29px}.calendar{padding-top:58px}.calendar-side{display:block}.calendar-side p{margin-top:9px}.day-item{min-height:137px;padding:16px 13px}.day-item strong{font-size:15px}
  .topic-grid{grid-template-columns:1fr}.topic-card.large{grid-column:auto;min-height:280px}.topic-card{min-height:225px}
  .dashboard .section-head{margin-bottom:25px}.stat{padding:20px 16px 20px 0;margin-right:16px}.stat strong{font-size:39px}
  .news-layout,.faq-layout,.feedback-panel{grid-template-columns:1fr;gap:29px}.news-item{grid-template-columns:60px 1fr auto;gap:12px}.news-item h3{font-size:15px}.news-item p{font-size:12px}.opinion{min-height:260px}
  .guide-layout{grid-template-columns:1fr}.guide-steps{display:flex;overflow-x:auto;border-left:0;border-bottom:1px solid #cbbcc2}.guide-step{min-width:144px;border-left:0;border-bottom:3px solid transparent;padding:11px}.guide-step:hover,.guide-step.active{border-left:0;border-bottom-color:var(--peach)}.guide-panel{padding:26px 22px}.guide-panel h3{font-size:24px}.check-list{grid-template-columns:1fr}
  .faq-intro .large-no{font-size:62px;margin:4px 0}.faq-question{font-size:16px;padding:17px 2px}
  .feedback-copy,.feedback-form{padding:28px 22px}.feedback-copy h2{font-size:27px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}
  .footer-top{grid-template-columns:1fr;gap:22px}.footer-bottom{display:block;line-height:1.8}.footer-bottom span:last-child{text-align:left;display:block;margin-top:4px}
}
@media (max-width:390px){
  .logo{font-size:13px}.coupon-main h1{font-size:33px}.hero-bottom{align-items:stretch}.btn{width:100%}.coupon-code{width:100%}.coupon-side{grid-template-columns:1fr}.mini-coupon{flex-direction:row;align-items:center}.round-arrow{margin:0}.calendar-days{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.stat,.stat:nth-child(2),.stat:nth-child(3),.stat:nth-child(4){border-right:0;border-top:1px solid rgba(255,255,255,.2);margin-right:0}.stat:first-child{border-top:0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* roulang page: category1 */
:root{
 --plum:#5a3448;--plum-dark:#3f2634;--ink:#241f23;--text:#383337;--muted:#756d70;
 --peach:#d58a72;--peach-pale:#f3dfd5;--cream:#f5f1ed;--paper:#fffdfc;--line:#ddd3cc;
 --soft-plum:#eee5e9;--green:#55725d;--error:#a3544b;--shadow:0 16px 38px rgba(51,32,43,.09);
 --shadow-hover:0 22px 44px rgba(51,32,43,.15);--radius:16px;--radius-sm:10px;
 --container:1180px;--ease:220ms ease-out
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--text);font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;font-size:16px;line-height:1.8}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(213,138,114,.6);outline-offset:3px}
.container{width:min(var(--container),calc(100% - 64px));margin:0 auto}
.site-header{height:82px;background:rgba(255,253,252,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1000;transition:height var(--ease),box-shadow var(--ease)}
.site-header.scrolled{height:66px;box-shadow:0 8px 22px rgba(36,31,35,.08)}
.nav-shell{height:100%;max-width:1320px;margin:auto;padding:0 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}
.nav-side{display:flex;align-items:center;gap:25px}
.nav-side.right{justify-content:flex-end}
.nav-link{font-size:14px;font-weight:650;color:#62595d;position:relative;padding:9px 0;white-space:nowrap;transition:color var(--ease)}
.nav-link:after{content:"";height:2px;width:0;position:absolute;left:0;bottom:2px;background:var(--peach);transition:width var(--ease)}
.nav-link:hover,.nav-link.active{color:var(--plum)}
.nav-link:hover:after,.nav-link.active:after{width:100%}
.logo{font-family:"Source Han Serif SC","Songti SC",serif;color:var(--plum);font-size:18px;font-weight:800;letter-spacing:.06em;white-space:nowrap;display:flex;align-items:center;gap:9px}
.logo:before{content:"久";display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--plum);font-family:"PingFang SC",sans-serif;font-size:13px;letter-spacing:0}
.nav-action{border:1px solid var(--line);color:var(--plum);background:transparent;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:700;transition:all var(--ease)}
.nav-action:hover{border-color:var(--plum);background:var(--soft-plum)}
.menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent;color:var(--plum);padding:9px}
.menu-toggle span{width:21px;height:2px;background:currentColor;display:block;margin:4px auto;border-radius:2px;transition:transform var(--ease),opacity var(--ease)}
.mobile-drawer{display:none}
.page-hero{position:relative;overflow:hidden;padding:55px 0 52px;background:linear-gradient(118deg,#faf6f2 0%,#f5f1ed 62%,#eee5e9 100%);border-bottom:1px solid var(--line)}
.page-hero:before{content:"人妻 / 01";position:absolute;right:5%;top:12px;color:rgba(90,52,72,.055);font:700 clamp(56px,10vw,142px)/1 Georgia,serif;letter-spacing:.04em}
.page-hero-inner{position:relative;z-index:1;max-width:800px}
.crumb{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}
.crumb b{font-weight:700;color:var(--peach)}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--plum);font-size:13px;font-weight:800;letter-spacing:.1em;margin-top:19px}
.eyebrow:before{content:"";width:25px;height:1px;background:var(--peach)}
h1,h2,h3,p{margin-top:0}
.page-hero h1{font-family:"Source Han Serif SC","Songti SC",serif;font-size:clamp(36px,4.6vw,55px);color:var(--plum-dark);line-height:1.25;letter-spacing:.02em;margin:10px 0 14px}
.page-hero h1 small{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:.37em;letter-spacing:.13em;color:var(--peach);font-weight:800;vertical-align:middle}
.page-summary{max-width:730px;color:#62595d;line-height:1.9;margin-bottom:22px}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--muted);font-size:14px}
.hero-meta span{display:inline-flex;align-items:center;gap:8px}
.hero-meta i{width:7px;height:7px;background:var(--peach);border-radius:50%;display:inline-block}
.section{padding:88px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:30px}
.section-kicker{display:flex;align-items:center;gap:10px;color:var(--peach);font-size:13px;font-weight:800;letter-spacing:.11em;margin-bottom:8px}
.section-kicker:before{content:"";width:25px;height:1px;background:currentColor}
.section h2{font-family:"Source Han Serif SC","Songti SC",serif;font-size:clamp(28px,3vw,39px);line-height:1.35;color:var(--plum-dark);margin-bottom:0}
.muted{color:var(--muted);font-size:14px}
.filter-panel{padding:16px 18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);display:flex;align-items:center;gap:18px;box-shadow:0 8px 24px rgba(51,32,43,.04)}
.filter-label{font-size:13px;color:var(--muted);white-space:nowrap;font-weight:700}
.filter-tags{display:flex;gap:9px;flex:1;overflow-x:auto;padding:2px;scrollbar-width:none}
.filter-tags::-webkit-scrollbar{display:none}
.filter-tag{border:1px solid #cdbfc5;background:transparent;color:#62595d;border-radius:8px;padding:7px 12px;white-space:nowrap;font-size:13px;font-weight:700;transition:all var(--ease)}
.filter-tag:hover{border-color:var(--plum);color:var(--plum);background:var(--soft-plum)}
.filter-tag.active{background:var(--plum);border-color:var(--plum);color:#fff}
.sort-select{min-height:39px;min-width:128px;padding:0 29px 0 11px;border:1px solid var(--line);border-radius:8px;background:var(--cream);color:var(--text);font-size:13px;outline:0}
.sort-select:focus{border-color:var(--plum);box-shadow:0 0 0 3px rgba(90,52,72,.12)}
.featured{display:grid;grid-template-columns:42% 58%;min-height:340px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform var(--ease),box-shadow var(--ease)}
.featured:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.cover{position:relative;overflow:hidden;background:var(--soft-plum)}
.cover:before,.cover:after{content:"";position:absolute;border-radius:50%}
.cover:before{width:230px;height:230px;background:rgba(213,138,114,.4);right:-55px;bottom:-80px}
.cover:after{width:165px;height:290px;background:rgba(90,52,72,.23);left:17%;top:-85px;border-radius:90px;transform:rotate(26deg)}
.cover-grid{position:absolute;inset:22px;border:1px solid rgba(255,253,252,.65);z-index:1}
.cover-number{position:absolute;z-index:2;left:32px;bottom:25px;color:#fffdfc;font:700 56px/1 Georgia,serif;text-shadow:0 2px 12px rgba(63,38,52,.2)}
.cover-caption{position:absolute;z-index:2;left:34px;top:30px;color:#fffdfc;font-size:12px;letter-spacing:.14em;font-weight:800}
.featured-body{padding:33px 38px;display:flex;flex-direction:column;align-items:flex-start}
.badge{display:inline-flex;align-items:center;gap:7px;color:var(--plum);font-size:12px;font-weight:800;letter-spacing:.07em}
.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--peach)}
.featured h3,.content-card h3{font-family:"Source Han Serif SC","Songti SC",serif;color:var(--plum-dark);line-height:1.42;margin:12px 0 10px}
.featured h3{font-size:27px}
.featured p{color:var(--muted);font-size:15px;line-height:1.85;margin-bottom:17px}
.card-meta{display:flex;flex-wrap:wrap;gap:7px 17px;color:#857b7f;font-size:13px;margin-top:auto}
.card-meta span{display:inline-flex;align-items:center;gap:6px}
.card-meta span:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--peach)}
.btn{border:1px solid transparent;min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 17px;border-radius:8px;font-size:14px;font-weight:750;transition:transform var(--ease),background var(--ease),border-color var(--ease),box-shadow var(--ease)}
.btn-primary{background:var(--plum);color:#fff;margin-top:19px}
.btn-primary:hover{background:var(--plum-dark);transform:translateY(-2px);box-shadow:0 9px 20px rgba(90,52,72,.2)}
.btn:active{transform:translateY(0)}
.catalog{display:grid;grid-template-columns:1.08fr .92fr;gap:22px;margin-top:25px}
.content-card{position:relative;display:flex;flex-direction:column;min-height:316px;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);overflow:hidden;transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}
.content-card:nth-child(3n+2){min-height:348px}
.content-card:hover{transform:translateY(-4px);border-color:#a88695;box-shadow:var(--shadow-hover)}
.content-card:focus-within{border-color:var(--plum)}
.card-cover{height:142px;position:relative;overflow:hidden;background:#e6d7d9}
.card-cover:before{content:"";position:absolute;width:150px;height:220px;left:21%;top:-52px;background:rgba(90,52,72,.36);border-radius:90px;transform:rotate(32deg)}
.card-cover:after{content:"";position:absolute;width:160px;height:160px;right:-24px;bottom:-70px;background:rgba(213,138,114,.55);border-radius:50%}
.card-cover.warm{background:#f0ddd3}.card-cover.warm:before{background:rgba(90,52,72,.28)}
.card-cover.ash{background:#ded8d4}.card-cover.ash:after{background:rgba(90,52,72,.29)}
.card-cover .tiny-index{position:absolute;z-index:2;right:19px;top:16px;color:rgba(255,253,252,.9);font:700 31px/1 Georgia,serif}
.card-body{padding:20px 22px 21px;display:flex;flex-direction:column;flex:1}
.content-card h3{font-size:21px;margin:10px 0 8px}
.content-card p{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto}
.card-footer .card-meta{margin:0;gap:8px 12px;font-size:12px}
.arrow-link{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--plum);font-size:18px;flex:0 0 auto;transition:all var(--ease)}
.content-card:hover .arrow-link{background:var(--plum);border-color:var(--plum);color:#fff;transform:translateX(3px)}
.empty-state{display:none;text-align:center;padding:50px 20px;border:1px dashed #c7b8be;border-radius:var(--radius);background:var(--paper);color:var(--muted)}
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:42px}
.page-btn{min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--plum);font-weight:700;transition:all var(--ease)}
.page-btn:hover:not(:disabled){border-color:var(--plum);background:var(--soft-plum)}
.page-btn.active{background:var(--plum);color:#fff;border-color:var(--plum)}
.page-btn:disabled{background:#eee9e5;color:#a19a9b;cursor:not-allowed}
.guide-strip{padding:0 0 88px}
.guide-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;padding:31px 37px;border:1px solid #dfc7bc;border-radius:var(--radius);background:linear-gradient(100deg,var(--peach-pale),#fbefea)}
.guide-panel h2{font-family:"Source Han Serif SC","Songti SC",serif;color:var(--plum-dark);font-size:27px;line-height:1.35;margin:0 0 5px}
.guide-panel p{margin:0;color:#65575a;font-size:14px}
.btn-outline{border-color:#ad8492;color:var(--plum);background:rgba(255,253,252,.55)}
.btn-outline:hover{background:var(--paper);border-color:var(--plum);transform:translateY(-2px)}
.faq-mini{padding:0 0 104px}
.faq-mini-grid{display:grid;grid-template-columns:31% 1fr;gap:70px}
.faq-intro .section-kicker{margin-top:6px}
.faq-intro h2{font-family:"Source Han Serif SC","Songti SC",serif;color:var(--plum-dark);font-size:33px;line-height:1.35;margin:0 0 12px}
.faq-intro p{color:var(--muted);font-size:14px;margin:0}
.accordion{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-question{width:100%;padding:19px 4px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:0;background:transparent;text-align:left;color:var(--ink);font-size:16px;font-weight:750}
.faq-question .plus{color:var(--peach);font-size:24px;font-weight:400;line-height:1;transition:transform var(--ease)}
.faq-item.open .plus{transform:rotate(45deg)}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows 260ms ease}
.faq-item.open .faq-answer{grid-template-rows:1fr}
.faq-answer>div{overflow:hidden}
.faq-answer p{margin:0;padding:0 4px 20px;color:var(--muted);font-size:14px;line-height:1.85}
.site-footer{background:var(--ink);color:#d9d0d2;border-top:1px solid rgba(255,255,255,.12);padding:62px 0 22px}
.footer-top{display:grid;grid-template-columns:1.7fr .7fr .7fr;gap:60px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.14)}
.site-footer .logo{color:#fff4f0;margin-bottom:15px}
.site-footer .logo:before{border-color:#e6b1a0}
.footer-brand p{max-width:390px;margin:0;color:#bdb0b4;font-size:14px;line-height:1.85}
.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.footer-col h3{font-size:14px;color:#f2d6cc;margin:0 0 8px;letter-spacing:.06em}
.footer-col a{font-size:14px;color:#c8bdc0;transition:color var(--ease)}
.footer-col a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;color:#a99da1;font-size:12px}
@media(max-width:1024px){
 .nav-shell{padding:0 24px;gap:15px}.nav-side{gap:16px}.nav-link{font-size:13px}
 .featured{grid-template-columns:38% 62%}.faq-mini-grid{gap:42px}
}
@media(max-width:767px){
 .container{width:min(100% - 32px,var(--container))}
 .site-header{height:68px}.site-header.scrolled{height:62px}
 .nav-shell{padding:0 16px;grid-template-columns:42px 1fr 42px;gap:0}
 .nav-side{display:none}.logo{justify-self:center;font-size:15px;letter-spacing:.035em}.logo:before{width:24px;height:24px;font-size:12px}
 .menu-toggle{display:block;grid-column:1;grid-row:1}.nav-action{grid-column:3;grid-row:1;width:38px;height:38px;padding:0;font-size:0;justify-self:end;position:relative}
 .nav-action:before{content:"↗";font-size:18px;line-height:1}
 .mobile-drawer{display:block;position:fixed;z-index:999;top:68px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 17px 30px rgba(36,31,35,.1);transform:translateY(-120%);opacity:0;pointer-events:none;transition:transform var(--ease),opacity var(--ease);padding:13px 16px 20px}
 body.menu-open .mobile-drawer{transform:translateY(0);opacity:1;pointer-events:auto}
 body.menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
 body.menu-open .menu-toggle span:nth-child(2){opacity:0}
 body.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
 .mobile-drawer a{display:block;padding:13px 5px;border-bottom:1px solid #eee5e1;color:var(--plum);font-weight:700}
 .mobile-drawer a:last-child{border-bottom:0}
 .page-hero{padding:40px 0 39px}.page-hero:before{right:-23px;top:40px;font-size:62px}
 .page-hero h1{font-size:35px}.page-summary{font-size:15px}.hero-meta{font-size:13px}
 .section{padding:62px 0}.section-head{display:block;margin-bottom:23px}.section-head .muted{margin-top:8px}
 .filter-panel{padding:13px;gap:10px;flex-wrap:wrap}.filter-label{width:100%}.filter-tags{order:3;width:100%;flex-basis:100%}.sort-select{margin-left:auto}
 .featured{grid-template-columns:1fr}.featured-body{padding:25px 22px}.cover{min-height:205px}.featured h3{font-size:24px}
 .catalog{grid-template-columns:1fr;gap:16px;margin-top:16px}.content-card,.content-card:nth-child(3n+2){min-height:0}.card-cover{height:135px}
 .guide-strip{padding-bottom:62px}.guide-panel{grid-template-columns:1fr;padding:25px 22px;gap:18px}.guide-panel h2{font-size:24px}
 .faq-mini{padding-bottom:68px}.faq-mini-grid{grid-template-columns:1fr;gap:25px}.faq-intro h2{font-size:29px}
 .footer-top{grid-template-columns:1fr;gap:28px;padding-bottom:32px}.footer-bottom{flex-direction:column;gap:5px}.site-footer{padding-top:46px}
}
@media(max-width:390px){
 .logo{font-size:13px}.nav-action{width:36px}.page-hero h1{font-size:32px}.pagination{gap:5px}.page-btn{min-width:36px;padding:0 9px}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
