/*
   Template: solis — 暖纸浅色定位 (Paper Light GPS)
   Style: Minimal single-column + three service pillars
   Colors: Forest #047857 + Terracotta CTA #C2410C + Paper BG #FAF6F1
   Distinct from cplinli (navy/violet console), lucid (sky/orange glass),
            daylight (blue/amber), dx (teal/coral), ymssny (lime/cyan), ember (rose)
   CSS Prefix: sol
   WCAG AA: #1C1917 on #FAF6F1 ≈ 16:1 | #C2410C on #fff ≈ 5.4:1 | #047857 on #fff ≈ 5.5:1
*/
:root{
  --sol-ink:#1C1917;--sol-ink-sec:#44403C;--sol-muted:#78716C;
  --sol-forest:#047857;--sol-forest-dark:#065F46;--sol-forest-soft:#D1FAE5;
  --sol-terra:#C2410C;--sol-terra-hover:#9A3412;
  --sol-bg:#FAF6F1;--sol-bg-alt:#F3EDE3;--sol-card:#fff;
  --sol-border:#E7E0D6;
  --sol-radius:12px;--sol-radius-sm:8px;
  --sol-shadow:0 8px 28px rgba(28,25,23,.06);
  --sol-z-nav:100;--sol-z-base:10;
  --sol-transition:all .22s ease;
  --sol-font:"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{font-family:var(--sol-font);background:var(--sol-bg);color:var(--sol-ink);line-height:1.7;overflow-x:hidden}
a{color:var(--sol-forest);text-decoration:none;transition:var(--sol-transition);cursor:pointer}
a:hover{color:var(--sol-terra)}
a:focus-visible,button:focus-visible{outline:2px solid var(--sol-terra);outline-offset:3px}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
button{font-family:inherit;cursor:pointer}
.sol-container{max-width:1080px;margin:0 auto;padding:0 24px;position:relative;z-index:var(--sol-z-base)}
.sol-em{color:var(--sol-forest)}
.sol-em-t{color:var(--sol-terra)}

/* NAV */
.sol-nav{position:fixed;top:0;left:0;right:0;z-index:var(--sol-z-nav);background:rgba(250,246,241,.88);backdrop-filter:blur(12px);border-bottom:1px solid transparent}
.sol-nav.scrolled{border-bottom-color:var(--sol-border);background:rgba(250,246,241,.96)}
.sol-nav-inner{display:flex;align-items:center;height:64px;gap:16px}
.sol-logo{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--sol-ink);letter-spacing:-.03em;flex-shrink:0}
.sol-logo-mark{width:32px;height:32px;border-radius:8px;background:var(--sol-forest);color:#fff;display:flex;align-items:center;justify-content:center}
.sol-logo-mark svg{width:18px;height:18px}
.sol-nav-links{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}
.sol-nav-links a{font-size:.86rem;font-weight:600;color:var(--sol-ink-sec);padding:8px 14px;border-radius:999px;min-height:40px;display:inline-flex;align-items:center}
.sol-nav-links a:hover,.sol-nav-links a[aria-current="page"]{background:var(--sol-forest-soft);color:var(--sol-forest-dark)}
.sol-nav-cta{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:var(--sol-terra);color:#fff;font-size:.82rem;font-weight:700;border-radius:999px;flex-shrink:0}
.sol-nav-cta:hover{background:var(--sol-terra-hover);color:#fff}
.sol-mobile-btn{display:none;background:transparent;border:1px solid var(--sol-border);border-radius:8px;padding:8px;color:var(--sol-ink);min-width:44px;min-height:44px}

/* HERO — centered single column */
.sol-hero{padding:128px 0 72px;text-align:center}
.sol-hero .sol-container{display:flex;flex-direction:column;align-items:center}
.sol-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--sol-border);border-radius:999px;font-size:.75rem;font-weight:700;color:var(--sol-forest-dark);background:#fff;margin-bottom:22px}
.sol-hero h1{font-size:3.2rem;font-weight:800;letter-spacing:-.045em;line-height:1.08;max-width:820px;margin:0 auto 18px}
.sol-hero-lead{font-size:1.08rem;color:var(--sol-ink-sec);max-width:560px;margin:0 auto 28px}
.sol-hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:28px}
.sol-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;background:var(--sol-terra);color:#fff;font-weight:700;border-radius:999px;min-height:48px;border:none}
.sol-btn-primary:hover{background:var(--sol-terra-hover);color:#fff;transform:translateY(-1px)}
.sol-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:#fff;color:var(--sol-ink);font-weight:700;border-radius:999px;border:1px solid var(--sol-border);min-height:48px}
.sol-btn-ghost:hover{border-color:var(--sol-forest);color:var(--sol-forest)}
.sol-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.sol-pill{display:inline-flex;align-items:center;padding:8px 14px;background:#fff;border:1px solid var(--sol-border);border-radius:999px;font-size:.82rem;font-weight:600;color:var(--sol-ink-sec)}
.sol-pill:hover{border-color:var(--sol-forest);color:var(--sol-forest)}

/* BENEFITS — 3 max */
.sol-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:8px 0 48px}
.sol-benefit{background:#fff;border:1px solid var(--sol-border);border-radius:var(--sol-radius);padding:22px 20px;text-align:left}
.sol-benefit h3{font-size:1rem;margin-bottom:6px}
.sol-benefit p{font-size:.88rem;color:var(--sol-ink-sec)}

/* SECTIONS */
.sol-section{padding:80px 0;scroll-margin-top:80px}
.sol-section-alt{background:var(--sol-bg-alt)}
.sol-sec-head{text-align:center;max-width:640px;margin:0 auto 40px}
.sol-tag{display:block;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sol-terra);margin-bottom:10px}
.sol-sec-head h2{font-size:2.1rem;letter-spacing:-.035em;line-height:1.15;margin-bottom:10px}
.sol-sec-head p{color:var(--sol-ink-sec)}

/* PILLARS — unique stacked services */
.sol-pillar{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:56px}
.sol-pillar:last-child{margin-bottom:0}
.sol-pillar.reverse{direction:rtl}
.sol-pillar.reverse > *{direction:ltr}
.sol-pillar-media{border-radius:var(--sol-radius);overflow:hidden;border:1px solid var(--sol-border);box-shadow:var(--sol-shadow)}
.sol-pillar-media img{width:100%;height:320px;object-fit:cover}
.sol-pillar-num{font-size:.78rem;font-weight:800;letter-spacing:.14em;color:var(--sol-terra);margin-bottom:8px}
.sol-pillar h3{font-size:1.7rem;letter-spacing:-.03em;margin-bottom:12px;line-height:1.2}
.sol-pillar p{color:var(--sol-ink-sec);margin-bottom:16px}
.sol-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--sol-forest)}

