:root{--primary:#28b1f0;--secondary:#4f689c;--accent:#22d3ee;--bg:#5b75a9;--surface:#111827;--text:#e5e7eb;--muted:#94a3b8;--font-heading:"Noto Sans TC",sans-serif;--font-body:"Noto Sans TC",sans-serif;--radius:16px;--shadow:0 18px 50px color-mix(in srgb,var(--text) 8%,transparent);--line:color-mix(in srgb,var(--text) 10%,transparent)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--text);background:repeating-linear-gradient(-18deg,transparent,transparent 11px,color-mix(in srgb,var(--text) 6%,transparent) 11px 12px),linear-gradient(160deg,var(--bg),var(--surface));line-height:1.7;letter-spacing:0.01em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block;height:auto}a{color:inherit}.wrap{width:min(1120px,calc(100% - 2.5rem));margin:0 auto}.narrow{width:min(680px,calc(100% - 2.5rem))}.site-header{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px) saturate(1.2);background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid var(--line)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}.logo{font-family:var(--font-heading);font-weight:700;text-decoration:none;font-size:1.2rem;letter-spacing:-0.02em;display:inline-flex;align-items:center;gap:.55rem;color:inherit}.logo__img{max-height:40px;width:auto;display:block}.logo__text{white-space:nowrap}.nav{display:flex;flex-wrap:wrap;gap:.35rem 1.15rem;align-items:center}.nav a{text-decoration:none;color:var(--muted);font-size:.92rem;font-weight:500;position:relative;padding:.2rem 0;background:none;border:0;border-radius:0;box-shadow:none}.nav a.btn,.nav a.btn-primary,.nav a.btn-ghost{display:inline;padding:.2rem 0;background:none;border:0;border-radius:0;box-shadow:none;color:var(--muted);font-weight:500;letter-spacing:inherit}.nav a.btn:hover,.nav a.btn-primary:hover{transform:none;background:none;color:var(--text)}.nav a:hover,.nav a.is-active{color:var(--text)}.nav a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-0.35rem;height:2px;background:var(--accent);border-radius:2px}.nav a.nav-contact{font-weight:700;color:var(--primary)}.nav a.nav-contact:hover{color:var(--text)}.nav a.nav-contact--line{color:#06c755}.nav a.nav-contact::after{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:.85rem 1.35rem;text-decoration:none;font-weight:700;cursor:pointer;font:inherit;letter-spacing:0.02em;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:white;box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 35%,transparent)}.btn-accent{background:var(--accent);color:#111;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 35%,transparent)}.btn-ghost{background:transparent;color:var(--text);border:1px solid color-mix(in srgb,var(--text) 18%,transparent)}.block{padding:5rem 0}.pad-t-none{padding-top:0 !important}.pad-t-sm{padding-top:2.25rem !important}.pad-t-md{padding-top:5rem !important}.pad-t-lg{padding-top:6.5rem !important}.pad-t-xl{padding-top:8.5rem !important}.pad-b-none{padding-bottom:0 !important}.pad-b-sm{padding-bottom:2.25rem !important}.pad-b-md{padding-bottom:5rem !important}.pad-b-lg{padding-bottom:6.5rem !important}.pad-b-xl{padding-bottom:8.5rem !important}.type-size-xs{font-size:0.9rem}.type-size-xs h1{font-size:clamp(1.7rem,4vw,2.6rem) !important}.type-size-xs h2{font-size:clamp(1.25rem,2.4vw,1.7rem) !important}.type-size-sm{font-size:0.95rem}.type-size-sm h1{font-size:clamp(2rem,5vw,3.2rem) !important}.type-size-sm h2{font-size:clamp(1.45rem,2.8vw,2rem) !important}.type-size-lg{font-size:1.08rem}.type-size-lg h1{font-size:clamp(2.9rem,7vw,4.8rem) !important}.type-size-lg h2{font-size:clamp(2rem,3.8vw,2.9rem) !important}.type-size-xl{font-size:1.16rem}.type-size-xl h1{font-size:clamp(3.2rem,8vw,5.4rem) !important}.type-size-xl h2{font-size:clamp(2.2rem,4.2vw,3.3rem) !important}.text-align-left{text-align:left}.text-align-center{text-align:center}.text-align-right{text-align:right}.text-align-center h1,.text-align-center h2,.text-align-center .lead,.text-align-center .prose{margin-left:auto;margin-right:auto}.text-align-right h1,.text-align-right h2{margin-left:auto}.block.has-color,.block.has-color .prose,.block.has-color .lead,.block.has-color p{color:var(--block-color)}.block.has-title-color h1,.block.has-title-color h2,.block.has-title-color h3{color:var(--block-title-color)}.block.has-font,.block.has-font h1,.block.has-font h2,.block.has-font h3,.block.has-font .btn,.block.has-font .lead,.block.has-font .prose{font-family:var(--block-font)}.block.has-shift .wrap,.block.has-shift .hero__inner{transform:translate(var(--block-shift-x,0),var(--block-shift-y,0))}.block.has-content-width .wrap,.block.has-content-width .hero__inner{width:calc((100% - 2.5rem) * var(--block-content-width-n,100) / 100);max-width:none}.block.has-content-width h1,.block.has-content-width h2,.block.has-content-width .section-lead,.block.has-content-width .lead,.block.has-content-width .prose{max-width:100%}.block.has-item-gap .grid-3,.block.has-item-gap .grid-cards,.block.has-item-gap .service-list,.block.has-item-gap .product-grid,.block.has-item-gap .cases-grid,.block.has-item-gap .news-list,.block.has-item-gap .faq-list,.block.has-item-gap .shop-grid,.block.has-item-gap .hero__actions,.block.has-item-gap .contact__grid,.block.has-item-gap .cta__inner{gap:var(--block-item-gap)}.hero{position:relative;overflow:hidden;padding-top:6.5rem;padding-bottom:6.5rem;background-image:linear-gradient(145deg,color-mix(in srgb,var(--secondary) 38%,transparent),color-mix(in srgb,var(--primary) 32%,transparent)),url("https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&w=1600&q=70");background-size:cover;background-position:center;color:white}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 4%,color-mix(in srgb,white 6%,transparent) 4% 4.15%,transparent 4.15%),repeating-linear-gradient(-12deg,transparent,transparent 48px,color-mix(in srgb,white 4%,transparent) 48px 49px);pointer-events:none;opacity:.55}.hero.hero--plain{color:var(--text);background:transparent}.hero.hero--plain::before{display:none}.hero.hero--plain .btn-ghost{border-color:color-mix(in srgb,var(--text) 18%,transparent);color:var(--text)}.hero__inner{position:relative;z-index:1}.hero .eyebrow{display:inline-flex;align-items:center;gap:.5rem;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;opacity:.9;font-weight:600;margin:0 0 .85rem}.hero .eyebrow::before{content:"";width:1.5rem;height:1px;background:color-mix(in srgb,white 70%,transparent)}.hero h1{font-family:var(--font-heading);font-size:clamp(2.45rem,6vw,4.1rem);line-height:1.12;margin:0 0 1.1rem;max-width:none;letter-spacing:-0.03em;font-weight:700;text-wrap:pretty;overflow-wrap:anywhere}.hero .lead{max-width:42rem;opacity:.92;font-size:1.08rem;line-height:1.7;margin:0}.hero__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.9rem}.hero--center .hero__inner{text-align:center}.hero--center h1,.hero--center .lead{margin-left:auto;margin-right:auto}.hero--center .eyebrow{justify-content:center}.hero--center .hero__actions{justify-content:center}.hero .btn-ghost{border-color:color-mix(in srgb,white 35%,transparent);color:white}.features h2,.services h2,.text-block h2,.contact h2,.cta h2,.products h2,.cases h2,.faq h2,.news h2{font-family:var(--font-heading);font-size:clamp(1.75rem,3.2vw,2.45rem);margin:0 0 1.75rem;letter-spacing:-0.02em;line-height:1.22;max-width:none;overflow-wrap:anywhere}.features h2::after,.services h2::after,.text-block h2::after,.contact h2::after,.products h2::after,.cases h2::after,.faq h2::after,.news h2::after{content:"";display:block;width:2.5rem;height:3px;margin-top:.85rem;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--primary) 40%,transparent));border-radius:999px}.grid-3,.grid-cards{display:grid;gap:1.15rem}.grid-3,.grid-cards--3{grid-template-columns:repeat(3,1fr)}.grid-cards--1{grid-template-columns:1fr}.grid-cards--2{grid-template-columns:repeat(2,1fr)}.grid-cards--4{grid-template-columns:repeat(4,1fr)}.card,.service{background:color-mix(in srgb,var(--bg) 88%,white);border:1px solid var(--line);border-radius:var(--radius);padding:1.45rem 1.35rem;box-shadow:var(--shadow);transition:transform .25s ease,border-color .25s ease}.card:hover,.service:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 28%,var(--line))}.card h3,.service h3{margin:0 0 .55rem;font-size:1.08rem;letter-spacing:-0.01em;font-family:var(--font-heading)}.card p,.service p,.prose,.caption{color:var(--muted)}.lead{color:var(--muted);font-size:1.05rem;overflow-wrap:anywhere;word-break:break-word}.prose,.faq-a>[data-edit-prop],.faq-a>div,.news-card p,.card p,.service p{font-size:1.05rem;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.card h3,.service h3{overflow-wrap:anywhere}.grid-3 .card:nth-child(1),.grid-cards .card:nth-child(1){border-top:3px solid var(--primary)}.grid-3 .card:nth-child(2),.grid-cards .card:nth-child(2){border-top:3px solid var(--accent)}.grid-3 .card:nth-child(3),.grid-cards .card:nth-child(3){border-top:3px solid color-mix(in srgb,var(--secondary) 70%,var(--primary))}.grid-cards .card:nth-child(4){border-top:3px solid color-mix(in srgb,var(--primary) 55%,var(--accent))}.service-list{display:grid;gap:1rem}.service{display:flex;justify-content:space-between;gap:1.25rem;align-items:start}.price{color:var(--primary);white-space:nowrap;font-weight:700;font-family:var(--font-heading);font-size:1.05rem}.cta{background:linear-gradient(120deg,color-mix(in srgb,var(--primary) 12%,var(--bg)),color-mix(in srgb,var(--accent) 10%,var(--surface)));border-block:1px solid var(--line)}.cta__inner{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;flex-wrap:wrap}.cta h2{margin-bottom:.55rem;max-width:none}.cta h2::after{display:none}.cta p{margin:0;color:var(--muted);max-width:42rem}.contact__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.25rem;align-items:start}.contact-meta{padding:0;list-style:none;color:var(--muted)}.contact-meta li{margin:.55rem 0;padding-left:0}.contact-form{display:grid;gap:.85rem;background:color-mix(in srgb,var(--bg) 90%,white);padding:1.45rem;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow)}.contact-form label{display:grid;gap:.4rem;font-size:.9rem;font-weight:600;color:var(--text)}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:12px;padding:.8rem .9rem;font:inherit;background:color-mix(in srgb,var(--bg) 70%,white);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:color-mix(in srgb,var(--primary) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.contact-form textarea{resize:vertical;min-height:120px}.form-success{margin:0;color:var(--primary);font-weight:600}.form-success.hidden{display:none}.item-link{display:block;color:inherit;text-decoration:none}.item-link:hover h3{color:var(--primary)}.service>.item-link{flex:1;min-width:0}.content-link{color:var(--primary);font-weight:600;text-underline-offset:0.18em}.block.has-color .content-link{color:var(--primary)}.link-list{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;margin:1rem 0 0}.image-link{display:block;color:inherit}.image-link img{cursor:pointer;transition:opacity .2s ease}.image-link:hover img{opacity:.92}.image-block img{width:100%;border-radius:calc(var(--radius)+4px);max-height:520px;object-fit:cover;box-shadow:var(--shadow)}.image-placeholder{min-height:240px;display:grid;place-items:center;border-radius:calc(var(--radius)+4px);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--surface)),var(--surface));color:var(--muted);border:1px dashed color-mix(in srgb,var(--primary) 25%,transparent)}.caption{text-align:center;margin-top:.9rem;font-size:.92rem}.site-footer{padding:3rem 0 2.75rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;background:color-mix(in srgb,var(--surface) 70%,transparent)}.site-footer__inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.site-footer__meta{display:grid;gap:.3rem}.site-footer__meta p{margin:0}.site-footer a{color:var(--primary)}.is-editable{outline:2px dashed transparent;outline-offset:-4px;cursor:grab}.is-editable:hover,.is-editable.is-selected{outline-color:var(--accent)}.is-editable.is-dragging{opacity:.55}.is-editable.is-drop-target{outline-color:var(--primary) !important;outline-style:solid}.is-editable .btn:not([data-add-cart]),.is-editable a{pointer-events:none}.is-editable [data-edit-prop]{pointer-events:auto;cursor:text}.is-editable [data-checkout] button,.is-editable [data-checkout] input,.is-editable [data-checkout] textarea,.is-editable [data-add-cart]{pointer-events:auto;cursor:pointer}.is-editable.is-block-hidden{opacity:.42;filter:grayscale(.15);outline-style:dashed;outline-color:var(--muted)}.anim{opacity:1;transform:none;transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}html.js .anim:not(.is-visible){opacity:0}html.js .anim-fade-up:not(.is-visible){transform:translateY(32px)}html.js .anim-fade-left:not(.is-visible){transform:translateX(28px)}html.js .anim-zoom:not(.is-visible){transform:scale(.97)}.anim.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.anim{opacity:1 !important;transform:none !important;transition:none !important}.btn:hover,.card:hover,.service:hover{transform:none}}@media (max-width:1100px){.grid-cards--4{grid-template-columns:repeat(2,1fr)}}@media (max-width:860px){.grid-3,.grid-cards,.contact__grid{grid-template-columns:1fr}.hero h1{max-width:none}.nav{display:none}.nav.is-open{display:flex;flex-direction:column;position:absolute;inset:72px 0 auto;background:var(--bg);padding:1rem 1.25rem 1.25rem;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.nav-toggle{display:inline-flex}}@media (min-width:861px){.nav-toggle{display:none}}.section-lead{margin:-0.75rem 0 1.75rem;max-width:46rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.product-card,.case-card,.news-card{background:color-mix(in srgb,var(--bg) 88%,white);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.product-sku,.case-client,.news-card time{color:var(--primary);font-size:.82rem;font-weight:700;margin:0 0 .35rem;letter-spacing:.04em}.product-grid,.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.case-result{margin:.75rem 0 0;color:var(--muted);font-size:.95rem}.news-list{display:grid;gap:1rem}.faq-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:1rem}.faq-search input{width:100%;border:1px solid var(--line);border-radius:999px;padding:.85rem 1.1rem;font:inherit;background:color-mix(in srgb,var(--bg) 80%,white);color:var(--text);margin-bottom:1rem}.faq-list{display:grid;gap:.75rem}.faq-item{border:1px solid var(--line);border-radius:14px;padding:.35rem 1rem;background:color-mix(in srgb,var(--bg) 88%,white)}.faq-item summary{cursor:pointer;font-weight:700;padding:.7rem 0}.faq-a{color:var(--muted);padding:0 0 .9rem}.content-media,.news-media,.faq-media{margin:.75rem 0 0}.content-media img,.news-media img,.faq-media img{display:block;border-radius:12px;box-shadow:var(--shadow)}.file-list{display:flex;flex-wrap:wrap;gap:.5rem .85rem}.file-list .content-link{text-decoration:underline}.faq-tags{margin:0 0 .8rem;font-size:.8rem;color:var(--primary)}.faq-empty{color:var(--muted)}.pager{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-top:1.5rem}.pager button{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:999px;padding:.45rem .9rem;cursor:pointer;font:inherit}.pager button.is-active{background:var(--primary);color:white;border-color:var(--primary)}.case-card.is-hidden,.faq-item.is-hidden{display:none}@media (max-width:860px){.product-grid,.cases-grid{grid-template-columns:1fr}}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.shop-card{background:color-mix(in srgb,var(--bg) 88%,white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.shop-card__media{aspect-ratio:4 / 3;background:color-mix(in srgb,var(--surface) 80%,var(--line));overflow:hidden}.shop-card__media img{width:100%;height:100%;object-fit:cover}.shop-card__body{padding:1.1rem 1.15rem 1.25rem;display:grid;gap:.45rem;flex:1}.shop-card__body>.item-link{display:grid;gap:.45rem;color:inherit;text-decoration:none}.shop-card__sku{margin:0;color:var(--primary);font-size:.78rem;font-weight:700;letter-spacing:.04em}.shop-card__body h3{margin:0;font-family:var(--font-heading);font-size:1.08rem}.shop-card__specs{margin:0;color:var(--muted);font-size:.95rem}.shop-card__meta{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;margin-top:.25rem}.shop-price{font-weight:800;font-size:1.1rem}.shop-stock{font-size:.85rem;color:var(--muted)}.shop-stock.is-out{color:#b91c1c}.shop-card .btn{margin-top:.55rem;width:100%;justify-content:center}.shop h2,.checkout h2{font-family:var(--font-heading);font-size:clamp(1.75rem,3.2vw,2.45rem);margin:0 0 1.75rem;letter-spacing:-0.02em;line-height:1.15;max-width:18ch}.shop h2::after,.checkout h2::after{content:"";display:block;width:2.5rem;height:3px;margin-top:.85rem;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--primary) 40%,transparent));border-radius:999px}.cart-btn{position:relative;border:1px solid var(--line);background:transparent;border-radius:999px;padding:.45rem .85rem;cursor:pointer;font:inherit;color:var(--text)}.cart-btn__count{position:absolute;top:-6px;right:-6px;min-width:1.15rem;height:1.15rem;border-radius:999px;background:var(--primary);color:#fff;font-size:.7rem;font-weight:700;display:grid;place-items:center;padding:0 .25rem}.cart-btn__count:empty,.cart-btn__count[data-count="0"]{display:none}.checkout-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem;align-items:start}.cart-panel,.checkout-form-card{background:color-mix(in srgb,var(--bg) 88%,white);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;box-shadow:var(--shadow)}.cart-line{display:grid;grid-template-columns:64px 1fr auto;gap:.75rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--line)}.cart-line:last-child{border-bottom:0}.cart-line img{width:64px;height:64px;object-fit:cover;border-radius:10px;background:var(--surface)}.cart-line__title{margin:0;font-weight:700}.cart-line__meta{margin:.2rem 0 0;color:var(--muted);font-size:.88rem}.cart-qty{display:inline-flex;gap:.35rem;align-items:center;margin-top:.4rem}.cart-qty button{width:1.7rem;height:1.7rem;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;font:inherit}.cart-qty input{width:3rem;text-align:center;border:1px solid var(--line);border-radius:8px;padding:.25rem;background:transparent;color:var(--text);font:inherit}.cart-summary{margin-top:1rem;display:grid;gap:.4rem;color:var(--muted)}.cart-summary strong{color:var(--text)}.cart-summary__row{display:flex;justify-content:space-between;gap:1rem}.cart-summary__total{font-size:1.15rem;font-weight:800;color:var(--text);padding-top:.4rem;border-top:1px solid var(--line)}.cart-empty{color:var(--muted);margin:0}.tax-note{font-size:.88rem;color:var(--muted);margin:.35rem 0 0}@media (max-width:860px){.shop-grid,.checkout-layout{grid-template-columns:1fr}}.hp-field{position:absolute !important;left:-10000px !important;top:auto !important;width:1px !important;height:1px !important;overflow:hidden !important;opacity:0 !important;pointer-events:none !important}.card,.service,.product-card,.case-card,.news-card,.faq-item,.contact-form{background:#111827;color:#e5e7eb;border-color:rgba(148,163,184,.22)}.card p,.service p,.prose,.lead,.faq-a,.case-result{color:#94a3b8}.features h2::after,.services h2::after,.products h2::after,.cases h2::after,.faq h2::after,.news h2::after,.text-block h2::after,.contact h2::after{background:linear-gradient(90deg,#22d3ee,#0ea5e9)}.btn-primary{color:#04111a}.site-header{background:rgba(11,18,32,.88)}@media (max-width:899px){body{background-attachment:scroll !important}}