:root{
 --navy:#0A192F; --green:#00A86B; --green-d:#0A8A57;
 --paper:#FFFFFF; --paper-soft:#F3F6F8; --card:#FFFFFF;
 --ink:#181715; --ink-soft:#2A2825; --muted:rgba(24,23,21,0.55); --whisper:rgba(24,23,21,0.34);
 --rule:rgba(24,23,21,0.14); --rule-soft:rgba(24,23,21,0.07);
 --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:'Noto Sans SC','IBM Plex Sans',sans-serif;font-weight:300;font-size:16px;line-height:1.65;overflow-x:hidden;}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");opacity:0.018;mix-blend-mode:multiply;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;position:relative;z-index:2;}
.fr{font-family:'Fraunces',serif;font-variation-settings:'SOFT' 40,'opsz' 144;font-weight:300;}
.serif{font-family:'Noto Serif SC',serif;}
.mono{font-family:'IBM Plex Mono',monospace;}
em,.it{font-family:'Fraunces',serif;font-style:italic;font-weight:300;font-variation-settings:'SOFT' 80,'opsz' 144;color:var(--green);font-size:1.02em;}
.eyebrow{font-family:'IBM Plex Mono';font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--green);display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;}
.eyebrow::before{content:'';width:32px;height:1px;background:var(--green);}
a{color:inherit;text-decoration:none;}

/* nav */
header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(242,239,231,0.82);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:.3s;}
header.scrolled{border-bottom:1px solid var(--rule);background:rgba(242,239,231,0.95);}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;}
.brand{display:flex;align-items:center;gap:9px;}
.brand .en{align-self:flex-end;padding-bottom:2px;}
.jc{font-family:'Montserrat','Avenir Next','Helvetica Neue',sans-serif;font-weight:800;font-size:23px;letter-spacing:.01em;line-height:1;}
.jc .jin{color:var(--navy);} .jc .caps{color:var(--green);}
.brand .en{font-family:'IBM Plex Mono';font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
.navlinks{display:flex;gap:30px;font-size:14px;color:var(--ink-soft);}
.navlinks a{position:relative;}
.navlinks a::after{content:'';position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--green);transition:.25s;}
.navlinks a:hover::after{width:100%;}
.nav-cta{font-family:'IBM Plex Sans';font-size:14px;background:var(--navy);color:#fff;padding:9px 20px;border-radius:2px;transition:.25s;}
.nav-cta:hover{background:var(--green);}
@media(max-width:860px){.navlinks{display:none;}}

/* hero */
.hero{padding:150px 0 80px;position:relative;}
.hero h1{font-family:'Fraunces',serif;font-variation-settings:'SOFT' 55,'opsz' 144;font-weight:300;font-size:clamp(40px,7vw,86px);line-height:0.98;letter-spacing:-0.02em;color:var(--ink);}
.hero h1 .it{display:inline;}
.hero .sub{font-family:'Noto Serif SC',serif;font-weight:300;font-size:clamp(17px,2.3vw,23px);color:var(--ink-soft);margin-top:26px;max-width:640px;line-height:1.7;}
.hero .cta-row{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap;}
.btn{font-family:'IBM Plex Sans';font-size:15px;font-weight:400;padding:14px 30px;border-radius:2px;transition:.25s;cursor:pointer;display:inline-flex;align-items:center;gap:9px;border:1px solid transparent;}
.btn-pri{background:var(--green);color:#fff;}.btn-pri:hover{background:var(--green-d);transform:translateY(-2px);}
.btn-sec{background:transparent;color:var(--ink);border:1px solid var(--ink);}.btn-sec:hover{background:var(--ink);color:var(--paper);}
.hero-stats{display:flex;gap:0;margin-top:64px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);flex-wrap:wrap;}
.hero-stats .s{flex:1;min-width:140px;padding:22px 18px 22px 0;border-right:1px solid var(--rule);}
.hero-stats .s:last-child{border-right:none;}
.hero-stats .n{font-family:'Fraunces',serif;font-variation-settings:'SOFT' 30,'opsz' 144;font-weight:300;font-size:clamp(30px,4vw,42px);line-height:1;color:var(--navy);}
.hero-stats .l{font-family:'IBM Plex Mono';font-size:11px;letter-spacing:.04em;color:var(--muted);margin-top:10px;text-transform:uppercase;}
.hero-capsule{position:absolute;right:-40px;top:90px;width:min(34vw,420px);opacity:.9;pointer-events:none;}
@media(max-width:980px){.hero-capsule{display:none;}}

/* section */
section{padding:84px 0;position:relative;}
.sec-label{display:flex;align-items:baseline;gap:14px;margin-bottom:38px;border-bottom:1px solid var(--ink);padding-bottom:14px;}
.sec-label .no{font-family:'IBM Plex Mono';font-size:13px;color:var(--green);font-weight:500;letter-spacing:.08em;}
.sec-label h2{font-family:'Fraunces',serif;font-variation-settings:'SOFT' 40,'opsz' 144;font-weight:300;font-size:clamp(26px,3.6vw,40px);color:var(--ink);letter-spacing:-0.01em;}
.sec-label .en{margin-left:auto;font-family:'IBM Plex Mono';font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--whisper);}
.lead{font-size:18px;color:var(--ink-soft);max-width:760px;line-height:1.8;margin-bottom:8px;}
.lead .hl{color:var(--navy);font-weight:500;}

