/* VSI visual revision: photographs lead, copy supports. */
.visual-home .section{padding-block:82px}
.visual-hero{grid-template-columns:.95fr 1.18fr;gap:45px;min-height:650px;padding-block:48px 60px}
.visual-hero h1{font-size:clamp(52px,5.2vw,76px)}
.visual-hero .hero-lede{font-size:15px;max-width:390px;line-height:1.85}
.visual-hero .hero-visual{padding:0;width:100%}
.visual-hero .hero-photo-frame{aspect-ratio:1.06;border-radius:18px 100px 18px 18px}
.visual-hero .hero-photo-frame>img{object-position:60% center}
.visual-hero .floating-top{top:28px;right:-17px;padding:15px 19px}
.visual-hero .floating-bottom{bottom:27px;left:-25px;padding:18px 22px}
.visual-hero .photo-caption{bottom:24px;left:26px;font-size:9px;letter-spacing:.13em}
.hero-caption{display:flex;align-items:center;gap:9px;font-size:10px;color:#607455;margin-top:28px}
.visual-home .trust-inner{justify-content:space-around;padding-block:24px}
.visual-services{background:var(--cream)}
.home-photo-grid{gap:22px}
.photo-service{padding:0!important;overflow:hidden;background:#fff;border:1px solid #e0e5d9;border-radius:12px}
.photo-service:hover{box-shadow:0 15px 32px #193d3212}
.service-photo{position:relative;aspect-ratio:1.45;overflow:hidden;background:#e7ede1}
.service-photo img{width:100%;height:100%;object-fit:cover;object-position:center 39%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.photo-service:hover .service-photo img{transform:scale(1.055)}
.service-photo::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#122f2750);pointer-events:none}
.service-photo-tag{position:absolute;bottom:17px;left:18px;font-size:9px;letter-spacing:.03em;color:#fff;z-index:1;font-weight:500}
.service-photo-arrow{position:absolute;bottom:12px;right:15px;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--green);font-size:19px;display:grid;place-items:center;z-index:1;transition:background .2s,transform .2s}
.photo-service:hover .service-photo-arrow{background:#e8b492;transform:rotate(6deg)}
.service-card-copy{padding:22px 24px 24px}
.photo-service .service-card-copy h3{font-size:19px;margin:0 0 12px;line-height:1.4}
.photo-service .service-card-copy p{font-size:12px;line-height:1.8;min-height:44px;max-width:none}
.photo-service .service-card-copy .card-link{font-size:10px;margin-top:19px}
.visual-team{background:#e9eee2}
.team-feature{display:grid;grid-template-columns:1.12fr 1fr;gap:75px;align-items:center}
.team-feature-image{position:relative;margin:0;overflow:hidden;border-radius:14px;aspect-ratio:1.23}
.team-feature-image>img{width:100%;height:100%;object-fit:cover}
.team-feature-image::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#122f2770)}
.team-feature-image figcaption{position:absolute;left:24px;bottom:23px;display:flex;align-items:center;gap:9px;z-index:1;color:white;font-size:9px;letter-spacing:.07em}
.team-feature-copy h2{font-size:47px;line-height:1.18}
.team-feature-copy>p{font-size:14px;max-width:415px;margin-top:23px;line-height:1.9}
.team-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-block:25px 29px}
.team-pill-row span{font-size:10px;color:#617453;padding:7px 11px;border:1px solid #cad7bc;border-radius:20px}
.team-feature-copy>.button{font-size:12px}
.scenario-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.scenario-tabs button{padding:11px 19px;background:#e9eee3;border:1px solid #dbe4d2;color:#6a7e5c;border-radius:100px;font-size:12px;transition:background .2s,color .2s}
.scenario-tabs button[aria-selected=true]{background:var(--green);border-color:var(--green);color:#fff}
.scenario-panel{display:grid;grid-template-columns:1fr 54px 1fr;align-items:center;gap:15px;margin-top:20px}
.task-board{padding:32px 36px;border-radius:13px;border:1px solid #e1e4db;background:#f2f1ec;min-height:378px}
.board-label{font-size:9px;letter-spacing:.13em;color:#929781;font-weight:600}
.task-board h3{margin-top:12px;font-size:25px;min-height:31px}
.task-board ul{padding:0;margin:25px 0;list-style:none}
.task-board li{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e7e8de;border-radius:6px;padding:12px 14px;margin-top:9px;font-size:12px;color:#7c8473;box-shadow:0 3px 8px #26392303}
.task-circle{height:12px;width:12px;border:1px solid #c5cebb;border-radius:50%;flex-shrink:0}
.board-footnote{font-size:10px;color:#969e8b}
.board-transition{height:48px;width:48px;border-radius:50%;display:grid;place-items:center;background:#e2ebd9;font-size:23px;color:#70905b}
.board-after{background:var(--green);border-color:var(--green);color:white}
.board-after .board-label{color:#b5c6a9}
.board-after h3{font-size:25px}
.board-after li{background:#ffffff0c;border-color:#ffffff17;color:#d7e4cd;box-shadow:none}
.task-check{width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:#9fbc87;color:#183724;font-size:10px}
.board-after .text-link{color:#e6f0df;border-color:#7f986b;font-size:10px;margin-top:0}
.scenario-note{font-size:10px;color:#939d88;margin-top:22px}
html:not(.js-ready) .scenario-panel+.scenario-panel{margin-top:30px}
.visual-process{background:#f0f2ea}
.visual-process .process-step{border-top:none;background:#fafbf5;border:1px solid #dde5d4;border-radius:10px;padding:26px}
.visual-process .process-track{gap:18px}
.visual-process .step-line>span:first-child{color:#a5b992;font-size:46px}
.step-icon{width:40px;height:40px;border:1px solid #d9e3cc;background:#eff4e8;border-radius:9px;display:grid;place-items:center;color:#749960}
.step-icon svg{width:22px;height:22px}
.visual-process .process-step h3{font-size:23px;margin-top:16px}
.visual-process .process-step p{font-size:12px;line-height:1.8;max-width:270px}
.client-story-section{scroll-margin-top:100px}
.client-story-layout{display:grid;grid-template-columns:1.14fr 1fr;gap:77px;align-items:center}
.client-video{width:100%;border-radius:14px;overflow:hidden;background:#1e362b}
.video-poster{position:relative;aspect-ratio:1.35;display:block;overflow:hidden}
.video-poster>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.video-poster::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#142d247a)}
.video-launch{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;z-index:1;color:white}
.video-play{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:#ffffffed;color:var(--green);font-size:19px;padding-left:4px;box-shadow:0 0 0 12px #ffffff26;transition:transform .2s}
.video-launch:hover .video-play{transform:scale(1.07)}
.video-launch>span:last-child{font-size:13px;font-weight:500;letter-spacing:.01em}
.video-poster.playing{aspect-ratio:16/9}
.video-poster.playing::after{display:none}
.video-poster iframe{width:100%;height:100%;border:0;display:block}
.client-story-copy h2{font-size:43px;line-height:1.2}
.client-story-copy .stars{margin-top:25px}
.client-story-copy blockquote{font-family:var(--heading);font-size:21px;line-height:1.7;letter-spacing:-.025em;margin:15px 0 20px;color:#526949}
.client-credit strong{display:block;font-size:12px}
.client-credit span{display:block;font-size:10px;color:#859476;margin-top:3px}
.client-story-copy>.text-link{margin-top:24px;font-size:11px}
.client-story-copy>.small{font-size:9px;margin-top:18px}
.visual-home .tools-section{padding-block:35px 50px}
.visual-home .tools-section .tool-logos{margin-top:13px}
.visual-home .faq-section{padding-block:55px}
.visual-home .faq-layout h2{font-size:37px}
.visual-home .faq-layout .text-link{margin-top:23px}
.photo-support-aside{overflow:hidden}
.support-role-photo{width:calc(100% + 68px);max-width:none;margin:-34px -34px 28px;aspect-ratio:1.35;object-fit:cover;object-position:center 38%}
@media(min-width:1440px){.visual-hero{min-height:720px;gap:65px;padding-block:52px 68px}.visual-hero h1{font-size:79px}.visual-hero .hero-photo-frame{aspect-ratio:1.05}}
@media(max-width:1100px){.visual-hero{gap:35px;min-height:590px}.visual-hero h1{font-size:57px}.visual-hero .hero-lede{font-size:13px}.team-feature{gap:45px}.team-feature-copy h2{font-size:39px}.client-story-layout{gap:43px}.client-story-copy h2{font-size:37px}.client-story-copy blockquote{font-size:18px}.service-card-copy{padding:19px 20px 22px}.photo-service .service-card-copy h3{font-size:17px}.photo-service .service-card-copy p{font-size:11px}.task-board{padding:28px;min-height:365px}.task-board h3,.board-after h3{font-size:21px}}
@media(max-width:900px){.visual-hero{grid-template-columns:.93fr 1.06fr;gap:28px;min-height:560px}.visual-hero h1{font-size:47px}.visual-hero .hero-photo-frame{aspect-ratio:.87;border-radius:14px 70px 14px 14px}.visual-hero .hero-actions{gap:16px}.visual-hero .floating-top{top:20px;right:-12px;padding:12px}.visual-hero .floating-bottom{bottom:22px;left:-17px;padding:14px 16px}.visual-hero .float-price{font-size:32px}.visual-hero .floating-card strong{font-size:9px}.visual-hero .floating-card span:not(.float-icon):not(.float-arrow){font-size:8px}.home-photo-grid{gap:16px}.service-card-copy{padding:18px}.photo-service .service-card-copy h3{font-size:16px}.photo-service .service-card-copy p{font-size:10px;min-height:52px}.service-photo-tag{font-size:8px;bottom:15px;left:13px}.service-photo-arrow{width:26px;height:26px;font-size:16px;right:12px}.team-feature{gap:30px}.team-feature-copy h2{font-size:34px}.team-feature-copy>p{font-size:12px}.team-feature-image{aspect-ratio:1}.team-pill-row{gap:6px}.team-pill-row span{font-size:8px;padding:6px 9px}.client-story-layout{gap:30px}.client-story-copy h2{font-size:33px}.client-story-copy blockquote{font-size:16px}.task-board{padding:25px;min-height:370px}.task-board li{font-size:11px;padding:11px}.scenario-panel{grid-template-columns:1fr 40px 1fr;gap:10px}.board-transition{width:36px;height:36px;font-size:19px}.visual-process .process-step{padding:23px}.visual-process .process-step h3{font-size:20px}.visual-process .process-step p{font-size:11px}.photo-support-aside .support-role-photo{width:calc(100% + 68px)}}
@media(max-width:700px){.visual-home .section{padding-block:55px}.visual-hero{grid-template-columns:1fr;gap:34px;min-height:0;padding-block:39px 46px}.visual-hero h1{font-size:54px}.visual-hero .hero-lede{font-size:13px;max-width:340px;line-height:1.8;margin-top:28px}.visual-hero .hero-caption{font-size:9px;margin-top:24px}.visual-hero .hero-visual{width:calc(100% - 16px);max-width:500px;margin:auto}.visual-hero .hero-photo-frame{aspect-ratio:1.21;border-radius:14px 75px 14px 14px}.visual-hero .floating-top{top:16px;right:-10px;padding:12px 14px}.visual-hero .floating-bottom{bottom:17px;left:-10px;padding:13px 16px;gap:15px}.visual-hero .photo-caption{font-size:7px;left:22px;bottom:78px}.visual-hero .floating-card strong{font-size:10px}.visual-hero .floating-card span:not(.float-icon):not(.float-arrow){font-size:8px}.visual-hero .float-price{font-size:32px}.visual-home .trust-inner{gap:17px 10px;justify-content:initial;padding-block:22px}.visual-home .trust-inner>div{font-size:9px}.home-photo-grid{gap:16px;grid-template-columns:1fr 1fr}.service-photo{aspect-ratio:1.02}.service-card-copy{padding:17px 15px 19px}.photo-service .service-card-copy h3{font-size:15px;margin-bottom:10px}.photo-service .service-card-copy p{font-size:10px;min-height:0;line-height:1.8}.photo-service .service-card-copy .card-link{font-size:9px;margin-top:14px}.service-photo-tag{font-size:7px;left:10px;bottom:15px;max-width:70%;line-height:1.4}.service-photo-arrow{right:9px;bottom:10px;width:25px;height:25px;font-size:16px}.team-feature{grid-template-columns:1fr;gap:32px}.team-feature-image{aspect-ratio:1.24;max-width:550px;width:100%}.team-feature-image figcaption{font-size:8px;bottom:20px;left:20px}.team-feature-copy h2{font-size:38px}.team-feature-copy>p{font-size:13px;margin-top:20px}.team-pill-row span{font-size:9px;padding:7px 11px}.team-feature-copy>.button{font-size:11px}.scenario-tabs{gap:7px;margin-bottom:22px}.scenario-tabs button{font-size:10px;padding:10px 13px}.scenario-panel{grid-template-columns:1fr;gap:13px;margin-top:0}.task-board{padding:26px;min-height:0}.task-board h3,.board-after h3{font-size:24px;min-height:0}.task-board ul{margin-block:22px}.task-board li{font-size:12px;padding:11px 13px}.board-transition{margin:auto;transform:rotate(90deg);width:35px;height:35px;font-size:20px}.scenario-note{font-size:9px;margin-top:20px}.visual-process .process-track{gap:14px}.visual-process .process-step{padding:24px}.visual-process .step-line>span:first-child{font-size:39px}.visual-process .process-step h3{font-size:23px;margin-top:13px}.visual-process .process-step p{font-size:12px;max-width:100%}.client-story-layout{grid-template-columns:1fr;gap:32px}.video-poster{aspect-ratio:1.4}.video-play{width:68px;height:68px;box-shadow:0 0 0 10px #ffffff26}.client-story-copy h2{font-size:37px}.client-story-copy blockquote{font-size:18px}.client-story-copy .stars{margin-top:19px}.client-story-copy>.small{font-size:9px}.visual-home .tools-section{padding-block:30px 42px}.visual-home .faq-section{padding-block:45px}.visual-home .faq-layout h2{font-size:32px}.visual-home .faq-layout .text-link{margin-top:20px}.visual-home .section-heading h2{font-size:35px}.photo-support-aside .support-role-photo{width:calc(100% + 60px);margin:-30px -30px 25px}}
@media(max-width:380px){.visual-hero h1{font-size:46px}.visual-hero .hero-actions{gap:14px}.home-photo-grid{grid-template-columns:1fr}.service-photo{aspect-ratio:1.4}.photo-service .service-card-copy h3{font-size:19px}.photo-service .service-card-copy p{font-size:12px}.service-photo-tag{font-size:9px;left:17px}.service-photo-arrow{right:16px;width:30px;height:30px}.scenario-tabs button{font-size:9px;padding:9px 11px}}
@media(prefers-reduced-motion:reduce){.photo-service:hover .service-photo img,.video-launch:hover .video-play{transform:none}.service-photo img,.service-photo-arrow,.video-play,.scenario-tabs button{transition:none}}

.service-photo img[src="/images/sales-support.jpg"]{object-position:center 16%}

/* Anchor the support card to the shoulder, keeping the portrait unobstructed. */
.visual-hero .floating-top {
  top: 50%;
  animation: none;
}

@media (max-width: 700px) {
  .visual-hero .floating-top {
    top: 45%;
    padding: 10px 12px;
  }

  .visual-hero .floating-top .float-icon {
    width: 26px;
    height: 26px;
  }

  .visual-hero .floating-bottom {
    bottom: -34px;
  }

  .visual-hero .hero-visual {
    margin-bottom: 38px;
  }
}

/* Low-price disclosure stays below the rate row, never over the portrait. */
.visual-hero .floating-bottom {
  width: 340px;
  max-width: calc(100% + 10px);
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  bottom: -70px;
}
.visual-hero .hero-rate-row {
  display: flex;
  align-items: center;
  gap: 16px;
}
.visual-hero .hero-rate-row .float-price {
  flex-shrink: 0;
}
.visual-hero .hero-rate-row .float-arrow {
  margin-left: auto;
  flex-shrink: 0;
}
.visual-hero .english-rate-disclosure {
  margin: 0;
  padding-top: 10px;
  border-top: 1px solid #e0edf3;
  color: #4f5d6b;
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: 0;
}
.visual-hero .hero-visual {
  margin-bottom: 74px;
}
.visual-hero .photo-caption {
  bottom: 100px;
}
@media (max-width: 700px) {
  .visual-hero .floating-bottom { bottom: -110px; }
  .visual-hero .hero-visual { margin-bottom: 114px; }
  .visual-hero .hero-rate-row { gap: 12px; }
  .visual-hero .photo-caption { bottom: 78px; }
}
