/* =========================================================
   Figma full-page alignment patch v7
   対象Figma: node-id=1:2
   ========================================================= */
:root {
  --figma-green: #1f3d2e;
  --figma-deep: #142b22;
  --figma-gold: #b58a3e;
  --figma-bg: #faf7f0;
  --figma-warm: #f2ecdb;
  --figma-warm-2: #f8f1de;
  --figma-border: #e5dfd0;
  --figma-dash: #d3ccb8;
  --figma-text: #1a2620;
  --figma-sub: #4a574f;
  --figma-muted: #7c8580;
  --figma-wrap: 1200px;
}

html { scroll-behavior: smooth; }
body {
  background: var(--figma-bg) !important;
  color: var(--figma-text) !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  letter-spacing: 0;
}
.container {
  max-width: var(--figma-wrap) !important;
  width: 100% !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Header */
.site-header {
  height: 125px !important;
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(6px) !important;
  border-bottom: 1px solid var(--figma-border) !important;
  box-shadow: none !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}
.site-header__pr {
  height: 45px;
  display: flex;
  align-items: center;
  padding: 0 32px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.8px;
  color: #2d5240;
  line-height: 14px;
}
.site-header__inner {
  height: 79px !important;
  max-width: none !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.site-logo { gap: 12px !important; color: inherit !important; text-decoration: none !important; }
.site-logo__icon,
.footer-brand__icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 6px !important;
  background: var(--figma-green) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
  line-height: 1 !important;
}
.site-logo__text {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  color: var(--figma-text) !important;
  letter-spacing: .52px !important;
  line-height: 18.2px !important;
}
.site-logo__text small {
  display: block !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #2d5240 !important;
  letter-spacing: 1.8px !important;
  line-height: 14px !important;
}
.site-nav ul { gap: 28px !important; }
.site-nav a {
  color: var(--figma-sub) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .78px !important;
  line-height: 24px !important;
}

/* Hero */
.hero {
  min-height: 885px !important;
  background: var(--figma-bg) !important;
  position: relative !important;
  overflow: hidden !important;
}
.hero__bg {
  background-position: center top !important;
  background-size: cover !important;
  opacity: 1 !important;
}
.hero__inner {
  min-height: 885px !important;
  max-width: none !important;
  padding: 139px 32px 110px 73px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}
.hero__content { max-width: 960px !important; margin: 0 !important; }
.hero__breadcrumb {
  width: max-content !important;
  max-width: 100% !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 15px 8px 31px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.10) !important;
  color: #42554e !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2.42px !important;
  line-height: 20.35px !important;
  position: relative !important;
  margin: 0 0 28px !important;
}
.hero__breadcrumb::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: var(--figma-gold);
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
}
.hero__eyebrow {
  color: #42554e !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: 1.32px !important;
  line-height: 29.7px !important;
  margin: 0 0 8px !important;
}
.hero__title {
  color: #123c32 !important;
  font-size: 52px !important;
  font-weight: 900 !important;
  letter-spacing: -0.52px !important;
  line-height: 70.2px !important;
  margin: 0 0 28px !important;
  max-width: 920px !important;
}
.hero__title::first-line {
  background: linear-gradient(to bottom, rgba(181,138,62,0) 70%, rgba(181,138,62,.55) 70%);
}
.hero__lead {
  color: #42554e !important;
  font-size: 17px !important;
  line-height: 33.15px !important;
  margin: 0 0 28px !important;
}
.hero__box {
  width: 960px !important;
  max-width: 100% !important;
  min-height: 164px !important;
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(255,255,255,.70) !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 24px rgba(18,60,50,.08) !important;
  padding: 20px 35px 30px 41px !important;
  margin: 0 0 12px !important;
}
.hero__box-title {
  color: var(--figma-text) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 35.2px !important;
  margin: 14px 0 15px !important;
}
.hero__box-text {
  color: var(--figma-sub) !important;
  font-size: 14px !important;
  line-height: 27.3px !important;
  margin: 0 !important;
}
.hero__btns { gap: 16px !important; padding: 16px 0 0 13px !important; }
.btn-hero-main,
.btn-hero-outline {
  height: 66px !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1.4px !important;
  line-height: 25.9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 9px rgba(0,0,0,.10) !important;
}
.btn-hero-main { width: 211px !important; background: #b8862b !important; border: 2px solid #b8862b !important; color:#fff !important; }
.btn-hero-outline { width: 237px !important; background:#fff !important; border: 2px solid rgba(18,60,50,.24) !important; color:#123c32 !important; }

/* General sections */
.section { padding: 100px 0 !important; }
.section--white { background: #fff !important; }
.section--warm { background: var(--figma-warm) !important; }
.section--dark { background: var(--figma-deep) !important; }
.section-label,
.section-label-sm,
.clist-label {
  color: var(--figma-gold) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 3.3px !important;
  text-align: center !important;
  line-height: 20.35px !important;
  margin: 0 auto 14px !important;
}
.section-label--light { color: #f2e6c8 !important; }
.section-title,
.worries-title {
  color: var(--figma-text) !important;
  font-size: 36px !important;
  font-weight: 900 !important;
  line-height: 50.4px !important;
  letter-spacing: -0.36px !important;
  text-align: center !important;
  margin: 0 auto 16px !important;
}
.section-title--light { color: #fff !important; }
.section-lead {
  max-width: 860px !important;
  color: var(--figma-sub) !important;
  font-size: 15px !important;
  line-height: 29.25px !important;
  text-align: center !important;
  margin: 0 auto 38px !important;
}
.section-lead--light { color: rgba(255,255,255,.75) !important; }
.title-bar { width: 48px !important; height: 3px !important; border-radius: 2px !important; background: var(--figma-gold) !important; margin: 0 auto 12px !important; }

/* TOC */
.toc-nav {
  background: var(--figma-bg) !important;
  padding: 0 !important;
}
.toc-nav .container {
  max-width: none !important;
  padding: 0 33px !important;
}
.toc-nav__inner,
.toc-nav__list {
  max-width: none !important;
}
.toc-nav__inner {
  background: #fff !important;
  border: 1px solid var(--figma-border) !important;
  border-bottom: 0 !important;
  border-radius: 8px 8px 0 0 !important;
  padding: 29px 0 20px !important;
  box-shadow: 0 1px 1px rgba(20,43,34,.05) !important;
}
.toc-nav__heading-wrap {
  border-bottom: 1px dashed var(--figma-dash) !important;
  padding: 0 0 17px !important;
  margin: 0 !important;
  width: 100% !important;
}
.toc-nav__icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 18px !important;
  background: #dce6dd !important;
  color: var(--figma-green) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.toc-nav__heading { font-size: 20px !important; font-weight: 700 !important; letter-spacing: 2.52px !important; color: var(--figma-text) !important; }
.toc-nav__right { color: var(--figma-muted) !important; font-size: 10px !important; letter-spacing: 2px !important; }
.toc-nav__list {
  background: #fff !important;
  border: 1px solid var(--figma-border) !important;
  border-top: 0 !important;
  border-radius: 0 0 8px 8px !important;
  box-shadow: 0 1px 1px rgba(20,43,34,.05) !important;
  padding: 0 0 29px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px 24px !important;
}
.toc-nav__list a { color: var(--figma-sub) !important; font-size: 16px !important; line-height: 24px !important; font-weight: 400 !important; }
.toc-num { color: var(--figma-gold) !important; font-family: 'Noto Serif JP', serif !important; font-weight: 700 !important; }

/* Worries */
.worries-section { background: var(--figma-bg) !important; padding: 29px 0 56px !important; }
.worries-section .container { max-width: 1560px !important; }
.worries-title { font-family: 'Noto Serif JP', serif !important; font-size: 30px !important; line-height: 45px !important; letter-spacing: .6px !important; margin-bottom: 56px !important; }
.worries-title__em { background: linear-gradient(to bottom, transparent 60%, #f2e6c8 60%) !important; padding: 0 8px !important; color: var(--figma-text) !important; }
.worries-layout { gap: 0 !important; justify-content: center !important; align-items: center !important; }
.worries-chars { width: 437px !important; max-width: 33vw !important; }
.worries-chars__img { width: 100% !important; }
.worry-balloon { border: 2px solid var(--figma-green) !important; border-radius: 16px !important; box-shadow: 0 6px 7px rgba(20,43,34,.08) !important; color: var(--figma-text) !important; }
.worry-balloon p { font-size: 24px !important; line-height: 35px !important; }
.worry-balloon strong { color: var(--figma-green) !important; font-size: 30px !important; line-height: 34px !important; background: linear-gradient(to bottom, transparent 65%, #f2e6c8 65%) !important; }

/* Points */
.points-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px !important; align-items: start !important; }
.point-card {
  min-height: 382px !important;
  background: #fff !important;
  border: 1px solid var(--figma-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 1px rgba(20,43,34,.05) !important;
  padding: 33px 29px !important;
  position: relative !important;
}
.point-card__icon { width: 56px !important; height: 56px !important; border-radius: 28px !important; background: #dce6dd !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; font-size: 24px !important; }
.point-card__num { position: absolute !important; right: 24px !important; top: 21px !important; color: #e8dfc8 !important; font-family: 'Noto Serif JP', serif !important; font-size: 36px !important; font-weight: 900 !important; line-height: 36px !important; }
.point-card__title { margin-top: 68px !important; color: var(--figma-text) !important; font-size: 17px !important; font-weight: 700 !important; line-height: 25.5px !important; }
.point-card__text { color: var(--figma-sub) !important; font-size: 13px !important; line-height: 24px !important; }

/* Comparison */
.comp-table-wrap { border: 1px solid var(--figma-border) !important; border-radius: 8px !important; box-shadow: 0 4px 12px rgba(20,43,34,.08) !important; overflow: hidden !important; background:#fff !important; }
.comp-table { min-width: 980px !important; border-collapse: collapse !important; }
.comp-table th, .comp-table td { border-color: #ede7d6 !important; }
.comp-table__label-col,
.comp-table__item-label { width: 200px !important; background: var(--figma-warm) !important; color: var(--figma-text) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .52px !important; }
.comp-table__label-col::before { content: '比較項目'; color: #fff; }
.comp-table__label-col { background: var(--figma-green) !important; }
.comp-col--synergy { background: var(--figma-gold) !important; color: #fff !important; }
.comp-col--kachitas { background: var(--figma-deep) !important; color: #fff !important; }
.comp-company-name { font-size: 16px !important; font-weight: 700 !important; letter-spacing: 1.3px !important; line-height: 27.2px !important; }
.comp-company-copy { font-size: 10px !important; opacity: .85 !important; letter-spacing: 1.2px !important; }
.comp-table__cell { font-size: 13px !important; line-height: 22.1px !important; color: var(--figma-text) !important; }
.comp-table tr td:nth-child(2) { background: var(--figma-warm-2) !important; }
.comp-tag { border-radius: 999px !important; background: #dce6dd !important; color: var(--figma-green) !important; padding: 4px 10px !important; font-size: 11px !important; font-weight: 700 !important; }
.comp-hp-image img { max-height: 196px !important; object-fit: cover !important; }

/* Company details */
#company.section { background: linear-gradient(to bottom, var(--figma-bg), var(--figma-warm)) !important; }
.co-card {
  max-width: 1136px !important;
  margin: 0 auto 80px !important;
  border: 1px solid var(--figma-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 32px rgba(20,43,34,.10) !important;
  overflow: hidden !important;
  background: #fff !important;
}
.co-card__header { padding: 36px 48px !important; background: var(--figma-deep) !important; color: #fff !important; }
.co-card:nth-of-type(even) .co-card__header { background: var(--figma-warm-2) !important; color: var(--figma-text) !important; border-bottom: 1px solid #f2e6c8 !important; }
.co-card__name { font-size: 26px !important; font-weight: 900 !important; line-height: 36.4px !important; color: inherit !important; margin: 0 0 7px !important; }
.co-card__copy { font-size: 13px !important; font-weight: 700 !important; line-height: 24px !important; letter-spacing: 1.04px !important; color: inherit !important; opacity: .95 !important; }
.co-card__body { padding: 48px !important; display: flex !important; flex-direction: column !important; gap: 48px !important; }
.co-card__section { margin: 0 !important; padding: 0 !important; }
.co-card__section-title { border-bottom: 1px solid #ede7d6 !important; padding: 0 0 15px !important; margin: 0 0 20px !important; color: var(--figma-text) !important; font-size: 17px !important; font-weight: 900 !important; letter-spacing: 1.02px !important; line-height: 31.45px !important; display: flex !important; align-items: center !important; gap: 14px !important; }
.co-card__section-icon { width: 40px !important; height: 40px !important; border-radius: 20px !important; background: #dce6dd !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; }
.co-card__section-link,
.co-card__section-note { margin-left: auto !important; color: var(--figma-muted) !important; font-size: 10px !important; letter-spacing: 2.2px !important; }
.co-card__hp-img { background: linear-gradient(118deg, var(--figma-warm), #e8dfc8) !important; border: 1px solid var(--figma-dash) !important; border-radius: 4px !important; padding: 24px !important; margin: 0 0 20px !important; text-align: center !important; }
.co-card__hp-img img { max-height: 460px !important; width: auto !important; max-width: 100% !important; object-fit: contain !important; box-shadow: none !important; }
.co-feature-item,
.co-review { border: 1px solid var(--figma-border) !important; border-radius: 4px !important; background: #fff !important; color: var(--figma-sub) !important; }
.co-feature-item p,
.co-point-item,
.co-review__text { font-size: 13px !important; line-height: 24px !important; color: var(--figma-sub) !important; }
.co-card__btns { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; margin-top: 20px !important; }
.co-btn-dark,
.co-btn-outline { height: 66px !important; border-radius: 4px !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: 1.4px !important; }
.co-btn-dark { background: var(--figma-green) !important; border: 2px solid var(--figma-green) !important; color:#fff !important; }
.co-btn-outline { background: #fff !important; border: 2px solid var(--figma-green) !important; color: var(--figma-green) !important; }
.co-info-grid { display: grid !important; grid-template-columns: 500px 1fr !important; gap: 24px !important; }
.co-info-table { border: 1px solid var(--figma-border) !important; border-radius: 4px !important; overflow: hidden !important; }
.co-info-row { min-height: 49px !important; display: grid !important; grid-template-columns: 110px 1fr !important; border-bottom: 1px solid #ede7d6 !important; }
.co-info-label { background: var(--figma-warm) !important; font-weight: 700 !important; color: var(--figma-text) !important; }
.co-info-row span { padding: 13px 18px !important; font-size: 12px !important; line-height: 20.4px !important; }

/* Steps */
.steps-flow { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 16px !important; position: relative !important; }
.steps-flow::before { content:''; position:absolute; left:5%; right:5%; top:36px; height:2px; background:rgba(255,255,255,.15); }
.step-item { position: relative !important; text-align: center !important; padding: 20px 8px !important; background: transparent !important; box-shadow: none !important; }
.step-item__circle { width:72px !important; height:72px !important; border-radius:36px !important; background:#fff !important; border:4px solid var(--figma-deep) !important; box-shadow:0 0 0 2px var(--figma-gold) !important; margin:0 auto 6px !important; display:flex !important; align-items:center !important; justify-content:center !important; color:var(--figma-deep) !important; font-family:'Noto Serif JP',serif !important; font-size:28px !important; font-weight:900 !important; }
.step-item__icon { position:absolute !important; top:12px !important; right:28% !important; width:28px !important; height:28px !important; border-radius:14px !important; background:var(--figma-gold) !important; color:#fff !important; display:flex !important; align-items:center !important; justify-content:center !important; font-size:13px !important; }
.step-item__title { color:#fff !important; font-size:14px !important; font-weight:700 !important; line-height:25.9px !important; letter-spacing:.84px !important; }
.step-item__text { color:rgba(255,255,255,.65) !important; font-size:11px !important; line-height:18.7px !important; }

/* Market */
#market .section-title { font-size: 32px !important; }
.market-lead { max-width: 720px !important; margin: 0 auto 48px !important; text-align: center !important; color: var(--figma-sub) !important; font-size: 14px !important; line-height: 27.3px !important; }
.market-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; max-width: 1268px !important; margin: 0 auto !important; }
.market-card { display: flex !important; min-height: 158px !important; background:#fff !important; border:1px solid var(--figma-border) !important; border-radius:10px !important; box-shadow:0 1px 4px rgba(20,43,34,.07) !important; overflow:hidden !important; }
.market-card__side { width:120px !important; flex:0 0 120px !important; border-right:1px solid #ede7d6 !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:10px !important; padding:22px 20px !important; }
.market-card__icon { width:40px !important; height:40px !important; border-radius:20px !important; background:#dce6dd !important; display:flex !important; align-items:center !important; justify-content:center !important; color:var(--figma-green) !important; }
.market-card__title { font-size:12px !important; line-height:19.2px !important; font-weight:700 !important; letter-spacing:.4px !important; text-align:center !important; color:var(--figma-text) !important; margin:0 !important; }
.market-card__main { flex:1 !important; display:flex !important; flex-direction:column !important; }
.market-card__body { flex:1 !important; padding:18px !important; border-bottom:1px solid #ede7d6 !important; color:var(--figma-sub) !important; font-size:12px !important; line-height:22.8px !important; margin:0 !important; }
.market-card__impact { background:#faf8f3 !important; padding:13px 18px 14px !important; }
.market-card__impact span { display:block !important; color:var(--figma-sub) !important; font-size:12px !important; letter-spacing:1.1px !important; margin-bottom:4px !important; }
.market-card__impact p { margin:0 !important; color:var(--figma-sub) !important; font-size:12px !important; line-height:22.2px !important; }

/* FAQ */
#faq .container { max-width: 880px !important; }
.faq-list { display:grid !important; gap:16px !important; }
.faq-item { border:1px solid var(--figma-border) !important; border-radius:8px !important; box-shadow:0 1px 2px rgba(20,43,34,.05) !important; overflow:hidden !important; background:#fff !important; }
.faq-q { padding:22px 28px !important; gap:16px !important; }
.faq-a { display:flex; margin:0 28px 0 52px !important; padding:25px 0 25px 28px !important; border-top:1px dashed #ede7d6 !important; gap:16px !important; }
.faq-badge { width:36px !important; height:36px !important; border-radius:18px !important; font-family:'Noto Serif JP',serif !important; font-weight:900 !important; }
.faq-badge--q { background:var(--figma-green) !important; color:#fff !important; }
.faq-badge--a { background:var(--figma-gold) !important; color:#fff !important; }
.faq-q p { font-size:15px !important; font-weight:700 !important; line-height:24px !important; color:var(--figma-text) !important; }
.faq-a p { font-size:14px !important; line-height:27.3px !important; color:var(--figma-sub) !important; }
.faq-toggle { width:28px !important; height:28px !important; border-radius:14px !important; background:#f2e6c8 !important; color:var(--figma-green) !important; display:flex !important; align-items:center !important; justify-content:center !important; }

/* Company list / Articles */
.clist-header { align-items:flex-end !important; margin-bottom:32px !important; }
.clist-title { font-size:28px !important; line-height:51.8px !important; font-weight:900 !important; color:var(--figma-text) !important; }
.clist-count { color:var(--figma-gold) !important; }
.clist-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap:20px !important; }
.clist-card { min-height:0 !important; border:1px solid var(--figma-border) !important; border-radius:8px !important; background:#fff !important; padding:24px !important; display:flex !important; flex-direction:column !important; gap:0 !important; }
.clist-card__num { width:48px !important; height:48px !important; border-radius:6px !important; background:#e8dfc8 !important; color:var(--figma-muted) !important; font-weight:900 !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; }
.clist-card__name { font-size:15px !important; line-height:22.5px !important; }
.clist-card__copy { color:#2d5240 !important; font-size:10px !important; letter-spacing:1.5px !important; }
.clist-card__map { height:130px !important; background:linear-gradient(139deg, var(--figma-warm), #e8dfc8) !important; border:1px solid var(--figma-dash) !important; border-radius:4px !important; }
.clist-card__btn,
.clist-more-btn { height:50px !important; border-radius:4px !important; background:var(--figma-green) !important; color:#fff !important; font-size:12px !important; font-weight:700 !important; letter-spacing:1.2px !important; }
.clist-more-btn { background:#fff !important; color:var(--figma-green) !important; border:2px solid var(--figma-green) !important; height:70px !important; padding:0 50px !important; }
.articles-header { align-items:flex-end !important; margin-bottom:32px !important; }
.articles-header .section-title { text-align:left !important; margin:0 !important; font-size:28px !important; line-height:51.8px !important; }
.articles-more { color:var(--figma-green) !important; font-size:12px !important; font-weight:700 !important; letter-spacing:1.44px !important; }
.articles-grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:20px !important; }
.article-card { border:1px solid var(--figma-border) !important; border-radius:8px !important; overflow:hidden !important; }
.article-card__img { height:160px !important; background:linear-gradient(135deg, var(--figma-warm), #e8dfc8) !important; }
.article-card__body { padding:20px 22px 24px !important; }
.article-card__title { font-size:15px !important; line-height:24px !important; }
.article-card__more { color:var(--figma-green) !important; font-size:11px !important; font-weight:700 !important; letter-spacing:1.98px !important; }

/* Footer */
.site-footer { background:var(--figma-deep) !important; color:#fff !important; padding:64px 0 42px !important; }
.footer-main { border-bottom:1px solid rgba(255,255,255,.08) !important; padding-bottom:33px !important; display:flex !important; justify-content:center !important; gap:73px !important; align-items:flex-start !important; }
.footer-brand { display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:16px !important; max-width:260px !important; }
.footer-brand__icon { background:#fff !important; color:var(--figma-deep) !important; }
.footer-brand__name { color:#fff !important; font-size:16px !important; font-weight:900 !important; letter-spacing:2.88px !important; line-height:22.4px !important; margin:0 !important; }
.footer-disclaimer { width:434px !important; color:#fff !important; font-size:12px !important; font-weight:900 !important; letter-spacing:2.88px !important; line-height:22.4px !important; text-align:center !important; }
.footer-disclaimer p { margin:0 !important; }
.footer-disclaimer__title { margin-bottom:22px !important; }
.footer-nav { margin-top:23px !important; display:flex !important; justify-content:center !important; gap:32px !important; }
.footer-nav a { color:rgba(255,255,255,.7) !important; font-size:12px !important; letter-spacing:1.44px !important; line-height:22.2px !important; }
.footer-copyright { margin:23px 0 0 !important; color:rgba(255,255,255,.4) !important; text-align:center !important; font-size:10px !important; letter-spacing:1.5px !important; line-height:18.5px !important; }

/* Responsive */
@media (max-width: 1024px) {
  .site-header { height: auto !important; }
  .site-header__pr { height: 34px; padding:0 20px; }
  .site-header__inner { height:70px !important; padding:0 20px !important; }
  .site-nav { display:none !important; }
  .hero__inner { padding:80px 24px 64px !important; min-height:700px !important; }
  .hero__title { font-size:40px !important; line-height:1.35 !important; }
  .points-grid,.articles-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .toc-nav__list { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .market-grid,.clist-grid { grid-template-columns:1fr !important; }
  .co-info-grid,.co-card__btns { grid-template-columns:1fr !important; }
  .steps-flow { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width: 767px) {
  .container { padding-left:20px !important; padding-right:20px !important; }
  .section { padding:64px 0 !important; }
  .hero__title { font-size:31px !important; }
  .hero__eyebrow { font-size:17px !important; }
  .hero__box { padding:20px !important; }
  .section-title,.worries-title { font-size:26px !important; line-height:1.55 !important; }
  .points-grid,.articles-grid,.toc-nav__list,.steps-flow { grid-template-columns:1fr !important; }
  .worries-layout { flex-direction:column !important; }
  .worries-chars { max-width:80vw !important; }
  .co-card__body,.co-card__header { padding:28px 20px !important; }
  .footer-main { flex-direction:column !important; gap:28px !important; align-items:center !important; }
  .footer-disclaimer { width:auto !important; }
}