/* dark band */
.band{background:var(--ink);color:var(--paper);}
.band .sec-label{border-color:rgba(242,239,231,0.3);}
.band .sec-label h2{color:var(--paper);}
.band .sec-label .en{color:rgba(242,239,231,0.4);}
.band .lead{color:rgba(242,239,231,0.8);}
.band .pain h3{color:var(--paper);}
.band .pain p{color:rgba(242,239,231,0.65);}

/* grids */
.grid{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:10px;}
.g3{grid-template-columns:repeat(3,1fr);}.g2{grid-template-columns:repeat(2,1fr);}
@media(max-width:820px){.g3,.g2{grid-template-columns:1fr;}}
.cell{background:var(--paper);padding:30px 26px;}
.cell .ico{width:38px;height:38px;border-radius:50%;background:rgba(80,158,47,0.12);display:flex;align-items:center;justify-content:center;color:var(--green);font-family:'IBM Plex Mono';font-size:14px;margin-bottom:16px;font-weight:500;}
.cell h3{font-family:'Fraunces',serif;font-variation-settings:'SOFT' 30,'opsz' 72;font-weight:400;font-size:20px;color:var(--ink);margin-bottom:9px;}
.cell p{font-size:14.5px;color:var(--muted);line-height:1.7;}

/* pain (in band) */
.pain{display:flex;gap:22px;align-items:flex-start;padding:22px 0;border-bottom:1px solid rgba(242,239,231,0.14);}
.pain .x{font-family:'Fraunces',serif;font-style:italic;color:var(--green);font-size:30px;flex-shrink:0;width:46px;}
.pain h3{font-family:'Noto Serif SC';font-size:18px;font-weight:500;margin-bottom:5px;}
.pain p{font-size:14.5px;}

/* applications */
.app-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:10px;}
@media(max-width:820px){.app-cards{grid-template-columns:1fr;}}
.app{background:var(--card);border:1px solid var(--rule);border-top:3px solid var(--green);padding:30px;}
.app.navy{border-top-color:var(--navy);}
.app .tag{font-family:'IBM Plex Mono';font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);}
.app.navy .tag{color:var(--navy);}
.app h3{font-family:'Fraunces',serif;font-variation-settings:'SOFT' 30;font-weight:400;font-size:24px;margin:8px 0 14px;}
.app ul{list-style:none;}
.app li{font-size:14.5px;color:var(--ink-soft);padding:6px 0 6px 18px;position:relative;border-bottom:1px solid var(--rule-soft);}
.app li::before{content:'·';position:absolute;left:4px;color:var(--green);font-weight:700;}
.app .mk{font-family:'IBM Plex Mono';font-size:12px;color:var(--muted);margin-top:14px;}

/* solution steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:10px;border:1px solid var(--rule);}
@media(max-width:820px){.steps{grid-template-columns:1fr;}}
.step{padding:34px 28px;border-right:1px solid var(--rule);position:relative;background:var(--paper);}
.step:last-child{border-right:none;}
.step .num{font-family:'Fraunces',serif;font-variation-settings:'SOFT' 20,'opsz' 144;font-weight:300;font-size:54px;color:var(--green);opacity:.5;line-height:1;}
.step h3{font-family:'Noto Serif SC';font-size:20px;font-weight:600;margin:10px 0 10px;}
.step p{font-size:14.5px;color:var(--muted);line-height:1.7;}

/* compare table */
.cmp{width:100%;border-collapse:collapse;margin-top:10px;font-size:14.5px;}
.cmp th{font-family:'IBM Plex Mono';font-size:12px;text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:14px 16px;border-bottom:2px solid var(--ink);}
.cmp th:nth-child(2){color:var(--green);}
.cmp td{padding:13px 16px;border-bottom:1px solid var(--rule);color:var(--ink-soft);vertical-align:top;}
.cmp td:first-child{font-weight:500;color:var(--ink);width:22%;}
.cmp td:nth-child(2){color:var(--green-d);background:rgba(80,158,47,0.05);}
.cmp tr:last-child td{border-bottom:none;}

