/* ============================================================
   Impactshot Website V2
   Color Palette: Near-Black + Light Cream + Gold
   ============================================================ */
/* ============================================================
   封面圖規格（設計師交稿標準）
   部落格封面 / 案例封面：統一 1200 × 675 px（16:9）
   格式：JPG，品質 85%
   對應 CSS：.blog-card-img { aspect-ratio: 16/9 }
             .case-card     { aspect-ratio: 16/9 }
   ============================================================ */
/* ---------- Variables ---------- */
:root {
  --gold:         #C4A028;    /* Main gold accent */
  --brand:        #C4A028;
  --gold-light:   #D4B540;    /* Lighter gold */
  --gold-dark:    #9A7C18;    /* Darker gold */
  --dark:         #1A1914;    /* Near-black (hero, dark sections, footer) */
  --dark-2:       #24221A;    /* Slightly lighter dark */
  --cream:        #F7F4EE;    /* Very light cream (nav bg, light sections) */
  --cream-2:      #EDE8DE;    /* Slightly deeper cream */
  --white:        #FAFAF8;    /* Near-white */
  --text:         #3A3630;    /* Body text on light bg */
  --text-mid:     #6A6258;    /* Mid tone text */
  --text-light:   #9A9080;    /* Muted text */
  --border:       #DDD8CE;    /* Light border */
  --border-dark:  rgba(196,160,40,0.15); /* Gold-tinted dark border */
  --font:         'Montserrat', 'Noto Sans TC', sans-serif;
  --nav-height:   100px;
  --section-pad:  130px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Ccircle cx='10' cy='10' r='8' fill='%23C4A028'/%3E%3C/svg%3E") 10 10,auto}
body{font-family:var(--font);font-size:24px;font-weight:400;color:var(--text);background:var(--cream);line-height:1.8;overflow-x:hidden}
a,button,.svc-item{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23C4A028'/%3E%3C/svg%3E") 12 12,pointer}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button{font-family:var(--font);cursor:pointer}

/* ---------- Page Loader ---------- */
.page-loader{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--dark);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .6s ease}
.page-loader.hide{opacity:0;pointer-events:none}
.loader-inner{display:flex;flex-direction:column;align-items:center;gap:40px}
.loader-spinner{width:100px;height:100px;border:8px solid rgba(196,160,40,.2);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}
.loader-logo{height:240px;width:auto}
@keyframes spin{to{transform:rotate(360deg)}}

/* ============================================================
   NAVIGATION
   Cream background always — logo links back to home
   ============================================================ */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:var(--nav-height);
  display:flex;align-items:center;
  background:var(--cream);
  border-bottom:1px solid var(--border);
  transition:box-shadow .3s, height .3s;
}
.navbar.scrolled{
  box-shadow:0 2px 16px rgba(26,25,20,.08);
  height:84px;
}

.nav-inner{
  width:100%;max-width:1440px;margin:0 auto;
  padding:0 28px 0 28px;
  display:flex;align-items:center;
}

/* Logo — full height, click goes home, no text */
.nav-logo{flex-shrink:0;margin-right:32px}
.nav-logo a{display:flex;align-items:center}
.nav-logo img{height:100px;width:auto;max-width:320px;transition:height .3s}
.navbar.scrolled .nav-logo img{height:72px}
.nav-logo .logo-text{display:none}
/* (kept for reference — hidden)
.nav-logo .logo-text{
  font-size:26px;font-weight:700;color:var(--text);
  letter-spacing:.5px;white-space:nowrap;
}

/* Links — evenly distributed */
.nav-links{
  display:flex;align-items:center;
  flex:1;justify-content:space-between;gap:0;
}

.nav-link{
  position:relative;
  padding:6px 10px;
  font-size:18px;font-weight:500;
  letter-spacing:1px;
  color:var(--text);
  transition:color .3s;
  cursor:pointer;white-space:nowrap;
  overflow-x:visible;overflow-y:hidden;height:36px;
  display:flex;align-items:flex-start;
}
.nav-link .zh,.nav-link .en{
  display:block;
  transition:transform .35s cubic-bezier(.23,1,.32,1),opacity .35s;
}
.nav-link .en{
  position:absolute;top:6px;left:50%;
  transform:translateX(-50%) translateY(100%);
  text-align:center;opacity:0;
  font-size:18px;font-weight:500;letter-spacing:1px;
  white-space:nowrap;
}
.nav-link:hover .zh{opacity:0;transform:translateY(-100%)}
.nav-link:hover .en{opacity:1;transform:translateX(-50%) translateY(0)}
.nav-link:hover{color:var(--gold)}

/* CTA */
.nav-cta{
  flex-shrink:0;margin-left:16px;
  padding:6px 26px;
  background:transparent;color:var(--text);
  border:1.5px solid var(--text);
  border-radius:50px;font-size:18px;font-weight:500;
  letter-spacing:.5px;transition:all .35s;
}
.nav-cta:hover{background:var(--dark);color:var(--cream);border-color:var(--dark)}

/* Mobile toggle */
.menu-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:10px;z-index:101}
.menu-toggle span{width:22px;height:2px;background:var(--text);transition:background .3s}

/* ============================================================
   HERO — Near-black bg, 迅猛龍行銷 most prominent
   ============================================================ */
