:root{
  --color-navy:#0B1F3A; --color-blue:#2563EB; --color-cyan:#22D3EE; --color-ink:#111827; --color-muted:#64748B; --color-surface:#F8FAFC;
  --navy:#0b3b6f; --navy-d:#072a52; --navy-xd:#051d3a;
  --accent:#e8862b; --accent-d:#cf7017;
  --ink:#1c2b3a; --muted:#5a6b7d; --line:#dde6ee;
  --bg:#ffffff; --bg-soft:#f4f8fb;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;color:var(--ink);line-height:1.75;background:var(--bg)}
a{color:var(--navy);text-decoration:none}
img{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

/* header */
header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.topbar{background:var(--navy-xd);color:#cfe0f2;font-size:13px}
.topbar .wrap{display:flex;justify-content:flex-end;gap:18px;padding:5px 24px}
.topbar a{color:#fff;font-weight:600}
.navrow{display:flex;align-items:center;gap:20px;padding:12px 24px;max-width:1180px;margin:0 auto}
.logo{display:flex;align-items:center;flex:0 0 auto;width:130px;line-height:0}
.logo img{display:block;width:100%;height:auto}
nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:2px}
nav a{padding:6px 10px;font-size:14.5px;font-weight:600;color:#2b3f55;border-radius:6px}
nav a:hover{background:var(--bg-soft);color:var(--navy)}
nav a.on{color:var(--accent-d)}
svg.i{width:1em;height:1em;vertical-align:-0.125em}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:7px 9px;color:var(--navy);cursor:pointer;margin-left:auto}
.burger svg.i{width:22px;height:22px;display:block}
.navrow{position:relative}
@media(max-width:1000px){
  .logo{width:108px}
  .burger{display:block}
  nav{display:none;position:absolute;top:100%;left:0;right:0;margin-left:0;background:#fff;flex-direction:column;gap:0;padding:8px 24px 16px;border-bottom:1px solid var(--line);box-shadow:0 14px 26px rgba(11,59,111,.10)}
  nav.open{display:flex}
  nav a{padding:13px 8px;font-size:16px;border-bottom:1px solid var(--bg-soft);border-radius:0}
}
@media(max-width:420px){.logo{width:92px}}
.btn{display:inline-block;background:var(--accent);color:#fff;font-weight:700;padding:10px 22px;border-radius:8px;font-size:15px}
.btn:hover{background:var(--accent-d)}
.btn.ghost{background:transparent;border:2px solid rgba(255,255,255,.7);color:#fff}
.btn.ghost:hover{background:rgba(255,255,255,.12)}
.btn.sm{padding:7px 16px;font-size:14px}

/* hero */
.hero{background:linear-gradient(135deg,var(--navy-d) 0%,var(--navy) 55%,#155089 100%);color:#fff;padding:72px 0 64px}
.hero.hero-home{background:linear-gradient(100deg,rgba(5,29,58,.82) 0%,rgba(7,42,82,.60) 45%,rgba(11,59,111,.22) 100%),url(image/hero-home.jpg) center/cover no-repeat;padding:96px 0 88px}
.hero.hero-ai{background:linear-gradient(100deg,rgba(5,29,58,.80) 0%,rgba(7,42,82,.55) 50%,rgba(7,42,82,.18) 100%),url(image/hero-ai.jpg) center/cover no-repeat;padding:88px 0 80px}
.hero.hero-storage{background:linear-gradient(100deg,rgba(5,29,58,.86) 0%,rgba(7,42,82,.66) 50%,rgba(11,59,111,.30) 100%),url(image/storage-closeup.jpg) center/cover no-repeat}
.hero .kicker{color:#ffc27d;font-weight:700;letter-spacing:2px;font-size:14px;margin-bottom:10px}
.hero h1{font-size:clamp(26px,4vw,40px);line-height:1.35;margin-bottom:14px}
.hero .lead{font-size:17px;color:#d7e5f4;max-width:720px;margin-bottom:26px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}
.trustline{margin-top:30px;font-size:13.5px;color:#a9c3dd;letter-spacing:.5px}

/* sections */
.sec{padding:58px 0}
.sec.soft{background:var(--bg-soft)}
.sec h2{font-size:26px;color:var(--navy);margin-bottom:8px}
.sec .sub{color:var(--muted);margin-bottom:30px;max-width:760px}
.grid{display:grid;gap:20px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.g3,.g2,.g4{grid-template-columns:1fr}}
.card{border:1px solid var(--line);border-radius:12px;padding:24px;background:#fff;display:block}
.ico{width:46px;height:46px;border-radius:10px;background:#e9f1f9;color:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-weight:800;font-size:19px}
.ico svg.i{width:24px;height:24px}
.card h3{font-size:17.5px;color:var(--navy);margin-bottom:8px}
.card p{font-size:14.5px;color:var(--muted)}
a.card:hover{border-color:var(--navy);box-shadow:0 6px 18px rgba(11,59,111,.10)}
a.card .more{display:inline-block;margin-top:10px;font-size:13.5px;font-weight:700;color:var(--accent-d)}

/* feature list */
.feat{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}
.feat .n{flex:0 0 34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.feat .n svg.i{width:17px;height:17px}
.feat h3{font-size:16.5px;color:var(--navy)}
.feat p{font-size:14.5px;color:var(--muted)}

/* table */
table.spec{width:100%;border-collapse:collapse;background:#fff;font-size:15px}
table.spec th{background:var(--navy);color:#fff;padding:10px 14px;text-align:left}
table.spec td{padding:10px 14px;border-bottom:1px solid var(--line)}
table.spec tr:nth-child(even) td{background:var(--bg-soft)}

/* stock list */
.stock h3{color:var(--navy);font-size:16.5px;margin:18px 0 6px}
.stock ul{list-style:none}
.stock li{padding:6px 0 6px 26px;position:relative;border-bottom:1px dashed var(--line);font-size:15px}
.stock li:before{content:"✔";color:var(--accent-d);position:absolute;left:2px;font-weight:700}

/* faq */
details.faq{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:0 18px}
details.faq summary{cursor:pointer;font-weight:700;padding:14px 0;color:var(--navy);list-style-position:inside}
details.faq p{padding:0 0 16px;color:var(--muted);font-size:14.5px}

/* badges / clients */
.badge-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
.badge{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 22px;font-weight:700;color:var(--navy);font-size:15px}
.badge small{display:block;font-weight:500;color:var(--muted);font-size:12.5px}

/* product showcase */
.prodshot{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;align-items:center}
.prodshot .shot{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;align-items:center;justify-content:center}
.prodshot .shot img{max-width:100%;max-height:340px;border-radius:8px}
.prodshot ul{list-style:none;margin:14px 0 20px}
.prodshot li{padding:7px 0 7px 26px;position:relative;font-size:15px}
.prodshot li:before{content:"✔";color:var(--accent-d);position:absolute;left:2px;font-weight:700}
@media(max-width:760px){.prodshot{grid-template-columns:1fr}}

/* guarantee highlight */
.promise{background:linear-gradient(135deg,#fff7ee,#ffefdd);border:2px solid var(--accent);border-radius:14px;padding:26px 30px;margin:26px 0}
.promise strong{color:var(--accent-d);font-size:19px}

/* case */
.case{background:#fff;border:1px solid var(--line);border-left:5px solid var(--navy);border-radius:10px;padding:26px 30px;margin-bottom:22px}
.case h3{color:var(--navy);font-size:19px}
.case .tag{display:inline-block;background:var(--bg-soft);color:var(--muted);font-size:12.5px;padding:2px 10px;border-radius:99px;margin:6px 0 12px}
.case p{font-size:14.5px;color:var(--ink)}
.case .ok{color:#1a7a3c;font-weight:700;font-size:14px;margin-top:10px}

/* timeline */
.tl{list-style:none;border-left:3px solid var(--navy);margin-left:8px}
.tl li{padding:0 0 22px 24px;position:relative}
.tl li:before{content:"";width:13px;height:13px;border-radius:50%;background:var(--accent);position:absolute;left:-8px;top:7px}
.tl b{color:var(--navy);font-size:16px;display:block}

/* cta band */
.cta-band{background:linear-gradient(135deg,var(--navy-d),var(--navy));color:#fff;text-align:center;padding:54px 0}
.cta-band h2{font-size:24px;margin-bottom:8px}
.cta-band p{color:#cfe0f2;margin-bottom:22px}
.cta-band .phone{font-size:28px;font-weight:800;color:#ffc27d;display:block;margin:10px 0 20px}

/* footer */
footer{background:var(--navy-xd);color:#9db8d3;padding:44px 0 30px;font-size:14px}
footer .grid{align-items:start}
footer h4{color:#fff;font-size:15px;margin-bottom:12px}
footer a{color:#9db8d3;display:block;padding:3px 0}
footer a:hover{color:#fff}
.copy{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:18px;text-align:center;font-size:12.5px;color:#6e88a5}

/* Legal pages */
.legal-hero{padding:62px 0 54px}
.legal-hero .kicker{margin-bottom:8px}
.legal-hero h1{margin-bottom:10px}
.legal-updated{color:#d7e5f4;font-size:15px}
.legal-content{max-width:800px;margin:0 auto}
.legal-content h2{font-size:21px;margin:40px 0 12px;color:var(--navy)}
.legal-content h2:first-child{margin-top:0}
.legal-content p,.legal-content li{font-size:16px;color:var(--ink)}
.legal-content p{margin:0 0 16px}
.legal-content ol{margin:0 0 16px;padding-left:1.55em}
.legal-content li{padding-left:4px;margin:7px 0}
.legal-content .legal-note{background:#fff7ee;border-left:4px solid var(--accent);border-radius:0 8px 8px 0;padding:14px 18px;margin:0 0 28px;color:#62401e;font-size:14px}
.legal-content .legal-contact{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:20px 22px;margin-top:14px}
.legal-content .legal-contact p:last-child{margin-bottom:0}
@media(max-width:560px){.legal-hero{padding:48px 0 42px}.legal-content h2{font-size:19px;margin-top:32px}.legal-content p,.legal-content li{font-size:15.5px}}


/* contact form */
.form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px}
.form label{display:block;font-weight:700;font-size:14px;margin:14px 0 4px;color:var(--navy)}
.form input,.form select,.form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:15px;font-family:inherit}
.form textarea{min-height:110px}
.info-list{list-style:none;font-size:15.5px}
.info-list li{padding:9px 0;border-bottom:1px dashed var(--line)}
.info-list b{color:var(--navy);margin-right:10px}
.line-contact{display:flex;align-items:center;gap:10px}
.line-contact b{margin-right:0;white-space:nowrap}
.line-add-button{display:inline-block;width:160px;height:52px;overflow:hidden;flex:0 0 auto;border-radius:9px;box-shadow:0 2px 6px rgba(6,199,85,.18)}
.line-add-button:focus-visible{outline:3px solid #06c755;outline-offset:3px}
.line-add-button img{display:block;width:224px;max-width:none;height:auto;transform:translate(-32px,-49px)}
.map-ph{background:var(--bg-soft);border:1px dashed var(--line);border-radius:12px;height:220px;display:flex;align-items:center;justify-content:center;color:var(--muted);margin-top:18px}

/* Parts inquiry landing page */
.parts-hero{min-height:640px;display:flex;align-items:center;padding:82px 0;background:linear-gradient(105deg,rgba(11,31,58,.96),rgba(11,31,58,.86) 58%,rgba(11,31,58,.72)),url(image/storage-closeup.jpg) center/cover no-repeat}
.parts-hero .wrap{width:100%}
.parts-hero .kicker,.parts-cta .eyebrow{color:#22d3ee}
.parts-hero h1{max-width:900px;font-size:clamp(30px,4.25vw,46px);line-height:1.42;letter-spacing:.01em}
.parts-hero .lead{max-width:760px;color:#e2e8f0;font-size:17px;line-height:1.9}
.parts-hero .btn,.parts-form .submit-btn,.parts-cta .btn{background:#2563eb;color:#fff}
.parts-hero .btn:hover,.parts-form .submit-btn:hover,.parts-cta .btn:hover{background:#1d4ed8}
.parts-hero .btn.ghost{border-color:rgba(255,255,255,.72);background:transparent}
.parts-hero .btn.ghost:hover{background:rgba(255,255,255,.12)}
.section-heading{max-width:780px;margin-bottom:28px}
.section-heading h2{margin:0 0 8px;color:#0b1f3a}
.section-heading .sub{margin:0;max-width:none}
.eyebrow{color:#2563eb;font-size:12px;font-weight:800;letter-spacing:.16em;margin-bottom:6px}
.inquiry-section{background:#f8fafc;padding-top:64px;padding-bottom:54px}
.parts-form{max-width:900px;margin:0 auto;padding:30px;background:#fff;border:1px solid #dbe4ef;box-shadow:0 16px 42px rgba(11,31,58,.08)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:4px}
.parts-form .field{min-width:0}
.parts-form .field-wide{grid-column:1/-1}
.parts-form label{margin:12px 0 6px;color:#111827}
.parts-form label span{margin-left:5px;color:#b42318;font-size:12px}
.parts-form input,.parts-form select,.parts-form textarea{min-height:46px;border-color:#cbd5e1;color:#111827;background:#fff}
.parts-form input:focus,.parts-form select:focus,.parts-form textarea:focus{outline:3px solid rgba(37,99,235,.18);border-color:#2563eb}
.parts-form textarea{min-height:112px;resize:vertical}
.submit-btn{width:100%;min-height:50px;margin-top:22px;cursor:pointer;border:0;font:inherit}
.privacy-note{margin-top:12px;color:#64748b;font-size:12.5px;line-height:1.7}
.form-status{min-height:0;margin-top:0;font-size:14px;font-weight:700}
.form-status:not(:empty){margin-top:12px;padding:12px 14px;border-radius:8px;background:#ecfdf3;color:#067647}
.form-status.is-error:not(:empty){background:#fef3f2;color:#b42318}
.form-intro{font-size:14px;color:var(--muted);margin:4px 0 12px}.form-intro span,.form label span{color:#b42318;font-size:12px}.field-wide .service-fields{display:contents}.hp-field{position:absolute;left:-9999px;opacity:0;pointer-events:none}.submit-btn:disabled{opacity:.65;cursor:wait}.form input:invalid:not(:placeholder-shown),.form textarea:invalid:not(:placeholder-shown){border-color:#b42318}.inquiry-form{max-width:900px;margin:0 auto}.inquiry-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}.inquiry-form .field-wide{grid-column:1/-1}.inquiry-form .service-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}.inquiry-form .service-fields:empty{display:none}.sticky-cta{display:none}
.trust-section{padding-top:8px;padding-bottom:58px;background:#f8fafc}
.trust-grid{gap:16px}
.trust-card{padding:22px 22px 24px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}
.line-icon{width:42px;height:42px;margin-bottom:14px;color:#2563eb}
.line-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.trust-card h3{font-size:17px;color:#0b1f3a;margin-bottom:5px}
.trust-card p{font-size:14px;color:#64748b;line-height:1.7}
.stock-section{background:#fff}
.stock-cards{gap:18px}
.stock-card{border:1px solid #dbe4ef;border-radius:12px;padding:22px;background:#fff}
.stock-card h3{margin:0 0 8px;color:#0b1f3a;font-size:18px}
.stock-card ul{padding-left:20px;color:#334155}
.stock-card li{padding:4px 0;font-size:14.5px}
.stock-help{margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0;color:#2563eb;font-size:13px;font-weight:700}
.scenario-grid{margin-top:22px}
.scenario-grid .feat{margin:0;padding:18px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}
.scenario-grid .feat .n{background:#eaf2ff;color:#2563eb}
.service-section{background:#fff}
.service-grid{margin-top:22px}
.service-grid .card{padding:24px;background:#f8fafc;border-color:#e2e8f0}
.step-number{color:#2563eb;font-size:14px;font-weight:800;letter-spacing:.1em;margin-bottom:12px}
.warranty-section{padding:58px 0;background:#0b1f3a;color:#e2e8f0}
.warranty-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.warranty-inner>div:first-child{max-width:820px}
.warranty-inner .eyebrow{color:#22d3ee}
.warranty-inner h2{margin:0 0 12px;color:#fff;font-size:clamp(23px,3vw,30px);line-height:1.45}
.warranty-inner p{font-size:15px;line-height:1.9}
.warranty-inner .warranty-note{margin-top:14px;color:#b6c5d8;font-size:13px}
.warranty-mark{width:82px;height:82px;flex:0 0 auto;color:#22d3ee;opacity:.92}
.warranty-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.faq-section{background:#f8fafc}
.faq-section .faq{max-width:900px;margin:0 auto 10px;padding:0 18px;background:#fff}
.faq-section .section-heading{max-width:900px;margin:0 auto 24px}
.faq summary{min-height:52px;display:flex;align-items:center;list-style:none;padding:12px 22px 12px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:0;color:#2563eb;font-size:22px;font-weight:400}
.faq[open] summary:after{content:"−"}
.faq summary:focus-visible{outline:3px solid rgba(37,99,235,.3);outline-offset:2px}
.faq-section .faq p{padding-bottom:17px}
.parts-cta{background:linear-gradient(135deg,#0b1f3a,#123761);padding:54px 0}
.parts-cta h2{max-width:760px;margin:0 auto 8px;font-size:clamp(23px,3vw,30px);line-height:1.5}
.parts-cta p{max-width:720px;margin:0 auto 18px}
.parts-cta .phone{color:#22d3ee}
@media(max-width:760px){.parts-hero{min-height:0;padding:64px 0 54px}.parts-hero .desktop-break{display:none}.parts-hero h1{font-size:clamp(29px,7vw,38px);line-height:1.42}.parts-hero .lead{font-size:16px}.parts-hero .cta-row{display:grid;grid-template-columns:1fr;gap:10px}.parts-hero .cta-row .btn{text-align:center;min-height:48px}.form-grid{grid-template-columns:1fr}.parts-form .field-wide{grid-column:auto}.parts-form{padding:20px}.warranty-inner{align-items:flex-start}.warranty-mark{width:54px;height:54px}}
@media(max-width:420px){.wrap{padding-left:18px;padding-right:18px}.parts-hero{padding:52px 0 44px}.parts-hero h1{font-size:28px}.sec{padding:46px 0}.parts-form{padding:17px}.parts-cta .phone{font-size:25px}.warranty-mark{display:none}}
@media(max-width:767px){body{padding-bottom:76px}.topbar .wrap{justify-content:center}.topbar span{display:none}.navrow>.btn.sm{display:none}.btn,.burger,nav a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.inquiry-form .form-grid,.inquiry-form .service-fields{grid-template-columns:1fr}.inquiry-form .field-wide{grid-column:auto}.sticky-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:60;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -4px 16px rgba(11,31,58,.12)}.sticky-cta a{min-height:44px;text-align:center;border-radius:8px;font-weight:700;display:flex;align-items:center;justify-content:center}.sticky-cta .call{background:var(--navy);color:#fff}.sticky-cta .request{background:var(--accent);color:#fff}}
