:root {
  --refresh-paper: #fffdf8;
  --refresh-cream: #f4efe4;
  --refresh-ink: #12251e;
  --refresh-deep: #08251d;
  --refresh-green: #087a4d;
  --refresh-line: #d9ded7;
  --refresh-shadow: 0 20px 56px rgba(8, 37, 29, .10);
}

/* Approved finished banners are the complete public hero. Never layer the old
   template copy, masks, gradients, crops, or split layouts over these assets. */
.brand-hero {
  display: block !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  color: inherit !important;
}
.brand-hero::before,
.brand-hero::after { display: none !important; }
.brand-hero > .hero-banner,
.brand-hero > .page-hero-banner {
  position: static !important;
  display: block !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  clip-path: none !important;
  opacity: 1 !important;
  filter: none !important;
}
.brand-hero > .container { display: none !important; }

/* One fixed global header on every public page. */
html { scroll-padding-top: 96px !important; }
body { padding-top: 82px !important; }
.site-header {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
}
@media (max-width: 760px) {
  body { padding-top: 78px !important; }
}

/* RCD brand watermark: decorative only, kept behind public content. */
main > section:not(.hero):not(.page-hero):nth-of-type(even) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
main > section:not(.hero):not(.page-hero):nth-of-type(even)::after {
  content: "";
  position: absolute;
  right: -20px;
  bottom: -24px;
  z-index: -1;
  width: min(34vw, 420px);
  height: 170px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 170'%3E%3Ctext x='0' y='145' fill='%23087a4d' fill-opacity='.055' font-family='Arial,sans-serif' font-size='156' font-weight='900' letter-spacing='-12'%3ERCD%3C/text%3E%3C/svg%3E") right bottom / contain no-repeat;
  pointer-events: none;
  user-select: none;
}

@media (max-width: 720px) {
  main > section:not(.hero):not(.page-hero):nth-of-type(even)::after {
    right: -12px;
    bottom: -14px;
    width: min(58vw, 250px);
    height: 105px;
    opacity: .82;
  }
}

html { scroll-padding-top: 92px; }
body { color: var(--refresh-ink); background: var(--refresh-paper); }
.pending-toast { display: none !important; }
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .22; background-image: linear-gradient(rgba(8,37,29,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(8,37,29,.025) 1px, transparent 1px); background-size: 72px 72px; }