.hero{
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;text-align:center;
  background:
    /* 四角暗壓 */
    radial-gradient(ellipse 92% 85% at 50% 50%, transparent 28%, rgba(0,0,6,.58) 100%),
    /* 煙霧底層 — 右下 */
    radial-gradient(ellipse 72% 58% at 75% 70%,
      rgba(158,172,210,.065) 0%, rgba(140,156,195,.030) 38%, transparent 72%),
    /* 煙霧底層 — 左中 */
    radial-gradient(ellipse 62% 52% at 22% 46%,
      rgba(148,164,205,.048) 0%, rgba(132,150,190,.022) 42%, transparent 75%),
    /* 煙霧補充 — 中央偏上 */
    radial-gradient(ellipse 55% 40% at 52% 35%,
      rgba(155,170,205,.028) 0%, rgba(138,155,192,.012) 45%, transparent 75%),
    linear-gradient(172deg, #0d0d10 0%, #090909 38%, #060606 54%, #0a0a0c 100%);
  position:relative;overflow:hidden;
  padding:var(--nav-height) 48px 0;
}
/* 水平地平線光 — 移除 */
/* 幾何圓弧裝飾 */
.hero::after{
  content:'';position:absolute;
  width:700px;height:700px;
  border:1px solid rgba(196,160,40,.04);border-radius:50%;
  bottom:-250px;left:-150px;pointer-events:none;
}

/* ── Hero 動畫背景層 ── */
.hero-anim-layer{
  position:absolute;inset:0;z-index:1;
  pointer-events:none;overflow:hidden;
}

/* 霧氣球 */
.hero-mist{
  position:absolute;border-radius:50%;
  filter:blur(80px);mix-blend-mode:screen;
}
.hero-mist-1{
  width:700px;height:700px;
  top:-10%;left:-5%;
  background:radial-gradient(circle,rgba(150,170,220,.35) 0%,transparent 70%);
  animation:mistDrift1 2s ease-in-out infinite alternate;
}
.hero-mist-2{
  width:600px;height:500px;
  bottom:0%;right:-5%;
  background:radial-gradient(circle,rgba(130,155,210,.30) 0%,transparent 70%);
  animation:mistDrift2 2.5s ease-in-out infinite alternate;
}
.hero-mist-3{
  width:500px;height:400px;
  top:30%;left:40%;
  background:radial-gradient(circle,rgba(196,160,40,.20) 0%,transparent 70%);
  animation:mistDrift3 1.8s ease-in-out infinite alternate;
}
.hero-mist-4{
  width:400px;height:350px;
  top:10%;right:20%;
  background:radial-gradient(circle,rgba(140,160,215,.28) 0%,transparent 70%);
  animation:mistDrift4 2.2s ease-in-out infinite alternate;
}

/* 斜光束 */
.hero-beam{
  position:absolute;
  width:4px;height:130%;
  transform-origin:top center;
}
.hero-beam-1{
  left:22%;top:-10%;
  background:linear-gradient(180deg,transparent 0%,rgba(200,220,255,.7) 40%,rgba(200,220,255,.4) 60%,transparent 100%);
  transform:rotate(138deg);
  animation:beamPulse1 1.2s ease-in-out infinite;
}
.hero-beam-2{
  left:48%;top:-10%;
  background:linear-gradient(180deg,transparent 0%,rgba(255,248,220,.6) 40%,rgba(255,248,220,.3) 65%,transparent 100%);
  transform:rotate(138deg);
  animation:beamPulse2 1.6s ease-in-out infinite;
}
.hero-beam-3{
  left:72%;top:-10%;
  background:linear-gradient(180deg,transparent 0%,rgba(190,210,248,.65) 45%,rgba(190,210,248,.35) 65%,transparent 100%);
  transform:rotate(138deg);
  animation:beamPulse3 1.4s ease-in-out infinite;
}

/* 幾何圓環 */
.hero-ring{
  position:absolute;border-radius:50%;
  border:1px solid rgba(196,160,40,.25);
  pointer-events:none;
}
.hero-ring-1{
  width:640px;height:640px;
  top:-35%;left:-18%;
  transform:scale(.6);
  animation:ringPulse1 1.6s ease-in-out infinite alternate;
}
.hero-ring-2{
  width:480px;height:480px;
  top:-25%;right:-10%;
  transform:scale(.7);
  animation:ringPulse2 1.3s ease-in-out infinite alternate;
  border-color:rgba(180,200,240,.22);
}
.hero-ring-3{
  width:320px;height:320px;
  bottom:-18%;right:8%;
  transform:scale(.5);
  animation:ringPulse3 1.8s ease-in-out infinite alternate;
  border-color:rgba(196,160,40,.20);
}

/* 浮動圓點 */
.hero-orb{
  position:absolute;border-radius:50%;
  filter:blur(30px);pointer-events:none;
}
.hero-orb-1{
  width:240px;height:240px;
  top:18%;left:12%;
  background:radial-gradient(circle,rgba(196,160,40,.75) 0%,transparent 65%);
  animation:orbFloat1 1.5s ease-in-out infinite alternate;
}
.hero-orb-2{
  width:200px;height:200px;
  bottom:20%;right:14%;
  background:radial-gradient(circle,rgba(160,185,240,.70) 0%,transparent 65%);
  animation:orbFloat2 1.2s ease-in-out infinite alternate;
}
.hero-orb-3{
  width:160px;height:160px;
  top:65%;left:50%;
  background:radial-gradient(circle,rgba(200,215,255,.65) 0%,transparent 65%);
  animation:orbFloat3 1.8s ease-in-out infinite alternate;
}

/* Keyframes */
@keyframes mistDrift1{
  0%  {transform:translate(0,0) scale(1);      opacity:.6}
  100%{transform:translate(80px,-50px) scale(1.2);opacity:1}
}
@keyframes mistDrift2{
  0%  {transform:translate(0,0) scale(1);      opacity:.5}
  100%{transform:translate(-70px,40px) scale(1.15);opacity:1}
}
@keyframes mistDrift3{
  0%  {transform:translate(0,0) scale(1);      opacity:.4}
  100%{transform:translate(50px,60px) scale(1.25);opacity:1}
}
@keyframes mistDrift4{
  0%  {transform:translate(0,0) scale(1);      opacity:.5}
  100%{transform:translate(-50px,-40px) scale(1.15);opacity:1}
}
@keyframes beamPulse1{
  0%,100%{opacity:0.1} 50%{opacity:1}
}
@keyframes beamPulse2{
  0%,100%{opacity:0.1} 50%{opacity:1}
}
@keyframes beamPulse3{
  0%,100%{opacity:0.1} 50%{opacity:1}
}
@keyframes ringPulse1{
  0%  {transform:scale(.6) rotate(0deg);  opacity:.25}
  100%{transform:scale(1.1) rotate(18deg);opacity:.85}
}
@keyframes ringPulse2{
  0%  {transform:scale(.7) rotate(0deg);  opacity:.20}
  100%{transform:scale(1.2) rotate(20deg);opacity:.80}
}
@keyframes ringPulse3{
  0%  {transform:scale(.5) rotate(0deg);  opacity:.22}
  100%{transform:scale(1.0) rotate(-15deg);opacity:.82}
}
@keyframes orbFloat1{
  0%  {transform:translate(0,0);   opacity:.7}
  100%{transform:translate(30px,-25px);opacity:1}
}
@keyframes orbFloat2{
  0%  {transform:translate(0,0);   opacity:.65}
  100%{transform:translate(-25px,20px);opacity:1}
}
@keyframes orbFloat3{
  0%  {transform:translate(0,0);   opacity:.55}
  100%{transform:translate(20px,-30px);opacity:1}
}

.hero-content{position:relative;z-index:2;max-width:900px}

/* Badge + Company + EN — grouped animation */
.hero-badge{
  display:inline-block;
  border:none;
  color:var(--gold);
  padding:6px 20px;border-radius:50px;
  font-size:22px;font-weight:500;letter-spacing:2.5px;
  text-transform:uppercase;margin-bottom:28px;
  opacity:0;animation:fadeUp .8s .2s forwards;
}
.hero-company{
  font-size:clamp(3.5rem, 8.5vw, 7.33rem);
  font-weight:500;
  color:var(--cream);
  line-height:1;
  letter-spacing:10pt;
  margin-bottom:16px;
  opacity:0;animation:fadeUp .8s .2s forwards;
}
.hero-en{
  font-size:23px;font-weight:400;letter-spacing:8px;
  color:rgba(247,244,238,.40);
  text-transform:uppercase;
  margin-bottom:24px;
  opacity:0;animation:fadeUp .8s .2s forwards;
}
.hero-desc{
  font-size:20px;font-weight:300;letter-spacing:.5px;
  color:rgba(247,244,238,.72);
  margin-bottom:28px;
  opacity:0;animation:fadeUp .8s .35s forwards;
}

/* Services tagline — stagger each keyword, faster */
.hero-tag{
  font-size:27px;font-weight:300;
  color:rgba(247,244,238,.45);
  margin-bottom:36px;
  opacity:0;animation:fadeUp .6s .5s forwards;
  letter-spacing:5pt;
}
.hero-tag-item{
  display:inline-block;
  opacity:0;animation:tagSlideIn .6s forwards;
}
.hero-tag-item:nth-child(1){animation-delay:.6s}
.hero-tag-item:nth-child(3){animation-delay:.8s}
.hero-tag-item:nth-child(5){animation-delay:1s}
.hero-tag-dot{
  display:inline-block;
  opacity:0;animation:tagDotPop .3s forwards;
}
.hero-tag-dot:nth-child(2){animation-delay:.75s}
.hero-tag-dot:nth-child(4){animation-delay:.95s}
@keyframes tagSlideIn{
  from{opacity:0;transform:translateY(12px) scale(.95)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes tagDotPop{
  from{opacity:0;transform:scale(0)}
  to{opacity:1;transform:scale(1)}
}

.hero-ctas{
  display:flex;gap:16px;justify-content:center;flex-wrap:wrap;
  opacity:0;animation:fadeUp .6s 1.1s forwards;
}

.scroll-hint{
  position:absolute;bottom:40px;left:50%;transform:translateX(-50%);
  font-size:16px;letter-spacing:4px;
  color:rgba(247,244,238,.35);
  animation:bounce 2.5s infinite;white-space:nowrap;
}

@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

/* ============================================================
   SECTION SYSTEM
   Dark: var(--dark)  |  Cream: var(--cream)  |  White: var(--white)
   ============================================================ */
.section{padding:var(--section-pad) 0}

.section-dark{
  background:var(--dark);
  background-image:radial-gradient(ellipse 80% 60% at 50% 30%,rgba(196,160,40,.06) 0%,transparent 55%);
  color:var(--cream);
  position:relative;overflow:hidden;
}
.section-dark::before{content:'';position:absolute;width:700px;height:700px;border:1px solid rgba(196,160,40,.05);border-radius:50%;top:-250px;right:-150px;pointer-events:none}

.section-cream{background:var(--cream)}
.section-white{background:var(--white)}
.section-cream2{background:var(--cream-2)}

.container{max-width:960px;margin:0 auto;padding:0 24px}
.container-wide{max-width:1280px;margin:0 auto;padding:0 40px}

/* Section headers (legacy) */
.section-header{text-align:center;margin-bottom:60px}
.section-header h2{font-size:clamp(2.125rem, 2.8vw, 2.625rem);font-weight:400;margin-bottom:10px}

/* ---- Dual-language section heading ---- */
.section-heading{text-align:center;margin-bottom:56px}
.section-heading--left{text-align:left}
.sh-en{
  display:block;font-size:15px;font-weight:600;
  letter-spacing:5px;text-transform:uppercase;
  color:var(--gold);margin-bottom:10px;
}
.sh-cn{
  font-size:clamp(1.8rem,2.8vw,2.4rem);font-weight:400;
  color:var(--text);margin:0;letter-spacing:2px;
}
.section-heading--light .sh-cn{color:var(--cream)}
.section-header p{color:var(--text-mid);font-size:24px;max-width:540px;margin:0 auto}

.label{
  font-size:20px;font-weight:600;letter-spacing:3.5px;text-transform:uppercase;
  color:var(--gold);margin-bottom:12px;display:block;
}
.label-dark{color:rgba(196,160,40,.5)}

/* Arrow link */
.arrow-link{display:inline-flex;align-items:center;gap:10px;font-size:25px;font-weight:500;transition:gap .3s}
.arrow-link:hover{gap:14px}
.arrow-link .circle{
  width:28px;height:28px;border:1.5px solid currentColor;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:22px;
}

/* ============================================================
   INTRO / ABOUT SECTION
   ============================================================ */
.intro-block{text-align:center;max-width:620px;margin:0 auto;padding:40px 0}
.intro-block p{font-size:24px;line-height:2;color:rgba(247,244,238,.5)}

.timeline{display:flex;justify-content:center;gap:64px;flex-wrap:wrap;padding:20px 0}
.timeline-item{text-align:center}
.timeline-year{font-weight:700;font-size:26px;margin-bottom:6px;color:var(--gold)}
.timeline-text{font-size:23px;line-height:1.7;color:rgba(247,244,238,.4)}

/* Threads stats */
.why-threads{max-width:720px;margin:0 auto}
.why-threads h3{text-align:center;font-size:28px;font-weight:600;margin-bottom:32px;color:var(--cream)}
.thread-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border-dark);border-radius:8px;overflow:hidden}
.thread-stat{text-align:center;padding:32px 16px;border-right:1px solid var(--border-dark)}
.thread-stat:last-child{border-right:none}
.thread-stat .num{font-size:clamp(2.425rem, 3vw, 3.025rem);font-weight:800;color:var(--gold);line-height:1;margin-bottom:6px}
.thread-stat .desc{font-size:22px;color:rgba(247,244,238,.35);line-height:1.5}
.why-threads .note{text-align:center;margin-top:24px;font-size:24px;color:rgba(247,244,238,.25);font-style:italic}

/* ============================================================
   SERVICES — numbered list (01+, 02+, ...)
   ============================================================ */
#services{padding:40px 0;scroll-margin-top:var(--nav-height)}
#services .section-header{margin-bottom:20px}
#services .section-header h2{font-size:clamp(1.75rem, 2.4vw, 2.2rem);font-weight:500}
.svc-list{display:block;max-width:100%;margin:0 auto}
.svc-item{
  display:block;padding:14px 0;
  border-bottom:1px solid var(--border);
  transition:padding-left .35s;
}
.svc-item-row{display:flex;align-items:center;gap:16px}
.svc-item:first-child{border-top:1px solid var(--border)}
.svc-item:hover{padding-left:20px}
.svc-num{font-size:15px;font-weight:600;color:var(--text-light);min-width:32px;flex-shrink:0;opacity:.6}
.svc-item-row h3{font-size:20px;font-weight:500;margin:0;color:var(--text);flex:1}
.svc-detail{color:var(--text-light);font-size:16px;margin-top:0;line-height:1.75;max-width:680px;padding-left:48px}
.svc-badge{display:inline-block;padding:2px 10px;font-size:20px;font-weight:600;border-radius:50px;margin-left:8px;vertical-align:middle}
.svc-badge.core{background:var(--gold);color:var(--dark)}
.svc-badge.soon{background:var(--text-light);color:var(--white)}

/* ============================================================
   DATA STRIP
   ============================================================ */
.data-strip{
  display:flex;align-items:center;justify-content:space-between;
  padding:48px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  flex-wrap:wrap;gap:28px;
}
.data-brand{display:flex;align-items:center;gap:10px}
.data-brand img{height:32px}
.data-brand span{font-size:26px;font-weight:700;color:var(--text)}
.data-num{font-size:clamp(2.425rem, 3.2vw, 3.225rem);font-weight:800;line-height:1;color:var(--gold)}
.data-label{font-size:22px;color:var(--text-light);margin-top:4px}
.data-qualities{
  display:flex;justify-content:center;gap:44px;
  padding:32px 0;border-bottom:1px solid var(--border);
  font-size:24px;color:var(--text-mid);
}

/* ============================================================
   WHY CHOOSE US — 4-column
   ============================================================ */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--border-dark)}
