/* ============================================================
   fd001 · 峰动 体育企业模板  |  草皮翠绿 + 冠军金 + 炭黑
   prefix: fd-   version: fd001a
   ============================================================ */
:root{
    --fd-page:#f0f3f0; --fd-surface:#ffffff; --fd-ink:#111a14; --fd-ink-2:#4a5b52;
    --fd-line:#dde5df; --fd-green:#14804a; --fd-green-d:#0d5c35; --fd-green-l:#0f9d58;
    --fd-gold:#ffab2e; --fd-gold-d:#d98e15; --fd-dark:#0d1117; --fd-dark-2:#161f28; --fd-dark-3:#1d2935;
    --fd-grad:linear-gradient(135deg,#14804a,#0f9d58);
    --fd-grad-gold:linear-gradient(135deg,#ffab2e,#ff7b3a);
    --fd-grad-dark:linear-gradient(160deg,#0d1117,#161f28 55%,#1a2836);
    --fd-shadow:0 18px 40px rgba(13,25,18,.10);
    --fd-shadow-lg:0 30px 64px rgba(13,25,18,.16);
    --fd-radius:18px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:"PingFang SC","Microsoft YaHei","Segoe UI",Roboto,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:var(--fd-ink);background:var(--fd-page);line-height:1.7;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;transition:color .2s;}
::selection{background:var(--fd-green);color:#fff;}
.fd-main{display:block;}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:800;line-height:1.3;}
p{margin:0 0 14px;}

/* ---------- buttons ---------- */
.fd-btn-solid,.fd-btn-gold,.fd-btn-ghostl{padding:12px 28px;border-radius:999px;font-weight:700;font-size:15px;border:2px solid transparent;transition:.25s;display:inline-flex;align-items:center;gap:8px;line-height:1.2;}
.fd-btn-solid{background:var(--fd-grad);color:#fff;}
.fd-btn-solid:hover{color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(20,128,74,.4);}
.fd-btn-gold{background:var(--fd-grad-gold);color:var(--fd-dark);}
.fd-btn-gold:hover{color:var(--fd-dark);transform:translateY(-2px);box-shadow:0 12px 26px rgba(255,171,46,.4);}
.fd-btn-ghostl{background:transparent;border-color:rgba(255,255,255,.45);color:#fff;}
.fd-btn-ghostl:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff;}

/* ---------- navbar ---------- */
.fd-navbar{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--fd-line);z-index:1030;}
.fd-navbar .navbar{padding:13px 0;}
.fd-brand{display:flex;align-items:center;gap:10px;font-weight:900;}
.fd-crest{width:40px;height:40px;display:block;flex:0 0 40px;}
.fd-crest svg{width:100%;height:100%;display:block;}
.fd-brand-text{font-size:20px;color:var(--fd-ink);letter-spacing:.5px;}
.fd-navbar .nav-link{color:var(--fd-ink-2);font-weight:600;padding:8px 16px!important;border-radius:10px;transition:.2s;}
.fd-navbar .nav-item:hover .nav-link,.fd-navbar .nav-item.active .nav-link{color:var(--fd-green);}
.fd-nav-cta .btn{background:var(--fd-grad);color:#fff;padding:9px 22px;border-radius:999px;margin-left:8px;font-weight:700;}
.fd-nav-cta .btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px rgba(20,128,74,.4);}

/* ---------- hero ---------- */
.fd-hero{position:relative;overflow:hidden;background:var(--fd-grad-dark);color:#fff;padding:92px 0 84px;}
.fd-hero-bg{position:absolute;inset:0;background:url(../images/fd_hero.jpg) center/cover no-repeat;opacity:.28;}
.fd-hero-glow{position:absolute;width:640px;height:640px;right:-140px;top:-180px;background:radial-gradient(circle,rgba(20,128,74,.55),transparent 70%);filter:blur(18px);pointer-events:none;}
.fd-hero-inner{z-index:2;}
.fd-hero-eyebrow{display:inline-block;font-size:13px;letter-spacing:2px;font-weight:800;color:#5fd6a0;margin-bottom:14px;}
.fd-hero-title{font-size:40px;font-weight:900;line-height:1.2;margin-bottom:16px;background:linear-gradient(120deg,#fff,#c7f5dd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.fd-hero-sub{font-size:17px;color:rgba(255,255,255,.82);max-width:560px;margin-bottom:20px;}
.fd-hero-points{list-style:none;padding:0;margin:0 0 24px;}
.fd-hero-points li{position:relative;padding-left:24px;color:rgba(255,255,255,.82);font-size:15px;margin-bottom:8px;}
.fd-hero-points li::before{content:'';position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--fd-green-l);}
.fd-hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:24px;}
.fd-hero-chips{display:flex;flex-wrap:wrap;gap:12px;}
.fd-chip{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 18px;font-size:13px;color:rgba(255,255,255,.9);}
.fd-chip b{color:var(--fd-gold);margin-right:4px;font-size:15px;}
/* hero board */
.fd-hero-board{display:flex;justify-content:flex-end;}
.fd-board{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:24px;backdrop-filter:blur(10px);width:100%;max-width:380px;}
.fd-board-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:14px;}
.bd-live{color:var(--fd-green-l);font-weight:700;display:flex;align-items:center;gap:6px;}
.bd-live i{width:8px;height:8px;border-radius:50%;background:#ff4d4d;animation:fdPulse 1.4s infinite;}
.bd-time{color:rgba(255,255,255,.6);}
.fd-board-match{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:18px;}
.bd-team{display:flex;flex-direction:column;align-items:center;gap:8px;font-weight:700;font-size:15px;}
.bd-crest{width:44px;height:44px;border-radius:50%;display:block;}
.bd-crest.c1{background:linear-gradient(135deg,#2b6cff,#123a99);}
.bd-crest.c2{background:linear-gradient(135deg,#ffab2e,#d98e15);}
.bd-vs{font-size:20px;font-weight:900;color:var(--fd-gold);}
.fd-board-mini{list-style:none;padding:0;margin:0;}
.fd-board-mini li{display:flex;align-items:center;gap:8px;padding:10px 0;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:rgba(255,255,255,.8);}
.fd-board-mini li em{font-style:normal;font-weight:800;color:#fff;margin:0 4px;}
.fd-board-mini .m-h,.fd-board-mini .m-a{flex:1;}
.fd-board-mini .m-a{text-align:right;}
.fd-board-mini i{font-style:normal;font-size:11px;padding:2px 8px;border-radius:6px;margin-left:8px;}
.st-play{background:rgba(255,77,77,.2);color:#ff7676;}
.st-up{background:rgba(255,255,255,.1);color:rgba(255,255,255,.6);}
.st-end{background:rgba(15,157,88,.2);color:#4ade80;}
@keyframes fdPulse{0%,100%{opacity:1;}50%{opacity:.3;}}

/* ---------- results marquee ---------- */
.fd-results{background:var(--fd-dark);overflow:hidden;padding:0;border-bottom:1px solid rgba(255,255,255,.08);}
.fd-results-track{display:flex;gap:0;white-space:nowrap;animation:fdMarquee 30s linear infinite;}
.fd-results-track span{padding:13px 26px;font-size:13px;color:rgba(255,255,255,.7);border-right:1px solid rgba(255,255,255,.06);}
.fd-results-track b{color:var(--fd-green-l);margin-right:6px;}
.fd-results:hover .fd-results-track{animation-play-state:paused;}
@keyframes fdMarquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ---------- section head ---------- */
.fd-sec-head{text-align:center;margin-bottom:44px;}
.fd-sec-head h2{font-size:32px;font-weight:900;color:var(--fd-ink);margin-bottom:10px;}
.fd-sec-head p{font-size:16px;color:var(--fd-ink-2);max-width:640px;margin:0 auto;}
.fd-sec-head-light h2{color:#fff;}
.fd-sec-head-light p{color:rgba(255,255,255,.72);}
.fd-sec-head-light .fd-eyebrow{color:#5fd6a0;}
.fd-sec-head-left{text-align:left;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;}
.fd-sec-head-left h2,.fd-sec-head-left p{margin:0;}
.fd-eyebrow{display:inline-block;font-size:12px;letter-spacing:2px;font-weight:800;color:var(--fd-green);margin-bottom:10px;}

/* ---------- tracks ---------- */
.fd-tracks{padding:72px 0;background:var(--fd-page);}
.fd-track-card{background:var(--fd-surface);border-radius:var(--fd-radius);padding:28px;position:relative;overflow:hidden;box-shadow:var(--fd-shadow);transition:.3s;height:100%;}
.fd-track-card:hover{transform:translateY(-6px);box-shadow:var(--fd-shadow-lg);}
.fd-track-card .tc-icon{font-size:40px;margin-bottom:14px;}
.fd-track-card h4{font-size:19px;margin-bottom:8px;color:var(--fd-ink);}
.fd-track-card p{font-size:14px;color:var(--fd-ink-2);margin:0;}
.fd-track-card .tc-num{position:absolute;right:18px;bottom:14px;font-size:32px;font-weight:900;opacity:.14;}
.tc-green{border-top:3px solid var(--fd-green);}
.tc-green .tc-num{color:var(--fd-green);}
.tc-gold{border-top:3px solid var(--fd-gold);}
.tc-gold .tc-num{color:var(--fd-gold);}
.tc-cyan{border-top:3px solid #12b6d6;}
.tc-cyan .tc-num{color:#12b6d6;}
.tc-amber{border-top:3px solid #ff7b3a;}
.tc-amber .tc-num{color:#ff7b3a;}

/* ---------- console ---------- */
.fd-console{padding:78px 0;background:var(--fd-grad-dark);color:#fff;position:relative;overflow:hidden;}
.fd-console::before{content:'';position:absolute;inset:0;background:url(../images/fd_spot.jpg) center/cover no-repeat;opacity:.05;}
.fd-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:32px;position:relative;}
.fd-kpi{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:22px;text-align:center;}
.fd-kpi b{display:block;font-size:30px;font-weight:900;background:var(--fd-grad-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.fd-kpi span{font-size:13px;color:rgba(255,255,255,.7);}
.fd-console-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;position:relative;}
.fd-console-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:26px;}
.fcc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.fcc-title{font-weight:700;font-size:16px;}
.fcc-badge{font-size:11px;padding:4px 12px;border-radius:999px;background:rgba(15,157,88,.2);color:#4ade80;display:flex;align-items:center;gap:5px;}
.fcc-badge i{width:6px;height:6px;border-radius:50%;background:#4ade80;animation:fdPulse 1.4s infinite;}
.fcb-gold{background:rgba(255,171,46,.2);color:var(--fd-gold);}
.fd-bar{margin-bottom:16px;}
.fd-bar .fb-top{display:flex;justify-content:space-between;font-size:13px;color:rgba(255,255,255,.7);margin-bottom:6px;}
.fd-bar .fb-top em{font-style:normal;color:#fff;font-weight:700;}
.fb-track{height:8px;background:rgba(255,255,255,.1);border-radius:999px;overflow:hidden;}
.fb-fill{height:100%;border-radius:999px;background:var(--fd-grad);transition:width 1s;}
.fb-fill.fb-2{background:linear-gradient(90deg,#12b6d6,#0f9d58);}
.fb-fill.fb-3{background:var(--fd-grad-gold);}
/* chart */
.fd-chart{height:150px;display:flex;align-items:flex-end;padding-top:10px;}
.fd-chart-bars{display:flex;align-items:flex-end;gap:10px;height:100%;width:100%;justify-content:center;}
.fd-chart .fcb{width:34px;background:rgba(255,255,255,.12);border-radius:6px 6px 0 0;position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:20px;}
.fd-chart .fcb span{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:11px;color:rgba(255,255,255,.6);}
.fd-chart .fcb-hot{background:var(--fd-grad);}
.fd-chart-legend{display:flex;gap:20px;margin-top:34px;font-size:12px;color:rgba(255,255,255,.7);}
.fd-chart-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle;}
.lg-a{background:rgba(255,255,255,.2);}
.lg-b{background:var(--fd-green-l);}

/* ---------- spot / why ---------- */
.fd-spot{padding:84px 0;background:var(--fd-surface);}
.fd-spot-media{position:relative;}
.fd-spot-media img{border-radius:var(--fd-radius);aspect-ratio:14/9;object-fit:cover;width:100%;box-shadow:var(--fd-shadow-lg);}
.fd-glass-stat{position:absolute;right:-10px;bottom:-20px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid var(--fd-line);border-radius:16px;padding:18px 24px;box-shadow:var(--fd-shadow);}
.gs-row{display:flex;justify-content:space-between;gap:14px;font-size:13px;color:var(--fd-ink-2);margin-bottom:4px;}
.gs-row b{color:var(--fd-green);}
.gs-big{font-size:34px;font-weight:900;color:var(--fd-ink);line-height:1;}
.gs-big small{font-size:16px;color:var(--fd-gold-d);}
.gs-lbl{font-size:12px;color:var(--fd-ink-2);}
.fd-sec-title{font-size:30px;font-weight:900;margin-bottom:22px;}
.fd-numlist{list-style:none;padding:0;margin:0 0 26px;}
.fd-numlist li{display:flex;gap:16px;margin-bottom:22px;}
.fd-numlist .nr{flex:0 0 46px;height:46px;border-radius:12px;background:var(--fd-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;}
.fd-numlist b{display:block;font-size:17px;margin-bottom:4px;}
.fd-numlist p{font-size:14px;color:var(--fd-ink-2);margin:0;}

/* ---------- stars rail ---------- */
.fd-stars{padding:78px 0;background:var(--fd-grad-dark);color:#fff;overflow:hidden;}
.fd-rail-wrap{padding:0;}
.fd-stars-rail{display:flex;gap:22px;overflow-x:auto;padding:10px 40px 30px;scrollbar-width:none;}
.fd-stars-rail::-webkit-scrollbar{display:none;}
.fd-stars-rail::before,.fd-stars-rail::after{content:'';margin:auto;}
.fd-tcard{flex:0 0 250px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:18px;overflow:hidden;transition:.3s;}
.fd-tcard:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.4);}
.fd-tcard .tc-img{position:relative;aspect-ratio:4/5;overflow:hidden;}
.fd-tcard .tc-img img{width:100%;height:100%;object-fit:cover;}
.tc-num{position:absolute;top:12px;right:14px;font-size:30px;font-weight:900;color:rgba(255,255,255,.25);}
.tc-pos{position:absolute;top:14px;left:14px;font-size:12px;font-weight:700;background:var(--fd-grad);padding:4px 12px;border-radius:999px;}
.tc-body{padding:18px;}
.tc-body h4{font-size:17px;margin-bottom:12px;}
.tc-attr{display:flex;align-items:center;gap:10px;font-size:12px;color:rgba(255,255,255,.7);margin-bottom:8px;}
.tc-attr span{flex:0 0 42px;}
.atr-bar{flex:1;height:6px;background:rgba(255,255,255,.1);border-radius:999px;overflow:hidden;}
.atr-bar i{display:block;height:100%;background:var(--fd-grad-gold);border-radius:999px;}

/* ---------- news ---------- */
.fd-news{padding:80px 0;background:var(--fd-page);}
.fd-news-card{background:var(--fd-surface);border-radius:var(--fd-radius);overflow:hidden;box-shadow:var(--fd-shadow);transition:.3s;height:100%;display:flex;flex-direction:column;}
.fd-news-card:hover{transform:translateY(-6px);box-shadow:var(--fd-shadow-lg);}
.fd-news-card .fn-thumb{aspect-ratio:16/10;overflow:hidden;}
.fd-news-card .fn-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.fd-news-card:hover .fn-thumb img{transform:scale(1.05);}
.fd-news-card .fn-body{padding:20px;display:flex;flex-direction:column;flex:1;}
.fd-news-card .fn-body h4{font-size:16px;margin-bottom:10px;line-height:1.4;}
.fd-news-card .fn-body h4 a:hover{color:var(--fd-green);}
.fn-excerpt{font-size:13px;color:var(--fd-ink-2);margin-bottom:12px;flex:1;}
.fn-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--fd-ink-2);margin-bottom:10px;}
.fn-more{font-size:13px;font-weight:700;color:var(--fd-green);}
.fn-more:hover{color:var(--fd-green-d);}
.fd-news-empty{background:var(--fd-surface);border-radius:var(--fd-radius);padding:60px 20px;text-align:center;color:var(--fd-ink-2);font-size:15px;box-shadow:var(--fd-shadow);}

/* ---------- FAQ ---------- */
.fd-faq-sec{padding:72px 0;background:var(--fd-surface);}
.fd-faq-item{display:flex;gap:14px;background:var(--fd-page);border:1px solid var(--fd-line);border-radius:14px;padding:20px;transition:.3s;}
.fd-faq-item:hover{box-shadow:var(--fd-shadow);}
.fd-faq-item .faq-q{flex:0 0 34px;height:34px;border-radius:10px;background:var(--fd-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;}
.fd-faq-item h5{font-size:16px;margin-bottom:6px;}
.fd-faq-item p{font-size:14px;color:var(--fd-ink-2);margin:0;}

/* ---------- CTA ---------- */
.fd-cta{position:relative;padding:80px 0;background:var(--fd-grad-dark);color:#fff;text-align:center;overflow:hidden;}
.fd-cta-bg{position:absolute;inset:0;background:url(../images/fd_trophy.jpg) center/cover no-repeat;opacity:.22;}
.fd-cta-inner{z-index:2;}
.fd-cta h2{font-size:34px;font-weight:900;margin-bottom:12px;}
.fd-cta p{font-size:17px;color:rgba(255,255,255,.8);margin-bottom:26px;}
.fd-cta-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;}

/* ---------- footer ---------- */
.fd-footer{position:relative;background:var(--fd-dark);color:#fff;padding:64px 0 0;overflow:hidden;}
.fd-footer-bg{position:absolute;inset:0;background:url(../images/fd_night.jpg) center/cover no-repeat;opacity:.06;}
.fd-footer-top{padding-bottom:36px;}
.fd-foot-brand{margin-bottom:16px;}
.fd-foot-brand .fd-brand-text{color:#fff;}
.fd-foot-desc{font-size:14px;color:rgba(255,255,255,.65);line-height:1.8;}
.fd-foot-badges{display:flex;gap:8px;flex-wrap:wrap;}
.fd-foot-badges span{font-size:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:5px 12px;}
.fd-footer h5{font-size:16px;margin-bottom:16px;}
.fd-foot-links{list-style:none;padding:0;margin:0;}
.fd-foot-links li{margin-bottom:10px;}
.fd-foot-links a{font-size:14px;color:rgba(255,255,255,.6);transition:.2s;}
.fd-foot-links a:hover{color:var(--fd-green-l);}
.fd-foot-contact{list-style:none;padding:0;margin:0;}
.fd-foot-contact li{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:14px;color:rgba(255,255,255,.7);}
.fc-ico{font-size:16px;}
.fd-foot-friend{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.fd-foot-friend .fl-label{font-size:14px;color:rgba(255,255,255,.6);}
.fd-foot-friend a{font-size:13px;color:rgba(255,255,255,.5);}
.fd-foot-friend a:hover{color:var(--fd-green-l);}
.fd-foot-policy{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;text-align:center;font-size:14px;}
.fd-foot-policy a{color:rgba(255,255,255,.6);}
.fd-foot-policy a:hover{color:#fff;}
.fd-foot-policy span{margin:0 10px;color:rgba(255,255,255,.3);}
.fd-foot-bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;text-align:center;font-size:13px;color:rgba(255,255,255,.45);}
.fd-foot-bottom a{color:rgba(255,255,255,.6);}

/* ---------- breadcrumb ---------- */
.fd-crumb{background:var(--fd-surface);border-bottom:1px solid var(--fd-line);padding:14px 0;}
.fd-crumb .container{display:flex;align-items:center;flex-wrap:wrap;font-size:14px;color:var(--fd-ink-2);}
.fd-crumb a{color:var(--fd-ink-2);}
.fd-crumb a:hover{color:var(--fd-green);}
.fd-crumb .sep{margin:0 8px;color:var(--fd-line);}

/* ---------- inner pages ---------- */
.fd-inner{padding:44px 0;}
.fd-panel{background:var(--fd-surface);border-radius:var(--fd-radius);padding:32px;box-shadow:var(--fd-shadow);}
.fd-panel-title{font-size:26px;font-weight:900;margin-bottom:14px;}
.fd-panel-desc{font-size:15px;color:var(--fd-ink-2);margin-bottom:22px;}
.fd-hl{color:var(--fd-green);}
.fd-empty{color:var(--fd-ink-2);text-align:center;padding:40px;}

/* ---------- article list ---------- */
.fd-list{display:flex;flex-direction:column;gap:22px;}
.fd-list-item{display:flex;gap:18px;padding-bottom:22px;border-bottom:1px solid var(--fd-line);}
.fd-list-item:last-child{border-bottom:0;padding-bottom:0;}
.fd-li-thumb{flex:0 0 200px;height:140px;border-radius:12px;overflow:hidden;}
.fd-li-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.fd-list-item:hover .fd-li-thumb img{transform:scale(1.05);}
.fd-li-body{flex:1;display:flex;flex-direction:column;}
.fd-li-body h4{font-size:18px;margin-bottom:8px;}
.fd-li-body h4 a:hover{color:var(--fd-green);}
.fd-li-excerpt{font-size:14px;color:var(--fd-ink-2);flex:1;}
.fd-li-meta{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--fd-ink-2);margin-top:8px;}
.fd-li-more{color:var(--fd-green);font-weight:700;margin-left:auto;}

/* ---------- sidebar ---------- */
.fd-side{background:var(--fd-surface);border-radius:var(--fd-radius);padding:24px;box-shadow:var(--fd-shadow);margin-bottom:22px;}
.fd-side-title{font-size:17px;font-weight:800;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--fd-green);}
.fd-side-list{list-style:none;padding:0;margin:0;}
.fd-side-list li{display:flex;gap:12px;margin-bottom:12px;}
.fd-side-list .fd-idx{flex:0 0 24px;height:24px;border-radius:7px;background:var(--fd-page);color:var(--fd-ink-2);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;}
.fd-side-list .hot1{background:#ff4d4d;color:#fff;}
.fd-side-list .hot2{background:var(--fd-gold);color:#fff;}
.fd-side-list .hot3{background:var(--fd-green);color:#fff;}
.fd-side-list .fd-tt{flex:1;font-size:14px;line-height:1.5;color:var(--fd-ink);}
.fd-side-list .fd-tt:hover{color:var(--fd-green);}
.fd-side-gal{display:flex;flex-direction:column;gap:12px;}
.fd-side-gal img{border-radius:12px;width:100%;aspect-ratio:16/10;object-fit:cover;}

/* ---------- tag cloud ---------- */
.fd-tagcloud{display:flex;flex-wrap:wrap;gap:8px;}
.fd-tagcloud a{font-size:13px;background:var(--fd-page);color:var(--fd-ink-2);padding:6px 14px;border-radius:999px;transition:.2s;}
.fd-tagcloud a:hover{background:var(--fd-green);color:#fff;}
.fd-tagcloud-lg a{font-size:15px;padding:8px 18px;}

/* ---------- pagination ---------- */
.fd-pager{margin-top:26px;}
.fd-pager .pagination{justify-content:center;flex-wrap:wrap;gap:6px;}
.fd-pager .page-link{border-radius:10px!important;border:1px solid var(--fd-line);color:var(--fd-ink-2);padding:8px 14px;}
.fd-pager .page-item.active .page-link{background:var(--fd-green);border-color:var(--fd-green);color:#fff;}
.fd-pager .page-link:hover{background:var(--fd-page);color:var(--fd-green);}

/* ---------- article detail ---------- */
.fd-detail-title{font-size:28px;font-weight:900;margin-bottom:16px;line-height:1.3;}
.fd-detail-meta{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;color:var(--fd-ink-2);padding-bottom:20px;border-bottom:1px solid var(--fd-line);margin-bottom:24px;}
.fd-detail-meta b{color:var(--fd-ink);font-weight:600;}
.fd-detail-meta a{color:var(--fd-green);}
.fd-detail-body{font-size:16px;line-height:1.9;color:var(--fd-ink);}
.fd-detail-body img{max-width:100%;height:auto;border-radius:12px;margin:16px 0;}
.fd-detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;}
.fd-detail-tags a{font-size:13px;background:var(--fd-page);color:var(--fd-ink-2);padding:6px 14px;border-radius:999px;}
.fd-detail-tags a:hover{background:var(--fd-green);color:#fff;}
.fd-prev-next{display:flex;gap:16px;margin-top:30px;padding-top:24px;border-top:1px solid var(--fd-line);}
.fd-pn{flex:1;background:var(--fd-page);border-radius:12px;padding:16px;}
.fd-pn p{font-size:13px;color:var(--fd-ink-2);margin-bottom:6px;}
.fd-pn a{font-size:15px;font-weight:600;color:var(--fd-ink);}
.fd-pn a:hover{color:var(--fd-green);}
.fd-pn.next{text-align:right;}
.fd-related{margin-top:34px;padding-top:24px;border-top:1px solid var(--fd-line);}
.fd-related h5{font-size:19px;font-weight:800;margin-bottom:18px;}

/* ---------- tag head ---------- */
.fd-tag-head{display:flex;align-items:center;gap:16px;margin-bottom:26px;}
.fd-tag-badge{width:52px;height:52px;border-radius:14px;background:var(--fd-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900;}

/* ---------- image grid ---------- */
.fd-img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;}
.fd-img-grid a{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;display:block;}
.fd-img-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.fd-img-grid a:hover img{transform:scale(1.08);}
.fd-img-grid .cap{position:absolute;left:0;right:0;bottom:0;padding:12px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-size:13px;}

/* ---------- DIY pages ---------- */
.fd-pagehead{background:var(--fd-grad-dark);color:#fff;padding:60px 0;position:relative;overflow:hidden;}
.fd-pagehead::before{content:'';position:absolute;inset:0;background:url(../images/fd_hero.jpg) center/cover no-repeat;opacity:.15;}
.fd-pagehead .container{position:relative;z-index:2;}
.fd-pagehead h1{font-size:36px;font-weight:900;margin-bottom:8px;}
.fd-ph-sub{font-size:16px;color:rgba(255,255,255,.78);margin-bottom:14px;}
.fd-ph-crumb{font-size:14px;color:rgba(255,255,255,.6);}
.fd-ph-crumb a{color:rgba(255,255,255,.8);}
.fd-ph-crumb .sep{margin:0 8px;}
.fd-diy{padding:56px 0;}
.fd-dsec{margin-bottom:40px;}
.fd-dsec h2{font-size:24px;font-weight:800;margin-bottom:16px;padding-left:14px;border-left:4px solid var(--fd-green);}
.fd-dsec h3{font-size:19px;font-weight:700;margin-bottom:12px;}
.fd-dsec p{font-size:15px;color:var(--fd-ink-2);line-height:1.9;}
.fd-clause{background:var(--fd-page);border-radius:12px;padding:18px 22px;}
.fd-clause ul,.fd-clause ol{margin:0;padding-left:20px;}
.fd-clause li{font-size:15px;color:var(--fd-ink-2);line-height:1.9;margin-bottom:6px;}
.fd-diy-update{font-size:13px;color:var(--fd-ink-2);text-align:center;padding:20px;border-top:1px solid var(--fd-line);}
.fd-dh2{font-size:26px;font-weight:900;margin-bottom:14px;}
.fd-dp{font-size:15px;color:var(--fd-ink-2);}

/* ---------- info grid ---------- */
.fd-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.fd-info-grid-3{grid-template-columns:repeat(3,1fr);}
.fd-icard{background:var(--fd-surface);border:1px solid var(--fd-line);border-radius:var(--fd-radius);padding:26px;text-align:center;transition:.3s;}
.fd-icard:hover{transform:translateY(-6px);box-shadow:var(--fd-shadow);}
.fd-icard .ic-ico{font-size:32px;margin-bottom:12px;}
.fd-icard h4{font-size:18px;margin-bottom:8px;}
.fd-icard p{font-size:13px;color:var(--fd-ink-2);margin:0;}

/* ---------- timeline ---------- */
.fd-tline{position:relative;padding-left:30px;}
.fd-tline::before{content:'';position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--fd-line);}
.fd-tl-item{position:relative;margin-bottom:26px;}
.fd-tl-item::before{content:'';position:absolute;left:-25px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--fd-green);border:3px solid var(--fd-surface);}
.fd-tl-item .tl-year{font-size:14px;font-weight:800;color:var(--fd-green);}
.fd-tl-item h4{font-size:17px;margin:4px 0;}
.fd-tl-item p{font-size:14px;color:var(--fd-ink-2);margin:0;}

/* ---------- contact ---------- */
.fd-contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:44px;}
.fd-contact-info{display:flex;flex-direction:column;gap:16px;}
.fd-ci{display:flex;gap:14px;align-items:flex-start;background:var(--fd-page);border-radius:12px;padding:16px;}
.fd-ci .ci-ico{font-size:22px;}
.fd-ci b{display:block;font-size:15px;margin-bottom:2px;}
.fd-ci span{font-size:14px;color:var(--fd-ink-2);}
.fd-contact-map{position:relative;border-radius:var(--fd-radius);overflow:hidden;}
.fd-contact-map img{width:100%;height:100%;object-fit:cover;}
.map-tip{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);padding:8px 16px;border-radius:10px;font-size:14px;font-weight:600;}

/* ---------- app page ---------- */
.fd-app-head{text-align:center;}
.fd-app-badge{display:inline-block;font-size:13px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 18px;margin-bottom:14px;color:var(--fd-gold);}
.fd-app-stats{display:flex;justify-content:center;gap:40px;margin-top:20px;}
.fd-ahs b{display:block;font-size:26px;font-weight:900;color:var(--fd-gold);}
.fd-ahs span{font-size:13px;color:rgba(255,255,255,.7);}
.fd-feat-list{list-style:none;padding:0;margin:0 0 24px;}
.fd-feat-list li{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:15px;}
.fd-feat-list .fl-ico{font-size:20px;}
.fd-dl-btns{display:flex;gap:14px;flex-wrap:wrap;}
.fd-dl-btn{display:inline-flex;align-items:center;gap:12px;background:var(--fd-dark);color:#fff;padding:12px 22px;border-radius:14px;transition:.3s;}
.fd-dl-btn:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.3);}
.adb-ico{font-size:26px;}
.adb-txt small{display:block;font-size:11px;opacity:.7;}
.adb-txt b{font-size:16px;}
/* phone mockup */
.fd-phone-wrap{display:flex;justify-content:center;}
.fd-phone{width:280px;height:560px;background:var(--fd-dark-2);border-radius:38px;border:8px solid var(--fd-dark);position:relative;box-shadow:var(--fd-shadow-lg);}
.fd-phone-notch{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:120px;height:24px;background:var(--fd-dark);border-radius:0 0 14px 14px;}
.fd-phone-screen{position:absolute;inset:44px 16px 16px;background:var(--fd-grad-dark);border-radius:20px;padding:20px;overflow:hidden;}
.ps-line{height:12px;background:rgba(255,255,255,.15);border-radius:6px;margin-bottom:12px;}
.ps-card{height:60px;background:rgba(255,255,255,.08);border-radius:12px;margin-bottom:12px;}
.w-60{width:60%;}
.w-80{width:80%;}
/* qr */
.fd-qr-row{margin-top:20px;}
.fd-qr{text-align:center;}
.qr-box{position:relative;width:130px;height:130px;margin:0 auto 12px;background:var(--fd-page);border:1px solid var(--fd-line);border-radius:14px;display:flex;align-items:center;justify-content:center;}
.qr-box span{position:absolute;inset:14px;background:repeating-conic-gradient(var(--fd-dark) 0 25%,transparent 0 50%) 50%/18px 18px;border-radius:6px;opacity:.85;}
.qr-logo{position:relative;width:34px;height:34px;background:var(--fd-grad);border-radius:9px;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;}
.fd-qr h5{font-size:15px;margin-bottom:4px;}
.fd-qr p{font-size:13px;color:var(--fd-ink-2);margin:0;}

/* ---------- cta small (DIY内嵌) ---------- */
.fd-cta-sm{padding:52px 0;}
.fd-cta-sm h2{font-size:26px;}

/* ---------- install steps (app) ---------- */
.fd-install{background:var(--fd-page);border:1px solid var(--fd-line);border-radius:14px;padding:22px;height:100%;}
.fd-install h5{font-size:17px;margin-bottom:16px;}
.fd-step-line{display:flex;gap:14px;margin-bottom:14px;}
.fd-step-line .sn{flex:0 0 28px;height:28px;border-radius:50%;background:var(--fd-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;}
.fd-step-line h6{font-size:15px;margin-bottom:2px;}
.fd-step-line p{font-size:13px;color:var(--fd-ink-2);margin:0;}

/* ---------- responsive ---------- */
@media (max-width:991px){
    .fd-hero{padding:60px 0 52px;}
    .fd-hero-title{font-size:31px;}
    .fd-hero-board{justify-content:flex-start;margin-top:20px;}
    .fd-sec-head h2{font-size:26px;}
    .fd-sec-head-left{flex-direction:column;align-items:flex-start;}
    .fd-console-grid{grid-template-columns:1fr;}
    .fd-kpi-row{grid-template-columns:repeat(2,1fr);}
    .fd-spot-media{margin-bottom:30px;}
    .fd-contact-wrap{grid-template-columns:1fr;}
    .fd-info-grid,.fd-info-grid-3{grid-template-columns:repeat(2,1fr);}
    .fd-sec-title{font-size:25px;}
    .fd-app-stats{gap:24px;}
    .fd-pagehead h1{font-size:29px;}
    .fd-li-thumb{flex:0 0 150px;height:112px;}
}
@media (max-width:575px){
    .fd-hero-title{font-size:26px;}
    .fd-hero-chips{gap:8px;}
    .fd-chip{font-size:12px;padding:6px 12px;}
    .fd-brand-text{font-size:18px;}
    .fd-results-track span{padding:11px 16px;font-size:12px;}
    .fd-track-card{padding:22px;}
    .fd-kpi b{font-size:24px;}
    .fd-tcard{flex:0 0 210px;}
    .fd-panel{padding:22px;}
    .fd-detail-title{font-size:23px;}
    .fd-list-item{flex-direction:column;}
    .fd-li-thumb{flex:none;width:100%;height:180px;}
    .fd-info-grid,.fd-info-grid-3{grid-template-columns:1fr;}
    .fd-contact-map{min-height:240px;}
    .fd-app-stats{flex-wrap:wrap;gap:16px;}
    .fd-ahs b{font-size:22px;}
    .fd-cta h2{font-size:26px;}
    .fd-btn-solid,.fd-btn-gold,.fd-btn-ghostl{padding:11px 22px;font-size:14px;}
    .fd-404-wrap .code{font-size:100px;}
}
