/* Extra spacing and question boxes for the second article preview. */
.editorial-item + .editorial-item { margin-top: clamp(56px, 7vw, 96px); }
.article-body .questions { display: grid; gap: 8px; margin: 30px 0 36px; padding: clamp(22px, 3.2vw, 32px); border-left: 3px solid var(--sage); background: #f6f1eb; color: #4e4a45; }
.article-body .questions p { margin: 0; color: inherit; font-size: var(--body-size); line-height: var(--body-line); }

/* Four original service statements, arranged like a compact notification panel. */
.article-body .questions--notifications {
  position: relative;
  gap: 12px;
  padding: 38px clamp(18px, 3vw, 28px) clamp(20px, 3vw, 28px);
  overflow: hidden;
  border: 1px solid rgba(61, 110, 90, .18);
  border-left: 1px solid rgba(61, 110, 90, .18);
  border-radius: 20px;
  background: linear-gradient(145deg, #edf3ef 0%, #f5f2ed 100%);
  box-shadow: 0 10px 26px rgba(47, 79, 67, .07);
}
.article-body .questions--notifications::before {
  position: absolute;
  inset: 0 0 auto;
  height: 22px;
  background: linear-gradient(105deg, #a3c1b8 0%, #3d6e5a 100%);
  content: "";
}
.article-body .questions--notifications::after {
  position: absolute;
  top: 7px;
  left: 14px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f7f8f6;
  box-shadow: 14px 0 #dce7e1, 28px 0 #c5d8cf;
  content: "";
}
.article-body .questions--notifications p {
  position: relative;
  padding: 17px 20px 17px 54px;
  border: 1px solid rgba(61, 110, 90, .13);
  border-radius: 14px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 3px 10px rgba(47, 79, 67, .06);
  color: #4e4a45;
  font-size: var(--body-size);
  line-height: var(--body-line);
}
.article-body .questions--notifications p::before {
  position: absolute;
  top: 50%;
  left: 18px;
  width: 23px;
  height: 23px;
  border: 0;
  border-radius: 50%;
  background: #3d6e5a;
  box-shadow: 0 0 0 4px #dce9e3;
  color: #fff;
  content: "✓";
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 23px;
  text-align: center;
  transform: translateY(-50%);
}
.article-body .notification-highlight {
  color: #3d6e5a;
}

/* Independent questions use typography and open space as the visual structure. */
.questions-composition {
  position: relative;
  left: 50%;
  isolation: isolate;
  width: min(1080px, calc(100vw - 48px));
  min-height: 650px;
  margin: clamp(48px, 6vw, 76px) 0 clamp(48px, 6vw, 76px);
  transform: translateX(-50%);
}
.questions-composition__plan {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 33%;
  height: 100%;
  fill: none;
  stroke: var(--green);
  stroke-width: 1;
  opacity: .16;
  pointer-events: none;
}
.questions-composition__question {
  position: absolute;
  margin: 0;
  color: #333634;
  font-family: var(--font-sans);
  font-size: clamp(22px, 2.15vw, 31px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: .035em;
}
.questions-composition__question--one { top: 46px; left: 15%; width: 44%; }
.questions-composition__question--two { top: 258px; right: 10%; width: 43%; }
.questions-composition__question--three { top: 454px; left: 27%; width: 62%; }
.questions-composition--four { min-height: 620px; }
.questions-composition--four .questions-composition__question--one { top: 26px; left: 10%; width: 42%; }
.questions-composition--four .questions-composition__question--two { top: 166px; right: 4%; width: 46%; }
.questions-composition--four .questions-composition__question--three { top: 326px; left: 20%; width: 48%; }
.questions-composition--four .questions-composition__question--four { top: 486px; right: 2%; width: 58%; }
.questions-composition--blueprint {
  min-height: 650px;
  overflow: hidden;
  border-radius: 2px;
  background: #fbfaf7 url("assets/law-blueprint-background-v2.png") center / cover no-repeat;
}
.questions-composition--blueprint .questions-composition__question--one { top: 72px; left: 10%; width: 43%; }
.questions-composition--blueprint .questions-composition__question--two { top: 210px; right: 8%; width: 43%; }
.questions-composition--blueprint .questions-composition__question--three { top: 368px; left: 17%; width: 46%; }
.questions-composition--blueprint .questions-composition__question--four { top: 505px; right: 7%; width: 55%; }
.questions-composition--blueprint .questions-composition__question { z-index: 1; }
.questions-composition__mark {
  position: absolute;
  z-index: -1;
  color: var(--sage);
  font-size: clamp(150px, 17vw, 230px);
  font-weight: 500;
  line-height: .8;
  opacity: .24;
  pointer-events: none;
}
.questions-composition__question--one .questions-composition__mark { top: -73px; left: -104px; }
.questions-composition__question--two .questions-composition__mark { top: -82px; left: -100px; }
.questions-composition__question--three .questions-composition__mark { top: -83px; left: -112px; }
.questions-composition--four .questions-composition__question--four .questions-composition__mark { top: -83px; left: -112px; }
.questions-composition__text { position: relative; z-index: 1; }
.questions-composition__text strong { color: var(--green); font-weight: 600; }

/* Reuse the live marketing page's SVG speech-bubble layout for the article questions. */
.questions-dialogue-stage {
  position: relative;
  width: min(820px, 100%);
  height: clamp(470px, 42vw, 520px);
  margin: clamp(30px, 4vw, 56px) auto 0;
}
.questions-dialogue-bubble {
  position: absolute;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.questions-dialogue-bubble img { display: block; width: 100%; height: auto; }
.questions-dialogue-bubble--row1 { top: 0; left: 50%; width: min(44vw, 364px); transform: translateX(-50%); }
.questions-dialogue-bubble--row2 { top: 132px; right: 5%; width: min(44vw, 364px); }
.questions-dialogue-bubble--row3 { top: 264px; left: 6%; width: min(50vw, 419px); }
.questions-dialogue-bubble--row4 { top: 396px; left: 37%; width: min(50vw, 419px); }

@media (max-width: 900px) {
  .questions-composition {
    left: auto;
    width: min(100%, 560px);
    min-height: 0;
    margin: 44px auto 50px;
    padding: 4px 8px;
    transform: none;
  }
  .questions-composition__plan { width: 36%; opacity: .1; }
  .questions-composition--blueprint {
    min-height: 0;
    padding: 42px 22px 38px;
    background-position: 62% center;
  }
  .questions-composition__question,
  .questions-composition__question--one,
  .questions-composition__question--two,
  .questions-composition__question--three,
  .questions-composition__question--four,
  .questions-composition--four .questions-composition__question--one,
  .questions-composition--four .questions-composition__question--two,
  .questions-composition--four .questions-composition__question--three,
  .questions-composition--four .questions-composition__question--four {
    position: relative;
    inset: auto;
    width: auto;
    min-height: 94px;
    margin: 0 0 34px;
    padding-left: 38px;
    font-size: clamp(19px, 3vw, 23px);
    line-height: 1.75;
  }
  .questions-composition__question:last-child { margin-bottom: 0; }
  .questions-composition__mark,
  .questions-composition__question--one .questions-composition__mark,
  .questions-composition__question--two .questions-composition__mark,
  .questions-composition__question--three .questions-composition__mark {
    top: -21px;
    left: -5px;
    font-size: 88px;
  }
  .questions-composition__desktop-break { display: none; }
  .questions-dialogue-stage {
    display: flex;
    width: min(419px, 100%);
    height: auto;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  .questions-dialogue-bubble,
  .questions-dialogue-bubble--row1,
  .questions-dialogue-bubble--row2,
  .questions-dialogue-bubble--row3,
  .questions-dialogue-bubble--row4 {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: 100%;
    transform: none;
  }
  .questions-dialogue-bubble--row1 { width: min(364px, 100%); }
  .questions-dialogue-bubble--row2 { width: min(364px, 100%); }
  .questions-dialogue-bubble--row3 { width: min(419px, 100%); }
}

@media (max-width: 600px) {
  .article-body .questions--notifications {
    gap: 10px;
    padding: 34px 14px 16px;
    border-radius: 16px;
  }
  .article-body .questions--notifications p {
    padding: 14px 14px 14px 50px;
    border-radius: 12px;
  }
  .article-body .questions--notifications p::before { left: 15px; }
}

/* Tax article: keep the approved site typography and adapt the supplied information graphics. */
.article--tax .article-lead { box-shadow: 0 12px 30px rgba(78, 59, 48, .14); }
.tax-infographic { margin: clamp(46px, 6vw, 72px) 0; }
.tax-infographic img { width: 100%; height: auto; border-radius: 16px; box-shadow: 0 14px 34px rgba(47, 79, 67, .1); }
.tax-infographic figcaption { margin-top: 12px; color: var(--brown-soft); font-size: 14px; line-height: 1.75; letter-spacing: .035em; }
.article-body .tax-section-heading, .article-body > .tax-section-intro { text-align: center; }

.tax-three-points { position: relative; left: 50%; width: min(1180px, calc(100vw - 48px)); max-width: 1180px; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 3vw, 56px); margin: 52px 0 0; padding: 0; background: transparent; transform: translateX(-50%); }
.tax-three-points article { min-height: clamp(240px, 17vw, 326px); display: flex; flex-direction: column; padding: clamp(34px, 4.1vw, 64px) clamp(22px, 2.4vw, 40px) clamp(28.16px, 2.176vw, 40.96px); border-radius: 30px; background: transparent linear-gradient(180deg, #fff0, #fff) 0% 0% no-repeat padding-box; box-shadow: 0 20px 20px #00000029; overflow: visible; text-align: left; }
.tax-three-points .check-card-head { margin-bottom: 20px; }
.tax-three-points .check-title-row { display: flex; align-items: center; gap: 16px; flex-wrap: nowrap; }
.tax-three-points h3 { min-width: 0; margin: 0; color: var(--green); font-family: var(--font-deco); font-size: 30px; font-weight: 500; line-height: 1.35; overflow-wrap: break-word; }
.tax-three-points p { max-width: none; margin: 0; color: #3b3b3b; font-size: clamp(15px, 1.25vw, 24px); line-height: 1.75; text-align: left; }

.tax-scene { position: relative; left: 50%; width: min(1180px, calc(100vw - 48px)); display: grid; grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr); align-items: start; gap: clamp(30px, 4vw, 56px); margin: clamp(52px, 7vw, 82px) 0; padding: clamp(24px, 4vw, 42px); border-radius: 20px; background: transparent; transform: translateX(-50%); }
.tax-scene img { width: 100%; border-radius: 16px; }
.article-body .tax-scene h2 { margin: 0 0 14px; }
.tax-scene p { margin: 0; color: #4e4a45; font-size: var(--body-size); line-height: var(--body-line); }
.tax-scene .tax-scene-intro { color: rgb(0, 0, 0); }
.tax-cases { margin: clamp(28px, 3.5vw, 42px) 0 0; padding-left: 0; border-left: 0; }
.tax-cases p { margin: 0 0 1.15em; color: #000; font-size: var(--body-size); line-height: var(--body-line); }
.tax-cases b { color: rgb(78, 59, 48); }
.tax-cases p:last-child { margin-bottom: 0; }

.tax-daily { position: relative; left: 50%; width: min(1180px, calc(100vw - 48px)); margin: 0 0 clamp(34px, 5vw, 56px); padding: 0; border: 0; background: transparent; transform: translateX(-50%); }
.tax-daily > header { margin-bottom: 34px; text-align: center; }
.tax-daily > header .tax-daily-intro { margin: 0; color: #000; font-size: var(--body-size); line-height: var(--body-line); letter-spacing: .025em; text-align: center; }
.tax-daily-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 3vw, 56px); }
.tax-daily-grid .check-card { min-height: clamp(220px, 15.5vw, 285px); display: flex; flex-direction: column; padding: clamp(34px, 4.1vw, 64px) clamp(22px, 2.4vw, 40px) clamp(28.16px, 2.176vw, 40.96px); border-radius: 30px; background: transparent linear-gradient(180deg, #fff0, #fff) 0% 0% no-repeat padding-box; box-shadow: 0 20px 20px #00000029; overflow: visible; text-align: left; }
.tax-daily-grid .check-card-head { margin-bottom: 20px; }
.tax-daily-grid .check-title-row { display: flex; align-items: center; gap: 16px; flex-wrap: nowrap; }
.tax-daily-grid .check-card h3 { min-width: 0; margin: 0; color: #3d6e5a; font-family: var(--font-deco); font-size: 30px; font-weight: 500; line-height: 1.35; overflow-wrap: break-word; }
.tax-daily-grid .check-divider { height: 0; flex: 1; min-width: 40px; margin: 0; border: 0; border-top: 1px solid #a3c1b8; }
.tax-daily-grid .check-card > p { max-width: none; margin: 0; color: #3b3b3b; font-size: clamp(15px, 1.25vw, 24px); line-height: 1.75; text-align: left; }

.tax-checklist-card { position: relative; left: 50%; width: min(980px, calc(100vw - 48px)); margin: clamp(58px, 7vw, 86px) 0 0; padding: clamp(38px, 5vw, 64px); border-radius: 6px; background: rgba(255, 255, 255, .98); box-shadow: 0 14px 32px rgba(78, 59, 48, .14); transform: translateX(-50%); }
.article-body .tax-checklist-card h2 { margin: 0 0 clamp(28px, 4vw, 44px); text-align: center; }
.tax-final-check { margin: 0; padding: 0; list-style: none; }
.tax-final-check li { position: relative; margin: 0; padding: 16px 0 16px clamp(40px, 2.8vw, 56px); color: #000; font-size: var(--body-size); line-height: var(--body-line); }
.tax-final-check li::before { position: absolute; top: calc(16px + .04em); left: 0; width: clamp(24px, 1.65vw, 32px); height: clamp(24px, 1.65vw, 32px); box-sizing: border-box; border: 3px solid #7d9588; border-radius: 2px; background: transparent; content: ""; }
.tax-final-check li::after { position: absolute; top: calc(16px + .09em); left: clamp(7px, .5vw, 10px); width: clamp(11px, .78vw, 15px); height: clamp(18px, 1.2vw, 24px); border-right: 3px solid #7d9588; border-bottom: 3px solid #7d9588; content: ""; transform: rotate(42deg); }

.article-cta.tax-conclusion { background: #a9bdb3; color: #263d34; }
.article-body .tax-conclusion h2 { margin: 0 0 18px; color: #263d34; }
.tax-conclusion p { margin: 0 0 14px; color: #263d34; }
.tax-disclaimer-caption { display: block; margin-top: 12px; color: var(--brown-soft); font-size: 14px; line-height: 1.75; letter-spacing: .035em; }

@media (max-width: 760px) {
  .tax-three-points, .tax-daily-grid, .tax-scene { grid-template-columns: 1fr; }
  .tax-three-points { left: auto; width: 100%; gap: 20px; margin-top: 40px; padding: 0; transform: none; }
  .tax-three-points article { min-height: auto; padding: 28px 28px 24px; border-radius: 22px; box-shadow: 0 12px 24px #26362e1a; }
  .tax-three-points .check-card-head { margin-bottom: 12px; }
  .tax-three-points .check-title-row { gap: 12px; }
  .tax-three-points h3 { font-size: 24px; line-height: 1.3; }
  .tax-three-points p { font-size: 15px; line-height: 1.7; }
  .tax-scene { left: auto; width: 100%; padding: 20px; transform: none; }
  .tax-daily { left: auto; width: 100%; transform: none; }
  .tax-daily > header { margin-bottom: 24px; }
  .tax-daily-grid { gap: 20px; }
  .tax-daily-grid .check-card { min-height: auto; padding: 28px 28px 24px; border-radius: 22px; box-shadow: 0 12px 24px #26362e1a; }
  .tax-daily-grid .check-card-head { margin-bottom: 12px; }
  .tax-daily-grid .check-title-row { gap: 12px; }
  .tax-daily-grid .check-card h3 { font-size: 24px; line-height: 1.3; }
  .tax-daily-grid .check-divider { min-width: 32px; }
  .tax-daily-grid .check-card > p { font-size: 15px; line-height: 1.7; }
  .tax-checklist-card { left: auto; width: 100%; padding: 30px 24px; border-radius: 4px; transform: none; }
  .tax-final-check li { padding-left: 50px; }
}