/* ============================================
   远隆环境 — 企业官网统一设计系统 v2.0
   ============================================ */

/* === Reset & Base === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;color:#222;font-size:16px;line-height:1.7;background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}

/* === Design Tokens === */
:root{
  --teal:#009999;
  --teal-dark:#007a7a;
  --dark:#1a1a2e;
  --gray-50:#f7f8fa;
  --gray-100:#f0f4f5;
  --gray-200:#e8eaed;
  --gray-400:#999;
  --gray-500:#666;
  --gray-600:#444;
  --text:#222;
  --text-light:#555;
  --white:#fff;
  --radius:12px;
  --radius-sm:8px;
  --shadow:0 8px 30px rgba(0,0,0,0.06);
  --shadow-sm:0 2px 8px rgba(0,0,0,0.04);
}

/* === Container === */
.container{max-width:1200px;margin:0 auto;padding:0 40px}
@media(max-width:768px){.container{padding:0 20px}}

/* === Header === */
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--gray-200)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:22px;color:#111}

.logo-dot{width:32px;height:32px;background:var(--teal);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:18px;font-weight:700}
.logo-sub{font-size:11px;color:var(--gray-400);font-weight:400;letter-spacing:1px}
.nav{display:flex;align-items:center;gap:32px}
.nav a{font-size:15px;color:var(--gray-600);position:relative;padding:4px 0;transition:color 0.2s}
.nav a:hover,.nav a.active{color:var(--teal)}
.nav a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--teal);transition:width 0.2s}
.nav a:hover::after,.nav a.active::after{width:100%}
.nav-right{display:flex;align-items:center;gap:16px}
.lang-switch{font-size:13px;color:var(--gray-400)}
.lang-switch a.active{color:#111;font-weight:600}
.btn-cta{display:inline-block;padding:10px 24px;background:var(--teal);color:var(--white);border-radius:6px;font-size:14px;font-weight:600;transition:background 0.2s}
.btn-cta:hover{background:var(--teal-dark)}
.btn-erp{display:inline-block;padding:10px 24px;background:var(--dark);color:var(--white);border-radius:6px;font-size:14px;font-weight:600;transition:background 0.2s}
.btn-erp:hover{background:#333}
.menu-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer}
.menu-toggle span{width:24px;height:2px;background:#333;transition:0.3s}
@media(max-width:768px){.nav{display:none}.nav-right{display:none}.menu-toggle{display:flex}}

/* === Subpage Hero === */
.page-hero{background:var(--dark);padding:64px 0;text-align:center}
.page-hero .section-tag{color:var(--teal)}
.page-hero h1{color:var(--white);font-size:48px;font-weight:300;margin-top:16px}
.page-hero p{color:rgba(255,255,255,0.7);margin-top:12px;font-size:18px}
@media(max-width:768px){.page-hero h1{font-size:32px}.page-hero{padding:48px 0}}

/* === Hero (Home) === */
.hero{padding:100px 0 80px;text-align:center;background:linear-gradient(180deg,#f8fafb 0%,#fff 100%)}
.hero h1{font-size:48px;font-weight:800;color:#111;line-height:1.25;letter-spacing:-1px;margin-bottom:16px}
.hero h1 span{color:var(--teal)}
.hero p{font-size:18px;color:var(--text-light);max-width:600px;margin:0 auto 32px;line-height:1.8}
.hero-stats{display:flex;justify-content:center;gap:60px;margin:40px 0}
.hero-stat{text-align:center}
.hero-stat-num{font-size:36px;font-weight:800;color:var(--teal)}
.hero-stat-label{font-size:13px;color:#888;margin-top:4px}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
@media(max-width:768px){.hero h1{font-size:32px}.hero-stats{gap:30px;flex-wrap:wrap}.hero-stat-num{font-size:28px}}

/* === Buttons === */
.btn-primary{padding:12px 28px;background:var(--teal);color:var(--white);border-radius:var(--radius-sm);font-size:14px;font-weight:600;display:inline-block;transition:all 0.2s;border:none;cursor:pointer}
.btn-primary:hover{background:var(--teal-dark);transform:translateY(-1px)}
.btn-primary-lg{padding:14px 36px;background:var(--teal);color:var(--white);border-radius:var(--radius-sm);font-size:16px;font-weight:600;transition:all 0.2s}
.btn-primary-lg:hover{background:var(--teal-dark);transform:translateY(-1px)}
.btn-outline{padding:12px 28px;border:2px solid var(--teal);color:var(--teal);border-radius:var(--radius-sm);font-size:14px;font-weight:600;display:inline-block;transition:all 0.2s;background:transparent}
.btn-outline:hover{background:var(--teal);color:var(--white)}
.btn-outline-lg{padding:14px 36px;border:2px solid var(--teal);color:var(--teal);border-radius:var(--radius-sm);font-size:16px;font-weight:600;transition:all 0.2s}
.btn-outline-lg:hover{background:var(--teal);color:var(--white);transform:translateY(-1px)}
.btn-white{padding:14px 36px;background:var(--white);color:var(--teal);border-radius:var(--radius-sm);font-size:16px;font-weight:700;transition:all 0.2s;display:inline-block}
.btn-white:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,0.15)}

/* === Sections === */
.section{padding:80px 0}
.section-sm{padding:48px 0}
.section-gray{background:var(--gray-50)}
.section-header{margin-bottom:48px;text-align:center}
.section-header h2{font-size:32px;font-weight:700;color:#111;margin-bottom:12px}
.section-header h2 strong{color:var(--teal);font-weight:400}
.section-header p,.section-desc{font-size:16px;color:var(--gray-500);max-width:640px;margin:0 auto}
.section-tag{display:inline-block;font-size:12px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:2px;margin-bottom:12px}
@media(max-width:768px){.section{padding:56px 0}.section-header h2{font-size:26px}}

/* === Grid System === */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:992px){.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* === Product Grid (Home) === */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:992px){.product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.product-grid{grid-template-columns:1fr}}
.product-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;transition:all 0.3s}
.product-card:hover{border-color:var(--teal);box-shadow:var(--shadow);transform:translateY(-2px)}
.product-card-img{height:200px;background:var(--gray-100);display:flex;align-items:center;justify-content:center;overflow:hidden}
.product-card-img img{width:100%;height:100%;object-fit:cover}
.product-card-body{padding:20px}
.product-card-body h3{font-size:18px;font-weight:700;margin-bottom:8px}
.product-card-body p{font-size:14px;color:var(--gray-500);line-height:1.6}
.product-card-body .link{display:inline-block;margin-top:12px;font-size:14px;font-weight:600;color:var(--teal)}
.product-card-body .link:hover{text-decoration:underline}

/* === Cards === */
.card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;transition:all 0.3s}
.card:hover{border-color:var(--teal);box-shadow:var(--shadow);transform:translateY(-2px)}
.card-image{background:var(--gray-100);display:flex;align-items:center;justify-content:center;overflow:hidden}
.card-image img{width:100%;height:100%;object-fit:cover}
.card-content{padding:24px}
.card-content h3{font-size:20px;font-weight:700;margin-bottom:12px;color:#111}
.card-content h4{font-size:16px;font-weight:600;margin-bottom:8px;color:#111;line-height:1.5}
.card-content p{font-size:14px;color:var(--gray-500);line-height:1.7}
.card-content .text-sm{font-size:13px;color:#888}

/* === News List === */
.news-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:768px){.news-list{grid-template-columns:1fr}}
.news-item{display:flex;gap:16px;padding:20px;border:1px solid var(--gray-200);border-radius:10px;transition:all 0.2s}
.news-item:hover{border-color:var(--teal)}
.news-date{flex-shrink:0;width:60px;text-align:center}
.news-date-day{font-size:28px;font-weight:800;color:var(--teal);line-height:1}
.news-date-month{font-size:12px;color:#888;margin-top:4px}
.news-text h4{font-size:15px;font-weight:600;margin-bottom:4px;line-height:1.5}
.news-text p{font-size:13px;color:#888;line-height:1.5}

/* === News Article Card === */
.news-card{padding:0}
.news-card .card-content{display:flex;gap:16px;flex-wrap:wrap}
.news-card .news-card-date{flex:0 0 80px;text-align:center}
.news-card .news-card-day{font-size:28px;font-weight:700;color:var(--teal);line-height:1}
.news-card .news-card-month{font-size:12px;color:var(--gray-500);margin-top:4px}
.news-card .news-card-body{flex:1;min-width:200px}
.news-card .news-card-body h4{font-size:16px;font-weight:600;margin-bottom:8px;line-height:1.5}
.news-card .news-card-body p{font-size:14px;color:var(--gray-500);line-height:1.8;margin-bottom:8px}
.news-card .news-card-body .source{font-size:12px;color:var(--gray-400)}

/* === Split Layout === */
.split-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
@media(max-width:768px){.split-layout{grid-template-columns:1fr;gap:40px}}

/* === About Grid (Home) === */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
@media(max-width:768px){.about-grid{grid-template-columns:1fr;gap:40px}}
.about-text h3{font-size:24px;font-weight:700;margin-bottom:16px}
.about-text p{font-size:15px;color:var(--text-light);line-height:1.9;margin-bottom:12px}
.about-clients{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.about-clients>div{background:var(--gray-100);padding:14px;text-align:center;border-radius:var(--radius-sm);font-size:14px;font-weight:600;color:#333}

/* === CTA === */
.cta-section{background:var(--teal);padding:70px 0;text-align:center;color:var(--white)}
.cta-section h3{font-size:28px;font-weight:700;margin-bottom:12px}
.cta-section p{font-size:16px;opacity:0.9;margin-bottom:28px}

/* === Footer === */
.footer{background:var(--dark);color:#aaa;padding:60px 0 30px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:30px}}
.footer h4{color:var(--white);font-size:14px;font-weight:700;margin-bottom:16px;text-transform:uppercase;letter-spacing:1px}
.footer p,.footer a{font-size:13px;line-height:2;color:var(--gray-400)}
.footer a:hover{color:var(--white)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:20px;display:flex;justify-content:space-between;font-size:12px;color:#666;flex-wrap:wrap;gap:10px}
.footer-bottom a{color:#888}
.footer-bottom a:hover{color:var(--white)}
.footer-beian{text-align:center;padding-top:12px;border-top:1px solid rgba(255,255,255,0.1);margin-top:12px}
.footer-beian span,.footer-beian a{font-size:12px;color:rgba(255,255,255,0.5)}

/* === Form === */
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:6px}
.form-control{width:100%;padding:10px 14px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:14px;color:var(--text);transition:border-color 0.2s;outline:none;font-family:inherit}
.form-control:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,153,153,0.1)}
textarea.form-control{resize:vertical;min-height:100px}
.form-submit{width:100%;padding:14px;border:none;border-radius:var(--radius-sm);background:var(--teal);color:var(--white);font-size:16px;font-weight:700;cursor:pointer;transition:background 0.2s}
.form-submit:hover{background:var(--teal-dark)}

/* === Hero Image === */
.hero-img{text-align:center;margin-bottom:40px}
.hero-img img{width:100%;max-width:800px;border-radius:var(--radius);display:inline-block}

/* === Section Image === */
.section-img{text-align:center;margin:24px 0 32px}
.section-img img{width:100%;max-width:600px;border-radius:10px}

/* === Stat Grid === */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;margin:32px 0}
.stat-grid .stat-num{font-size:48px;font-weight:300;color:var(--teal)}
.stat-grid .stat-label{font-size:14px;color:var(--gray-500);margin-top:8px}
@media(max-width:768px){.stat-grid{grid-template-columns:repeat(2,1fr)}}

/* === Timeline === */
.timeline{max-width:800px;margin:0 auto;position:relative}
.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--gray-200);transform:translateX(-50%)}
.timeline-item{display:flex;align-items:flex-start;margin-bottom:32px;position:relative}
.timeline-item:nth-child(odd){flex-direction:row}
.timeline-item:nth-child(even){flex-direction:row-reverse}
.timeline-dot{flex-shrink:0;width:16px;height:16px;border-radius:50%;background:var(--teal);border:3px solid var(--white);box-shadow:0 0 0 3px var(--teal);margin:8px 0}
.timeline-content{width:45%;padding:20px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.timeline-content h4{font-size:16px;font-weight:700;margin-bottom:4px}
.timeline-content .time{font-size:12px;color:var(--teal);font-weight:700;margin-bottom:8px}
.timeline-content p{font-size:14px;color:var(--gray-500)}
@media(max-width:768px){
  .timeline::before{left:16px}
  .timeline-item,.timeline-item:nth-child(even){flex-direction:row;padding-left:40px}
  .timeline-dot{position:absolute;left:8px}
  .timeline-content{width:100%}
}

/* === Contact Cards === */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:40px 0}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr}}
.contact-card{text-align:center;padding:32px 20px}
.contact-card .icon{font-size:36px;color:var(--teal);margin-bottom:16px}
.contact-card h4{font-size:16px;font-weight:700;margin-bottom:8px}

/* === Section Divider === */
.section-divider{margin:40px 0;border-top:1px solid var(--gray-200)}

/* === Badges/Tags === */
.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}
.badge-primary{background:rgba(0,153,153,0.1);color:var(--teal)}
.badge-dark{background:rgba(26,26,46,0.1);color:var(--dark)}

/* === Info Box === */
.info-box{background:var(--gray-50);border-left:4px solid var(--teal);padding:16px 20px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:16px 0}
.info-box h4{font-size:15px;font-weight:600;margin-bottom:4px}
.info-box p{font-size:13px;color:var(--gray-500)}
.info-box.success{border-left-color:#22c55e;background:#f0fdf4}
.info-box.warning{border-left-color:#f59e0b;background:#fffbeb}
.info-box.danger{border-left-color:#ef4444;background:#fef2f2}

/* === Link List === */
.link-list{list-style:none}
.link-list li{padding:8px 0;border-bottom:1px solid var(--gray-100)}
.link-list li:last-child{border-bottom:none}
.link-list a{color:var(--gray-600);font-size:14px;transition:color 0.2s}
.link-list a:hover{color:var(--teal)}

/* === Mobile Nav (JS-free) === */
@media(max-width:768px){
  body.nav-open .nav{display:flex;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:var(--white);padding:20px;border-bottom:1px solid var(--gray-200);gap:16px}
  body.nav-open .nav-right{display:flex;flex-direction:column;width:100%}
}

/* === Utility === */
.text-center{text-align:center}
.text-left{text-align:left}
.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}
.text-teal{color:var(--teal)}
.text-sm{font-size:13px;color:var(--gray-500)}
.text-xs{font-size:12px;color:var(--gray-400)}
