:root{
  --blue:#0b64d8;
  --blue-2:#0f8aea;
  --navy:#062654;
  --ink:#0c2547;
  --muted:#5b708a;
  --line:#d9e8f7;
  --ice:#f3f9ff;
  --pale:#eef7ff;
  --green:#48a949;
  --orange:#ff8a00;
  --white:#fff;
  --shadow:0 20px 54px rgba(6,51,104,.13);
  --soft:0 10px 28px rgba(6,51,104,.09);
  --container:1540px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Noto Sans TC","Microsoft JhengHei",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:linear-gradient(180deg,#fff 0%,#f5faff 45%,#fff 100%);
  line-height:1.65;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-header{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(188,213,238,.7);
}
.header-top{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:12px clamp(22px,3.3vw,58px);
}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.brand img{height:44px;width:auto;object-fit:contain}
.brand span{font-size:11px;color:#6f8196;letter-spacing:.02em;margin-left:2px}
.top-actions{display:flex;align-items:center;gap:18px}
.lang-switch{
  border:0;background:transparent;color:var(--ink);
  display:flex;align-items:center;gap:8px;font-weight:900;font-size:15px;cursor:pointer;
}
.lang-switch svg{width:21px;height:21px;color:#113866}.lang-switch em{font-style:normal;color:#8aa0b9}
.inquiry-btn{
  height:48px;padding:0 26px;border-radius:7px;
  background:linear-gradient(135deg,#0a4fbd,#0f81ef);
  color:#fff;display:inline-flex;align-items:center;gap:13px;
  font-weight:950;box-shadow:0 12px 28px rgba(10,101,216,.22);
  transition:.22s;
}
.inquiry-btn:hover{transform:translateY(-2px)}
.inquiry-btn i,.btn i{font-style:normal}
.nav-strip{
  height:52px;display:grid;grid-template-columns:62px repeat(6,1fr);
  align-items:center;border-top:1px solid #e4eef8;border-bottom:2px solid var(--blue);
  background:linear-gradient(180deg,#fff,#fbfdff);
}
.home-tab{
  height:52px;display:grid;place-items:center;background:#0a4fbd;color:#fff;border-right:1px solid #0a4fbd;
}
.home-tab svg{width:22px;height:22px}
.nav-item{
  position:relative;height:52px;padding:0 16px;display:flex;align-items:center;justify-content:center;gap:12px;
  color:#102f57;font-weight:950;font-size:15px;border-right:1px solid #d6e4f2;white-space:nowrap;
}
.nav-item:before{content:"";width:21px;height:21px;background:center/contain no-repeat;opacity:.86}
.nav-item[data-icon="building"]:before{background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 21h16M7 21V5l10-2v18M9 8h2M9 12h2M9 16h2M14 8h2M14 12h2M14 16h2' stroke='%230b64d8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.nav-item[data-icon="box"]:before{background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3 4 7v10l8 4 8-4V7l-8-4Z' stroke='%230b64d8' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M4 7l8 4 8-4M12 11v10' stroke='%230b64d8' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.nav-item[data-icon="gear"]:before{background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z' stroke='%230b64d8' stroke-width='1.8'/%3E%3Cpath d='M4.9 12H3m18 0h-1.9M12 3v1.9m0 14.2V21M5.6 5.6 7 7m10 10 1.4 1.4M18.4 5.6 17 7M7 17l-1.4 1.4' stroke='%230b64d8' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.nav-item[data-icon="globe"]:before{background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='9' stroke='%230b64d8' stroke-width='1.8'/%3E%3Cpath d='M3 12h18M12 3c2 2.4 3 5.4 3 9s-1 6.6-3 9M12 3c-2 2.4-3 5.4-3 9s1 6.6 3 9' stroke='%230b64d8' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.nav-item[data-icon="news"]:before{background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 4h12a2 2 0 0 1 2 2v14H7a2 2 0 0 1-2-2V4Z' stroke='%230b64d8' stroke-width='1.8'/%3E%3Cpath d='M8 8h8M8 12h8M8 16h5' stroke='%230b64d8' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.nav-item[data-icon="mail"]:before{background-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' stroke='%230b64d8' stroke-width='1.8'/%3E%3Cpath d='m4 7 8 6 8-6' stroke='%230b64d8' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.nav-item.active:after,.nav-item:hover:after{
  content:"";position:absolute;left:14%;right:14%;bottom:-2px;height:3px;border-radius:99px;background:var(--blue);
}
.menu-toggle{display:none;border:0;background:#eef7ff;border-radius:10px;width:44px;height:40px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:21px;height:2px;background:var(--navy);border-radius:99px}
.hero{
  width:min(var(--container),calc(100% - 70px));margin:24px auto 24px;
  display:grid;grid-template-columns:minmax(360px,410px) minmax(0,1fr);gap:28px;align-items:start;
}
.hero-copy{padding:24px 0 16px;position:relative}
.hero-copy:before{
  content:"";position:absolute;left:-62px;top:20px;bottom:20px;width:15px;border-radius:99px;
  background:linear-gradient(180deg,#0b64d8,#69bfff);
}
.eyebrow{display:flex;align-items:center;gap:15px;margin:0 0 20px;color:var(--blue);font-weight:1000;letter-spacing:.08em;font-size:14px}
.eyebrow span{width:22px;height:3px;border-radius:99px;background:var(--orange)}
.hero h1{font-size:clamp(34px,3.3vw,50px);line-height:1.14;letter-spacing:-.035em;margin:0 0 16px;font-weight:1000;color:#071f45}
.hero-lead{font-size:16px;color:#344b67;font-weight:700;margin:0 0 22px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}
.btn{height:46px;padding:0 24px;border-radius:8px;display:inline-flex;align-items:center;gap:12px;font-weight:950;transition:.2s}
.btn-primary{background:linear-gradient(135deg,#0a55c9,#0e89ee);color:#fff;box-shadow:0 12px 30px rgba(10,101,216,.22)}
.btn-outline{background:#fff;color:var(--blue);border:1px solid #9bc4ef}
.btn:hover{transform:translateY(-2px)}
.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}
.trust-strip article{display:grid;gap:5px;justify-items:center;text-align:center;color:#57708d}
.trust-strip svg{width:31px;height:31px;color:#4f78b4}.trust-strip b{font-size:13px;color:#274766}.trust-strip small{font-size:12px}
.hero-stage{
  display:grid;grid-template-columns:minmax(0,1fr) 286px;grid-template-rows:1fr auto;gap:14px;align-items:start;
}
.hero-main-photo{
  grid-column:1;grid-row:1 / span 2;
  min-height:0;aspect-ratio:1.1/0.92;max-height:510px;
  border-radius:18px;overflow:hidden;background:#eaf5ff;margin:0;box-shadow:var(--shadow);position:relative;
}
.hero-main-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.18),transparent 50%);z-index:1}
.hero-main-photo img{width:100%;height:100%;object-fit:cover;object-position:center center}
.category-rail{grid-column:2;grid-row:1;display:grid;gap:10px;align-content:start}
.rail-card{
  min-height:72px;border:1px solid #dce9f6;border-radius:14px;background:#fff;box-shadow:var(--soft);
  display:grid;grid-template-columns:50px 1fr 18px;align-items:center;gap:12px;padding:12px 16px;color:#18385e;transition:.2s;
}
.rail-card:hover{transform:translateX(-4px)}
.rail-card svg{width:34px;height:34px}.rail-card h3{margin:0;font-size:15px;line-height:1.35}.rail-card span{font-size:22px;color:#7590ad}.rail-card:nth-child(2) svg{color:var(--green)}.rail-card:nth-child(3) svg{color:var(--orange)}
.detail-card{grid-column:2;grid-row:2;margin:0;border:1px solid #dce9f6;border-radius:18px;background:#fff;overflow:hidden;box-shadow:var(--soft)}
.detail-card img{height:126px;width:100%;object-fit:cover}
.detail-card div{padding:16px}.detail-card h3{margin:0 0 6px;font-size:17px;line-height:1.35}.detail-card p{margin:0 0 10px;color:#58708d;font-weight:650;font-size:14px;line-height:1.55}.detail-card a{color:var(--blue);font-weight:1000;font-size:14px}
.section{width:min(var(--container),calc(100% - 70px));margin:0 auto 24px}
.products-section,.news-panel,.global-panel,.technology-strip{
  background:#fff;border:1px solid #dbe8f6;border-radius:16px;box-shadow:var(--soft)
}
.products-section{padding:22px 24px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.section-head>div{display:flex;align-items:center;gap:10px}.mark{width:5px;height:24px;border-radius:99px;background:linear-gradient(180deg,var(--blue),var(--blue-2))}
.section h2{margin:0;font-size:24px;font-weight:1000;line-height:1.25}.text-link{color:var(--blue);font-weight:950;font-size:14px}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.product-card{min-height:138px;border:1px solid #dce9f6;border-radius:15px;overflow:hidden;background:#fff;display:grid;grid-template-columns:1.08fr 1fr;box-shadow:0 10px 22px rgba(6,51,104,.07);transition:.2s}
.product-card:hover{transform:translateY(-3px)}
.product-card img{height:100%;min-height:138px;width:100%;object-fit:cover}
.product-card-body{padding:18px;display:flex;flex-direction:column;justify-content:center;position:relative}
.product-card h3{margin:0 0 5px;font-size:18px;font-weight:1000}.product-card p{margin:0;color:#5d738d;font-weight:650;font-size:13px;line-height:1.45}
.product-arrow{position:absolute;right:16px;bottom:14px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:1000}
.product-card:nth-child(2){border-left:4px solid var(--green)}.product-card:nth-child(2) h3{color:var(--green)}.product-card:nth-child(2) .product-arrow{background:var(--green)}
.product-card:nth-child(3){border-left:4px solid var(--orange)}.product-card:nth-child(3) h3{color:var(--orange)}.product-card:nth-child(3) .product-arrow{background:var(--orange)}
.content-grid{display:grid;grid-template-columns:.88fr 1.35fr;gap:24px}
.news-panel,.global-panel{padding:22px}
.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.news-card{border:1px solid #dce9f6;border-radius:12px;overflow:hidden;background:#fff;min-height:196px;box-shadow:0 8px 18px rgba(6,51,104,.06)}
.news-card img{height:95px;width:100%;object-fit:cover}.news-card div{padding:12px}.news-card time{font-size:12px;color:#7990aa}.news-card h3{font-size:15px;line-height:1.35;margin:4px 0 6px}.news-card p{font-size:12px;color:#607793;margin:0}
.map-illustration{height:172px;width:100%;object-fit:contain;margin:2px 0 10px}
.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.location-card{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center;border:1px solid #dce9f6;border-radius:16px;padding:12px;background:#fff;box-shadow:0 8px 18px rgba(6,51,104,.06)}
.location-card img{width:76px;height:76px;border-radius:50%;object-fit:cover}.location-card h3{margin:0 0 2px;font-size:17px}.location-card p{margin:0;color:#58708d;font-size:13px;font-weight:700}
.technology-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 24px;gap:16px}
.technology-strip article{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:center;border-right:1px solid #e0eaf4}
.technology-strip article:last-child{border-right:0}.technology-strip svg{grid-row:1/3;width:38px;height:38px;color:#2468bd}.technology-strip b{font-size:16px}.technology-strip span{color:#607793;font-size:13px}
.site-footer{width:min(var(--container),calc(100% - 70px));margin:0 auto}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#0a4fbd,#0e89ee);color:#fff;padding:24px 30px;border-radius:18px 18px 0 0}.footer-main h2{font-size:24px;margin:0 0 4px}.footer-main p{margin:0;color:#dcefff}
.inquiry-btn.light{background:#fff;color:var(--blue);box-shadow:none}.contact-list{display:flex;gap:28px;flex-wrap:wrap;padding:18px 26px;background:#fff;border-left:1px solid #dce9f6;border-right:1px solid #dce9f6;font-weight:800}.contact-list b{color:var(--blue);margin-right:6px}
.footer-bottom{display:flex;justify-content:space-between;gap:18px;background:#062654;color:#dbeaff;padding:14px 26px;border-radius:0 0 12px 12px;font-size:13px;margin-bottom:0}
.reveal{opacity:0;transform:translateY(14px);animation:fadeUp .65s ease forwards}.delay-1{animation-delay:.12s}@keyframes fadeUp{to{opacity:1;transform:none}}
@media (max-width:1180px){
  .nav-strip{display:none;position:absolute;left:16px;right:16px;top:72px;height:auto;grid-template-columns:1fr;border:1px solid #dce9f6;border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
  .nav-strip.open{display:grid}.home-tab{height:48px}.nav-item{justify-content:flex-start;height:48px}.menu-toggle{display:flex}
  .hero{grid-template-columns:1fr}.hero-stage{grid-template-columns:1fr;grid-template-rows:auto}.hero-main-photo,.category-rail,.detail-card{grid-column:auto;grid-row:auto}.category-rail{grid-template-columns:repeat(2,1fr)}.detail-card{display:grid;grid-template-columns:280px 1fr}.detail-card img{height:100%}
  .product-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .header-top{min-height:70px;padding:12px 16px}.brand img{height:38px}.brand span{display:none}.lang-switch{font-size:13px}.inquiry-btn{display:none}.hero,.section,.site-footer{width:calc(100% - 28px)}.hero{margin-top:18px}.hero-copy{padding-top:22px}.hero h1{font-size:34px}.trust-strip,.category-rail,.product-grid,.news-grid,.location-grid,.technology-strip{grid-template-columns:1fr}.detail-card{display:block}.detail-card img{height:190px}.product-card{grid-template-columns:1fr}.product-card img{height:145px}.technology-strip article{border-right:0;border-bottom:1px solid #e0eaf4;padding-bottom:12px}.technology-strip article:last-child{border-bottom:0}.footer-main,.footer-bottom{flex-direction:column;align-items:flex-start}.contact-list{gap:12px}
}


/* === 2026-05 compact aligned hero fix ===
   Purpose: make the hero area sit below the two-tier navigation, reduce the main photo size,
   and align the left copy, center image, and right product list cleanly in a desktop view.
*/
.site-header{
  position:relative;
}

@media (min-width:1181px){
  .hero{
    margin:34px auto 30px;
    grid-template-columns:minmax(390px,440px) minmax(0,1fr);
    gap:34px;
    align-items:start;
  }

  .hero-copy{
    padding:34px 0 16px;
  }

  .hero-copy:before{
    top:34px;
    bottom:18px;
  }

  .eyebrow{
    margin-bottom:18px;
  }

  .hero h1{
    max-width:440px;
    font-size:clamp(34px,2.7vw,44px);
    line-height:1.16;
    letter-spacing:-.03em;
    word-break:keep-all;
    overflow-wrap:normal;
    margin-bottom:18px;
  }

  .hero-lead{
    max-width:430px;
    font-size:16px;
    line-height:1.68;
    margin-bottom:24px;
  }

  .hero-actions{
    margin-bottom:30px;
  }

  .trust-strip{
    max-width:420px;
    margin-top:20px;
    gap:10px;
  }

  .hero-stage{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    grid-template-rows:auto;
    gap:22px;
    align-items:start;
    min-height:0;
  }

  .hero-main-photo{
    grid-column:1;
    grid-row:1;
    width:100%;
    height:auto;
    min-height:0;
    max-height:420px;
    aspect-ratio:1.48 / 1;
    align-self:start;
    border-radius:18px;
  }

  .hero-main-photo img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
  }

  .category-rail{
    grid-column:2;
    grid-row:1;
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    align-content:start;
    align-self:start;
  }

  .rail-card{
    min-height:84px;
    grid-template-columns:52px 1fr 18px;
    padding:14px 18px;
  }

  .rail-card svg{
    width:36px;
    height:36px;
  }

  .rail-card h3{
    font-size:16px;
    line-height:1.35;
  }

  .detail-card{
    display:none;
  }
}

/* === 2026-05 hero realign v2 ===
   Final desktop alignment pass:
   - keep the hero visually compact
   - use a clean replacement pickup photo
   - align the left copy, center image and right product rail more cleanly
*/
@media (min-width:1181px){
  .hero{
    margin:28px auto 28px;
    grid-template-columns:minmax(390px,430px) minmax(0,1fr);
    gap:38px;
    align-items:start;
  }

  .hero-copy{
    padding:24px 0 10px;
    align-self:start;
  }

  .hero-copy:before{
    top:18px;
    bottom:8px;
  }

  .hero h1{
    max-width:400px;
    font-size:clamp(32px,2.5vw,42px);
    line-height:1.18;
    margin-bottom:16px;
  }

  .hero-lead{
    max-width:400px;
    font-size:15px;
    line-height:1.72;
    margin-bottom:22px;
  }

  .hero-actions{
    margin-bottom:24px;
  }

  .trust-strip{
    max-width:398px;
    gap:8px;
    margin-top:18px;
  }

  .hero-stage{
    grid-template-columns:minmax(0,760px) 286px;
    gap:18px;
    align-items:start;
    justify-content:start;
  }

  .hero-main-photo{
    grid-column:1;
    grid-row:1;
    width:100%;
    max-width:760px;
    max-height:410px;
    aspect-ratio:1.48 / 1;
    min-height:0;
    margin:0;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 18px 42px rgba(6,51,104,.11);
  }

  .hero-main-photo::before{
    background:linear-gradient(90deg,rgba(255,255,255,.1),rgba(255,255,255,0) 42%);
  }

  .hero-main-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }

  .category-rail{
    grid-column:2;
    grid-row:1;
    gap:12px;
    align-self:start;
  }

  .rail-card{
    min-height:78px;
    padding:14px 16px;
    border-radius:16px;
  }

  .rail-card h3{
    font-size:15px;
  }

  .detail-card{
    display:none;
  }
}


/* === 2026-05 final polish pass ===
   User feedback fixes:
   - replace low-grade pickup with a cleaner hero image
   - align the right hero column with the main image
   - refine the global service map and location cards
*/
@media (min-width:1181px){
  .hero{
    align-items:start;
    margin:28px auto 26px;
  }

  .hero-stage{
    display:grid;
    grid-template-columns:minmax(0,760px) 292px;
    grid-template-rows:auto auto;
    gap:16px 18px;
    align-items:start;
  }

  .hero-main-photo{
    grid-column:1;
    grid-row:1 / span 2;
    width:100%;
    max-width:760px;
    height:468px;
    max-height:none;
    aspect-ratio:auto;
    border-radius:20px;
    overflow:hidden;
    background:#eef4fb;
  }

  .hero-main-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }

  .category-rail{
    grid-column:2;
    grid-row:1;
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    align-content:start;
    align-self:start;
  }

  .rail-card{
    min-height:80px;
    padding:16px 18px;
    border-radius:18px;
  }

  .rail-card svg{
    width:38px;
    height:38px;
  }

  .rail-card h3{
    font-size:16px;
  }

  .detail-card{
    grid-column:2;
    grid-row:2;
    display:grid;
    grid-template-columns:86px 1fr;
    align-items:center;
    align-self:start;
    gap:0;
    border-radius:18px;
    overflow:hidden;
    min-height:96px;
    box-shadow:0 14px 28px rgba(6,51,104,.10);
  }

  .detail-card img{
    height:96px;
    width:86px;
    object-fit:cover;
  }

  .detail-card div{
    padding:12px 14px 12px 14px;
  }

  .detail-card h3{
    font-size:15px;
    margin:0 0 4px;
  }

  .detail-card p{
    font-size:13px;
    margin:0 0 6px;
    line-height:1.45;
  }

  .detail-card a{
    font-size:13px;
  }
}

.map-illustration{
  height:196px;
  width:100%;
  object-fit:contain;
  margin:4px 0 16px;
  border:1px solid #e2edf8;
  border-radius:24px;
  background:linear-gradient(180deg,#f8fbff,#eef5ff);
}

.location-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
}

.location-card{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:14px;
  align-items:center;
  border:1px solid #dce9f6;
  border-radius:18px;
  padding:14px;
  min-height:132px;
  background:#fff;
  box-shadow:0 10px 22px rgba(6,51,104,.06);
}

.location-card img{
  width:96px;
  height:96px;
  border-radius:18px;
  object-fit:cover;
  border:1px solid #e3edf8;
}

.location-card h3{
  margin:0 0 6px;
  font-size:17px;
  line-height:1.25;
}

.location-card p{
  margin:0;
  color:#58708d;
  font-size:14px;
  font-weight:700;
  line-height:1.55;
}

@media (max-width:720px){
  .location-card{
    grid-template-columns:82px 1fr;
    min-height:0;
  }
  .location-card img{
    width:82px;
    height:82px;
    border-radius:16px;
  }
}

/* === 2026-05 global service section redesign ===
   Full replacement for the previous map + image cards.
   Goal: cleaner, more premium, CMS-friendly section with a refined unfolded-globe visual
   and compact service cards without awkward small images.
*/
.global-panel{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);
}
.global-panel::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:160px;
  background:radial-gradient(circle at top right, rgba(42,124,239,.08), transparent 54%);
  pointer-events:none;
}
.global-intro{
  margin:0 0 14px;
  max-width:760px;
  color:#607793;
  font-size:14px;
  line-height:1.75;
  font-weight:700;
}
.map-illustration{
  display:block;
  width:100%;
  height:auto;
  margin:0 0 18px;
  border:1px solid #dbe7f5;
  border-radius:22px;
  background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.location-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.location-card{
  min-height:168px;
  grid-template-columns:82px 1fr;
  gap:16px;
  align-items:center;
  padding:18px;
  border-radius:20px;
  border:1px solid #dbe7f5;
  background:linear-gradient(180deg,#fff 0%, #fafdff 100%);
  box-shadow:0 14px 26px rgba(9,53,110,.05);
}
.location-thumb{
  width:82px;
  height:82px;
  border-radius:22px;
  position:relative;
  display:grid;
  place-items:center;
  border:1px solid #dbe7f5;
  background:linear-gradient(160deg,#eff6ff 0%, #ffffff 100%);
  overflow:hidden;
}
.location-thumb::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:18px;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.95), rgba(255,255,255,.25));
}
.location-thumb svg{
  width:54px;
  height:54px;
  position:relative;
  z-index:1;
}
.location-thumb .pin,
.location-thumb .dot,
.location-thumb .line{
  fill:none;
  stroke:currentColor;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.location-thumb .pin{fill:currentColor;stroke:none;opacity:.14}
.location-thumb .dot{fill:#fff;stroke:currentColor}
.location-code{
  position:absolute;
  top:8px;
  right:8px;
  z-index:2;
  min-width:26px;
  height:26px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(31,82,145,.10);
  box-shadow:0 6px 12px rgba(8,45,95,.08);
  color:#29578f;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.location-meta{display:flex;flex-direction:column;gap:6px}
.location-detail{
  display:inline-flex;
  align-self:flex-start;
  padding:5px 10px;
  border-radius:999px;
  background:#f3f8ff;
  color:#5e7ea7;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.location-card h3{
  margin:0;
  font-size:28px;
  line-height:1;
  font-weight:1000;
  letter-spacing:-.02em;
  color:#0a3268;
}
.location-card p{
  margin:0;
  font-size:14px;
  line-height:1.7;
  font-weight:700;
  color:#607793;
}
.location-card.accent-blue .location-thumb{color:#2168e8;background:linear-gradient(160deg,#eef5ff,#fff)}
.location-card.accent-green .location-thumb{color:#34a853;background:linear-gradient(160deg,#effaf2,#fff)}
.location-card.accent-orange .location-thumb{color:#fb8c00;background:linear-gradient(160deg,#fff6eb,#fff)}
.location-card.accent-blue .location-detail{background:#eef5ff;color:#2168e8}
.location-card.accent-green .location-detail{background:#eefaf1;color:#2f9b4d}
.location-card.accent-orange .location-detail{background:#fff5e8;color:#e78500}
.location-card.accent-blue{border-top:4px solid #2f7df4}
.location-card.accent-green{border-top:4px solid #4cb36a}
.location-card.accent-orange{border-top:4px solid #ff9b2f}

@media (max-width:1180px){
  .location-card h3{font-size:24px}
}

@media (max-width:720px){
  .global-intro{font-size:13px;line-height:1.65}
  .location-grid{grid-template-columns:1fr}
  .location-card{
    grid-template-columns:74px 1fr;
    min-height:0;
    padding:16px;
    gap:14px;
  }
  .location-thumb{width:74px;height:74px;border-radius:20px}
  .location-thumb svg{width:48px;height:48px}
  .location-card h3{font-size:24px}
  .location-card p{font-size:13px;line-height:1.6}
}

/* Final global map image replacement */
.global-panel .map-illustration{
  display:block;
  width:100%;
  height:auto;
  max-height:360px;
  object-fit:contain;
  object-position:center;
  margin:0 0 18px;
  border:1px solid #dbe7f5;
  border-radius:22px;
  background:linear-gradient(180deg,#fbfdff 0%,#f1f7ff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75), 0 12px 26px rgba(8,48,104,.06);
}
@media (max-width:720px){
  .global-panel .map-illustration{
    max-height:none;
    border-radius:18px;
  }
}

/* === 2026-05 hero card bottom alignment fix ===
   User request: keep current hero style, but make the right-side hero cards
   align more cleanly and ensure the bottom card sits flush with the main hero image.
*/
@media (min-width:1181px){
  .hero{
    align-items:start;
  }

  .hero-stage{
    grid-template-columns:minmax(0,760px) 320px;
    grid-template-rows:1fr auto;
    gap:18px 20px;
    align-items:stretch;
    min-height:560px;
  }

  .hero-main-photo{
    grid-column:1;
    grid-row:1 / span 2;
    height:560px;
    max-width:none;
    border-radius:22px;
  }

  .category-rail{
    grid-column:2;
    grid-row:1;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:repeat(4, minmax(0,1fr));
    gap:14px;
    align-self:stretch;
    min-height:0;
  }

  .rail-card{
    min-height:0;
    height:100%;
    display:grid;
    grid-template-columns:52px 1fr 18px;
    align-items:center;
    padding:16px 18px;
    border-radius:18px;
  }

  .detail-card{
    grid-column:2;
    grid-row:2;
    display:grid;
    grid-template-columns:92px 1fr;
    align-items:center;
    min-height:114px;
    width:100%;
    align-self:end;
    margin-top:0;
  }

  .detail-card img{
    width:92px;
    height:114px;
  }

  .detail-card div{
    padding:14px 16px;
  }
}

/* === 2026-05 hero compact alignment pass ===
   User request: reduce the visual height of the right hero block
   and align its bottom edge closer to the left content block.
*/
@media (min-width:1181px){
  .hero{
    align-items:start;
  }

  .hero-stage{
    grid-template-columns:minmax(0,760px) 320px;
    grid-template-rows:1fr auto;
    gap:14px 20px;
    align-items:stretch;
    min-height:500px;
  }

  .hero-main-photo{
    height:500px;
    border-radius:22px;
  }

  .category-rail{
    gap:12px;
  }

  .rail-card{
    padding:14px 18px;
    border-radius:18px;
  }

  .detail-card{
    min-height:98px;
    border-radius:18px;
  }

  .detail-card img{
    width:88px;
    height:98px;
  }

  .detail-card div{
    padding:12px 14px;
  }

  .detail-card h3{
    font-size:14px;
    margin:0 0 4px;
  }

  .detail-card p{
    font-size:12px;
    margin:0 0 6px;
    line-height:1.45;
  }

  .detail-card a{
    font-size:12px;
  }
}

/* Security-hardened PHP version additions */
.page-hero{width:min(var(--container),calc(100% - 70px));margin:30px auto 20px;padding:48px;border-radius:24px;background:linear-gradient(135deg,#eff8ff,#fff);box-shadow:var(--soft);border:1px solid #dcecff}
.page-hero h1{margin:0 0 12px;font-size:clamp(32px,3vw,48px);line-height:1.15;color:#071f45}
.page-hero p{max-width:820px;margin:0;color:#435b78;font-weight:700}.page-content{width:min(var(--container),calc(100% - 70px));margin:24px auto 64px}.simple-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.form-card{background:#fff;border:1px solid #dbeaf8;border-radius:20px;padding:28px;box-shadow:var(--soft)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}.form-card label{display:grid;gap:8px;font-weight:900;color:#183b66}.form-card input,.form-card textarea,.form-card select{width:100%;border:1px solid #cfe0f1;border-radius:12px;padding:12px 14px;font:inherit;background:#fbfdff}.form-card textarea{min-height:150px;resize:vertical}.notice{border-radius:12px;padding:13px 16px;margin:0 0 16px;font-weight:900}.notice.ok{background:#e9f9ef;color:#176532}.notice.err{background:#fff0f0;color:#a51d1d}.hp-field{position:absolute;left:-9999px;opacity:0}.product-detail-card{background:#fff;border:1px solid #dce9f6;border-radius:20px;overflow:hidden;box-shadow:var(--soft)}.product-detail-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.product-detail-card div{padding:20px}.product-detail-card h3{margin:0 0 8px;color:#071f45}.product-detail-card p{margin:0;color:#516984}.news-list{display:grid;gap:18px}.news-row{display:grid;grid-template-columns:260px 1fr;gap:20px;background:#fff;border:1px solid #dce9f6;border-radius:20px;overflow:hidden;box-shadow:var(--soft)}.news-row img{width:100%;height:100%;min-height:180px;object-fit:cover}.news-row div{padding:22px}.news-row time{display:block;color:var(--blue);font-weight:900;margin-bottom:7px}.news-row h3{margin:0 0 8px;color:#071f45}.news-row p{margin:0;color:#516984}.contact-columns{display:grid;grid-template-columns:1fr 1.15fr;gap:24px}.contact-info{display:grid;gap:14px}.contact-info article{background:#fff;border:1px solid #dce9f6;border-radius:18px;padding:20px;box-shadow:var(--soft)}.contact-info b{display:block;color:#071f45;margin-bottom:4px}.contact-info span{color:#536c89}.admin-link-hidden{display:none}
@media (max-width: 900px){.simple-grid{grid-template-columns:1fr}.news-row{grid-template-columns:1fr}.contact-columns{grid-template-columns:1fr}.page-hero,.page-content{width:min(100% - 32px,var(--container));padding:26px}.form-grid{grid-template-columns:1fr}}
