/* Black + red visual direction */
:root {
  --navy: #121010;
  --navy-2: #241818;
  --ink: #1c1818;
  --muted: #716868;
  --paper: #f3efed;
  --accent: #a71922;
  --gold: #b83a3f;
  --line: #ddd5d3;
}

.site-header.is-scrolled,
.site-nav { background: #100d0ded; }
.hero { background: #120e0f; }
.slide-content { background: linear-gradient(135deg, #1b1113, #090808); }
.slide-strategy .slide-art { background: linear-gradient(155deg, #080707 8%, #3a1115 60%, #ae2028); }
.slide-strategy .slide-art::after { background: #ff263642; }
.slide-research .slide-art { background: linear-gradient(145deg, #090808, #4a1117 54%, #b42630); }
.slide-research .slide-art::after { background: #f1d5d566; box-shadow: -150px 170px 0 #db303755; }
.slide-training .slide-art { background: linear-gradient(140deg, #100d0e, #4b1b20 58%, #bb343b); }
.slide-training .slide-art::after { border-color: #e3474f99; }
.eyebrow,
.section-kicker { color: #d6ad57; }
.button-primary { color: #1a0f10; }
.service-icon { color: #b62c34; }
.service-card.featured,
.service-card:hover,
.dark-section { background: #151111; }
.advantage-grid strong { color: #d13c44; }
.portrait-placeholder { background: linear-gradient(150deg, #eee9e7, #caa4a6); }
.pending-label { background: #f2e3e2; color: #8e2026; }
.training-banner { background: linear-gradient(105deg, #73161d, #1c1113); }
.article-visual.one { background: linear-gradient(135deg, #211719, #ad2a31); }
.article-visual.two { background: repeating-linear-gradient(45deg, #d8d0ca 0 20px, #861c23 20px 40px); }
.article-visual.three { background: radial-gradient(circle at 35% 40%, #e04b52 0 15%, transparent 16%), linear-gradient(135deg, #171313, #8c242a); }
.article-visual.pif { background: radial-gradient(circle at 82% 24%, rgba(155,29,37,.7), transparent 27%), repeating-linear-gradient(120deg, transparent 0 54px, rgba(215,181,91,.09) 55px 56px), linear-gradient(135deg, #100d0d, #4d1218 70%, #1b1516); }
.article-grid .meta { color: #9b3439; }
.contact-actions small { color: #8e292e; }
.site-footer { background: #0e0b0c; }
.site-footer p { color: #aaa0a0; }
.consultant { grid-template-columns: 300px 1fr; gap: 8%; align-items: start; }
.consultant-portrait { width: 250px; aspect-ratio: 4 / 5; margin: 18px auto 0; padding: 0; overflow: hidden; background: #241819; border: 0; box-shadow: 0 18px 40px #2b0b0e26; }
.consultant-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: none; }
.credential-list { margin: 22px 0; padding: 20px 0 20px 22px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #514949; font-size: 14px; }
.credential-list li + li { margin-top: 8px; }
.profile-sources { display: flex; flex-wrap: wrap; gap: 12px 18px; margin-top: 24px; font-size: 11px; }
.profile-sources span { color: var(--muted); }
.profile-sources a { color: #861c23; border-bottom: 1px solid #861c23; }
.article-summary { color: var(--muted); font-size: 13px; line-height: 1.75; }
.teaching-methods { padding-bottom: 72px; }
.method-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.method-grid article { min-height: 300px; padding: 34px; border-right: 1px solid var(--line); background: #fff; }
.method-grid article:last-child { border-right: 0; }
.method-grid span { color: #a71922; font: 400 30px Georgia, serif; }
.method-grid h3 { margin: 52px 0 14px; font: 500 28px "Noto Serif TC", "PMingLiU", serif; }
.method-grid p { color: var(--muted); font-size: 14px; }
.course-scope { max-width: none; padding-left: max(24px, calc((100vw - var(--max))/2)); padding-right: max(24px, calc((100vw - var(--max))/2)); background: #151111; color: #fff; }
.course-scope .section-head > p { color: #bdb3b3; }
.scope-layout { display: grid; grid-template-columns: 1.35fr .85fr; gap: 28px; }
.scope-layout > div { padding: 36px; border: 1px solid #ffffff26; }
.scope-layout > div > h3 { margin: 0 0 28px; color: #d6ad57; font: 500 28px "Noto Serif TC", "PMingLiU", serif; }
.scope-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.consulting-scope .scope-list { grid-template-columns: 1fr; }
.scope-list article { padding: 20px 0; border-top: 1px solid #ffffff1f; }
.scope-list b { font-size: 17px; }
.scope-list p { margin: 7px 0 0; color: #bcb1b1; font-size: 13px; line-height: 1.7; }

/* Full-width photographic carousel */
.hero { min-height: 720px; }
.slide { display: block; }
.slide-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}
.slide-art::before {
  inset: 0;
  width: auto;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: linear-gradient(90deg, rgba(8,6,6,.02) 30%, rgba(8,6,6,.7) 58%, rgba(8,6,6,.98) 100%);
}
.slide-art::after { display: none; }
.slide-strategy .slide-art {
  background-image: linear-gradient(90deg, rgba(45,4,8,.08), rgba(8,6,6,.1)), url("assets/banners/strategy-space-v2.png");
}
.slide-research .slide-art {
  background-image: linear-gradient(90deg, rgba(45,4,8,.08), rgba(8,6,6,.1)), url("assets/banners/research-objects-v2.png");
}
.slide-training .slide-art {
  background-image: linear-gradient(90deg, rgba(45,4,8,.08), rgba(8,6,6,.1)), url("assets/banners/training-space-v2.png");
}
.slide-content {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  bottom: 0;
  width: 52%;
  padding: calc(var(--header) + 60px) max(48px, calc((100vw - var(--max))/2)) 120px 5%;
  background: linear-gradient(90deg, transparent, rgba(8,6,6,.5) 20%, rgba(8,6,6,.86));
}
.image-notice { z-index: 3; }

@media (max-width: 900px) {
  .hero { min-height: 760px; }
  .slide-art { background-position: 34% center; }
  .slide-art::before {
    background: linear-gradient(180deg, rgba(8,6,6,.02) 12%, rgba(8,6,6,.68) 45%, rgba(8,6,6,.98) 72%);
  }
  .slide-content {
    top: 38%;
    width: 100%;
    padding: 54px 24px 115px;
    background: linear-gradient(180deg, transparent, rgba(8,6,6,.92) 18%, #080606 72%);
  }
  .consultant { grid-template-columns: 1fr; }
  .consultant-portrait { width: 190px; justify-self: start; margin: 0; padding: 0; }
  .method-grid, .scope-layout { grid-template-columns: 1fr; }
  .method-grid article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .method-grid article:last-child { border-bottom: 0; }
  .method-grid h3 { margin-top: 28px; }
  .scope-list { grid-template-columns: 1fr; }
}

/* Compact image-overlay carousel: copy and controls sit directly on the photo. */
.hero {
  height: 520px;
  min-height: 520px;
}
.slide-art::before {
  background: linear-gradient(90deg, rgba(7,5,5,.86) 0%, rgba(9,6,6,.64) 43%, rgba(9,6,6,.14) 82%, rgba(9,6,6,.06) 100%);
}
.slide-content {
  top: 0;
  right: auto;
  bottom: 0;
  left: 0;
  width: min(650px, 62%);
  justify-content: center;
  padding: calc(var(--header) + 28px) 28px 68px max(24px, calc((100vw - var(--max))/2));
  background: transparent;
}
.slide h1,
.slide h2 {
  font-size: clamp(34px, 3.4vw, 52px);
  margin-bottom: 18px;
}
.slide-content > p:not(.eyebrow) { margin-bottom: 22px; }
.carousel-controls { right: max(24px, calc((100vw - var(--max))/2)); bottom: 22px; }

@media (max-width: 900px) {
  .hero { height: 500px; min-height: 500px; }
  .slide-art { background-position: center; }
  .slide-art::before {
    background: linear-gradient(90deg, rgba(7,5,5,.88) 0%, rgba(9,6,6,.67) 56%, rgba(9,6,6,.14) 100%);
  }
  .slide-content {
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;
    width: min(680px, 82%);
    padding: calc(var(--header) + 24px) 24px 72px;
    background: transparent;
  }
  .carousel-controls { right: 24px; bottom: 18px; }
}

@media (max-width: 560px) {
  .hero { height: 500px; min-height: 500px; }
  .slide-content { width: 100%; padding-bottom: 76px; }
  .slide h1, .slide h2 { font-size: 32px; }
}

.method-grid h3,
.scope-layout > div > h3 {
  font-family: "Aptos Display", "Segoe UI", "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  font-weight: 600;
  letter-spacing: -.015em;
}

/* Original logo integration */
.site-header{
  background:linear-gradient(180deg,rgba(12,8,9,.9) 0%,rgba(12,8,9,.62) 72%,rgba(12,8,9,0) 100%);
  border-bottom-color:rgba(215,181,91,.22);
}
.site-header.is-scrolled{
  background:rgba(15,10,11,.94);
  border-bottom-color:rgba(215,181,91,.28);
}
.site-header .brand{
  position:relative;
  align-self:stretch;
  display:flex;
  align-items:center;
  padding-right:24px;
}
.site-header .brand::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:46px;
  height:2px;
  background:linear-gradient(90deg,#d7b55b,rgba(215,181,91,0));
}
.brand-original{
  width:168px;
  height:66px;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.28));
}
.footer-original{
  width:202px;
  height:88px;
  opacity:.94;
  filter:drop-shadow(0 3px 10px rgba(0,0,0,.24));
}
.footer-brand{
  padding-left:18px;
  border-left:1px solid rgba(215,181,91,.34);
}
@media(max-width:900px){
  .site-header{background:linear-gradient(180deg,rgba(12,8,9,.94),rgba(12,8,9,.72));}
  .site-header .brand{padding-right:14px}
  .brand-original{width:142px;height:58px}
}
@media(max-width:560px){
  .brand-original{width:126px;height:52px}
  .footer-original{width:174px;height:76px}
}

/* Navigation is always presented as direct text links, never as a menu panel. */
.site-nav,
.site-nav.is-open { background: transparent; }

/* Compact teaching-method cards: halve vertical whitespace consistently. */
.method-grid article { min-height: 210px; padding: 17px 24px; }
.method-grid h3 { margin: 26px 0 8px; }
@media(max-width:900px) {
  .method-grid article { min-height: auto; padding-top: 17px; padding-bottom: 17px; }
  .method-grid h3 { margin-top: 14px; }
}

/* Generated editorial covers override the earlier placeholder gradients. */
.article-visual { aspect-ratio: 3 / 1; background-position: center; background-size: cover; }
.article-visual.one { background-image: url("assets/insights/continuous-improvement-v1.png"); }
.article-visual.two { background-image: url("assets/insights/target-customer-v1.png"); }
.article-visual.three { background-image: url("assets/insights/marketing-logic-v1.png"); }
.article-visual::after {
  z-index: 1;
  background: linear-gradient(90deg, rgba(7,6,7,.58) 0%, rgba(19,9,11,.22) 46%, rgba(12,8,9,0) 100%);
}
.article-visual > img { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.article-cover-copy { z-index: 2; }

/* One uninterrupted full-frame overlay; prevent the copy panel from forming a seam. */
.slide-art::before { display: none !important; }
.slide::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(7,5,5,.82) 0%, rgba(9,6,6,.58) 44%, rgba(9,6,6,.18) 78%, rgba(9,6,6,.08) 100%);
}
.slide-content {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
@media(max-width:900px) {
  .slide::after {
    background: linear-gradient(90deg, rgba(7,5,5,.84) 0%, rgba(9,6,6,.62) 54%, rgba(9,6,6,.16) 100%);
  }
}

/* Tablet and phone hero are independently composed for legible, stable wrapping. */
@media (max-width: 1180px) {
  .slide-content {
    width: min(720px, 72%);
    padding-left: 28px;
    padding-right: 28px;
  }
  .slide h1, .slide h2 { font-size: clamp(36px, 4.2vw, 50px); }
}

@media (max-width: 980px) {
  .hero { height: 560px; min-height: 560px; }
  .slide-art { background-position: 58% center; }
  .slide-content {
    width: min(680px, 84%);
    padding: calc(var(--header) + 24px) 22px 84px;
  }
  .slide h1, .slide h2 {
    max-width: 13em;
    font-size: clamp(34px, 5.5vw, 46px);
    line-height: 1.28;
  }
  .slide-content > p:not(.eyebrow) { max-width: 32em; font-size: 16px; }
}

@media (max-width: 600px) {
  .hero { height: 590px; min-height: 590px; }
  .slide-art { background-position: 62% center; }
  .slide::after {
    background: linear-gradient(180deg, rgba(8,5,6,.24) 0%, rgba(8,5,6,.48) 30%, rgba(8,5,6,.94) 70%, #080606 100%);
  }
  .slide-content {
    width: 100%;
    justify-content: flex-end;
    padding: calc(var(--header) + 22px) 18px 92px;
  }
  .slide h1, .slide h2 {
    max-width: 11em;
    margin-bottom: 14px;
    font-size: clamp(30px, 9.2vw, 38px);
    line-height: 1.26;
  }
  .slide h1 br, .slide h2 br { display: none; }
  .eyebrow { margin-bottom: 10px; font-size: 10px; letter-spacing: .16em; }
  .slide-content > p:not(.eyebrow) { margin-bottom: 16px; font-size: 14px; line-height: 1.65; }
  .button { padding: 9px 12px; }
  .carousel-controls { right: 16px; bottom: 18px; gap: 10px; }
  .carousel-controls button { width: 38px; height: 38px; }
  .carousel-status { display: flex; }
  .status-line { width: 48px; }
}
