/* AutoPrime-inspired treatment. All existing content and controls are retained. */
body.home { --intro-dark: #152125; --intro-ink: #1d2423; --intro-light: #fbfcf8; --intro-gold: #e9c66b; }
body.home .site-header__top { background: var(--intro-light); border-bottom: 1px solid #dfe4df; }
body.home .site-header__top .site-header__inner { width: min(calc(100% - 3rem), 75rem); min-height: 5.25rem; }
body.home .site-header .site-logo__wordmark { filter: brightness(0) saturate(100%) invert(10%) sepia(16%) saturate(948%) hue-rotate(147deg) brightness(95%) contrast(94%); }
body.home .site-header .primary-navigation a { color: #3c5056; font-size: .8rem; letter-spacing: .025em; font-weight: 750; padding: .75rem .65rem; }
body.home .site-header .primary-navigation li + li > a { border-left: 0; }
body.home .site-header .primary-navigation a:hover,
body.home .site-header .primary-navigation a:focus-visible,
body.home .site-header .primary-navigation .current-menu-item > a { color: #152125; background: #eceee7; border-radius: .25rem; }
body.home .site-header .social-navigation a { color: #3c5056; border-color: #c7d0cf; }
body.home .site-header .social-navigation a:hover { color: #152125; background: var(--intro-gold); }
body.home .site-header .account-navigation a { color: #283f46; letter-spacing: .02em; font-size: .72rem; padding: .8rem .7rem; border-left: 0; }
body.home .site-header .account-navigation a:last-child { color: #152125; background: var(--intro-gold); border-radius: .25rem; }
body.home .site-header .account-navigation { gap: .5rem; }
body.home .site-header .account-navigation a:hover,
body.home .site-header .account-navigation a:focus-visible { background: transparent; color: #152125; text-decoration: underline; text-underline-offset: .3em; }
body.home .site-header .account-navigation a:last-child:hover,
body.home .site-header .account-navigation a:last-child:focus-visible { background: #edd598; text-decoration: none; }
body.home .site-header .site-header__controls { margin-top: 0; }
body.home .site-header .site-header__controls::before { content: none; }
body.home .site-header .site-search-toggle,
body.home .site-header .site-header__menu-toggle { color: #29434a; border-color: #c7d0cf; background: transparent; }
body.home .site-header .site-header__top .site-search-toggle { margin-left: .75rem; border-radius: .25rem; }
body.home .site-header .site-header__top .site-search-toggle:hover,
body.home .site-header .site-header__top .site-search-toggle:focus-visible { color: #152125; background: #e8edeb; }
body.home .site-header .site-header__menu-toggle:hover,
body.home .site-header .site-header__menu-toggle[aria-expanded='true'] { color: #152125; background: var(--intro-gold); }
body.home .home-intro { padding-top: 5.25rem; background: #edf0eb; }
body.home .home-intro::before { content: none; }
body.home .home-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--intro-light); }
body.home .home-hero::before { position: absolute; z-index: -1; inset: 0; content: ''; background: var(--intro-dark); clip-path: polygon(61% 0, 100% 0, 100% 100%, 45% 100%); }
body.home .home-hero__inner { box-sizing: border-box; width: min(calc(100% - 3rem), 75rem); min-height: 38rem; padding: 4.5rem 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4rem; }
body.home .home-hero__copy { max-width: 31rem; animation: none; }
body.home .home-hero__title { color: var(--intro-ink); font-size: clamp(3.5rem, 5.7vw, 5.2rem); font-weight: 850; line-height: 1.08; letter-spacing: -.045em; margin-bottom: 1.75rem; }
body.home .home-hero__slogan { max-width: 28rem; color: #526064; font-size: 1.1rem; line-height: 1.8; }
body.home .home-hero__actions { gap: .8rem; margin-top: 2rem; }
body.home .home-hero .home-hero__button { box-sizing: border-box; min-height: 3.25rem; padding: .85rem 1.65rem; border: 1px solid var(--intro-gold); border-radius: .25rem; color: #192427; background: var(--intro-gold); font-size: .85rem; font-weight: 800; }
body.home .home-hero .home-hero__button:hover { color: #152125; background: #f1d68f; border-color: #f1d68f; }
body.home .home-hero .home-hero__button--secondary { border-color: #a7b3b4; background: transparent; color: #29434a; }
body.home .home-hero .home-hero__button--secondary:hover { color: #fff; background: #29434a; border-color: #29434a; }
body.home .home-hero__visual { animation: none; }
/* Place the completed cutout nearer the copy, within the hero's content width. */
body.home .home-hero__visual:not(.home-hero__visual--photo) { position: absolute; right: max(1.5rem, calc((100% - 75rem) / 2)); bottom: 0; transform: translateY(6%); width: min(48%, 42rem); padding: 0; }
body.home .home-hero__visual:not(.home-hero__visual--photo) .home-hero__image { width: 100%; height: auto; max-height: none; }
body.home .home-hero__image { width: 100%; max-height: 32rem; object-fit: contain; filter: none; }
body.home .home-hero__visual--photo .home-hero__image { height: 28rem; object-fit: cover; object-position: center; border-radius: .25rem; filter: saturate(.6); }
body.home #main-content .home-hero form.home-hero__search { box-sizing: border-box; max-width: 28rem; margin-top: 2rem; border-color: #c4cece; border-radius: .25rem; background: #fff; }
body.home #main-content .home-hero form.home-hero__search input[type='search'] { border-radius: .25rem 0 0 .25rem; font-size: .85rem; }
body.home #main-content .home-hero form.home-hero__search button { border-radius: 0 .25rem .25rem 0; background: #29434a; color: #fff; font-size: .8rem; }
body.home #main-content .home-hero form.home-hero__search button:hover { background: #152125; }
body.home #main-content .home-hero form.home-hero__search:focus-within { border-color: #29434a; box-shadow: 0 0 0 3px #29434a20; }
body.home .site-header a:focus-visible,
body.home .home-hero :is(a, button):focus-visible { outline: 3px solid #a57c22; outline-offset: 4px; }
@media (min-width: 961px) {
  body.home .site-header .primary-navigation { justify-content: center; }
}
@media (max-width: 1100px) and (min-width: 961px) {
  body.home .site-header .primary-navigation a { font-size: .72rem; padding-inline: .4rem; }
  body.home .site-header .account-navigation a { padding-inline: .5rem; }
}
@media (max-width: 960px) {
  body.home .site-header .site-header__top-right { background: var(--intro-light); border-color: #d5dcdc; max-height: calc(100dvh - 5.25rem); box-shadow: 0 12px 24px #15212520; }
  body.home .site-header .primary-navigation a { min-height: 2.75rem; background: #edf0ec; border: 1px solid #d5dcdc; }
  body.home .site-header .account-navigation { border-color: #d5dcdc; }
  body.home .site-header .account-navigation a { background: #edf0ec; border-color: #d5dcdc; }
  body.home .home-hero__inner { gap: 2rem; min-height: 33rem; padding: 3.5rem 0; }
  body.home .home-hero__title { font-size: clamp(3rem, 6.5vw, 4.3rem); }
  body.home .home-hero__slogan { font-size: 1rem; }
}
@media (max-width: 700px) {
  body.home .site-header__top .site-header__inner { width: calc(100% - 2rem); min-height: 4.25rem; }
  body.home .home-intro { padding-top: 4.25rem; }
  body.home .site-header .site-header__top-right { max-height: calc(100dvh - 4.25rem); }
  body.home .home-hero::before { clip-path: polygon(0 65%, 100% 57%, 100% 100%, 0 100%); }
  body.home .home-hero__inner { width: calc(100% - 2.5rem); grid-template-columns: minmax(0, 1fr); gap: 3rem; padding: 3rem 0 1.75rem; }
  body.home .home-hero__title { font-size: clamp(3rem, 12vw, 4.2rem); margin-bottom: 1.25rem; }
  body.home .home-hero__copy { max-width: none; }
  body.home .home-hero__slogan { max-width: none; }
  body.home .home-hero__visual { padding-top: 1.5rem; }
  body.home .home-hero__image { width: min(100%, 29rem); max-height: 24rem; margin: 0 auto; }
  body.home .home-hero__visual--photo .home-hero__image { height: 19rem; }
  body.home .home-hero__visual:not(.home-hero__visual--photo) { position: relative; right: auto; bottom: auto; transform: none; width: 100%; height: 25rem; margin-bottom: -1.75rem; padding: 0; }
  body.home .home-hero__visual:not(.home-hero__visual--photo) .home-hero__image { position: absolute; left: 0; right: auto; bottom: 0; transform: translateY(6%); width: 100%; max-width: none; margin: 0; }
}