.why-card{padding:40px 20px;text-align:center;border-right:1px solid var(--border-dark)}
.why-card:last-child{border-right:none}
.why-icon{font-size:2.65rem;margin-bottom:14px}
.why-card h4{font-size:24px;font-weight:600;color:var(--cream);margin-bottom:8px}
.why-card p{font-size:23px;color:rgba(247,244,238,.3);line-height:1.7}

/* ============================================================
   RESULTS — 4-column numbers
   ============================================================ */
.results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.result-item{text-align:center;padding:48px 16px;border-right:1px solid var(--border)}
.result-item:last-child{border-right:none}
.result-number{font-size:clamp(2.425rem, 3vw, 3.025rem);font-weight:800;color:var(--gold);line-height:1;margin-bottom:6px}
.result-label{font-size:22px;color:var(--text-light)}

/* ============================================================
   LOGOS
   ============================================================ */
.logos-wrapper{display:flex;flex-wrap:wrap;justify-content:center;gap:24px 52px}
.logo-item{font-size:23px;font-weight:600;color:var(--text-light);letter-spacing:.5px;transition:color .3s}
.logo-item:hover{color:var(--gold)}
.logos-note{text-align:center;margin-top:20px;font-size:21px;color:var(--text-light)}

/* ============================================================
   CASE GRID — image cards
   ============================================================ */
