:root{
    --gold:#F5BE00;          /* Entax Gold — 主品牌色 */
    --gold-deep:#D9A800;
    --navy:#1A3550;          /* Hospital Navy — 主色/文字 */
    --navy-deep:#0F2439;     /* 深底 */
    --teal:#4DB8B0;          /* Accent Teal — 次強調 */
    --teal-ink:#2E9488;      /* 文字用深 teal */
    --gray:#7E868D;          /* Steel Gray — 輔助文字 */
    --tint:#EAF4F8;          /* Clinical Light Blue — 淺底 */
    --paper:#FFFFFF;
    --line:#D6E4EC;
    --line-dark:#284763;
    --text:#26333F;
    --muted:#5E6B75;
    --muted-on-dark:#A7BBCC;
    --maxw:1160px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:"Source Sans 3","IBM Plex Sans TC","Noto Sans TC",sans-serif;
    color:var(--text);background:var(--paper);line-height:1.65;
    -webkit-font-smoothing:antialiased;font-size:16px;
  }
  .container{max-width:var(--maxw);margin:0 auto;padding:0 28px}
  @media(min-width:1680px){:root{--maxw:1280px}}
  ::selection{background:var(--gold);color:var(--navy)}
  h1,h2,h3{font-family:"Aptos","Noto Sans TC","Source Sans 3",sans-serif;line-height:1.2;color:var(--navy);font-weight:700;letter-spacing:-.01em}
  a{color:inherit;text-decoration:none}

  .eyebrow{
    font-size:12px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--teal-ink);font-weight:600;display:inline-flex;align-items:center;gap:11px;
  }
  .eyebrow::before{content:"";width:28px;height:2px;background:var(--gold);display:inline-block}

  /* logo mark */
  .mark{width:34px;height:34px;flex:0 0 34px}
  .logo-nav{height:38px;width:auto;display:block}
  .logo-mark{height:30px;width:auto;display:block;flex:0 0 auto}

  /* ---------- NAV ---------- */
  nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;max-width:var(--maxw);margin:0 auto;padding:0 28px}
  .brand{display:flex;align-items:center;gap:11px}
  .brand .txt{display:flex;flex-direction:column;line-height:1.05}
  .brand .en{font-family:"Aptos","Noto Sans TC",sans-serif;font-size:17px;color:var(--navy);font-weight:700;letter-spacing:-.01em}
  .brand .zh{font-size:11px;color:var(--gray);font-weight:500;letter-spacing:.02em}
  .nav-links{display:flex;align-items:center;gap:28px}
  .nav-links a{font-size:14.5px;color:var(--muted);font-weight:500;transition:color .2s}
  .nav-links a:hover{color:var(--navy)}
  .lang-toggle{font-size:12px;letter-spacing:.06em;border:1.5px solid var(--line);border-radius:3px;background:transparent;color:var(--navy);padding:7px 13px;cursor:pointer;transition:all .2s;font-weight:600;font-family:inherit}
  .lang-toggle:hover{border-color:var(--gold);color:var(--gold-deep)}
  .hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
  .hamburger span{width:22px;height:2px;background:var(--navy);transition:.3s}

  /* ---------- SECTIONS ---------- */
  section{padding:104px 0}
  .sec-head{margin-bottom:52px;max-width:730px}
  .sec-head h2{font-size:clamp(28px,4vw,40px);margin:18px 0 0}
  .sec-head .lead{margin-top:16px;color:var(--muted);font-size:17px}
  .tint{background:var(--tint)}

  /* ---------- HERO ---------- */
  .hero{padding:150px 0 0;position:relative;overflow:hidden;background:var(--tint)}
  /* FIX: .hero 是 flex 容器，.container 為 flex item 會收縮成內容寬度後置中，
     導致桌機版文字區塊偏右、左側大片空白；強制撐滿即可回到 1160px 格線 */
  .hero .container{position:relative;z-index:2;width:100%;max-width:var(--maxw)}
  .hero h1{font-size:clamp(34px,5.3vw,58px);max-width:15ch;font-weight:900;font-family:"Aptos","Noto Sans TC",sans-serif}
  .hero .sub{margin-top:24px;font-size:clamp(17px,2vw,20px);color:var(--muted);max-width:52ch;line-height:1.6}
  .tagline{margin-top:20px;display:flex;align-items:center;gap:14px;font-family:"Aptos","Noto Sans TC",sans-serif;font-weight:700;font-size:16px;color:var(--navy);letter-spacing:.01em}
  .tagline .sep{color:var(--gold);font-weight:700}
  .cta-row{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding-bottom:64px}
  .btn-primary{background:var(--navy);color:#fff;font-weight:600;font-size:15px;letter-spacing:.02em;padding:15px 30px;border:none;border-radius:2px;cursor:pointer;transition:all .2s;font-family:inherit;display:inline-block}
  .btn-primary:hover{background:var(--gold);color:var(--navy)}
  .btn-ghost{font-size:15px;font-weight:600;color:var(--navy);padding:15px 4px;border-bottom:2.5px solid var(--gold)}
  .hero-chain{position:absolute;top:0;right:-60px;height:100%;width:44%;z-index:1;opacity:.95;pointer-events:none}
  @media(max-width:860px){.hero-chain{display:none}}
  .hero{min-height:640px;display:flex;align-items:center;padding:130px 0 0;background:linear-gradient(to bottom, rgba(26,53,80,0) 55%, rgba(26,53,80,.5) 80%, #1A3550 100%),linear-gradient(90deg, rgba(15,36,57,.94) 0%, rgba(15,36,57,.80) 34%, rgba(15,36,57,.42) 66%, rgba(15,36,57,.18) 100%),var(--hero-img) center right / cover no-repeat;}
  .hero .cta-row{padding-bottom:72px}
  .hero .eyebrow{color:#5FC7BE}
  .hero h1{color:#fff}
  .hero .sub{color:#C7D6E2}
  .hero .tagline{color:#fff}
  .hero .btn-primary{background:var(--gold);color:var(--navy)}
  .hero .btn-primary:hover{background:#fff;color:var(--navy)}
  .hero .btn-ghost{color:#fff;border-bottom-color:var(--gold)}
  @media(max-width:860px){
    .hero{min-height:560px;padding:112px 0 0;
      background:
        linear-gradient(to bottom, rgba(26,53,80,0) 60%, rgba(26,53,80,.5) 82%, #1A3550 100%),
        linear-gradient(180deg, rgba(13,30,50,.58) 0%, rgba(13,30,50,.66) 55%, rgba(13,30,50,.72) 100%),
        var(--hero-img) center 30% / cover no-repeat;}
  }

  /* ---------- VALUES STRIP ---------- */
  .values{background:var(--navy);color:#fff}
  .values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
  .value{padding:34px 26px;border-right:1px solid var(--line-dark);display:flex;flex-direction:column;gap:12px}
  .value:last-child{border-right:none}
  .value .vi{width:34px;height:34px}
  .value h4{font-family:"Aptos","Noto Sans TC",sans-serif;font-size:16px;color:#fff;font-weight:700}
  .value .vzh{font-size:13px;color:var(--gold);font-weight:600;margin-top:3px}
  .value p{font-size:13.5px;color:var(--muted-on-dark);line-height:1.55}

  /* ---------- SERVICES ---------- */
  .svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
  .svc{padding:38px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);transition:background .25s;position:relative}
  .svc:nth-child(2n){border-right:none}
  .svc:nth-child(3),.svc:nth-child(4){border-bottom:none}
  .svc:hover{background:var(--tint)}
  .svc{overflow:hidden}
  .svc-img{margin:-38px -34px 22px -34px;aspect-ratio:2/1;overflow:hidden;border-bottom:1px solid var(--line)}
  .svc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
  .svc:hover .svc-img img{transform:scale(1.04)}
  .svc-num{font-family:"Aptos","Noto Sans TC",sans-serif;font-size:14px;color:var(--gold-deep);font-weight:700;letter-spacing:.06em;display:inline-flex;align-items:center;gap:10px}
  .svc-num::after{content:"";width:26px;height:1.5px;background:var(--gold);opacity:.7}
  .svc h3{font-size:22px;margin:12px 0 6px;font-weight:700}
  .svc .svc-en{font-size:12.5px;color:var(--gray);letter-spacing:.02em;margin:2px 0 16px;font-weight:500}
  .svc .svc-def{color:var(--text);font-size:15.5px;margin-bottom:18px}
  .svc ul{list-style:none}
  .svc li{font-size:14.5px;color:var(--muted);padding-left:18px;position:relative;margin-bottom:7px;line-height:1.5}
  .svc li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;background:var(--gold);border-radius:2px}

  /* ---------- DOMAINS ---------- */
  .dom-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .dom{border:1px solid var(--line);border-radius:6px;padding:36px 32px;background:var(--paper);position:relative;overflow:hidden}
  .dom-tag{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-ink);font-weight:600}
  .dom h3{font-size:24px;margin:11px 0 6px;font-weight:700}
  .dom .dom-en{font-size:12.5px;color:var(--gray);margin:2px 0 18px;font-weight:500}
  .dom p{font-size:15px;color:var(--muted);line-height:1.7}
  .dom-motif{position:absolute;top:26px;right:26px;opacity:.9}

  /* ---------- NETWORK ---------- */
  #network{background:var(--navy-deep);color:#fff}
  #network h2{color:#fff}
  #network .lead{color:var(--muted-on-dark)}
  .net-stage{margin-top:16px}
  .net-svg{width:100%;height:auto;display:block}
  .net-mobile{display:none}
  .net-mobile .nm-node{background:rgba(255,255,255,.05);border:1px solid var(--line-dark);border-radius:7px;padding:15px 16px;color:#CFDDE8;font-size:16px;text-align:center;font-weight:500;line-height:1.4}
  .net-mobile .nm-center{background:var(--gold);color:var(--navy);font-weight:700;border-color:var(--gold);font-size:16px}
  .net-mobile .nm-line{width:2px;height:18px;background:var(--gold);align-self:center;margin:2px 0}
  @media(max-width:640px){
    .net-svg{display:none}
    .net-mobile{display:flex;flex-direction:column;gap:10px;align-items:stretch;margin-top:6px}
  }
  .net-gates{display:flex;justify-content:center;gap:0;margin-top:40px;flex-wrap:wrap}
  .gate{text-align:center;padding:0 32px;position:relative}
  .gate:not(:last-child)::after{content:"→";position:absolute;right:-6px;top:4px;color:var(--gold);font-size:18px}
  .gate .g-code{font-family:"Aptos","Noto Sans TC",sans-serif;font-size:24px;color:var(--gold);font-weight:700;letter-spacing:.04em}
  .gate .g-label{font-size:13.5px;color:var(--muted-on-dark);margin-top:5px}
  .net-note{margin-top:42px;padding-top:26px;border-top:1px solid var(--line-dark);color:var(--muted-on-dark);font-size:15px;max-width:62ch}
  .net-note b{color:var(--gold);font-weight:600}

  /* ---------- TRACK ---------- */
  .track-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .case{border:1px solid var(--line);border-radius:6px;background:var(--paper);overflow:hidden}
  .case-top{background:var(--navy);color:#fff;padding:15px 22px;font-size:13px;letter-spacing:.04em;font-weight:600;display:flex;justify-content:space-between;align-items:center}
  .case-top .tag{color:var(--gold)}
  .case-body{padding:24px 22px}
  .case-body .task{font-size:15px;color:var(--muted);margin-bottom:16px;min-height:44px}
  .case-body .result{font-family:"Aptos","Noto Sans TC",sans-serif;font-size:18px;color:var(--navy);font-weight:700}
  .track-foot{margin-top:26px;font-size:14px;color:var(--gray)}

  /* ---------- ABOUT ---------- */
  .about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:start}
  .about-grid p{color:var(--muted);font-size:16px;margin-bottom:18px;line-height:1.75}
  .about-grid p b{color:var(--navy);font-weight:700}
  .about-side{border-left:3px solid var(--gold);padding-left:24px}
  .about-side .k{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-ink);display:block;margin-bottom:5px;font-weight:600}
  .about-side .v{font-size:15px;color:var(--text);margin-bottom:22px;display:block}

  /* ---------- CONTACT ---------- */
  #contact{background:var(--navy-deep);color:#fff}
  #contact h2{color:#fff}
  #contact .lead{color:var(--muted-on-dark)}
  .contact-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start;margin-top:16px}
  .contact-left .big{font-family:"Aptos","Noto Sans TC",sans-serif;font-size:clamp(23px,3vw,32px);color:#fff;font-weight:700;line-height:1.3;max-width:16ch}
  .contact-left .small{color:var(--muted-on-dark);margin-top:20px;font-size:15px;max-width:34ch}
  .contact-left .tagline-dark{margin-top:26px;font-family:"Aptos","Noto Sans TC",sans-serif;font-weight:700;color:#fff;font-size:15px;display:flex;gap:12px;align-items:center}
  .contact-left .tagline-dark .sep{color:var(--gold)}
  .field{margin-bottom:20px}
  .field label{display:block;font-size:13px;color:var(--muted-on-dark);margin-bottom:8px;font-weight:500;letter-spacing:.02em}
  .field input,.field select,.field textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--line-dark);border-radius:3px;padding:13px 14px;color:#fff;font-family:inherit;font-size:15px;transition:border-color .2s}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
  .field select option{background:var(--navy-deep);color:#fff}
  .field textarea{resize:vertical;min-height:108px}
  .contact-form .btn-primary{background:var(--gold);color:var(--navy);width:100%;margin-top:4px}
  .contact-form .btn-primary:hover{background:#fff;color:var(--navy)}
  .form-note{margin-top:14px;font-size:13px;color:var(--muted-on-dark);letter-spacing:.02em}

  /* ---------- FOOTER ---------- */
  footer{background:var(--navy-deep);color:var(--muted-on-dark);border-top:1px solid var(--line-dark);padding:34px 0}
  .footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
  .footer-inner .fb{display:flex;align-items:center;gap:11px}
  .footer-inner .fb .txt{display:flex;flex-direction:column;line-height:1.1}
  .footer-inner .fb .en{font-family:"Aptos","Noto Sans TC",sans-serif;color:#fff;font-size:15px;font-weight:700}
  .footer-inner .fb .zh{font-size:12px;color:var(--muted-on-dark)}
  .footer-inner .copy{font-size:12px;letter-spacing:.03em}

  /* ---------- REVEAL ---------- */
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}

  /* ---------- RESPONSIVE ---------- */
  @media(max-width:860px){
    .nav-links{position:fixed;top:68px;left:0;right:0;background:var(--paper);flex-direction:column;align-items:flex-start;gap:0;padding:0 28px;border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .3s}
    .nav-links.open{max-height:440px;padding:12px 28px 20px}
    .nav-links a{padding:12px 0;width:100%;border-bottom:1px solid var(--line)}
    .nav-links .lang-toggle{margin-top:14px}
    .hamburger{display:flex}
    .values-grid{grid-template-columns:1fr 1fr}
    .value:nth-child(2){border-right:none}
    .value:nth-child(1),.value:nth-child(2){border-bottom:1px solid var(--line-dark)}
    .svc-grid{grid-template-columns:1fr}
    .svc{border-right:none!important}
    .svc:nth-child(3){border-bottom:1px solid var(--line)}
    .dom-grid,.track-grid,.about-grid,.contact-wrap{grid-template-columns:1fr;gap:24px}
    .about-side{border-left:none;border-top:3px solid var(--gold);padding-left:0;padding-top:20px}
    section{padding:72px 0}
    .hero{padding:120px 0 0}
  }
  @media(prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none;transition:none}
    .draw{stroke-dashoffset:0!important}
    html{scroll-behavior:auto}
  }

.hero{--hero-img:url("images/hero-bg.jpg")}
