/* roulang page: index */
:root{
      --wine:#5a1735;
      --wine-deep:#35101f;
      --wine-soft:#f4e8ed;
      --coral:#c66a58;
      --ochre:#b77a4a;
      --ink:#272123;
      --muted:#72686a;
      --paper:#f8f4ee;
      --cream:#fffdf9;
      --line:#dfd3d0;
      --line-dark:#806774;
      --shadow:0 18px 48px rgba(64,28,41,.10);
      --shadow-soft:0 8px 24px rgba(64,28,41,.07);
      --radius:18px;
      --radius-sm:12px;
      --container:1240px;
      --ease:220ms cubic-bezier(.2,.75,.25,1);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;background:var(--paper);color:var(--ink);
      font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
      font-size:16px;line-height:1.78;overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none;transition:color var(--ease),background var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease)}
    img{max-width:100%;display:block}
    button,input{font:inherit}
    button{cursor:pointer}
    :focus-visible{outline:3px solid var(--coral);outline-offset:3px}
    .grid-container{max-width:var(--container);padding-left:28px;padding-right:28px}
    .site-header{
      position:sticky;top:0;z-index:100;background:rgba(248,244,238,.94);
      border-bottom:1px solid rgba(223,211,208,.9);backdrop-filter:blur(14px);
    }
    .masthead{
      min-height:78px;display:flex;align-items:center;gap:25px;
    }
    .brand{
      flex:0 0 auto;color:var(--wine);font-size:23px;font-weight:850;letter-spacing:-1.2px;
      line-height:1;white-space:nowrap;
    }
    .brand small{
      display:block;margin-top:5px;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--ochre);
    }
    .mast-rule{height:34px;width:1px;background:var(--line-dark);opacity:.65}
    .desktop-nav{display:flex;align-items:center;gap:7px;flex:1}
    .nav-link{
      padding:8px 12px;border-radius:8px;color:#55474b;font-size:14px;font-weight:700;position:relative;
    }
    .nav-link:after{
      content:"";position:absolute;left:12px;right:12px;bottom:3px;height:2px;background:var(--wine);
      transform:scaleX(0);transform-origin:left;transition:transform var(--ease);
    }
    .nav-link:hover,.nav-link.active{color:var(--wine)}
    .nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}
    .header-cta,.button-primary,.button-light,.button-outline{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;
      font-weight:800;border:1px solid transparent;line-height:1.2;
    }
    .header-cta{background:var(--wine);color:#fff;padding:11px 17px;font-size:14px;box-shadow:0 7px 16px rgba(90,23,53,.16)}
    .header-cta:hover{background:var(--wine-deep);color:#fff;transform:translateY(-2px)}
    .menu-toggle{display:none;margin-left:auto;border:0;background:transparent;color:var(--wine);font-size:25px;padding:7px}
    .mobile-panel{display:none;border-top:1px solid var(--line);padding:12px 0 18px}
    .mobile-panel.open{display:block}
    .mobile-panel .nav-link{display:block;padding:11px 4px;border-radius:0}
    .mobile-panel .nav-link:after{left:0;right:auto;width:36px;bottom:5px}
    .hero{
      position:relative;overflow:hidden;padding:76px 0 80px;background:var(--cream);
      border-bottom:1px solid var(--line);
    }
    .hero:before{
      content:"";position:absolute;width:500px;height:500px;border-radius:50%;right:-190px;top:-250px;
      background:radial-gradient(circle,rgba(198,106,88,.17),rgba(198,106,88,0) 68%);
    }
    .hero:after{
      content:"";position:absolute;width:350px;height:350px;left:-160px;bottom:-190px;border-radius:50%;
      border:54px solid rgba(90,23,53,.05);
    }
    .hero-inner{position:relative;z-index:1}
    .hero-topline{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}
    .eyebrow{
      display:inline-flex;align-items:center;gap:8px;color:var(--wine);font-size:12px;font-weight:850;
      letter-spacing:.12em;
    }
    .eyebrow i{display:inline-block;width:8px;height:8px;background:var(--coral);border-radius:50%}
    .age-note{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:2px}
    .hero-title{
      max-width:920px;margin:0 auto;text-align:center;font-size:clamp(43px,6vw,76px);
      line-height:1.08;letter-spacing:-4px;color:var(--wine-deep);font-weight:900;
    }
    .hero-title em{font-style:normal;color:var(--coral)}
    .hero-copy{
      max-width:760px;margin:25px auto 0;text-align:center;font-size:17px;color:#5e5355;line-height:1.9;
    }
    .join-strip{
      max-width:890px;margin:31px auto 0;padding:13px 17px;border:1px solid var(--line);
      border-radius:var(--radius-sm);background:#fffaf4;display:flex;align-items:center;justify-content:center;gap:12px;
      font-size:14px;color:#59474c;
    }
    .join-dots{display:flex}
    .join-dots span{width:25px;height:25px;border-radius:50%;border:2px solid #fffaf4;margin-left:-7px;background:#d8a38d}
    .join-dots span:nth-child(2){background:#8a526b}.join-dots span:nth-child(3){background:#b88762}.join-dots span:nth-child(4){background:#77545c}
    .join-strip strong{color:var(--wine)}
    .hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:28px}
    .button-primary,.button-light,.button-outline{min-height:49px;padding:0 22px;font-size:15px}
    .button-primary{background:var(--wine);color:#fff;box-shadow:0 10px 22px rgba(90,23,53,.18)}
    .button-primary:hover{background:var(--wine-deep);color:#fff;transform:translateY(-3px);box-shadow:0 15px 28px rgba(90,23,53,.22)}
    .button-primary:active,.header-cta:active{transform:translateY(0)}
    .button-light{background:#fff;color:var(--wine);border-color:var(--line)}
    .button-light:hover{background:var(--wine-soft);border-color:#caabb9;transform:translateY(-2px)}
    .button-outline{background:transparent;color:var(--wine);border-color:#b79ba8}
    .button-outline:hover{background:var(--wine-soft);border-color:var(--wine);transform:translateY(-2px)}
    .hero-points{display:flex;justify-content:center;gap:0;margin:42px auto 0;max-width:760px}
    .hero-point{padding:0 25px;text-align:center;border-right:1px solid var(--line);font-size:13px;color:var(--muted)}
    .hero-point:last-child{border:0}.hero-point b{display:block;font-size:17px;line-height:1.3;color:var(--ink)}
    .section{padding:92px 0}
    .section-head{margin-bottom:36px}
    .section-kicker{font-size:12px;letter-spacing:.14em;font-weight:850;color:var(--coral);margin-bottom:8px}
    h2{margin:0;color:var(--wine-deep);font-size:clamp(30px,3.6vw,48px);line-height:1.18;letter-spacing:-2px;font-weight:900}
    .section-intro{max-width:650px;margin:14px 0 0;color:var(--muted);font-size:16px}
    .benefits{padding-top:78px;padding-bottom:90px}
    .benefit-grid{align-items:stretch}
    .benefit-card{
      height:100%;padding:29px 26px 27px;background:var(--cream);border:1px solid var(--line);
      border-radius:var(--radius);position:relative;overflow:hidden;box-shadow:var(--shadow-soft);
    }
    .benefit-card.featured{background:var(--wine);color:#fff;border-color:var(--wine);margin-top:-15px}
    .benefit-num{font-size:12px;font-weight:900;letter-spacing:.15em;color:var(--ochre)}
    .featured .benefit-num{color:#edb89c}
    .benefit-icon{
      width:45px;height:45px;margin:20px 0 26px;display:flex;align-items:center;justify-content:center;
      border-radius:13px;background:var(--wine-soft);color:var(--wine);font-size:22px;font-weight:900;
    }
    .featured .benefit-icon{background:rgba(255,255,255,.13);color:#fff}
    .benefit-card h3{font-size:23px;line-height:1.3;margin:0 0 10px;color:var(--wine-deep);font-weight:850}
    .featured h3{color:#fff}.benefit-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}.featured p{color:#eadbe1}
    .track{background:#eee4dc;overflow:hidden}
    .track-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:center}
    .editorial-frame{
      min-height:394px;border-radius:22px;position:relative;overflow:hidden;padding:29px;
      background:linear-gradient(145deg,#401226 0%,#722744 58%,#a9544b 100%);color:#fff;box-shadow:var(--shadow);
    }
    .editorial-frame:before{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.38);border-radius:14px}
    .frame-word{position:absolute;right:-7px;bottom:18px;font-size:106px;line-height:.75;letter-spacing:-10px;color:rgba(255,255,255,.11);font-weight:900}
    .frame-label{position:relative;font-size:12px;letter-spacing:.16em;font-weight:800;color:#f3c2a4}
    .frame-title{position:relative;max-width:360px;margin-top:72px;font-size:39px;line-height:1.15;letter-spacing:-2px;font-weight:900}
    .frame-note{position:absolute;left:29px;right:29px;bottom:29px;display:flex;justify-content:space-between;font-size:13px;border-top:1px solid rgba(255,255,255,.27);padding-top:13px;color:#f5e8e5}
    .scene-list{display:grid;gap:12px;margin-top:24px}
    .scene-item{display:flex;gap:15px;align-items:flex-start;padding:15px 0;border-bottom:1px solid #d8cbc5}
    .scene-index{flex:0 0 33px;height:33px;display:grid;place-items:center;border-radius:50%;background:var(--wine);color:#fff;font-size:12px;font-weight:850}
    .scene-item h3{margin:0 0 3px;font-size:17px;color:var(--ink);font-weight:850}.scene-item p{margin:0;font-size:14px;color:var(--muted);line-height:1.65}
    .recommendation{background:var(--cream)}
    .feature-card{
      min-height:330px;position:relative;overflow:hidden;border-radius:22px;padding:31px;
      display:flex;flex-direction:column;justify-content:flex-end;background:#452032;color:#fff;box-shadow:var(--shadow);
    }
    .feature-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,10,17,.86),rgba(25,10,17,.04) 75%)}
    .feature-card:after{content:"";position:absolute;width:290px;height:290px;right:-35px;top:-38px;border-radius:48% 52% 32% 68%;background:#c5745c;opacity:.76;transform:rotate(20deg)}
    .feature-card>*{position:relative;z-index:1}.heat{font-size:12px;letter-spacing:.12em;font-weight:850;color:#ffd2af}
    .feature-card h3{font-size:33px;line-height:1.2;margin:10px 0 8px;font-weight:900}.feature-card p{margin:0;max-width:440px;color:#f2e7e9;font-size:14px}
    .recommend-side{display:grid;gap:16px}
    .mini-card{
      min-height:157px;border:1px solid var(--line);border-radius:var(--radius);padding:21px;background:#fff;
      position:relative;overflow:hidden;box-shadow:var(--shadow-soft);
    }
    .mini-card:after{content:"";position:absolute;right:-23px;bottom:-36px;width:120px;height:120px;border-radius:50%;background:var(--wine-soft)}
    .mini-card:nth-child(2):after{background:#f4d9c9}.mini-card>*{position:relative;z-index:1}
    .mini-card h3{margin:10px 0 7px;font-size:20px;line-height:1.25;color:var(--wine-deep);font-weight:850}.mini-card p{margin:0;max-width:320px;color:var(--muted);font-size:14px;line-height:1.62}
    .text-link{display:inline-flex;align-items:center;gap:6px;margin-top:15px;color:var(--wine);font-size:14px;font-weight:850}.text-link:hover{color:var(--coral);transform:translateX(3px)}
    .themes{background:var(--wine-deep);color:#fff}
    .themes h2{color:#fff}.themes .section-intro{color:#decbd2}
    .theme-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px}
    .theme-tile{
      min-height:235px;padding:26px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.17);
      background:rgba(255,255,255,.055);display:flex;flex-direction:column;justify-content:space-between;
    }
    .theme-tile:first-child{background:#773047}.theme-tile:hover{transform:translateY(-5px);background:rgba(255,255,255,.11)}
    .theme-tile:first-child:hover{background:#873950}.theme-tag{font-size:12px;color:#f1b89c;font-weight:850;letter-spacing:.1em}
    .theme-tile h3{font-size:25px;margin:14px 0 7px;line-height:1.25;font-weight:850}.theme-tile p{font-size:14px;line-height:1.65;margin:0;color:#dfcbd1}
    .theme-arrow{font-size:21px;color:#f8c4aa}
    .news{background:#f0e7df}
    .news-layout{display:grid;grid-template-columns:1.22fr .78fr;gap:58px}
    .news-list{border-top:1px solid #cdbfba}
    .news-row{display:grid;grid-template-columns:105px 1fr auto;align-items:center;gap:17px;padding:20px 0;border-bottom:1px solid #d7c9c4}
    .news-date{font-size:12px;font-weight:850;color:var(--coral);letter-spacing:.06em}.news-row h3{font-size:17px;margin:0;color:var(--ink);font-weight:800;line-height:1.45}.news-row:hover h3{color:var(--wine)}
    .news-row span:last-child{font-size:20px;color:var(--wine)}
    .notice-box{height:max-content;padding:27px;border-radius:var(--radius);background:var(--cream);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
    .notice-box h3{margin:0 0 12px;font-size:23px;color:var(--wine-deep);font-weight:900}.notice-box p{margin:0;color:var(--muted);font-size:14px}
    .notice-list{margin:18px 0 0;padding:0;list-style:none}.notice-list li{padding:11px 0;border-top:1px solid var(--line);font-size:14px;color:#55484b}.notice-list li:before{content:"✓";color:var(--coral);font-weight:900;margin-right:9px}
    .faq-section{background:var(--cream)}
    .faq-wrap{max-width:920px;margin:0 auto}
    .faq-item{border-top:1px solid var(--line)}
    .faq-item:last-child{border-bottom:1px solid var(--line)}
    .faq-question{
      width:100%;padding:21px 3px;display:flex;align-items:center;justify-content:space-between;gap:16px;
      text-align:left;background:transparent;border:0;color:var(--wine-deep);font-size:18px;font-weight:850;
    }
    .faq-question .plus{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--wine-soft);font-size:20px;line-height:1;transition:transform var(--ease)}
    .faq-question[aria-expanded="true"] .plus{transform:rotate(45deg);background:var(--wine);color:#fff}
    .faq-answer{display:none;padding:0 48px 22px 3px;color:var(--muted);font-size:15px;line-height:1.85}.faq-answer.open{display:block}
    .final-cta{padding:88px 0;background:#c37961;position:relative;overflow:hidden}
    .final-cta:before{content:"";position:absolute;inset:auto -60px -170px auto;width:450px;height:450px;border:44px solid rgba(255,255,255,.13);border-radius:50%}
    .final-inner{position:relative;z-index:1;text-align:center;max-width:850px;margin:auto;color:#fff}.final-inner h2{color:#fff}.final-inner p{font-size:17px;line-height:1.85;color:#fff0e9;max-width:670px;margin:17px auto 26px}
    .final-inner .button-primary{background:var(--wine-deep)}.final-inner .button-primary:hover{background:#220914}
    .site-footer{background:#2b111c;color:#dbcbd0;padding:55px 0 102px}
    .footer-top{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.15)}
    .footer-brand{font-size:25px;font-weight:900;color:#fff;letter-spacing:-1px}.footer-brand small{display:block;color:#d79170;font-size:11px;letter-spacing:.15em;margin-top:7px}
    .footer-copy{margin:16px 0 0;max-width:510px;font-size:14px;line-height:1.8;color:#cdbac1}
    .footer-links{display:flex;justify-content:flex-end;align-items:flex-start;gap:25px;padding-top:8px}.footer-links a{font-size:14px;font-weight:750;color:#f1e7e9}.footer-links a:hover{color:#e9a687}
    .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;color:#a9979d;font-size:12px}
    .fixed-bar{
      position:fixed;z-index:90;bottom:17px;left:50%;transform:translateX(-50%);width:min(720px,calc(100% - 34px));
      display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 11px 10px 18px;
      border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(53,16,31,.95);box-shadow:0 18px 42px rgba(37,15,25,.28);backdrop-filter:blur(10px);
    }
    .fixed-bar p{margin:0;color:#f4e7eb;font-size:13px;line-height:1.4}.fixed-bar p b{display:block;color:#fff;font-size:14px}.fixed-bar .button-primary{min-height:42px;padding:0 18px;background:#d58769;white-space:nowrap}.fixed-bar .button-primary:hover{background:#e3997d}
    @media(max-width:1024px){
      .desktop-nav{gap:0}.nav-link{padding:8px 8px}.track-layout,.news-layout{gap:30px}.theme-grid{grid-template-columns:1.15fr 1fr}
      .theme-tile:last-child{grid-column:span 2;min-height:175px}.benefit-card.featured{margin-top:0}
    }
    @media(max-width:768px){
      .grid-container{padding-left:20px;padding-right:20px}.masthead{min-height:68px;gap:12px}.brand{font-size:19px}.brand small{font-size:8px}.mast-rule,.desktop-nav{display:none}.header-cta{margin-left:auto;padding:9px 12px;font-size:13px}.menu-toggle{display:block;margin-left:0}
      .hero{padding:50px 0 57px}.hero-topline{margin-bottom:18px}.age-note{font-size:11px}.hero-title{letter-spacing:-2.5px}.hero-copy{font-size:15px}.join-strip{font-size:12px;gap:8px;padding:11px}.join-dots span{width:20px;height:20px}.hero-point{padding:0 12px;font-size:11px}.hero-point b{font-size:14px}
      .section{padding:62px 0}.section-head{margin-bottom:27px}.section-intro{font-size:15px}.benefit-grid .cell{margin-bottom:14px}.benefit-card{padding:24px}.track-layout,.news-layout{grid-template-columns:1fr}.editorial-frame{min-height:335px}.frame-title{font-size:33px;margin-top:56px}
      .recommendation .grid-x>.cell:first-child{margin-bottom:16px}.theme-grid{grid-template-columns:1fr}.theme-tile,.theme-tile:last-child{grid-column:auto;min-height:180px}.news-row{grid-template-columns:78px 1fr auto;gap:10px}.news-row h3{font-size:15px}.faq-question{font-size:16px}.faq-answer{padding-right:10px}.footer-top{grid-template-columns:1fr;gap:20px}.footer-links{justify-content:flex-start}.footer-bottom{flex-direction:column}.site-footer{padding-bottom:110px}
    }
    @media(max-width:520px){
      .header-cta{display:none}.brand{font-size:18px}.hero-title{font-size:41px;letter-spacing:-2.4px}.hero-actions{display:grid;grid-template-columns:1fr;max-width:330px;margin-left:auto;margin-right:auto}.hero-actions a{width:100%}.hero-points{margin-top:31px}.hero-point{padding:0 8px}.hero-point b{font-size:13px}.section{padding:52px 0}h2{letter-spacing:-1.3px}.editorial-frame{padding:22px;min-height:300px}.frame-title{font-size:29px;max-width:270px}.frame-note{left:22px;right:22px;bottom:22px;font-size:11px}.feature-card{min-height:290px;padding:24px}.feature-card h3{font-size:28px}.theme-tile h3{font-size:22px}.news-row{grid-template-columns:1fr auto}.news-date{grid-column:1/-1;padding-bottom:0}.fixed-bar{bottom:10px;padding:9px 10px 9px 14px}.fixed-bar p{font-size:11px}.fixed-bar p b{font-size:12px}.fixed-bar .button-primary{padding:0 13px;font-size:13px;min-height:40px}.footer-links{flex-wrap:wrap;gap:12px 20px}
    }

/* roulang page: category1 */
:root{
 --wine:#5a1735;
 --wine-deep:#35101f;
 --wine-soft:#f4e8ed;
 --coral:#c66a58;
 --ochre:#b77a4a;
 --ink:#272123;
 --muted:#72686a;
 --paper:#f8f4ee;
 --cream:#fffdf9;
 --line:#dfd3d0;
 --line-dark:#806774;
 --shadow:0 18px 48px rgba(64,28,41,.10);
 --shadow-soft:0 8px 24px rgba(64,28,41,.07);
 --radius:18px;
 --radius-sm:12px;
 --container:1240px;
 --ease:220ms cubic-bezier(.2,.75,.25,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;background:var(--paper);color:var(--ink);
 font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
 font-size:16px;line-height:1.78;overflow-x:hidden;
}
a{color:inherit;text-decoration:none;transition:color var(--ease),background var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease)}
img{max-width:100%;display:block}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(198,106,88,.6);outline-offset:3px}
.grid-container{max-width:var(--container);padding-left:28px;padding-right:28px}
.site-header{
 position:sticky;top:0;z-index:100;background:rgba(248,244,238,.94);
 border-bottom:1px solid rgba(223,211,208,.9);backdrop-filter:blur(14px);
}
.masthead{min-height:80px;display:flex;align-items:center;gap:22px}
.brand{
 flex:0 0 auto;color:var(--wine);font-size:23px;font-weight:850;letter-spacing:-1.2px;
 line-height:1;white-space:nowrap;
}
.brand small{display:block;margin-top:5px;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--ochre)}
.mast-rule{height:34px;width:1px;background:var(--line);flex:0 0 auto}
.desktop-nav{display:flex;align-items:center;gap:7px;flex:1}
.nav-link{padding:8px 12px;border-radius:8px;color:#55474b;font-size:14px;font-weight:700;position:relative}
.nav-link:after{
 content:"";position:absolute;left:12px;right:12px;bottom:3px;height:2px;background:var(--wine);
 transform:scaleX(0);transform-origin:left;transition:transform var(--ease);
}
.nav-link:hover,.nav-link.active{color:var(--wine)}
.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}
.header-cta,.button-primary,.button-light,.button-outline{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;
 font-weight:800;border:1px solid transparent;line-height:1.2;
}
.header-cta{background:var(--wine);color:#fff;padding:11px 17px;font-size:14px;box-shadow:0 7px 16px rgba(90,23,53,.16)}
.header-cta:hover{background:var(--wine-deep);color:#fff;transform:translateY(-2px)}
.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;color:var(--wine);font-size:25px;padding:7px}
.mobile-panel{display:none;border-top:1px solid var(--line);padding:12px 0 18px}
.mobile-panel.open{display:block}
.mobile-panel .nav-link{display:block;padding:11px 4px;border-radius:0}
.mobile-panel .nav-link:after{left:0;right:auto;width:36px;bottom:5px}
.button-primary,.button-light,.button-outline{min-height:49px;padding:0 22px;font-size:15px}
.button-primary{background:var(--wine);color:#fff;box-shadow:0 10px 22px rgba(90,23,53,.18)}
.button-primary:hover{background:var(--wine-deep);color:#fff;transform:translateY(-3px);box-shadow:0 15px 28px rgba(90,23,53,.22)}
.button-primary:active,.header-cta:active{transform:translateY(0)}
.button-light{background:#fff;color:var(--wine);border-color:var(--line)}
.button-light:hover{background:var(--wine-soft);border-color:#caabb9;transform:translateY(-2px)}
.button-outline{background:transparent;color:var(--wine);border-color:#b79ba8}
.button-outline:hover{background:var(--wine-soft);border-color:var(--wine);transform:translateY(-2px)}
.guide-hero{
 position:relative;overflow:hidden;padding:82px 0 74px;background:var(--cream);border-bottom:1px solid var(--line);
}
.guide-hero:before{
 content:"";position:absolute;right:-135px;top:-180px;width:490px;height:490px;border-radius:50%;
 background:radial-gradient(circle,rgba(198,106,88,.17),rgba(198,106,88,0) 68%);
}
.guide-hero:after{
 content:"";position:absolute;left:4%;bottom:0;width:230px;height:120px;border:1px solid rgba(90,23,53,.15);
 border-bottom:0;border-radius:230px 230px 0 0;
}
.hero-inner{position:relative;z-index:1}
.breadcrumb{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px;font-weight:700;margin-bottom:28px}
.breadcrumb span{color:var(--coral)}
.eyebrow{
 display:inline-flex;align-items:center;gap:8px;color:var(--wine);font-size:12px;font-weight:850;letter-spacing:.12em;
}
.eyebrow i{display:inline-block;width:8px;height:8px;background:var(--coral);border-radius:50%}
.guide-title{
 margin:14px 0 0;color:var(--wine-deep);font-size:clamp(42px,5.5vw,68px);line-height:1.1;
 letter-spacing:-3.4px;font-weight:900;
}
.guide-title em{font-style:normal;color:var(--coral)}
.guide-copy{max-width:690px;margin:23px 0 0;color:#5e5355;font-size:17px;line-height:1.9}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.guide-panel{
 margin-left:auto;max-width:400px;padding:25px;background:var(--wine-deep);color:#fff;border-radius:var(--radius);
 box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.guide-panel:before{content:"";position:absolute;width:160px;height:160px;border:22px solid rgba(255,255,255,.07);border-radius:50%;right:-55px;top:-58px}
.panel-label{position:relative;color:#e6b29f;font-size:12px;letter-spacing:.14em;font-weight:800}
.panel-title{position:relative;margin:11px 0 17px;font-size:26px;line-height:1.35;font-weight:850}
.panel-list{position:relative;margin:0;padding:0;list-style:none}
.panel-list li{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-top:1px solid rgba(255,255,255,.14);font-size:14px;color:#eee0e5}
.panel-list b{color:#edb89c}
.section{padding:92px 0}
.section-head{margin-bottom:34px}
.section-kicker{font-size:12px;letter-spacing:.14em;font-weight:850;color:var(--coral);margin-bottom:8px}
.section-title{margin:0;color:var(--wine-deep);font-size:clamp(30px,3.5vw,44px);line-height:1.2;letter-spacing:-2px;font-weight:900}
.section-intro{max-width:670px;margin:14px 0 0;color:var(--muted);font-size:16px}
.path-card{
 height:100%;padding:27px 25px;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);
 box-shadow:var(--shadow-soft);position:relative;overflow:hidden;
}
.path-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#c6a9b5}
.path-card.featured{background:var(--wine);border-color:var(--wine);color:#fff}
.path-number{font-size:13px;font-weight:900;letter-spacing:.1em;color:var(--coral)}
.featured .path-number{color:#efb79e}
.path-icon{
 width:46px;height:46px;display:grid;place-items:center;margin:18px 0;border-radius:14px;
 background:var(--wine-soft);color:var(--wine);font-size:21px;font-weight:900;
}
.featured .path-icon{background:rgba(255,255,255,.14);color:#fff}
.path-card h3{margin:0 0 9px;color:var(--wine-deep);font-size:22px;line-height:1.3;font-weight:850}
.path-card.featured h3{color:#fff}
.path-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.path-card.featured p{color:#ecdce3}
.process-area{background:#f0e7e4;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-list{margin-top:18px;border-top:1px solid var(--line)}
.process-item{display:grid;grid-template-columns:78px 1fr auto;gap:23px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}
.process-index{font-size:30px;font-weight:900;color:#b993a2;letter-spacing:-2px}
.process-item h3{margin:0;color:var(--wine-deep);font-size:20px;line-height:1.35;font-weight:850}
.process-item p{margin:5px 0 0;color:var(--muted);font-size:14px}
.process-dot{width:13px;height:13px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 7px rgba(198,106,88,.13)}
.editorial-wrap{align-items:center}
.editorial-visual{position:relative;min-height:420px}
.paper-sheet{
 position:absolute;inset:22px 25px 12px 0;padding:34px;border-radius:var(--radius);background:var(--wine-deep);
 color:#fff;box-shadow:var(--shadow);overflow:hidden;
}
.paper-sheet:after{
 content:"";position:absolute;right:-70px;bottom:-80px;width:250px;height:250px;border:28px solid rgba(198,106,88,.25);
 border-radius:50%;
}
.sheet-kicker{position:relative;font-size:12px;letter-spacing:.14em;color:#e5ad96;font-weight:850}
.sheet-title{position:relative;max-width:310px;margin:18px 0 22px;font-size:32px;line-height:1.25;font-weight:900}
.sheet-line{position:relative;height:8px;margin:11px 0;border-radius:99px;background:rgba(255,255,255,.15)}
.sheet-line.short{width:58%}
.sheet-badge{
 position:absolute;right:0;top:0;width:145px;height:145px;border-radius:50%;display:grid;place-items:center;text-align:center;
 background:var(--coral);color:#fff;font-size:14px;line-height:1.35;font-weight:850;transform:rotate(10deg);z-index:2;
}
.editorial-copy{padding-left:42px}
.check-list{list-style:none;padding:0;margin:25px 0 0}
.check-list li{display:flex;gap:13px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);color:#55494b;font-size:15px}
.check-list b{width:24px;height:24px;flex:0 0 24px;border-radius:50%;display:grid;place-items:center;background:var(--wine-soft);color:var(--wine);font-size:13px}
.quote-section{padding:82px 0;background:var(--cream)}
.quote-card{
 padding:43px 46px;background:linear-gradient(135deg,#fffdf9 0%,#f6eaed 100%);border:1px solid var(--line);
 border-radius:var(--radius);box-shadow:var(--shadow-soft);
}
.quote-mark{font-family:Georgia,serif;font-size:64px;height:46px;line-height:1;color:var(--coral)}
.quote-card blockquote{max-width:820px;margin:8px 0 0;color:var(--wine-deep);font-size:clamp(22px,3vw,32px);line-height:1.55;font-weight:800;letter-spacing:-1px}
.quote-meta{margin-top:22px;color:var(--muted);font-size:14px;font-weight:700}
.faq-layout{align-items:start}
.faq-note{padding:26px;background:var(--wine-soft);border-radius:var(--radius-sm);border:1px solid #e2cbd4}
.faq-note h3{margin:0;color:var(--wine-deep);font-size:22px;font-weight:850}
.faq-note p{margin:10px 0 0;color:#67545c;font-size:14px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-question{
 width:100%;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:21px 0;
 border:0;background:transparent;color:var(--wine-deep);text-align:left;font-size:17px;font-weight:850;
}
.faq-question span:last-child{font-size:24px;font-weight:400;color:var(--coral);transition:transform var(--ease)}
.faq-item.open .faq-question span:last-child{transform:rotate(45deg)}
.faq-answer{display:none;padding:0 38px 22px 0;color:var(--muted);font-size:15px}
.faq-item.open .faq-answer{display:block}
.cta-section{padding:0 0 112px}
.cta-box{
 display:flex;align-items:center;justify-content:space-between;gap:30px;padding:42px 45px;border-radius:var(--radius);
 background:var(--wine-deep);color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.cta-box:after{content:"";position:absolute;right:-86px;top:-110px;width:280px;height:280px;border-radius:50%;border:38px solid rgba(255,255,255,.07)}
.cta-content{position:relative;z-index:1}
.cta-content h2{margin:0;font-size:33px;line-height:1.25;font-weight:900;letter-spacing:-1.5px}
.cta-content p{max-width:650px;margin:10px 0 0;color:#eadce1;font-size:15px}
.cta-box .button-light{position:relative;z-index:1;white-space:nowrap}
.site-footer{background:#28151e;color:#f4e9eb;padding:54px 0 26px}
.footer-top{display:flex;justify-content:space-between;gap:50px;padding-bottom:35px;border-bottom:1px solid rgba(255,255,255,.14)}
.footer-brand{display:inline-block;color:#fff;font-size:22px;line-height:1;font-weight:850;letter-spacing:-1px}
.footer-brand small{display:block;margin-top:7px;color:#d99c84;font-size:10px;font-weight:700;letter-spacing:1.7px}
.footer-copy{max-width:520px;margin:18px 0 0;color:#cdbbc1;font-size:14px;line-height:1.8}
.footer-links{display:flex;align-items:flex-start;gap:22px;flex-wrap:wrap;padding-top:8px}
.footer-links a{color:#eadde1;font-size:14px;font-weight:700}
.footer-links a:hover{color:#edb89c}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;color:#af969f;font-size:12px}
.fixed-bar{
 position:fixed;left:0;right:0;bottom:0;z-index:90;background:rgba(53,16,31,.96);backdrop-filter:blur(12px);
 color:#fff;border-top:1px solid rgba(255,255,255,.15);
}
.fixed-bar-inner{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.fixed-bar p{margin:0;color:#eadce1;font-size:13px;font-weight:700}
.fixed-bar p b{color:#fff}
.fixed-bar .button-primary{min-height:38px;padding:0 18px;background:var(--coral);box-shadow:none;font-size:13px}
.fixed-bar .button-primary:hover{background:#ac5144}
@media (max-width:1024px){
 .guide-panel{margin:35px 0 0;max-width:none}
 .editorial-copy{padding-left:15px}
 .section{padding:76px 0}
}
@media (max-width:768px){
 .grid-container{padding-left:20px;padding-right:20px}
 .masthead{min-height:70px;gap:13px}
 .brand{font-size:19px}
 .mast-rule,.desktop-nav,.masthead>.header-cta{display:none}
 .menu-toggle{display:block}
 .mobile-panel .header-cta{margin-top:12px}
 .guide-hero{padding:54px 0 56px}
 .guide-title{letter-spacing:-2.4px}
 .guide-copy{font-size:16px}
 .process-item{grid-template-columns:48px 1fr 14px;gap:13px}
 .process-index{font-size:24px}
 .editorial-visual{min-height:370px;margin-bottom:36px}
 .editorial-copy{padding-left:0}
 .quote-card{padding:31px 25px}
 .cta-box{display:block;padding:34px 28px}
 .cta-box .button-light{margin-top:22px}
 .footer-top{display:block}
 .footer-links{margin-top:28px;padding-top:0}
 .footer-bottom{display:block}
 .footer-bottom span{display:block;margin-top:6px}
 .fixed-bar{padding:8px 0}
 body{padding-bottom:68px}
}
@media (max-width:520px){
 .brand small{font-size:8px;letter-spacing:1.3px}
 .guide-title{font-size:40px}
 .hero-actions .button-primary,.hero-actions .button-outline{width:100%}
 .section{padding:58px 0}
 .section-title{letter-spacing:-1.3px}
 .path-card{padding:23px 20px}
 .process-item{padding:18px 0}
 .process-item h3{font-size:17px}
 .paper-sheet{inset:14px 10px 10px 0;padding:26px}
 .sheet-title{font-size:27px;max-width:245px}
 .sheet-badge{width:105px;height:105px;font-size:12px}
 .faq-question{font-size:16px}
 .faq-answer{padding-right:10px}
 .fixed-bar p{font-size:11px;line-height:1.45}
 .fixed-bar .button-primary{padding:0 13px;min-height:36px}
}