.cases-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}
.cases-header h2{margin-bottom:0;font-size:clamp(2.125rem, 2.8vw, 2.625rem);font-weight:400}
.cases-header .sub{font-size:24px;color:var(--text-light);display:block;margin-top:2px}
.view-all{font-size:21px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-light);transition:color .3s}
.view-all:hover{color:var(--gold)}
.view-all-btn{display:inline-block;margin-top:12px;font-size:15px;letter-spacing:1px;text-transform:uppercase;color:var(--text-light);border:1px solid var(--border);padding:8px 20px;border-radius:4px;transition:all .3s}
.view-all-btn:hover{color:var(--gold);border-color:var(--gold)}

.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1080px;margin-left:auto;margin-right:auto}
.case-card{position:relative;overflow:hidden;border-radius:8px;aspect-ratio:16/9;cursor:pointer;display:block}
.case-card-bg{width:100%;height:100%;background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.23,1,.32,1)}
.case-card:hover .case-card-bg{transform:scale(1.06)}
.case-overlay{position:absolute;bottom:0;left:0;right:0;padding:18px;background:linear-gradient(transparent,rgba(26,25,20,.75));color:var(--cream)}
.case-overlay .tag{font-size:12px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:3px}
.case-overlay h3{font-size:17px;font-weight:500;margin-bottom:2px;color:var(--cream)}
.case-overlay p{font-size:14px;color:rgba(247,244,238,.55);margin-bottom:0}
.case-view{position:absolute;top:14px;right:14px;font-size:20px;font-weight:500;letter-spacing:2px;color:rgba(247,244,238,.35);opacity:0;transition:opacity .3s}
.case-card:hover .case-view{opacity:1}

/* Cases list */
.cases-filter{display:flex;justify-content:center;gap:8px;margin-bottom:40px;flex-wrap:wrap}
.filter-btn{padding:8px 20px;border:1px solid var(--border);border-radius:50px;font-size:22px;cursor:pointer;background:transparent;color:var(--text-mid);font-family:var(--font);transition:all .3s}
.filter-btn.active,.filter-btn:hover{background:var(--gold);color:var(--dark);border-color:var(--gold);font-weight:600}
.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1080px;margin-left:auto;margin-right:auto}

/* Case detail */
.case-detail{max-width:720px;margin:0 auto}
.case-meta{display:flex;gap:12px;margin-bottom:32px;flex-wrap:wrap}
.case-meta .tag{padding:4px 14px;background:rgba(196,160,40,.12);color:var(--gold);font-size:21px;font-weight:600;border-radius:50px}
.case-section{margin-bottom:40px}
.case-section h3{font-size:28px;font-weight:700;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.case-section p{font-size:25px;color:var(--text);line-height:2}
.case-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}
.case-stat-card{padding:24px;background:var(--cream-2);border-radius:8px;text-align:center}
.case-stat-card .num{font-size:3.05rem;font-weight:800;color:var(--gold);line-height:1;margin-bottom:4px}
.case-stat-card .label{font-size:22px;color:var(--text-light)}
.case-quote{padding:28px 32px;background:var(--cream-2);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;font-size:25px;font-style:italic;color:var(--text);line-height:1.9}
.case-nav{display:flex;justify-content:space-between;align-items:center;padding-top:40px;border-top:1px solid var(--border);margin-top:60px}
.case-nav a{font-size:24px;font-weight:500;color:var(--text-light);transition:color .3s}
.case-nav a:hover{color:var(--gold)}

/* ============================================================
   BLOG GRID
   ============================================================ */
.blog-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}
.blog-header h2{font-style:normal;margin-bottom:0}
.blog-header .sub{font-style:italic;font-size:24px;color:var(--text-light);display:block;margin-top:2px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1080px;margin-left:auto;margin-right:auto}
.blog-card{background:var(--white);border-radius:8px;overflow:hidden;transition:transform .3s,box-shadow .3s;display:block;border:1px solid var(--border)}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(26,25,20,.06)}
.blog-card-img{aspect-ratio:16/9;background-size:cover;background-position:center;background-color:var(--dark)}
.blog-card-body{padding:20px}
.blog-card-tag{font-size:12px;font-weight:500;color:var(--gold);letter-spacing:1px;display:block;margin-bottom:6px}
.blog-card-body h3{font-size:18px;font-weight:500;line-height:1.6;margin-bottom:10px;color:var(--text)}
.blog-card-link{font-size:13px;color:var(--text-light);font-weight:500;letter-spacing:1px}

/* ============================================================
   CTA SECTION
   ============================================================ */
.cta-section{
  background:var(--cream);
  background-image:none;
  text-align:center;padding:120px 48px;position:relative;overflow:hidden;
}
.cta-section::before{content:'';position:absolute;width:500px;height:500px;border:1px solid rgba(196,160,40,.06);border-radius:50%;top:-200px;right:-100px;pointer-events:none}
.cta-section h2{color:var(--text);font-size:clamp(1.8rem, 2.8vw, 2.4rem);font-weight:400;margin-bottom:0;line-height:1.6;letter-spacing:2px}

/* ---------- BUTTONS — Minimal Modern Outline System ---------- */
.btn{display:inline-block;padding:8px 28px;border-radius:50px;font-weight:500;font-size:18px;cursor:pointer;transition:all .35s ease;border:1.5px solid transparent;background:transparent;letter-spacing:.3px}
.btn-hero-cta{font-size:18px;font-weight:500;padding:6px 32px;letter-spacing:.5px}

/* PRIMARY — filled, used ONLY for the single most important CTA (hero) */
.btn-light{background:var(--cream);color:var(--dark);border-color:var(--cream)}
.btn-light:hover{background:transparent;color:var(--cream);border-color:rgba(247,244,238,.6)}

/* GHOST — outline on dark bg */
.btn-ghost{background:transparent;color:rgba(247,244,238,.55);border:1.5px solid rgba(247,244,238,.25);border-radius:50px}
.btn-ghost:hover{color:var(--cream);border-color:rgba(247,244,238,.7);background:rgba(247,244,238,.06)}

/* DARK — outline on light bg */
.btn-dark{background:transparent;color:var(--text);border:1.5px solid var(--text);border-radius:50px}
.btn-dark:hover{background:var(--dark);color:var(--cream);border-color:var(--dark)}

/* OUTLINE-DARK — same as dark, secondary variant */
.btn-outline-dark{background:transparent;border:1.5px solid var(--text);color:var(--text);border-radius:50px;padding:13px 34px;font-size:22px;font-weight:500;transition:all .35s ease}
.btn-outline-dark:hover{background:var(--dark);color:var(--cream);border-color:var(--dark)}

/* GOLD — reserved for special emphasis if needed */
.btn-gold{background:transparent;color:var(--gold);border:1.5px solid var(--gold)}
.btn-gold:hover{background:var(--gold);color:var(--dark)}
.btn-brand{background:transparent;color:var(--gold);border:1.5px solid var(--gold)}
.btn-brand:hover{background:var(--gold);color:var(--dark)}

/* ============================================================
   FOOTER — Dark bg, gold accents
   ============================================================ */
.footer{background:var(--dark);border-top:1px solid var(--border-dark);padding:0}
.footer-main{
  max-width:1440px;margin:0 auto;
  padding:52px 48px 40px;
  display:flex;justify-content:space-between;align-items:flex-start;gap:48px;
}
.footer-nav{display:flex;flex-direction:column;gap:10px}
.footer-nav a{font-size:18px;color:rgba(245,243,220,.65);transition:color .3s;letter-spacing:.5px}
.footer-nav a:hover{color:var(--gold)}
.footer-contact{text-align:right;display:flex;flex-direction:column;gap:8px}
.footer-contact p{font-size:18px;color:rgba(245,243,220,.65)}
.footer-bottom{
  max-width:1440px;margin:0 auto;
  padding:16px 48px;border-top:1px solid var(--border-dark);
  text-align:center;
}
.footer-copy{font-size:17px;color:rgba(245,243,220,.45)}
.footer-legal{margin-top:8px;display:flex;align-items:center;justify-content:center;gap:10px}
.footer-legal a{font-size:13px;color:rgba(245,243,220,.35);text-decoration:none;transition:color .2s}
.footer-legal a:hover{color:rgba(245,243,220,.7)}
.footer-legal span{font-size:13px;color:rgba(245,243,220,.2)}

