
/* Mobile-first reading path: headline → portrait → supporting copy → CTA. */
.hero.hero-z{
  position:relative;
  padding-bottom:34px;
  background:linear-gradient(155deg,#173760 0%,#0d2342 58%,#0a1b35 100%);
}
.hero-z-top{
  display:grid;
  grid-template-columns:minmax(0,53%) minmax(0,47%);
  min-height:270px;
  position:relative;
  overflow:hidden;
}
.hero-z-heading{
  position:relative;
  z-index:2;
  padding:28px 2px 18px 20px;
  align-self:start;
}
.hero-z-heading .hero-kicker{
  width:12em;
  max-width:100%;
  margin:0 0 12px;
  color:#f5dfa0;
  font-size:clamp(10px,2.7vw,13px);
  line-height:1.5;
  letter-spacing:.01em;
}
.hero-z-heading .hero-title{
  margin:0;
  font-size:clamp(22px,6.7vw,34px);
  line-height:1.25;
  letter-spacing:-.075em;
  white-space:nowrap;
  text-shadow:0 3px 16px rgba(0,0,0,.18);
}
.hero-z-heading .hero-title .gold{color:#f6dc82;}
.hero-z-heading .hero-desc{
  max-width:100%;
  margin:13px 0 0;
  padding-left:9px;
  border-left:2px solid #d9b85d;
  color:rgba(255,255,255,.95);
  font-size:clamp(11px,3.0vw,13px);
  line-height:1.68;
  font-weight:700;
}
.hero-z .hero-visual{
  min-width:0;
  height:auto;
  position:relative;
  overflow:hidden;
  background:transparent;
  border-radius:0;
  box-shadow:none;
}
.hero-z .hero-visual img{
  position:absolute;inset:0;
  width:100%;height:100%;display:block;
  object-fit:cover;
  object-position:center 43%;
  transform:scale(1.28);
  transform-origin:center 43%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 44%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 44%);
}
.hero-z .hero-visual:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,#0d2342 0%,rgba(13,35,66,.54) 14%,transparent 37%);
  pointer-events:none;
}
.hero-z .hero-z-content{
  margin:0;
  padding:0 20px;
  position:relative;
  z-index:3;
}
.hero-z .cta-box{
  width:88%;
  margin:8px 0 0 auto;
  padding:13px 14px 11px;
  box-shadow:0 12px 32px rgba(0,0,0,.22);
}
.hero-z .cta-btn{font-size:clamp(13px,3.8vw,17px);white-space:nowrap;}
.hero-z .hero-stats{margin-top:24px;}
@media (min-width:601px) and (max-width:359px){
  .hero-z-top{grid-template-columns:55% 45%;min-height:270px;}
  .hero-z-heading{padding:23px 0 14px 16px;}
  .hero-z-heading .hero-title{font-size:clamp(22px,6.8vw,25px);}
  .hero-z-heading .hero-desc{font-size:11px;line-height:1.62;}
  .hero-z .hero-z-content{padding:0 16px;}
  .hero-z .cta-box{width:94%;padding-left:10px;padding-right:10px;}
}
@media(min-width:480px){
  .hero-z-top{min-height:280px;}
  .hero-z-heading{padding:32px 2px 20px 28px;}
  .hero-z .hero-z-content{padding:0 28px;}
}

/* Greater contrast and larger type while retaining the left-to-right portrait layout. */
.hero-z-top{grid-template-columns:minmax(0,55%) minmax(0,45%);min-height:280px;}
.hero-z-heading .hero-kicker{font-size:clamp(11px,2.9vw,14px);}
.hero-z-heading .hero-title{
  font-size:clamp(22px,6.9vw,35px);
  letter-spacing:-.05em;
}
.hero-z-heading .hero-desc{
  font-size:clamp(12px,3.3vw,14px);
  line-height:1.75;
  text-wrap:pretty;
}
/* The two proof points lead into a centered consultation banner. */
.hero-z .hero-stats{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:clamp(10px,3vw,18px);
  margin-top:10px !important;
}
.hero-z .hero-stats .royal-badge{
  flex:none;
  width:min(42vw,154px);
}
.hero-z .royal-inner span{font-size:clamp(10px,3vw,12px) !important;}
.hero-z .royal-inner strong{font-size:clamp(18px,5.5vw,25px) !important;}
.hero-z .royal-inner small{font-size:8px !important;}
.hero-z .cta-box{
  width:min(100%,420px) !important;
  margin:18px auto 0 !important;
  padding:16px 14px 13px !important;
  text-align:center;
  border-color:#e1b43b !important;
  box-shadow:0 16px 36px rgba(0,0,0,.25),0 0 0 4px rgba(232,193,82,.11) !important;
  animation:hero-cta-pop 4.4s ease-in-out infinite;
  transform-origin:center center;
}
.hero-z .cta-note{font-size:14px !important;margin-bottom:9px !important;}
.hero-z .cta-btn{
  font-size:clamp(14px,4vw,18px) !important;
  line-height:1.35 !important;
  padding:16px 10px !important;
  white-space:normal;
}
.hero-z .cta-sub{font-size:11px !important;margin-top:7px !important;}
@keyframes hero-cta-pop{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.085);}
}
@media (min-width:601px) and (max-width:359px){
  .hero-z-top{grid-template-columns:55% 45%;min-height:270px;}
  .hero-z-heading .hero-desc{font-size:12px;line-height:1.7;}
  .hero-z .hero-stats .royal-badge{width:min(42vw,134px);}
}
@media(min-width:480px){.hero-z-top{min-height:300px;}}
@media(prefers-reduced-motion:reduce){
  .hero-z .cta-box{animation:none !important;}
}

.hero-z .hero-instagram-logo{
  display:block;
  width:30px;
  height:30px;
  flex:none;
  margin:0 auto 3px;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));
}
.hero-z .counseling-section{
  margin:18px 16px 24px !important;
}
@media (min-width:601px) and (max-width:359px){
  .hero-z .hero-instagram-logo{width:25px;height:25px;margin-bottom:2px;}
}

/* Continuous motion and compact transition to the counseling section. */
.hero.hero-z{padding-bottom:0;}
.hero-z .cta-box{animation:hero-cta-pop 1.8s ease-in-out infinite;}
.hero-z .counseling-section{margin:18px 16px 18px !important;}

