/* ABICO BioTech — daylight design system */
:root{
  --canvas:#F3F7FB;
  --panel:#FFFFFF;
  --ink:#1F3D5C;
  --steel:#3D5A78;
  --mist:#64809C;
  --faint:#8CA5BC;
  --line:#D4E4F2;
  --line-soft:#E0EAF3;
  --blue:#2E77BE;
  --blue-deep:#265F9E;
  --blue-tint:#E8F2FB;
  --green:#12A66B;
  --green-deep:#0B7A4E;
  --green-tint:#E7F7EF;
  --green-line:#BFE8D4;
  --font-display:'Space Grotesk','Noto Sans TC',sans-serif;
  --font-body:'Manrope','Noto Sans TC',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  background:var(--canvas);
  color:var(--steel);
  font-size:16px;
  line-height:1.75;
  overflow-x:hidden;
}
::selection{background:var(--blue-tint);color:var(--ink);}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--blue);outline-offset:3px;border-radius:4px;
}

/* language toggle: zh default, body.lang-en switches */
.en{display:none;}
body.lang-en .en{display:revert;}
body.lang-en .zh{display:none;}

.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.eyebrow{font-family:var(--font-display);font-size:13px;letter-spacing:.2em;color:var(--mist);font-weight:500;text-transform:uppercase;}
.section-title{font-size:clamp(26px,3.4vw,36px);font-weight:600;color:var(--ink);line-height:1.35;margin:8px 0 14px;}
.section-lead{max-width:560px;color:var(--mist);}

/* ---------- nav ---------- */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:rgba(243,247,251,.82);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;
  transition:border-color .3s,background .3s;
}
#nav.scrolled{border-color:var(--line-soft);background:rgba(243,247,251,.95);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;max-width:1120px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:11px;}
.brand-mark{
  width:38px;height:38px;border-radius:11px;background:var(--panel);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--green);flex-shrink:0;
}
.brand-name{font-size:16px;font-weight:700;color:var(--ink);line-height:1.25;}
.brand-sub{font-family:var(--font-display);font-size:11px;letter-spacing:.14em;color:var(--faint);line-height:1.25;}
.nav-links{display:flex;gap:28px;font-size:14.5px;color:var(--steel);}
.nav-links a{padding:6px 2px;transition:color .2s;position:relative;}
.nav-links a:hover{color:var(--blue);}
.nav-links a.active{color:var(--blue);font-weight:600;}
.nav-links a.active::after{
  content:'';position:absolute;left:2px;right:2px;bottom:-2px;height:2px;
  background:var(--green);border-radius:2px;
}
.nav-cta{display:flex;align-items:center;gap:14px;}
.lang-toggle{
  font-family:var(--font-display);font-size:12.5px;letter-spacing:.06em;color:var(--mist);
  background:none;border:1px solid var(--line);border-radius:99px;padding:6px 14px;cursor:pointer;
  transition:border-color .2s,color .2s;
}
.lang-toggle:hover{border-color:var(--blue);color:var(--blue);}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:99px;cursor:pointer;
  font-family:inherit;font-size:14.5px;font-weight:600;border:none;white-space:nowrap;
  transition:background .2s,color .2s,border-color .2s,transform .15s;
}
.btn-solid{background:var(--blue);color:#fff;padding:11px 26px;}
.btn-solid:hover{background:var(--blue-deep);transform:translateY(-1px);}
.btn-ghost{background:var(--panel);color:var(--steel);border:1px solid var(--line);padding:10px 24px;}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue);}
.btn-nav{padding:9px 20px;font-size:13.5px;}

/* hamburger */
.menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--ink);}
.menu-btn svg{width:24px;height:24px;}
#mobile-menu{
  display:none;position:fixed;top:70px;left:16px;right:16px;z-index:49;
  background:var(--panel);border:1px solid var(--line);border-radius:18px;
  padding:10px;flex-direction:column;
}
#mobile-menu.open{display:flex;}
#mobile-menu a{padding:13px 18px;font-size:16px;font-weight:600;color:var(--ink);border-radius:12px;}
#mobile-menu a:hover,#mobile-menu a.active{background:var(--canvas);color:var(--blue);}

/* ---------- page hero (inner pages) ---------- */
.page-hero{padding:158px 0 56px;}
.page-hero .section-title{font-size:clamp(30px,4vw,44px);}