/* ============================================================
   FLOATING CTA
   ============================================================ */
.floating-cta{position:fixed;bottom:24px;right:24px;z-index:999}
.floating-cta a{
  display:flex;align-items:center;gap:6px;
  padding:6px 26px;background:rgba(26,25,20,.85);color:var(--cream);
  border:1.5px solid rgba(247,244,238,.3);
  border-radius:50px;font-weight:500;font-size:18px;
  box-shadow:0 4px 20px rgba(0,0,0,.3);transition:all .3s;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.floating-cta a:hover{background:var(--cream);color:var(--dark);border-color:var(--cream);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.4)}

/* ============================================================
   INNER PAGES — Page Hero
   ============================================================ */
.page-hero{
  min-height:360px;
  display:flex;align-items:flex-end;
  padding:0 0 64px;
  background-color: #090909;
  background-image: url('../img/upper-spolight.png');
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  color:var(--cream);position:relative;overflow:hidden;
}
.page-hero::before{ content:none }
.page-hero::after{ content:none }
.page-hero .container{position:relative;z-index:2}
.page-hero-inner{max-width:1200px;margin:0 auto;padding:0 clamp(48px,8vw,120px);position:relative;z-index:2}
.page-hero h1{color:var(--cream);margin-bottom:10px;font-size:clamp(2.625rem, 4vw, 3.825rem);font-weight:400;letter-spacing:2px}
.page-hero p{color:rgba(247,244,238,.4);font-size:26px;max-width:560px}
.page-hero .label{display:block;margin-bottom:20px;font-size:21px;letter-spacing:4px;color:rgba(196,160,40,.5);text-transform:uppercase}
.page-hero-en{font-size:clamp(0.8rem, 1.2vw, 1rem);font-style:italic;color:rgba(247,244,238,.45);letter-spacing:3px;text-transform:uppercase;margin-bottom:14px;display:block}

/* ============================================================
   FAQ
   ============================================================ */
.faq-group{margin-bottom:52px}
.faq-group-title{font-size:21px;font-weight:600;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;padding-left:2px}
.faq-list{max-width:700px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--border)}
.faq-question{width:100%;padding:20px 0;background:none;border:none;text-align:left;font-size:25px;font-weight:500;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:var(--font);transition:color .3s}
.faq-question:hover{color:var(--gold)}
.faq-question::after{content:'+';font-size:28px;font-weight:300;color:var(--text-light);margin-left:16px;transition:transform .3s}
.faq-item.active .faq-question::after{content:'−'}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-answer-inner{padding:0 0 20px;color:var(--text-mid);font-size:24px;line-height:2}
.faq-item.active .faq-answer{max-height:500px}

/* ============================================================
   CONTACT
   ============================================================ */
