/* Supplied September 10 yacht background, displayed as section-sized sprite windows.
 * The original bitmap is unchanged. Each window excludes adjacent artwork.
 * Content stays in document flow: no flattened screenshot or fixed text height. */
.home { --sections-ocean: url('./sections-yacht-reference.png'); }
.home { --ui-radius: 14px; --ui-ease: cubic-bezier(.22,.61,.36,1); }
/* Old outer viewport minimum exposed an empty band after the inner stage. */
.home .immersive-hero { min-height: 0; background: #f3f8fd; }
.home .immersive-hero-stage { padding-bottom: 110px; }
.home .immersive-hero-stage::after { content: ''; position: absolute; inset: auto 0 0; height: 88px; background: linear-gradient(to bottom,transparent,#f3f8fd); pointer-events: none; z-index: 9; }
.home :is(.product-universe,.finder-experience,.about-precision,.precision-faq,.precision-contact-section) { position: relative; scroll-margin-top: 88px; }
.home :is(.product-universe,.finder-experience,.about-precision)::after { content: ''; position: absolute; inset: auto 0 0; height: 32px; pointer-events: none; background: linear-gradient(transparent,#f2f8fd); }
.home :is(a,button,summary) { -webkit-tap-highlight-color: transparent; }
.home :is(.product-story,.catalog-link,.hero-primary-search button,.precision-contact-actions a,.finder-system-links a) { transition: transform .3s var(--ui-ease),box-shadow .3s var(--ui-ease),border-color .25s ease,background-color .25s ease; }
.home .product-story:focus-visible { outline: 3px solid #1e40af; outline-offset: 4px; }
.home .product-story-media img { transition: transform .55s var(--ui-ease); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .home .product-story:hover { transform: translateY(-5px); box-shadow: 0 16px 34px #12345b12; border-color: #b6cbea; }
  .home .product-story:hover .product-story-media img { transform: scale(1.035); }
  .home :is(.catalog-link,.precision-contact-actions a):hover { transform: translateY(-2px); box-shadow: 0 8px 22px #12345b14; }
  .home .finder-system-links a:hover { transform: translateX(3px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .home :is(.product-story,.product-story-media img,.catalog-link,.hero-primary-search button,.precision-contact-actions a,.finder-system-links a) { transition: none; transform: none; }
}
.home :is(.product-universe,.finder-experience,.business-story,.about-precision,.precision-contact-section,.precision-footer) {
  background-image: var(--sections-ocean); background-repeat: no-repeat;
}
.home .precision-wrap { width: min(1240px,calc(100% - 64px)); margin-inline: auto; }
.home .confidence-strip { z-index: 10; padding: 0; margin-top: -24px; margin-bottom: -72px; background: transparent; border: 0; }
.home .confidence-strip .precision-wrap { width: min(1240px,calc(100% - 64px)); max-width: none; margin-inline: auto; border: 1px solid #dce6f2; border-radius: 12px; background: #fffffffa; box-shadow: 0 8px 22px #173d6910; padding: 16px 0; }
.home .confidence-strip li { min-height: 68px; padding: 10px 24px; grid-template-columns: 44px 1fr; gap: 12px; }
.home .confidence-strip svg { width: 38px; height: 38px; padding: 8px; border-radius: 50%; background: #e8f0ff; }
.home .confidence-strip li + li { border-color: #dce6f2; }
.home .product-universe { padding: 32px 0 48px; background-color: #f3f8fd; background-image: linear-gradient(#f3f8fd,transparent 100px),var(--sections-ocean); background-size: 100% 100%,100% 374%; background-position: center,center 7.14%; }
.home :is(.section-heading,.business-heading) { margin-bottom: 26px; gap: 14px 48px; }
.home :is(.section-heading h2,.finder-experience-copy h2,.business-heading h2,.about-precision h2,.faq-intro h2,.precision-contact-panel h2) { font-size: clamp(30px,3.15vw,44px); line-height: 1.08; letter-spacing: -.035em; font-weight: 700; }
.home :is(.section-heading h2,.finder-experience-copy h2,.business-heading h2,.about-precision h2,.faq-intro h2) span { color: #1c244b; }
.home .section-kicker { font-size: 12px; letter-spacing: .12em; margin-bottom: 14px; }
.home .section-heading > p { font-size: 16px; max-width: 430px; }
.home .product-bento { gap: 16px; }
.home .product-story { border-color: #dce6f2; box-shadow: 0 4px 16px #244b6e05; border-radius: var(--ui-radius); }
.home .product-story-media { border-bottom: 0; }
.home .product-story-copy { padding: 18px 22px 22px; }
.home .product-story-copy h3 { font-size: 23px; margin-block: 6px 10px; }
.home .product-story-copy p { font-size: 15px; line-height: 1.5; }
.home .product-story-copy b { font-size: 14px; margin-top: 18px; }
.home .finder-experience { display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: 18px 64px; padding: 36px max(32px,calc((100% - 1240px)/2)) 32px; background-color: #eaf4fc; background-size: 100% 425%; background-position: center 42.11%; border: 0; }
.home .finder-experience > .finder-experience-grid { display: contents; }
.home .finder-experience-copy { grid-column: 1; align-self: start; padding: 18px 20px 20px; border-radius: 12px; background: #f5faffeb; }
.home .finder-experience-copy > p { font-size: 16px; line-height: 1.55; }
.home .finder-steps { margin-block: 22px; }
.home .finder-steps li { padding-block: 12px; gap: 16px; }
.home .finder-steps b { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #e6efff; border: 1px solid #d2e2fa; }
.home .finder-steps span { font-size: 14px; }
.home .catalog-link { min-height: 48px; padding: 14px 20px; }
.home .finder-device { grid-column: 2; border-radius: var(--ui-radius); background: #fff; box-shadow: 0 6px 26px #244b6e05; }
.home .finder-device-bar { min-height: 48px; padding: 12px 20px; }
.home .finder-device-canvas { min-height: 380px; gap: 18px; padding: 20px; }
.home .finder-device-canvas > img { right: 0; top: 3%; width: 56%; height: 94%; opacity: .62; }
.home .finder-system-links,.home .finder-match-result { width: 49%; }
.home .finder-system-links a { min-height: 46px; padding: 8px 12px; gap: 10px; }
.home .finder-system-links > span { font-size: 12px; margin-bottom: 10px; }
.home .finder-match-result { padding: 14px; }
.home .finder-match-result i { margin-top: 8px; }
.home .brand-finder { grid-column: 2; margin: 0; padding: 16px; border-radius: var(--ui-radius); background: #ffffffd9; min-width: 0; }
.home .brand-finder-heading { width: 100%; margin: 0 0 14px; }
.home .brand-finder h3 { font-size: 14px; }
.home .brand-finder-heading p { font-size: 12px; margin-top: 4px; }
.home .brand-finder .platform-marquee { width: 100%; gap: 10px; border: 0; }
.home .brand-finder .platform-marquee span { border: 0; letter-spacing: 0; }
.home .platform-marquee a { display: flex; align-items: center; justify-content: center; gap: 4px; min-height: 44px; padding: 8px 4px; font-size: 12px; border: 1px solid #dce6f2; border-radius: 6px; background: #fff; }
.home .platform-marquee svg { width: 12px; }
.home .business-story { padding: 38px 0; background: #fbfdff; }
.home .business-steps { gap: 18px; border: 0; }
.home .business-steps article { display: grid; grid-template-columns: 48px 1fr; align-content: start; gap: 8px 18px; padding: 24px; border: 1px solid #dce6f2; border-radius: 8px; background: #ffffffad; }
.home .business-steps article:last-child { border-right: 1px solid #dce6f2; }
.home .business-steps article > svg { grid-column: 1; grid-row: 1 / 4; margin: 0; width: 48px; height: 48px; padding: 11px; background: #e7efff; border-radius: 50%; }
.home .business-steps article > :is(span,h3,p) { grid-column: 2; margin: 0; }
.home .business-steps h3 { font-size: 21px; font-weight: 650; }
.home .business-steps p { font-size: 14px; line-height: 1.55; }
.home .business-steps span { font-size: 12px; }
.home .about-precision { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: center; min-height: max(520px,35.51vw); padding: 64px 0; background: #f2f8fd; border: 0; }
/* Fixed-aspect artwork window: the composite image is never stretched to text height. */
.home .about-precision::before { content: ''; position: absolute; z-index: -1; pointer-events: none; top: 50%; left: 0; width: 100%; aspect-ratio: 935 / 332; transform: translateY(-50%); background: var(--sections-ocean) center 69.726% / 100% 506.928% no-repeat; }
.home .about-precision-grid { grid-template-columns: 1fr; gap: 20px; padding-right: 40%; }
.home .about-precision h2 { font-size: clamp(32px,3vw,44px); }
.home .about-precision-copy { max-width: 650px; }
.home .about-precision-copy p { font-size: 14px; line-height: 1.6; }
.home .metrics-grid { width: min(744px,calc(60% - 32px)); margin-left: max(32px,calc((100% - 1240px)/2)); margin-top: 28px; border: 0; gap: 16px; }
.home .metrics-grid article { min-height: 0; padding: 0 12px 0 0; border: 0; }
.home .metrics-grid b { font-size: 24px; margin-bottom: 6px; }
.home .metrics-grid span { font-size: 12px; }
.home .precision-faq { padding: 48px 0; background: #f2f8fd; }
.home .faq-grid { gap: 56px; }
.home .faq-list summary { padding-block: 20px; font-size: 14px; }
.home .precision-contact-section { padding: 30px 0; background-color: #083665; background-size: 100% 695%; background-position: center 88.83%; border: 0; }
.home .precision-contact-panel { width: min(1240px,calc(100% - 64px)); display: grid; grid-template-columns: .9fr 1.1fr; gap: 10px 36px; padding: 0; }
.home .precision-contact-panel > :is(.section-kicker,h2,p) { grid-column: 1; margin: 0; color: #fff; }
.home .precision-contact-panel h2 span { color: #fff; }
.home .precision-contact-panel > p { font-size: 14px; margin-top: 8px; }
.home .precision-contact-actions { grid-column: 2; grid-row: 1 / 4; align-self: center; align-items: stretch; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 0; }
.home .precision-contact-actions > .contact-card { box-sizing: border-box; min-width: 0; margin: 0; background: #f8fbfffa; border: 1px solid #dce6f2; color: #163865; border-radius: var(--ui-radius,14px); min-height: 156px; padding: 20px 12px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; gap: 7px; text-decoration: none; box-shadow: 0 8px 24px #041e3612; }
.home .contact-card-icon { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; margin-bottom: 5px; border-radius: 50%; background: #e8efff; color: #1e40af; }
.home .precision-contact-actions .contact-card-icon svg { width: 22px; height: 22px; color: currentColor; }
.home .contact-card b { font: 650 14px/1.4 Arial,sans-serif; color: #163865; }
.home .contact-card small { display: block; max-width: 100%; font: 400 13px/1.5 Arial,sans-serif; color: #4d6481; overflow-wrap: anywhere; }
.home .precision-contact-actions > a.contact-card:hover { background: #fff; color: #163865; border-color: #9ab8e3; }
.home .precision-contact-actions > a.contact-card:focus-visible { outline: 3px solid #8abbff; outline-offset: 4px; }
.home .precision-footer { padding: 0; color: #163865; background-color: #f4f9fe; background-size: 100% 1079%; background-position: center bottom; }
.home .precision-footer .precision-wrap { padding-block: 20px; border: 0; gap: 18px; }
.home .footer-brand img { filter: brightness(0) saturate(100%) invert(15%) sepia(40%) saturate(1200%) hue-rotate(176deg); }
.home .precision-footer nav a:hover { color: #1e40af; }
@media (max-width: 1099px) {
  .home .finder-experience { column-gap: 28px; }
  .home .business-steps article { padding: 18px; grid-template-columns: 1fr; }
  .home .business-steps article > svg { grid-row: auto; }
  .home .business-steps article > :is(span,h3,p) { grid-column: 1; }
  .home .precision-contact-panel { grid-template-columns: 1fr; }
  .home .precision-contact-actions { grid-column: 1; grid-row: auto; margin-top: 18px; }
}
@media (max-width: 800px) {
  .home .confidence-strip { margin-bottom: -120px; }
  .home .confidence-strip .precision-wrap { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home .confidence-strip li { padding: 12px; }
  .home .product-universe { padding-top: 36px; }
  .home .finder-experience { grid-template-columns: 1fr; padding-inline: 24px; background-size: auto 425%; background-position: left 42.11%; }
  .home .finder-experience-copy,.home .finder-device,.home .brand-finder { grid-column: 1; }
  .home .finder-experience-copy { padding-bottom: 18px; }
  .home .about-precision-grid { padding-right: 0; grid-template-columns: 1fr; gap: 20px; }
  .home .about-precision { min-height: 0; padding-block: 48px; background: #f2f8fd; }
  .home .about-precision::before { opacity: .15; top: auto; bottom: 0; transform: none; }
  .home .metrics-grid { width: calc(100% - 48px); margin-left: 24px; }
  .home .precision-wrap,.home .precision-contact-panel { width: calc(100% - 48px); }
  .home .confidence-strip .precision-wrap { width: calc(100% - 48px); }
  .home .business-steps { grid-template-columns: 1fr; }
  .home .faq-grid { gap: 24px; }
}
@media (max-width: 540px) {
  .home .confidence-strip li { grid-template-columns: 30px 1fr; gap: 8px; }
  .home .confidence-strip svg { width: 28px; height: 28px; padding: 5px; }
  .home .confidence-strip b { font-size: 12px; }
  .home .finder-device-canvas { padding: 16px; min-height: 390px; }
  .home .finder-system-links,.home .finder-match-result { width: 68%; }
  .home .finder-device-canvas > img { opacity: .28; width: 64%; }
  .home .brand-finder .platform-marquee { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home .precision-contact-actions { grid-template-columns: 1fr; }
  .home .precision-contact-actions > .contact-card { min-height: 88px; display: grid; grid-template-columns: 42px minmax(0,1fr); column-gap: 14px; row-gap: 3px; padding: 16px 20px; text-align: left; justify-content: start; }
  .home .contact-card-icon { grid-column: 1; grid-row: 1 / 3; margin: 0; }
  .home .contact-card :is(b,small) { grid-column: 2; }
}