/* STEPS — 3 ticks */
.sol-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sol-step{background:#fff;border:1px solid var(--sol-border);border-radius:var(--sol-radius);padding:24px 22px}
.sol-step span{display:block;font-size:.75rem;font-weight:800;color:var(--sol-terra);letter-spacing:.12em;margin-bottom:10px}
.sol-step h3{margin-bottom:8px}
.sol-step p{font-size:.9rem;color:var(--sol-ink-sec)}

/* QUOTES */
.sol-quotes{display:flex;flex-direction:column;gap:16px;max-width:720px;margin:0 auto}
.sol-quote{background:#fff;border-left:3px solid var(--sol-forest);padding:20px 24px;border-radius:0 var(--sol-radius) var(--sol-radius) 0}
.sol-quote p{font-size:1.05rem;margin-bottom:10px}
.sol-quote footer{font-size:.82rem;color:var(--sol-muted);font-weight:600}

/* FAQ */
.sol-faq{max-width:760px;margin:0 auto;border-top:1px solid var(--sol-border)}
.sol-faq-item{border-bottom:1px solid var(--sol-border)}
.sol-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:transparent;border:none;padding:18px 0;text-align:left;font-weight:700;color:var(--sol-ink);font-size:.98rem;min-height:56px}
.sol-faq-q svg{flex-shrink:0;transition:transform .22s}
.sol-faq-item.active .sol-faq-q svg{transform:rotate(45deg)}
.sol-faq-a{display:none;padding:0 0 18px;color:var(--sol-ink-sec);font-size:.92rem}
.sol-faq-item.active .sol-faq-a{display:block}

/* ABOUT / PAGE */
.sol-about{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.sol-about img{width:100%;border-radius:var(--sol-radius);border:1px solid var(--sol-border)}
.sol-about h2{font-size:1.9rem;margin-bottom:12px;letter-spacing:-.03em}
.sol-about p{color:var(--sol-ink-sec);margin-bottom:12px}
.sol-page-hero{padding:120px 0 28px;text-align:center}
.sol-page-hero h1{font-size:2.6rem;letter-spacing:-.04em;margin-bottom:10px}
.sol-page-hero p{color:var(--sol-ink-sec);max-width:520px;margin:0 auto}

/* RECOMMEND / CTA / FOOTER */
.sol-recommend{padding:64px 0}
.sol-recommend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.sol-recommend-grid a{display:block;padding:14px 16px;background:#fff;border:1px solid var(--sol-border);border-radius:var(--sol-radius-sm);font-size:.84rem;color:var(--sol-ink-sec)}
.sol-recommend-grid a:hover{border-color:var(--sol-forest);color:var(--sol-forest)}
.sol-cta{padding:24px 0 80px}
.sol-cta-box{text-align:center;padding:48px 24px;background:var(--sol-ink);color:#fff;border-radius:20px}
.sol-cta-box h2{font-size:2rem;margin-bottom:10px;letter-spacing:-.03em}
.sol-cta-box p{opacity:.82;margin-bottom:22px}
.sol-cta-box .sol-btn-primary{background:var(--sol-terra)}

.sol-footer{border-top:1px solid var(--sol-border);padding:40px 0 24px}
.sol-footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px;margin-bottom:24px}
.sol-footer-desc{font-size:.85rem;color:var(--sol-ink-sec);max-width:340px;margin-top:10px}
.sol-footer-nav h4{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sol-terra);margin-bottom:12px}
.sol-footer-nav ul{display:flex;flex-direction:column;gap:8px}
.sol-footer-nav a{font-size:.86rem;color:var(--sol-ink-sec)}
.sol-footer-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.75rem;color:var(--sol-muted)}
.sol-footer-bottom a{color:inherit}

/* CONTACT */
.sol-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}
.sol-gate-card{width:100%;max-width:460px;background:#fff;border:1px solid var(--sol-border);border-radius:20px;padding:40px 32px;box-shadow:var(--sol-shadow);text-align:center}
.sol-gate-card h2{font-size:1.8rem;margin:12px 0 8px;letter-spacing:-.03em}
.sol-gate-card > p{color:var(--sol-ink-sec);margin-bottom:24px}
.sol-gate-list{text-align:left;display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.sol-gate-item{padding:12px 14px;background:var(--sol-bg);border-radius:var(--sol-radius-sm)}
.sol-gate-item b{display:block;font-size:.92rem}
.sol-gate-item span{font-size:.78rem;color:var(--sol-muted)}
.sol-btn-block{width:100%}
.sol-gate-timer{margin-top:14px;font-size:.8rem;color:var(--sol-muted)}
.sol-gate-timer strong{color:var(--sol-terra)}

/* 404 */
.sol-404{min-height:100vh;display:grid;place-items:center;text-align:center;padding:40px 20px}
.sol-404 h1{font-size:6.5rem;letter-spacing:-.06em;line-height:1;color:var(--sol-forest)}
.sol-404 h2{margin:8px 0 10px}
.sol-404 p{color:var(--sol-ink-sec);margin-bottom:24px}

.sol-reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.sol-reveal.visible{opacity:1;transform:none}

@media(max-width:1024px){
  .sol-hero h1{font-size:2.4rem}
  .sol-pillar,.sol-pillar.reverse,.sol-about{grid-template-columns:1fr;direction:ltr}
  .sol-benefits,.sol-steps{grid-template-columns:1fr}
}
@media(max-width:768px){
  .sol-nav-links{display:none;position:fixed;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;padding:12px 16px 20px;border-bottom:1px solid var(--sol-border);box-shadow:0 16px 28px rgba(28,25,23,.08);z-index:var(--sol-z-nav)}
  .sol-nav-links.active{display:flex}
  .sol-nav-links a{min-height:44px}
  .sol-nav-cta{display:none}
  .sol-mobile-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}
  .sol-hero{padding:108px 0 48px}
  .sol-hero h1,.sol-page-hero h1{font-size:2rem}
  .sol-hero-actions{flex-direction:column}
  .sol-btn-primary,.sol-btn-ghost{width:100%}
  .sol-footer-top{grid-template-columns:1fr}
  .sol-section{padding:56px 0}
}