/* --- Contact page (modern dark immersive) --- */
.contact-hero{background:var(--dark);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:140px 24px 80px}
.contact-hero-inner{max-width:680px;width:100%;text-align:center}
.contact-hero-en{display:block;font-size:15px;font-weight:500;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.contact-hero-title{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;color:var(--cream);letter-spacing:2px;margin:0 0 16px}
.contact-hero-desc{font-size:15px;color:rgba(247,244,238,.5);margin:0 0 56px;letter-spacing:.5px}

/* Modern form */
.contact-modern-form{text-align:left}
.cm-row{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.cm-field{position:relative;margin-bottom:36px}
.cm-field label{position:absolute;top:12px;left:0;font-size:15px;font-weight:400;color:rgba(247,244,238,.4);pointer-events:none;transition:all .25s ease;letter-spacing:.5px}
.cm-field input,.cm-field select,.cm-field textarea{width:100%;padding:12px 0;border:none;border-bottom:1px solid rgba(247,244,238,.15);border-radius:0;font-size:15px;font-family:var(--font);font-weight:400;background:transparent;color:var(--cream);transition:border-color .3s;outline:none;-webkit-appearance:none;appearance:none}
.cm-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C4A028' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;padding-right:20px}
.cm-field select option{background:var(--dark-2);color:var(--cream)}
.cm-field textarea{min-height:100px;resize:vertical}
/* Float label up on focus / filled */
.cm-field input:focus ~ label,.cm-field input:not(:placeholder-shown) ~ label,
.cm-field select:focus ~ label,.cm-field select.has-value ~ label,
.cm-field textarea:focus ~ label,.cm-field textarea:not(:placeholder-shown) ~ label{top:-8px;font-size:11px;color:var(--gold);letter-spacing:1px}
.cm-field input:focus,.cm-field select:focus,.cm-field textarea:focus{border-bottom-color:var(--gold)}

/* Gold filled submit button */
.btn-gold-fill{display:block;width:100%;padding:14px 0;margin-top:12px;background:var(--gold);color:var(--dark);font-family:var(--font);font-size:15px;font-weight:500;letter-spacing:2px;border:none;border-radius:4px;transition:all .3s;text-align:center;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23C4A028'/%3E%3C/svg%3E") 12 12,pointer}
.btn-gold-fill:hover{background:var(--gold-light);transform:translateY(-1px)}

/* Contact footer info */
.contact-footer-info{display:flex;align-items:flex-start;justify-content:center;gap:32px;margin-top:64px;padding-top:40px;border-top:1px solid rgba(247,244,238,.08)}
.cfi-item{text-align:center}
.cfi-label{display:block;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.cfi-item a,.cfi-item span{font-size:15px;color:rgba(247,244,238,.6);text-decoration:none;transition:color .3s}
.cfi-item a:hover{color:var(--gold)}
.cfi-divider{width:1px;height:36px;background:rgba(247,244,238,.1)}

/* Legacy contact styles (kept for other pages) */
.contact-grid{display:grid;grid-template-columns:1fr 2.5fr;gap:52px;align-items:start}
.contact-info h3{margin-bottom:20px;font-size:28px;color:var(--text)}
.contact-detail{display:flex;gap:10px;margin-bottom:14px;font-size:13pt;color:var(--text-mid)}
.contact-detail .icon{flex-shrink:0;width:20px;text-align:center;color:var(--gold)}
.contact-form{background:var(--white);padding:36px;border-radius:8px;border:1px solid var(--border)}
.form-group{margin-bottom:14px}
.form-group label{display:block;font-size:22px;font-weight:500;margin-bottom:4px;color:var(--text-mid)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:4px;font-size:24px;font-family:var(--font);font-weight:300;background:var(--cream);transition:all .3s;color:var(--text)}
.form-group input::placeholder,.form-group textarea::placeholder{font-size:12pt;color:#b0b0b0}
.form-group select{color:#b0b0b0}
.form-group select:valid,.form-group select option:not([value=""]){color:var(--text)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);background:var(--white)}
.form-group textarea{min-height:90px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* ============================================================
   SERVICE PAGE
   ============================================================ */
.service-flow{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;margin:36px 0}
.flow-step{padding:13px 22px;background:var(--cream-2);border-radius:8px;font-size:24px;font-weight:500;text-align:center;color:var(--text)}
.flow-arrow{font-size:28px;color:var(--text-light);padding:0 8px}
.service-items{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0}
.service-item{padding:24px;background:var(--white);border:1px solid var(--border);border-radius:8px;transition:all .3s}
.service-item:hover{border-color:var(--gold);transform:translateY(-2px)}
.service-item h4{font-size:25px;font-weight:600;margin-bottom:6px;color:var(--text)}
.service-item p{font-size:23px;color:var(--text-mid);line-height:1.7}
.service-process{max-width:600px;margin:0 auto}
.process-step{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--border);align-items:flex-start}
.process-num{width:28px;height:28px;background:var(--gold);color:var(--dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;flex-shrink:0}
.process-text{font-size:24px;color:var(--text-mid);padding-top:3px}

/* ============================================================
   ANIMATIONS
   ============================================================ */
.reveal{opacity:0;transform:translateY(20px);transition:all .7s cubic-bezier(.23,1,.32,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-stagger>*{opacity:0;transform:translateY(16px);transition:all .6s cubic-bezier(.23,1,.32,1)}
.reveal-stagger.visible>*{opacity:1;transform:translateY(0)}
.reveal-stagger.visible>*:nth-child(1){transition-delay:.05s}
.reveal-stagger.visible>*:nth-child(2){transition-delay:.1s}
.reveal-stagger.visible>*:nth-child(3){transition-delay:.15s}
.reveal-stagger.visible>*:nth-child(4){transition-delay:.2s}
.reveal-stagger.visible>*:nth-child(5){transition-delay:.25s}
.reveal-stagger.visible>*:nth-child(6){transition-delay:.3s}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .case-grid,.cases-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .results-grid{grid-template-columns:repeat(2,1fr)}
  .data-strip{flex-direction:column;text-align:center}
  .data-qualities{flex-wrap:wrap;gap:20px}
  .footer-main{flex-direction:column;gap:32px}
  .footer-contact{text-align:left}
  .footer-bottom{text-align:center}
}

@media(max-width:768px){
  :root{--section-pad:80px;--nav-height:72px}
  .nav-inner{padding:0 20px}
  .nav-logo img{height:48px;max-width:200px}
  .nav-links{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cream);flex-direction:column;justify-content:center;align-items:center;gap:20px}
  .nav-links.open{display:flex}
  .nav-link{color:var(--text) !important;font-size:27px;padding:8px}
  .nav-link .en{display:none}
  .nav-cta{margin-left:0}
  .menu-toggle{display:flex}
  .hero{min-height:90vh;padding:var(--nav-height) 20px 0}
  .hero-company{font-size:clamp(3.25rem, 13vw, 5.25rem)}
  .hero-tag{font-size:25px}
  .svc-detail{padding-left:0}
  .case-grid,.cases-grid,.blog-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .why-card{border-right:none;border-bottom:1px solid var(--border-dark)}
  .results-grid{grid-template-columns:repeat(2,1fr)}
  .thread-stats{grid-template-columns:1fr}
  .thread-stat{border-right:none;border-bottom:1px solid var(--border-dark)}
  .thread-stat:last-child{border-bottom:none}
  .contact-grid{grid-template-columns:1fr}
  .cm-row{grid-template-columns:1fr;gap:0}
  .contact-footer-info{flex-direction:column;gap:20px}
  .cfi-divider{width:40px;height:1px}
  .timeline{flex-direction:column;gap:20px}
  .form-row{grid-template-columns:1fr}
  .data-qualities{flex-direction:column;gap:12px}
  .service-flow{flex-direction:column}
  .flow-arrow{transform:rotate(90deg)}
  .service-items{grid-template-columns:1fr}
  .case-stats{grid-template-columns:1fr}
  .footer-main,.footer-bottom{padding-left:20px;padding-right:20px}
  .cases-header,.blog-header{flex-direction:column;align-items:flex-start;gap:8px}
}

/* ============================================================
   ABOUT GRID — two-column layout for 關於迅猛龍
   ============================================================ */
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
.about-left h2{color:var(--cream);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.35;margin:18px 0 22px;font-weight:700}
.about-left p{color:rgba(247,244,238,.45);font-size:21px;line-height:2;margin-bottom:32px}
.timeline-v{position:relative;padding-left:20px}
.timeline-v::before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:1px;background:rgba(196,160,40,.2)}
.tv-item{position:relative;padding:0 0 36px 28px}
.tv-item:last-child{padding-bottom:0}
.tv-item::before{content:'';position:absolute;left:-4px;top:10px;width:8px;height:8px;background:var(--gold);border-radius:50%;opacity:.55}
.tv-year{font-size:22px;font-weight:700;color:var(--gold);margin-bottom:6px;opacity:.85}
.tv-text{font-size:20px;color:rgba(247,244,238,.4);line-height:1.7}

/* ============================================================
   LOGO MARQUEE — auto-scrolling ticker
   ============================================================ */
.client-marquee-section{background:var(--dark-2);padding:100px 0 110px}
.logo-marquee{overflow:hidden;width:100%;position:relative;padding:8px 0}
.logo-marquee::before,.logo-marquee::after{content:'';position:absolute;top:0;bottom:0;width:140px;z-index:2;pointer-events:none}
.logo-marquee::before{left:0;background:linear-gradient(to right,var(--dark-2),transparent)}
.logo-marquee::after{right:0;background:linear-gradient(to left,var(--dark-2),transparent)}
.logo-track{display:flex;gap:72px;align-items:center;width:max-content;animation:marquee 28s linear infinite}
.logo-track:hover{animation-play-state:paused}
.logo-track .brand{font-size:20px;font-weight:400;color:rgba(247,244,238,.5);letter-spacing:.5px;white-space:nowrap;transition:color .3s;cursor:default}
.logo-track .brand:hover{color:rgba(196,160,40,.65)}
.logo-divider{width:1px;height:20px;background:rgba(196,160,40,.3);flex-shrink:0}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ============================================================
   RECOGNITION — award cards
   ============================================================ */
.recognition-grid{display:flex;gap:28px;flex-wrap:wrap;margin-top:40px}
.recognition-item{flex:1;min-width:220px;padding:36px 32px;border:1px solid var(--border);border-radius:4px;text-align:center}
.recognition-year{font-size:30px;font-weight:700;color:var(--gold);margin-bottom:14px;letter-spacing:1px}
.recognition-text{font-size:24px;line-height:1.9;color:var(--text-mid)}

/* ============================================================
   ABOUT CONTENT — single-column block (from old site)
   ============================================================ */
.about-content{max-width:780px}
.about-content h2{font-size:clamp(2.125rem,2.8vw,2.625rem);font-weight:700;margin:12px 0 24px}
.about-content p{font-size:24px;line-height:2;color:var(--text-mid);margin-bottom:18px}

/* Who We Are — 三段線條式 (legacy) */
.who-we-are-section{padding-bottom:80px}

/* Brand Intro — 願景與使命 + 關於迅猛龍 */
.brand-intro-section{padding:100px 0}
.brand-block{margin-bottom:80px}
.brand-block:last-child{margin-bottom:0}
.brand-block-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.brand-block-header--right{justify-content:flex-end}
.brand-block-header h2{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;color:var(--cream);margin:0}
.brand-block-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(196,160,40,.4);border-radius:50%;color:var(--gold);font-size:18px;text-decoration:none;transition:all .3s}
.brand-block-link:hover{background:var(--gold);color:var(--dark)}
.brand-block-line{display:flex;align-items:center;margin-bottom:28px}
.brand-block-line--right{justify-content:flex-end}
.brand-block-dot{width:10px;height:10px;border-radius:50%;background:var(--gold);flex-shrink:0}
.brand-block-rule{flex:1;height:1px;background:rgba(196,160,40,.25)}
.brand-block-text{font-size:18px;line-height:2;color:rgba(247,244,238,.8);max-width:700px}
.brand-block--right .brand-block-text{margin-left:auto;text-align:right}
.brand-milestones{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;margin-left:auto;max-width:900px}
.brand-milestone-year{font-size:22px;font-weight:700;color:var(--gold);display:block;margin-bottom:8px}
.brand-milestone p{font-size:16px;line-height:1.8;color:rgba(247,244,238,.8)}
@media(max-width:768px){
  .brand-intro-section{padding:60px 0}
  .brand-block{margin-bottom:56px}
  .brand-block-header--right{justify-content:flex-start}
  .brand-block--right .brand-block-text{margin-left:0;text-align:left}
  .brand-block-line--right{justify-content:flex-start}
  .brand-milestones{grid-template-columns:1fr}
}
.wwa-header{margin-bottom:52px}
.wwa-header h2{font-size:clamp(2.125rem,2.8vw,2.625rem);font-weight:700;margin:10px 0 0}
.wwa-block{margin-bottom:52px}
.wwa-line{
  display:flex;align-items:center;
  width:100vw;
  margin-left:calc(-50vw + 50%);
  margin-bottom:28px;
}
.wwa-dot{width:10px;height:10px;border-radius:50%;background:var(--gold);flex-shrink:0}
.wwa-rule{flex:1;height:1px;background:var(--border)}
.wwa-text{font-size:14pt;line-height:2;color:var(--text-mid);max-width:720px}
.wwa-text--right{margin-left:auto;text-align:right}

/* ============================================================
   WHY WOM — 什麼品牌必須做口碑行銷 section
   ============================================================ */
.why-wom{text-align:center;max-width:700px;margin:0 auto}
.why-wom h2{font-size:clamp(2.2rem,3.5vw,3rem);font-weight:700;color:var(--text);line-height:1.25;margin-bottom:10px}
.why-wom .why-wom-en{font-size:24px;font-style:italic;font-weight:600;color:var(--gold);margin-bottom:8px}
.why-wom .why-wom-sub{font-size:22px;color:var(--text-light);margin-bottom:40px}
.why-wom-body{font-size:24px;line-height:2.2;color:var(--text-mid);margin-bottom:40px}
.why-wom-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============================================================
   STATS STRIP — strategic ambiguity data bar
   ============================================================ */
.stats-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  margin-top:72px;
}
.stat-cell{text-align:center;padding:48px 24px;position:relative;border-radius:8px;background:var(--white);box-shadow:0 2px 12px rgba(0,0,0,.04);transition:transform .4s ease,box-shadow .4s ease;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center}
.stat-cell:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.stats-strip.on-dark .stat-cell{background:rgba(247,244,238,.05)}
.stats-strip.on-dark .stat-cell:hover{box-shadow:0 8px 24px rgba(0,0,0,.2)}
.stat-num{font-size:clamp(1.1rem,1.8vw,1.4rem);font-weight:400;color:var(--gold);line-height:1.3;margin-bottom:8px;letter-spacing:0}
.stat-label{font-size:13px;color:var(--text-light);line-height:1.5;letter-spacing:.5px}
.stats-strip.on-dark .stat-label{color:rgba(247,244,238,.55)}
/* About page grids */
.vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:1100px;margin:0 auto}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:960px;margin:0 auto}

@media(max-width:768px){
  .stats-strip{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:48px}
  .stat-cell{padding:32px 16px;aspect-ratio:auto}
  .vm-grid{grid-template-columns:1fr;gap:32px}
  .method-grid{grid-template-columns:1fr;gap:16px}
  .floating-cta{bottom:80px}
}

/* ============================================================
   PHILOSOPHY — 經營理念（置中排版）
   ============================================================ */
.philosophy-section{padding:120px 0;text-align:center}
.philosophy-text{
  font-size:18px;line-height:2.2;color:rgba(247,244,238,.8);
  max-width:680px;margin:0 auto 28px;
}
.philosophy-link{
  display:inline-block;font-size:15px;font-weight:500;
  color:var(--gold);letter-spacing:1px;
  border-bottom:1px solid rgba(196,160,40,.3);
  padding-bottom:2px;margin-bottom:64px;
  transition:border-color .3s;
}
.philosophy-link:hover{border-color:var(--gold)}
.milestone-row{
  display:grid;grid-template-columns:repeat(3,1fr);gap:40px;
  max-width:960px;margin:0 auto;text-align:left;
}
.milestone-card{
  padding:28px 24px;
  border-left:2px solid rgba(196,160,40,.35);
}
.milestone-year{
  font-size:20px;font-weight:700;color:var(--gold);
  display:block;margin-bottom:10px;letter-spacing:1px;
}
.milestone-card p{
  font-size:15px;line-height:1.85;color:rgba(247,244,238,.65);margin:0;
}
@media(max-width:768px){
  .philosophy-section{padding:80px 0}
  .milestone-row{grid-template-columns:1fr;gap:24px}
  .philosophy-text br{display:none}
}

/* ============================================================
   SERVICES GRID — 2×3 card layout
   ============================================================ */
#services{padding:100px 0;scroll-margin-top:var(--nav-height)}
.svc-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  align-items:stretch;
}
.svc-card{
  padding:32px 28px;
  border:1px solid var(--border);border-radius:6px;
  background:var(--white);
  transition:border-color .35s,transform .35s,box-shadow .35s;
  position:relative;
  display:grid;
  grid-template-rows:auto auto 66px 1fr;
}
.svc-card:hover{
  border-color:var(--gold);
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(26,25,20,.06);
}
.svc-card-num{
  font-size:15px;font-weight:600;color:var(--gold);
  letter-spacing:2px;display:block;margin-bottom:12px;
}
.svc-card h3{
  font-size:20px;font-weight:500;color:var(--text);
  margin:0 0 16px;min-height:28px;
}
.svc-card-tags{
  list-style:none;padding:0;margin:0 0 16px;
  display:flex;flex-wrap:wrap;gap:6px;
  min-height:66px;align-content:flex-start;
}
.svc-card-tags li{
  font-size:12px;color:var(--gold);
  border:1px solid rgba(196,160,40,.4);border-radius:20px;
  padding:3px 12px;white-space:nowrap;
  height:26px;display:flex;align-items:center;
}
.svc-card p{
  font-size:15px;line-height:1.8;color:var(--text-mid);margin:0;
  align-self:start;
}
@media(max-width:1024px){
  .svc-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  #services{padding:80px 0}
  .svc-grid{grid-template-columns:1fr}
}

