/* Strength page (generated from piatec-strength/css). Units scale via --s. */
.strength-page .mobile-only { display: none; }
.strength-page .diagram-connectors-mobile { display: none; }
@font-face {
  font-family: Zen Kaku Gothic Antique;
  src: url("../fonts/strength/ZenKakuGothicAntique-Medium.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: Alumni Sans;
  src: url("../fonts/strength/AlumniSans-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}
.strength-page {
  --s: min(1.25vw, 15px);
  --ink: #3c3c3c;
  --accent: #ff003f;
  --pink: #ffeaeb;
  --mint: #d2eee3;
  --jp: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;
  --condensed: "Alumni Sans SC", sans-serif;
}
.strength-page,
.strength-page * {
  box-sizing: border-box;
}
.strength-page {
  margin: 0;
  background: #fff;
  color: var(--ink);
  font-family: var(--jp);
  font-size: calc(var(--s) * 1);
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
}
.strength-page h1,
.strength-page h2,
.strength-page h3,
.strength-page p,
.strength-page figure,
.strength-page ol,
.strength-page ul {
  margin: 0;
  padding: 0;
}
.strength-page img {
  display: block;
  max-width: 100%;
  height: auto;
}
.strength-page a {
  color: inherit;
  text-decoration: none;
}
.strength-page a {
  -webkit-tap-highlight-color: transparent;
}
.strength-page [hidden] {
  display: none !important;
}
.strength-page .hero {
  position: relative;
  height: calc(var(--s) * 38.125);
}
.strength-page .hero-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.strength-page .hero-copy {
  position: relative;
  padding-top: calc(var(--s) * 7.4375);
  margin-left: calc(var(--s) * 13.4375);
}
.strength-page .hero-eyebrow {
  font-size: calc(var(--s) * 1.25);
  letter-spacing: calc(var(--s) * 0.4375) !important;
  line-height: calc(var(--s) * 2);
}
.strength-page .hero h1 {
  font-size: calc(var(--s) * 5);
  font-weight: 500;
  letter-spacing: calc(var(--s) * 1.1) !important;
  line-height: 1.3208;
  margin-top: calc(var(--s) * 1.0625);
  white-space: nowrap;
}
.strength-page .hero-side {
  position: absolute;
  top: calc(var(--s) * 7.75);
  left: calc(var(--s) * 4.6875);
  writing-mode: vertical-rl;
  font-family: "Alumni Sans", sans-serif;
  font-size: calc(var(--s) * 3.5);
  font-weight: 444;
  letter-spacing: calc(var(--s) * 0.35) !important;
  line-height: 1;
}
.strength-page .introduction {
  height: calc(var(--s) * 27.5625);
  padding-top: calc(var(--s) * 4.3125);
  padding-left: calc(var(--s) * 11.0625);
}
.strength-page .introduction p {
  font-family: "Zen Kaku Gothic Antique", var(--jp);
  font-size: calc(var(--s) * 1.4655);
  line-height: calc(var(--s) * 3.75);
  letter-spacing: calc(var(--s) * 0.14655) !important;
}
.strength-page .strengths {
  height: calc(var(--s) * 52);
}
.strength-page .strengths-card {
  width: calc(var(--s) * 64.0625);
  height: calc(var(--s) * 34.3125);
  margin-inline: auto;
  background: var(--pink);
  border-radius: calc(var(--s) * 1);
  text-align: center;
  padding-top: calc(var(--s) * 4.0625);
}
.strength-page .strengths-card h2 {
  font-size: calc(var(--s) * 2.5);
  line-height: calc(var(--s) * 3.5);
  font-weight: 700;
  letter-spacing: calc(var(--s) * 0.125) !important;
  transform: translate(calc(var(--s) * 0.625), calc(var(--s) * 0.375));
}
.strength-page .strengths-pair {
  display: grid;
  grid-template-columns: 1fr calc(var(--s) * 6.5) 1fr;
  align-items: center;
  gap: calc(var(--s) * 1.5);
  margin: calc(var(--s) * 5.4375) calc(var(--s) * 5.8125) 0;
  font-size: calc(var(--s) * 3.75);
  line-height: calc(var(--s) * 5);
  letter-spacing: calc(var(--s) * 0.375) !important;
}
.strength-page .strengths-pair p:first-child {
  transform: translateX(calc(var(--s) * -1.5625));
}
.strength-page .strengths-pair p:last-child {
  transform: translateX(calc(var(--s) * 1.875));
  white-space: nowrap;
}
.strength-page .tight-quote {
  letter-spacing: -0.5em !important;
}
.strength-page .strengths-cross {
  height: calc(var(--s) * 4.5);
  position: relative;
}
.strength-page .strengths-cross::before,
.strength-page .strengths-cross::after {
  content: "";
  width: calc(var(--s) * 7.5);
  height: 1.5px;
  position: absolute;
  top: 50%;
  left: 50%;
  background: #ff6a7c;
  transform: translate(-50%, -50%) rotate(33deg);
}
.strength-page .strengths-cross::after {
  transform: translate(-50%, -50%) rotate(-33deg);
}
.strength-page .strengths-conclusion {
  margin-top: calc(var(--s) * 3.5);
  font-size: calc(var(--s) * 2.375);
  line-height: calc(var(--s) * 3.375);
  font-weight: 700;
  letter-spacing: calc(var(--s) * 0.2375) !important;
  transform: translateX(calc(var(--s) * 1.25));
}
.strength-page .strengths-description {
  margin-top: calc(var(--s) * 5);
  margin-left: calc(var(--s) * 14.375);
  font-size: calc(var(--s) * 1.4655);
  line-height: calc(var(--s) * 2.4375);
  letter-spacing: calc(var(--s) * 0.14655) !important;
  transform: translateY(calc(var(--s) * 0.5625));
}
.strength-page .marketing {
  height: calc(var(--s) * 68.75);
  position: relative;
  padding-top: calc(var(--s) * 11.1875);
}
.strength-page .ribbon {
  position: absolute;
  pointer-events: none;
  z-index: 0;
  max-width: none;
}
.strength-page .ribbon-pink {
  left: calc(var(--s) * -54.5);
  top: calc(var(--s) * 1.6875);
  width: calc(var(--s) * 74.8125);
  height: calc(var(--s) * 31.375);
}
.strength-page .section-heading {
  position: relative;
  z-index: 1;
}
.strength-page .marketing-heading {
  margin-left: calc(var(--s) * 13.375);
  transform: translateY(calc(var(--s) * 0.875));
}
.strength-page .copy-indent {
  padding-left: calc(var(--s) * 0.625);
}
.strength-page .section-heading h2 {
  font-size: calc(var(--s) * 5.875);
  line-height: calc(var(--s) * 6.875);
  letter-spacing: calc(var(--s) * 0.29375) !important;
  font-weight: 700;
}
.strength-page .section-heading p {
  font-size: calc(var(--s) * 1.308);
  line-height: calc(var(--s) * 2.1875);
  letter-spacing: calc(var(--s) * 0.17) !important;
  font-weight: 500;
}
.strength-page .marketing-heading p {
  margin-top: calc(var(--s) * 2.3125);
  margin-left: calc(var(--s) * -0.625);
}
.strength-page .pillars {
  position: relative;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(var(--s) * 2.375);
  margin: calc(var(--s) * 10) calc(var(--s) * 5.625) 0 calc(var(--s) * 7.1875);
}
.strength-page .pillars li {
  height: calc(var(--s) * 10.25);
  border-radius: calc(var(--s) * 0.5);
  background: linear-gradient(145deg, #f9f9f9, #d9f2e8);
  text-align: center;
  position: relative;
  padding-top: calc(var(--s) * 2.4375);
}
.strength-page .pillar-number {
  position: absolute;
  top: calc(var(--s) * -1.25);
  left: 50%;
  transform: translateX(-50%);
  width: calc(var(--s) * 2.0625);
  height: calc(var(--s) * 2.0625);
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--ink);
  color: #d8efdf;
  font: italic 500 calc(var(--s) * 1.25)/1 var(--condensed);
}
.strength-page .pillars h3 {
  font-size: calc(var(--s) * 1.25);
  font-weight: 700;
  line-height: calc(var(--s) * 1.875);
  letter-spacing: calc(var(--s) * 0.075) !important;
  white-space: nowrap;
}
.strength-page .pillars p {
  font-size: calc(var(--s) * 1);
  line-height: calc(var(--s) * 1.5);
  letter-spacing: calc(var(--s) * 0.06) !important;
  margin-top: calc(var(--s) * 0.875);
  white-space: nowrap;
}
.strength-page .pillars li:last-child p {
  margin-top: calc(var(--s) * 0.125);
}
.strength-page .funnel {
  height: calc(var(--s) * 58.125);
  position: relative;
  padding-top: calc(var(--s) * 3.1875);
  color: #050505;
}
.strength-page .ribbon-green {
  left: calc(var(--s) * 43.8125);
  top: calc(var(--s) * -3.5625);
  width: calc(var(--s) * 74.3125);
  height: calc(var(--s) * 36.375);
}
.strength-page .funnel h2,
.strength-page .funnel-intro,
.strength-page .funnel-content {
  position: relative;
  z-index: 1;
}
.strength-page .funnel h2 {
  text-align: center;
  font-weight: 400;
  letter-spacing: calc(var(--s) * 0.075) !important;
  transform: translate(calc(var(--s) * 0.5), calc(var(--s) * 1));
}
.strength-page .funnel h2 span {
  display: block;
  font-size: calc(var(--s) * 1.875);
  line-height: calc(var(--s) * 2.5);
}
.strength-page .funnel h2 strong {
  display: block;
  font-size: calc(var(--s) * 2.375);
  line-height: calc(var(--s) * 2.75);
  font-weight: 500;
  letter-spacing: calc(var(--s) * 0.095) !important;
}
.strength-page .funnel-intro {
  text-align: center;
  margin-top: calc(var(--s) * 3.1875);
  font-size: calc(var(--s) * 1.5);
  font-weight: 400;
  letter-spacing: calc(var(--s) * 0.06) !important;
  line-height: calc(var(--s) * 2.125);
  transform: translateY(calc(var(--s) * 1));
}
.strength-page .funnel-content {
  display: grid;
  grid-template-columns: calc(var(--s) * 33) calc(var(--s) * 29.375);
  gap: calc(var(--s) * 2.625);
  margin: calc(var(--s) * 4.875) 0 0 calc(var(--s) * 7.1875);
  align-items: start;
}
.strength-page .funnel-stages {
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(var(--s) * 1.875);
  color: var(--accent);
}
.strength-page .funnel-stages li {
  width: 100%;
  height: calc(var(--s) * 8.25);
  border: 2px solid var(--accent);
  border-radius: calc(var(--s) * 6);
  background: linear-gradient(145deg, #ffdbdf 15%, #fff 100%);
  text-align: center;
  padding-top: calc(var(--s) * 0.9375);
}
.strength-page .funnel-stages li:nth-child(2) {
  width: calc(var(--s) * 25.5);
  transform: translateX(calc(var(--s) * 0.5));
  padding-top: calc(var(--s) * 1.5);
}
.strength-page .funnel-stages li:nth-child(3) {
  width: calc(var(--s) * 19.125);
  height: calc(var(--s) * 10.125);
  transform: translateX(calc(var(--s) * 0.5));
  padding-top: calc(var(--s) * 1);
}
.strength-page .funnel-stages h3 {
  font-size: calc(var(--s) * 2);
  font-weight: 500;
  letter-spacing: calc(var(--s) * 0.2) !important;
  line-height: calc(var(--s) * 2.8125);
  transform: translate(calc(var(--s) * 0.125), calc(var(--s) * 0.25));
}
.strength-page .funnel-stages li:first-child h3,
.strength-page .funnel-stages li:first-child p {
  transform: translate(calc(var(--s) * 0.625), calc(var(--s) * 0.25));
}
.strength-page .funnel-stages p {
  font-size: calc(var(--s) * 1.25);
  font-weight: 400;
  letter-spacing: calc(var(--s) * 0.125) !important;
  line-height: calc(var(--s) * 1.9375);
  margin-top: calc(var(--s) * 0.25);
  transform: translateY(calc(var(--s) * 0.4375));
}
.strength-page .teamwork {
  width: calc(var(--s) * 29.375);
  height: calc(var(--s) * 20.6875);
  object-fit: cover;
  border-radius: calc(var(--s) * 0.625);
  margin-top: calc(var(--s) * 5.375);
}
.strength-page .advantage {
  padding-top: calc(var(--s) * 7.125);
}
.strength-page .advantage-heading {
  margin-left: calc(var(--s) * 13.875);
}
.strength-page .advantage-heading h2 {
  transform: translateY(calc(var(--s) * 1.0625));
}
.strength-page .advantage-heading p {
  margin-top: calc(var(--s) * 2.9375);
  transform: translate(calc(var(--s) * -0.125), calc(var(--s) * 0.875));
}
.strength-page .advantage-diagram {
  margin-top: calc(var(--s) * 5.5625);
  width: 100%;
  height: calc(var(--s) * 103.125);
  position: relative;
  isolation: isolate;
  background: none;
  user-select: text;
}
.strength-page .diagram-frame {
  position: absolute; inset: calc(var(--s) * .1875) calc(var(--s) * 3.5) calc(var(--s) * .0625) calc(var(--s) * 3.4375);
  border: 2px solid #ffcdd0; border-radius: calc(var(--s) * .5);
  pointer-events: none;
}
.strength-page .diagram-connectors {
  position: absolute; inset: 0; width: 100%; height: 100%;
  fill: none; stroke-width: 4; pointer-events: none; z-index: -1;
}
.strength-page .advantage-diagram p,
.strength-page .diagram-outcome {
  position: absolute; text-align: center; margin: 0; font-weight: 700;
}
.strength-page .diagram-circle { border-radius: 50%; }
.strength-page .diagram-label { top: calc(var(--s) * 11); width: calc(var(--s) * 19.5); font-size: calc(var(--s) * 1.25); line-height: calc(var(--s) * 2.5); letter-spacing: calc(var(--s) * .05) !important; font-weight: 500 !important; }
.strength-page .diagram-label-brand { left: calc(var(--s) * 9.6875); }
.strength-page .diagram-label-customer { left: calc(var(--s) * 52); }
.strength-page .diagram-thought {
  left: calc(var(--s) * 9.75); top: calc(var(--s) * 14.25); width: calc(var(--s) * 19.3125); height: calc(var(--s) * 19.3125);
  display: grid; place-items: center; color: white;
  font-size: calc(var(--s) * 2.5); letter-spacing: calc(var(--s) * -.05) !important;
  background: linear-gradient(135deg,#ffadb2,#ff7c8c);
}
.strength-page .diagram-story {
  z-index: 1;
  left: calc(var(--s) * 27.75); top: calc(var(--s) * 11.25); width: calc(var(--s) * 25.375); height: calc(var(--s) * 25.375);
  padding-top: calc(var(--s) * 7.0625); color: #fff; background: linear-gradient(135deg,#494949,#797979);
  font-size: calc(var(--s) * 2.847); line-height: calc(var(--s) * 3.75); letter-spacing: calc(var(--s) * -.05694) !important;
}
.strength-page .diagram-story span { display: block; font-size: calc(var(--s) * 2.1875); letter-spacing: calc(var(--s) * -.04375) !important; }
.strength-page .diagram-benefit {
  left: calc(var(--s) * 52); top: calc(var(--s) * 14.25); width: calc(var(--s) * 19.375); height: calc(var(--s) * 19.375);
  padding-top: calc(var(--s) * 6.9375); background: linear-gradient(135deg,#d4f0e5,#eef7f2);
  font-size: calc(var(--s) * 2.5); line-height: calc(var(--s) * 3.125); letter-spacing: calc(var(--s) * -.05) !important;
}
.strength-page .diagram-benefit span { display: block; font-size: calc(var(--s) * 1.25); line-height: calc(var(--s) * 1.875); letter-spacing: calc(var(--s) * -.025) !important; }
.strength-page .diagram-message {
  left: calc(var(--s) * 8.875); top: calc(var(--s) * 43.125); width: calc(var(--s) * 21.0625); height: calc(var(--s) * 4.6875);
  display: grid; place-items: center; font-size: calc(var(--s) * 1.875); letter-spacing: calc(var(--s) * .1875) !important;
  color: var(--accent); border: 2px solid var(--accent); border-radius: calc(var(--s) * 3);
  background: linear-gradient(135deg,#ffdbdf,#fff);
}
.strength-page .diagram-brand-spark {
  left: calc(var(--s) * 8.875); top: calc(var(--s) * 57.0625); width: calc(var(--s) * 21.0625); height: calc(var(--s) * 6.5);
  padding-top: calc(var(--s) * .5625); border-radius: calc(var(--s) * 2.1875); background: #e90036; color: #fff;
  font-size: calc(var(--s) * 1.9375); line-height: calc(var(--s) * 2.625); letter-spacing: calc(var(--s) * .19375) !important;
}
.strength-page .diagram-brand-spark span { display: block; font-size: calc(var(--s) * 1.25); line-height: calc(var(--s) * 1.8125); letter-spacing: calc(var(--s) * .125) !important; }
.strength-page .diagram-brand-description {
  left: calc(var(--s) * 9.0625); top: calc(var(--s) * 64.6875); width: calc(var(--s) * 19); color: var(--accent);
  font-size: calc(var(--s) * 1.5625); line-height: calc(var(--s) * 1.875); letter-spacing: calc(var(--s) * .15625) !important;
}
.strength-page .diagram-retail {
  left: calc(var(--s) * 49.75); top: calc(var(--s) * 42.8125); width: calc(var(--s) * 23.875); height: calc(var(--s) * 6.625);
  padding-top: calc(var(--s) * .75); border: 2px solid #cef0e3; border-radius: calc(var(--s) * 2.1875);
  background: linear-gradient(135deg,#cff0e4,#eafff7);
  font-size: calc(var(--s) * 1.83); line-height: calc(var(--s) * 2.1875); letter-spacing: calc(var(--s) * .183) !important;
}
.strength-page .diagram-retail span { display: block; font-size: calc(var(--s) * 1.21875); line-height: calc(var(--s) * 1.875); letter-spacing: calc(var(--s) * .121875) !important; }
.strength-page .diagram-retail-description {
  left: calc(var(--s) * 50.5); top: calc(var(--s) * 50.25); width: calc(var(--s) * 22.25);
  font-size: calc(var(--s) * 1.5625); line-height: calc(var(--s) * 1.875); letter-spacing: calc(var(--s) * .15625) !important;
}
.strength-page .diagram-ugc {
  left: calc(var(--s) * 49.8125); top: calc(var(--s) * 63.0625); width: calc(var(--s) * 23.8125); height: calc(var(--s) * 7.25);
  padding-top: calc(var(--s) * .75); border-radius: calc(var(--s) * 2.1875); background: #ceeee2;
  font-size: calc(var(--s) * 1.9375); line-height: calc(var(--s) * 2.625); letter-spacing: calc(var(--s) * .19375) !important;
}
.strength-page .diagram-synergy {
  left: calc(var(--s) * 33.75); top: calc(var(--s) * 70.5); width: calc(var(--s) * 12.5625); height: calc(var(--s) * 12.5625);
  padding-top: calc(var(--s) * 1.875); color: #000; background: linear-gradient(100deg,#ff818f,#cbf2e2);
  font-size: calc(var(--s) * 3.125); line-height: calc(var(--s) * 4.5); font-weight: 400 !important;
}
.strength-page .diagram-outcome {
  left: calc(var(--s) * 12); top: calc(var(--s) * 84.9375); width: calc(var(--s) * 56);
  font-size: calc(var(--s) * 3.125); line-height: calc(var(--s) * 4.0625); letter-spacing: calc(var(--s) * .03125) !important;
}
.strength-page .diagram-outcome span { display: block; font-size: calc(var(--s) * 1.875); line-height: calc(var(--s) * 3.375); letter-spacing: calc(var(--s) * .01875) !important; }
.strength-page .closing {
  margin-top: calc(var(--s) * 8.75);
  height: calc(var(--s) * 14.375);
  text-align: center;
  font-size: calc(var(--s) * 1.875);
  letter-spacing: calc(var(--s) * 0.1875) !important;
  font-weight: 700;
  line-height: calc(var(--s) * 3.125);
  color: #000;
  padding-top: calc(var(--s) * 0.375);
  text-indent: calc(var(--s) * 1.25);
}
.strength-page .closing span {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--s) * 0.875);
  transform: translateX(calc(var(--s) * -0.625));
  text-indent: 0;
}
.strength-page .closing img {
  width: calc(var(--s) * 10);
  height: calc(var(--s) * 1.875);
  display: inline-block;
  vertical-align: middle;
}
.strength-page .back-to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 20;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #ffd0d8;
  border-radius: 50%;
  background: #fff;
  color: var(--ink);
  font-size: 22px;
  box-shadow: 0 3px 12px #0000000a;
}
.strength-page .back-to-top:hover {
  background: var(--pink);
}

@media screen and (max-width: 767px) {
.strength-page { --s: 2.133333333vw; }
.strength-page .mobile-only { display: initial; }
.strength-page .desktop-only { display: none; }
.strength-page .hero { height: calc(var(--s) * 26.375); }
.strength-page .hero-background { width: 100%; height: 100%; object-fit: cover; }
.strength-page .hero-copy { padding-top: calc(var(--s) * 5.1875); margin-left: calc(var(--s) * 6.8125); }
.strength-page .hero-eyebrow { font-size: calc(var(--s) * 1); letter-spacing: calc(var(--s) * .25) !important; line-height: calc(var(--s) * 1.375); }
.strength-page .hero h1 {
    font-size: calc(var(--s) * 3.25); line-height: calc(var(--s) * 5); letter-spacing: calc(var(--s) * .6) !important;
    margin-top: calc(var(--s) * .5);
  }
.strength-page .hero-side {
    top: calc(var(--s) * 5.375); left: calc(var(--s) * 2.125);
    font-size: calc(var(--s) * 3); letter-spacing: calc(var(--s) * .1875) !important;
  }
.strength-page .introduction { height: calc(var(--s) * 47.1875); padding: calc(var(--s) * 13.5) 0 0; }
.strength-page .introduction p { width: fit-content; margin-inline: auto; }
.strength-page .introduction p {
    font-size: calc(var(--s) * 1.625); line-height: calc(var(--s) * 4.1875);
    letter-spacing: calc(var(--s) * .08125) !important; white-space: nowrap;
  }
.strength-page .strengths { height: calc(var(--s) * 42.4375); }
.strength-page .strengths-card {
    width: calc(var(--s) * 43.9375); height: calc(var(--s) * 25.1875); margin-inline: auto;
    padding-top: calc(var(--s) * 3.625); border-radius: calc(var(--s) * 1);
    background: linear-gradient(135deg, #f9f8f8, #ffdbdf);
  }
.strength-page .strengths-card h2 {
    font-size: calc(var(--s) * 1.75); line-height: calc(var(--s) * 2.625);
    letter-spacing: calc(var(--s) * .0875) !important; transform: none;
  }
.strength-page .strengths-pair {
    grid-template-columns: 1fr calc(var(--s) * 4.625) 1fr;
    gap: calc(var(--s) * 1.5); width: calc(var(--s) * 37.1875);
    margin: calc(var(--s) * 2.6875) auto 0;
    font-size: calc(var(--s) * 2.75); line-height: calc(var(--s) * 3.625); letter-spacing: calc(var(--s) * .1875) !important;
  }
.strength-page .strengths-pair p:first-child,
.strength-page .strengths-pair p:last-child { transform: none; }
.strength-page .strengths-pair p:first-child,
.strength-page .strengths-pair p:last-child { white-space: nowrap; }
.strength-page .strengths-cross { height: calc(var(--s) * 4.625); }
.strength-page .strengths-cross::before,
.strength-page .strengths-cross::after { width: calc(var(--s) * 5.5); }
.strength-page .strengths-conclusion {
    margin-top: calc(var(--s) * 2.8125); transform: none;
    font-size: calc(var(--s) * 1.75); line-height: calc(var(--s) * 2.625); letter-spacing: calc(var(--s) * .15) !important; font-weight: 500;
  }
.strength-page .strengths-description {
    margin: calc(var(--s) * 7) 0 0 calc(var(--s) * 3.125); transform: none;
    width: calc(var(--s) * 40.625); font-size: calc(var(--s) * 1.25); line-height: calc(var(--s) * 2.4375);
    letter-spacing: calc(var(--s) * .05) !important;
  }
.strength-page .strengths-description br { display: none; }
.strength-page .marketing { height: calc(var(--s) * 144.6875); padding-top: calc(var(--s) * 16.3125); }
.strength-page .ribbon-pink {
    left: calc(var(--s) * -35.4375); top: calc(var(--s) * 5.1875);
    width: calc(var(--s) * 62.8125); height: calc(var(--s) * 23.375);
  }
.strength-page .marketing-heading { width: calc(var(--s) * 37.375); margin-inline: auto; transform: none; }
.strength-page .marketing-heading h2 {
    font-size: calc(var(--s) * 4.5); line-height: calc(var(--s) * 6.125); letter-spacing: calc(var(--s) * .225) !important;
  }
.strength-page .marketing-heading p {
    margin: calc(var(--s) * 4.0625) 0 0;
    width: calc(var(--s) * 37.375); font-size: calc(var(--s) * 1.5625); line-height: calc(var(--s) * 2.625);
    letter-spacing: calc(var(--s) * .15) !important; overflow-wrap: anywhere;
  }
.strength-page .marketing-heading p br.desktop-only { display: none; }
.strength-page .copy-indent { padding-left: 0; }
.strength-page .pillars {
    position: absolute; top: calc(var(--s) * 55.8125); left: 0; right: 0;
    margin: 0 auto; display: flex; flex-direction: column;
    gap: calc(var(--s) * 5.8125); width: calc(var(--s) * 34.375);
  }
.strength-page .pillars li {
    width: calc(var(--s) * 34.375); height: calc(var(--s) * 18);
    border-radius: calc(var(--s) * .625); padding-top: calc(var(--s) * 5.125);
  }
.strength-page .pillars li:last-child { margin-top: calc(var(--s) * 1.625); }
.strength-page .pillar-number {
    top: calc(var(--s) * -1); width: calc(var(--s) * 3.5); height: calc(var(--s) * 3.5);
    font-size: calc(var(--s) * 2);
  }
.strength-page .pillars h3 {
    font-size: calc(var(--s) * 1.875); line-height: calc(var(--s) * 2.625); letter-spacing: calc(var(--s) * .125) !important;
  }
.strength-page .pillars p {
    margin-top: calc(var(--s) * 1.25); font-size: calc(var(--s) * 1.5);
    line-height: calc(var(--s) * 2.625); letter-spacing: calc(var(--s) * .0625) !important;
  }
.strength-page .pillars li:last-child p { margin-top: calc(var(--s) * 1.25); }
.strength-page .funnel { height: calc(var(--s) * 102.75); padding-top: 0; }
.strength-page .ribbon-green { display: none; }
.strength-page .funnel h2 {
    transform: translateY(calc(var(--s) * -.625));
    letter-spacing: calc(var(--s) * .1) !important;
  }
.strength-page .funnel h2 span { font-size: calc(var(--s) * 2.09375); line-height: calc(var(--s) * 3); }
.strength-page .funnel h2 strong {
    font-size: calc(var(--s) * 2.625); line-height: calc(var(--s) * 3.625);
    letter-spacing: calc(var(--s) * .125) !important;
  }
.strength-page .funnel-intro {
    width: calc(var(--s) * 32); margin: calc(var(--s) * 6) auto 0; transform: none;
    font-size: calc(var(--s) * 1.5625); line-height: calc(var(--s) * 2.625); letter-spacing: calc(var(--s) * .0625) !important;
  }
.strength-page .funnel-content {
    display: block; margin: calc(var(--s) * 7.25) auto 0;
    width: calc(var(--s) * 33.125);
  }
.strength-page .funnel-stages { gap: calc(var(--s) * 1.6875); }
.strength-page .funnel-stages li { width: calc(var(--s) * 33.125); height: calc(var(--s) * 8.4375); }
.strength-page .funnel-stages li:nth-child(2) { width: calc(var(--s) * 25.6875); height: calc(var(--s) * 8.4375); transform: none; }
.strength-page .funnel-stages li:nth-child(3) { width: calc(var(--s) * 19.3125); height: calc(var(--s) * 10.3125); transform: none; }
.strength-page .funnel-stages h3 { font-size: calc(var(--s) * 2); }
.strength-page .funnel-stages p { font-size: calc(var(--s) * 1.25); }
.strength-page .teamwork {
    width: calc(var(--s) * 29.375); height: calc(var(--s) * 20.6875);
    margin: calc(var(--s) * 5.0625) auto 0;
  }
.strength-page .advantage { height: calc(var(--s) * 131.875); position: relative; padding: 0; }
.strength-page .advantage-heading {
    position: absolute; top: calc(var(--s) * -1); left: 0; right: 0;
    margin: 0 auto; width: calc(var(--s) * 35.5);
  }
.strength-page .advantage-heading h2 {
    font-size: calc(var(--s) * 4.5); line-height: calc(var(--s) * 5);
    letter-spacing: calc(var(--s) * .225) !important; transform: none;
  }
.strength-page .advantage-heading p {
    width: calc(var(--s) * 35.5); margin: calc(var(--s) * 3.1875) 0 0;
    transform: none; font-size: calc(var(--s) * 1.5625);
    line-height: calc(var(--s) * 2.5625); letter-spacing: calc(var(--s) * .205) !important;
  }
.strength-page .advantage-heading p br.desktop-only { display: none; }
.strength-page .advantage-diagram {
    position: absolute; top: calc(var(--s) * 28.75); left: 0;
    width: calc(var(--s) * 46.875); height: calc(var(--s) * 103.125); margin: 0;
    background: 
      url('../img/strength/diagram-background-mobile.webp') calc(var(--s) * -.6875) calc(var(--s) * -19.4375) / calc(var(--s) * 47.5625) calc(var(--s) * 94.5) no-repeat;
  }
.strength-page .diagram-frame {
    inset: 0 calc(var(--s) * 2.3125) 0 calc(var(--s) * 2.4375);
  }
.strength-page .diagram-connectors { display: none; }
.strength-page .diagram-connectors-mobile { display: block; }
.strength-page .diagram-label {
    top: calc(var(--s) * 9.5625); width: calc(var(--s) * 12.6875);
    font-size: calc(var(--s) * 1.375); line-height: calc(var(--s) * 1.8125);
  }
.strength-page .diagram-label-brand { left: calc(var(--s) * 4.0625); }
.strength-page .diagram-label-customer {
    left: calc(var(--s) * 30); width: calc(var(--s) * 14); white-space: nowrap;
  }
.strength-page .diagram-thought {
    left: calc(var(--s) * 4.0625); top: calc(var(--s) * 13.8125);
    width: calc(var(--s) * 12.6875); height: calc(var(--s) * 12.6875);
    font-size: calc(var(--s) * 2.5);
  }
.strength-page .diagram-story {
    left: calc(var(--s) * 13.1875); top: calc(var(--s) * 10.8125);
    width: calc(var(--s) * 20.1875); height: calc(var(--s) * 20.1875);
    padding-top: calc(var(--s) * 6.0625); font-size: calc(var(--s) * 2.625);
    line-height: calc(var(--s) * 3.5625);
  }
.strength-page .diagram-story span { font-size: calc(var(--s) * 2.125); line-height: calc(var(--s) * 3); }
.strength-page .diagram-benefit {
    left: calc(var(--s) * 30.6875); top: calc(var(--s) * 13.8125);
    width: calc(var(--s) * 12.6875); height: calc(var(--s) * 12.6875);
    padding-top: calc(var(--s) * 1.875);
    font-size: calc(var(--s) * 2.5); line-height: calc(var(--s) * 2.875);
  }
.strength-page .diagram-benefit span { font-size: calc(var(--s) * 1.25); line-height: calc(var(--s) * 1.875); }
.strength-page .diagram-message {
    left: calc(var(--s) * 4.0625); top: calc(var(--s) * 35.4375);
    width: calc(var(--s) * 13.5625); height: calc(var(--s) * 9);
    display: block; padding-top: calc(var(--s) * 1.75);
    font-size: calc(var(--s) * 1.875); line-height: calc(var(--s) * 2.8125);
    border-radius: calc(var(--s) * 2.1875);
  }
.strength-page .diagram-brand-spark {
    left: calc(var(--s) * 3.6875); top: calc(var(--s) * 52.4375);
    width: calc(var(--s) * 15.5); height: calc(var(--s) * 6.625);
    font-size: calc(var(--s) * 1.9375);
  }
.strength-page .diagram-brand-description {
    left: calc(var(--s) * 3.75); top: calc(var(--s) * 60.1875);
    width: calc(var(--s) * 15.5); font-size: calc(var(--s) * 1.5625); white-space: nowrap;
  }
.strength-page .diagram-retail {
    left: calc(var(--s) * 28.625); top: calc(var(--s) * 35.25);
    width: calc(var(--s) * 14.5); height: calc(var(--s) * 8.1875);
    font-size: calc(var(--s) * 1.8125); line-height: calc(var(--s) * 2.125);
  }
.strength-page .diagram-retail span { font-size: calc(var(--s) * 1.21875); line-height: calc(var(--s) * 1.8125); }
.strength-page .diagram-retail-description {
    left: calc(var(--s) * 25.3125); top: calc(var(--s) * 44.5625);
    width: calc(var(--s) * 19); font-size: calc(var(--s) * 1.5625); white-space: nowrap;
  }
.strength-page .diagram-ugc {
    left: calc(var(--s) * 27.125); top: calc(var(--s) * 57.3125);
    width: calc(var(--s) * 15.9375); height: calc(var(--s) * 10);
    font-size: calc(var(--s) * 1.875); line-height: calc(var(--s) * 2.625);
  }
.strength-page .diagram-synergy {
    left: calc(var(--s) * 17.125); top: calc(var(--s) * 72.5);
    width: calc(var(--s) * 12.6875); height: calc(var(--s) * 12.6875);
  }
.strength-page .diagram-outcome {
    left: calc(var(--s) * 11); top: calc(var(--s) * 88.1875); width: calc(var(--s) * 24.875);
    font-size: calc(var(--s) * 3.125); line-height: calc(var(--s) * 3.9375);
  }
.strength-page .diagram-outcome span { font-size: calc(var(--s) * 1.875); line-height: calc(var(--s) * 3.375); white-space: nowrap; }
.strength-page .closing {
    width: calc(var(--s) * 33); height: calc(var(--s) * 29.75); margin: calc(var(--s) * 10.0625) auto 0;
    padding: 0; text-indent: 0;
    font-size: calc(var(--s) * 2.083125); line-height: calc(var(--s) * 3.75); letter-spacing: calc(var(--s) * .208125) !important;
  }
.strength-page .closing span { display: block; transform: none; }
.strength-page .closing img {
    display: block; width: calc(var(--s) * 17.375); height: calc(var(--s) * 3.25);
    margin: calc(var(--s) * 2.5) auto 0;
  }
}

/* WordPress integration: contain the artwork and neutralise theme typography. */
.strength-page {
  width: 100%;
  overflow: clip;
}
.strength-page h1,
.strength-page h2,
.strength-page h3,
.strength-page p {
  font-family: inherit;
  color: inherit;
}

/* Match the top page: content sits in the same 1200px container
   (80 design units x 15px) while the hero image stays full-bleed. */
.strength-page .strength-inner,
.strength-page .hero-inner {
  position: relative;
  max-width: calc(var(--s) * 80);
  margin-inline: auto;
}
.strength-page .hero-inner {
  height: 100%;
}
.strength-page .strength-inner {
  overflow: visible;
}

/* Advantage diagram: background spans the full viewport, diagram stays in the container. */
.strength-page .advantage-diagram::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: url("../img/strength/diagram-background.webp") 0 calc(var(--s) * -19.4375) / 100% calc(var(--s) * 94.5) no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .strength-page .advantage-diagram::before { display: none; }
}

/* White overlay inside the diagram frame (sits under the connector lines). */
.strength-page .diagram-frame {
  z-index: -1;
  background: #ffffff66;
}

/* Lenis smooth scroll (same as top page). */
html.lenis,
html.lenis.lenis-smooth {
  scroll-behavior: auto;
}

/* ===== English layout (strength-en) =====
   The artwork was set for Japanese; English needs tighter tracking and natural wrapping. */
#main .strength-page.strength-en * {
  letter-spacing: 0.01em !important;
}
.strength-page.strength-en .hero-eyebrow {
  text-transform: uppercase;
}
.strength-page.strength-en .hero h1 {
  font-size: calc(var(--s) * 4);
  line-height: 1.25;
}
.strength-page.strength-en .introduction p {
  font-family: var(--jp);
  font-size: calc(var(--s) * 1.375);
  line-height: calc(var(--s) * 2.75);
}
.strength-page.strength-en .strengths-card h2 {
  font-size: calc(var(--s) * 2.25);
}
.strength-page.strength-en .strengths-pair {
  font-size: calc(var(--s) * 2.75);
  line-height: calc(var(--s) * 3.5);
}
.strength-page.strength-en .strengths-pair p:first-child,
.strength-page.strength-en .strengths-pair p:last-child {
  transform: none;
}
.strength-page.strength-en .strengths-pair p > span {
  font-size: 0.6em;
  font-weight: 500;
}
.strength-page.strength-en .strengths-conclusion {
  font-size: calc(var(--s) * 2);
}
.strength-page.strength-en .pillars h3,
.strength-page.strength-en .pillars p {
  white-space: normal;
}
.strength-page.strength-en .funnel-stages h3 {
  font-size: calc(var(--s) * 1.75);
  line-height: calc(var(--s) * 2.25);
}

/* reveal-text (theme) clips with overflow:hidden, which cut the last glyph of
   the large headings. The clip-path animation alone is enough. */
.strength-page .section-heading h2.reveal-text {
  overflow: visible;
}

/* English diagram labels sit on one line on desktop. */
.strength-page.strength-en .diagram-label {
  white-space: nowrap;
}
.strength-page.strength-en .diagram-synergy {
  display: grid;
  place-items: center;
  padding-top: 0;
  font-size: calc(var(--s) * 2.5);
}

/* Reveal ends with a margin so overhanging glyphs are not clipped
   (the theme keyframes end at inset(0), which cut the last letter). */
.strength-page .section-heading h2.reveal-text.is-active {
  animation-name: strengthRevealText;
}
@keyframes strengthRevealText {
  0% { clip-path: inset(-20% 100% -20% 0); }
  100% { clip-path: inset(-20% -20% -20% 0); }
}

/* English, smartphone */
@media screen and (max-width: 767px) {
  .strength-page.strength-en .hero h1 {
    font-size: calc(var(--s) * 2.75);
  }
  .strength-page.strength-en .introduction p {
    font-size: calc(var(--s) * 1.5);
    line-height: calc(var(--s) * 3.25);
  }
  .strength-page.strength-en .strengths-card h2 {
    font-size: calc(var(--s) * 1.75);
  }
  .strength-page.strength-en .strengths-pair {
    grid-template-columns: 1fr calc(var(--s) * 4.625) 1fr;
    gap: calc(var(--s) * 1.5);
    width: auto;
    margin: calc(var(--s) * 2.6875) calc(var(--s) * 2) 0;
    font-size: calc(var(--s) * 2.25);
    line-height: calc(var(--s) * 2.875);
  }
  .strength-page.strength-en .strengths-pair p:first-child,
  .strength-page.strength-en .strengths-pair p:last-child {
    white-space: normal;
  }
  .strength-page.strength-en .strengths-conclusion {
    font-size: calc(var(--s) * 1.75);
  }
  .strength-page.strength-en .funnel h2 strong {
    font-size: calc(var(--s) * 2.25);
  }
  .strength-page.strength-en .diagram-label {
    white-space: normal;
  }
  .strength-page.strength-en .diagram-thought,
  .strength-page.strength-en .diagram-benefit {
    font-size: calc(var(--s) * 1.75);
    line-height: calc(var(--s) * 2.125);
  }
  .strength-page.strength-en .diagram-benefit {
    display: grid;
    place-content: center;
    padding-top: 0;
  }
  .strength-page.strength-en .diagram-story {
    padding-top: calc(var(--s) * 6.5);
    font-size: calc(var(--s) * 1.875);
    line-height: calc(var(--s) * 2.5);
  }
  .strength-page.strength-en .diagram-story span {
    font-size: calc(var(--s) * 1.625);
  }
  .strength-page.strength-en .diagram-outcome {
    font-size: calc(var(--s) * 2.5);
    line-height: calc(var(--s) * 3.125);
  }
  /* Side circles are partly covered by the centre circle: shift copy outward. */
  .strength-page.strength-en .diagram-thought {
    padding-right: calc(var(--s) * 3.25);
    font-size: calc(var(--s) * 1.5);
  }
  .strength-page.strength-en .diagram-benefit {
    padding-left: calc(var(--s) * 2.75);
  }

}