/* market band */
.mkt{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:10px;}
@media(max-width:820px){.mkt{grid-template-columns:1fr 1fr;}}
.mkt .m{background:var(--paper);padding:28px 22px;}
.mkt .m .n{font-family:'Fraunces',serif;font-variation-settings:'SOFT' 30,'opsz' 144;font-weight:300;font-size:34px;color:var(--navy);line-height:1;}
.mkt .m .l{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.55;}

/* CTA */
.ctaband{background:var(--navy);color:#fff;text-align:center;padding:96px 0;}
.ctaband h2{font-family:'Fraunces',serif;font-variation-settings:'SOFT' 50,'opsz' 144;font-weight:300;font-size:clamp(30px,5vw,56px);line-height:1.05;letter-spacing:-0.01em;}
.ctaband h2 .it{color:#9ED47E;}
.ctaband p{color:rgba(255,255,255,0.75);font-size:18px;margin:22px auto 36px;max-width:560px;}
.ctaband .btn-pri{background:#fff;color:var(--navy);}.ctaband .btn-pri:hover{background:#9ED47E;color:var(--navy);}
.ctaband .guarantee{margin-top:26px;font-family:'IBM Plex Mono';font-size:12px;letter-spacing:.05em;color:rgba(255,255,255,0.5);}

/* footer */
footer{background:var(--ink);color:rgba(242,239,231,0.7);padding:64px 0 30px;}
.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;}
@media(max-width:820px){.foot{grid-template-columns:1fr;gap:28px;}}
.foot .brand .zh{color:var(--paper);}
.foot h4{font-family:'IBM Plex Mono';font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,239,231,0.4);margin-bottom:14px;}
.foot a,.foot p{font-size:14px;color:rgba(242,239,231,0.72);display:block;margin:7px 0;}
.foot a:hover{color:var(--green);}
.foot .dom{font-family:'Fraunces',serif;font-style:italic;color:#9ED47E;font-size:20px;}
.botline{border-top:1px solid rgba(242,239,231,0.14);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:'IBM Plex Mono';font-size:11px;color:rgba(242,239,231,0.4);letter-spacing:.04em;}

/* float cta */
.float{position:fixed;right:22px;bottom:22px;z-index:60;background:var(--green);color:#fff;padding:14px 22px;border-radius:40px;box-shadow:0 8px 30px rgba(80,158,47,0.4);font-size:15px;display:flex;align-items:center;gap:8px;transition:.25s;}
.float:hover{background:var(--green-d);transform:translateY(-2px);}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:.7s cubic-bezier(.2,.7,.2,1);}
.rv.in{opacity:1;transform:none;}

/* ---- shared extras for sub-pages ---- */
.page-hero{padding:130px 0 50px;background:var(--paper-soft);}
.page-hero .eyebrow{margin-bottom:14px;}
.page-hero h1{font-family:'Fraunces',serif;font-variation-settings:'SOFT' 45,'opsz' 144;font-weight:300;font-size:clamp(34px,5.5vw,62px);line-height:1.02;letter-spacing:-.02em;color:var(--ink);}
.page-hero h1 .it{display:inline;}
.page-hero .sub{font-size:18px;color:var(--ink-soft);margin-top:18px;max-width:680px;line-height:1.75;}
.crumb{font-family:'IBM Plex Mono';font-size:12px;color:var(--muted);letter-spacing:.04em;margin-bottom:18px;}
.crumb a{color:var(--muted);}.crumb a:hover{color:var(--green);}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:10px;}
@media(max-width:820px){.timeline{grid-template-columns:1fr;}}
.tl{background:#fff;padding:26px 18px;}
.tl .n{font-family:Montserrat,sans-serif;font-weight:800;font-size:13px;color:var(--green);letter-spacing:.1em;}
.tl .t{font-size:17px;font-weight:600;color:var(--ink);margin:8px 0 5px;}
.tl .d{font-size:13px;color:var(--muted);line-height:1.6;}
.spectable{width:100%;border-collapse:collapse;margin-top:10px;font-size:15px;}
.spectable td{padding:13px 14px;border-bottom:1px solid var(--rule);}
.spectable td:first-child{font-family:'IBM Plex Mono';font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);width:34%;}
.spectable td:last-child{color:var(--ink);font-weight:500;}
.qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px;}
@media(max-width:820px){.qgrid{grid-template-columns:1fr 1fr;}}
.qcard{border:1px dashed #c3ccd3;border-radius:10px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:14px;background:var(--card);}
.qcard .ic{font-size:26px;}
/* form */
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;margin-top:10px;}
@media(max-width:760px){.form{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:6px;}
.field.full{grid-column:1/-1;}
.field label{font-size:13.5px;font-weight:500;color:var(--ink);}
.field label .en{font-family:'IBM Plex Mono';font-size:9px;color:var(--muted);font-weight:400;}
.field input,.field select,.field textarea{font-family:'Noto Sans SC',sans-serif;font-size:15px;color:var(--ink);background:#fff;border:1px solid #cdd5db;border-radius:6px;padding:12px 14px;outline:none;transition:.2s;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(0,168,107,.12);}
.field textarea{min-height:96px;resize:vertical;}
.chk{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px;color:var(--ink-soft);}
.chk label{display:inline-flex;align-items:center;gap:7px;cursor:pointer;}
.contactgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;}
@media(max-width:820px){.contactgrid{grid-template-columns:1fr;}}
.cinfo{background:var(--ink);color:#fff;border-radius:14px;padding:34px;}
.cinfo h3{color:#fff;font-family:'Fraunces',serif;font-weight:400;font-size:22px;margin-bottom:18px;}
.cinfo .row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:14px;color:#c7d0d8;}
.cinfo .row b{color:#fff;}
.cinfo .dom{color:#3FE0A0;font-family:'IBM Plex Mono';}
.aboutstat{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:10px;}
@media(max-width:820px){.aboutstat{grid-template-columns:1fr 1fr;}}
.aboutstat .s{background:#fff;padding:26px 20px;}
.aboutstat .n{font-family:'Fraunces',serif;font-variation-settings:'SOFT' 30,'opsz' 144;font-weight:300;font-size:36px;color:var(--navy);line-height:1;}
.aboutstat .l{font-size:13px;color:var(--muted);margin-top:8px;}

/* ---- labeled image placeholders (拍摄清单) ---- */
.imgph{background:repeating-linear-gradient(45deg,#eef2f4,#eef2f4 11px,#e7edf0 11px,#e7edf0 22px);border:1.6px dashed #b3bfc8;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;color:#5c6b7a;padding:26px;}
.imgph .ic{font-size:30px;opacity:.85;}
.imgph .lab{font-weight:600;color:#2A2825;font-size:15px;line-height:1.4;}
.imgph .lab b{color:var(--green);}
.imgph .spec{font-family:'IBM Plex Mono';font-size:11px;color:#8a95a0;letter-spacing:.02em;}
.imgph .pill{font-family:'IBM Plex Mono';font-size:9px;letter-spacing:.12em;text-transform:uppercase;background:#0A192F;color:#fff;padding:2px 9px;border-radius:20px;}
.r169{aspect-ratio:16/9;}.r43{aspect-ratio:4/3;}.r11{aspect-ratio:1/1;}.r34{aspect-ratio:3/4;}
.imgstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px;}
@media(max-width:820px){.imgstrip{grid-template-columns:1fr;}}

/* ---- nav dropdown (解决方案) ---- */
.dd{position:relative;display:inline-flex;}
.dd > a::after{content:'';}
.dd .ddmenu{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--rule);border-radius:10px;box-shadow:0 14px 36px rgba(10,25,47,.14);padding:8px;min-width:200px;display:none;flex-direction:column;gap:2px;z-index:60;}
.dd:hover .ddmenu{display:flex;}
.dd .ddmenu::before{content:'';position:absolute;top:-10px;left:0;right:0;height:10px;}
.dd .ddmenu a{padding:11px 14px;border-radius:7px;font-size:14px;white-space:nowrap;color:var(--ink-soft);}
.dd .ddmenu a:hover{background:var(--paper-soft);color:var(--green);}
.dd .ddmenu a::after{display:none;}
