/* 首頁關於與實力展示 */
.achievement,
.intro--rich,
.services {
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.achievement { background:#faf9f5; }
.intro--rich {
  background:#fff;
  border-top:1px solid #d9c69e;
}
.services { background:#f2efe8; }
.achievement::before,
.intro--rich::before,
.services::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:url('/media/cloud-pattern-subtle-fast.webp?v=20260914b') center / cover;
  filter:sepia(.35) saturate(.5) contrast(.96);
  mix-blend-mode:multiply;
  opacity:.05;
  pointer-events:none;
}
.achievement::after,
.intro--rich::after,
.services::after {
  content:"";
  position:absolute;
  inset:18px 24px;
  z-index:0;
  border:1px solid rgba(150,35,29,.32);
  box-shadow:inset 0 0 0 4px rgba(194,154,72,.2);
  pointer-events:none;
}
.achievement > .container,
.intro--rich > .container,
.services > .container { position:relative; z-index:1; }

.cta {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-block:64px;
  background:
    radial-gradient(ellipse at 72% 28%, rgba(207,159,67,.11), transparent 31%),
    linear-gradient(128deg, #121110 0%, #25221d 52%, #11100f 100%);
  color:#fff;
}
.cta::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle, rgba(236,194,102,.14) 0%, rgba(185,122,35,.035) 24%, transparent 56%);
  filter:blur(38px);
  transform:translate(20%, -10%);
  opacity:.5;
  pointer-events:none;
}
.cta::after {
  content:"";
  position:absolute;
  top:0;
  right:0;
  left:0;
  z-index:0;
  height:2px;
  background:linear-gradient(90deg, transparent 0%, rgba(203,157,70,.55) 18%, #e1bd72 50%, rgba(203,157,70,.55) 82%, transparent 100%);
  box-shadow:0 1px 8px rgba(215,174,86,.16);
  pointer-events:none;
}
.cta > .container { position:relative; z-index:1; }
.cta .eyebrow { color:#ebc97e; }
.cta h2 { color:#fff; }
.cta > .container > p:not(.eyebrow) { color:#f4e7dc; }
.cta .button--gold { background:#d0a45e; }
.cta .text-link { color:#fff; }

.cases {
  padding-block:0;
  background:transparent;
}
.cases .container { width:100%; max-width:none; }
.intro--rich { padding-block:62px; }
.achievement__number .achievement__unit { color:var(--ink); font-family:var(--sans); font-size:.38em; font-weight:700; letter-spacing:.05em; vertical-align:middle; }
.intro--rich .intro__grid { align-items:center; gap:clamp(36px, 7vw, 104px); }
.intro--rich .intro__copy { max-width:530px; }
.intro--rich h2 { margin:12px 0 22px; }
.intro__points { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:28px 0 28px; }
.intro__points div { border-top:1px solid #c6ab75; padding-top:12px; }
.intro__points dt { color:#26231e; font-weight:800; font-size:17px; }
.intro__points dd { margin:6px 0 0; color:#6a6258; font-size:14px; line-height:1.55; }
.intro--rich .intro__image { aspect-ratio:1/1; overflow:hidden; }
.intro--rich .intro__image img { width:100%; height:100%; object-fit:cover; object-position:center; }

.service-card--image { min-height:340px; overflow:hidden; }
.service-card--image img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.service-card--image:hover img { transform:scale(1.045); }
.services { padding-block:46px; }

.showcase {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#fff;
  padding-block:46px;
  background:
    radial-gradient(ellipse at 78% 18%, rgba(206,161,72,.18), transparent 34%),
    radial-gradient(ellipse at 14% 86%, rgba(151,104,34,.11), transparent 32%),
    linear-gradient(135deg, #090908 0%, #1c1812 52%, #0f0e0c 100%);
}
.showcase::before {
  content:"";
  position:absolute;
  inset:-30%;
  z-index:-1;
  background:radial-gradient(circle, rgba(238,197,109,.22) 0%, rgba(195,145,48,.06) 25%, transparent 58%);
  filter:blur(34px);
  transform:translate(24%, -18%);
  pointer-events:none;
}
.showcase .container { position:relative; z-index:1; }
.showcase .eyebrow { color:#e2b765; }
.showcase h2 { color:#fff; margin:10px 0 0; }
.showcase .section-heading--split > div { flex:0 0 auto; }
.showcase h2 span { display:block; white-space:nowrap; }
.section-heading--split { display:flex; align-items:end; justify-content:space-between; gap:36px; text-align:left; margin-bottom:40px; }
.section-heading--split > p { max-width:390px; margin:0; color:#d7d0c4; line-height:1.75; }
.showcase__grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; grid-template-rows:240px 240px; gap:14px; }
.showcase__grid figure { position:relative; overflow:hidden; margin:0; min-height:0; background:#151310; }
.showcase__grid .showcase__feature { grid-row:span 2; }
.showcase__grid figure:last-child { grid-column:span 2; }
.showcase__grid img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.showcase__grid figure:hover img { transform:scale(1.04); }
.showcase__grid figcaption { position:absolute; right:0; bottom:0; left:0; padding:30px 20px 17px; color:#fff; font-size:15px; background:linear-gradient(transparent, rgba(0,0,0,.78)); }
.showcase__feature figcaption { display:flex; flex-direction:column; gap:6px; padding:50px 24px 22px; }
.showcase__feature figcaption span { color:#e7bd70; font-size:12px; letter-spacing:.13em; }
.showcase__feature figcaption strong { font-size:19px; }

@media (max-width:760px) {
  .achievement::after,
  .intro--rich::after,
  .services::after { inset:12px; box-shadow:inset 0 0 0 3px rgba(194,154,72,.18); }
  .cta { padding-block:48px; }
  .intro--rich { padding-block:60px; }
  .intro__points { grid-template-columns:1fr; }
  .intro--rich .intro__image { aspect-ratio:1/1; }
  .service-card--image { min-height:270px; }
  .services { padding-block:38px; }
  .showcase { padding-block:34px; }
  .section-heading--split { display:block; }
  .section-heading--split > p { margin-top:18px; }
  .showcase__grid { grid-template-columns:1fr 1fr; grid-template-rows:250px 180px 180px; }
  .showcase__grid .showcase__feature { grid-column:span 2; grid-row:auto; }
  .showcase__grid figure:last-child { grid-column:span 2; }
}
