/* Client feedback, revised 29 October. Scoped to the homepage and individual request UI. */
/* One homepage scale, consumed by the existing component rules at every breakpoint. */
.client-home {
  --home-blue: #183d72; background: #020812;
  --home-title-about: clamp(28px,2.25vw,36px);
  --home-title-section: clamp(30px,2.45vw,40px);
  --home-title-assistant: clamp(30px,2.35vw,38px);
  --home-title-contact: clamp(32px,2.5vw,42px);
  --home-title-hero: clamp(23px,1.65vw,30px);
  --home-title-leading: 1.16;
  --home-title-tracking: -.035em;
  --home-about-columns: minmax(0,.9fr) minmax(0,1.1fr);
  --home-about-gap: clamp(36px,5vw,80px);
  --home-about-align: start;
  --home-about-title-width: 24ch;
  --home-about-copy-width: none;
  --home-about-copy-size: 16px;
  --home-about-copy-gap: 20px;
}
#infostand-assistant-home { scroll-margin-top: 84px; }
@media(max-width:1000px) {
  .client-home { --home-title-about: 32px; --home-title-section: 32px; --home-title-assistant: 30px; --home-title-contact: 34px; }
}
@media(max-width:640px) {
  .client-home { --home-title-about: 28px; --home-title-section: 28px; --home-title-assistant: 26px; --home-title-contact: 30px; }
}
@media(max-width:350px) {
  .client-home { --home-title-about: 26px; --home-title-section: 26px; --home-title-assistant: 24px; --home-title-contact: 28px; }
}
/* The original hero image, shade, matte and animation remain in the base styles. */
.client-home .hero .stand-image { filter: drop-shadow(0 18px 24px rgba(0,0,0,.24)) !important; }
.client-home #typesTitle { color: #173e73; }
.client-home #processTitle { color: #f5f8ff; }
.client-home #processTitle::first-line { color: #bfd5f4; }
.client-project .sv-hero h1 { color: #173956; }
.client-home .nav a { color: #fff; }
.client-home .client-hero-title { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.client-home #about { border-top: 1px solid #e3e6ea; }
.client-home .light-intro { padding-top: 80px; padding-bottom: 80px; }
.client-home .ifa-home-intro { min-width: 0; }
.client-home .ifa-home-intro .client-callback { margin-top: 26px; max-width: 340px; }
.client-callback p { margin: 0 0 14px; font-size: 16px; line-height: 1.5; color: #626a76; }
.client-callback-button {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 24px;
  min-height: 48px; padding: 10px 20px; border: 1px solid #bfc6cf; border-radius: 999px;
  background: transparent; color: #0b1829; font: 600 15px/1.3 Onest,Arial,sans-serif; cursor: pointer;
}
.client-callback-button:hover { background: #f2f4f7; border-color: #7d8796; }
.client-callback-button:focus-visible,.client-primary:focus-visible { outline: 2px solid #315d98; outline-offset: 4px; }
.client-primary {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 50px;
  padding: 8px 9px 8px 21px; background: #06162c; color: #fff; border: 1px solid #06162c; border-radius: 999px;
  font: 600 14px/1.3 Onest,Arial,sans-serif; text-decoration: none; cursor: pointer;
}
.client-primary > span:last-child { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; background: #fff; color: #06162c; border-radius: 50%; font-size: 20px; }
.client-primary:hover { background: #142c4a; }
.client-primary:disabled { opacity: .65; cursor: wait; }
.client-project .sv-hero__aside .client-primary { margin-bottom: 20px; }
.client-project .sv-hero__aside > .line-link { display: flex; width: fit-content; font-size: 14px; }
.client-quick-request { padding: 70px var(--page-pad); border-bottom: 1px solid #e0e5eb; }
.client-order-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,480px); gap: clamp(40px,8vw,140px); }
.client-order-intro h2 { margin: 19px 0 22px; max-width: 650px; font-size: clamp(36px,3.7vw,58px); font-weight: 500; line-height: 1.08; letter-spacing: -.045em; }
.client-order-intro p { max-width: 460px; margin: 0 0 25px; color: #5a626f; font-size: 17px; line-height: 1.55; }
.client-order-intro .client-callback { margin-top: 28px; padding-top: 24px; border-top: 1px solid #e0e5eb; }
.client-quick-form.sv-form { max-width: 480px; gap: 24px; }
.client-purpose-field { margin: 0; padding: 0; border: 0; min-width: 0; }
.client-purpose-field legend,.client-quick-form .sv-field > span { margin: 0 0 10px; color: #3e4855; font: 500 13px/1.4 Onest,Arial,sans-serif; }
.client-purpose-options { display: flex; flex-wrap: wrap; gap: 8px; }
.client-purpose-option { min-height: 44px; padding: 10px 14px; max-width: 100%; border: 1px solid #d6dce3; border-radius: 999px; background: #fff; color: #283647; font: 500 14px/1.35 Onest,Arial,sans-serif; overflow-wrap: anywhere; cursor: pointer; }
.client-purpose-option[aria-pressed="true"] { background: #06162c; color: #fff; border-color: #06162c; }
.client-purpose-option:focus-visible { outline: 2px solid #315d98; outline-offset: 3px; }
.client-quick-form .sv-field input,.client-quick-form .sv-field textarea { color: #101827; border-color: #b9c2cd; font-size: 18px; min-height: 46px; }
.client-quick-form .sv-field input::placeholder,.client-quick-form .sv-field textarea::placeholder { color: #818c9b; }
.client-quick-form .sv-field input:focus,.client-quick-form .sv-field textarea:focus { border-color: #315d98; }
.client-quick-form details > summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 15px; cursor: pointer; color: #485668; font-size: 14px; }
.client-quick-form details > summary::after { content: '+'; font-size: 21px; }
.client-quick-form details[open] > summary::after { content: '−'; }
.client-quick-form details > .sv-field { margin-top: 12px; }
.client-quick-form .sv-consent { color: #526071; }
.client-quick-form .sv-consent input { accent-color: #06162c; }
.client-quick-form .sv-consent a { color: #142d4c; }
.client-quick-form .client-primary { justify-self: start; }
.client-quick-form .sv-form__status { color: #31455d !important; }
.client-quick-form .sv-form__status.is-error { color: #a12626 !important; }
.instagram-section { padding-top: 56px; padding-bottom: 72px; }
.instagram-section[hidden] { display: none !important; }
.instagram-banner { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 40px; padding: clamp(30px,4vw,64px); background: #0b2447; color: #fff; border-radius: 24px; }
.instagram-banner[hidden] { display: none; }
.instagram-banner .eyebrow { color: #d3d3ff; }
.instagram-banner h2 { font-size: var(--home-title-section,clamp(36px,3.6vw,56px)); line-height: var(--home-title-leading,1.08); font-weight: 500; letter-spacing: -.045em; margin: 28px 0 18px; max-width: 700px; }
.instagram-banner p { font-size: 16px; line-height: 1.5; color: #ededff; max-width: 500px; margin: 0; }
.instagram-banner__link { min-height: 50px; padding: 12px 20px; border: 1px solid rgba(255,255,255,.8); border-radius: 999px; color: #fff; display: inline-flex; align-items: center; gap: 25px; font-size: 14px; font-weight: 500; white-space: nowrap; }
.instagram-banner__link:hover { background: #fff; color: #315d98; }
.instagram-banner__link[aria-disabled="true"] { opacity: .6; cursor: default; pointer-events: none; }
.instagram-banner__link:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
@media(min-width:1001px) {
  .client-home .hero .stand-entry { left: 35% !important; width: clamp(360px,40vw,620px) !important; height: min(64vh,620px) !important; }
  .client-home .hero .stand-image { scale: .88; transform-origin: center; }
  .client-home .hero h1.client-hero-title { position: absolute; left: auto; right: var(--page-pad); top: clamp(135px,18vh,190px); width: clamp(430px,35vw,570px); height: auto; margin: 0; padding: 0; clip: auto; clip-path: none; overflow: visible; white-space: normal; font: 500 var(--home-title-hero)/1.16 Onest,Arial,sans-serif; letter-spacing: -.035em; z-index: 12; color: #dfebff; }
  .client-home .section-pad { padding-top: 80px; padding-bottom: 80px; }
  .client-project .sv-hero h1 { font-size: clamp(40px,3.55vw,64px); line-height: 1.04; letter-spacing: -.055em; }
  .client-project .sv-hero__layout { align-items: start; }
}
@media(max-width:1000px) { .client-order-layout { grid-template-columns: 1fr; gap: 36px; } .instagram-banner { grid-template-columns: 1fr; align-items: start; } .instagram-banner__link { justify-self: start; } }
@media(max-width:640px) {
  .client-home .hero .stand-image { scale: .9; transform-origin: center; filter: drop-shadow(0 8px 14px rgba(0,0,0,.2)) !important; }
  .client-home .mobile-carousel-status { color: #ededff; }
  .client-home .light-intro { padding-top: 64px; padding-bottom: 64px; }
  .client-order-intro h2 { font-size: 35px; }
  .client-quick-request { padding-top: 48px; padding-bottom: 56px; }
  .client-order-intro p { font-size: 16px; }
  .client-quick-form .client-primary { width: 100%; }
  .instagram-section { padding-top: 24px; padding-bottom: 48px; }
  .instagram-banner { padding: 28px 23px; gap: 27px; border-radius: 20px; }
  .instagram-banner h2 { font-size: var(--home-title-section,34px); margin-top: 22px; }
  .instagram-banner__link { white-space: normal; width: 100%; justify-content: space-between; }
}
@media(max-width:350px) { .client-order-intro h2 { font-size: 31px; } .client-purpose-option { font-size: 13px; padding-inline: 12px; } .instagram-banner h2 { font-size: var(--home-title-section,30px); } }