/* ============================================================
   ADVANTAGES — 核心優勢（深色 左右分割）
   ============================================================ */
.adv-section{padding:100px 0}
.adv-split{
  display:grid;grid-template-columns:1fr 1.4fr;gap:80px;
  align-items:stretch;
}
.adv-left{display:flex;flex-direction:column;gap:48px}
.adv-number{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px}
.adv-num{
  font-size:clamp(3rem,5vw,4.5rem);font-weight:500;
  color:var(--gold);line-height:1;letter-spacing:-2px;
}
.adv-unit{
  font-size:clamp(1.4rem,2.5vw,2rem);font-weight:500;
  color:var(--gold);margin-left:2px;
}
.adv-label{
  display:block;width:100%;
  font-size:15px;color:rgba(247,244,238,.55);
  margin-top:6px;letter-spacing:.5px;
}
.adv-right{display:flex;flex-direction:column;justify-content:space-between;padding-top:8px}
.adv-list{
  list-style:none;padding:0;margin:0 0 16px;
}
.adv-list li{
  font-size:18px;font-weight:500;color:var(--cream);
  padding:28px 0;
  border-bottom:1px solid rgba(247,244,238,.1);
  letter-spacing:.5px;
}
.adv-list li::before{
  content:'';display:inline-block;
  width:8px;height:8px;background:var(--gold);
  border-radius:50%;margin-right:14px;
  vertical-align:middle;
}
.adv-desc{
  font-size:15px;line-height:2;color:rgba(247,244,238,.55);margin:0;
}
@media(max-width:768px){
  .adv-section{padding:80px 0}
  .adv-split{grid-template-columns:1fr;gap:48px}
}