.site-header { border-bottom: 1px solid rgba(255,255,255,.08) !important; box-shadow: 0 12px 40px rgba(2,20,14,.18) !important; }
.site-header .hd-wrap { width:min(1420px,calc(100% - 40px)) !important; min-height:78px !important; gap:18px !important; }
.site-header .logo-shell { width:46px !important; height:46px !important; box-sizing:border-box; overflow:hidden; padding:5px !important; border:1px solid rgba(207,224,213,.36); border-radius:13px !important; background:#f2f4ee !important; box-shadow:0 7px 18px rgba(0,0,0,.14) !important; }
.site-header .logo-shell img { border-radius: 8px; filter: saturate(.88) brightness(.97) contrast(1.03); }
.site-header .brand-cn { color: #f7faf8 !important; letter-spacing: -.01em !important; }
.site-header .brand-en { color: #a9c5b8 !important; }
.site-header .hd-nav a,
.site-header .nav a { border-radius: 10px 3px 10px 3px; transition: background .2s ease, color .2s ease, transform .2s ease; }
.site-header .hd-nav a:hover,
.site-header .hd-nav a.active,
.site-header .nav a:hover,
.site-header .nav a.active { color:#fff !important; background: linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.055)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); }
.site-header .hd-nav a:hover,
.site-header .nav a:hover { transform:translateY(-1px); }
.site-header .hd-nav a:last-child,
.site-header .nav a:last-child { height:44px !important; margin-left:8px; padding:0 18px !important; color:#0b2d21 !important; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:linear-gradient(135deg,#f1bd49,#d99a1f); box-shadow:0 8px 20px rgba(0,0,0,.18); }
.site-header .hd-nav a:last-child::after,
.site-header .nav a:last-child::after { display:none; }
.site-header .hd-nav a:last-child:hover,
.site-header .nav a:last-child:hover { color:#062218 !important; background:linear-gradient(135deg,#ffd46c,#e7aa2d); }

main > .hero,
main > .page-hero { position: relative; isolation: isolate; border-bottom: 1px solid rgba(8,37,29,.14); }
main > .hero::after,
main > .page-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; box-shadow: inset 0 -70px 90px rgba(8,37,29,.09); }
main > .hero img,
main > .page-hero img { filter: saturate(.93) contrast(1.02); }

.subnav-wrap,
.topicbar { box-shadow: 0 12px 28px rgba(8,37,29,.06); }
.subnav a,
.topicbar a { letter-spacing: .01em; }

.section-title,
.intro-copy h2,
.chairman-copy h2,
.join h2 { letter-spacing: -.035em; text-wrap: balance; }
.section-kicker,
.kicker,
.eyebrow { letter-spacing: .18em !important; }
.section-head { position: relative; }
.section-head::before { display: none !important; }
.section-head > div:first-child { position: relative; padding-top: 20px; }
.section-head > div:first-child::before { content: ""; position: absolute; left: 0; top: 0; width: 48px; height: 2px; border-radius: 99px; background: var(--brand-green,#079b4d); }
.section-head .section-kicker,
.section-head .eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 13px; font-size: 12px !important; font-weight: 900; }
.section-head .section-kicker::before,
.section-head .eyebrow::before { content: none; }
.section-head h2,
.section-head .section-title { font-family: "Microsoft JhengHei","Noto Sans TC",system-ui,sans-serif; font-weight: 800 !important; line-height: 1.16 !important; letter-spacing: -.035em !important; text-wrap: balance; }
.section-head .section-sub,
.section-head p:not(.eyebrow) { font-size: 17px !important; line-height: 1.8; }

.finder,
.hero-panel,
.panel-section,
.form-panel,
.contact-card,
.faq-card,
.service-card,
.notice-card,
.category-card,
.doc-card,
.news-card,
.news-item,
.event-card,
.path-card,
.outcome-item,
.person-card,
.purpose-card,
.term-card,
.pro-member-card,
.launch-member-card,
.brand-panel { border-color: rgba(8,122,77,.16) !important; border-radius: 16px !important; box-shadow: 0 12px 34px rgba(8,37,29,.065); }

.news-card,
.event-card,
.person-card,
.pro-member-card,
.service-card,
.category-card,
.doc-card { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.news-card:hover,
.event-card:hover,
.person-card:hover,
.pro-member-card:hover,
.service-card:hover,
.category-card:hover,
.doc-card:hover { transform: translateY(-5px); border-color: rgba(8,122,77,.34) !important; box-shadow: var(--refresh-shadow); }

/* Approved RCD brand signature: never remove from formal content cards. */
.feature-card,
.news-card,
.news-item,
.event-card,
.person-card,
.pro-member-card,
.launch-member-card,
.service-card,
.category-card,
.doc-card,
.contact-card,
.faq-card,
.notice-card,
.purpose-card,
.term-card { position:relative; overflow:hidden; }
.feature-card::before,
.news-card::before,
.news-item::before,
.event-card::before,
.person-card::before,
.pro-member-card::before,
.launch-member-card::before,
.service-card::before,
.category-card::before,
.doc-card::before,
.contact-card::before,
.faq-card::before,
.notice-card::before,
.purpose-card::before,
.term-card::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  z-index:6;
  height:5px;
  background:linear-gradient(90deg,#079b4d 0 63%,#ed1c2e 63% 81%,#f5a11a 81% 100%);
  pointer-events:none;
}
.album-card,.line-contact-card,.feature-side-item,.outcome-item,.route-card,.resource-link,.quick-link,.compliance-pane { position:relative; overflow:hidden; }
.album-card::after,.line-contact-card::after,.feature-side-item::after,.outcome-item::after,.route-card::after,.resource-link::after,.quick-link::after,.compliance-pane::after {
  content:"";
  position:absolute;
  inset:0 0 auto;
  z-index:6;
  height:5px;
  background:linear-gradient(90deg,#079b4d 0 63%,#ed1c2e 63% 81%,#f5a11a 81% 100%);
  pointer-events:none;
}
.card-accent { display:block !important; height:5px !important; flex:0 0 5px; background:linear-gradient(90deg,#079b4d 0 63%,#ed1c2e 63% 81%,#f5a11a 81% 100%) !important; }
.launch-member-card::before { content:none; }

.btn,
.search-btn,
.member-card-primary,
.member-card-secondary,
.card-btn { border-radius: 10px 3px 10px 3px !important; }
input,
select,
textarea { border-radius: 10px 3px 10px 3px !important; }

.site-footer { margin-top:0; background:radial-gradient(circle at 8% 15%,rgba(22,116,78,.22),transparent 30%),linear-gradient(135deg,#09291e 0%,#04150f 68%,#071f17 100%) !important; }
.site-footer::after { content: none; }
.site-footer .ft-wrap,
.site-footer .footer-topline { position: relative; z-index: 1; }
.site-footer .footer-topline { height:4px !important; background:linear-gradient(90deg,#079b4d 0 58%,#ed1c2e 58% 80%,#f5a11a 80%) !important; }
.site-footer .ft-main { gap:30px !important; padding-top:54px !important; padding-bottom:40px !important; }
.site-footer .ft-brand { padding:26px !important; border:1px solid rgba(255,255,255,.1); border-radius:3px 22px 3px 22px; background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)); box-shadow:0 18px 44px rgba(0,0,0,.14); }
.site-footer .ft-brand-logo { border:1px solid rgba(255,255,255,.38); }
.site-footer .ft-col { position:relative; padding:8px 0 0 24px !important; border-left:1px solid rgba(255,255,255,.11) !important; }
.site-footer .ft-col h4 { position:relative; margin-bottom:18px !important; padding-bottom:12px; font-size:18px !important; }
.site-footer .ft-col h4::after { content:""; position:absolute; left:0; bottom:0; width:42px; height:2px; background:linear-gradient(90deg,#079b4d 0 58%,#ed1c2e 58% 80%,#f5a11a 80%); }
.site-footer .ft-col > a { position:relative; padding:4px 0 4px 14px !important; color:#b9cbc2 !important; transition:color .18s ease,transform .18s ease !important; }
.site-footer .ft-col > a::before { content:""; position:absolute; left:0; top:50%; width:4px; height:4px; border-radius:50%; background:#5c8b76; transform:translateY(-50%); }
.site-footer .ft-col > a:hover { color:#fff !important; transform:translateX(4px); }
.site-footer .ft-col > a:hover::before { background:#f5a11a; }
.site-footer .ft-social a { border:1px solid rgba(255,255,255,.16); border-radius:9px; background:rgba(255,255,255,.06); }
.site-footer .ft-bottom { padding:18px 0 22px !important; border-top:1px solid rgba(255,255,255,.12) !important; }

/* Leadership history is a data-driven editorial timeline, not a plain divider. */
.leadership-timeline { position:relative; isolation:isolate; overflow:hidden; margin-top:58px !important; padding:38px 34px 34px !important; border:0 !important; border-radius:3px 28px 3px 28px; color:#fff; background:radial-gradient(circle at 92% 8%,rgba(245,161,26,.16),transparent 24%),linear-gradient(135deg,#0b3b2c,#061d15 70%) !important; box-shadow:0 24px 60px rgba(4,31,22,.2); counter-reset:leader; }
.leadership-timeline::before { content:"LEADERSHIP TIMELINE"; display:block; margin-bottom:8px; color:#9dc4b1; font-size:11px; font-weight:900; letter-spacing:.22em; }
.leadership-timeline::after { content:"RCD"; position:absolute; right:-18px; bottom:-62px; z-index:-1; color:rgba(255,255,255,.035); font:900 180px/1 Arial,sans-serif; letter-spacing:-.08em; }
.leadership-timeline h3 { margin:0 0 32px !important; color:#fff !important; font-size:clamp(26px,3vw,36px) !important; line-height:1.2; }
.president-timeline { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:18px !important; padding:18px 0 0 !important; }
.president-timeline::before { left:4% !important; right:4% !important; top:0 !important; height:2px !important; opacity:.72; }
.president-timeline .timeline-item { counter-increment:leader; min-height:178px; padding:42px 18px 20px !important; text-align:left !important; border:1px solid rgba(255,255,255,.11); border-radius:2px 16px 2px 16px; background:linear-gradient(155deg,rgba(255,255,255,.105),rgba(255,255,255,.035)); box-shadow:0 14px 30px rgba(0,0,0,.11); }
.president-timeline .timeline-item::before { content:counter(leader,decimal-leading-zero) !important; left:18px !important; top:-17px !important; width:36px !important; height:36px !important; display:grid; place-items:center; transform:none !important; border:3px solid #0a3427 !important; background:#0aa05b !important; color:#fff; font-size:11px; font-weight:900; box-shadow:0 0 0 1px rgba(255,255,255,.28),0 8px 18px rgba(0,0,0,.2) !important; }
.president-timeline .timeline-item:nth-child(3n+2)::before { background:#df3341 !important; }
.president-timeline .timeline-item:nth-child(3n)::before { background:#ed9d21 !important; }
.president-timeline .timeline-item small { min-height:0 !important; color:#9ec5b2 !important; font-size:13px !important; letter-spacing:.04em; }
.president-timeline .timeline-item strong { margin-top:10px !important; color:#fff !important; font-size:22px !important; }
.president-timeline .timeline-item span { color:#c0d0c8 !important; font-size:14px !important; }
.president-timeline .timeline-item:last-child { border-color:rgba(245,161,26,.52); background:linear-gradient(145deg,rgba(245,161,26,.18),rgba(255,255,255,.055)); }
.president-timeline .timeline-item:last-child::after { content:"現任"; position:absolute; right:14px; top:14px; padding:3px 8px; border-radius:999px; color:#09291e; background:#f5a11a; font-size:11px; font-weight:900; }

/* 內頁橫幅共用系統：所有頁面只換文案與照片，不另建字體、色彩或比例。 */
.brand-hero { position: relative; min-height: 430px !important; aspect-ratio: auto !important; overflow: hidden; color: #073d2d !important; background: #f3f1eb !important; }
.brand-hero::before { content: ""; position: absolute; inset: 0 auto 0 0; z-index: 1; width: 63%; background: radial-gradient(circle at 18% 22%,rgba(255,255,255,.9),transparent 42%),linear-gradient(118deg,#f8f6f0 0%,#eeece5 78%,rgba(238,236,229,.96) 100%); clip-path: polygon(0 0,83% 0,100% 100%,0 100%); }
.brand-hero > .hero-banner,
.brand-hero > .page-hero-banner { position: absolute; inset: 0 0 0 auto !important; width: 57% !important; height: 100%; object-fit: cover; object-position: right center !important; }
.brand-hero > .container { position: relative; z-index: 2; min-height: 430px !important; display: flex; align-items: center; }
.brand-hero-copy { position: relative; z-index: 2; width: min(610px,56%); padding: 58px 0 54px; }
.brand-hero .brand-hero-eyebrow { max-width: none; margin: 0 0 26px; color: #315649 !important; font-size: 11px !important; font-weight: 850; line-height: 1.7; letter-spacing: .29em; }
.brand-hero-title { margin: 0; color: #073d2d !important; font-family: "Microsoft JhengHei","Noto Sans TC",system-ui,sans-serif; font-size: clamp(48px,5.2vw,76px) !important; font-weight: 800; line-height: 1.05; letter-spacing: .018em; }
.brand-hero-en { display: block; margin-top: 12px; color: #675d56 !important; font-family: Georgia,serif; font-size: clamp(20px,2vw,29px) !important; font-weight: 500; line-height: 1.1; letter-spacing: .14em; }
.brand-hero-rule { width: 170px; height: 3px; margin: 24px 0 18px; background: linear-gradient(90deg,#079b4d 0 48%,#ed1c2e 48% 73%,#f5a11a 73%); }
.brand-hero .brand-hero-lede { max-width: 590px; margin: 0; color: #1f312b !important; font-size: clamp(18px,1.65vw,24px) !important; font-weight: 800; line-height: 1.55; letter-spacing: .1em; }
.brand-hero-note { display: block; margin-top: 26px; color: #6b746e; font-size: 10px; font-weight: 700; line-height: 1.6; letter-spacing: .22em; }

/* 操作文字門檻採元件級覆寫；禁止用 main p / main small 之類廣域選擇器破壞既有層級。 */
main button,
main .btn,
main .card-btn,
main input,
main select,
main textarea { font-size: 16px !important; }
main input,
main select,
main textarea { min-height: 46px; }
.site-header .hd-nav a,
.site-header .nav a { font-size: 15px !important; }
.site-footer .ft-col a,
.site-footer .footer-col a { font-size: 16px !important; line-height: 1.7; }
.site-footer .ft-bottom,
.site-footer .footer-bottom,
.site-footer .ft-bottom a,
.site-footer .footer-bottom a { font-size: 14px !important; }

@media (min-width: 1180px) {
  .site-header .hd-wrap { min-height: 78px !important; gap: 18px !important; }
  .site-header .brand { min-width: 286px !important; gap: 11px !important; }
  .site-header .logo-shell { width: 46px !important; height: 46px !important; }
  .site-header .brand-cn { font-size: 16px !important; }
  .site-header .brand-en { font-size: 7.5px !important; letter-spacing: .13em !important; }
  .site-header .hd-nav,
  .site-header .nav { display: flex !important; align-items: center; gap: 2px !important; }
  .site-header .hd-nav a,
  .site-header .nav a { height: 78px !important; padding: 0 5px !important; font-size: 15px !important; white-space: nowrap; }
  .site-header .hd-nav a:last-child,
  .site-header .nav a:last-child { height:44px !important; padding:0 18px !important; }
  .site-header .hd-nav a::after,
  .site-header .nav a::after { bottom: 17px !important; left: 7px !important; right: 7px !important; }
  .site-header .mobile-btn,
  .site-header .menu-btn { display: none !important; }
}

@media (max-width: 760px) {
  body::before { background-size: 48px 48px; }
  .site-header .hd-wrap { width: calc(100% - 28px) !important; }
  .site-header .logo-shell { width: 42px !important; height: 42px !important; padding: 4px !important; border-radius: 11px !important; }
  .site-header .brand-cn { font-size: 15px !important; }
  .site-header .brand-en { display: none; }
  main button,
  main .btn,
  main .card-btn,
  main input,
  main select,
  main textarea { font-size: 16px !important; }
  .brand-hero { min-height: 0 !important; padding-bottom: 210px; background: #f3f1eb !important; }
  .brand-hero > .container { min-height: 300px !important; }
  .brand-hero::before { inset: 0 0 210px; width: 100%; clip-path: none; }
  .brand-hero > .hero-banner,
  .brand-hero > .page-hero-banner { inset: auto 0 0 !important; width: 100% !important; height: 210px; opacity: 1; object-position: center !important; }
  .brand-hero-copy { width: 100%; padding: 42px 0 36px; }
  .brand-hero .brand-hero-eyebrow { margin-bottom: 18px; font-size: 10px !important; letter-spacing: .2em; }
  .brand-hero-title { font-size: clamp(36px,10vw,42px) !important; letter-spacing: .015em; }
  .brand-hero-en { font-size: 17px !important; letter-spacing: .16em; }
  .brand-hero-rule { width: 118px; margin: 19px 0 15px; }
  .brand-hero .brand-hero-lede { font-size: 16px !important; line-height: 1.8; letter-spacing: .06em; }
  .brand-hero-note { display: none; }
  .section-head > div:first-child { padding-top: 17px; }
  .section-head > div:first-child::before { width: 48px; }
  main > .hero,
  main > .page-hero { min-height: 0; }
  .finder,
  .hero-panel,
  .panel-section,
  .form-panel { border-radius: 3px 16px 3px 16px !important; }
  .site-footer .ft-main { gap:20px !important; padding-top:34px !important; }
  .site-footer .ft-brand { padding:22px !important; }
  .site-footer .ft-col { padding:8px 0 0 !important; border-left:0 !important; }
  .leadership-timeline { padding:30px 22px 24px !important; }
  .president-timeline { grid-template-columns:1fr !important; gap:16px !important; padding:8px 0 0 18px !important; }
  .president-timeline::before { left:0 !important; right:auto !important; top:0 !important; bottom:0 !important; width:2px !important; height:auto !important; }
  .president-timeline .timeline-item { min-height:0; padding:22px 18px 20px 28px !important; }
  .president-timeline .timeline-item::before { left:-37px !important; top:19px !important; width:34px !important; height:34px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Final release gate: a client-approved baked banner is the entire hero. */
.brand-hero {
  display: block !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}
.brand-hero::before,
.brand-hero::after { display: none !important; }
.brand-hero > .hero-banner,
.brand-hero > .page-hero-banner {
  position: static !important;
  display: block !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  clip-path: none !important;
  opacity: 1 !important;
  filter: none !important;
}
.brand-hero > .container { display: none !important; }
/* Equal, fully clickable featured-news cards */
.feature-wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}
.feature-card{display:flex;min-width:0;height:100%;flex-direction:column;overflow:hidden;border:1px solid rgba(7,155,77,.16);border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 14px 36px rgba(5,41,26,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.feature-card:hover{transform:translateY(-5px);border-color:rgba(7,155,77,.38);box-shadow:0 22px 50px rgba(5,41,26,.13)}
.feature-card:focus-visible,.news-card:focus-visible{outline:3px solid var(--brand-orange);outline-offset:4px}
.feature-card-photo{aspect-ratio:16/9;overflow:hidden;background:#eef5f1}
.feature-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.feature-card:hover .feature-card-photo img{transform:scale(1.025)}
.feature-card-content{display:flex;flex:1;flex-direction:column;padding:28px 30px 30px}
.feature-card-meta{display:flex;align-items:center;justify-content:space-between;gap:16px}
.feature-card-meta time{color:var(--muted);font-size:13px;font-weight:700}
.feature-card-content h2{margin:14px 0 10px;color:var(--deep-3);font-size:clamp(25px,2vw,34px);line-height:1.35}
.feature-card-content p{margin:0 0 22px;color:var(--muted);font-size:16px;line-height:1.8}
.feature-card-action{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:var(--brand-green-2);font-size:14px;font-weight:900}
.feature-card-action span{color:var(--brand-orange);transition:transform .2s ease}
.feature-card:hover .feature-card-action span{transform:translateX(4px)}
.news-card{display:flex;height:100%;flex-direction:column;color:var(--ink)}
.news-card .news-body{display:flex;flex:1;flex-direction:column}
.news-card .news-link{margin-top:auto}

/* Give the education-training story gallery a calmer editorial rhythm. */
#trainingIntro{padding:34px 0 104px}
#trainingIntro .training-story{width:min(1540px,calc(100% - 96px));gap:54px;padding-top:24px}
#trainingIntro .training-story figure{border-radius:22px;box-shadow:0 16px 42px rgba(4,39,25,.075)}
#trainingIntro .training-story figure:before{height:4px}
#trainingIntro .training-cycle{margin-top:58px}

@media(max-width:980px){
  .feature-wrap{grid-template-columns:1fr}
  #trainingIntro .training-story{width:min(100% - 48px,1540px);gap:34px}
}
@media(max-width:640px){
  .feature-card-content{padding:22px}
  #trainingIntro{padding:24px 0 76px}
  #trainingIntro .training-story{width:calc(100% - 32px);gap:28px;padding-top:12px}
  #trainingIntro .training-story figure{border-radius:14px}
  #trainingIntro .training-cycle{margin-top:38px}
}
