/* ========== Base / Reset ========== */
html { scroll-behavior: smooth; overflow-y: scroll; }
html, body { max-width: 100%; overflow-x: hidden; }
* { box-sizing: border-box; }

body {
  font-family: Calibri,"Microsoft JhengHei","微軟正黑體",sans-serif !important;
  background-position: center;
  justify-content: center;
}

header{ position: relative; padding: 0 2rem; }

/* ========== Navbar（不變動結構）========== */
.navbar { width: 100%; z-index: 1; background:#fff; display:flex; align-items:center; justify-content:right; }
.navbar-brand { font-family: 'Ubuntu', sans-serif; font-size: 2em; font-weight: bold; }
.nav-link { font-size: .8rem;   font-family: 'Microsoft JhengHei', '微軟正黑體', sans-serif; color:#000; }
.navbar-nav a.nav-link:hover { color:#00afd0 !important; }

#navbar{ height:90px; transition:1s; display:flex; align-items:center; gap:22%; }
#navbar.active{ height:70px; gap:24.5%; transition:1s; }
#navbar .title-image{ width:202px; height:53px; transition:.5s; }
#navbar.active .title-image{ width:166px; height:44px; }

#navbar ul{ display:flex; margin-right:5%; margin-left:0 !important; }
#navbar ul li{ list-style:none; width:120px;text-align: center; }
#navbar ul li a{ margin:0 8px; font-size:18px; text-decoration:none; font-weight:bold; padding:5px 0; }

#navbar .nav-item.dropdown:hover .dropdown-menu{ display:block; margin-top:0; transition:.6s; font-size:18px; min-width:8rem; }
#navbar .dropdown-item:hover{  color:#00afd0; background-color: transparent;}

.underline{ position:relative; transition:2s; }
.underline::before{ content:""; position:absolute; top:0; left:50%; width:0; height:2px; background:#00afd0; transition:.6s; }
.underline:hover::before{ width:100%; left:0; }
.underline:hover{ border-radius:3px; }

.flag-icon{
  width:18px; height:18px; 
  object-fit:cover;
  border-radius:2px;
  display:inline-block; 
}

/* ========== Intro ========== */

.intro_es_title{
  font-weight: 900;
  color: #000;
  font-size: clamp(2.8rem, 5vw, 5.5rem);
  line-height: 1.05;
  margin: 10% 0 12px 0;
}

.intro_es_content{
  font-weight: 600;
  color: #807f7f;
  font-size: 1.5rem;
  line-height: 1.5;
  margin: 0;
}


.intro_es_verify{
  font-weight: 900;
  color: #00afd0;
  font-size: 1.5rem;
  line-height: 2;
  margin: 0 0 6px 0;
}

/* 容器 */
#intro{
  color: #fff;
  position: relative;
  min-height: 480px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 60px 0 20px 0;

}


.intro-content{
  display: flex;
  flex-direction: column;
  align-items: center;
  /*width: 90%;
  max-width: 1100px;*/
  gap: 10px;
  padding-top: 10px;
  box-sizing: border-box;
}


.intro-text{
  width: 100%;
  text-align: center;
  padding: 0 16px;
}


.intro-image{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 0 24px 0;
  box-sizing: border-box;
}

.intro-image img{
  display: block;
  width: 100%;
  /*max-width: 520px;*/
  height: auto;
  object-fit: contain;


}

/* 字體大小與行高調整（響應式） */
.intro_us_verify{
  font-weight: 900;
  color: #00afd0;
  font-size: 1rem;   /* 調小一點，避免太大 */
  line-height: 2;
  margin: 0 0 6px 0;
}

.intro_us_title{
  font-weight: 900;
  color: #000;
  font-size: clamp(2.8rem, 5vw, 5.5rem); /* 響應式大小 */
  line-height: 1.05;
  margin: 6% 0 12px 0;
}

.intro_us_content{
  font-weight: 600;
  color: #807f7f;
  font-size: 2rem;
  line-height: 1.5;
  margin: 0;
}

.intro-image1, .intro-image2{
  background: linear-gradient(#fff0 0%, #fff 100%);
}

   

/* 小螢幕額外微調（提高可讀性） */
@media (max-width: 480px) {
  #intro { padding: 32px 0; }
  .intro-content { gap: 16px; }
  .intro_us_title { font-size: 1.6rem; }
  .intro_us_content { font-size: 1rem; }
  .intro-image img { max-width: 320px; }
}


.reveal{ position:relative; transform:translateY(150px); opacity:0; transition:all .8s ease; }
.reveal.active{ transform:translateY(0); opacity:1; }

/* ========== Features ========== */
#features{ position:relative; padding:0px 0 100px 0; background:#fff; }

.feature-box{
  display:flex; max-width:100%; justify-content:center; align-items:center;
  position:sticky; top:120px;
}
.feature-img{ width:45%; margin:0; padding:0; text-align:right; }
.feature-img img{ width:55%; height:auto; object-fit:cover; padding-right:80px; }
.feature-content{ width:55%; margin:0; padding:0; }

.financeSuper img{ width:35%; height:auto; text-align:right; }

h3.heading-title, #feature-heading, h3.heading-title-service{
  font-family:"Microsoft JhengHei","微軟正黑體",sans-serif; font-weight:700; font-size:40px;
}
h3.heading-title{ padding-bottom:50px; }
#feature-heading, h3.heading-title-service{ padding-bottom:10px; }

.service-heading2{
  font-family:'Microsoft JhengHei',sans-serif; font-size:20px; font-weight:600; color:#00afd0; 
}

.service_verify{
  font-family:'Microsoft JhengHei',sans-serif; 
  font-weight: 900;
  font-size:20px;
  color: #00afd0;
  padding-bottom:30px;
}
#part-1,#part-2{
  font-family:'Microsoft JhengHei',sans-serif; font-size:16px; font-weight:700; color:#686464;
}
#part-1{ line-height:2.5; margin-bottom:50px; padding-right:140px; }
#part-2{ line-height:3; margin-bottom:45px; }
.timeline-item{ display:flex; flex-direction:row; }

.heading-title1{ text-align:center; padding:20px; font-weight:700; font-size:50px; padding-bottom:50px; }

/* ========== App Download / Partner ========== */
#download-picture{ padding-top:20px; display:flex; justify-content:center; align-items:flex-end; width:100%; }
.appledownload,.googlePlay{ width:120px; height:35px; margin-right:25px; }

#partner{ text-align:center; font-size:20px; padding:3% 0 5%;  position:relative; }
#partner .heading-title2{ padding:15px 0 5px; font-weight:700; font-size:40px; }
#partner .heading-content2{ font:600 20px 'Microsoft JhengHei',sans-serif; color:#00afd0; padding-bottom:30px; }
#partner p{ font:600 16px 'Microsoft JhengHei',sans-serif; color:#918d8d; }

.partner-1{
  background:#fff; display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:10px; justify-content:center; align-items:center; padding:2%;
  border-radius:18px; max-width:70%; margin:0 auto;
}
.partner-item img{ width:100%; max-width:200px; height:auto; object-fit:contain; margin:0 auto; }

/* ========== Join ========== */
#join{ text-align:center; font-size:20px; padding:3% 0 5%; background:#f2f5f7; }
#join .heading-title2{ padding:15px 0 5px; font-weight:700; font-size:40px; }
#join .heading-content2{ font:600 20px 'Microsoft JhengHei',sans-serif; color:#00afd0; padding-bottom:30px; }
#join p{ font:600 16px 'Microsoft JhengHei',sans-serif; color:#918d8d; }

.carousel-container{ position:relative; overflow:hidden; width:100%; max-width:75%; margin:auto; }
.carousel{ display:flex; transition:transform .5s ease-in-out; }

.join-content{
  display:flex; flex-direction:row; align-items:center; flex:0 0 25%;
  max-width:500px; box-sizing:border-box; text-align:center;
}
.join-content img{ width:100%; max-width:70px; height:auto; }
.join-word{ text-align:left; padding-left:15px; }
.join-word h5{ font-weight:700; font-size:20px; margin-bottom:5px; }
.join-word p{ font-size:10px; margin:0; }

.join-picture{ padding:30px 0; text-align:center; }
.join-picture img{ width:7%; height:auto; display:inline-block; }

.join-people,.join-employee{
  display:flex; flex-direction:row; justify-content:start; gap:30px; padding:20px 0;
}
.join-people img{ width:100%; max-width:70px; height:auto; flex:0 0 40%; }
.join-employee img{ max-width:22%; border-radius:15px; height:auto; }

button.prev,button.next{
  position:absolute; border:none; cursor:pointer; padding:10px; font-size:30px;
  z-index:1; display:flex; align-items:center; justify-content:center; height:50px;
}
button.prev{ left:8%; } button.next{ right:8%; }
.carousel-controls-job button:hover, .carousel-controls button:hover{ background:#00afd0; color:#fff; }
.carousel-controls .prev,.carousel-controls .next{ transform:translateY(190%); }

/* ========== Footer / Modal ========== */
#contact{ width:100%; position:relative; background:#00afd0; text-align:center; }
#contact .footer_content{ color:#fff; padding:20px 0 10px; }
#contact .footer-copyright{ color:#fff; padding-bottom:10px; }

.modal{
  display:none; position:fixed; z-index:1; inset:0; width:100%; height:100%;
  background:rgba(0,0,0,.5); border:none;
}
.modal iframe{
  display:block; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:33%; height:380px; border:none; background:#fff; border-radius:20px; border:#5a5c5e85 solid 5px;
}
.close{ position:absolute; right:20px; top:10px; font-size:30px; cursor:pointer; color:#fff; }

/* ========== News Carousel（統一）========== */
#investor.section{ padding:2.25rem; }
#join2.section{ padding:2.25rem; }
#concert.section{ padding:2.25rem; }
#digital.section{ padding:2.25rem; }
#ecom.section{ padding:2.25rem; }
#newinfo.section{ padding:2.25rem; }
#services.section{ padding:2.25rem; }
.news-layout{
  display:grid; gap:2rem; align-items:start; max-width:1440px; margin:0 auto; padding-left:4%;
  grid-template-columns:1fr;
}
@media (min-width:1024px){
  .news-layout{ grid-template-columns:minmax(360px,520px) 1fr; }
}

.news-info{ max-width:620px; }
.heading-title2{ margin:0 0 1.1rem; font-size:2.5rem; font-weight:800; letter-spacing:.2px; }
.heading-description{ color:#4b5563; line-height:2.05; font-size:1.2rem; }

.news-carousel{
  position:relative; width:100%; overflow:visible;
  --gap:1.75rem; --card-w:clamp(380px,70vw,450px); --card-h:clamp(380px,50vh,480px);
  --cards-per-view:1 !important;
}
.news-controls{ width:100%; display:flex; justify-content:center; align-items:center; margin-bottom:1rem; gap:1rem; }
.controls-left{ display:flex; gap:.6rem; align-items:center; }
.news-nav{
  position:static !important; transform:none !important; z-index:5;
  width:40px; height:44px; border-radius:4px; border:1px solid #e5e7eb;
  background:#00afd096; color:#111; box-shadow:0 8px 22px rgba(0,0,0,.08);
  cursor:pointer; font-size:24px; line-height:44px; text-align:center; user-select:none;
}
.news-nav:disabled{ opacity:.35; pointer-events:none; visibility:visible; }
.news-dots{ display:flex; gap:.75rem; align-items:center; }
.news-dot{ width:12px; height:12px; border-radius:999px; background:#e5e7eb; border:none; cursor:pointer; }
.news-dot[aria-selected="true"]{ background:#111827; }

.news-viewport{ overflow:hidden; width:100%; min-height:calc(var(--card-h) + 1.5rem); }
.news-track{ display:flex; gap:var(--gap); padding:.75rem; margin:0; list-style:none; will-change:transform; transition:transform .45s ease; }

.news-card{
  flex:0 0 var(--card-w); width:var(--card-w); height:var(--card-h);
  background:#fff; border:1px solid #e5e7eb; overflow:hidden; display:flex; flex-direction:column;
}
.news-card .thumb{ flex:0 0 50%; height:50%; background:#f3f4f6; overflow:hidden; }
.news-card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.news-card .news-body{ flex:0 0 50%; height:50%; padding:1.25rem 1.6rem; display:flex; flex-direction:column; overflow:hidden; text-align:left; }
.news-card .news-title{ margin:0 0 .6rem; font-size:1.45rem; line-height:1.25; font-weight:700; }
.news-card .news-content{ margin:0; color:#374151; font-size:1.1rem; line-height:1.65; }

/* Pin arrows（可選） */
.news-carousel.pin-arrows .news-nav.prev,
.news-carousel.pin-arrows .news-nav.next{ position:absolute !important; top:56px; }
.news-carousel.pin-arrows .news-nav.prev{ left:8px; }
.news-carousel.pin-arrows .news-nav.next{ right:8px; }

/* Stable 控制列（固定在上方） */
.news-carousel.stable{ position:relative; padding-top:56px; overflow:visible; }
.news-carousel.stable .news-controls{
  position:absolute; z-index:10; top:8px; left:0; right:0; height:40px;
  display:flex; align-items:center; justify-content:space-between; padding:0 8px; gap:12px; pointer-events:none;
}
.news-carousel.stable .controls-left,
.news-carousel.stable .news-nav,
.news-carousel.stable .news-dots{ pointer-events:auto; }
.news-carousel.stable .news-nav{
  width:40px; height:40px; border-radius:6px; border:1px solid #e5e7eb;
  background:#00afd0; color:#0b1220; font-size:20px; line-height:40px; box-shadow:0 8px 22px rgba(0,0,0,.08);
}
.news-carousel.stable .news-nav:disabled{ opacity:.35; pointer-events:none; }
.news-carousel.stable .news-dots{ display:flex; align-items:center; gap:.6rem; margin:0; padding:0; background:none; border:none; box-shadow:none; }
.news-carousel.stable .news-dot{ width:10px; height:10px; border-radius:999px; background:#e5e7eb; opacity:.9; transition:transform .15s, opacity .15s, background-color .15s; }
.news-carousel.stable .news-dot[aria-selected="true"]{ background:#111827; opacity:1; transform:scale(1.1); }
@media (max-width:600px){
  .news-carousel.stable .news-controls{ justify-content:center; gap:16px; }
  .news-carousel.stable .controls-left{ position:absolute; left:8px; top:0; display:flex; gap:8px; }
}

/* ========== Services Carousel（卡片式）========== */

.services-stack{ display:grid; gap:2.5rem; max-width:1600px; margin:0 auto; }

.svc{ display:grid; gap:2rem; align-items:start; }
@media (min-width:1024px){ .svc{ grid-template-columns:minmax(360px,560px) 1.6fr; } }
.svc-title{ margin:0 0 .75rem; font-size:2rem; font-weight:800; }
.svc-desc{ color:#4b5563; line-height:1.9; font-size:1.1rem; }

.svc-carousel{ position:relative; width:100%; --cards-per-view:1; --gap:2rem; --gap-total:calc(var(--gap) * (var(--cards-per-view) - 1)); }
.svc-controls{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem; gap:1rem; }
.svc-nav{
  width:60px; height:48px; border-radius:12px; border:1px solid #e5e7eb; background:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.1); cursor:pointer; font-size:24px; line-height:46px; text-align:center;
}
.svc-dots{ display:flex; gap:.75rem; align-items:center; }
.svc-dot{ width:12px; height:12px; border-radius:999px; background:#e5e7eb; border:none; cursor:pointer; }
.svc-dot[aria-selected="true"]{ background:#111827; }

.svc-viewport{ overflow:hidden; width:100%; }
.svc-track{ display:flex; gap:var(--gap); padding:.75rem; margin:0; list-style:none; will-change:transform; transition:transform .45s ease; }

.svc-card{
  flex:0 0 calc((100% - var(--gap-total)) / var(--cards-per-view));
  background:#fff; border:1px solid #e5e7eb; border-radius:24px; overflow:hidden; box-shadow:0 14px 40px rgba(0,0,0,.1);
  display:flex; flex-direction:column;
}
.svc-card .thumb{ width:100%; aspect-ratio:3/2; background:#f3f4f6; overflow:hidden; }
.svc-card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.svc-card:hover .thumb img{ transform:scale(1.05); }
.svc-card .card-body{ padding:1.5rem 1.75rem; text-align:left; }
.svc-card .card-title{ margin:0 0 .6rem; font-size:1.35rem; line-height:1.4; }
.svc-card .card-content{ margin:0; color:#374151; font-size:1.1rem; line-height:1.9; }

@media (prefers-reduced-motion: reduce){
  .svc-track{ transition:none; }
  .svc-card:hover .thumb img{ transform:none; }
}

/* ========== Modal 樣式（沿用）========== */
.di-modal{ position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center;
  background:rgba(17,24,39,.55); backdrop-filter:saturate(120%) blur(2px);
}
.di-modal.is-open{ display:flex; }
.di-modal.nontemp{ display:none; }
.di-modal__panel{
  width:min(1040px, calc(100vw - 2rem)); max-height:min(90vh,980px); background:#fff; border-radius:12px;
  box-shadow:0 30px 80px rgba(0,0,0,.22); overflow:hidden; display:grid; grid-template-columns:5fr 7fr;
  transform:translateY(8px) scale(.98); opacity:0; transition:transform .25s ease, opacity .25s ease;
}
.di-modal.is-open .di-modal__panel{ transform:translateY(0) scale(1); opacity:1;   max-width: 62vw;max-height: 62vh; }
@media (max-width:900px){ .di-modal__panel{ grid-template-columns:1fr; width:min(720px, calc(100vw - 1.5rem)); } }

.di-modal__media{ position:relative; background:#f3f4f6; min-height:260px; }
.di-modal__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.di-modal__body{ padding:1.25rem 6.5rem 1.35rem 1.5rem; overflow:auto; }
.di-modal__pretitle{ font-size:.9rem; color:#6b7280; margin:0 0 .25rem; }
.di-modal__title{ margin:3.1rem 0 .6rem; font-size:1.6rem; line-height:1.25; font-weight:750; border-bottom: 1px solid #e5e7eb;padding-bottom: 6%;}
.di-modal__date{ color:#6b7280; font-size:.98rem; margin:.15rem 0 .85rem; }
.di-modal__desc{ color:#374151; font-size:1.08rem; line-height:1.75; }
.di-modal__actions{ margin-top:1rem; display:flex; gap:.75rem; align-items:center; justify-content:end; }
.di-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; height:44px; padding:0 14px; border-radius:8px; border:1px solid transparent; font-weight:600; cursor:pointer; }
.di-btn--primary,.di-btn--ghost{ background:#fff; color:#111827; border-color:#e5e7eb; }
.di-btn--ghost{ display:none; }
.di-modal__close{
  position:absolute; top:10px; right:10px; z-index:2; width:36px; height:36px; border-radius:8px; border:1px solid #e5e7eb;
  background:#fff; cursor:pointer; display:grid; place-items:center; font-size:20px; color:#111827; box-shadow:0 8px 20px rgba(0,0,0,.08);
}
.di-modal__loading{
  position:absolute; inset:0; display:grid; place-items:center;
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.96));
  font-weight:600; color:#111827;
}
.di-spinner{ width:28px; height:28px; border-radius:50%; border:3px solid #cbd5e1; border-top-color:#00afd0; animation:spin 1s linear infinite; }
@keyframes spin{ to{ transform: rotate(360deg); } }

.di-prose :where(h1,h2,h3,h4){ margin:1rem 0 .5rem; line-height:1.25; font-weight:750; }
.di-prose h2{ font-size:1.35rem; } .di-prose h3{ font-size:1.2rem; } .di-prose h4{ font-size:1.05rem; }
.di-prose p{ margin:3rem 0; }
.di-prose ul,.di-prose ol{ margin:.6rem 0 .9rem 1.25rem; }
.di-prose li{ margin:.3rem 0; }
.di-prose a{ color:#0e7490; text-decoration:underline; }
.di-prose blockquote{ margin:.9rem 0; padding:.6rem .9rem; background:#f8fafc; border-left:4px solid #00afd0; }
.di-prose code{ font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; background:#f3f4f6; padding:.15rem .35rem; border-radius:6px; }
.di-prose pre{ background:#0b1220; color:#e5e7eb; padding:1rem; border-radius:10px; overflow:auto; }
.di-prose table{ width:100%; border-collapse:collapse; margin:.8rem 0; font-size:.98rem; }
.di-prose th,.di-prose td{ border:1px solid #e5e7eb; padding:.55rem .6rem; }
.di-prose img,.di-prose video{ max-width:100%; height:auto; border-radius:8px; }
.di-prose .embed{ position:relative; width:100%; padding-top:56.25%; border-radius:10px; overflow:hidden; background:#000; }
.di-prose .embed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* ========== 媒體查詢（僅保留必要差異）========== */

/* 1200–1800 */
@media screen and (min-width:1200px) and (max-width:1800px){
  #navbar{ gap:18%; }
  #navbar ul li{ width:110px; }
  #navbar ul li a{ font-size:17px; }
  #intro{ height:615px; }
  .intro_us_verify{ font-size:1.3rem; }
  .intro_us_title{ font-size:3rem; }
  .intro-image{ margin-left:auto; }
  .intro-image img{ max-width:120%; }
  .intro_us_content{ font-size:1rem; }
  #navbar .title-image{ width:187px; height:48px; margin-left:16%; }
  h3.heading-title{ font-size:45px; padding-bottom:20px; }
  .partner-1{ grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:10px; max-width:85%; }
  .feature-img img{ width:60%; padding-right:25px; }
  .join-picture img{ width:10%; }
  #join{ padding:3% 0 2%; }
  #join .heading-title2{ font-size:35px; }
  #join .heading-content2{ font-size:16px; color:#918d8d; padding-bottom:15px; }
  .join-people{ gap:40px; padding:10px 0; }
  .carousel-container{ padding-bottom:30px; max-width:85%; }
  button.prev{ left:3%; } button.next{ right:3%; }
  .join-word h5{ font-size:18px; }
  #join p{ font-size:13px; }
  .modal iframe{ top:55%; width:70%; height:500px; }
}

/* 768–992 */
@media screen and (min-width:768px) and (max-width:992px){
  .navbar{ flex-direction:column; align-items:flex-start; padding:10px 0; }
  #navbar{ gap:5%; height:auto; }
  #navbar ul{ flex-direction:column; align-items:flex-start; gap:10px; width:100%; margin-right:0; }
  #navbar ul li{ width:auto; padding:10px 0; }
  #navbar .title-image{ width:97px; height:31px; margin-left:7%; }
  .intro-content{ flex-direction:column; max-width:100%; text-align:center; }
  .intro-text{ padding:55px 0 0; text-align:center; }
  .intro_us_verify{ font-size:1rem; text-align:center; line-height:3; }
  .intro_us_title{ font-size:2.1rem; text-align:center; }
  .intro_us_content{ font-size:.8rem; text-align:center; }
  .intro-image{ margin-left:0; max-width:100%; }
  .intro-image img{ max-width:100%; }
  .carousel-container{ width:100%; }
  .join-picture img{ width:10%; }
  .join-content{ flex:1 1 100%; max-width:100%; padding:20px 0; }
  .join-people{ flex-direction:row; gap:20px; }
  .join-employee img{ max-width:40%; }
  #partner img{ width:100%; max-width:120px; }
  .partner-1{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; max-width:85%; }
  .modal iframe{ width:90%; height:60%; }
  .carousel-controls button{ font-size:16px; padding:5px 10px; }
  #part-1, #part-2{ font-size:14px;  }
  .feature-img img{width: 90%;padding: 0 25px 0 10px;}
  .financeSuper img {width: 50%;}
}

/* 480–767 */
@media screen and (min-width:480px) and (max-width:767px){
  .navbar{ flex-direction:column; align-items:flex-start; padding:10px 0; }
  #navbar{ gap:5%; height:auto; }
  #navbar ul{ flex-direction:column; align-items:flex-start; gap:10px; width:100%; margin-right:0; }
  #navbar ul li{ width:auto; padding:10px 0; }
  #navbar .title-image{ width:97px; height:31px; margin-left:7%; }

  #intro{ height:745px; }
  .intro-content{ flex-direction:column; max-width:100%; text-align:center; }
  .intro-text{ padding:55px 0 0; text-align:center; }
  .intro_us_verify{ font-size:1rem; line-height:3; text-align:center; }
  .intro_us_title{ font-size:2.1rem; text-align:center; }
  .intro_us_content{ font-size:.8rem; text-align:center; }
  .intro-image{ margin-left:0; max-width:100%; }
  .intro-image img{ max-width:100%; background-size:cover; background-position:center; }

  .top-image,#part-service,#service-more-btn{ display:none; }

  button.prev{ left:2.5%; } button.next{ right:2.5%; }
  .carousel-container{ width:100%; }
  .carousel-controls-job .prev,.carousel-controls-job .next{ transform:translateY(80%); }
  .carousel-controls-job button,.carousel-controls button{ font-size:20px; padding:5px 10px; }
  .carousel-controls .prev,.carousel-controls .next{ transform:translateY(150%); }

  .join-content{ flex:0 0 100%; max-width:100%; padding:20px 0; }
  .join-people{ gap:20px; padding:20px 0 0; }
  .join-employee{ justify-content:start; gap:20px; }
  .join-employee img{ max-width:75%; }
  .join-picture img{ width:25%; }

  #partner img{ width:100%; max-width:120px; }
  .partner-1{ grid-template-columns:repeat(auto-fill,minmax(60px,1fr)); gap:5px; max-width:85%; }

  dl{ margin-bottom:.2rem; }
  .modal iframe{ width:90%; height:60%; }
  .carousel-controls button{ font-size:16px; padding:5px 10px; }
}

/* <=480 */
@media screen and (max-width:480px){
  .navbar{ flex-direction:column; align-items:flex-start; padding:10px 0; }
  .navbar-light .navbar-toggler{ border-color:#fff; }
  #navbar{ gap:5%; height:50px; justify-content:space-between; }
  #navbar ul{ flex-direction:column; align-items:flex-start; gap:10px; width:100%; margin-right:0; }
  #navbar ul li{ width:auto; padding:10px 0; }
  #navbar .title-image{ width:97px; height:27px; margin-left:7%; }
  #navbar.active{ height:58px; }
  #navbar.active .title-image{ width:108px; height:31px; }

  #intro{ height:700px; }
  .intro-content{ flex-direction:column; max-width:100%; text-align:center; }
  .intro-text{ padding:55px 0 0; text-align:center; }
  .intro_us_verify{ font-size:1rem; text-align:center; line-height:3; padding-top:20px; }
  .intro_us_title{ font-size:2.1rem; text-align:center; }
  .intro_us_content{ font-size:1.1rem; text-align:center; line-height:2; }

  #autoImage{ border-radius:15px; transition:filter .5s ease-in-out; }
  .intro-image{ margin-left:0; max-width:100%; width:75%; align-self:center; }
  .intro-image img{ background-image:url('/digitalidea/images/首頁-indogo_0.png'); }

  #features{ height:550px; padding:85px 0 30px; }
  .feature-content{ text-align:center; width:90%; }
  .feature-img{ width:60%; display:none; padding-right:25px; }
  .feature-box{ position:absolute; }

  #feature-heading{ font-size:2.5rem; }
  h3.heading-title{ font-weight:700; font-size:30px; padding-bottom:10px; }

  #part-1{ font-size:16px; line-height:2; padding-right:0; margin-bottom:30px; text-align:start; }
  #part-2.timeline{ position:relative; border-left:2px solid #ccc; display:none; margin-bottom:30px; }
  #part-2.timeline.active{ border-color:#4CAF50; }
  .timeline-item{ flex-direction:column; position:relative; padding-left:30px; margin-bottom:20px; }
  .timeline-item:last-child{ margin-bottom:0; }
  .timeline-item::before{ content:''; position:absolute; left:-6px; top:0; width:12px; height:12px; background:#ccc; border-radius:50%; border:2px solid #fff; transition:background-color .3s; }
  .timeline-item.active::before{ background:#4CAF50; }
  .timeline-date{ font-weight:bold; text-align:start; line-height:1; }
  .timeline-content{ font-size:14px; line-height:1.2; text-align:start; }

  .financeSuper img{ width:70%; }

  .join-content{ flex:0 0 100%; max-width:100%; padding:20px 0; }
  .join-people{ gap:20px; padding-top:20px; }
  .join-people img{ max-width:50px; }
  .join-employee{ justify-content:start; gap:20px; }
  .join-employee img{ max-width:75%; }
  #join p{ font-size:13px; }
  .join-word h5{ font-size:17px; }
  #join .heading-title2{ font-size:30px; }
  #join .heading-content2{ font-size:15px; padding:5px 17%; }
  .join-picture img{ width:35%; }

  #partner{ padding:10% 0; }
  #partner img{ width:100%; max-width:120px; }
  .partner-1{ grid-template-columns:repeat(auto-fill,minmax(65px,1fr)); gap:15px; max-width:90%; }
  dl{ margin-bottom:.2rem; }

  .modal iframe{ width:90%; height:60%; }

  .footer_content p{ font-size:12px; margin-bottom:0; }
  #contact .footer-copyright{ font-size:10px; }
}


#investor.inv-section{ padding: 2.25rem; background:#fff; }
.inv-layout{
  display:grid; gap:2rem; align-items:start; max-width:1440px; margin:0 auto;
  grid-template-columns: 1fr;
}
@media (min-width:1024px){
  .inv-layout{ grid-template-columns: minmax(360px,520px) 1fr; }
}
.inv-info{ max-width:620px; }
.inv-title{ margin:0 0 1rem; font-size:2.5rem; font-weight:800; letter-spacing:.2px; }
.inv-desc{ color:#4b5563; line-height:2.0; font-size:1.15rem; }

/* ========== Carousel 外框 ========== */
.inv-carousel{
  --gap: 1.6rem;
  --card-w: clamp(340px, 64vw, 450px);
  position:relative; width:100%; overflow:visible;
}
.inv-controls{
  display:flex;margin-bottom:.6rem;gap: 0.6rem;
}
.inv-nav{
  width:40px; height:40px; border-radius:6px; border:1px solid #e5e7eb;
  background:#00afd0; color:#0b1220; font-size:20px; line-height:40px; box-shadow:0 8px 22px rgba(0,0,0,.08);
}
.inv-nav:disabled{ opacity:.35; pointer-events:none; }
.inv-dots{ display:flex; gap:.6rem; align-items:center; }
.inv-dot{ width:10px; height:10px; border-radius:999px; background:#e5e7eb; border:0; cursor:pointer; }
.inv-dot[aria-selected="true"]{ background:#111827; transform:scale(1.08); }

/* viewport/track */
.inv-viewport{ overflow:hidden; width:100%; }
.inv-track{ display:flex; gap:var(--gap); padding:.75rem; margin:0; list-style:none; will-change:transform; transition:transform .45s ease; }

/* ========== 卡片（上圖下文） ========== */
.inv-card{
  flex: 0 0 var(--card-w); width:var(--card-w);
  background:#fff; border:1px solid #e5e7eb;  overflow:hidden;
  display:flex; flex-direction:column;
}

.inv-card .thumb{ flex:0 0 50%; height:50%; background:#f3f4f6; overflow:hidden; }
.inv-card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.inv-card .body{ flex:0 0 50%; height:50%; padding:1.25rem 1.6rem; display:flex; flex-direction:column; overflow:hidden; text-align:left; }
.inv-card .h3{ margin:0 0 .6rem; font-size:1.45rem; line-height:1.25; font-weight:700; }
.inv-card .p{ margin:0 0 10px; color:#374151; font-size:1.1rem; line-height:1.65; }
.inv-card .cta{
  display:inline-flex; align-items:center; gap:.5rem; height:40px; padding:0 14px;
  border-radius:8px; border:1px solid #e5e7eb; background:#fff; font-weight:650; cursor:pointer;
}
.inv-card .cta i{ font-size:16px; }

/* ========== Modal（只顯示清單，不嵌 PDF） ========== */
.inv-modal{ position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center;
  background:rgba(17,24,39,.55); backdrop-filter:saturate(120%) blur(2px); }
.inv-modal[aria-hidden="false"]{ display:flex; }

.inv-panel{
  width:min(1040px, calc(100vw - 2rem));
  max-height:min(90vh, 980px);
  background:#fff; border-radius:12px; box-shadow:0 30px 80px rgba(0,0,0,.22);
  overflow:hidden; display:grid; grid-template-rows: auto 1fr;
  transform:translateY(8px) scale(.98); opacity:0; transition:transform .25s ease, opacity .25s ease;
}
.inv-modal[aria-hidden="false"] .inv-panel{ transform:translateY(0) scale(1); opacity:1; }

.inv-hdr{ display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:14px 16px; border-bottom:1px solid #e5e7eb; }
.inv-hdr-title{ margin:0; font-size:1.4rem; font-weight:750; }
.inv-close{ width:36px; height:36px; border-radius:8px; border:1px solid #e5e7eb; background:#fff;
  cursor:pointer; display:grid; place-items:center; font-size:18px; color:#111827; box-shadow:0 8px 20px rgba(0,0,0,.08); }

.inv-body{ padding:8px 12px; overflow:auto; }

/* ========== 清單列（像你截圖） ========== */
.inv-list{ padding: 6px 6px; }
.inv-row{
  display:flex; align-items:center; gap:18px;
  padding:14px 6px; border-bottom:1px solid #e5e7eb;
}
.inv-col--index{
  width:56px; min-width:56px; text-align:right; font-variant-numeric:tabular-nums;
  color:#111827; font-weight:700; font-size:1.15rem;
}
.inv-col--title{
  flex:1; min-width:0; color:#0b1220; font-weight:650; font-size:1.05rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.inv-divider-v{ width:1px; height:20px; background:#e5e7eb; }
.inv-col--actions{ display:flex; align-items:center; gap:16px; color:#111827; }
.inv-action{
  display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border-radius:6px;
  border:1px solid #e5e7eb; background:#fff; font-weight:600; font-size:.95rem; text-decoration:none;
}
.inv-action:hover{ background:#f3f4f6; }
.inv-col--badge{
  width:46px; min-width:46px; height:46px; display:grid; place-items:center;
  border:1px solid #e5e7eb; border-radius:10px; background:#fff; color:#111827; font-size:.72rem;
}
.inv-badge__icon{ font-size:18px; }
.inv-badge__ext{ display:block; line-height:1; margin-top:2px; }

.inv-layout{
  display:grid; gap:2rem; align-items:start; max-width:1440px; margin:0 auto; padding-left:4%;
  grid-template-columns:1fr;
}
@media (min-width:1024px){
  .inv-layout{ grid-template-columns:minmax(360px,520px) 1fr; }
}

/* RWD 微調 */
@media (max-width:600px){
  .inv-col--index{ width:42px; min-width:42px; }
  .inv-col--badge{ width:40px; min-width:40px; height:40px; }
  .inv-title{ font-size:2rem; }
}

/* 安全欄：避免整頁左右晃動 */
html{ overflow-y:scroll; } html,body{ max-width:100%; overflow-x:hidden; }


:root{
  /* 想調大小改這個：從 560px 到 960px 之間，預設抓視窗最小邊 92vmin */
  --inv-panel-size: clamp(560px, 92vmin, 960px);
}

.inv-panel{
  width: var(--inv-panel-size) !important;
  height: var(--inv-panel-size) !important;
  max-width: 40vw;
  max-height: 60vh;
  display: grid;
  grid-template-rows: auto 1fr;
  border-radius: 14px;
}

.inv-body{
  overflow: auto;
  padding: 8px 12px;
}

.news-card { cursor: pointer; }


/* 極小螢幕再降一點，維持正方形 */
@media (max-width: 420px){
  :root{ --inv-panel-size: 92vmin; }
}


/* ========== Concert Modal：左大圖＋右下小圖淡入輪播 ========== */

/* 左右 layout：左邊大圖固定，右邊文字＋小圖 */
.modal-layout {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-top: 4px;
}

.modal-left {
  flex: 0 0 45%;
  max-width: 45%;
}

.modal-right {
  flex: 1;
  min-width: 0;
}

/* 左邊固定大圖 */
.modal-left img[data-modal-hero] {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  object-fit: contain;
}

.modal-right p {
  line-height: 1.7;
  font-size: 15px;
  margin-top: 0;
}

.modal-right h3 {
  margin: 4px 0;
  font-size: 16px;
}

/* 右下小圖輪播：每張一樣大＋淡入淡出 */
.modal-gallery {
  position: relative;
  margin-top: 1.2rem;
  padding-top: 0.75rem;
  border-top: 1px solid #eee;
  text-align: center;
}

.modal-gallery .gallery-track {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;   /* 小圖區塊比例，要正方形就改成 1 / 1 */
  overflow: hidden;
}

/* 每一張小圖 slide 疊在一起，只顯示 active 那張 */
.modal-gallery .slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.4s ease; /* 淡入淡出動畫 */
}

.modal-gallery .slide.active {
  opacity: 1;
}

/* 小圖強制同一尺寸，填滿框 */
.modal-gallery .slide img {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  object-fit: cover; /* 填滿框、保持比例，多的裁掉 */
}

/* 左右切換按鈕 */
.modal-gallery .gallery-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  padding: 0.35rem 0.6rem;
  border-radius: 999px;
  cursor: pointer;
  font-size: 1.1rem;
  z-index: 2;
}

.modal-gallery .gallery-prev { left: 8px; }
.modal-gallery .gallery-next { right: 8px; }

.modal-gallery .gallery-btn:hover {
  background: rgba(0, 0, 0, 0.6);
}

/* 下方 dots */
.modal-gallery .gallery-dots {
  margin-top: 0.5rem;
  display: flex;
  justify-content: center;
  gap: 0.4rem;
}

.modal-gallery .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: #ccc;
  cursor: pointer;
  padding: 0;
}

.modal-gallery .dot.active {
  background: #2fb171; /* 你家綠色 */
}

/* 手機版：上下堆疊，左圖右圖都滿版寬 */
@media (max-width: 768px) {
  .modal-layout {
    flex-direction: column;
  }
  .modal-left,
  .modal-right {
    max-width: 100%;
    flex: 1 1 auto;
  }
}