/* ---------- home hero ---------- */
#hero{padding:150px 0 96px;}
.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:48px;align-items:center;}
.hero-title{
  font-size:clamp(34px,4.6vw,52px);font-weight:700;color:var(--ink);
  line-height:1.35;letter-spacing:.01em;margin:18px 0 12px;
}
.hero-title .accent{color:var(--blue);}
.hero-en{font-family:var(--font-display);font-size:15px;color:var(--faint);letter-spacing:.05em;margin-bottom:18px;}
.hero-body{max-width:440px;margin-bottom:32px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}

/* integration diagram */
.hero-visual{position:relative;min-height:430px;}
.echo{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid var(--line);}
.echo-1{width:430px;height:430px;margin:-215px 0 0 -215px;opacity:.7;}
.echo-2{width:310px;height:310px;margin:-155px 0 0 -155px;}
.diagram{position:absolute;inset:0;}
.hub{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:118px;height:118px;border-radius:50%;background:var(--panel);
  border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  text-align:center;z-index:2;
}
.hub b{font-size:15px;color:var(--ink);font-weight:700;line-height:1.3;}
.hub span{font-family:var(--font-display);font-size:10.5px;letter-spacing:.1em;color:var(--green);font-weight:500;}
.sat{
  position:absolute;background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:10px 15px;display:flex;align-items:center;gap:9px;z-index:2;
}
.sat-icon{width:30px;height:30px;border-radius:9px;background:var(--blue-tint);color:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sat-icon.g{background:var(--green-tint);color:var(--green);}
.sat b{font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.35;white-space:nowrap;display:block;}
.sat span{font-size:11px;color:var(--faint);line-height:1.35;white-space:nowrap;display:block;}
.sat b .en,.sat span .en{display:none;}
body.lang-en .sat b .en,body.lang-en .sat span .en{display:inline;}
body.lang-en .sat b .zh,body.lang-en .sat span .zh{display:none;}
.links-svg{position:absolute;inset:0;width:100%;height:100%;z-index:1;}
.link-line{stroke:var(--green-line);stroke-width:1.6;stroke-dasharray:5 6;animation:flow 1.6s linear infinite;}
@keyframes flow{to{stroke-dashoffset:-11;}}
.sat-1{top:6%;left:50%;transform:translateX(-50%);}
.sat-2{top:30%;right:0;}
.sat-3{bottom:28%;right:2%;}
.sat-4{bottom:4%;left:50%;transform:translateX(-50%);}
.sat-5{top:30%;left:0;}
.sat-6{bottom:28%;left:2%;}

/* ---------- capability strip ---------- */
.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px;}
.cap{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:26px 24px;transition:transform .25s,border-color .25s;}
.cap:hover{transform:translateY(-4px);border-color:#B9D4EA;}
.cap-num{font-family:var(--font-display);font-size:13px;letter-spacing:.14em;color:var(--green);font-weight:500;}
.cap h3{font-size:17px;font-weight:600;color:var(--ink);margin:10px 0 6px;}
.cap p{font-size:14px;color:var(--mist);line-height:1.7;}

/* ---------- trust ---------- */
.trust-card{
  background:var(--panel);border:1px solid var(--line);border-radius:20px;
  padding:26px 34px;text-align:center;
}
.trust-label{font-family:var(--font-display);font-size:12px;letter-spacing:.16em;color:var(--faint);margin-bottom:14px;text-transform:uppercase;}
.trust-names{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 34px;font-size:15px;font-weight:600;color:var(--steel);}

/* ---------- cards / grids ---------- */
.card{
  background:var(--panel);border:1px solid var(--line);border-radius:20px;
  padding:30px 34px;transition:transform .25s,border-color .25s;
}
.card:hover{transform:translateY(-4px);border-color:#B9D4EA;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}

.pill{
  display:inline-block;background:var(--green-tint);color:var(--green-deep);
  font-size:12.5px;font-weight:600;padding:4px 14px;border-radius:99px;letter-spacing:.05em;
}
.pill-blue{background:var(--blue-tint);color:var(--blue-deep);}
.tag{font-size:12px;font-weight:600;color:var(--blue-deep);background:var(--blue-tint);padding:3px 12px;border-radius:99px;letter-spacing:.04em;display:inline-block;}
.tag-green{color:var(--green-deep);background:var(--green-tint);}

/* ---------- continuum thread ---------- */
.stages{position:relative;margin-top:44px;padding-left:40px;}
.thread{position:absolute;left:11px;top:10px;bottom:10px;width:2px;background:var(--green-line);border-radius:2px;}
.stage{position:relative;margin-bottom:26px;}
.stage:last-child{margin-bottom:0;}
.node{
  position:absolute;left:-40px;top:26px;width:18px;height:18px;border-radius:50%;
  background:var(--green);border:4px solid var(--green-tint);
}
.node::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--green);opacity:0;animation:ping 3s ease-out infinite;}
@keyframes ping{0%{transform:scale(.6);opacity:.8;}80%,100%{transform:scale(1.9);opacity:0;}}
.stage:nth-child(odd) .card{margin-right:min(9%,86px);}
.stage:nth-child(even) .card{margin-left:min(9%,86px);}
.stage-title{font-size:21px;font-weight:600;color:var(--ink);margin:12px 0 6px;}
.stage-body{font-size:15px;color:var(--mist);max-width:600px;}
.stage-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}

