
  :root{
    --primary:#0f4c81;
    --primary-dark:#0a3358;
    --primary-light:#e8f1f8;
    --accent:#c9a227;
    --accent-light:#f8f1d8;
    --text:#1a1a2e;
    --text-secondary:#5a6470;
    --text-tertiary:#8a949e;
    --bg:#ffffff;
    --bg-soft:#f7f9fb;
    --bg-warm:#faf8f3;
    --line:#e6eaef;
    --shadow:0 4px 20px rgba(15,76,129,.06);
    --shadow-hover:0 12px 40px rgba(15,76,129,.12);
    --radius:16px;
    --radius-sm:10px;
    --maxw:1200px;
    --font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:var(--font);color:var(--text);line-height:1.7;background:var(--bg);-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;border-radius:50px;font-weight:600;font-size:15px;transition:.25s;cursor:pointer;border:none}
  .btn-primary{background:var(--primary);color:#fff;box-shadow:0 6px 20px rgba(15,76,129,.25)}
  .btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px)}
  .btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}
  .btn-outline:hover{background:var(--primary);color:#fff}
  .btn-gold{background:var(--accent);color:#fff}
  .btn-gold:hover{background:#b08e1f;transform:translateY(-2px)}

  /* Header */
  header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.05);transition:.3s}
  header .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
  .logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:20px;color:var(--primary)}
  .logo-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--primary),#1e6db5);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}
  .logo small{display:block;font-size:11px;font-weight:500;color:var(--text-tertiary);letter-spacing:.5px}
  nav{display:flex;gap:36px;align-items:center}
  nav a{font-size:15px;font-weight:500;color:var(--text-secondary);transition:.2s;position:relative}
  nav a:hover{color:var(--primary)}
  nav a::after{content:"";position:absolute;bottom:-6px;left:0;width:0;height:2px;background:var(--accent);transition:.25s}
  nav a:hover::after{width:100%}
  .nav-phone{font-size:14px;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:6px}
  .menu-btn{display:none;background:none;border:none;font-size:24px;color:var(--primary);cursor:pointer}

  /* Hero */
  .hero{position:relative;padding:160px 0 120px;background:linear-gradient(135deg,#f7f9fb 0%,#eef4fa 50%,#f8f1d8 100%);overflow:hidden}
  .hero::before{content:"";position:absolute;top:-20%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(15,76,129,.08) 0%,transparent 70%);border-radius:50%}
  .hero::after{content:"";position:absolute;bottom:-10%;left:-5%;width:400px;height:400px;background:radial-gradient(circle,rgba(201,162,39,.12) 0%,transparent 70%);border-radius:50%}
  .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;position:relative;z-index:1}
  .hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:1px solid var(--line);border-radius:50px;font-size:13px;font-weight:600;color:var(--primary);margin-bottom:24px;box-shadow:var(--shadow)}
  .hero h1{font-size:52px;line-height:1.25;font-weight:800;color:var(--text);margin-bottom:24px;letter-spacing:-.02em}
  .hero h1 .line{display:block}
  .hero h1 .accent{color:var(--accent)}
  .hero h1 .primary{color:var(--primary)}
  .hero-desc{font-size:18px;color:var(--text-secondary);margin-bottom:36px;max-width:540px;line-height:1.8}
  .hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
  .stat-item{padding:20px;background:rgba(255,255,255,.8);border-radius:var(--radius-sm);border:1px solid var(--line);text-align:center}
  .stat-num{font-size:28px;font-weight:800;color:var(--primary);line-height:1}
  .stat-label{font-size:13px;color:var(--text-secondary);margin-top:6px}
  .hero-visual{position:relative}
  .hero-card{background:#fff;border-radius:var(--radius);padding:32px;box-shadow:var(--shadow-hover);border:1px solid var(--line);position:relative}
  .hero-card::before{content:"";position:absolute;top:-12px;right:-12px;width:80px;height:80px;border:3px solid var(--accent);border-radius:var(--radius);z-index:-1;opacity:.5}
  .hero-card h3{font-size:18px;color:var(--primary);margin-bottom:16px;display:flex;align-items:center;gap:10px}
  .hero-card li{list-style:none;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--text-secondary);display:flex;align-items:flex-start;gap:10px}
  .hero-card li:last-child{border-bottom:none}
  .hero-card li::before{content:"✓";color:var(--accent);font-weight:700;flex-shrink:0}

  /* Section Common */
  section{padding:100px 0}
  .sec-head{text-align:center;max-width:720px;margin:0 auto 64px}
  .sec-head .kicker{display:inline-block;padding:6px 16px;background:var(--primary-light);color:var(--primary);border-radius:50px;font-size:13px;font-weight:700;margin-bottom:16px}
  .sec-head h2{font-size:38px;font-weight:800;color:var(--text);margin-bottom:18px;letter-spacing:-.01em}
  .sec-head p{font-size:17px;color:var(--text-secondary);line-height:1.8}

  /* About */
  .about{background:var(--bg-soft)}
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
  .about-left h2{font-size:34px;font-weight:800;margin-bottom:24px;line-height:1.3}
  .about-left p{font-size:16px;color:var(--text-secondary);margin-bottom:16px;line-height:1.9}
  .about-features{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px}
  .about-feature{padding:20px;background:#fff;border-radius:var(--radius-sm);border:1px solid var(--line)}
  .about-feature strong{display:block;font-size:16px;color:var(--primary);margin-bottom:6px}
  .about-feature span{font-size:14px;color:var(--text-secondary)}
  .about-right{position:relative}
  .about-img{width:100%;height:420px;background:linear-gradient(135deg,var(--primary) 0%,#1e6db5 100%);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:#fff;position:relative;overflow:hidden}
  .about-img::before{content:"";position:absolute;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:24px 24px;opacity:.5}
  .about-img-text{position:relative;z-index:1;text-align:center;padding:40px}
  .about-img-text .big{font-size:48px;font-weight:800;margin-bottom:12px}
  .about-img-text p{font-size:18px;opacity:.95}
  .about-badge{position:absolute;bottom:-24px;left:-24px;background:#fff;padding:24px;border-radius:var(--radius);box-shadow:var(--shadow-hover);border:1px solid var(--line);max-width:260px}
  .about-badge .num{font-size:32px;font-weight:800;color:var(--accent)}
  .about-badge p{font-size:14px;color:var(--text-secondary);margin-top:4px}

  /* Services */
  .service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
  .service-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:36px 28px;transition:.3s;position:relative;overflow:hidden}
  .service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);border-color:var(--primary-light)}
  .service-card::after{content:"";position:absolute;top:0;left:0;width:4px;height:0;background:var(--accent);transition:.3s}
  .service-card:hover::after{height:100%}
  .service-icon{width:56px;height:56px;border-radius:14px;background:var(--primary-light);display:flex;align-items:center;justify-content:center;margin-bottom:22px;color:var(--primary)}
  .service-icon svg{width:28px;height:28px}
  .service-card h3{font-size:20px;font-weight:700;margin-bottom:14px;color:var(--text)}
  .service-card p{font-size:15px;color:var(--text-secondary);line-height:1.8}

  /* Method */
  .method{background:var(--bg-warm)}
  .method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;position:relative}
  .method-grid::before{content:"";position:absolute;top:70px;left:16%;right:16%;height:2px;background:linear-gradient(90deg,var(--primary-light),var(--accent-light),var(--primary-light));z-index:0}
  .method-step{position:relative;z-index:1;background:#fff;border-radius:var(--radius);padding:36px 28px;border:1px solid var(--line);text-align:center;transition:.3s}
  .method-step:hover{box-shadow:var(--shadow-hover)}
  .step-num{width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;margin:0 auto 20px;border:4px solid var(--bg-warm)}
  .method-step h3{font-size:20px;font-weight:700;margin-bottom:14px}
  .method-step p{font-size:15px;color:var(--text-secondary);line-height:1.8}

  /* Vision */
  .vision{background:var(--primary);color:#fff;position:relative;overflow:hidden}
  .vision::before{content:"";position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 60%);border-radius:50%}
  .vision .sec-head *{color:#fff}
  .vision .sec-head p{opacity:.85}
  .vision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative;z-index:1}
  .vision-card{background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);padding:40px 28px;text-align:center;transition:.3s}
  .vision-card:hover{background:rgba(255,255,255,.12);transform:translateY(-6px)}
  .vision-card .num{font-size:56px;font-weight:800;line-height:1;margin-bottom:12px;color:var(--accent)}
  .vision-card .unit{font-size:20px;font-weight:600}
  .vision-card h4{font-size:18px;font-weight:700;margin-bottom:10px}
  .vision-card p{font-size:14px;opacity:.8;line-height:1.7}

  /* Team */
  .team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
  .team-card{display:flex;gap:24px;padding:32px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:.3s;align-items:flex-start}
  .team-card:hover{box-shadow:var(--shadow-hover);border-color:var(--primary-light)}
  .team-avatar{width:100px;height:100px;border-radius:50%;object-fit:cover;flex-shrink:0;border:3px solid #fff;box-shadow:0 4px 16px rgba(0,0,0,.1)}
  .team-avatar-text{width:100px;height:100px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--primary),#1e6db5);color:#fff;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:800;border:3px solid #fff;box-shadow:0 4px 16px rgba(0,0,0,.1)}
  .team-body{flex:1}
  .team-name{font-size:20px;font-weight:800;color:var(--text);margin-bottom:6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .team-title{font-size:13px;font-weight:600;color:var(--primary);background:var(--primary-light);padding:4px 12px;border-radius:20px}
  .team-card p{font-size:15px;color:var(--text-secondary);line-height:1.8;margin-top:10px}

  /* FAQ */
  .faq{background:var(--bg-soft)}
  .faq-list{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
  .faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}
  .faq-q{padding:22px 28px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:700;font-size:16px;transition:.2s}
  .faq-q:hover{color:var(--primary)}
  .faq-q span{font-size:22px;color:var(--accent);transition:.25s}
  .faq-item.active .faq-q span{transform:rotate(45deg)}
  .faq-a{max-height:0;overflow:hidden;transition:.3s;padding:0 28px}
  .faq-item.active .faq-a{max-height:300px;padding:0 28px 22px}
  .faq-a p{font-size:15px;color:var(--text-secondary);line-height:1.8}

  /* Contact */
  .contact{background:#fff}
  .contact-box{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:28px;align-items:stretch}
  .contact-card{text-align:center;padding:36px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft);transition:.3s}
  .contact-card:hover{box-shadow:var(--shadow-hover)}
  .contact-card .label{font-size:14px;color:var(--text-tertiary);margin-bottom:12px;font-weight:600}
  .contact-card img{width:140px;height:140px;object-fit:contain;margin:0 auto 16px;border-radius:8px;background:#fff;padding:8px;border:1px solid var(--line)}
  .contact-card .desc{font-size:13px;color:var(--text-secondary)}
  .contact-main{padding:36px 32px;border-radius:var(--radius);background:linear-gradient(135deg,var(--primary),#1e6db5);color:#fff;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:16px}
  .contact-main .name{font-size:18px;font-weight:700}
  .contact-main .phone{font-size:36px;font-weight:800;letter-spacing:1px}
  .contact-main .hint{font-size:14px;opacity:.85}

  /* Footer */
  footer{background:var(--text);color:#fff;padding:60px 0 24px}
  .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:48px;margin-bottom:48px}
  .footer-brand .logo{color:#fff;margin-bottom:16px}
  .footer-brand p{font-size:14px;color:rgba(255,255,255,.65);line-height:1.9;margin-bottom:20px}
  .footer-title{font-size:16px;font-weight:700;margin-bottom:20px;color:#fff}
  .footer-links{display:flex;flex-direction:column;gap:12px}
  .footer-links a{font-size:14px;color:rgba(255,255,255,.65);transition:.2s}
  .footer-links a:hover{color:var(--accent)}
  .footer-contact p{font-size:14px;color:rgba(255,255,255,.65);margin-bottom:10px;display:flex;align-items:center;gap:8px}
  .copyright{text-align:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:rgba(255,255,255,.5)}

  /* Reveal */
  .reveal{opacity:0;transform:translateY(30px);transition:.8s cubic-bezier(.16,1,.3,1)}
  .reveal.visible{opacity:1;transform:translateY(0)}

  /* Mobile */
  @media(max-width:980px){
    nav{display:none}
    .menu-btn{display:block}
    .hero-grid{grid-template-columns:1fr}
    .about-grid{grid-template-columns:1fr}
    .service-grid{grid-template-columns:1fr}
    .method-grid{grid-template-columns:1fr}
    .method-grid::before{display:none}
    .vision-grid{grid-template-columns:1fr}
    .team-grid{grid-template-columns:1fr}
    .contact-box{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
    .hero h1{font-size:36px}
    .sec-head h2{font-size:28px}
    .about-badge{position:relative;bottom:auto;left:auto;margin-top:24px}
  }
  @media(max-width:640px){
    .hero-stats{grid-template-columns:1fr}
    .about-features{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr}
    .hero{padding:130px 0 80px}
    section{padding:70px 0}
  }