/* ============================================================
   SERVICES ACCORDION — click to expand
   ============================================================ */
.svc-item{cursor:pointer;user-select:none}
.svc-toggle{margin-left:auto;font-size:24px;font-weight:300;color:var(--text-light);transition:transform .35s;flex-shrink:0;padding-left:16px}
.svc-item.active .svc-toggle{transform:rotate(45deg)}
.svc-detail{max-height:0;overflow:hidden;transition:max-height .45s ease,opacity .35s;opacity:0}
.svc-item.active .svc-detail{max-height:400px;opacity:1;margin-top:12px}
.svc-tags{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:8px}
.svc-tags li{font-size:13px;color:var(--gold);border:1px solid var(--gold);border-radius:20px;padding:4px 14px;white-space:nowrap}
.svc-detail p{margin:0;line-height:1.8}

/* Recognition + Journey horizontal strip */
.recognition-strip-section{
  background:var(--cream);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:36px 0;
}
.recognition-strip{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:32px;
  align-items:start;
}
.rs-group{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.rs-label{
  font-size:13px;font-weight:600;
  letter-spacing:3px;text-transform:uppercase;
  color:var(--gold);
}
.rs-items{display:flex;gap:28px;flex-wrap:wrap}
.rs-item{display:flex;flex-direction:column;gap:4px;min-width:0}
.rs-year{font-size:20px;font-weight:700;color:var(--gold);letter-spacing:1px}
.rs-text{font-size:17px;color:var(--text-mid);line-height:1.6}
.rs-divider{width:1px;background:var(--border);align-self:stretch;flex-shrink:0}

@media(max-width:768px){
  .recognition-strip{grid-template-columns:1fr;gap:28px}
  .rs-items{gap:20px}
  .rs-divider{width:100%;height:1px}
  .why-wom h2{font-size:clamp(1.8rem,6vw,2.4rem)}
}
.section-label{font-size:20px;font-weight:600;letter-spacing:3.5px;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:8px}

@media(max-width:768px){
  .about-grid{grid-template-columns:1fr;gap:48px}
}

/* =============================================
   BLOG ARTICLE PAGE
   ============================================= */

/* ── 文章頁面 Header（取代暗色 page-hero，融入文章內容風格） ── */
.article-page-header{
  background:var(--cream);
  padding:110px 24px 48px;
  border-bottom:1px solid var(--cream-2);
}
.article-header-inner{
  max-width:720px;
  margin:0 auto;
}
.article-page-header h1{
  font-size:clamp(1.75rem, 2.8vw, 2.4rem);
  font-weight:700;
  color:var(--dark);
  line-height:1.35;
  letter-spacing:0;
  margin:14px 0 18px;
}
.article-subtitle{
  font-size:16px;
  color:rgba(30,20,10,.58);
  line-height:1.78;
  max-width:640px;
  margin:0;
}
/* meta 在淺色 header 裡的 override */
.article-page-header{padding:130px 24px 48px}
.article-page-header .blog-article-meta{justify-content:flex-start;align-items:center}
.article-page-header .blog-card-tag{display:inline-block;margin-bottom:0;font-size:15px;letter-spacing:1.5px}
.article-page-header .blog-meta-date{color:rgba(30,20,10,.4);font-size:14px}

/* Hero 區塊 — 副標題修正 */
.page-hero-desc{
  font-size:17px !important;
  color:rgba(247,244,238,.68) !important;
  max-width:700px;
  margin:12px auto 0;
  line-height:1.9;
  letter-spacing:.3px;
}
.blog-article-meta{
  display:flex;align-items:center;justify-content:center;
  gap:14px;margin-bottom:18px;
}
.blog-meta-date{
  font-size:13px;color:rgba(247,244,238,.4);
  font-family:'Montserrat',sans-serif;letter-spacing:1px;
}

/* 文章底部 CTA 區塊 */
.blog-article-cta{
  max-width:720px;
  margin:0 auto 64px;
  padding:36px 40px;
  background:var(--cream-2);
  border-left:3px solid var(--gold);
  border-radius:0 8px 8px 0;
}
.blog-article-cta h3{
  font-size:17px;
  font-weight:700;
  color:var(--dark);
  margin:0 0 10px;
  line-height:1.5;
  letter-spacing:.3px;
}
.blog-article-cta p{
  font-size:14.5px;
  color:rgba(30,20,10,.6);
  line-height:1.75;
  margin:0 0 20px;
}

/* 封面圖 */
.blog-article-cover{
  background:var(--cream);
  padding:40px 24px 48px;
}

/* 文章主體容器 */
.blog-article-body{
  max-width:720px;
  margin:0 auto;
  padding:56px 0 80px;
  font-size:16.5px;
  line-height:1.95;
  color:#2c2c2c;
}
.blog-article-body p{margin-bottom:22px}

/* H2 — 金線分隔 */
.blog-article-body h2{
  font-size:22px;font-weight:700;
  color:var(--dark);
  margin:52px 0 16px;
  padding-bottom:10px;
  border-bottom:2px solid var(--gold);
  letter-spacing:.5px;
}
.blog-article-body h3{
  font-size:18px;font-weight:600;
  color:var(--dark);
  margin:36px 0 12px;
}
.blog-article-body h4{
  font-size:16px;font-weight:700;
  color:var(--dark);
  margin:28px 0 8px;
}

/* 清單 */
.blog-article-body ul,
.blog-article-body ol{padding-left:24px;margin-bottom:22px}
.blog-article-body li{margin-bottom:10px;line-height:1.85}

/* 分隔線 */
.blog-article-body hr{
  border:none;border-top:1px solid #e8e5e0;
  margin:44px 0;
}
.blog-article-body strong{color:var(--dark);font-weight:700}

/* 引言 */
.blog-article-body blockquote{
  border-left:3px solid var(--gold);
  padding:14px 22px;margin:28px 0;
  background:#faf9f6;
  font-style:italic;color:#555;
  border-radius:0 6px 6px 0;
}

/* 表格 */
.blog-article-body table{width:100%;border-collapse:collapse;margin-bottom:28px;font-size:15px}
.blog-article-body th{
  background:var(--dark);color:var(--cream);
  padding:10px 14px;text-align:left;
  font-weight:600;font-size:13px;letter-spacing:1px;
}
.blog-article-body td{
  padding:10px 14px;
  border-bottom:1px solid #e8e5e0;
  vertical-align:top;
}
.blog-article-body tr:nth-child(even) td{background:#faf9f6}

/* 延伸閱讀區 */
.blog-related{background:var(--cream);padding:64px 24px}
.blog-related-inner{max-width:720px;margin:0 auto}
.blog-related h3{
  font-size:13px;font-weight:600;letter-spacing:3px;
  text-transform:uppercase;color:var(--gold);margin-bottom:24px;
}
.blog-related-list{display:flex;flex-direction:column;gap:14px}
.blog-related-item{
  display:flex;align-items:center;gap:16px;
  padding:16px 20px;background:#fff;border-radius:8px;
  text-decoration:none;color:var(--dark);
  border:1px solid #e8e5e0;
  transition:border-color .2s,box-shadow .2s;
  font-size:15px;line-height:1.5;
}
.blog-related-item:hover{border-color:var(--gold);box-shadow:0 2px 12px rgba(0,0,0,.06)}
.blog-related-arrow{color:var(--gold);font-size:18px;flex-shrink:0;margin-left:auto}

@media(max-width:768px){
  .blog-article-body{font-size:15.5px;padding:36px 0 56px}
  .blog-article-body h2{font-size:20px;margin-top:40px}
  .blog-article-cover{padding:28px 16px 0}
}