/* ---------- icon feature card ---------- */
.feature-icon{
  width:52px;height:52px;border-radius:16px;background:var(--blue-tint);color:var(--blue);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.feature-icon.g{background:var(--green-tint);color:var(--green);}
.card h3{font-size:18px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.card .plat-code{font-family:var(--font-display);font-size:12px;letter-spacing:.14em;color:var(--blue);font-weight:500;}
.card p{font-size:14.5px;color:var(--mist);line-height:1.7;}

/* ---------- product catalog ---------- */
.p-img{
  aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;
  background:#FFFFFF;border:1px solid var(--line-soft);border-radius:14px;
  overflow:hidden;margin-bottom:16px;
}
.p-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
.product:hover .p-img img,.card:hover .p-img img{transform:scale(1.04);}
.p-img svg{color:var(--blue);}
.pill-outline{background:transparent;border:1px solid var(--line);color:var(--mist);}
.p-pills{display:flex;gap:6px;flex-wrap:wrap;}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 30px;}
.chip{
  font-family:inherit;font-size:13.5px;font-weight:600;color:var(--steel);
  background:var(--panel);border:1px solid var(--line);border-radius:99px;
  padding:8px 20px;cursor:pointer;transition:background .2s,color .2s,border-color .2s;
}
.chip:hover{border-color:var(--blue);color:var(--blue);}
.chip.on{background:var(--blue);border-color:var(--blue);color:#fff;}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.product{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px;transition:transform .25s,border-color .25s;}
.product:hover{transform:translateY(-4px);border-color:#B9D4EA;}
.product.hidden{display:none;}
.product h3{font-size:17.5px;font-weight:600;color:var(--ink);margin:14px 0 4px;}
.product .p-en{font-family:var(--font-display);font-size:12px;letter-spacing:.08em;color:var(--faint);margin-bottom:10px;}
.product ul{list-style:none;margin:0 0 18px;flex:1;}
.product li{font-size:13.5px;color:var(--mist);padding:3px 0 3px 18px;position:relative;line-height:1.6;}
.product li::before{content:'';position:absolute;left:0;top:11px;width:7px;height:7px;border-radius:50%;background:var(--green-line);}
.product .btn{align-self:flex-start;padding:9px 20px;font-size:13px;}

/* ---------- forms ---------- */
.form-card{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:44px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{display:flex;flex-direction:column;gap:7px;}
.field.full{grid-column:1/-1;}
.field label{font-size:13.5px;font-weight:600;color:var(--ink);}
.field input,.field select,.field textarea{
  font-family:inherit;font-size:15px;color:var(--ink);
  background:var(--canvas);border:1px solid var(--line);border-radius:12px;
  padding:12px 16px;transition:border-color .2s,background .2s;width:100%;
}
.field textarea{min-height:120px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);background:#fff;outline:none;}
.field input::placeholder,.field textarea::placeholder{color:var(--faint);}
.form-note{font-size:13px;color:var(--faint);margin-top:14px;}

/* ---------- certs ---------- */
.certs-card{
  background:var(--panel);border:1px solid var(--line);border-radius:20px;
  padding:24px 34px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
}
.cert-pills{display:flex;gap:10px;flex-wrap:wrap;}
.cert{font-size:13px;font-weight:600;padding:7px 18px;border-radius:99px;border:1px solid var(--line);color:var(--steel);}
.cert-green{border-color:var(--green-line);color:var(--green-deep);}
.certs-line{font-size:14px;color:var(--faint);}

/* ---------- cta ---------- */
.cta-card{background:var(--blue-tint);border-radius:24px;padding:64px 32px;text-align:center;}
.cta-title{font-size:clamp(24px,3vw,32px);font-weight:600;color:var(--ink);margin-bottom:10px;}
.cta-sub{font-size:15.5px;color:#4C6E90;margin-bottom:28px;}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line-soft);padding:52px 0 40px;margin-top:90px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:38px;}
.foot-brand p{font-size:13.5px;color:var(--faint);max-width:260px;margin-top:12px;}
.foot-col h4{font-family:var(--font-display);font-size:12px;letter-spacing:.14em;color:var(--faint);font-weight:500;margin-bottom:14px;text-transform:uppercase;}
.foot-col a,.foot-col>span{display:block;font-size:14px;color:var(--steel);padding:4px 0;}
.foot-col a .en,.foot-col span .en{display:none;}
body.lang-en .foot-col a .en,body.lang-en .foot-col span .en{display:inline;}
body.lang-en .foot-col a .zh,body.lang-en .foot-col span .zh{display:none;}
.foot-col a:hover{color:var(--blue);}
.foot-base{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line-soft);padding-top:24px;font-size:13px;color:var(--faint);}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:none;}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

/* ---------- sections spacing ---------- */
.section{padding:96px 0 0;}
.section-tight{padding:60px 0 0;}

/* ---------- responsive: designed for mobile ---------- */
@media (max-width:920px){
  .nav-links,.nav-cta .lang-desktop{display:none;}
  .menu-btn{display:block;}
  .hero-grid{grid-template-columns:1fr;gap:20px;}
  #hero{padding:132px 0 72px;}
  .hero-visual{min-height:400px;margin-top:10px;}
  .ecg-deco svg{height:52px;}
  .echo-1{width:340px;height:340px;margin:-170px 0 0 -170px;}
  .cap-grid{grid-template-columns:1fr 1fr;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr;}
  .product-grid{grid-template-columns:1fr 1fr;}
  .stage:nth-child(odd) .card,.stage:nth-child(even) .card{margin:0;}
  .form-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .form-card{padding:30px;}
}
@media (max-width:560px){
  body{font-size:15.5px;}
  .nav-inner{padding:12px 16px;}
  .brand-sub{display:none;}
  .btn-nav{padding:8px 16px;font-size:12.5px;}
  .page-hero{padding:130px 0 40px;}
  .cap-grid,.grid-2,.grid-3,.grid-4,.product-grid{grid-template-columns:1fr;}
  .stages{padding-left:30px;}
  .node{left:-30px;}
  .thread{left:8px;}
  .card{padding:24px;}
  .trust-card{padding:22px;}
  .trust-names{gap:8px 20px;font-size:14px;}
  .cta-card{padding:48px 22px;}
  .foot-grid{grid-template-columns:1fr;gap:24px;}
  .hero-visual{display:none;}
  #hero{padding:120px 0 56px;}
  .ecg-deco{display:none;}
  .section{padding:72px 0 0;}
}
/* ---- ambient background (layered daylight) ---- */
body::before{
  content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(1000px 640px at 88% -8%, #E2EFFA 0%, rgba(226,239,250,0) 62%),
    radial-gradient(760px 540px at -6% 26%, rgba(231,247,239,.75) 0%, rgba(231,247,239,0) 60%),
    radial-gradient(900px 620px at 108% 78%, rgba(230,241,251,.85) 0%, rgba(230,241,251,0) 58%);
}
#hero,.page-hero{position:relative;overflow:hidden;}
.section,.section-tight{position:relative;overflow-x:clip;}
.wrap{position:relative;}

/* photographic hero backgrounds (washed into the canvas) */
.ph-corridor{--hero-img:url('img/bg-corridor.jpg');}
.ph-monitor{--hero-img:url('img/bg-monitor.jpg');}
.page-hero.ph-monitor{background-position:right 32%;}
.ph-orlamps{--hero-img:url('img/bg-orlamps.jpg');}
.ph-stair{--hero-img:url('img/bg-stair.jpg');}
#hero.photo-hero,.page-hero.photo-hero{
  background:
    linear-gradient(180deg, rgba(243,247,251,.55) 0%, rgba(243,247,251,.12) 34%, rgba(243,247,251,.28) 72%, rgba(243,247,251,.96) 97%, var(--canvas) 100%),
    linear-gradient(90deg, var(--canvas) 0%, var(--canvas) 30%, rgba(243,247,251,.94) 52%, rgba(243,247,251,.7) 72%, rgba(243,247,251,.34) 100%),
    var(--hero-img) right center/cover no-repeat;
}

/* ECG waveform running through the canvas */
.ecg-deco{position:absolute;left:0;right:0;pointer-events:none;color:#C4DBEF;}
.ecg-deco svg{display:block;width:100%;height:96px;}
/* live sweep — a short bright segment traveling the trace, monitor-style */
.ecg-run{opacity:.7;stroke-dasharray:6 94;stroke-dashoffset:6;animation:ecg-sweep 6s linear infinite;}
@keyframes ecg-sweep{to{stroke-dashoffset:-94;}}
@media (prefers-reduced-motion:reduce){.ecg-run{display:none;}}

/* pulse rings behind circular imagery */
.ring-wrap{position:relative;display:block;width:200px;margin:0 auto;}
.ring-wrap::before,.ring-wrap::after{
  content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  border:1px solid var(--line);border-radius:50%;pointer-events:none;
}
.ring-wrap::before{width:264px;height:264px;}
.ring-wrap::after{width:326px;height:326px;opacity:.55;}
.ring-wrap .img-round{position:relative;}

@media (max-width:900px){
  #hero.photo-hero,.page-hero.photo-hero{
    background:
      linear-gradient(180deg, rgba(243,247,251,.92) 0%, rgba(243,247,251,.8) 55%, rgba(243,247,251,.97) 96%, var(--canvas) 100%),
      var(--hero-img) center/cover no-repeat;
  }
  .ring-wrap::before{width:236px;height:236px;}
  .ring-wrap::after{display:none;}
}

/* ---- split feature cards & imagery ---- */
.split-card{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center;}
.s-media{margin:0;}
.s-media img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid var(--line-soft);}
.split-card.media-right .s-media{order:2;}
.p-img.dark{background:#04152E;border-color:#12304F;}

/* index focus strip — photo cards into the six solution domains */
.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;}
.focus-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line-soft);border-radius:18px;overflow:hidden;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;}
.focus-card:hover{transform:translateY(-4px);border-color:#B9D4EA;box-shadow:0 18px 40px -24px rgba(31,61,92,.35);}
.focus-media{aspect-ratio:16/10;overflow:hidden;}
.focus-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.focus-card:hover .focus-media img{transform:scale(1.05);}
.focus-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:4px;}
.focus-body b{font-size:16px;font-weight:600;color:var(--ink);}
.focus-body span{font-size:13.5px;color:var(--mist);line-height:1.6;}
.focus-go{margin-top:8px;font-family:var(--font-display);font-size:12.5px;letter-spacing:.08em;color:var(--blue);font-weight:500;}
@media (max-width:900px){.focus-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.focus-grid{grid-template-columns:1fr;}}
.tr-flex{display:grid;grid-template-columns:224px 1fr;gap:38px;align-items:center;}
.img-round{width:200px;height:200px;border-radius:50%;object-fit:cover;display:block;border:6px solid #fff;box-shadow:0 14px 34px rgba(31,61,92,.16);margin:0 auto;}
.img-cap{font-size:12.5px;color:var(--faint);text-align:center;margin-top:12px;line-height:1.5;}
@media (max-width:900px){
  .split-card{grid-template-columns:1fr;gap:20px;}
  .split-card.media-right .s-media{order:0;}
  .tr-flex{grid-template-columns:1fr;}
}

/* ---- FAQ (採購與導入) ---- */
.faq-list{max-width:820px;margin-top:30px;display:flex;flex-direction:column;gap:12px;}
.faq-item{background:var(--panel);border:1px solid var(--line-soft);border-radius:14px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease;}
.faq-item[open]{border-color:var(--line);box-shadow:0 10px 30px rgba(31,61,92,.06);}
.faq-item summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;font-family:var(--font-body);font-weight:600;font-size:15.5px;color:var(--ink);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'';flex:0 0 auto;width:10px;height:10px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg);transition:transform .2s ease;margin-top:-4px;}
.faq-item[open] summary::after{transform:rotate(-135deg);margin-top:4px;}
.faq-item p{padding:0 22px 20px;margin:0;font-size:14.5px;line-height:1.75;color:var(--steel);}
@media (max-width:640px){
  .faq-item summary{padding:15px 16px;font-size:14.5px;}
  .faq-item p{padding:0 16px 16px;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;}
  .reveal{opacity:1;transform:none;}
  html{scroll-behavior:auto;}
}
