/* roulang page: index */
:root{
      --bg:#fff8ef;
      --bg-soft:#fff2df;
      --bg-deep:#16110f;
      --card:#ffffff;
      --card-warm:#fffaf3;
      --text:#201815;
      --muted:#78685e;
      --weak:#9a887c;
      --line:#ecd9c2;
      --line-dark:rgba(255,255,255,.16);
      --primary:#f05a28;
      --primary-2:#ffb347;
      --primary-dark:#b93816;
      --green:#2b8c64;
      --blue:#3f6ee8;
      --purple:#8d5cf6;
      --radius-xs:10px;
      --radius-sm:14px;
      --radius:22px;
      --radius-lg:32px;
      --shadow:0 18px 50px rgba(88,51,18,.12);
      --shadow-soft:0 10px 30px rgba(64,38,18,.08);
      --container:1180px;
      --ease:all .22s ease;
      --font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      font-family:var(--font);
      color:var(--text);
      background:
        radial-gradient(circle at 8% 4%,rgba(255,179,71,.32),transparent 30%),
        radial-gradient(circle at 92% 10%,rgba(240,90,40,.18),transparent 34%),
        linear-gradient(180deg,#fffaf3 0%,var(--bg) 46%,#fff 100%);
      line-height:1.7;
      min-height:100vh;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea{font:inherit}
    button{border:0;cursor:pointer}
    input,textarea{border:0;outline:none}
    ::selection{background:rgba(240,90,40,.22)}
    .container{width:min(var(--container),calc(100% - 40px));margin:0 auto}
    .skip-link{
      position:absolute;left:-999px;top:10px;background:var(--text);color:#fff;
      padding:10px 14px;border-radius:12px;z-index:1000
    }
    .skip-link:focus{left:14px}
    .site-header{
      position:sticky;top:0;z-index:100;
      background:rgba(255,248,239,.88);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(236,217,194,.72);
    }
    .nav-shell{
      min-height:78px;
      display:grid;
      grid-template-columns:190px 1fr 120px;
      align-items:center;
      gap:18px;
    }
    .brand{
      display:inline-flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.04em;
      font-size:22px;color:var(--text);
    }
    .brand-mark{
      width:38px;height:38px;border-radius:14px;
      display:grid;place-items:center;
      color:#fff;background:linear-gradient(135deg,var(--primary),#ff8c37);
      box-shadow:0 10px 22px rgba(240,90,40,.24);
      font-size:18px;
    }
    .nav-search-wrap{display:flex;align-items:center;gap:16px;justify-content:center}
    .nav-search{
      width:min(560px,100%);
      display:flex;align-items:center;gap:10px;
      background:#fff;border:1px solid rgba(236,217,194,.95);
      border-radius:999px;padding:9px 10px 9px 18px;
      box-shadow:0 10px 28px rgba(64,38,18,.06);
      transition:var(--ease);
    }
    .nav-search:focus-within{
      border-color:rgba(240,90,40,.55);
      box-shadow:0 0 0 4px rgba(240,90,40,.12),0 14px 34px rgba(64,38,18,.08);
      transform:translateY(-1px);
    }
    .search-icon{color:var(--primary);font-size:18px;line-height:1}
    .nav-search input{
      flex:1;min-width:0;background:transparent;color:var(--text);font-size:15px;
    }
    .nav-search input::placeholder{color:#ad9c91}
    .search-submit{
      flex:0 0 auto;border-radius:999px;padding:8px 15px;
      background:var(--text);color:#fff;font-weight:800;font-size:14px;
      transition:var(--ease);
    }
    .search-submit:hover{background:var(--primary);transform:translateY(-1px)}
    .search-submit:focus-visible,.menu-toggle:focus-visible,.btn:focus-visible,.coupon-action:focus-visible,input:focus-visible,textarea:focus-visible{
      outline:3px solid rgba(240,90,40,.28);outline-offset:3px;
    }
    .nav-links{display:flex;align-items:center;justify-content:flex-end;gap:8px}
    .nav-link{
      padding:10px 14px;border-radius:999px;font-size:15px;font-weight:800;color:var(--muted);
      transition:var(--ease);
    }
    .nav-link:hover,.nav-link.active{color:var(--primary-dark);background:rgba(240,90,40,.1)}
    .menu-toggle{
      display:none;width:42px;height:42px;border-radius:14px;background:#fff;border:1px solid var(--line);
      color:var(--text);font-weight:900;
    }
    main{position:relative}
    section{padding:66px 0}
    .eyebrow{
      display:inline-flex;align-items:center;gap:8px;
      padding:7px 12px;border-radius:999px;
      background:rgba(240,90,40,.1);color:var(--primary-dark);
      font-weight:900;font-size:13px;border:1px solid rgba(240,90,40,.16);
    }
    .section-head{
      display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px;
    }
    .section-title{font-size:clamp(26px,3.2vw,42px);line-height:1.18;letter-spacing:-.05em;font-weight:950}
    .section-desc{max-width:640px;color:var(--muted);font-size:16px;margin-top:10px}
    .section-side-note{color:var(--weak);font-size:14px;white-space:nowrap}
    .hero{
      padding:38px 0 58px;
    }
    .coupon-wall{
      position:relative;overflow:hidden;border-radius:36px;
      background:
        linear-gradient(115deg,rgba(22,17,15,.96),rgba(79,37,21,.94) 52%,rgba(240,90,40,.9)),
        radial-gradient(circle at 18% 10%,rgba(255,179,71,.44),transparent 36%);
      color:#fff;
      box-shadow:0 28px 80px rgba(72,38,14,.25);
      padding:34px;
      display:grid;
      grid-template-columns:1.06fr .94fr;
      gap:30px;
      min-height:420px;
    }
    .coupon-wall:before{
      content:"";position:absolute;inset:0;
      background-image:
        radial-gradient(circle at 0 50%,rgba(255,255,255,.18) 0 12px,transparent 13px),
        radial-gradient(circle at 100% 50%,rgba(255,255,255,.18) 0 12px,transparent 13px);
      background-size:44px 88px;background-position:-22px 10px,calc(100% + 22px) 10px;
      opacity:.55;pointer-events:none;
    }
    .hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center}
    .hero .eyebrow{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);color:#ffe3c2;width:max-content}
    h1{
      font-size:clamp(34px,5.3vw,64px);
      line-height:1.04;letter-spacing:-.07em;
      margin:18px 0 18px;font-weight:1000;max-width:700px;
    }
    .hero-lead{font-size:18px;color:rgba(255,255,255,.82);max-width:690px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;
      min-height:48px;padding:12px 18px;border-radius:999px;
      font-weight:900;transition:var(--ease);
      border:1px solid transparent;
    }
    .btn-primary{background:#fff;color:var(--text);box-shadow:0 14px 34px rgba(0,0,0,.16)}
    .btn-primary:hover{transform:translateY(-2px);background:#fff2df}
    .btn-ghost{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.22)}
    .btn-ghost:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
    .hero-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
    .point{
      display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;
      background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);
      color:rgba(255,255,255,.86);font-size:14px;font-weight:800
    }
    .coupon-stage{
      position:relative;z-index:1;display:grid;grid-template-columns:1fr;align-content:center;gap:14px;
    }
    .main-coupon{
      position:relative;isolation:isolate;overflow:hidden;
      background:linear-gradient(135deg,#fff9ed,#ffe2b8 58%,#ffc066);
      color:var(--text);
      border-radius:30px;
      padding:26px;
      box-shadow:0 24px 70px rgba(0,0,0,.25);
      border:1px solid rgba(255,255,255,.65);
    }
    .main-coupon:before,.main-coupon:after{
      content:"";position:absolute;top:50%;width:34px;height:34px;border-radius:50%;background:#4d2415;transform:translateY(-50%);
      z-index:2;
    }
    .main-coupon:before{left:-17px}.main-coupon:after{right:-17px}
    .coupon-tag{display:inline-flex;font-weight:1000;color:#fff;background:var(--primary);border-radius:999px;padding:5px 10px;font-size:13px}
    .coupon-title{font-size:32px;line-height:1.12;font-weight:1000;letter-spacing:-.05em;margin:16px 0 8px}
    .coupon-text{color:#624d3c;font-size:15px;min-height:52px}
    .coupon-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;border-top:1px dashed rgba(96,62,34,.28);padding-top:18px}
    .coupon-code{font-weight:1000;font-size:15px}
    .coupon-code span{display:block;color:var(--primary-dark);font-size:26px;letter-spacing:-.04em}
    .coupon-action{
      border-radius:999px;background:var(--text);color:#fff;font-weight:950;padding:12px 16px;
      transition:var(--ease);white-space:nowrap;
    }
    .coupon-action:hover{background:var(--primary);transform:translateY(-2px)}
    .mini-coupons{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .mini-coupon{
      background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);
      border-radius:22px;padding:15px;backdrop-filter:blur(10px);
    }
    .mini-coupon strong{display:block;color:#fff;font-size:17px}
    .mini-coupon span{display:block;color:rgba(255,255,255,.72);font-size:13px;margin-top:3px}
    .calendar-section{padding-top:42px}
    .calendar-grid{
      display:grid;grid-template-columns:1.08fr .92fr;gap:22px;align-items:stretch;
    }
    .calendar-panel{
      background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
      box-shadow:var(--shadow-soft);padding:24px;
    }
    .days-strip{
      display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:20px;
    }
    .day{
      min-height:100px;border-radius:18px;background:var(--card-warm);
      border:1px solid rgba(236,217,194,.8);padding:12px;transition:var(--ease);
      display:flex;flex-direction:column;justify-content:space-between;
    }
    .day:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:rgba(240,90,40,.25)}
    .day b{font-size:15px}.day span{font-size:12px;color:var(--muted)}
    .day .dot{width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 5px rgba(240,90,40,.12)}
    .schedule-list{display:grid;gap:12px;margin-top:18px}
    .schedule-item{
      display:grid;grid-template-columns:72px 1fr;gap:14px;padding:14px;
      border-radius:18px;background:#fff;border:1px solid var(--line);transition:var(--ease);
    }
    .schedule-item:hover{transform:translateX(3px);border-color:rgba(240,90,40,.28)}
    .schedule-time{font-weight:1000;color:var(--primary-dark);font-size:14px}
    .schedule-item h3{font-size:16px;line-height:1.35;margin-bottom:3px}
    .schedule-item p{font-size:13px;color:var(--muted);line-height:1.55}
    .topics-wrap{
      display:grid;grid-template-columns:1fr 1.2fr;gap:22px;align-items:stretch;
    }
    .topic-feature{
      min-height:380px;border-radius:var(--radius-lg);overflow:hidden;position:relative;color:#fff;
      background:
        linear-gradient(180deg,rgba(22,17,15,.08),rgba(22,17,15,.82)),
        radial-gradient(circle at 28% 18%,rgba(255,179,71,.88),transparent 28%),
        linear-gradient(135deg,#3a2218,#0f0b09);
      padding:26px;display:flex;flex-direction:column;justify-content:flex-end;
      box-shadow:var(--shadow);
    }
    .topic-feature:after{
      content:"";position:absolute;right:24px;top:24px;width:104px;height:104px;border-radius:30px;
      background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.04));
      transform:rotate(10deg);border:1px solid rgba(255,255,255,.18);
    }
    .topic-feature h3{font-size:30px;line-height:1.18;letter-spacing:-.04em;margin:12px 0}
    .topic-feature p{color:rgba(255,255,255,.78)}
    .topic-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
    .tag{
      display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;
      background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);
      color:rgba(255,255,255,.88);font-size:13px;font-weight:800;
    }
    .topic-cards{
      display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
    }
    .topic-card{
      background:var(--card);border:1px solid var(--line);border-radius:24px;
      padding:20px;box-shadow:var(--shadow-soft);transition:var(--ease);
    }
    .topic-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(240,90,40,.28)}
    .topic-card .icon{
      width:42px;height:42px;border-radius:15px;display:grid;place-items:center;
      background:rgba(240,90,40,.1);font-size:20px;margin-bottom:14px;
    }
    .topic-card h3{font-size:18px;margin-bottom:7px}
    .topic-card p{color:var(--muted);font-size:14px;line-height:1.6}
    .dashboard-section{
      background:linear-gradient(180deg,rgba(255,242,223,.72),rgba(255,255,255,.52));
      border-block:1px solid rgba(236,217,194,.55);
    }
    .dashboard{
      display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
    }
    .metric{
      background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px;
      box-shadow:var(--shadow-soft);position:relative;overflow:hidden;
    }
    .metric:after{
      content:"";position:absolute;right:-20px;top:-20px;width:72px;height:72px;border-radius:50%;
      background:rgba(240,90,40,.08);
    }
    .metric strong{display:block;font-size:34px;line-height:1;font-weight:1000;letter-spacing:-.05em;color:var(--primary-dark)}
    .metric span{display:block;margin-top:8px;color:var(--muted);font-size:14px}
    .compare-box{
      margin-top:18px;background:var(--bg-deep);border-radius:var(--radius-lg);padding:22px;color:#fff;
      display:grid;grid-template-columns:.8fr 1fr;gap:20px;align-items:center;
      box-shadow:0 22px 60px rgba(22,17,15,.18);
    }
    .compare-box h3{font-size:24px;letter-spacing:-.04em}
    .compare-list{display:grid;gap:10px}
    .compare-row{
      display:grid;grid-template-columns:1fr 1fr;gap:10px;
    }
    .compare-row span{
      display:flex;align-items:center;gap:8px;border-radius:14px;padding:11px 12px;
      background:rgba(255,255,255,.08);border:1px solid var(--line-dark);font-size:14px;color:rgba(255,255,255,.82)
    }
    .compare-row span.good{background:rgba(43,140,100,.18);border-color:rgba(43,140,100,.34);color:#d9ffe7}
    .news-layout{
      display:grid;grid-template-columns:1.3fr .7fr;gap:22px;align-items:start;
    }
    .news-list{
      background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px;
      box-shadow:var(--shadow-soft);
    }
    .news-item{
      display:grid;grid-template-columns:92px 1fr auto;gap:16px;align-items:center;
      padding:16px;border-radius:22px;transition:var(--ease);
      border-bottom:1px solid rgba(236,217,194,.66);
    }
    .news-item:last-child{border-bottom:0}
    .news-item:hover{background:var(--card-warm);transform:translateX(3px)}
    .news-date{
      border-radius:18px;background:rgba(240,90,40,.1);color:var(--primary-dark);
      padding:10px;text-align:center;font-weight:950;font-size:13px;line-height:1.25;
    }
    .news-item h3{font-size:17px;line-height:1.42}
    .news-item h3 a:hover{color:var(--primary-dark)}
    .news-item p{font-size:14px;color:var(--muted);margin-top:3px}
    .news-arrow{color:var(--weak);font-weight:900}
    .rank-card{
      background:linear-gradient(180deg,#fff,#fff7ec);border:1px solid var(--line);
      border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-soft);position:sticky;top:98px;
    }
    .rank-card h3{font-size:22px;letter-spacing:-.04em;margin-bottom:14px}
    .rank-list{display:grid;gap:10px}
    .rank-item{
      display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;
      padding:11px;border-radius:16px;background:#fff;border:1px solid rgba(236,217,194,.75);
    }
    .rank-no{
      width:28px;height:28px;border-radius:10px;display:grid;place-items:center;
      background:var(--text);color:#fff;font-weight:1000;font-size:13px;
    }
    .rank-item:nth-child(1) .rank-no{background:var(--primary)}
    .rank-item:nth-child(2) .rank-no{background:var(--purple)}
    .rank-item:nth-child(3) .rank-no{background:var(--green)}
    .rank-name{font-weight:900;font-size:14px;line-height:1.3}
    .rank-trend{font-size:12px;color:var(--primary-dark);font-weight:900}
    .guide-grid{
      display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:stretch;
    }
    .guide-card{
      background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-soft);
    }
    .steps{display:grid;gap:13px;margin-top:18px}
    .step{
      display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;padding:14px;
      border-radius:20px;background:var(--card-warm);border:1px solid rgba(236,217,194,.72);
    }
    .step-no{
      width:42px;height:42px;border-radius:15px;background:var(--primary);color:#fff;display:grid;place-items:center;
      font-weight:1000;
    }
    .step h3{font-size:17px;margin-bottom:3px}
    .step p{font-size:14px;color:var(--muted)}
    .promise-strip{
      display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;
    }
    .promise{
      background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;transition:var(--ease);
    }
    .promise:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}
    .promise b{display:block;font-size:16px;margin:8px 0 4px}
    .promise span{font-size:13px;color:var(--muted);line-height:1.55;display:block}
    .recommend-section{padding-top:20px}
    .recommend-rail{
      display:grid;grid-template-columns:1.05fr .95fr;gap:18px;
    }
    .recommend-large,.recommend-stack{
      background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
      box-shadow:var(--shadow-soft);padding:24px;
    }
    .recommend-large{
      display:grid;grid-template-columns:1fr .86fr;gap:18px;align-items:center;
      background:
        radial-gradient(circle at 15% 15%,rgba(255,179,71,.22),transparent 35%),
        #fff;
    }
    .poster-block{
      min-height:260px;border-radius:26px;background:
        linear-gradient(145deg,rgba(240,90,40,.9),rgba(255,179,71,.76)),
        linear-gradient(45deg,#432116,#fff);
      position:relative;overflow:hidden;
    }
    .poster-block:before{
      content:"";position:absolute;inset:18px;border:1px dashed rgba(255,255,255,.6);border-radius:20px;
    }
    .poster-block:after{
      content:"本周精选";position:absolute;left:32px;bottom:30px;color:#fff;font-weight:1000;font-size:30px;letter-spacing:-.05em;
    }
    .recommend-large h3{font-size:26px;line-height:1.22;letter-spacing:-.04em;margin-bottom:10px}
    .recommend-large p,.recommend-stack p{color:var(--muted);font-size:15px}
    .pill-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
    .pill{
      padding:7px 10px;border-radius:999px;background:rgba(240,90,40,.1);color:var(--primary-dark);
      font-size:13px;font-weight:900;
    }
    .recommend-stack{display:grid;gap:12px}
    .mini-rec{
      display:grid;grid-template-columns:54px 1fr;gap:12px;padding:13px;border-radius:18px;
      background:var(--card-warm);border:1px solid rgba(236,217,194,.7);transition:var(--ease);
    }
    .mini-rec:hover{transform:translateX(3px);background:#fff}
    .mini-rec i{
      width:54px;height:54px;border-radius:18px;display:grid;place-items:center;
      background:#fff;font-style:normal;font-size:22px;box-shadow:0 8px 18px rgba(64,38,18,.06);
    }
    .mini-rec h3{font-size:16px;line-height:1.35}
    .mini-rec p{font-size:13px;line-height:1.5}
    .faq-section{
      background:linear-gradient(180deg,#fff,var(--bg-soft));
      border-top:1px solid rgba(236,217,194,.6);
    }
    .faq-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:24px;align-items:start}
    .faq-aside{
      background:var(--bg-deep);color:#fff;border-radius:var(--radius-lg);padding:26px;position:sticky;top:98px;
      box-shadow:0 22px 60px rgba(22,17,15,.18);
    }
    .faq-aside h2{font-size:32px;line-height:1.15;letter-spacing:-.05em;margin:14px 0}
    .faq-aside p{color:rgba(255,255,255,.74)}
    .faq-list{display:grid;gap:12px}
    details{
      background:#fff;border:1px solid var(--line);border-radius:22px;padding:0 18px;
      box-shadow:var(--shadow-soft);transition:var(--ease);
    }
    details:hover{border-color:rgba(240,90,40,.28)}
    details[open]{box-shadow:var(--shadow)}
    summary{
      list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
      padding:18px 0;font-weight:950;font-size:17px;
    }
    summary::-webkit-details-marker{display:none}
    summary:after{
      content:"＋";width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
      background:rgba(240,90,40,.1);color:var(--primary-dark);font-weight:1000;flex:0 0 auto;
    }
    details[open] summary:after{content:"－"}
    details p{color:var(--muted);padding:0 0 18px;font-size:15px}
    .conversion-section{padding:58px 0 74px}
    .conversion{
      border-radius:36px;background:
        linear-gradient(135deg,rgba(22,17,15,.96),rgba(55,30,20,.96)),
        radial-gradient(circle at 88% 15%,rgba(240,90,40,.36),transparent 32%);
      color:#fff;overflow:hidden;display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;padding:30px;
      box-shadow:0 28px 78px rgba(22,17,15,.22);
    }
    .conversion h2{font-size:clamp(28px,3.4vw,44px);line-height:1.12;letter-spacing:-.05em;margin:12px 0}
    .conversion p{color:rgba(255,255,255,.76)}
    .cta-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
    .cta-badges span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-size:13px;color:rgba(255,255,255,.84);font-weight:800}
    .lead-form{
      background:#fff;border-radius:28px;padding:22px;color:var(--text);
      display:grid;grid-template-columns:1fr 1fr;gap:12px;
    }
    .field{display:grid;gap:7px}
    .field.full{grid-column:1/-1}
    .field label{font-size:13px;font-weight:950;color:var(--muted)}
    .field input,.field textarea{
      width:100%;border:1px solid var(--line);border-radius:15px;padding:12px 13px;background:var(--card-warm);
      color:var(--text);transition:var(--ease);resize:vertical;
    }
    .field input:focus,.field textarea:focus{border-color:rgba(240,90,40,.6);background:#fff;box-shadow:0 0 0 4px rgba(240,90,40,.09)}
    .form-note{grid-column:1/-1;color:var(--weak);font-size:13px}
    .form-submit{
      grid-column:1/-1;background:var(--primary);color:#fff;border-radius:999px;padding:14px 18px;
      font-weight:1000;transition:var(--ease);
    }
    .form-submit:hover{background:var(--primary-dark);transform:translateY(-2px)}
    .site-footer{
      background:#120d0b;color:#fff;padding:44px 0 28px;border-top:1px solid rgba(255,255,255,.08);
    }
    .footer-grid{
      display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:24px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.12);
    }
    .footer-brand{display:flex;align-items:center;gap:10px;font-weight:1000;font-size:22px;letter-spacing:-.04em}
    .footer-mark{width:36px;height:36px;border-radius:13px;background:linear-gradient(135deg,var(--primary),#ffb347);display:grid;place-items:center}
    .footer-desc{color:rgba(255,255,255,.68);margin-top:14px;max-width:520px}
    .footer-col h3{font-size:15px;margin-bottom:12px;color:#ffe1c2}
    .footer-col a,.footer-col span{display:block;color:rgba(255,255,255,.65);font-size:14px;margin:8px 0;transition:var(--ease)}
    .footer-col a:hover{color:#fff;transform:translateX(2px)}
    .copyright{
      display:flex;align-items:center;justify-content:space-between;gap:16px;
      padding-top:22px;color:rgba(255,255,255,.52);font-size:13px;flex-wrap:wrap;
    }
    .float-cta{
      position:fixed;right:18px;bottom:18px;z-index:80;
      display:flex;align-items:center;gap:10px;background:#fff;color:var(--text);
      border:1px solid var(--line);border-radius:999px;padding:10px 14px;
      box-shadow:0 14px 40px rgba(36,20,10,.16);font-weight:950;transition:var(--ease);
    }
    .float-cta:hover{transform:translateY(-3px);background:var(--text);color:#fff}
    @media (max-width:1024px){
      .nav-shell{grid-template-columns:180px 1fr 56px}
      .menu-toggle{display:grid;place-items:center}
      .nav-links{
        position:absolute;right:20px;top:72px;background:#fff;border:1px solid var(--line);
        border-radius:18px;box-shadow:var(--shadow);padding:8px;display:none;min-width:150px;
      }
      .nav-links.open{display:grid}
      .nav-link{display:block}
      .coupon-wall,.calendar-grid,.topics-wrap,.news-layout,.guide-grid,.recommend-rail,.faq-layout,.conversion{grid-template-columns:1fr}
      .dashboard{grid-template-columns:repeat(2,1fr)}
      .rank-card,.faq-aside{position:static}
      .days-strip{grid-template-columns:repeat(4,1fr)}
      .recommend-large{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media (max-width:768px){
      .container{width:min(100% - 28px,var(--container))}
      section{padding:48px 0}
      .nav-shell{min-height:auto;padding:12px 0;grid-template-columns:1fr 46px}
      .brand{font-size:20px}
      .nav-search-wrap{grid-column:1/-1;order:3}
      .nav-search{width:100%}
      .search-submit{padding:8px 12px}
      .coupon-wall{padding:22px;border-radius:28px;min-height:auto}
      .hero{padding-top:20px}
      h1{font-size:38px}
      .hero-lead{font-size:16px}
      .coupon-bottom{align-items:flex-start;flex-direction:column}
      .mini-coupons,.topic-cards,.promise-strip,.lead-form{grid-template-columns:1fr}
      .field.full,.form-note,.form-submit{grid-column:auto}
      .dashboard{grid-template-columns:1fr}
      .compare-box{grid-template-columns:1fr}
      .compare-row{grid-template-columns:1fr}
      .news-item{grid-template-columns:70px 1fr;gap:12px}
      .news-arrow{display:none}
      .days-strip{grid-template-columns:repeat(2,1fr)}
      .section-head{display:block}
      .section-side-note{margin-top:10px;white-space:normal}
      .footer-grid{grid-template-columns:1fr}
      .float-cta{left:14px;right:14px;justify-content:center}
    }
    @media (max-width:520px){
      .brand-mark{width:34px;height:34px;border-radius:12px}
      .nav-search{padding-left:14px}
      .search-submit{font-size:13px}
      .btn{width:100%}
      .hero-actions{width:100%}
      .point{width:100%;justify-content:center}
      .coupon-title{font-size:26px}
      .section-title{font-size:28px}
      .calendar-panel,.guide-card,.recommend-large,.recommend-stack{padding:18px;border-radius:24px}
      .topic-feature{min-height:320px;padding:20px}
      .topic-feature h3{font-size:25px}
      .poster-block{min-height:220px}
      .conversion{padding:20px;border-radius:28px}
      .copyright{padding-bottom:54px}
    }