/* Center counseling directly below the CTA, with room beneath STEP 4. */
.hero.hero-z{padding-bottom:26px;}
.hero-z > .counseling-section{
  width:calc(100% - 32px);
  margin:18px auto 0 !important;
  padding-bottom:38px !important;
  overflow:visible !important;
}
.hero-z > .counseling-section .lp-head,
.hero-z > .counseling-section .counseling-lead{
  width:100%;
  text-align:center;
}
.hero-z > .counseling-section .counseling-flow{
  overflow:visible;
  padding-bottom:3px;
}
/* The shorter promise and portrait share a compact, balanced panel. */
.visual-story{
  height:clamp(240px,62vw,290px) !important;
  display:flex;
  align-items:center;
  background:#071a30 !important;
}
.visual-story-photo{
  left:auto !important;
  right:0 !important;
  width:62% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:51% 17% !important;
  transform:scale(1.22);
  transform-origin:60% 24%;
}
.visual-story-shade{
  background:
    linear-gradient(90deg,#071a30 0%,rgba(7,26,48,.96) 34%,rgba(7,26,48,.76) 52%,transparent 82%),
    linear-gradient(0deg,rgba(7,26,48,.94) 0%,transparent 38%) !important;
}
.visual-story-copy{
  position:relative;
  width:60% !important;
  padding:0 0 0 20px !important;
}
.visual-story-copy h3{
  font-size:clamp(21px,6.1vw,32px) !important;
  line-height:1.24 !important;
  letter-spacing:-.045em;
}
.visual-story-copy h3 span{color:#f2dd8a !important;}
.visual-story-line{width:72% !important;margin:13px 0 11px !important;}
.visual-story-copy p{font-size:clamp(12px,3.2vw,14px) !important;line-height:1.55 !important;}
@media (min-width:601px) and (max-width:359px){
  .visual-story{height:245px !important;}
  .visual-story-copy{width:61% !important;padding-left:16px !important;}
  .visual-story-copy h3{font-size:21px !important;}
  .visual-story-photo{width:64% !important;}
}

/* A second result in the same card language as the first case. */
.results-case-extra{
  margin-top:34px;
  padding-top:29px;
  border-top:1px solid rgba(184,144,53,.34);
}
.results-case-extra .results-meta{margin-top:0;}
.results-case-extra .results-chip .chip-main{font-size:clamp(17px,4.6vw,22px);}
.results-case-extra .ba-real-photo{
  background:#e9edf3;
}
.results-case-extra .ba-real-photo img,
.results-case-extra .ba-real-card:first-child .ba-real-photo img,
.results-case-extra .ba-real-card:last-child .ba-real-photo img{
  object-fit:contain;
  object-position:center center;
  transform:scaleX(-1);
}
.results-case-extra .ba-real-card:last-child .ba-real-photo img{
  filter:brightness(1.35);
}

/* The third pair already faces right; keep its original orientation and light. */
.results-case-third .ba-real-photo img,
.results-case-third .ba-real-card:first-child .ba-real-photo img,
.results-case-third .ba-real-card:last-child .ba-real-photo img{
  transform:none;
  filter:none;
}

/* A single genuine photograph fills every result card: no added wall layers. */
.results .ba-real-photo{
  aspect-ratio:3 / 5;
  background:#e7e9eb;
}
.results .ba-real-photo img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
}
.results-case-extra .ba-real-photo img,
.results-case-extra .ba-real-card:first-child .ba-real-photo img,
.results-case-extra .ba-real-card:last-child .ba-real-photo img,
.results-case-third .ba-real-photo img,
.results-case-third .ba-real-card:first-child .ba-real-photo img,
.results-case-third .ba-real-card:last-child .ba-real-photo img{
  object-fit:cover;
}
/* 30s: crop both photographs to a similar shoulder-to-leg scale. */
.results-case-extra:not(.results-case-third) .ba-real-card:first-child .ba-real-photo img{
  object-position:center 50%;
  transform:scaleX(-1) scale(1.2);
}
.results-case-extra:not(.results-case-third) .ba-real-card:last-child .ba-real-photo img{
  object-position:center 45%;
  transform:scaleX(-1);
  filter:brightness(1.35);
}
/* 50s: the wide BEFORE needs a closer crop; the narrow AFTER stays genuine. */
.results-case-third .ba-real-card:first-child .ba-real-photo img{
  object-position:center;
  transform:translateY(36%) scale(2.5);
  filter:none;
}
.results-case-third .ba-real-card:last-child .ba-real-photo img{
  object-position:center 25%;
  transform:none;
  filter:none;
}

/* Match the nearby torso photographs; both faces remain outside the visible crop. */
.results .results-case-extra.results-case-new .ba-real-card .ba-real-photo img{
  filter:none;
  object-fit:cover;
  object-position:center center;
}
.results .results-case-extra.results-case-new .ba-real-card:first-child .ba-real-photo img{
  transform:scale(2);
  transform-origin:50% 52%;
}
.results .results-case-extra.results-case-new .ba-real-card:last-child .ba-real-photo img{
  transform:scale(2.2);
  transform-origin:50% 45%;
}
.results-case-new .metric strong:empty{min-height:1.3em;}

/* Customer voices immediately after the before-and-after results. */
.voice-section{
  background:linear-gradient(180deg,#f4f6f8 0%,#fff 100%);
  border-top:1px solid #e7e9ed;
}
.voice-section .lp-head{margin-bottom:24px;}
.voice-section .lp-title{font-size:clamp(26px,7vw,30px);}
.voice-intro{
  max-width:none;
  margin:12px auto 0;
  color:#344353;
  font-size:min(13.5px,2.65vw);
  font-weight:800;
  line-height:1.55;
  letter-spacing:-.03em;
  white-space:nowrap;
}
.voice-list{display:grid;gap:20px;}
.voice-card{
  position:relative;
  overflow:hidden;
  padding:22px clamp(10px,3vw,18px) 24px;
  border:1px solid rgba(180,145,63,.42);
  border-radius:19px;
  background:#fff;
  box-shadow:0 12px 30px rgba(6,27,52,.075);
}
.voice-card::before{
  content:"“";
  position:absolute;
  top:0;
  right:14px;
  color:rgba(184,145,58,.14);
  font:700 80px/1 Georgia,serif;
  pointer-events:none;
}
.voice-card::after{
  content:"";
  position:absolute;
  top:0;
  left:18px;
  width:55px;
  height:3px;
  border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,#bd922e,#f1d783);
}
.voice-card > *{position:relative;z-index:1;}
.voice-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.voice-number{
  color:#a87a1d;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}
.voice-person{
  display:inline-block;
  padding:5px 10px;
  border-radius:999px;
  color:#102748;
  background:#f4ebd3;
  font-size:11px;
  font-weight:900;
}
.voice-card h3{
  margin:18px 0 16px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(184,145,58,.3);
  color:#0c2546;
  font-size:min(18.5px,3.65vw);
  font-weight:900;
  line-height:1.42;
  letter-spacing:-.045em;
  white-space:nowrap;
}
.voice-card blockquote{margin:0;padding:0;}
.voice-card p{
  margin:0 0 11px;
  color:#344353;
  font-size:13px;
  font-weight:650;
  line-height:1.85;
}
.voice-card p:last-child{margin-bottom:0;}
.voice-card strong{color:#9b6e16;font-weight:900;}
@media (min-width:601px) and (max-width:420px){
  .voice-section{padding-left:12px;padding-right:12px;}
}

/* Give the coach clear space on the right while keeping the copy readable. */
.visual-box-photo .visual-photo{
  width:54% !important;
  object-position:55% 39% !important;
}
.visual-box-photo .visual-photo-overlay{
  background:linear-gradient(90deg,
    rgba(8,28,56,.99) 0%,
    rgba(8,28,56,.96) 30%,
    rgba(8,28,56,.83) 44%,
    rgba(8,28,56,.42) 58%,
    rgba(8,28,56,.08) 70%,
    rgba(8,28,56,0) 82%) !important;
}
@media (min-width:601px) and (max-width:420px){
  .visual-box-photo .visual-photo{
    width:54% !important;
    object-position:55% 39% !important;
  }
}

/* Support photo: feather its edge into the navy and ease the color wash across it. */
.visual-box-photo .visual-photo{
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 13%,rgba(0,0,0,.72) 27%,#000 41%,#000 100%) !important;
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 13%,rgba(0,0,0,.72) 27%,#000 41%,#000 100%) !important;
}
.visual-box-photo .visual-photo-overlay{
  background:linear-gradient(90deg,
    rgba(8,28,56,1) 0%,rgba(8,28,56,.99) 31%,
    rgba(8,28,56,.94) 44%,rgba(8,28,56,.77) 54%,
    rgba(8,28,56,.46) 64%,rgba(8,28,56,.19) 74%,
    rgba(8,28,56,.04) 85%,rgba(8,28,56,0) 96%) !important;
}
/* The attached 10-part guide is one substantial book, with visible page edges. */
.bonus-encyclopedia{
  padding:52px 14px 60px;
  background:radial-gradient(ellipse at 50% 43%,#294d79 0%,#15345e 45%,#081b35 100%);
}
.bonus-encyclopedia .lp-head{margin-bottom:16px}
.bonus-encyclopedia .lp-title{font-size:clamp(26px,7.3vw,34px);line-height:1.38}
.bonus-encyclopedia .lp-title .gold{color:#f0d37a}
.bonus-book-stage{padding:14px 12px 28px;display:grid;place-items:center;perspective:1000px}
.bonus-book{
  appearance:none;-webkit-appearance:none;display:block;position:relative;
  width:min(100%,420px);margin:0;padding:0;border:0;background:transparent;
  cursor:zoom-in;transform:rotateY(-6deg) rotateX(1deg);
  filter:drop-shadow(0 24px 19px rgba(0,5,15,.47));
}
.bonus-book::before{
  content:"";position:absolute;z-index:0;top:7px;right:-14px;bottom:-9px;width:18px;
  border-radius:0 4px 5px 0;border-right:2px solid #b49042;
  background:repeating-linear-gradient(0deg,#e1d9c4 0 2px,#fcf9eb 2px 4px,#d1c6ac 4px 5px);
  transform:skewY(19deg);
}
.bonus-book::after{
  content:"";position:absolute;z-index:0;left:12px;right:-14px;bottom:-17px;height:20px;
  border-radius:0 0 5px 3px;border-bottom:2px solid #a7813a;
  background:repeating-linear-gradient(90deg,#d7ccb4 0 2px,#f9f4e5 2px 5px);
  transform:skewX(31deg);
}
.bonus-book-cover{
  position:relative;z-index:1;display:block;overflow:hidden;
  border:5px solid #092348;border-left-width:12px;border-radius:3px 7px 7px 3px;
  box-shadow:inset 2px 0 4px rgba(0,0,0,.5),0 0 0 1px #b99044,6px 7px 0 #071a32;
  background:#fff;
}
.bonus-book-cover::after{
  content:"";position:absolute;inset:0 auto 0 0;width:9px;
  background:linear-gradient(90deg,rgba(1,17,41,.34),rgba(255,255,255,.24),transparent);
  pointer-events:none;
}
.bonus-book-cover img{display:block;width:100%;height:auto}
.bonus-book-hint{margin:7px auto 0;text-align:center;color:#f1dfa7;font-size:12px;font-weight:700;letter-spacing:.04em}
.bonus-detail{
  max-width:min(96vw,680px);max-height:92vh;padding:40px 10px 12px;border:2px solid #c8a85e;
  border-radius:12px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.4);overflow:auto;
}
.bonus-detail::backdrop{background:rgba(3,13,29,.82)}
.bonus-detail img{display:block;width:100%;height:auto}
.bonus-detail-close{
  position:absolute;top:7px;right:9px;border:0;border-radius:7px;
  padding:6px 12px;background:#0d2342;color:#fff;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;
}
@media (min-width:601px) and (max-width:360px){
  .bonus-encyclopedia{padding-left:10px;padding-right:10px}
  .bonus-book-stage{padding-left:8px;padding-right:8px}
}

/* Give the guide the depth of a substantial hardcover volume. */
.bonus-book-stage{padding:14px 40px 52px 15px;perspective:1200px}
.bonus-book{
  transform:rotateY(-10deg) rotateX(2deg);
  transform-origin:45% 50%;
  filter:drop-shadow(11px 29px 18px rgba(0,5,16,.55));
}
.bonus-book-back{
  position:absolute;z-index:0;top:12px;left:14px;right:-34px;bottom:-38px;
  border:3px solid #b59350;border-radius:2px 7px 8px 3px;
  background:linear-gradient(135deg,#163c6b,#06172f 75%);
  box-shadow:6px 9px 0 rgba(0,8,23,.27);
}
.bonus-book::before{
  z-index:1;top:13px;right:-28px;bottom:-19px;width:34px;
  border-right:3px solid #a8813b;border-radius:0 4px 5px 0;
  background:repeating-linear-gradient(0deg,#c9bda2 0 2px,#f7f1df 2px 5px,#ddd2b9 5px 6px);
  transform:skewY(18deg);
}
.bonus-book::after{
  z-index:1;left:14px;right:-27px;bottom:-31px;height:34px;
  border-bottom:3px solid #a8813b;border-radius:0 0 5px 3px;
  background:repeating-linear-gradient(90deg,#d0c4ac 0 2px,#f9f4e7 2px 6px,#e1d5bc 6px 7px);
  transform:skewX(29deg);
}
.bonus-book-spine{
  position:absolute;z-index:3;top:4px;bottom:1px;left:-13px;width:27px;
  border-left:2px solid #b9984e;border-right:2px solid #d4ae59;
  border-radius:3px 0 0 3px;
  background:linear-gradient(90deg,#07162c 0%,#0a2853 34%,#1a477a 65%,#092447 100%);
  box-shadow:-5px 5px 9px rgba(0,8,24,.25);
  transform:skewY(-5deg);pointer-events:none;
}
.bonus-book-spine::after{
  content:"";position:absolute;left:5px;right:5px;top:5%;bottom:5%;
  border-top:2px solid #c8a45c;border-bottom:2px solid #c8a45c;
}
.bonus-book-cover{z-index:2;border-left-width:14px;box-shadow:inset 3px 0 7px rgba(0,0,0,.5),0 0 0 1px #b99044,8px 11px 0 #071a32}
@media (min-width:601px) and (max-width:360px){.bonus-book-stage{padding-left:14px;padding-right:34px}}

/* Keep the final invitation moving, and show a compact invitation while scrolling. */
.final{scroll-margin-top:16px;padding-bottom:70px}
.final .cta-box{transform-origin:center;animation:final-cta-pop 1.8s ease-in-out infinite}
@keyframes final-cta-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.065)}}
.floating-cta{
  position:fixed;z-index:1000;left:50%;bottom:calc(10px + env(safe-area-inset-bottom,0px));
  width:min(calc(100vw - 24px),488px);padding:7px;
  border:1px solid rgba(245,215,137,.75);border-radius:999px;
  background:rgba(8,28,56,.97);box-shadow:0 10px 30px rgba(3,15,35,.38);
  transform:translate(-50%,16px);opacity:0;visibility:hidden;pointer-events:none;
  transition:transform .25s ease,opacity .25s ease,visibility .25s;
}
.floating-cta.is-visible{transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto}
.floating-cta a{
  display:block;padding:13px 16px;border-radius:999px;text-align:center;text-decoration:none;
  background:linear-gradient(180deg,#fff1b9 0%,#f1ce65 52%,#d9a62e 100%);
  color:#0a2446;font-size:clamp(14px,4vw,18px);font-weight:900;
  box-shadow:inset 0 2px 1px rgba(255,255,255,.67),0 3px 8px rgba(0,0,0,.2);
  animation:floating-cta-pop 1.9s ease-in-out infinite;
}
@keyframes floating-cta-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){
  .final .cta-box,.floating-cta a{animation:none}
  .floating-cta{transition:none}
}

/* Move the person beyond the soft navy fade, preserving the existing gradient. */
.visual-box-photo .visual-photo{right:-10% !important}

/* Present the provided bonus artwork plainly and keep its tap-to-enlarge control. */
.bonus-gallery{
  padding:52px 14px 58px;
  background:radial-gradient(ellipse at 50% 35%,#294d79 0%,#15345e 45%,#081b35 100%);
}
.bonus-gallery .lp-head{margin-bottom:22px}
.bonus-gallery .lp-title{font-size:clamp(26px,7.3vw,34px);line-height:1.38}
.bonus-gallery .lp-title .gold{color:#f0d37a}
.bonus-image-stage{margin:0 auto;max-width:460px}
.bonus-image-button{
  display:block;width:100%;margin:0;padding:0;border:2px solid #d4ad52;
  border-radius:12px;background:#fff;overflow:hidden;cursor:zoom-in;
  box-shadow:0 16px 36px rgba(0,5,18,.35);
}
.bonus-image-button img{display:block;width:100%;height:auto}
.bonus-image-hint{margin:16px auto 0;text-align:center;color:#f1dfa7;font-size:12px;font-weight:700;letter-spacing:.04em}

/* Match the first story panel to the navy, photo and cream-framed support panel. */
.visual-break-story .visual-photo-copy{width:64% !important;padding:54px 0 38px 28px !important}
.visual-break-story .visual-photo-copy h3{font-size:31px !important;letter-spacing:-.045em !important}
.visual-break-story .visual-photo-copy p{font-size:14px !important;line-height:1.74 !important;margin-top:20px !important}
@media (min-width:601px) and (max-width:420px){
  .visual-break-story .visual-photo-copy{width:70% !important;padding:42px 0 30px 18px !important}
  .visual-break-story .visual-photo-copy h3{font-size:25px !important;line-height:1.3 !important;letter-spacing:-.055em !important}
  .visual-break-story .visual-photo-copy p{font-size:13px !important;line-height:1.68 !important;margin-top:18px !important}
}
@media (min-width:601px) and (max-width:359px){.visual-break-story .visual-photo-copy h3{font-size:22px !important}}

/* Mobile fallback: show the following CTA even when the preview does not run scripts. */
@media (min-width:601px) and (max-width:600px), (min-width:601px) and (hover:none) and (pointer:coarse){
  .hero-z .cta-box{
    animation:hero-cta-pop 1.8s ease-in-out infinite !important;
    -webkit-animation:hero-cta-pop 1.8s ease-in-out infinite !important;
    transform-origin:center !important;
    will-change:transform;
  }
  .final .cta-box{
    animation:final-cta-pop 1.8s ease-in-out infinite !important;
    -webkit-animation:final-cta-pop 1.8s ease-in-out infinite !important;
    transform-origin:center !important;
    will-change:transform;
  }
  .floating-cta,
  .floating-cta.is-visible{
    display:block !important;
    position:fixed !important;
    left:50% !important;
    bottom:calc(12px + env(safe-area-inset-bottom,0px)) !important;
    transform:translate3d(-50%,0,0) !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    z-index:2147483000 !important;
  }
  .floating-cta a{
    animation:floating-cta-pop 1.9s ease-in-out infinite !important;
    -webkit-animation:floating-cta-pop 1.9s ease-in-out infinite !important;
    transform-origin:center !important;
    will-change:transform;
  }
  .final{padding-bottom:120px}
}

/* One clear click cursor replaces the arrow on every consultation CTA. */
.cta-btn,.floating-cta a{display:flex !important;align-items:center;justify-content:center;gap:9px}
.cta-label{white-space:nowrap}
.cta-click-icon{display:block;width:21px;height:21px;flex:none;filter:drop-shadow(0 1px 0 rgba(255,255,255,.38))}
@media (min-width:601px) and (max-width:359px){.cta-btn,.floating-cta a{gap:6px}.cta-click-icon{width:19px;height:19px}}

/* CSS-only enlargement remains usable in mobile file viewers without script support. */
.bonus-lightbox{display:none}
.bonus-lightbox:target{
  display:flex;flex-direction:column;position:fixed;inset:0;
  z-index:2147483647;background:rgba(4,16,36,.98);color:#fff;
}
.bonus-lightbox-header{
  flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;
  min-height:58px;padding:calc(9px + env(safe-area-inset-top,0px)) 14px 9px;
  background:#0d2342;border-bottom:1px solid rgba(229,191,91,.7);
  font-size:12px;font-weight:800;
}
.bonus-lightbox-close{
  flex:none;border:1px solid #d5aa35;border-radius:999px;
  padding:7px 12px;background:#f6dfa0;color:#0d2342;
  text-decoration:none;font-size:13px;font-weight:900;
}
.bonus-lightbox-scroll{
  flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;
  padding:14px 14px calc(30px + env(safe-area-inset-bottom,0px));
}
.bonus-lightbox-scroll img{
  display:block;width:900px;max-width:none;height:auto;margin:0 auto;
  background:#fff;box-shadow:0 14px 40px rgba(0,0,0,.4);
}
@media(min-width:950px){.bonus-lightbox-scroll img{width:min(900px,calc(100vw - 56px))}}
/* Keep the desktop proof badge at the same compact type scale as mobile. */
@media(min-width:601px){
  .hero-z .royal-inner span{font-size:11px !important;white-space:nowrap}
  .hero-z .royal-inner strong{font-size:22px !important;white-space:nowrap}
}

/* Crisp before-to-after arrows. */
.results .ba-real-arrow{display:flex;align-items:center;justify-content:center;color:#b88b19}
.results .ba-real-arrow svg{display:block;width:30px;height:23px;filter:drop-shadow(0 2px 2px rgba(87,54,5,.22))}
/* Keep the original prose flow on wider screens. */
.support-phrase,.final-intro{display:block}
.mobile-copy-line{display:inline}
@media (min-width:601px) and (max-width:600px), (min-width:601px) and (hover:none) and (pointer:coarse){
  .hero-z .hero-kicker .mobile-copy-line,
  .hero-z .hero-desc .mobile-copy-line,
  .visual-break-photo:not(.visual-break-story) .visual-photo-copy .mobile-copy-line,
  .final .final-intro .mobile-copy-line,
  .final p .mobile-copy-line,
  .faq-lead .mobile-copy-line{display:block}
  .final h2{font-size:clamp(22px,6.2vw,25px);line-height:1.43;letter-spacing:-.035em}
  .faq-lead{line-height:1.72 !important}
}

/* Controlled two-line kicker and two-line support sentences on small screens. */
@media (min-width:601px) and (max-width:600px), (min-width:601px) and (hover:none) and (pointer:coarse){
  .hero-z-heading .hero-kicker{width:auto !important;max-width:100% !important;letter-spacing:-.02em !important}
  .hero-z-heading .hero-kicker .mobile-copy-line{white-space:nowrap !important}
  .visual-break-photo:not(.visual-break-story) .visual-photo-copy{width:70% !important}
  .visual-break-photo:not(.visual-break-story) .visual-photo-copy p .mobile-copy-line{white-space:nowrap !important;letter-spacing:-.025em !important}
}

/* Use the same deliberate line breaks for these two panels at every width. */
.hero-z-heading .hero-kicker .mobile-copy-line,
.visual-break-photo:not(.visual-break-story) .visual-photo-copy p .mobile-copy-line{
  display:block !important;
  white-space:nowrap !important;
}

/* A full-width copy band gives the requested four lines room on phone and desktop. */
.hero-z .hero-desc-band{
  padding:16px 20px 7px;
  background:linear-gradient(180deg,#0a2343 0%,#0d2b50 100%);
}
.hero-z .hero-desc-wide{
  width:100%;max-width:460px;margin:0 auto;padding:2px 0 2px 13px;
  border-left:3px solid #d9b85d;color:rgba(255,255,255,.96);
  font-size:clamp(12px,3.25vw,14px);line-height:1.68;font-weight:800;
  letter-spacing:-.015em;text-align:left;
}
.hero-z .hero-desc-line{display:block;white-space:nowrap}
@media (min-width:601px) and (max-width:359px){.hero-z .hero-desc-band{padding-left:16px;padding-right:12px}.hero-z .hero-desc-wide{font-size:12px}}

/* Place the four exact lines within the hero photo, without adding a new row. */
.hero-z .hero-z-top{isolation:isolate}
.hero-z .hero-desc-band{
  position:absolute;z-index:3;left:0;right:0;bottom:0;
  padding:12px 20px 14px;background:transparent;
}
.hero-z .hero-desc-band::before{
  content:"";position:absolute;z-index:-1;left:0;right:0;top:-28px;bottom:0;
  background:linear-gradient(180deg,rgba(8,28,56,0) 0%,rgba(8,28,56,.80) 34%,rgba(8,28,56,.97) 100%);
  pointer-events:none;
}
.hero-z .hero-desc-wide{max-width:none;margin:0;font-size:clamp(12px,3.25vw,14px)}
@media (min-width:601px) and (max-width:359px){.hero-z .hero-desc-band{padding:10px 14px 12px}}

/* Mobile: let the four lines sit on the photo and close the gap below the headline. */
@media (min-width:601px) and (max-width:479px){
  .hero-z .hero-z-top{min-height:clamp(232px,65vw,270px)}
  .hero-z .hero-desc-band{bottom:0;padding:8px 16px 10px}
  .hero-z .hero-desc-band::before{
    top:-24px;
    background:linear-gradient(180deg,rgba(8,28,56,0) 0%,rgba(8,28,56,.78) 38%,rgba(8,28,56,.97) 100%);
  }
  .hero-z .hero-desc-wide{
    font-size:clamp(12px,3.25vw,13px);
    line-height:1.55;
    letter-spacing:-.025em;
    padding-left:10px;
  }
}

/* Keep the portrait clear while protecting only the area behind the copy. */
.hero-z .hero-visual img{
  object-position:center 27%;
  transform:scale(1.12);
  transform-origin:center 30%;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.28) 0%,#000 28%);
  mask-image:linear-gradient(90deg,rgba(0,0,0,.28) 0%,#000 28%);
}
.hero-z .hero-visual:after{
  background:linear-gradient(0deg,rgba(13,35,66,.16) 0%,rgba(13,35,66,.04) 22%,transparent 38%);
}
.hero-z .hero-desc-band::before{
  top:-20px;
  background:linear-gradient(90deg,rgba(8,28,56,.96) 0%,rgba(8,28,56,.91) 47%,rgba(8,28,56,.40) 70%,rgba(8,28,56,0) 100%),linear-gradient(180deg,transparent 0%,rgba(8,28,56,.16) 100%);
}
/* Give the opening screen room for the portrait, proof points, and CTA. */
@media (min-width:601px) and (max-width:600px){
  .hero-z .hero-intro{
    display:flex;flex-direction:column;
    min-height:100vh;min-height:100svh;min-height:100dvh;
    padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));
  }
  .hero-z .hero-z-top{
    flex:1 1 auto;
    min-height:clamp(265px,48svh,520px);
    grid-template-columns:minmax(0,48%) minmax(0,52%);
  }
  .hero-z .hero-z-content{flex:none;padding-top:12px}
  .hero-z .hero-desc-band{padding:11px 16px 13px}
  .hero-z .hero-desc-wide{font-size:clamp(13px,3.55vw,15px);line-height:1.56}
}

/* Preserve the established desktop hero layout and portrait crop. */
@media(min-width:601px){
  .hero-z .hero-intro{display:contents}
  .hero-z .hero-visual img{
    object-position:center 43%;
    transform:scale(1.28);
    transform-origin:center 43%;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%);
    mask-image:linear-gradient(90deg,transparent 0%,#000 38%);
  }
  .hero-z .hero-visual:after{
    background:linear-gradient(0deg,#0d2342 0%,rgba(13,35,66,.40) 14%,transparent 37%);
  }
  .hero-z .hero-desc-band::before{
    top:-28px;
    background:linear-gradient(180deg,rgba(8,28,56,0) 0%,rgba(8,28,56,.75) 34%,rgba(8,28,56,.95) 100%);
  }
}

/* Reference-inspired composition: large left copy, clear right portrait, soft navy blend. */
@media(min-width:601px){.hero-z .hero-intro{display:block}}
.hero-z .hero-z-top{
  display:block;
  min-height:560px;
  background:linear-gradient(135deg,#142f57 0%,#0b1d37 75%);
}
.hero-z .hero-z-heading{
  position:relative;z-index:2;
  width:100%;padding:48px 18px 0 22px;
}
.hero-z .hero-z-heading .hero-kicker{
  width:auto;max-width:none;margin:0 0 20px;
  font-size:clamp(12px,2.7vw,14px);line-height:1.55;
  letter-spacing:.02em;
}
.hero-z .hero-z-heading .hero-kicker::after{
  content:"";display:block;width:112px;height:2px;margin-top:13px;
  background:linear-gradient(90deg,#e9ca68,#b88c1d 72%,transparent);
}
.hero-z .hero-z-heading .hero-title{
  font-size:clamp(30px,8.2vw,42px);
  line-height:1.22;letter-spacing:-.045em;
  text-shadow:0 4px 18px rgba(2,10,25,.65);
}
.hero-z .hero-visual{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;overflow:hidden;
}
.hero-z .hero-visual img{
  position:absolute;top:0;right:-3%;bottom:auto;left:auto;
  width:72%;height:100%;object-fit:cover;object-position:center 27%;
  transform:none;transform-origin:center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.82) 20%,#000 40%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.82) 20%,#000 40%);
}
.hero-z .hero-visual:after{
  background:linear-gradient(90deg,#0d2342 0%,rgba(13,35,66,.94) 21%,rgba(13,35,66,.44) 52%,rgba(13,35,66,.03) 78%),linear-gradient(0deg,rgba(13,35,66,.30) 0%,transparent 38%);
}
.hero-z .hero-desc-band{bottom:0;padding:14px 22px 26px}
.hero-z .hero-desc-band::before{
  top:-24px;
  background:linear-gradient(90deg,rgba(8,28,56,.91) 0%,rgba(8,28,56,.77) 47%,rgba(8,28,56,.14) 79%,transparent 100%);
}
.hero-z .hero-desc-wide{
  font-size:clamp(13px,3.7vw,16px);
  line-height:1.58;padding-left:12px;
  text-shadow:0 2px 10px rgba(0,0,0,.48);
}
@media (min-width:601px) and (max-width:600px){
  .hero-z .hero-z-top{flex:1 1 auto;min-height:clamp(365px,51svh,570px)}
  .hero-z .hero-z-heading{padding:34px 14px 0 18px}
  .hero-z .hero-z-heading .hero-kicker{margin-bottom:17px;font-size:clamp(12px,3.1vw,14px)}
  .hero-z .hero-z-heading .hero-kicker::after{width:90px;margin-top:10px}
  .hero-z .hero-z-heading .hero-title{font-size:clamp(29px,8.6vw,38px)}
  .hero-z .hero-visual img{right:-8%;width:76%;object-position:center 27%}
  .hero-z .hero-desc-band{padding:12px 16px 19px}
  .hero-z .hero-desc-wide{font-size:clamp(13px,3.55vw,15px);line-height:1.58;padding-left:10px}
}

/* Recreate the reference's visual rhythm with Yudai Fitness copy and palette. */
.hero-z .hero-z-top{display:block;min-height:660px;background:#0b1d37}
.hero-z .hero-z-heading{z-index:2;padding:95px 18px 0 22px;width:100%}
.hero-z .hero-overline{
  display:block;width:max-content;max-width:100%;margin:0 0 22px;
  color:#f7f3e8;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(11px,2.5vw,13px);font-weight:700;line-height:1.4;
  letter-spacing:.14em;white-space:nowrap;text-shadow:0 2px 9px rgba(0,0,0,.65);
}
.hero-z .hero-overline span{margin-left:10px;color:#e9d39b}
.hero-z .hero-overline::after{
  content:"";display:block;width:100%;height:2px;margin-top:12px;
  background:linear-gradient(90deg,#c7942d,#f1d879 50%,#ae7d18 100%);
  box-shadow:0 0 8px rgba(239,190,69,.35);
}
.hero-z .hero-z-heading .hero-title{
  margin:0;white-space:normal;font-size:inherit;line-height:1;
  text-shadow:0 3px 16px rgba(2,8,20,.76);
}
.hero-z .hero-title-lead{
  display:block;width:max-content;max-width:100%;position:relative;
  color:#fffaf0;font-size:clamp(44px,10.8vw,56px);
  font-weight:900;line-height:1.12;letter-spacing:-.075em;white-space:nowrap;
}
.hero-z .hero-title-lead::after{
  content:"";display:block;width:92%;height:2px;margin-top:11px;
  background:linear-gradient(90deg,#c7962d,#f2dc85 54%,transparent);
}
.hero-z .hero-z-heading .hero-title-middle.hero-kicker{
  display:block;width:max-content !important;max-width:100% !important;
  margin:24px 0 20px !important;padding:0;border:0;
  color:#fdfbf6;font-size:clamp(23px,5.7vw,30px) !important;
  font-weight:800;line-height:1.35;letter-spacing:-.045em !important;
}
.hero-z .hero-title-middle .mobile-copy-line{display:block !important;white-space:nowrap !important}
.hero-z .hero-title-climax{
  display:block;width:max-content;max-width:100%;
  color:#f2c558;font-size:clamp(53px,14vw,74px);
  line-height:1.03;font-weight:900;letter-spacing:-.075em;
  text-shadow:0 2px 0 #986817,0 5px 15px rgba(3,11,24,.65);
}
.hero-z .hero-title-climax span{display:block;white-space:nowrap}
.hero-z .hero-visual{position:absolute;inset:0;z-index:0;width:100%;height:100%}
.hero-z .hero-visual img{
  position:absolute;top:0;right:-17%;bottom:auto;left:auto;
  width:80%;height:100%;object-fit:cover;object-position:center 28%;
  transform:scale(1.08);transform-origin:70% 30%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.80) 20%,#000 36%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.80) 20%,#000 36%);
}
.hero-z .hero-visual:after{
  background:linear-gradient(90deg,#0b1d37 0%,rgba(11,29,55,.96) 25%,rgba(11,29,55,.59) 52%,rgba(11,29,55,.02) 80%),linear-gradient(0deg,rgba(11,29,55,.31) 0%,transparent 32%);
}
.hero-z .hero-desc-band{bottom:0;padding:10px 22px 22px}
.hero-z .hero-desc-band::before{
  top:-26px;
  background:linear-gradient(90deg,rgba(8,25,49,.94) 0%,rgba(8,25,49,.81) 49%,rgba(8,25,49,.20) 82%,transparent 100%);
}
.hero-z .hero-desc-wide{
  font-size:clamp(13px,3.45vw,15px);line-height:1.55;
  padding-left:12px;color:#fffdf7;text-shadow:0 2px 11px rgba(0,0,0,.7);
}
@media (min-width:601px) and (max-width:600px){
  .hero-z .hero-z-top{flex:1 1 auto;min-height:480px}
  .hero-z .hero-z-heading{padding:clamp(38px,7svh,60px) 14px 0 17px}
  .hero-z .hero-overline{font-size:clamp(9px,2.6vw,12px);margin-bottom:17px;letter-spacing:.11em}
  .hero-z .hero-overline span{margin-left:6px}
  .hero-z .hero-overline::after{margin-top:10px}
  .hero-z .hero-title-lead{font-size:clamp(40px,10.7vw,50px)}
  .hero-z .hero-title-lead::after{margin-top:9px}
  .hero-z .hero-z-heading .hero-title-middle.hero-kicker{
    margin:18px 0 16px !important;font-size:clamp(21px,5.85vw,27px) !important;
  }
  .hero-z .hero-title-climax{font-size:clamp(50px,13.8vw,63px)}
  .hero-z .hero-visual img{right:-21%;width:80%}
  .hero-z .hero-desc-band{padding:8px 16px 15px}
  .hero-z .hero-desc-wide{font-size:clamp(12px,3.45vw,14px);line-height:1.48;padding-left:10px}
}

/* Reordered first two statements; keep the gold statement clear of the bottom fade. */
.hero-z .hero-title-lead{font-size:clamp(30px,7.5vw,42px);line-height:1.17;letter-spacing:-.065em}
.hero-z .hero-title-lead span{display:block;white-space:nowrap}
.hero-z .hero-visual:after{
  background:linear-gradient(90deg,#0b1d37 0%,rgba(11,29,55,.96) 25%,rgba(11,29,55,.59) 52%,rgba(11,29,55,.02) 80%),linear-gradient(0deg,rgba(11,29,55,.12) 0%,transparent 12%);
}
.hero-z .hero-desc-band::before{top:0;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 28%);mask-image:linear-gradient(180deg,transparent 0%,#000 28%)}
@media (min-width:601px) and (max-width:600px){
  .hero-z .hero-title-lead{font-size:clamp(30px,7.5vw,37px);line-height:1.16}
}

/* Soft gold type emphasis within the four-line hero description. */
.hero-z .hero-stress-highlight{
  color:#f8dc8d;
  font-size:1.06em;
  font-weight:900;
  letter-spacing:-.015em;
  text-shadow:0 1px 2px rgba(0,0,0,.45),0 0 11px rgba(244,194,72,.33);
  text-decoration:none;
}

/* Balanced, predictable breaks in the PROBLEM section. */
.problem .problem-title-line{display:block;white-space:nowrap;line-height:1.25}
.problem .problem-title-line + .problem-title-line{margin-top:3px}
.problem .problem-card-title-line{display:block;white-space:nowrap;letter-spacing:-.025em}
@media (min-width:601px) and (max-width:359px){
  .problem .premium-problem-card{
    grid-template-columns:74px minmax(0,1fr) !important;
    gap:12px !important;padding:14px !important;
  }
  .problem .problem-icon-premium{
    width:70px !important;height:70px !important;
    min-width:70px !important;min-height:70px !important;
  }
  .problem .problem-copy strong{font-size:16px !important;line-height:1.4 !important}
}

/* Compact PROBLEM cards: let the title use available width. */
.problem .premium-problem-grid{gap:12px !important}
.problem .lp-head{margin-bottom:16px !important}
.problem .premium-problem-card{
  min-height:0 !important;
  grid-template-columns:66px minmax(0,1fr) !important;
  gap:12px !important;padding:13px 14px !important;
  border-radius:20px !important;
}
.problem .problem-icon-premium{
  width:64px !important;height:64px !important;
  min-width:64px !important;min-height:64px !important;
  flex-basis:64px !important;border-radius:18px !important;
}
.problem .problem-icon-premium svg{width:56px !important;height:56px !important}
.problem .problem-copy{min-width:0}
.problem .problem-copy strong{
  margin:0 0 5px !important;
  font-size:clamp(16px,4.4vw,18px) !important;
  line-height:1.35 !important;letter-spacing:-.025em;
  white-space:normal;text-wrap:balance;
}
.problem .problem-copy p{margin:0 !important;font-size:12px !important;line-height:1.5 !important}
.problem .problem-body-line{display:inline}
@media (min-width:601px) and (max-width:420px){
  .problem .problem-body-line{display:block;white-space:nowrap}
}
@media (min-width:601px) and (max-width:359px){
  .problem .premium-problem-card{
    grid-template-columns:58px minmax(0,1fr) !important;
    gap:10px !important;padding:12px !important;
  }
  .problem .problem-icon-premium{
    width:58px !important;height:58px !important;
    min-width:58px !important;min-height:58px !important;
    flex-basis:58px !important;border-radius:16px !important;
  }
  .problem .problem-icon-premium svg{width:51px !important;height:51px !important}
  .problem .problem-copy strong{font-size:16px !important}
  .problem .problem-copy p{font-size:11px !important}
}

/* On phones, reproduce the 520px desktop page and let the browser fit it. */
@media(max-width:600px){

:root{
  --navy:#0d2342;--navy2:#183a68;--gold:#d5aa35;--gold2:#f2dd8a;
  --cream:#fbf8f0;--white:#fff;--text:#1c2430;--muted:#6b7480;
  --soft:#f4f6f8;--line:#e6e1d6;--shadow:0 12px 30px rgba(13,35,66,.08)
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#fff;font-family:"Hiragino Sans","Yu Gothic",sans-serif}
.yudai-lp{width:100%;max-width:520px;margin:0 auto;padding:0;background:#fff;overflow:hidden;color:var(--text)}
.lp-sec{padding:54px 20px}
.lp-head{text-align:center;margin-bottom:28px}
.lp-label{display:inline-block;font-size:11px;letter-spacing:.18em;font-weight:800;color:#a8872f;margin-bottom:8px}
.lp-title{margin:0;font-size:30px;line-height:1.45;font-weight:900;color:var(--navy)}
.lp-title .gold{color:#b98e1e}
.lp-lead{margin:12px auto 0;font-size:13px;line-height:1.9;color:var(--muted);max-width:440px}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.dark{background:linear-gradient(160deg,var(--navy2),var(--navy));color:#fff}
.dark .lp-title,.dark .lp-lead{color:#fff} .dark .lp-label{color:var(--gold2)}

/* HERO */
.hero{background:linear-gradient(160deg,var(--navy2),var(--navy));color:#fff;padding-bottom:34px}
.hero-visual{height:470px;position:relative;overflow:hidden;background:#111}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block;transform:scale(1.18);transform-origin:center 42%}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,15,28,.05) 35%,rgba(4,18,34,.18) 58%,rgba(8,25,47,.96) 100%)}
.hero-badge{position:absolute;top:18px;left:18px;z-index:3;padding:7px 14px;border-radius:999px;background:linear-gradient(135deg,#f7e49f,#cf9d25);color:var(--navy);font-size:12px;font-weight:900}
.hero-content{margin-top:-118px;position:relative;z-index:4;padding:0 20px}
.hero-kicker{font-size:13px;font-weight:800;margin-bottom:8px}
.hero-title{margin:0;font-size:42px;line-height:1.18;font-weight:900;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.hero-title .gold{color:var(--gold2)}
.hero-desc{margin:14px 0 0;font-size:13px;line-height:1.9;color:rgba(255,255,255,.9)}
.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.stat{border:1px solid rgba(213,170,53,.5);border-radius:14px;padding:14px 8px;text-align:center;background:rgba(255,255,255,.04)}
.stat span{display:block;font-size:10px} .stat strong{display:block;color:var(--gold2);margin-top:3px;font-size:25px}
.cta-box{margin-top:18px;background:#fffaf0;border:2px solid var(--gold);border-radius:18px;padding:14px}
.cta-note{text-align:center;color:var(--navy);font-size:12px;font-weight:800;margin-bottom:8px}
.cta-btn{display:block;text-decoration:none;color:var(--navy);background:linear-gradient(#ffe99d,#e7b931);padding:17px 12px;border-radius:999px;text-align:center;font-size:17px;font-weight:900}
.cta-sub{margin-top:7px;text-align:center;color:#66717d;font-size:10px}
.mini-support{margin:18px 20px 0;border:1px solid rgba(213,170,53,.4);border-radius:16px;overflow:hidden}
.mini-item{padding:16px;text-align:center;background:rgba(255,255,255,.04)}
.mini-item + .mini-item{border-top:1px solid rgba(213,170,53,.25)}
.mini-icon{font-size:24px;margin-bottom:4px} .mini-item strong{display:block;color:var(--gold2);font-size:15px}
.mini-item p{margin:4px 0 0;color:rgba(255,255,255,.8);font-size:11px}

/* COMMON SECTIONS */
.problem{background:#f8f8f6} .problem-grid{display:grid;gap:14px}
.problem-card{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;padding:18px}
.icon-box{width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:29px;background:linear-gradient(145deg,#fff5d0,#e9c663)}
.problem-card strong{display:block;color:var(--navy);font-size:16px;line-height:1.5}
.problem-card p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.8}
.visual-break{padding:36px 20px;background:var(--cream)}
.visual-box{min-height:220px;border-radius:24px;background:linear-gradient(135deg,rgba(13,35,66,.95),rgba(24,58,104,.88));padding:28px 22px;color:#fff}
.visual-icon{font-size:58px;margin-bottom:14px} .visual-box h3{margin:0;font-size:25px;line-height:1.5}
.visual-box p{margin:10px 0 0;font-size:13px;line-height:1.8;color:rgba(255,255,255,.84)}
.why-list{display:grid;gap:18px} .why-item{display:grid;grid-template-columns:54px 1fr;gap:14px}
.why-num{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f5e19a,#c9961f);color:var(--navy);font-weight:900}
.why-item strong{display:block;color:var(--gold2);font-size:16px;margin-top:2px}
.why-item p{margin:5px 0 0;font-size:12px;line-height:1.8;color:rgba(255,255,255,.82)}
.solution{background:var(--cream)} .solution-main{text-align:center;padding:22px 18px;margin-bottom:18px}
.solution-main strong{display:block;color:var(--navy);font-size:20px} .solution-main p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.8}
.solution-grid{display:grid;gap:12px} .solution-card{padding:18px;border-radius:18px;background:linear-gradient(145deg,var(--navy2),var(--navy));color:#fff}
.solution-top{display:flex;gap:12px;align-items:center} .solution-icon{width:48px;height:48px;border-radius:15px;flex:0 0 48px;display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(145deg,#f5e09b,#d2a12f)}
.solution-card strong{color:var(--gold2);font-size:16px} .solution-card p{margin:9px 0 0;font-size:12px;line-height:1.8;color:rgba(255,255,255,.82)}
.results{background:#fff} .ba-wrap{display:grid;grid-template-columns:1fr 30px 1fr;gap:8px;align-items:center}
.ba-box{border-radius:18px;background:#f2f4f6;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #e2e5e8}
.ba-box.after{background:#fff8e8;border:2px solid var(--gold)} .ba-big{font-size:48px;margin-bottom:8px}
.ba-box strong{font-size:16px;color:var(--navy)} .ba-box span{font-size:10px;color:var(--muted)}
.ba-arrow{text-align:center;color:#b88b19;font-size:22px;font-weight:900}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.metric{border-radius:14px;background:linear-gradient(145deg,var(--navy2),var(--navy));color:#fff;padding:14px 8px;text-align:center}
.metric span{display:block;font-size:10px} .metric strong{display:block;color:var(--gold2);font-size:22px;margin-top:3px}
.voice{margin-top:12px;padding:16px;border-radius:14px;background:#f6f7f8;font-size:12px;line-height:1.8;color:#525d68}
.support{background:#f6f7f8} .support-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.support-card{padding:18px;text-align:center} .support-card .icon-box{margin:0 auto 12px}
.support-card strong{display:block;color:var(--navy);font-size:15px} .support-card p{margin:7px 0 0;font-size:11px;line-height:1.7;color:var(--muted)}
.flow-list{display:grid;gap:12px} .flow-card{display:grid;grid-template-columns:62px 1fr;gap:12px;padding:16px;align-items:center}
.step{border-radius:12px;background:var(--navy);color:#fff;padding:10px 4px;text-align:center;font-size:9px;font-weight:900}
.step b{display:block;font-size:20px;color:var(--gold2);margin-top:2px}
.flow-card strong{display:block;color:var(--navy);font-size:14px} .flow-card p{margin:4px 0 0;font-size:11px;line-height:1.7;color:var(--muted)}
.bonus-grid{display:grid;gap:14px} .bonus-card{border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:18px;background:rgba(255,255,255,.05)}
.bonus-tag{display:inline-block;padding:5px 10px;border-radius:999px;color:var(--navy);background:var(--gold);font-size:10px;font-weight:900}
.bonus-visual{min-height:150px;margin:12px 0;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.2)}
.bonus-visual .emoji{font-size:44px;margin-bottom:8px} .bonus-card strong{display:block;color:var(--gold2);font-size:17px}
.bonus-card p{margin:6px 0 0;color:rgba(255,255,255,.82);font-size:11px;line-height:1.7}
.faq-list{display:grid;gap:10px} .faq-list details{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.faq-list summary{cursor:pointer;padding:16px;font-size:13px;font-weight:800;color:var(--navy)} .faq-list .answer{padding:0 16px 16px;color:var(--muted);font-size:12px;line-height:1.8}
.final{background:linear-gradient(160deg,var(--navy2),var(--navy));color:#fff;text-align:center;padding:52px 20px}
.final h2{margin:0;font-size:28px;line-height:1.5} .final h2 .gold{color:var(--gold2)}
.final p{margin:14px 0 0;color:rgba(255,255,255,.82);font-size:12px;line-height:1.8}

.ba-real-wrap{
  display:grid;
  grid-template-columns:1fr 30px 1fr;
  gap:8px;
  align-items:center;
}
.ba-real-card{
  min-width:0;
}
.ba-real-label{
  margin-bottom:7px;
  padding:6px 5px;
  border-radius:999px;
  text-align:center;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  color:#59626c;
  background:#eceff2;
}
.ba-real-label.after-label{
  color:#0d2342;
  background:linear-gradient(145deg,#f7e49f,#cf9d25);
}
.ba-real-photo{
  width:100%;
  aspect-ratio:3 / 4;
  border-radius:16px;
  overflow:hidden;
  background:#f2f4f6;
  border:1px solid #e1e4e7;
}
.ba-real-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.ba-real-card:first-child .ba-real-photo img,
.ba-real-card:last-child .ba-real-photo img{
  object-position:center center;
  transform:none;
}
.ba-real-arrow{
  text-align:center;
  color:#b88b19;
  font-size:22px;
  font-weight:900;
}
.ba-caption{
  margin-top:9px;
  text-align:center;
  color:#8b949e;
  font-size:9px;
  line-height:1.6;
}

.results-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:360px;margin:14px auto 20px;}
.results-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 12px 13px;border-radius:18px;background:linear-gradient(180deg,#fff8e5 0%,#f5d56b 58%,#e8b93b 100%);border:1px solid rgba(198,148,29,.38);color:#0d2342;box-shadow:0 10px 22px rgba(197,151,42,.18),0 3px 8px rgba(0,0,0,.06);text-align:center;}
.results-chip .chip-top{display:block;font-size:10px;line-height:1;letter-spacing:.18em;font-weight:800;opacity:.68;margin-bottom:7px;}
.results-chip .chip-main{display:block;font-size:22px;line-height:1.08;font-weight:900;letter-spacing:.01em;}



.bonus-visual.real-image{
  padding:0;
  overflow:hidden;
  min-height:0;
  background:#fff;
  border:none;
}
.bonus-visual.real-image img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  border-radius:14px;
}


/* ---- Typography upgrade ---- */
.yudai-lp{
  font-weight:700;
}
.hero-kicker,
.hero-desc,
.stat span,
.cta-note,
.mini-item strong,
.problem-card strong,
.problem-card p,
.visual-box h3,
.visual-box p,
.why-item strong,
.why-item p,
.solution-main strong,
.solution-main p,
.solution-card strong,
.solution-card p,
.ba-box strong,
.metric span,
.voice,
.support-card strong,
.support-card p,
.flow-card strong,
.flow-card p,
.bonus-card strong,
.bonus-card p,
.faq-list summary,
.faq-list .answer,
.final p{
  font-weight:700;
}
.hero-title,
.lp-title,
.stat strong,
.metric strong,
.cta-btn,
.why-num,
.step,
.bonus-tag{
  font-weight:900;
}


/* ---- Royal achievement badges ---- */
.royal-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:22px;
  align-items:center;
}
.royal-badge{
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  border-radius:50%;
  padding:5px;
  background:
    linear-gradient(145deg,#fff0a7 0%,#b87b08 23%,#ffe58a 47%,#9a6200 70%,#f7da72 100%);
  box-shadow:
    0 12px 25px rgba(0,0,0,.28),
    0 0 22px rgba(213,170,53,.18);
}
.royal-badge::before{
  content:"";
  position:absolute;
  inset:9px;
  border-radius:50%;
  border:1px solid rgba(255,224,124,.72);
  pointer-events:none;
}
.royal-inner{
  width:100%;
  height:100%;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:
    radial-gradient(circle at 50% 30%,rgba(255,255,255,.08),transparent 28%),
    linear-gradient(160deg,#111d31,#070d18 74%);
  border:1px solid rgba(255,228,135,.5);
  color:#fff;
  padding:13px 8px;
}
.royal-stars{
  color:#d7ad3d;
  font-size:10px;
  letter-spacing:.16em;
  margin-bottom:4px;
}
.royal-inner span{
  display:block;
  font-size:10px;
  line-height:1.35;
  font-weight:800;
  color:#f8f4e8;
}
.royal-inner strong{
  display:block;
  margin-top:5px;
  font-size:24px;
  line-height:1.05;
  color:#f4d46c;
  font-weight:900;
  letter-spacing:-.03em;
  text-shadow:0 2px 6px rgba(0,0,0,.5);
}
.royal-inner small{
  display:block;
  margin-top:6px;
  font-size:8px;
  letter-spacing:.14em;
  color:rgba(255,255,255,.55);
  font-weight:700;
}



/* ---- Royal badge text size upgrade ---- */
.royal-stars{
  font-size:12px !important;
}
.royal-inner span{
  font-size:13px !important;
  line-height:1.3 !important;
}
.royal-inner strong{
  font-size:30px !important;
  line-height:1.05 !important;
}
.royal-inner small{
  font-size:9px !important;
}




/* ===== Premium CTA / Support refresh ===== */
.cta-box{
  margin-top:18px !important;
  padding:20px 18px 18px !important;
  border-radius:24px !important;
  border:2px solid #d7aa32 !important;
  background:linear-gradient(180deg,#fffdf8,#fbf5e7) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.10) !important;
}
.cta-note{
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  margin-bottom:14px !important;
  color:#0d2342 !important;
}
.cta-btn{
  font-size:22px !important;
  line-height:1.25 !important;
  padding:22px 18px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#ffe995 0%,#efc33d 78%,#dfa91f 100%) !important;
  box-shadow:0 8px 18px rgba(189,137,17,.24) !important;
}
.cta-sub{
  font-size:14px !important;
  font-weight:800 !important;
  margin-top:12px !important;
  color:#697684 !important;
}

/* Less empty space, larger premium cards */
.premium-support{
  margin:20px 20px 0 !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
  display:grid !important;
  gap:12px !important;
}
.premium-item{
  min-height:128px;
  display:grid;
  grid-template-columns:112px 1px 1fr;
  align-items:center;
  gap:18px;
  padding:18px 20px;
  border:1.5px solid rgba(216,176,76,.86);
  border-radius:22px;
  background:
    radial-gradient(circle at 15% 28%,rgba(255,229,145,.08),transparent 27%),
    linear-gradient(145deg,#153865,#0d274a 68%,#09203d);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.025),
    0 8px 22px rgba(0,0,0,.13);
}
.premium-item::before{
  content:"";
  width:1px;
  height:76%;
  background:linear-gradient(180deg,transparent,#d9ad3b 17%,#d9ad3b 83%,transparent);
  grid-column:2;
  grid-row:1;
}
.premium-icon{
  width:92px;
  height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  grid-column:1;
  grid-row:1;
  justify-self:center;
}
.premium-icon svg{
  width:78px;
  height:78px;
  fill:none;
  stroke:#f2cf63;
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 4px 8px rgba(210,166,49,.18));
}
.premium-icon img{
  width:82px;
  height:82px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 4px 10px rgba(210,166,49,.16));
}
.premium-copy{
  grid-column:3;
  grid-row:1;
  text-align:left;
}
.premium-copy strong{
  display:block;
  color:#f3d36f !important;
  font-size:24px !important;
  line-height:1.22 !important;
  font-weight:900 !important;
  letter-spacing:-.02em;
}
.premium-copy p{
  margin:8px 0 0 !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.45 !important;
  font-weight:800 !important;
}

/* Problem heading: larger and tighter */
.problem{
  padding-top:50px !important;
}
.problem .lp-head{
  margin-bottom:26px !important;
}
.problem .lp-label{
  font-size:14px !important;
  margin-bottom:10px !important;
}
.problem .lp-title{
  font-size:36px !important;
  line-height:1.28 !important;
}

/* Mobile fit */



/* ===== Premium PROBLEM section refresh ===== */
.problem{
  padding:46px 20px 48px !important;
  background:
    radial-gradient(circle at 50% 0%,rgba(213,170,53,.05),transparent 28%),
    #f7f7f5 !important;
}
.problem .lp-head{
  margin-bottom:24px !important;
}
.problem .lp-label{
  font-size:14px !important;
  letter-spacing:.16em !important;
  font-weight:900 !important;
  margin-bottom:8px !important;
}
.problem .lp-title{
  font-size:36px !important;
  line-height:1.26 !important;
  font-weight:900 !important;
}
.premium-problem-grid{
  gap:14px !important;
}
.premium-problem-card{
  min-height:128px;
  grid-template-columns:106px 1fr !important;
  gap:18px !important;
  padding:18px 20px !important;
  border-radius:22px !important;
  border:1px solid rgba(13,35,66,.09) !important;
  box-shadow:0 10px 24px rgba(13,35,66,.08) !important;
  background:linear-gradient(180deg,#fff,#fdfcf9) !important;
}
.problem-icon-premium{
  width:86px;
  height:86px;
  border-radius:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 35% 25%,#fff8d9 0%,#f5d878 42%,#d7aa33 100%);
  border:1px solid rgba(187,141,27,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 8px 18px rgba(213,170,53,.18);
}
.problem-icon-premium svg{
  width:56px;
  height:56px;
  fill:none;
  stroke:#0d2342;
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.problem-copy strong{
  display:block;
  color:#0d2342 !important;
  font-size:21px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  letter-spacing:-.02em;
}
.problem-copy p{
  margin:9px 0 0 !important;
  color:#66717d !important;
  font-size:14px !important;
  line-height:1.55 !important;
  font-weight:800 !important;
}



/* Clearer problem illustrations */
.problem-icon-premium.clear-illust svg{
  width:60px !important;
  height:60px !important;
  stroke-width:3.4 !important;
}



/* Explicit problem icons: salad / scale / arrows */
.problem-icon-premium svg{
  width:58px !important;
  height:58px !important;
  stroke-width:3.2 !important;
}


/* ===== Clear problem icons: salad / scale / repeat arrows ===== */
.problem-icon-premium{
  width:86px !important;
  height:86px !important;
  flex:0 0 86px !important;
  border-radius:24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(145deg,#fff4bd 0%,#f3d469 52%,#d6a52e 100%) !important;
  border:1px solid rgba(174,126,12,.28) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 8px 18px rgba(213,170,53,.2) !important;
}
.problem-icon-premium svg{
  width:64px !important;
  height:64px !important;
  overflow:visible !important;
}


/* ===== Colorful premium icons for easier understanding ===== */
.problem-card:nth-child(1) .problem-icon-premium{
  background:linear-gradient(145deg,#f7ffd8 0%,#dff2a1 55%,#b7df69 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(126,171,47,.18) !important;
}
.problem-card:nth-child(2) .problem-icon-premium{
  background:linear-gradient(145deg,#edf5ff 0%,#cfe3ff 55%,#a8c8ff 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(74,123,211,.18) !important;
}
.problem-card:nth-child(3) .problem-icon-premium{
  background:linear-gradient(145deg,#fff1dc 0%,#ffd39e 55%,#ffb45c 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(224,130,37,.20) !important;
}

.problem-card:nth-child(1){
  border-top:4px solid #9acb3c !important;
}
.problem-card:nth-child(2){
  border-top:4px solid #6ba2ff !important;
}
.problem-card:nth-child(3){
  border-top:4px solid #f1a54a !important;
}

/* salad */
.icon-salad .bowl{
  fill:#ffffff;
  stroke:#204a2f;
  stroke-width:4.2;
  stroke-linejoin:round;
}
.icon-salad .leaf:nth-of-type(1){
  fill:#53a63f;
  stroke:#347d29;
  stroke-width:1.6;
}
.icon-salad .leaf:nth-of-type(2){
  fill:#7ecf56;
  stroke:#3d8a2f;
  stroke-width:1.6;
}
.icon-salad .leaf:nth-of-type(3){
  fill:#4caf50;
  stroke:#2e7d32;
  stroke-width:1.6;
}
.icon-salad .tomato{
  fill:#f45b5b;
  stroke:#c73939;
  stroke-width:1.5;
}

/* scale */
.icon-scale .scale-body{
  fill:#ffffff;
  stroke:#3562b8;
  stroke-width:4.2;
}
.icon-scale .dial,
.icon-scale .base-line{
  fill:none;
  stroke:#3562b8;
  stroke-width:4.2;
  stroke-linecap:round;
}
.icon-scale .needle{
  fill:none;
  stroke:#f0ab2d;
  stroke-width:4.2;
  stroke-linecap:round;
}
.icon-scale .needle-dot{
  fill:#f0ab2d;
}

/* repeat arrows */
.icon-repeat .repeat-line,
.icon-repeat .arrow-head{
  fill:none;
  stroke:#ef7f24;
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
}





/* ===== Tight visual story section ===== */
.visual-story{
  position:relative;
  width:100%;
  height:455px;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#071a30;
}

.visual-story-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:60% 34%;
  display:block;
  margin:0;
}

.visual-story-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(5,25,48,.98) 0%,
      rgba(8,31,58,.94) 34%,
      rgba(8,31,58,.68) 52%,
      rgba(8,31,58,.18) 70%,
      rgba(8,31,58,.04) 100%);
}

.visual-story-copy{
  position:relative;
  z-index:2;
  width:59%;
  padding:34px 0 24px 24px;
  color:#fff;
}

.visual-story-copy h3{
  margin:0;
  font-size:29px;
  line-height:1.34;
  font-weight:900;
  letter-spacing:-.03em;
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.3);
}

.visual-story-copy h3 span{
  color:#e7f4ff;
}

.visual-story-line{
  width:78%;
  height:1px;
  background:rgba(255,255,255,.55);
  margin:22px 0 20px;
}

.visual-story-copy p{
  margin:0;
  font-size:15px;
  line-height:1.72;
  font-weight:800;
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}

/* WHYとの間の余白をなくす */
.visual-story + .lp-sec.dark{
  margin-top:0 !important;
}




/* ===== FINAL visual story spacing / full-body adjustment ===== */
.visual-story{
  height:390px !important;
  background:
    linear-gradient(90deg,#08213f 0%,#0b2f58 44%,#07192e 100%) !important;
}

.visual-story-photo{
  left:auto !important;
  right:0 !important;
  width:58% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:right center !important;
  background:transparent !important;
}

.visual-story-shade{
  background:
    linear-gradient(90deg,
      rgba(5,25,48,1) 0%,
      rgba(7,29,54,.98) 38%,
      rgba(7,29,54,.82) 50%,
      rgba(7,29,54,.34) 63%,
      rgba(7,29,54,0) 78%) !important;
}

.visual-story-copy{
  width:54% !important;
  padding:22px 0 16px 20px !important;
}

.visual-story-copy h3{
  font-size:26px !important;
  line-height:1.28 !important;
}

.visual-story-line{
  margin:14px 0 13px !important;
  width:72% !important;
}

.visual-story-copy p{
  font-size:13px !important;
  line-height:1.55 !important;
}




/* ===== Royal solution section upgrade ===== */
.solution{
  background: var(--cream) !important;
}
.solution-main{
  background: linear-gradient(180deg, #fcfbf7 0%, #f5f1e6 100%) !important;
  border: 1px solid rgba(191,152,43,.22) !important;
  box-shadow: 0 8px 24px rgba(8,20,44,.06) !important;
  border-radius: 28px !important;
  padding: 28px 20px !important;
  margin-bottom: 22px !important;
}
.solution-main strong{
  font-size: 22px !important;
  letter-spacing: -.02em !important;
}
.solution-main p{
  margin-top: 12px !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  color: #5d6678 !important;
}
.solution-grid{
  display: grid !important;
  gap: 16px !important;
}
.solution-card{
  padding: 20px 18px !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.08), transparent 22%),
    linear-gradient(135deg, #133e7a 0%, #0c2f61 55%, #08244c 100%) !important;
  border: 1px solid rgba(231,198,106,.38) !important;
  box-shadow:
    0 16px 36px rgba(6,19,41,.18),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.solution-top{
  display: grid !important;
  grid-template-columns: 88px 1fr !important;
  align-items: center !important;
  gap: 16px !important;
}
.solution-icon{
  width: 88px !important;
  height: 88px !important;
  border-radius: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.55), rgba(255,255,255,0) 34%),
    linear-gradient(180deg, #f8e6a1 0%, #e4be4d 100%) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.55),
    inset 0 -2px 0 rgba(164,122,20,.2),
    0 10px 18px rgba(0,0,0,.12) !important;
  border: 1px solid rgba(200,151,31,.45) !important;
  font-size: 0 !important;
}
.solution-icon svg{
  width: 56px !important;
  height: 56px !important;
  overflow: visible;
}
.solution-icon .stroke{
  stroke: #14335f;
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}
.solution-icon .fill-navy{
  fill: #14335f;
}
.solution-icon .fill-green{
  fill: #77b255;
}
.solution-icon .fill-red{
  fill: #ea6a5f;
}
.solution-icon .fill-orange{
  fill: #ef9f42;
}
.solution-icon .fill-light{
  fill: #ffffff;
}
.solution-head{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.solution-head strong{
  display: block;
  color: #f4d46c !important;
  font-size: 24px !important;
  line-height: 1.22 !important;
  letter-spacing: -.02em !important;
}
.solution-head span{
  display: inline-block;
  color: rgba(255,255,255,.72);
  font-size: 12px;
  letter-spacing: .14em;
  font-weight: 800;
}
.solution-card p{
  margin: 16px 0 0 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: rgba(255,255,255,.95) !important;
}



/* ===== FIX: generated solution icons render correctly ===== */
.solution-icon{
  width:88px !important;
  height:88px !important;
  min-width:88px !important;
  min-height:88px !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.solution-generated-icon{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:24px !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
}


/* ===== SUPPORT cards: generated premium illustrations ===== */
.support-card{
  overflow:hidden;
}
.support-card .premium-support-icon{
  width:112px !important;
  height:112px !important;
  margin:0 auto 14px !important;
  padding:0 !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:transparent !important;
  box-shadow:
    0 10px 24px rgba(8,24,52,.12),
    0 0 0 1px rgba(197,153,45,.22) !important;
}
.support-card .premium-support-icon img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:28px !important;
}
.support-card strong{
  font-weight:900 !important;
}



/* ===== Photo support section ===== */
.visual-break-photo{
  padding:34px 20px !important;
  background:#f7f2e7 !important;
}
.visual-box-photo{
  position:relative !important;
  overflow:hidden !important;
  min-height:430px !important;
  padding:0 !important;
  border-radius:32px !important;
  background:#0d2d59 !important;
  box-shadow:0 18px 42px rgba(7,24,52,.16) !important;
}
.visual-photo{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  width:61% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:58% 40% !important;
  display:block !important;
}
.visual-photo-overlay{
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg,
      rgba(8,28,56,.99) 0%,
      rgba(8,28,56,.97) 34%,
      rgba(8,28,56,.82) 48%,
      rgba(8,28,56,.40) 62%,
      rgba(8,28,56,.07) 82%,
      rgba(8,28,56,0) 100%) !important;
}
.visual-photo-copy{
  position:relative !important;
  z-index:2 !important;
  width:58% !important;
  padding:58px 0 50px 30px !important;
  text-align:left !important;
  color:#fff !important;
}
.visual-photo-kicker{
  color:#e8c761 !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  margin-bottom:14px !important;
}
.visual-photo-copy h3{
  margin:0 !important;
  color:#fff !important;
  font-size:34px !important;
  line-height:1.28 !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
}
.visual-photo-copy p{
  margin:24px 0 0 !important;
  color:rgba(255,255,255,.94) !important;
  font-size:15px !important;
  line-height:1.8 !important;
  font-weight:800 !important;
}




.icon-scale-image{
  padding:0 !important;
  overflow:hidden !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:0 8px 18px rgba(74,123,211,.18) !important;
}
.icon-scale-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:inherit !important;
}


.icon-food-image,
.icon-repeat-image,
.icon-scale-image{
  padding:10px !important;
  overflow:hidden !important;
  background:transparent !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}
.icon-food-image img,
.icon-repeat-image img,
.icon-scale-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  border-radius:16px !important;
}



/* ===== Problem section alignment fix ===== */
.problem .premium-problem-grid{
  display:flex !important;
  flex-direction:column !important;
  gap:20px !important;
}
.problem .premium-problem-card{
  display:grid !important;
  grid-template-columns:104px minmax(0,1fr) !important;
  align-items:center !important;
  gap:20px !important;
  padding:20px 22px !important;
  border-radius:28px !important;
  border:1px solid #ece6da !important;
  background:#ffffff !important;
  box-shadow:0 8px 20px rgba(10,35,70,.06) !important;
  overflow:hidden !important;
}
.problem .premium-problem-card:nth-child(1){border-top:6px solid #97c93c !important;}
.problem .premium-problem-card:nth-child(2){border-top:6px solid #6ea4ff !important;}
.problem .premium-problem-card:nth-child(3){border-top:6px solid #f3a446 !important;}
.problem .problem-icon-premium{
  width:96px !important;
  height:96px !important;
  min-width:96px !important;
  min-height:96px !important;
  border-radius:24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  justify-self:center !important;
  align-self:center !important;
  overflow:hidden !important;
  box-shadow:0 8px 18px rgba(0,0,0,.10), inset 0 2px 2px rgba(255,255,255,.65) !important;
}
.problem .problem-card:nth-child(1) .problem-icon-premium{background:linear-gradient(180deg,#f6ffd8 0%,#d9f18d 100%) !important;}
.problem .problem-card:nth-child(2) .problem-icon-premium{background:linear-gradient(180deg,#eef5ff 0%,#d7e6ff 100%) !important;}
.problem .problem-card:nth-child(3) .problem-icon-premium{background:linear-gradient(180deg,#fff3e4 0%,#ffd6a8 100%) !important;}
.problem .problem-icon-premium img{
  width:74px !important;
  height:74px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 auto !important;
}
.problem .problem-copy{
  align-self:center !important;
}
.problem .problem-copy strong{
  display:block !important;
  margin:0 0 10px !important;
  font-size:23px !important;
  line-height:1.35 !important;
  color:#0b275d !important;
}
.problem .problem-copy p{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.65 !important;
  color:#5f6878 !important;
}



/* ===== Problem icon precise centering fix ===== */
.problem .problem-icon-premium,
.problem .icon-food-image,
.problem .icon-scale-image,
.problem .icon-repeat-image{
  display:grid !important;
  place-items:center !important;
}
.problem .icon-food-image img,
.problem .icon-scale-image img,
.problem .icon-repeat-image img{
  width:68px !important;
  height:68px !important;
  max-width:68px !important;
  max-height:68px !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  margin:0 auto !important;
}




/* ===== 2026-09-23 override: tighten icon whitespace in blue cards ===== */
.solution-top{
  grid-template-columns: 96px 1fr !important;
  align-items: center !important;
}
.solution-icon{
  width: 96px !important;
  height: 96px !important;
  min-width: 96px !important;
  min-height: 96px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
}
.solution-generated-icon{
  width:100% !important;
  height:100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.38) !important;
  transform-origin: center center !important;
  border-radius: 24px !important;
}
/* Slightly stronger crop for the third icon if present */
.solution-grid .solution-card:nth-child(3) .solution-generated-icon{
  transform: scale(1.40) !important;
}
/* Tighten support section icons too */
.support-card .premium-support-icon img{
  transform: scale(1.24) !important;
  transform-origin:center center !important;
  object-fit:cover !important;
  object-position:center center !important;
}



/* ===== SUPPORT icon refresh ===== */
.support-card{
  padding:18px 14px 16px !important;
}
.support-card .premium-support-icon{
  width:108px !important;
  height:108px !important;
  margin:0 auto 14px !important;
  padding:0 !important;
  border-radius:28px !important;
  background:linear-gradient(180deg,#fffdf8 0%,#f8f0cf 100%) !important;
  box-shadow:0 12px 26px rgba(8,24,52,.08),0 0 0 1px rgba(197,153,45,.16) !important;
}
.support-card .premium-support-icon img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:28px !important;
  display:block !important;
}


/* ===== COUNSELING section refresh ===== */
.counseling-section{
  margin: 0 16px 26px !important;
  padding: 34px 16px 20px !important;
  border-radius: 34px !important;
  background: linear-gradient(180deg, #fffdf8 0%, #f8f5eb 100%) !important;
  box-shadow: 0 16px 40px rgba(12, 34, 72, 0.08), inset 0 0 0 1px rgba(195, 160, 70, 0.12) !important;
}
.counseling-section .lp-head{
  margin-bottom: 12px !important;
}
.counseling-lead{
  margin: 0 auto 20px !important;
  max-width: 32em;
  text-align: center;
  color: #667085;
  font-size: 14px;
  line-height: 1.8;
  font-weight: 700;
}
.counseling-flow{
  gap: 14px !important;
}
.counseling-flow-card{
  grid-template-columns: 74px 1fr !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, #ffffff 0%, #fbfaf5 100%) !important;
  border: 1px solid rgba(190, 153, 55, 0.16) !important;
  box-shadow: 0 10px 24px rgba(12, 34, 72, 0.08) !important;
}
.counseling-flow-card .step{
  width: 74px !important;
  height: 74px !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, #173b78 0%, #0d2957 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 10px 22px rgba(13, 41, 87, .22) !important;
  font-size: 10px !important;
  letter-spacing: .08em;
}
.counseling-flow-card .step b{
  font-size: 30px !important;
  line-height: 1 !important;
  margin-top: 4px !important;
  color: #f3d46a !important;
}
.counseling-flow-card .flow-copy{
  min-width: 0;
}
.counseling-flow-card strong{
  display:block !important;
  margin-bottom: 6px !important;
  color: #102a56 !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
}
.counseling-flow-card p{
  margin:0 !important;
  color:#667085 !important;
  font-size:13px !important;
  line-height:1.75 !important;
  font-weight:700 !important;
}

  .counseling-section{
    padding: 40px 24px 24px !important;
  }
  .counseling-flow-card{
    padding: 18px 18px !important;
  }
  .counseling-flow-card strong{font-size:18px !important;}
  .counseling-flow-card p{font-size:14px !important;}


/* ===== FAQ section refinement ===== */
.faq-section-refined{
  margin:0 16px 26px !important;
  padding:34px 16px 20px !important;
  border-radius:34px !important;
  background:linear-gradient(180deg, #fffdf8 0%, #f8f5eb 100%) !important;
  box-shadow:0 16px 40px rgba(12,34,72,.08), inset 0 0 0 1px rgba(195,160,70,.12) !important;
}
.faq-section-refined .lp-head{margin-bottom:10px !important;}
.faq-lead{
  margin:0 auto 20px !important;
  max-width:33em;
  text-align:center;
  color:#667085;
  font-size:14px;
  line-height:1.8;
  font-weight:700;
}
.faq-list-refined{gap:12px !important;}
.faq-item{
  border:none !important;
  border-radius:22px !important;
  overflow:hidden !important;
  background:linear-gradient(135deg, #ffffff 0%, #fbfaf5 100%) !important;
  box-shadow:0 12px 28px rgba(12,34,72,.08) !important;
}
.faq-item[open]{box-shadow:0 14px 30px rgba(12,34,72,.10), inset 0 0 0 1px rgba(201,167,74,.14) !important;}
.faq-item summary{
  list-style:none;
  display:grid !important;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:16px 16px !important;
  font-size:15px !important;
  line-height:1.6 !important;
  font-weight:900 !important;
  color:#102a56 !important;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-badge{
  width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  border-radius:14px;
  background:linear-gradient(180deg,#173b78 0%,#0d2957 100%);
  color:#f3d46a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);
  flex-shrink:0;
}
.faq-q{min-width:0;}
.faq-plus{
  width:30px; height:30px;
  display:flex; align-items:center; justify-content:center;
  border-radius:999px;
  background:#f5ebc6;
  color:#b88c1d;
  font-size:20px; font-weight:700; line-height:1;
  flex-shrink:0;
  transition:transform .2s ease;
}
.faq-item[open] .faq-plus{transform:rotate(45deg);}
.faq-item .answer{
  display:grid !important;
  grid-template-columns:32px 1fr;
  gap:12px;
  padding:0 16px 16px 16px !important;
  color:#667085 !important;
  font-size:13px !important;
  line-height:1.8 !important;
  font-weight:700 !important;
}
.faq-a-badge{
  width:32px; height:32px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:#f0f4ff; color:#173b78; font-weight:900; font-size:14px;
  box-shadow:inset 0 0 0 1px rgba(23,59,120,.08);
}
.faq-a-text{padding-top:2px;}

  .faq-section-refined{padding:40px 24px 24px !important;}
  .faq-item summary{font-size:16px !important;padding:18px 18px !important;}
  .faq-item .answer{font-size:14px !important;padding:0 18px 18px 18px !important;}



/* Final clean centering fix for problem icons */
.problem .problem-icon-premium{
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
}
.problem .problem-icon-premium img{
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  margin:0 !important;
}
/* Keep illustrations fully visible and visually centered inside each square */
.problem .icon-food-image img,
.problem .icon-scale-image img,
.problem .icon-repeat-image img{
  width:78px !important;
  height:78px !important;
  max-width:78px !important;
  max-height:78px !important;
}



.problem .premium-problem-card:nth-child(1),
.problem .premium-problem-card:nth-child(2),
.problem .premium-problem-card:nth-child(3){
  border-top:6px solid #E2BC53 !important;
}
.problem .problem-icon-premium,
.problem .problem-card:nth-child(1) .problem-icon-premium,
.problem .problem-card:nth-child(2) .problem-icon-premium,
.problem .problem-card:nth-child(3) .problem-icon-premium{
  background:linear-gradient(180deg,#FFFEFA 0%, #F6EDD2 100%) !important;
  box-shadow:0 10px 22px rgba(13,41,87,.10), inset 0 1px 0 rgba(255,255,255,.9), inset 0 0 0 1px rgba(201,154,45,.18) !important;
}
.problem .problem-icon-svg{
  width:76px !important;
  height:76px !important;
  display:block !important;
}



.problem .problem-icon-premium,
.problem .problem-card:nth-child(1) .problem-icon-premium,
.problem .problem-card:nth-child(2) .problem-icon-premium,
.problem .problem-card:nth-child(3) .problem-icon-premium{
  background:linear-gradient(180deg,#FFFDF7 0%,#F8F1DC 100%) !important;
  border:1px solid rgba(201,154,45,.20) !important;
  box-shadow:0 10px 22px rgba(13,41,87,.08) !important;
}
.problem .problem-icon-svg-clean{
  width:84px !important;
  height:84px !important;
  display:block !important;
}



.problem .problem-icon-premium{
  background: linear-gradient(180deg,#fffdf8 0%,#f7efd5 100%) !important;
  box-shadow: 0 10px 24px rgba(13,41,87,.10), inset 0 1px 0 rgba(255,255,255,.95), inset 0 0 0 1px rgba(201,154,45,.18) !important;
}
.problem .problem-icon-svg-literal{
  width: 72px !important;
  height: 72px !important;
  display: block !important;
}



/* Mobile-first reading path: headline → portrait → supporting copy → CTA. */
.hero.hero-z{
  position:relative;
  padding-bottom:34px;
  background:linear-gradient(155deg,#173760 0%,#0d2342 58%,#0a1b35 100%);
}
.hero-z-top{
  display:grid;
  grid-template-columns:minmax(0,53%) minmax(0,47%);
  min-height:270px;
  position:relative;
  overflow:hidden;
}
.hero-z-heading{
  position:relative;
  z-index:2;
  padding:28px 2px 18px 20px;
  align-self:start;
}
.hero-z-heading .hero-kicker{
  width:12em;
  max-width:100%;
  margin:0 0 12px;
  color:#f5dfa0;
  font-size:clamp(10px,27.648px,13px);
  line-height:1.5;
  letter-spacing:.01em;
}
.hero-z-heading .hero-title{
  margin:0;
  font-size:clamp(22px,68.608px,34px);
  line-height:1.25;
  letter-spacing:-.075em;
  white-space:nowrap;
  text-shadow:0 3px 16px rgba(0,0,0,.18);
}
.hero-z-heading .hero-title .gold{color:#f6dc82;}
.hero-z-heading .hero-desc{
  max-width:100%;
  margin:13px 0 0;
  padding-left:9px;
  border-left:2px solid #d9b85d;
  color:rgba(255,255,255,.95);
  font-size:clamp(11px,30.72px,13px);
  line-height:1.68;
  font-weight:700;
}
.hero-z .hero-visual{
  min-width:0;
  height:auto;
  position:relative;
  overflow:hidden;
  background:transparent;
  border-radius:0;
  box-shadow:none;
}
.hero-z .hero-visual img{
  position:absolute;inset:0;
  width:100%;height:100%;display:block;
  object-fit:cover;
  object-position:center 43%;
  transform:scale(1.28);
  transform-origin:center 43%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 44%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 44%);
}
.hero-z .hero-visual:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,#0d2342 0%,rgba(13,35,66,.54) 14%,transparent 37%);
  pointer-events:none;
}
.hero-z .hero-z-content{
  margin:0;
  padding:0 20px;
  position:relative;
  z-index:3;
}
.hero-z .cta-box{
  width:88%;
  margin:8px 0 0 auto;
  padding:13px 14px 11px;
  box-shadow:0 12px 32px rgba(0,0,0,.22);
}
.hero-z .cta-btn{font-size:clamp(13px,38.912px,17px);white-space:nowrap;}
.hero-z .hero-stats{margin-top:24px;}


  .hero-z-top{min-height:280px;}
  .hero-z-heading{padding:32px 2px 20px 28px;}
  .hero-z .hero-z-content{padding:0 28px;}


/* Greater contrast and larger type while retaining the left-to-right portrait layout. */
.hero-z-top{grid-template-columns:minmax(0,55%) minmax(0,45%);min-height:280px;}
.hero-z-heading .hero-kicker{font-size:clamp(11px,29.696px,14px);}
.hero-z-heading .hero-title{
  font-size:clamp(22px,70.656px,35px);
  letter-spacing:-.05em;
}
.hero-z-heading .hero-desc{
  font-size:clamp(12px,33.792px,14px);
  line-height:1.75;
  text-wrap:pretty;
}
/* The two proof points lead into a centered consultation banner. */
.hero-z .hero-stats{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:clamp(10px,30.72px,18px);
  margin-top:10px !important;
}
.hero-z .hero-stats .royal-badge{
  flex:none;
  width:min(430.08px,154px);
}
.hero-z .royal-inner span{font-size:clamp(10px,30.72px,12px) !important;}
.hero-z .royal-inner strong{font-size:clamp(18px,56.32px,25px) !important;}
.hero-z .royal-inner small{font-size:8px !important;}
.hero-z .cta-box{
  width:min(100%,420px) !important;
  margin:18px auto 0 !important;
  padding:16px 14px 13px !important;
  text-align:center;
  border-color:#e1b43b !important;
  box-shadow:0 16px 36px rgba(0,0,0,.25),0 0 0 4px rgba(232,193,82,.11) !important;
  animation:hero-cta-pop 4.4s ease-in-out infinite;
  transform-origin:center center;
}
.hero-z .cta-note{font-size:14px !important;margin-bottom:9px !important;}
.hero-z .cta-btn{
  font-size:clamp(14px,40.96px,18px) !important;
  line-height:1.35 !important;
  padding:16px 10px !important;
  white-space:normal;
}
.hero-z .cta-sub{font-size:11px !important;margin-top:7px !important;}
@keyframes hero-cta-pop{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.085);}
}

.hero-z-top{min-height:300px;}
@media (prefers-reduced-motion:reduce){
  .hero-z .cta-box{animation:none !important;}
}

.hero-z .hero-instagram-logo{
  display:block;
  width:30px;
  height:30px;
  flex:none;
  margin:0 auto 3px;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));
}
.hero-z .counseling-section{
  margin:18px 16px 24px !important;
}


/* Continuous motion and compact transition to the counseling section. */
.hero.hero-z{padding-bottom:0;}
.hero-z .cta-box{animation:hero-cta-pop 1.8s ease-in-out infinite;}
.hero-z .counseling-section{margin:18px 16px 18px !important;}

/* Center counseling directly below the CTA, with room beneath STEP 4. */
.hero.hero-z{padding-bottom:26px;}
.hero-z > .counseling-section{
  width:calc(100% - 32px);
  margin:18px auto 0 !important;
  padding-bottom:38px !important;
  overflow:visible !important;
}
.hero-z > .counseling-section .lp-head,
.hero-z > .counseling-section .counseling-lead{
  width:100%;
  text-align:center;
}
.hero-z > .counseling-section .counseling-flow{
  overflow:visible;
  padding-bottom:3px;
}
/* The shorter promise and portrait share a compact, balanced panel. */
.visual-story{
  height:clamp(240px,634.88px,290px) !important;
  display:flex;
  align-items:center;
  background:#071a30 !important;
}
.visual-story-photo{
  left:auto !important;
  right:0 !important;
  width:62% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:51% 17% !important;
  transform:scale(1.22);
  transform-origin:60% 24%;
}
.visual-story-shade{
  background:
    linear-gradient(90deg,#071a30 0%,rgba(7,26,48,.96) 34%,rgba(7,26,48,.76) 52%,transparent 82%),
    linear-gradient(0deg,rgba(7,26,48,.94) 0%,transparent 38%) !important;
}
.visual-story-copy{
  position:relative;
  width:60% !important;
  padding:0 0 0 20px !important;
}
.visual-story-copy h3{
  font-size:clamp(21px,62.464px,32px) !important;
  line-height:1.24 !important;
  letter-spacing:-.045em;
}
.visual-story-copy h3 span{color:#f2dd8a !important;}
.visual-story-line{width:72% !important;margin:13px 0 11px !important;}
.visual-story-copy p{font-size:clamp(12px,32.768px,14px) !important;line-height:1.55 !important;}


/* A second result in the same card language as the first case. */
.results-case-extra{
  margin-top:34px;
  padding-top:29px;
  border-top:1px solid rgba(184,144,53,.34);
}
.results-case-extra .results-meta{margin-top:0;}
.results-case-extra .results-chip .chip-main{font-size:clamp(17px,47.104px,22px);}
.results-case-extra .ba-real-photo{
  background:#e9edf3;
}
.results-case-extra .ba-real-photo img,
.results-case-extra .ba-real-card:first-child .ba-real-photo img,
.results-case-extra .ba-real-card:last-child .ba-real-photo img{
  object-fit:contain;
  object-position:center center;
  transform:scaleX(-1);
}
.results-case-extra .ba-real-card:last-child .ba-real-photo img{
  filter:brightness(1.35);
}

/* The third pair already faces right; keep its original orientation and light. */
.results-case-third .ba-real-photo img,
.results-case-third .ba-real-card:first-child .ba-real-photo img,
.results-case-third .ba-real-card:last-child .ba-real-photo img{
  transform:none;
  filter:none;
}

/* A single genuine photograph fills every result card: no added wall layers. */
.results .ba-real-photo{
  aspect-ratio:3 / 5;
  background:#e7e9eb;
}
.results .ba-real-photo img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
}
.results-case-extra .ba-real-photo img,
.results-case-extra .ba-real-card:first-child .ba-real-photo img,
.results-case-extra .ba-real-card:last-child .ba-real-photo img,
.results-case-third .ba-real-photo img,
.results-case-third .ba-real-card:first-child .ba-real-photo img,
.results-case-third .ba-real-card:last-child .ba-real-photo img{
  object-fit:cover;
}
/* 30s: crop both photographs to a similar shoulder-to-leg scale. */
.results-case-extra:not(.results-case-third) .ba-real-card:first-child .ba-real-photo img{
  object-position:center 50%;
  transform:scaleX(-1) scale(1.2);
}
.results-case-extra:not(.results-case-third) .ba-real-card:last-child .ba-real-photo img{
  object-position:center 45%;
  transform:scaleX(-1);
  filter:brightness(1.35);
}
/* 50s: the wide BEFORE needs a closer crop; the narrow AFTER stays genuine. */
.results-case-third .ba-real-card:first-child .ba-real-photo img{
  object-position:center;
  transform:translateY(36%) scale(2.5);
  filter:none;
}
.results-case-third .ba-real-card:last-child .ba-real-photo img{
  object-position:center 25%;
  transform:none;
  filter:none;
}

/* Match the nearby torso photographs; both faces remain outside the visible crop. */
.results .results-case-extra.results-case-new .ba-real-card .ba-real-photo img{
  filter:none;
  object-fit:cover;
  object-position:center center;
}
.results .results-case-extra.results-case-new .ba-real-card:first-child .ba-real-photo img{
  transform:scale(2);
  transform-origin:50% 52%;
}
.results .results-case-extra.results-case-new .ba-real-card:last-child .ba-real-photo img{
  transform:scale(2.2);
  transform-origin:50% 45%;
}
.results-case-new .metric strong:empty{min-height:1.3em;}

/* Customer voices immediately after the before-and-after results. */
.voice-section{
  background:linear-gradient(180deg,#f4f6f8 0%,#fff 100%);
  border-top:1px solid #e7e9ed;
}
.voice-section .lp-head{margin-bottom:24px;}
.voice-section .lp-title{font-size:clamp(26px,71.68px,30px);}
.voice-intro{
  max-width:none;
  margin:12px auto 0;
  color:#344353;
  font-size:min(13.5px,27.136px);
  font-weight:800;
  line-height:1.55;
  letter-spacing:-.03em;
  white-space:nowrap;
}
.voice-list{display:grid;gap:20px;}
.voice-card{
  position:relative;
  overflow:hidden;
  padding:22px clamp(10px,30.72px,18px) 24px;
  border:1px solid rgba(180,145,63,.42);
  border-radius:19px;
  background:#fff;
  box-shadow:0 12px 30px rgba(6,27,52,.075);
}
.voice-card::before{
  content:"“";
  position:absolute;
  top:0;
  right:14px;
  color:rgba(184,145,58,.14);
  font:700 80px/1 Georgia,serif;
  pointer-events:none;
}
.voice-card::after{
  content:"";
  position:absolute;
  top:0;
  left:18px;
  width:55px;
  height:3px;
  border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,#bd922e,#f1d783);
}
.voice-card > *{position:relative;z-index:1;}
.voice-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.voice-number{
  color:#a87a1d;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}
.voice-person{
  display:inline-block;
  padding:5px 10px;
  border-radius:999px;
  color:#102748;
  background:#f4ebd3;
  font-size:11px;
  font-weight:900;
}
.voice-card h3{
  margin:18px 0 16px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(184,145,58,.3);
  color:#0c2546;
  font-size:min(18.5px,37.376px);
  font-weight:900;
  line-height:1.42;
  letter-spacing:-.045em;
  white-space:nowrap;
}
.voice-card blockquote{margin:0;padding:0;}
.voice-card p{
  margin:0 0 11px;
  color:#344353;
  font-size:13px;
  font-weight:650;
  line-height:1.85;
}
.voice-card p:last-child{margin-bottom:0;}
.voice-card strong{color:#9b6e16;font-weight:900;}


/* Give the coach clear space on the right while keeping the copy readable. */
.visual-box-photo .visual-photo{
  width:54% !important;
  object-position:55% 39% !important;
}
.visual-box-photo .visual-photo-overlay{
  background:linear-gradient(90deg,
    rgba(8,28,56,.99) 0%,
    rgba(8,28,56,.96) 30%,
    rgba(8,28,56,.83) 44%,
    rgba(8,28,56,.42) 58%,
    rgba(8,28,56,.08) 70%,
    rgba(8,28,56,0) 82%) !important;
}


/* Support photo: feather its edge into the navy and ease the color wash across it. */
.visual-box-photo .visual-photo{
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 13%,rgba(0,0,0,.72) 27%,#000 41%,#000 100%) !important;
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 13%,rgba(0,0,0,.72) 27%,#000 41%,#000 100%) !important;
}
.visual-box-photo .visual-photo-overlay{
  background:linear-gradient(90deg,
    rgba(8,28,56,1) 0%,rgba(8,28,56,.99) 31%,
    rgba(8,28,56,.94) 44%,rgba(8,28,56,.77) 54%,
    rgba(8,28,56,.46) 64%,rgba(8,28,56,.19) 74%,
    rgba(8,28,56,.04) 85%,rgba(8,28,56,0) 96%) !important;
}
/* The attached 10-part guide is one substantial book, with visible page edges. */
.bonus-encyclopedia{
  padding:52px 14px 60px;
  background:radial-gradient(ellipse at 50% 43%,#294d79 0%,#15345e 45%,#081b35 100%);
}
.bonus-encyclopedia .lp-head{margin-bottom:16px}
.bonus-encyclopedia .lp-title{font-size:clamp(26px,74.752px,34px);line-height:1.38}
.bonus-encyclopedia .lp-title .gold{color:#f0d37a}
.bonus-book-stage{padding:14px 12px 28px;display:grid;place-items:center;perspective:1000px}
.bonus-book{
  appearance:none;-webkit-appearance:none;display:block;position:relative;
  width:min(100%,420px);margin:0;padding:0;border:0;background:transparent;
  cursor:zoom-in;transform:rotateY(-6deg) rotateX(1deg);
  filter:drop-shadow(0 24px 19px rgba(0,5,15,.47));
}
.bonus-book::before{
  content:"";position:absolute;z-index:0;top:7px;right:-14px;bottom:-9px;width:18px;
  border-radius:0 4px 5px 0;border-right:2px solid #b49042;
  background:repeating-linear-gradient(0deg,#e1d9c4 0 2px,#fcf9eb 2px 4px,#d1c6ac 4px 5px);
  transform:skewY(19deg);
}
.bonus-book::after{
  content:"";position:absolute;z-index:0;left:12px;right:-14px;bottom:-17px;height:20px;
  border-radius:0 0 5px 3px;border-bottom:2px solid #a7813a;
  background:repeating-linear-gradient(90deg,#d7ccb4 0 2px,#f9f4e5 2px 5px);
  transform:skewX(31deg);
}
.bonus-book-cover{
  position:relative;z-index:1;display:block;overflow:hidden;
  border:5px solid #092348;border-left-width:12px;border-radius:3px 7px 7px 3px;
  box-shadow:inset 2px 0 4px rgba(0,0,0,.5),0 0 0 1px #b99044,6px 7px 0 #071a32;
  background:#fff;
}
.bonus-book-cover::after{
  content:"";position:absolute;inset:0 auto 0 0;width:9px;
  background:linear-gradient(90deg,rgba(1,17,41,.34),rgba(255,255,255,.24),transparent);
  pointer-events:none;
}
.bonus-book-cover img{display:block;width:100%;height:auto}
.bonus-book-hint{margin:7px auto 0;text-align:center;color:#f1dfa7;font-size:12px;font-weight:700;letter-spacing:.04em}
.bonus-detail{
  max-width:min(983.04px,680px);max-height:92vh;padding:40px 10px 12px;border:2px solid #c8a85e;
  border-radius:12px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.4);overflow:auto;
}
.bonus-detail::backdrop{background:rgba(3,13,29,.82)}
.bonus-detail img{display:block;width:100%;height:auto}
.bonus-detail-close{
  position:absolute;top:7px;right:9px;border:0;border-radius:7px;
  padding:6px 12px;background:#0d2342;color:#fff;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;
}


/* Give the guide the depth of a substantial hardcover volume. */
.bonus-book-stage{padding:14px 40px 52px 15px;perspective:1200px}
.bonus-book{
  transform:rotateY(-10deg) rotateX(2deg);
  transform-origin:45% 50%;
  filter:drop-shadow(11px 29px 18px rgba(0,5,16,.55));
}
.bonus-book-back{
  position:absolute;z-index:0;top:12px;left:14px;right:-34px;bottom:-38px;
  border:3px solid #b59350;border-radius:2px 7px 8px 3px;
  background:linear-gradient(135deg,#163c6b,#06172f 75%);
  box-shadow:6px 9px 0 rgba(0,8,23,.27);
}
.bonus-book::before{
  z-index:1;top:13px;right:-28px;bottom:-19px;width:34px;
  border-right:3px solid #a8813b;border-radius:0 4px 5px 0;
  background:repeating-linear-gradient(0deg,#c9bda2 0 2px,#f7f1df 2px 5px,#ddd2b9 5px 6px);
  transform:skewY(18deg);
}
.bonus-book::after{
  z-index:1;left:14px;right:-27px;bottom:-31px;height:34px;
  border-bottom:3px solid #a8813b;border-radius:0 0 5px 3px;
  background:repeating-linear-gradient(90deg,#d0c4ac 0 2px,#f9f4e7 2px 6px,#e1d5bc 6px 7px);
  transform:skewX(29deg);
}
.bonus-book-spine{
  position:absolute;z-index:3;top:4px;bottom:1px;left:-13px;width:27px;
  border-left:2px solid #b9984e;border-right:2px solid #d4ae59;
  border-radius:3px 0 0 3px;
  background:linear-gradient(90deg,#07162c 0%,#0a2853 34%,#1a477a 65%,#092447 100%);
  box-shadow:-5px 5px 9px rgba(0,8,24,.25);
  transform:skewY(-5deg);pointer-events:none;
}
.bonus-book-spine::after{
  content:"";position:absolute;left:5px;right:5px;top:5%;bottom:5%;
  border-top:2px solid #c8a45c;border-bottom:2px solid #c8a45c;
}
.bonus-book-cover{z-index:2;border-left-width:14px;box-shadow:inset 3px 0 7px rgba(0,0,0,.5),0 0 0 1px #b99044,8px 11px 0 #071a32}


/* Keep the final invitation moving, and show a compact invitation while scrolling. */
.final{scroll-margin-top:16px;padding-bottom:70px}
.final .cta-box{transform-origin:center;animation:final-cta-pop 1.8s ease-in-out infinite}
@keyframes final-cta-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.065)}}
.floating-cta{
  position:fixed;z-index:1000;left:50%;bottom:calc(10px + env(safe-area-inset-bottom,0px));
  width:min(calc(1024px - 24px),488px);padding:7px;
  border:1px solid rgba(245,215,137,.75);border-radius:999px;
  background:rgba(8,28,56,.97);box-shadow:0 10px 30px rgba(3,15,35,.38);
  transform:translate(-50%,16px);opacity:0;visibility:hidden;pointer-events:none;
  transition:transform .25s ease,opacity .25s ease,visibility .25s;
}
.floating-cta.is-visible{transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto}
.floating-cta a{
  display:block;padding:13px 16px;border-radius:999px;text-align:center;text-decoration:none;
  background:linear-gradient(180deg,#fff1b9 0%,#f1ce65 52%,#d9a62e 100%);
  color:#0a2446;font-size:clamp(14px,40.96px,18px);font-weight:900;
  box-shadow:inset 0 2px 1px rgba(255,255,255,.67),0 3px 8px rgba(0,0,0,.2);
  animation:floating-cta-pop 1.9s ease-in-out infinite;
}
@keyframes floating-cta-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@media (prefers-reduced-motion:reduce){
  .final .cta-box,.floating-cta a{animation:none}
  .floating-cta{transition:none}
}

/* Move the person beyond the soft navy fade, preserving the existing gradient. */
.visual-box-photo .visual-photo{right:-10% !important}

/* Present the provided bonus artwork plainly and keep its tap-to-enlarge control. */
.bonus-gallery{
  padding:52px 14px 58px;
  background:radial-gradient(ellipse at 50% 35%,#294d79 0%,#15345e 45%,#081b35 100%);
}
.bonus-gallery .lp-head{margin-bottom:22px}
.bonus-gallery .lp-title{font-size:clamp(26px,74.752px,34px);line-height:1.38}
.bonus-gallery .lp-title .gold{color:#f0d37a}
.bonus-image-stage{margin:0 auto;max-width:460px}
.bonus-image-button{
  display:block;width:100%;margin:0;padding:0;border:2px solid #d4ad52;
  border-radius:12px;background:#fff;overflow:hidden;cursor:zoom-in;
  box-shadow:0 16px 36px rgba(0,5,18,.35);
}
.bonus-image-button img{display:block;width:100%;height:auto}
.bonus-image-hint{margin:16px auto 0;text-align:center;color:#f1dfa7;font-size:12px;font-weight:700;letter-spacing:.04em}

/* Match the first story panel to the navy, photo and cream-framed support panel. */
.visual-break-story .visual-photo-copy{width:64% !important;padding:54px 0 38px 28px !important}
.visual-break-story .visual-photo-copy h3{font-size:31px !important;letter-spacing:-.045em !important}
.visual-break-story .visual-photo-copy p{font-size:14px !important;line-height:1.74 !important;margin-top:20px !important}



/* Mobile fallback: show the following CTA even when the preview does not run scripts. */


/* One clear click cursor replaces the arrow on every consultation CTA. */
.cta-btn,.floating-cta a{display:flex !important;align-items:center;justify-content:center;gap:9px}
.cta-label{white-space:nowrap}
.cta-click-icon{display:block;width:21px;height:21px;flex:none;filter:drop-shadow(0 1px 0 rgba(255,255,255,.38))}


/* CSS-only enlargement remains usable in mobile file viewers without script support. */
.bonus-lightbox{display:none}
.bonus-lightbox:target{
  display:flex;flex-direction:column;position:fixed;inset:0;
  z-index:2147483647;background:rgba(4,16,36,.98);color:#fff;
}
.bonus-lightbox-header{
  flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;
  min-height:58px;padding:calc(9px + env(safe-area-inset-top,0px)) 14px 9px;
  background:#0d2342;border-bottom:1px solid rgba(229,191,91,.7);
  font-size:12px;font-weight:800;
}
.bonus-lightbox-close{
  flex:none;border:1px solid #d5aa35;border-radius:999px;
  padding:7px 12px;background:#f6dfa0;color:#0d2342;
  text-decoration:none;font-size:13px;font-weight:900;
}
.bonus-lightbox-scroll{
  flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;
  padding:14px 14px calc(30px + env(safe-area-inset-bottom,0px));
}
.bonus-lightbox-scroll img{
  display:block;width:900px;max-width:none;height:auto;margin:0 auto;
  background:#fff;box-shadow:0 14px 40px rgba(0,0,0,.4);
}
.bonus-lightbox-scroll img{width:min(900px,calc(1024px - 56px))}
/* Keep the desktop proof badge at the same compact type scale as mobile. */

  .hero-z .royal-inner span{font-size:11px !important;white-space:nowrap}
  .hero-z .royal-inner strong{font-size:22px !important;white-space:nowrap}


/* Crisp before-to-after arrows. */
.results .ba-real-arrow{display:flex;align-items:center;justify-content:center;color:#b88b19}
.results .ba-real-arrow svg{display:block;width:30px;height:23px;filter:drop-shadow(0 2px 2px rgba(87,54,5,.22))}
/* Keep the original prose flow on wider screens. */
.support-phrase,.final-intro{display:block}
.mobile-copy-line{display:inline}


/* Controlled two-line kicker and two-line support sentences on small screens. */


/* Use the same deliberate line breaks for these two panels at every width. */
.hero-z-heading .hero-kicker .mobile-copy-line,
.visual-break-photo:not(.visual-break-story) .visual-photo-copy p .mobile-copy-line{
  display:block !important;
  white-space:nowrap !important;
}

/* A full-width copy band gives the requested four lines room on phone and desktop. */
.hero-z .hero-desc-band{
  padding:16px 20px 7px;
  background:linear-gradient(180deg,#0a2343 0%,#0d2b50 100%);
}
.hero-z .hero-desc-wide{
  width:100%;max-width:460px;margin:0 auto;padding:2px 0 2px 13px;
  border-left:3px solid #d9b85d;color:rgba(255,255,255,.96);
  font-size:clamp(12px,33.28px,14px);line-height:1.68;font-weight:800;
  letter-spacing:-.015em;text-align:left;
}
.hero-z .hero-desc-line{display:block;white-space:nowrap}


/* Place the four exact lines within the hero photo, without adding a new row. */
.hero-z .hero-z-top{isolation:isolate}
.hero-z .hero-desc-band{
  position:absolute;z-index:3;left:0;right:0;bottom:0;
  padding:12px 20px 14px;background:transparent;
}
.hero-z .hero-desc-band::before{
  content:"";position:absolute;z-index:-1;left:0;right:0;top:-28px;bottom:0;
  background:linear-gradient(180deg,rgba(8,28,56,0) 0%,rgba(8,28,56,.80) 34%,rgba(8,28,56,.97) 100%);
  pointer-events:none;
}
.hero-z .hero-desc-wide{max-width:none;margin:0;font-size:clamp(12px,33.28px,14px)}


/* Mobile: let the four lines sit on the photo and close the gap below the headline. */


/* Keep the portrait clear while protecting only the area behind the copy. */
.hero-z .hero-visual img{
  object-position:center 27%;
  transform:scale(1.12);
  transform-origin:center 30%;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.28) 0%,#000 28%);
  mask-image:linear-gradient(90deg,rgba(0,0,0,.28) 0%,#000 28%);
}
.hero-z .hero-visual:after{
  background:linear-gradient(0deg,rgba(13,35,66,.16) 0%,rgba(13,35,66,.04) 22%,transparent 38%);
}
.hero-z .hero-desc-band::before{
  top:-20px;
  background:linear-gradient(90deg,rgba(8,28,56,.96) 0%,rgba(8,28,56,.91) 47%,rgba(8,28,56,.40) 70%,rgba(8,28,56,0) 100%),linear-gradient(180deg,transparent 0%,rgba(8,28,56,.16) 100%);
}
/* Give the opening screen room for the portrait, proof points, and CTA. */


/* Preserve the established desktop hero layout and portrait crop. */

  .hero-z .hero-intro{display:contents}
  .hero-z .hero-visual img{
    object-position:center 43%;
    transform:scale(1.28);
    transform-origin:center 43%;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%);
    mask-image:linear-gradient(90deg,transparent 0%,#000 38%);
  }
  .hero-z .hero-visual:after{
    background:linear-gradient(0deg,#0d2342 0%,rgba(13,35,66,.40) 14%,transparent 37%);
  }
  .hero-z .hero-desc-band::before{
    top:-28px;
    background:linear-gradient(180deg,rgba(8,28,56,0) 0%,rgba(8,28,56,.75) 34%,rgba(8,28,56,.95) 100%);
  }


/* Reference-inspired composition: large left copy, clear right portrait, soft navy blend. */
.hero-z .hero-intro{display:block}
.hero-z .hero-z-top{
  display:block;
  min-height:560px;
  background:linear-gradient(135deg,#142f57 0%,#0b1d37 75%);
}
.hero-z .hero-z-heading{
  position:relative;z-index:2;
  width:100%;padding:48px 18px 0 22px;
}
.hero-z .hero-z-heading .hero-kicker{
  width:auto;max-width:none;margin:0 0 20px;
  font-size:clamp(12px,27.648px,14px);line-height:1.55;
  letter-spacing:.02em;
}
.hero-z .hero-z-heading .hero-kicker::after{
  content:"";display:block;width:112px;height:2px;margin-top:13px;
  background:linear-gradient(90deg,#e9ca68,#b88c1d 72%,transparent);
}
.hero-z .hero-z-heading .hero-title{
  font-size:clamp(30px,83.968px,42px);
  line-height:1.22;letter-spacing:-.045em;
  text-shadow:0 4px 18px rgba(2,10,25,.65);
}
.hero-z .hero-visual{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;overflow:hidden;
}
.hero-z .hero-visual img{
  position:absolute;top:0;right:-3%;bottom:auto;left:auto;
  width:72%;height:100%;object-fit:cover;object-position:center 27%;
  transform:none;transform-origin:center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.82) 20%,#000 40%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.82) 20%,#000 40%);
}
.hero-z .hero-visual:after{
  background:linear-gradient(90deg,#0d2342 0%,rgba(13,35,66,.94) 21%,rgba(13,35,66,.44) 52%,rgba(13,35,66,.03) 78%),linear-gradient(0deg,rgba(13,35,66,.30) 0%,transparent 38%);
}
.hero-z .hero-desc-band{bottom:0;padding:14px 22px 26px}
.hero-z .hero-desc-band::before{
  top:-24px;
  background:linear-gradient(90deg,rgba(8,28,56,.91) 0%,rgba(8,28,56,.77) 47%,rgba(8,28,56,.14) 79%,transparent 100%);
}
.hero-z .hero-desc-wide{
  font-size:clamp(13px,37.888px,16px);
  line-height:1.58;padding-left:12px;
  text-shadow:0 2px 10px rgba(0,0,0,.48);
}


/* Recreate the reference's visual rhythm with Yudai Fitness copy and palette. */
.hero-z .hero-z-top{display:block;min-height:660px;background:#0b1d37}
.hero-z .hero-z-heading{z-index:2;padding:95px 18px 0 22px;width:100%}
.hero-z .hero-overline{
  display:block;width:max-content;max-width:100%;margin:0 0 22px;
  color:#f7f3e8;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(11px,25.6px,13px);font-weight:700;line-height:1.4;
  letter-spacing:.14em;white-space:nowrap;text-shadow:0 2px 9px rgba(0,0,0,.65);
}
.hero-z .hero-overline span{margin-left:10px;color:#e9d39b}
.hero-z .hero-overline::after{
  content:"";display:block;width:100%;height:2px;margin-top:12px;
  background:linear-gradient(90deg,#c7942d,#f1d879 50%,#ae7d18 100%);
  box-shadow:0 0 8px rgba(239,190,69,.35);
}
.hero-z .hero-z-heading .hero-title{
  margin:0;white-space:normal;font-size:inherit;line-height:1;
  text-shadow:0 3px 16px rgba(2,8,20,.76);
}
.hero-z .hero-title-lead{
  display:block;width:max-content;max-width:100%;position:relative;
  color:#fffaf0;font-size:clamp(44px,110.592px,56px);
  font-weight:900;line-height:1.12;letter-spacing:-.075em;white-space:nowrap;
}
.hero-z .hero-title-lead::after{
  content:"";display:block;width:92%;height:2px;margin-top:11px;
  background:linear-gradient(90deg,#c7962d,#f2dc85 54%,transparent);
}
.hero-z .hero-z-heading .hero-title-middle.hero-kicker{
  display:block;width:max-content !important;max-width:100% !important;
  margin:24px 0 20px !important;padding:0;border:0;
  color:#fdfbf6;font-size:clamp(23px,58.368px,30px) !important;
  font-weight:800;line-height:1.35;letter-spacing:-.045em !important;
}
.hero-z .hero-title-middle .mobile-copy-line{display:block !important;white-space:nowrap !important}
.hero-z .hero-title-climax{
  display:block;width:max-content;max-width:100%;
  color:#f2c558;font-size:clamp(53px,143.36px,74px);
  line-height:1.03;font-weight:900;letter-spacing:-.075em;
  text-shadow:0 2px 0 #986817,0 5px 15px rgba(3,11,24,.65);
}
.hero-z .hero-title-climax span{display:block;white-space:nowrap}
.hero-z .hero-visual{position:absolute;inset:0;z-index:0;width:100%;height:100%}
.hero-z .hero-visual img{
  position:absolute;top:0;right:-17%;bottom:auto;left:auto;
  width:80%;height:100%;object-fit:cover;object-position:center 28%;
  transform:scale(1.08);transform-origin:70% 30%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.80) 20%,#000 36%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.80) 20%,#000 36%);
}
.hero-z .hero-visual:after{
  background:linear-gradient(90deg,#0b1d37 0%,rgba(11,29,55,.96) 25%,rgba(11,29,55,.59) 52%,rgba(11,29,55,.02) 80%),linear-gradient(0deg,rgba(11,29,55,.31) 0%,transparent 32%);
}
.hero-z .hero-desc-band{bottom:0;padding:10px 22px 22px}
.hero-z .hero-desc-band::before{
  top:-26px;
  background:linear-gradient(90deg,rgba(8,25,49,.94) 0%,rgba(8,25,49,.81) 49%,rgba(8,25,49,.20) 82%,transparent 100%);
}
.hero-z .hero-desc-wide{
  font-size:clamp(13px,35.328px,15px);line-height:1.55;
  padding-left:12px;color:#fffdf7;text-shadow:0 2px 11px rgba(0,0,0,.7);
}


/* Reordered first two statements; keep the gold statement clear of the bottom fade. */
.hero-z .hero-title-lead{font-size:clamp(30px,76.8px,42px);line-height:1.17;letter-spacing:-.065em}
.hero-z .hero-title-lead span{display:block;white-space:nowrap}
.hero-z .hero-visual:after{
  background:linear-gradient(90deg,#0b1d37 0%,rgba(11,29,55,.96) 25%,rgba(11,29,55,.59) 52%,rgba(11,29,55,.02) 80%),linear-gradient(0deg,rgba(11,29,55,.12) 0%,transparent 12%);
}
.hero-z .hero-desc-band::before{top:0;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 28%);mask-image:linear-gradient(180deg,transparent 0%,#000 28%)}


/* Soft gold type emphasis within the four-line hero description. */
.hero-z .hero-stress-highlight{
  color:#f8dc8d;
  font-size:1.06em;
  font-weight:900;
  letter-spacing:-.015em;
  text-shadow:0 1px 2px rgba(0,0,0,.45),0 0 11px rgba(244,194,72,.33);
  text-decoration:none;
}

/* Balanced, predictable breaks in the PROBLEM section. */
.problem .problem-title-line{display:block;white-space:nowrap;line-height:1.25}
.problem .problem-title-line + .problem-title-line{margin-top:3px}
.problem .problem-card-title-line{display:block;white-space:nowrap;letter-spacing:-.025em}


/* Compact PROBLEM cards: let the title use available width. */
.problem .premium-problem-grid{gap:12px !important}
.problem .lp-head{margin-bottom:16px !important}
.problem .premium-problem-card{
  min-height:0 !important;
  grid-template-columns:66px minmax(0,1fr) !important;
  gap:12px !important;padding:13px 14px !important;
  border-radius:20px !important;
}
.problem .problem-icon-premium{
  width:64px !important;height:64px !important;
  min-width:64px !important;min-height:64px !important;
  flex-basis:64px !important;border-radius:18px !important;
}
.problem .problem-icon-premium svg{width:56px !important;height:56px !important}
.problem .problem-copy{min-width:0}
.problem .problem-copy strong{
  margin:0 0 5px !important;
  font-size:clamp(16px,45.056px,18px) !important;
  line-height:1.35 !important;letter-spacing:-.025em;
  white-space:normal;text-wrap:balance;
}
.problem .problem-copy p{margin:0 !important;font-size:12px !important;line-height:1.5 !important}
.problem .problem-body-line{display:inline}



}

/* Keep CTA motion and the phone fallback after the desktop-layout stylesheet. */
.hero-z .cta-box{
  animation:hero-cta-pop 1.8s ease-in-out infinite !important;
  -webkit-animation:hero-cta-pop 1.8s ease-in-out infinite !important;
  transform-origin:center !important;
}
.final .cta-box{
  animation:final-cta-pop 1.8s ease-in-out infinite !important;
  -webkit-animation:final-cta-pop 1.8s ease-in-out infinite !important;
  transform-origin:center !important;
}
.floating-cta a{
  animation:floating-cta-pop 1.9s ease-in-out infinite !important;
  -webkit-animation:floating-cta-pop 1.9s ease-in-out infinite !important;
  transform-origin:center !important;
}
@media(max-width:600px), (hover:none) and (pointer:coarse){
  .floating-cta,.floating-cta.is-visible{
    display:block !important;position:fixed !important;
    left:50% !important;bottom:calc(12px + env(safe-area-inset-bottom,0px)) !important;
    width:min(calc(100vw - 24px),488px) !important;
    transform:translate3d(-50%,0,0) !important;
    opacity:1 !important;visibility:visible !important;pointer-events:auto !important;
    z-index:2147483000 !important;
  }
  .final{padding-bottom:120px !important}
}


/* Explicit balanced lines, shared by the desktop and scaled phone page. */
.yudai-lp .clean-copy-line{display:block;white-space:nowrap}
.yudai-lp .counseling-lead{max-width:none;font-size:13px !important;line-height:1.9 !important;letter-spacing:-.025em}
.yudai-lp .why-heading-top{display:block}
.yudai-lp .why-heading-line{display:block;font-size:24px;line-height:1.6;white-space:nowrap;letter-spacing:-.035em}
.yudai-lp .why-item>div:last-child{min-width:0}
.yudai-lp .why-item strong{white-space:nowrap}
.yudai-lp .why-item p{font-size:11.5px;line-height:1.9;letter-spacing:-.02em;white-space:nowrap}
.yudai-lp .final p{font-size:13px;line-height:1.9;letter-spacing:-.015em}


/* Give WHY descriptions the full row; permit wrapping instead of clipping. */
.yudai-lp .why-list{gap:24px}
.yudai-lp .why-item{grid-template-columns:44px minmax(0,1fr);column-gap:12px;row-gap:8px;align-items:center}
.yudai-lp .why-item>div:last-child{display:contents}
.yudai-lp .why-num{width:44px;height:44px;grid-column:1;grid-row:1}
.yudai-lp .why-item strong{grid-column:2;grid-row:1;margin:0;font-size:16px;white-space:normal;line-height:1.5;overflow-wrap:anywhere}
.yudai-lp .why-item p{grid-column:1 / -1;margin:0;font-size:12px;line-height:1.85;letter-spacing:0;white-space:normal;word-break:normal;line-break:strict;overflow-wrap:anywhere;text-wrap:pretty}
.yudai-lp .why-heading-line{font-size:clamp(19px,4.6vw,24px);white-space:normal;line-height:1.55;text-wrap:balance;overflow-wrap:anywhere}


/* User-specified two-line descriptions for WHY and FAQ. */
.yudai-lp .requested-copy-line{display:block;white-space:nowrap}
.yudai-lp .why-item p{font-size:12px;line-height:1.85;letter-spacing:0}
.yudai-lp .faq-lead{max-width:none;font-size:12px !important;line-height:1.9 !important;letter-spacing:-.025em}


/* A continuous navy canvas connects the portrait and proof points. */
.yudai-lp .hero-z .hero-intro{background:#0b1d37}
.yudai-lp .hero-z .hero-z-top{background:#0b1d37}
.yudai-lp .hero-z .hero-z-content{
  background:#0b1d37;padding-top:8px;padding-bottom:16px;
}
.yudai-lp .hero-z .hero-visual::after{
  background:linear-gradient(90deg,#0b1d37 0%,rgba(11,29,55,.96) 25%,rgba(11,29,55,.59) 52%,rgba(11,29,55,.02) 80%),
    linear-gradient(180deg,transparent 65%,rgba(11,29,55,.12) 76%,rgba(11,29,55,.55) 89%,#0b1d37 100%);
}
.yudai-lp .hero-z .hero-desc-band::before{
  top:-16px;bottom:0;
  background:linear-gradient(180deg,transparent 0%,rgba(11,29,55,.28) 35%,rgba(11,29,55,.8) 80%,#0b1d37 100%);
  -webkit-mask-image:none;mask-image:none;
}
.yudai-lp .hero-z .hero-stats{margin-top:0 !important;padding-top:12px;position:relative}
.yudai-lp .hero-z .hero-stats::before{
  content:"";position:absolute;top:0;left:18%;right:18%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(239,209,133,.45),transparent);
}
/* Both lines start in the text column, alongside the numbered badge. */
.yudai-lp .why-item{align-items:start;row-gap:6px}
.yudai-lp .why-item p{grid-column:2;grid-row:2;font-size:12px;line-height:1.85}
.yudai-lp .why-num{grid-row:1 / 3;align-self:start}
/* Visibility is controlled by the embedded CTA positions on every device. */
.floating-cta{
  display:block !important;position:fixed !important;left:50% !important;
  bottom:calc(12px + env(safe-area-inset-bottom,0px)) !important;
  width:min(calc(100vw - 24px),488px) !important;
  transform:translate3d(-50%,0,0) !important;
  opacity:0 !important;visibility:hidden !important;pointer-events:none !important;
  z-index:2147483000 !important;transition:none !important;
}
.floating-cta.is-visible{opacity:1 !important;visibility:visible !important;pointer-events:auto !important}

/* Visible fallback for HTML viewers; active scripts control overlap. */
.floating-cta{
 opacity:1 !important;visibility:visible !important;pointer-events:auto !important;
}
.floating-cta.cta-managed{
 opacity:0 !important;visibility:hidden !important;pointer-events:none !important;
}
.floating-cta.cta-managed.is-visible{
 opacity:1 !important;visibility:visible !important;pointer-events:auto !important;
}

/* Remove the oversized opening gap on desktop and phones alike. */
.yudai-lp .hero-z .hero-z-heading{padding-top:24px !important}
.yudai-lp .hero-z .hero-z-top{min-height:589px !important}

/* Larger descriptions with a consistent two-line rhythm. */
.yudai-lp .support .support-card{padding:20px 14px 20px !important}
.yudai-lp .support .support-card strong{font-size:17px;line-height:1.5}
.yudai-lp .support .support-card p{
 margin:10px 0 0;font-size:14.5px;line-height:1.7;font-weight:700;
 color:#46546a;letter-spacing:-.025em;min-height:49.3px;
}
.yudai-lp .support .support-copy-line{display:block;white-space:nowrap}

/* Legible descriptions sized to the navy cards. */
.yudai-lp .solution .solution-card{padding:22px 20px !important}
.yudai-lp .solution .solution-card p{
 margin:14px 0 0 !important;font-size:17px !important;line-height:1.7 !important;
 font-weight:700;letter-spacing:-.025em;color:#f7f8fc !important;
}
.yudai-lp .solution .solution-copy-line{display:block;white-space:nowrap}

/* Larger icons with all copy aligned in a shared text column. */
.yudai-lp .solution .solution-card{
 display:grid;grid-template-columns:132px minmax(0,1fr);column-gap:16px;row-gap:10px;
 padding:22px 20px !important;align-items:start;
}
.yudai-lp .solution .solution-top{display:contents !important}
.yudai-lp .solution .solution-icon{
 grid-column:1;grid-row:1 / 3;align-self:center;
 width:132px !important;height:132px !important;min-width:132px !important;min-height:132px !important;
}
.yudai-lp .solution .solution-head{grid-column:2;grid-row:1;gap:5px}
.yudai-lp .solution .solution-head strong{font-size:22px !important;line-height:1.3 !important;white-space:nowrap}
.yudai-lp .solution .solution-head>span{font-size:11px;line-height:1.5}
.yudai-lp .solution .solution-card p{
 grid-column:2;grid-row:2;margin:0 !important;font-size:16px !important;
 line-height:1.7 !important;letter-spacing:-.025em;min-height:81.6px;
}

/* Two larger lines below the enlarged icon and heading. */
.yudai-lp .solution .solution-card{row-gap:16px;padding:22px 20px !important}
.yudai-lp .solution .solution-icon{grid-column:1;grid-row:1;align-self:center}
.yudai-lp .solution .solution-head{grid-column:2;grid-row:1;align-self:center}
.yudai-lp .solution .solution-card p{
 grid-column:1 / -1;grid-row:2;margin:0 !important;font-size:21px !important;
 line-height:1.65 !important;letter-spacing:-.025em;min-height:69.3px;
}

/* Align both description lines with the heading, beside the icon. */
.yudai-lp .solution .solution-card{
 grid-template-columns:132px minmax(0,1fr);column-gap:16px;row-gap:12px;
 padding:24px 20px !important;align-items:start;
}
.yudai-lp .solution .solution-icon{grid-column:1;grid-row:1 / 3;align-self:center}
.yudai-lp .solution .solution-head{grid-column:2;grid-row:1;align-self:start}
.yudai-lp .solution .solution-head strong{font-size:22px !important;line-height:1.3 !important}
.yudai-lp .solution .solution-card p{
 grid-column:2;grid-row:2;margin:0 !important;font-size:16px !important;
 line-height:1.75 !important;letter-spacing:-.025em;min-height:56px;
 text-align:left;
}
.yudai-lp .solution .solution-copy-line{display:block;white-space:nowrap}

/* Larger story copy while preserving the portrait, text column and breaks. */
.yudai-lp .visual-break-story .visual-photo-copy{
 padding:46px 0 36px 28px !important;
}
.yudai-lp .visual-break-story .visual-photo-kicker{
 font-size:14px !important;line-height:1.5 !important;letter-spacing:.14em !important;
 margin-bottom:14px !important;
}
.yudai-lp .visual-break-story .visual-photo-copy h3{
 font-size:36px !important;line-height:1.28 !important;letter-spacing:-.045em !important;
}
.yudai-lp .visual-break-story .visual-photo-copy p{
 font-size:17px !important;line-height:1.7 !important;letter-spacing:-.025em;
 margin-top:20px !important;
}

/* Increase the story typography one more step within the same text column. */
.yudai-lp .visual-break-story .visual-photo-copy{padding:40px 0 32px 28px !important}
.yudai-lp .visual-break-story .visual-photo-kicker{font-size:15px !important}
.yudai-lp .visual-break-story .visual-photo-copy h3{font-size:40px !important;line-height:1.25 !important}
.yudai-lp .visual-break-story .visual-photo-copy p{font-size:19px !important;line-height:1.65 !important;margin-top:18px !important}

/* Clear single-digit markers with enough room for the aligned copy. */
.yudai-lp .why-item{grid-template-columns:50px minmax(0,1fr);column-gap:12px}
.yudai-lp .why-num{
 width:50px;height:50px;font-size:25px;line-height:1;font-weight:900;
 font-variant-numeric:tabular-nums;letter-spacing:0;
}

/* Match each marker to the height of its heading and two description lines. */
.yudai-lp .why-item{grid-template-columns:76px minmax(0,1fr);column-gap:14px;row-gap:6px}
.yudai-lp .why-num{
 width:76px;height:76px;font-size:38px;line-height:1;
 grid-column:1;grid-row:1 / 3;align-self:center;
}

/* Balance readable copy and markers as one three-line block. */
.yudai-lp .why-list{gap:28px}
.yudai-lp .why-item{
 grid-template-columns:88px minmax(0,1fr);column-gap:14px;row-gap:8px;
 align-items:start;
}
.yudai-lp .why-num{
 width:88px;height:88px;font-size:38px;line-height:1;align-self:center;
}
.yudai-lp .why-item strong{
 font-size:20px !important;line-height:1.4 !important;margin:0;
 letter-spacing:-.025em;
}
.yudai-lp .why-item p{
 font-size:16px !important;line-height:1.7 !important;margin:0;
 letter-spacing:-.025em;color:rgba(255,255,255,.94);
}
.yudai-lp .why-item .requested-copy-line{display:block;white-space:nowrap}

/* Muted gold markers keep the readable proportions without dominating the copy. */
.yudai-lp .why-num{
 background:linear-gradient(145deg,rgba(231,204,137,.12),rgba(231,204,137,.035));
 border:1px solid rgba(219,190,121,.38);color:#dbc691;
 box-shadow:inset 0 1px 0 rgba(255,244,207,.06);
 font-size:34px;font-weight:800;
}
.yudai-lp .why-item strong{color:#f7f6f1}
.yudai-lp .why-item p{color:rgba(255,255,255,.85)}

/* Warm satin gold restores richness with restrained contrast. */
.yudai-lp .why-num{
 background:linear-gradient(145deg,#e6d3a0 0%,#cfb573 56%,#b49653 100%);
 border:1px solid rgba(240,222,172,.58);color:#172e4d;
 box-shadow:inset 0 1px 0 rgba(255,247,219,.55),0 5px 14px rgba(3,13,29,.12);
 font-size:36px;font-weight:900;
}

/* Warm gold emphasis on the words that explain each reason. */
.yudai-lp .why-item strong{
 text-shadow:0 2px 8px rgba(2,12,27,.25);
}
.yudai-lp .why-keyword{
 color:#f1d78f;font-weight:900;
 background:linear-gradient(180deg,transparent 72%,rgba(222,185,95,.22) 72%,rgba(222,185,95,.22) 94%,transparent 94%);
 text-shadow:0 1px 3px rgba(0,0,0,.22);
 -webkit-box-decoration-break:clone;box-decoration-break:clone;
}

/* Clear heading and body hierarchy, without inline marker decoration. */
.yudai-lp .why-item{row-gap:10px}
.yudai-lp .why-item strong{
 display:block;font-size:22px !important;line-height:1.4 !important;
 font-weight:900 !important;letter-spacing:-.035em;
 color:#f0d58d;text-shadow:0 1px 2px rgba(0,0,0,.16);
}
.yudai-lp .why-item p{
 font-size:16px !important;line-height:1.7 !important;
 font-weight:500 !important;letter-spacing:-.025em;
 color:#e3e8ef;text-shadow:none;
}

/* Larger support-panel typography within the existing portrait layout. */
.yudai-lp .visual-break-photo:not(.visual-break-story) .visual-photo-copy{
 padding:46px 0 36px 30px !important;
}
.yudai-lp .visual-break-photo:not(.visual-break-story) .visual-photo-kicker{
 font-size:15px !important;line-height:1.5 !important;letter-spacing:.14em !important;
}
.yudai-lp .visual-break-photo:not(.visual-break-story) .visual-photo-copy h3{
 font-size:40px !important;line-height:1.25 !important;letter-spacing:-.045em !important;
}
.yudai-lp .visual-break-photo:not(.visual-break-story) .visual-photo-copy p{
 font-size:19px !important;line-height:1.65 !important;margin-top:20px !important;
 letter-spacing:-.025em;
}
.yudai-lp .visual-break-photo:not(.visual-break-story) .support-phrase + .support-phrase{margin-top:10px}

/* Optically center the complete story copy with equal vertical breathing room. */
.yudai-lp .visual-break-story .visual-box-story{
 display:flex !important;align-items:center !important;
}
.yudai-lp .visual-break-story .visual-photo-copy{
 padding:36px 0 36px 28px !important;
 flex:0 0 64%;align-self:center;
}

/* Center the support copy vertically with matching top and bottom space. */
.yudai-lp .visual-break-photo:not(.visual-break-story) .visual-box-photo{
 display:flex !important;align-items:center !important;
}
.yudai-lp .visual-break-photo:not(.visual-break-story) .visual-photo-copy{
 padding:36px 0 36px 30px !important;
 flex:0 0 58%;align-self:center;
}

/* Consistent high-contrast body copy across light and navy sections. */
.yudai-lp{--muted:#2f4057}
.yudai-lp .counseling-lead,
.yudai-lp .counseling-flow-card p,
.yudai-lp .problem-card p,
.yudai-lp .solution-main p,
.yudai-lp .voice-intro,
.yudai-lp .voice-card p,
.yudai-lp .support-card p,
.yudai-lp .faq-lead,
.yudai-lp .faq-list .answer,
.yudai-lp .cta-sub{color:#2f4057 !important}
.yudai-lp .dark .lp-lead,
.yudai-lp .why-item p,
.yudai-lp .solution-card p,
.yudai-lp .visual-photo-copy p,
.yudai-lp .final p{color:#f1f4f8 !important}

/* Clear, consistent hierarchy for the three concern cards. */
.yudai-lp .problem .premium-problem-grid{gap:14px !important}
.yudai-lp .problem .premium-problem-card{
 display:grid !important;grid-template-columns:88px minmax(0,1fr) !important;
 gap:16px !important;align-items:center !important;padding:18px 20px !important;
 background:#fff !important;border:1px solid #e5ddcc !important;
 border-left:3px solid #c9a557 !important;border-radius:18px !important;
 box-shadow:0 6px 18px rgba(13,35,66,.045) !important;
}
.yudai-lp .problem .problem-icon-premium{
 width:88px !important;height:88px !important;min-width:88px !important;min-height:88px !important;
 flex-basis:88px !important;border-radius:22px !important;
 box-shadow:inset 0 0 0 1px rgba(201,154,45,.12) !important;
}
.yudai-lp .problem .problem-icon-premium svg{width:80px !important;height:80px !important}
.yudai-lp .problem .problem-copy strong{
 display:block;color:#102947 !important;font-size:20px !important;line-height:1.4 !important;
 font-weight:900 !important;letter-spacing:-.025em;margin:0 0 8px !important;text-align:left;
}
.yudai-lp .problem .problem-card-title-line{display:block;white-space:nowrap}
.yudai-lp .problem .problem-copy p{
 font-size:14.5px !important;line-height:1.65 !important;font-weight:500 !important;
 letter-spacing:-.015em;margin:0 !important;color:#35475d !important;text-align:left;
}
.yudai-lp .problem .problem-body-line{display:block;white-space:nowrap}

/* Frame each reason without narrowing the established text columns. */
.yudai-lp .why-list{gap:30px;padding:8px 0}
.yudai-lp .why-item{position:relative;isolation:isolate}
.yudai-lp .why-item::before{
 content:"";position:absolute;inset:-12px -10px;z-index:-1;pointer-events:none;
 border:1px solid rgba(226,193,113,.56);border-left:3px solid #d4b16a;
 border-radius:18px;
 background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
 box-shadow:0 7px 20px rgba(3,13,28,.12),inset 0 1px 0 rgba(247,224,164,.09);
}

/* Single-line concern headings within the existing icon-and-copy layout. */
.yudai-lp .problem .problem-copy strong{
 font-size:18px !important;line-height:1.5 !important;
 letter-spacing:-.035em;white-space:nowrap;
}
.yudai-lp .problem .problem-card-title-line{display:inline;white-space:inherit}

/* Give the key promise more presence while retaining the four hero lines. */
.yudai-lp .hero-z .hero-stress-highlight{
 font-size:1.28em !important;font-weight:900;line-height:1;
 color:#ffe4a0;text-decoration:none;
 text-shadow:0 1px 3px rgba(0,0,0,.4),0 0 10px rgba(244,194,72,.25);
}

/* A slow, restrained pulse draws attention to the key promise. */
.yudai-lp .hero-z .hero-stress-highlight{
 display:inline-block;transform-origin:center 65%;
 animation:hero-stress-glow 3.2s ease-in-out infinite;
 -webkit-animation:hero-stress-glow 3.2s ease-in-out infinite;
}
@keyframes hero-stress-glow{
 0%,100%{transform:translateY(0) scale(1);text-shadow:0 1px 3px rgba(0,0,0,.4),0 0 5px rgba(244,194,72,.18)}
 50%{transform:translateY(-1px) scale(1.03);text-shadow:0 1px 3px rgba(0,0,0,.4),0 0 14px rgba(255,213,110,.7)}
}
@media(prefers-reduced-motion:reduce){
 .yudai-lp .hero-z .hero-stress-highlight{animation:none;-webkit-animation:none}
}

/* Stationary warm-gold neon with a clear letter core. */
.yudai-lp .hero-z .hero-stress-highlight{
 animation:none !important;-webkit-animation:none !important;
 transform:none !important;color:#fff1bf;
 text-shadow:0 0 2px rgba(255,248,219,.95),0 0 6px rgba(255,214,110,.85),0 0 13px rgba(240,182,56,.6),0 0 22px rgba(220,155,30,.3);
}

/* Gently fade only the neon light; keep the lettering stationary and visible. */
.yudai-lp .hero-z .hero-stress-highlight{
 transform:none !important;
 animation:hero-neon-breathe 4.8s ease-in-out infinite !important;
 -webkit-animation:hero-neon-breathe 4.8s ease-in-out infinite !important;
}
@keyframes hero-neon-breathe{
 0%,100%{text-shadow:0 1px 2px rgba(0,0,0,.35)}
 50%{text-shadow:0 0 2px rgba(255,248,219,.95),0 0 6px rgba(255,214,110,.85),0 0 13px rgba(240,182,56,.6),0 0 22px rgba(220,155,30,.3)}
}
@media(prefers-reduced-motion:reduce){
 .yudai-lp .hero-z .hero-stress-highlight{animation:none !important;-webkit-animation:none !important}
}

/* A modest size increase keeps the promise integrated with the sentence. */
.yudai-lp .hero-z .hero-stress-highlight{font-size:1.4em !important;vertical-align:baseline}

/* A brighter light core and wider gold halo make the glow easier to notice. */
@keyframes hero-neon-breathe{
 0%,100%{color:#edcc79;text-shadow:0 1px 2px rgba(0,0,0,.35)}
 42%,58%{color:#fff9df;text-shadow:0 0 2px #fff9df,0 0 5px rgba(255,238,175,1),0 0 10px rgba(255,212,95,.95),0 0 20px rgba(255,193,55,.8),0 0 32px rgba(235,163,27,.55)}
}

/* Explicit Safari-compatible light-only animation, after all stop overrides. */
@-webkit-keyframes hero-neon-mobile{
 0%,100%{color:#edcc79;text-shadow:0 1px 2px rgba(0,0,0,.35)}
 42%,58%{color:#fff9df;text-shadow:0 0 2px #fff9df,0 0 5px rgba(255,238,175,1),0 0 10px rgba(255,212,95,.95),0 0 20px rgba(255,193,55,.8),0 0 32px rgba(235,163,27,.55)}
}
@keyframes hero-neon-mobile{
 0%,100%{color:#edcc79;text-shadow:0 1px 2px rgba(0,0,0,.35)}
 42%,58%{color:#fff9df;text-shadow:0 0 2px #fff9df,0 0 5px rgba(255,238,175,1),0 0 10px rgba(255,212,95,.95),0 0 20px rgba(255,193,55,.8),0 0 32px rgba(235,163,27,.55)}
}
.yudai-lp .hero-z .hero-stress-highlight{
 animation:hero-neon-mobile 4.8s ease-in-out 0s infinite normal both !important;
 -webkit-animation:hero-neon-mobile 4.8s ease-in-out 0s infinite normal both !important;
 animation-play-state:running !important;-webkit-animation-play-state:running !important;
 transform:none !important;
}
