:root { --ink:#13221d; --deep:#0e1d18; --forest:#164b38; --mint:#dcefe5; --paper:#f7f8f4; --line:#d8e2db; --muted:#61716a; --lime:#c9ea86; --peach:#efb48d; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif; font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.page-width { width:min(1180px,calc(100% - 80px)); margin:0 auto; }
.site-header { position:sticky; top:0; z-index:5; background:rgba(247,248,244,.92); backdrop-filter:blur(16px); border-bottom:1px solid rgba(20,55,43,.12); }
.header-inner { min-height:82px; display:flex; align-items:center; gap:44px; }
.brand { display:inline-flex; align-items:center; gap:12px; min-width:270px; }
.brand-mark { width:39px; height:39px; display:grid; place-items:center; color:var(--white); background:var(--forest); border-radius:50%; font-family:"Songti SC","Noto Serif SC",serif; font-size:19px; }
.brand-copy { display:grid; gap:1px; line-height:1.1; }
.brand-copy strong { font-family:"Songti SC","Noto Serif SC",serif; font-size:17px; letter-spacing:.08em; }
.brand-copy small { color:var(--muted); font-size:9px; letter-spacing:.13em; }
.site-nav { display:flex; align-items:center; gap:34px; color:#586960; font-size:14px; }
.site-nav a,.header-cta,.footer-links a { transition:color .2s ease; }
.site-nav a:hover,.site-nav a:focus-visible,.footer-links a:hover,.footer-links a:focus-visible { color:var(--forest); }
.header-cta { margin-left:auto; color:var(--forest); font-size:13px; font-weight:700; }
.header-cta span { margin-left:7px; color:#b0794f; font-size:17px; }
.hero { position:relative; min-height:calc(100vh - 82px); display:flex; flex-direction:column; justify-content:center; overflow:hidden; background:var(--paper); }
.hero-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(400px,1.08fr); align-items:center; gap:clamp(48px,8vw,125px); padding:60px 0 74px; }
.hero-copy { padding-bottom:10px; }
.eyebrow,.section-kicker { margin:0 0 22px; color:var(--forest); font-size:11px; font-weight:700; letter-spacing:.2em; }
.eyebrow { display:flex; align-items:center; gap:10px; }
.eyebrow-dot { width:8px; height:8px; display:inline-block; border-radius:50%; background:var(--peach); box-shadow:0 0 0 5px rgba(239,180,141,.24); }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:"Songti SC","Noto Serif SC",serif; font-weight:500; letter-spacing:.01em; }
h1 { max-width:570px; margin-bottom:25px; font-size:clamp(64px,8.3vw,116px); line-height:.97; }
h1 em { color:var(--forest); font-size:.75em; font-style:normal; }
.hero-lede { max-width:445px; margin-bottom:34px; color:#4d6056; font-size:17px; line-height:1.9; }
.hero-actions { display:flex; flex-wrap:wrap; gap:11px; }
.button { min-height:47px; padding:0 19px; display:inline-flex; align-items:center; justify-content:center; gap:9px; border:1px solid transparent; border-radius:4px; cursor:pointer; font-size:14px; transition:transform .2s ease,background .2s ease,border-color .2s ease; }
.button:hover,.contact-link:hover { transform:translateY(-2px); }
.button-primary { color:var(--deep); background:var(--lime); border-color:var(--lime); font-weight:700; }
.button-primary:hover { background:#b7de6c; }
.button-quiet { color:var(--forest); background:transparent; border-color:#b9cabe; }
.button-quiet:hover { background:var(--mint); border-color:var(--forest); }
.hero-note { margin:25px 0 0; color:#819088; font-size:12px; }
.hero-note span { margin-right:6px; color:#bc8156; }
.hero-visual { position:relative; min-height:clamp(470px,65vh,640px); overflow:hidden; background:var(--forest); }
.hero-visual img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:62% center; filter:saturate(.76) contrast(1.04); }
.visual-wash { position:absolute; inset:0; background:linear-gradient(145deg,rgba(9,35,24,.56),rgba(15,65,44,.12) 58%,rgba(7,24,18,.56)); }
.visual-caption { position:absolute; left:27px; bottom:27px; display:flex; gap:19px; color:#ecf4e9; font-size:12px; letter-spacing:.1em; text-transform:uppercase; }
.visual-caption span:first-child { color:var(--lime); font-family:Georgia,serif; font-size:24px; line-height:1; }
.visual-stamp { position:absolute; right:25px; top:26px; display:flex; align-items:flex-start; gap:8px; color:var(--lime); }
.visual-stamp strong { font-family:Georgia,serif; font-size:58px; line-height:.8; font-weight:400; }
.visual-stamp span { padding-top:2px; color:#d7e9cf; font-size:8px; letter-spacing:.15em; line-height:1.35; }
.visual-footer { position:absolute; right:26px; bottom:28px; display:flex; gap:22px; color:rgba(237,246,236,.72); font-size:10px; letter-spacing:.1em; }
.hero-bottom { position:absolute; left:50%; bottom:24px; display:flex; align-items:center; gap:14px; color:#87968e; font-size:9px; letter-spacing:.2em; transform:translateX(-50%); white-space:nowrap; }
.hero-line { width:44px; height:1px; background:#b47b56; }
.signal-band { background:var(--deep); color:var(--white); }
.signal-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.signal-grid > div { min-height:102px; padding:25px 22px; display:flex; flex-direction:column; gap:7px; border-right:1px solid rgba(220,240,225,.14); }
.signal-grid > div:first-child { padding-left:0; }
.signal-grid > div:last-child { border-right:0; }
.signal-grid strong { color:var(--peach); font-family:Georgia,serif; font-size:19px; font-weight:400; }
.signal-grid span { color:#c4d4c9; font-size:13px; }
.section { padding:124px 0; }
.section-soft { background:var(--mint); }
.section-heading { display:grid; grid-template-columns:minmax(180px,.55fr) minmax(0,1fr) minmax(200px,.46fr); gap:30px; align-items:end; padding-bottom:44px; border-bottom:1px solid var(--line); }
.section-heading .section-kicker { align-self:start; }
h2 { margin:0; font-size:clamp(39px,4.5vw,62px); line-height:1.15; }
h2 span { color:#6f8e7b; }
.section-intro { margin:0 0 3px; color:var(--muted); font-size:14px; line-height:1.85; }
.solution-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding-top:24px; }
.solution-card { min-height:310px; padding:25px 25px 22px; display:flex; flex-direction:column; border:1px solid var(--line); background:#fcfcf9; }
.solution-featured { color:var(--white); background:var(--forest); border-color:var(--forest); }
.card-top { display:flex; justify-content:space-between; color:#9aaba1; font-family:Georgia,serif; font-size:19px; }
.solution-featured .card-top { color:var(--lime); }
.card-arrow { font-family:Inter,sans-serif; font-size:22px; }
.solution-card h3 { margin:57px 0 13px; font-family:"Songti SC","Noto Serif SC",serif; font-size:30px; font-weight:500; }
.solution-card p { margin:0; color:var(--muted); font-size:14px; line-height:1.9; }
.solution-featured p { color:#d2e1d5; }
.card-label { margin-top:auto; color:#94a69c; font-size:9px; font-weight:700; letter-spacing:.15em; }
.solution-featured .card-label { color:#bcd2b7; }
.section-forest { color:var(--white); background:var(--forest); }
.product-grid { display:grid; grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr); gap:clamp(55px,10vw,160px); }
.section-kicker-light { color:#bed8c4; }
.big-index { display:block; color:var(--lime); font-family:Georgia,serif; font-size:clamp(120px,17vw,220px); line-height:.82; }
.product-index > p:last-child { margin:28px 0 0; color:#c7dbc9; font-size:14px; line-height:1.9; }
.product-copy h2 { margin-bottom:28px; }
.product-copy h2 span { color:var(--lime); }
.product-copy > p { max-width:520px; margin-bottom:36px; color:#cee0d2; font-size:16px; line-height:2; }
.principle-list { border-top:1px solid rgba(220,240,225,.23); }
.principle-list > div { display:grid; grid-template-columns:43px 1fr auto; gap:14px; align-items:center; min-height:72px; border-bottom:1px solid rgba(220,240,225,.15); }
.principle-list span { color:var(--peach); font-family:Georgia,serif; }
.principle-list strong { font-size:15px; font-weight:600; }
.principle-list small { color:#a8c2ae; font-size:12px; }
.about-grid,.contact-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(48px,9vw,150px); }
.about-copy { max-width:540px; color:#465e51; font-size:16px; line-height:2; }
.about-copy p + p { margin-top:18px; }
.company-meta { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:37px; padding-top:22px; border-top:1px solid rgba(24,75,56,.2); }
.company-meta span,.company-meta strong { display:block; }
.company-meta span { margin-bottom:6px; color:#82968a; font-size:11px; }
.company-meta strong { font-size:14px; font-weight:600; }
.section-contact { background:#f4eee3; }
.contact-lede { max-width:390px; margin-top:27px; color:#667168; font-size:15px; line-height:1.9; }
.contact-box { align-self:end; padding:30px 0 22px; border-top:1px solid #cfc4b5; border-bottom:1px solid #cfc4b5; }
.contact-box p { margin-bottom:9px; color:#8a8275; font-size:12px; letter-spacing:.14em; }
.contact-title { display:block; color:var(--forest); font-family:"Songti SC","Noto Serif SC",serif; font-size:clamp(25px,3.2vw,40px); font-weight:500; }
.contact-note { display:block; margin-top:13px; color:#9b6b4e; font-size:11px; letter-spacing:.12em; }
.contact-divider { height:1px; margin:31px 0 17px; background:#d5ccbf; }
.contact-foot { display:flex; justify-content:space-between; color:#918b80; font-size:11px; letter-spacing:.08em; }
.site-footer { color:#b7c9bd; background:#0a1713; }
.footer-inner { min-height:112px; display:grid; grid-template-columns:1fr auto auto; gap:30px; align-items:center; font-size:12px; }
.footer-inner > div:first-child { display:flex; align-items:baseline; gap:13px; }
.footer-inner strong { color:var(--white); font-family:"Songti SC","Noto Serif SC",serif; font-size:17px; font-weight:500; }
.footer-inner > div:first-child span { color:#799184; }
.footer-links { display:flex; gap:20px; }
.footer-links a { color:#b7c9bd; }
.footer-domain { color:#71857a; font-size:10px; letter-spacing:.1em; }
.toast { position:fixed; z-index:10; left:50%; bottom:28px; padding:10px 16px; color:var(--white); background:var(--deep); border:1px solid rgba(255,255,255,.16); border-radius:4px; box-shadow:0 10px 28px rgba(8,27,20,.22); font-size:13px; opacity:0; pointer-events:none; transform:translate(-50%,10px); transition:opacity .2s ease,transform .2s ease; }
.toast.is-visible { opacity:1; transform:translate(-50%,0); }
.legal-page { background:var(--paper); }
.legal-page .site-header { min-height:74px; padding:0 40px; display:flex; align-items:center; }
.legal-page .legal-back { margin-left:auto; color:var(--forest); font-size:14px; }
.legal-main { max-width:860px; padding-top:92px; padding-bottom:110px; }
.legal-main h1 { margin:0 0 22px; color:var(--deep); font-family:"Songti SC","Noto Serif SC",serif; font-size:clamp(50px,7vw,80px); font-weight:500; line-height:1.1; }
.legal-lede { max-width:650px; margin-bottom:14px; color:#4c5f55; font-size:18px; line-height:1.9; }
.legal-updated { color:var(--muted); font-size:13px; }
.legal-content { margin-top:56px; padding-top:34px; border-top:1px solid var(--line); }
.legal-content h2 { margin:34px 0 10px; color:var(--forest); font-family:inherit; font-size:19px; font-weight:700; }
.legal-content h2:first-child { margin-top:0; }
.legal-content p { margin-bottom:0; color:#4c5f55; font-size:15px; line-height:2; }
.legal-content a { color:var(--forest); text-decoration:underline; text-underline-offset:3px; }
@media (max-width:900px) { .page-width{width:min(100% - 48px,680px)} .header-inner{min-height:72px;gap:18px}.brand{min-width:0}.site-nav{gap:20px}.header-cta{display:none}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr;gap:48px;padding:70px 0 88px}.hero-visual{min-height:500px}.hero-bottom{bottom:16px}.section{padding:88px 0}.section-heading{grid-template-columns:1fr;gap:15px;padding-bottom:28px}.section-intro{max-width:410px}.solution-grid{grid-template-columns:1fr}.solution-card{min-height:245px}.solution-card h3{margin-top:38px}.product-grid,.about-grid,.contact-layout{grid-template-columns:1fr;gap:42px}.big-index{font-size:140px}.product-index>p:last-child{margin-top:20px}.footer-inner{grid-template-columns:1fr;gap:13px;padding:26px 0}.footer-domain{order:3}.footer-links{flex-wrap:wrap} }
@media (max-width:560px) { .page-width{width:calc(100% - 40px)}.site-nav{display:none}.brand-copy small{font-size:8px;letter-spacing:.08em}.hero-grid{padding-top:55px}.hero-visual{min-height:420px}.hero-bottom{display:none}h1{font-size:clamp(56px,17vw,80px)}.hero-lede{font-size:15px}.hero-actions{flex-direction:column;align-items:stretch;max-width:270px}.signal-grid{grid-template-columns:1fr 1fr}.signal-grid>div,.signal-grid>div:first-child{padding:17px 12px;min-height:91px}.signal-grid span{font-size:12px}.section{padding:74px 0}h2{font-size:39px}.principle-list>div{grid-template-columns:35px 1fr}.principle-list small{grid-column:2}.company-meta{grid-template-columns:1fr;gap:14px}.contact-title{font-size:27px}.contact-foot{gap:14px;flex-direction:column}.footer-inner>div:first-child{flex-direction:column;gap:3px}.legal-page .site-header{padding:0 20px}.legal-main{padding-top:62px;padding-bottom:76px}.legal-main h1{font-size:52px}.legal-lede{font-size:16px} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important} }
