/* The photographed layout is confined to the home page. */
.home-hero .shell,
.product-category-section.shell,
.dual-banner.shell,
.simple-process-section .shell,
.best-fit-section .shell,
.brand-showcase-section .shell {
  width: min(1430px, calc(100vw - 56px));
}

.home-hero.photo-hero,
.home-hero .hero-layout { min-height: 400px; }
.home-hero .hero-layout { padding-block: 30px; grid-template-columns: 1.05fr .95fr; gap: 32px; }
.home-hero .hero-copy h1 { font-size: clamp(37px, 3.4vw, 52px); line-height: 1.12; font-weight: 600; text-shadow: 0 1px 4px rgba(0, 0, 0, .22); }
body:has(.home-hero) .topbar-right { display: none; }
body:has(.home-hero) .site-header .main-nav { gap: 14px; }
body:has(.home-hero) .site-header .main-nav a { font-size: 16.9px; }
body:has(.home-hero) .site-header .header-cta { font-size: 12.7px; font-weight: 900; }
.home-hero .hero-desc { max-width: 610px; margin-block: 16px 18px; line-height: 1.5; }
.home-hero .hero-service-grid { max-width: 610px; gap: 11px; }
.home-hero .hero-service-grid > a { min-height: 105px; padding: 17px 19px; border-radius: 7px; background: rgba(4, 16, 25, .88); }
.home-hero .svc-ico { width: 52px; height: 52px; padding: 2px; border: 0; border-radius: 0; }
.home-hero .hero-service-grid b { font-size: 17px; line-height: 1.35; }
.home-hero .hero-service-grid p { color: #e0e7ed; font-size: 13px; line-height: 1.45; }

.promise-grid { min-height: 84px; }
.promise-grid > div { padding: 10px 14px; }
.promise-grid b { color: #111d29; font-size: 15px; }
.promise-grid small { font-size: 12px; line-height: 1.35; }

.product-category-section.section { padding-block: 20px 20px; }
.product-category-section .section-title-row { margin-bottom: 20px; align-items: center; }
.product-category-section .section-title-row > div { display: flex; align-items: baseline; flex-wrap: wrap; column-gap: 14px; }
.product-category-section .section-title-row h2 { margin: 0; color: #071725; font-size: clamp(25px, 2vw, 30px); line-height: 1.22; font-weight: 850; }
.product-category-section .section-title-row p { margin: 0; color: #68727e; font-size: 14px; }
.product-category-section .section-title-row .section-label { display: none; }
.product-category-section .section-link { font-size: 13px; }
.product-category-section .category-photo-grid { gap: 9px; }
.product-category-section .category-photo { height: 107px; border: 0; border-radius: 6px; background: #f2f4f6; }
.product-category-section .category-photo img { padding: 0; object-fit: cover; object-position: center; background: #f2f4f6; }
.product-category-section .category-photo-card h3 { margin-top: 8px; color: #101b29; font-size: 14px; font-weight: 850; line-height: 1.3; }
.product-category-section .category-photo-card p { color: #6d7784; font-size: 12px; line-height: 1.35; }

.dual-banner { padding-block: 0; gap: 11px; }
.dual-banner .banner-panel { min-height: 0; aspect-ratio: 743 / 143; border-radius: 6px; }
.dual-banner .banner-panel > div { width: 66%; padding: 17px 27px; }
.dual-banner .banner-panel h2 { font-size: 21px; line-height: 1.25; }
.dual-banner .banner-panel p { font-size: 12px; line-height: 1.45; }
.dual-banner .banner-panel b { padding: 5px 12px; font-size: 12px; }
.dual-banner .banner-reference { background-image: url('/images/home-reference.png'); background-size: 206.7% auto; background-repeat: no-repeat; background-position-y: 85.45%; }
.dual-banner .banner-reference-0 { background-position-x: 2.5%; }
.dual-banner .banner-reference-1 { background-position-x: 97.7%; }
.dual-banner .banner-reference > div { opacity: 0; }


.best-fit-section { padding-block: 18px 22px; }
.best-fit-section .section-label { color: #657888; }
.best-fit-section h2 { margin: 5px 0 14px; font-size: clamp(27px, 2.3vw, 33px); font-weight: 850; }
.best-fit-grid { gap: 12px; }
.best-fit-grid article { min-height: 0; padding: 15px 18px; border-radius: 10px; }
.best-fit-grid h3 { font-size: 17px; font-weight: 800; }
.best-fit-grid p { font-size: 14px; line-height: 1.5; word-break: keep-all; }

.brand-showcase-section { padding-block: 30px 28px; background: #edf1f3; color: #102b40; }
.brand-showcase-head .section-label { color: #a67513; }
.brand-showcase-head h2 { margin: 3px 0 4px; font-size: clamp(29px, 2.4vw, 35px); font-weight: 850; }
.brand-showcase-head p { color: #465e71; font-size: 14px; }
.brand-showcase-stats { width: min(50%, 650px); min-width: 0; padding: 10px 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); flex: 0 0 auto; border: 1px solid #e3e8ed; border-radius: 12px; background: #fff; }
.brand-showcase-stats > div { min-width: 0; padding: 0 10px; text-align: center; }
.brand-showcase-stats > div + div { border-left: 1px solid #e7eaee; }
.brand-showcase-stats strong { display: block; color: #191d23; font: 800 clamp(26px, 3.2vw, 46px)/1.1 Arial, sans-serif; letter-spacing: -.045em; white-space: nowrap; }
.brand-showcase-stats strong span { margin-left: 5px; color: #ff8f3d; }
.brand-showcase-stats small { display: block; margin-top: 9px; color: #657386; font-size: 12px; white-space: nowrap; }
.brand-showcase-head > b { font-size: 44px; }
.brand-showcase-section .brand-logo-grid { gap: 10.4px; }
.brand-showcase-section .brand-logo-card { border-color: #d0dbe3; box-shadow: 0 4px 14px rgba(7, 29, 44, .1); }
.brand-showcase-section .brand-more { margin-top: 18px; background: #0b2031; color: #fff; }
.brand-showcase-section .brand-more:hover { background: #17435d; }

.seo-content-section { padding-block: 26px 30px; }
.seo-content-section .seo-content-grid p { margin-bottom: 8px; line-height: 1.6; }

.home-footer { padding: 20px 20px 16px; background: #fafbfc; color: #0e2437; }
.home-footer-card.shell { width: min(1480px, 100%); padding: 25px 32px 22px; border: 1px solid #dae3e9; border-radius: 22px; background: #fff; box-shadow: 0 12px 36px rgba(15, 34, 49, .035); }
.home-footer-top { padding-bottom: 14px; display: grid; grid-template-columns: 1.7fr 1fr 1fr; align-items: start; column-gap: 50px; }
.home-footer-brand img { width: 182px; height: auto; }
.home-footer-brand strong { display: block; margin: 15px 0 8px; font-size: 18px; line-height: 1.35; font-weight: 850; }
.home-footer-brand p { margin: 0; color: #536579; font-size: 14px; line-height: 1.55; }
.home-footer-links { padding-top: 28px; display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.home-footer-links a { color: #455a6f; font-size: 14px; line-height: 1.5; }
.home-footer-links a:hover { color: #ac8100; }
.home-footer-details { padding-top: 12px; border-top: 1px solid #e2e9ee; }
.home-footer-details::before { content: ""; display: block; margin-bottom: 12px; border-top: 1px solid #e8edf1; }
.home-footer-details > div { display: flex; flex-wrap: wrap; column-gap: 19px; row-gap: 4px; }
.home-footer-details > div + div { margin-top: 10px; }
.home-footer-details span { color: #4b5e70; font-size: 13px; line-height: 1.5; }
.home-footer-details b { color: #142b40; font-weight: 850; }

/* Rebuild the six-step process as crisp, responsive page content. */
.simple-process-section { padding-block: clamp(56px, 6vw, 83px) 58px; border-top: 1px solid #e7edf2; background: radial-gradient(ellipse at 50% 5%, #fff 20%, #f9fbfd 100%); }
.simple-process-section .simple-process-wrap { display: block; }
.simple-process-section .simple-process-intro { margin: 0 auto 41px; text-align: center; }
.simple-process-section .simple-process-intro .section-label { display: inline-block; color: #a47900; letter-spacing: .24em; font-size: 13px; font-weight: 800; }
.simple-process-section .simple-process-intro h2 { margin: 10px 0 10px; font-size: clamp(32px, 3.7vw, 51px); font-weight: 800; white-space: normal; }
.simple-process-section .simple-process-intro p { max-width: none; color: #536476; font-size: clamp(16px, 1.45vw, 19px); line-height: 1.55; word-break: keep-all; }
.simple-process-section .simple-process { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 17px; margin: 0; padding: 0; list-style: none; }
.simple-process-section .process-step-wrap { min-width: 0; text-align: left; }
.simple-process-section .process-step-wrap article { display: flex; min-height: 365px; height: 100%; flex-direction: column; align-items: flex-start; gap: 0; padding: 19px 17px 24px; border: 1px solid #d9e4ed; border-radius: 13px; background: #fff; box-shadow: 0 16px 37px rgba(10,36,57,.055); }
.simple-process-section .process-number { display: block; color: #bc8b00; font: 800 20px/1.2 Arial, sans-serif; }
.simple-process-section .process-circle { width: min(100%, 152px); height: 152px; flex: 0 0 152px; margin: 12px auto 18px; overflow: hidden; border-radius: 50%; background: #f0f5f9; color: #102d49; }
.simple-process-section .process-reference-art { display: block; width: 100%; height: 100%; border-radius: 50%; background-image: url('/images/ezpick-process-original.png'); background-size: 983.5% auto; background-repeat: no-repeat; }
.simple-process-section .process-circle .process-svg { width: 43px; height: 43px; }
.simple-process-section .process-copy { width: 100%; }
.simple-process-section .process-copy h3 { margin: 0 0 13px; color: #0b2238; font-size: clamp(17px, 1.35vw, 20px); font-weight: 800; line-height: 1.35; word-break: keep-all; }
.simple-process-section .process-copy p { margin: 0; color: #526375; font-size: 15px; line-height: 1.55; word-break: keep-all; }
.simple-process-section .process-arrow { right: -22px; top: 144px; z-index: 1; display: block; width: 24px; height: 24px; border-radius: 50%; background: #f8fafc; color: #6c7f96; font-size: 32px; line-height: 17px; text-align: center; transform: none; }
.simple-process-section .process-outro { margin: 48px 0 0; color: #0a1e37; text-align: center; }
.simple-process-section .process-outro span { display: flex; align-items: center; justify-content: center; gap: 36px; color: #7689a2; font-size: 12px; font-weight: 800; letter-spacing: .3em; }
.simple-process-section .process-outro span::before, .simple-process-section .process-outro span::after { content: ''; width: min(17vw, 150px); height: 1px; background: #dce5ee; }
.simple-process-section .process-outro p { margin: 19px 0 0; color: #0a1e37; font-size: clamp(17px, 1.8vw, 22px); font-weight: 750; letter-spacing: -.025em; word-break: keep-all; }

@media (max-width: 1100px) {
  .simple-process-section .simple-process { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .simple-process-section .process-step-wrap article { min-height: 330px; }
  .simple-process-section .process-step-wrap:nth-child(3) .process-arrow { display: none; }
  .product-category-section .category-photo-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .home-footer-top { grid-template-columns: 1.5fr 1fr 1fr; column-gap: 24px; }
}

@media (max-width: 1420px) and (min-width: 1191px) {
  body:has(.home-hero) .site-header .main-nav { gap: 8px; }
  body:has(.home-hero) .site-header .main-nav a { font-size: 15.6px; }
}

@media (max-width: 1190px) and (min-width: 981px) {
  body:has(.home-hero) .site-header .main-nav { gap: 4px; }
  body:has(.home-hero) .site-header .main-nav a { font-size: 14.8px; }
}

@media (max-width: 980px) {
  body:has(.home-hero) .site-header .main-nav a { font-size: 16px; }
  .brand-showcase-stats { width: 100%; }
  .home-hero .hero-layout { grid-template-columns: 1fr; gap: 25px; padding-block: 42px; }
  .home-hero .hero-service-grid { max-width: none; margin: 0; }
  .dual-banner { grid-template-columns: 1fr; gap: 12px; }
  .dual-banner .banner-panel { min-height: 170px; aspect-ratio: auto; }
  .dual-banner .banner-reference-0 { background-image: linear-gradient(90deg,rgba(7,31,49,.96),rgba(7,31,49,.55)),url('/images/hero-port.webp'); }
  .dual-banner .banner-reference-1 { background-image: linear-gradient(90deg,rgba(7,31,49,.96),rgba(7,31,49,.55)),url('/images/port-sunset.webp'); }
  .dual-banner .banner-reference { background-size: cover; background-position: center; }
  .dual-banner .banner-reference > div { opacity: 1; }
  .best-fit-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .home-footer-top { min-height: 0; padding-bottom: 24px; }
}

@media (max-width: 640px) {
  .simple-process-section { padding-block: 46px 42px; }
  .simple-process-section .simple-process-intro { margin-bottom: 24px; }
  .simple-process-section .simple-process { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .simple-process-section .process-step-wrap article { min-height: 285px; padding: 14px 12px 17px; }
  .simple-process-section .process-circle { width: 112px; height: 112px; flex-basis: 112px; margin: 14px auto 15px; }
  .simple-process-section .process-circle .process-svg { width: 34px; height: 34px; }
  .simple-process-section .process-copy h3 { font-size: 15px; margin-bottom: 7px; }
  .simple-process-section .process-copy p { font-size: 13px; }
  .simple-process-section .process-arrow { display: none; }
  .simple-process-section .process-outro { font-size: 11px; letter-spacing: .1em; }
  .brand-showcase-stats { padding: 9px 0; }
  .brand-showcase-stats > div { padding-inline: 3px; }
  .brand-showcase-stats strong { font-size: clamp(23px, 6.3vw, 32px); }
  .brand-showcase-stats strong span { margin-left: 2px; }
  .brand-showcase-stats small { margin-top: 5px; font-size: 10px; }
  .home-hero .shell,
  .product-category-section.shell,
  .dual-banner.shell,
  .simple-process-section .shell,
  .best-fit-section .shell,
  .brand-showcase-section .shell { width: calc(100% - 32px); }
  .home-hero .hero-layout { padding-block: 46px 35px; }
  .home-hero .hero-copy h1 { font-size: clamp(32px, 8.3vw, 39px); }
  .home-hero .hero-service-grid > a { min-height: 135px; padding: 15px; align-items: flex-start; }
  .home-hero .svc-ico { width: 37px; height: 37px; }
  .home-hero .hero-service-grid b { font-size: 15px; }
  .home-hero .hero-service-grid p { font-size: 12px; }
  .product-category-section.section { padding-block: 30px 28px; }
  .product-category-section .section-title-row > div { display: block; }
  .product-category-section .section-title-row p { margin-top: 5px; }
  .product-category-section .category-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 10px; }
  .product-category-section .category-photo { height: 120px; }
  .dual-banner .banner-panel > div { width: 85%; padding: 22px; }
  .best-fit-section { padding-block: 24px 28px; }
  .best-fit-grid { grid-template-columns: 1fr; }
  .best-fit-grid article { padding: 16px 18px; }
  .home-footer { padding: 20px 12px 12px; }
  .home-footer-card.shell { width: 100%; padding: 25px 20px 22px; border-radius: 16px; }
  .home-footer-top { grid-template-columns: 1fr 1fr; gap: 16px 10px; }
  .home-footer-brand { grid-column: 1 / -1; }
  .home-footer-brand img { width: 165px; }
  .home-footer-brand strong { font-size: 17px; }
  .home-footer-links { padding-top: 4px; gap: 8px; }
  .home-footer-links a { font-size: 13px; }
  .home-footer-details > div { gap: 7px 15px; }
  .home-footer-details span { font-size: 12px; }
}

@media (max-width: 640px) {
  .home-hero .hero-copy, .home-hero .hero-service-grid > a,
  .home-hero .hero-service-grid > a > div { min-width: 0; }
  .home-hero .hero-copy h1 span { display: block; max-width: 100%; overflow-wrap: anywhere; }
  .home-hero .hero-service-grid :is(b, p),
  .product-category-section .category-photo-card :is(h3, p) { overflow-wrap: anywhere; white-space: normal; }
  .simple-process-section .process-circle { max-width: 100%; height: auto; aspect-ratio: 1; flex: 0 0 auto; }
  .brand-showcase-stats { max-width: 100%; }
}
