/* UPXNBOR v5 unified responsive layout.  No HTML zoom, no fixed-height filler. */
:root { --upx-header-height: 72px; }
html { zoom: 1 !important; scroll-padding-top: calc(var(--upx-header-height) + 12px); }
body { width:100%; max-width:100%; overflow-x:clip; }
.site-header {
  position:sticky !important; top:0 !important; left:0; right:0;
  z-index:1200 !important; width:100%; height:var(--upx-header-height) !important;
  background:rgba(255,255,255,.98); box-shadow:0 1px 0 rgba(10,37,80,.09);
}
.site-header .header-inner {
  position:relative !important; box-sizing:border-box;
  height:100%; width:100% !important; max-width:100% !important;
  padding:0 clamp(10px,1vw,18px) 0 clamp(14px,2.6vw,48px) !important;
  display:grid !important; grid-template-columns:minmax(160px,1fr) auto minmax(90px,1fr) !important;
  align-items:center; gap:16px; margin:0 !important;
}
.site-header .brand { grid-column:1; grid-row:1; justify-self:start; width:clamp(142px,12vw,198px) !important; min-width:0; margin:0 !important; }
.site-header .site-nav {
  grid-column:2; grid-row:1; justify-self:center;
  display:flex; position:static !important; transform:none !important;
  height:100% !important; width:auto; max-width:none;
  gap:clamp(15px,1.9vw,34px) !important; margin:0 !important;
  padding:0 !important; background:transparent;
}
.site-header .site-nav a,
.site-header .site-nav .nav-item {
  height:100%; min-height:0; padding:0 !important;
  font-size:14px !important; line-height:1.3; font-weight:500 !important;
  white-space:nowrap; display:flex; align-items:center; letter-spacing:0 !important;
}
.site-header .site-nav .nav-item.is-current:after { bottom:17px; }
.site-header #localeControl {
  grid-column:3; grid-row:1; justify-self:end;
  position:relative !important; top:auto !important; right:auto !important; left:auto !important;
  transform:none !important; margin:0 !important;
  flex:none; z-index:1300;
}
.site-header #localeToggle {
  padding:10px 0 10px 10px !important; width:auto !important; min-width:56px !important;
  display:flex; align-items:center; justify-content:flex-end; gap:6px;
  font-size:14px !important; line-height:1.3;
}
.site-header #localeMenu { right:0 !important; left:auto !important; top:100% !important; }
.mobile-menu-toggle { display:none !important; }
#markets, #markets-mobile, #about, #categories, #faqs { scroll-margin-top:calc(var(--upx-header-height) + 12px); }

/* Desktop sections follow their content rather than blank viewport fillers. */
@media (min-width:1101px) {
  body[data-page="home"] .content-wide { width:min(92%,1430px) !important; max-width:1430px !important; }
  body[data-page="home"] .home-hero {
    height:clamp(460px,74svh,750px) !important; min-height:0 !important;
    max-height:none !important; overflow:hidden;
  }
  body[data-page="home"] .hero-copy { left:8%;top:43%; }
  body[data-page="home"] .hero-copy h1 { font-size:clamp(40px,3.75vw,68px) !important;line-height:1.08; }
  body[data-page="home"] .way-section.content-wide {
    width:min(92%,1430px) !important; max-width:1430px !important;
    height:auto !important; min-height:0 !important;
    padding:42px 0 34px !important; margin:auto !important;
    display:grid !important; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;
    gap:clamp(24px,4vw,76px) !important; align-items:center !important; justify-content:space-between;
  }
  body[data-page="home"] .way-copy { margin:0 !important; padding:10px 0 !important; max-width:500px; }
  body[data-page="home"] .way-copy h2 {font-size:clamp(42px,3.65vw,65px) !important; margin:18px 0 !important; }
  body[data-page="home"] .way-intro {font-size:clamp(17px,1.26vw,21px) !important;max-width:34ch !important;}
  body[data-page="home"] .way-visual {width:100% !important;height:clamp(330px,37vw,570px) !important;min-height:0 !important;max-height:none !important;}
  body[data-page="home"] .category-section.content-wide {
    width:min(92%,1430px) !important; max-width:1430px !important;
    padding:18px 0 38px !important; margin:auto !important;
    min-height:0 !important; height:auto !important;display:block !important;
  }
  body[data-page="home"] .category-section .section-heading {margin-bottom:18px !important;}
  body[data-page="home"] .section-heading h2 {font-size:clamp(32px,2.9vw,48px) !important;}
  body[data-page="home"] .category-cards {gap:16px !important;}
  body[data-page="home"] .category-card>img {height:clamp(220px,24vw,350px) !important;}
  body[data-page="home"] .category-info h3 {font-size:17px !important;}
  body[data-page="home"] .category-info p {font-size:14px !important;}
  body[data-page="home"] .markets-section.original-map-section {
    padding:30px 0 36px !important; min-height:0 !important; height:auto !important;display:block !important;
  }
  body[data-page="home"] .original-market-wrap {width:min(92%,1430px) !important;max-width:1430px !important;}
  body[data-page="home"] .markets-intro h2 {font-size:clamp(32px,2.9vw,48px) !important;}
  body[data-page="home"] .markets-intro p {font-size:17px !important;margin:5px 0 0 !important;}
  body[data-page="home"] .markets-gallery {margin:18px auto 8px !important; gap:14px !important;}
  body[data-page="home"] .market-piece img {height:clamp(150px,14vw,230px) !important;max-height:none !important;}
  body[data-page="home"] .market-links {margin-top:8px !important;}
  body[data-page="home"] .home-support.content-wide {
    height:auto !important; min-height:0 !important; display:block !important;
    padding:28px 0 44px !important; margin:auto !important;
  }
  body[data-page="home"] .home-support .section-heading {margin-bottom:18px !important;}
  body[data-page="home"] .support-benefits {gap:14px !important; padding-top:4px !important;}
  body[data-page="home"] .support-benefits svg {width:50px;height:50px;}
  body[data-page="home"] .support-benefits p {font-size:17px;}
}

/* Support page: natural height and equalized content columns. */
body[data-page="support"] {display:block !important; min-height:0 !important;}
body[data-page="support"] main.support-page {
  display:block !important; height:auto !important; min-height:0 !important;
  padding:clamp(28px,4.3vw,58px) 0 28px !important; flex:none !important;
}
body[data-page="support"] .support-shell {width:min(91%,1120px) !important;max-width:1120px !important;}
body[data-page="support"] .support-shell h1 {font-size:clamp(36px,4vw,62px) !important;line-height:1.1; margin:0 0 18px !important;}
body[data-page="support"] .help-promises {margin:0 auto 28px !important;gap:24px;flex-wrap:wrap;}
body[data-page="support"] .help-promises > div {font-size:16px;}
body[data-page="support"] .help-promises svg {width:36px;height:36px;}
body[data-page="support"] .contact-options {grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 30px !important;}
body[data-page="support"] .contact-option {padding:0 22px 12px 12px !important;min-width:0;}
body[data-page="support"] .contact-option + .contact-option {padding-left:30px !important;border-left:1px solid #d2d4dc;}
body[data-page="support"] .email-row {min-width:0;white-space:normal;flex-wrap:nowrap;}
body[data-page="support"] .email-row a {font-size:clamp(17px,2.2vw,28px);overflow-wrap:anywhere;min-width:0;}
body[data-page="support"] .faq-section h2 {font-size:clamp(38px,3.7vw,55px);margin:0 0 10px;}
body[data-page="support"] .faq-question {font-size:clamp(16px,1.4vw,20px);min-height:57px;}
body[data-page="support"] .site-footer {margin-top:0 !important;}
body[data-page="support"] .site-footer .footer-inner {padding-top:25px;}

@media (min-width:768px) and (max-width:1100px){
  .site-header .header-inner {grid-template-columns:auto 1fr auto auto !important;}
  .site-header .brand {grid-column:1;}
  .site-header .mobile-menu-toggle {grid-column:3;grid-row:1;display:flex !important;justify-self:end;}
  .site-header .locale-control {grid-column:4;grid-row:1;}
  .site-header .site-nav {
    display:none !important;position:absolute !important;top:100% !important;left:auto !important;right:12px !important;
    width:min(320px,94vw) !important;height:auto !important; padding:10px !important;
    background:#fff;box-shadow:0 13px 28px #11233c22; border-radius:12px;
    flex-direction:column;align-items:stretch;gap:0 !important;
  }
  .site-header .site-nav.mobile-open {display:flex !important;}
  .site-header .site-nav a {height:auto !important;min-height:44px;padding:9px 14px !important;font-size:15px !important;}
  .site-header .site-nav .nav-item.is-current:after {left:14px;right:auto;bottom:5px;width:40px;}
  .mobile-menu-toggle {border:0;background:transparent;padding:10px;flex-direction:column;gap:4px;}
  .mobile-menu-toggle span {display:block;width:22px;height:2px;background:#14254c;}
  body[data-page="home"] .way-section {min-height:0 !important;height:auto !important;padding:30px 0 !important;}
  body[data-page="home"] .category-section {min-height:0 !important;height:auto !important;padding:20px 0 !important;}
  body[data-page="home"] .markets-section {min-height:0 !important;height:auto !important;padding:24px 0 !important;}
  body[data-page="home"] .home-support {min-height:0 !important;height:auto !important;padding:25px 0 35px !important;}
}

@media (max-width:767px) {
  :root {--upx-header-height:62px;}
  html{zoom:1 !important;}
  .site-header {height:var(--upx-header-height) !important;}
  .site-header .header-inner {
    grid-template-columns:44px minmax(0,1fr) 52px !important;
    gap:8px !important;padding:0 12px !important;
  }
  .site-header .brand {grid-column:2;grid-row:1;justify-self:center;width:clamp(122px,35vw,158px) !important;}
  .site-header .mobile-menu-toggle {display:flex !important;grid-column:1;grid-row:1;justify-self:start;margin:0 !important;}
  .mobile-menu-toggle {border:0;background:transparent;flex-direction:column;gap:4px;padding:10px;}
  .mobile-menu-toggle span {display:block;width:22px;height:2px;background:#122554;}
  .site-header .locale-control {grid-column:3;grid-row:1;justify-self:end;}
  .site-header #localeToggle {min-width:0 !important;padding:6px 0 !important;font-size:12px !important;}
  .site-header .site-nav {
    display:none !important;position:absolute !important;inset:auto 10px auto 10px !important;
    top:100% !important;height:auto !important;width:auto !important;
    background:#fff !important;border:1px solid #edf0f5;border-radius:14px;
    padding:8px 12px 12px !important;box-shadow:0 12px 30px rgba(9,31,77,.14);
    flex-direction:column;align-items:stretch;gap:0 !important;
  }
  .site-header .site-nav.mobile-open {display:flex !important;}
  .site-header .site-nav a {width:100%;height:auto !important;min-height:44px;padding:10px 12px !important;font-size:15px !important;}
  .site-header .site-nav .nav-item.is-current:after {left:12px;right:auto;width:40px;bottom:5px;}
  body[data-page="home"] .home-mobile-flow {padding:14px 12px 28px !important;}
  /* The mobile carousel is a working touch-swipable 4-slide carousel. */
  .hm-hero {padding:0 0 12px !important;overflow:hidden;}
  .hm-hero-track {position:relative;width:100%;height:clamp(190px,54vw,260px);overflow:hidden;border-radius:16px;touch-action:pan-y;}
  .hm-hero-slide {position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s ease,visibility .5s;}
  .hm-hero-slide.active {opacity:1;visibility:visible;pointer-events:auto;}
  .hm-hero-slide::before {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,11,12,.54),rgba(0,0,0,.05) 82%);}
  .hm-hero-slide .hm-hero-copy {z-index:2;bottom:25px !important;left:20px !important;right:12px;}
  .hm-hero-copy h1 {font-size:clamp(23px,6vw,30px) !important;color:#fff;line-height:1.07;}
  .hm-hero-dots {padding-top:11px !important;align-items:center;}
  .hm-hero-dots button {display:block;border:0;padding:0;width:9px;height:9px;border-radius:99px;background:#d9e3f2;cursor:pointer;}
  .hm-hero-dots button.active {width:21px;background:#19a4ff;}
  .hm-category-card {grid-template-columns:minmax(0,44%) minmax(0,56%) !important;min-height:122px;}
  .hm-category-card img {height:100% !important;min-height:122px !important;max-height:146px;object-fit:cover;}
  .hm-category-copy {padding:12px 13px !important;}
  .hm-category-copy h3 {font-size:clamp(14px,4vw,17px) !important;}
  .hm-category-copy p {font-size:12px !important;}
  .hm-category-copy span {font-size:24px !important;flex:none;}
  .hm-way h2 {font-size:clamp(25px,6vw,34px) !important;}
  .hm-market-grid {gap:16px 10px;}
  .hm-market-card img {max-width:160px;}

  body[data-page="support"] main.support-page {padding:20px 0 22px !important;}
  body[data-page="support"] .support-shell {width:calc(100% - 28px) !important;max-width:none !important;}
  body[data-page="support"] .support-shell h1 {font-size:clamp(31px,8vw,40px) !important;line-height:1.12 !important;margin:8px 0 16px !important;}
  body[data-page="support"] .help-promises {display:grid;gap:10px;margin:0 0 20px !important;justify-content:stretch;}
  body[data-page="support"] .help-promises > div {font-size:13px;white-space:normal;gap:10px;justify-content:flex-start;padding:0 !important;border:0 !important;}
  body[data-page="support"] .help-promises svg {width:26px;height:26px;flex:none;}
  body[data-page="support"] .contact-options {grid-template-columns:1fr;gap:10px;margin:0 0 20px !important;}
  body[data-page="support"] .contact-option,
  body[data-page="support"] .contact-option + .contact-option {background:#fff;border:1px solid #e4e9f2 !important;border-radius:12px;padding:14px !important;min-width:0;}
  body[data-page="support"] .contact-label {font-size:11px;letter-spacing:.14em;margin-bottom:6px;}
  body[data-page="support"] .email-row {display:flex;align-items:center;justify-content:space-between;gap:10px;white-space:normal;}
  body[data-page="support"] .email-row a {font-size:clamp(15px,4.4vw,19px) !important;line-height:1.3;overflow-wrap:anywhere;}
  body[data-page="support"] .copy-email {flex:none;}
  body[data-page="support"] .faq-section h2 {font-size:34px !important;margin:14px 0 10px;}
  body[data-page="support"] .faq-list {display:flex;flex-direction:column;gap:8px;border-top:0;}
  body[data-page="support"] .faq-item {background:#fff;border:1px solid #e5eaf2;border-radius:10px;overflow:hidden;}
  body[data-page="support"] .faq-question {font-size:14px;letter-spacing:0;min-height:50px;padding:10px 12px;gap:12px;}
  body[data-page="support"] .faq-icon {font-size:26px;flex:none;}
  body[data-page="support"] .faq-answer {padding:0 12px 12px;}
  body[data-page="support"] .faq-answer p {font-size:13px;}
  .site-footer .footer-inner {width:calc(100% - 32px) !important;}
  .site-footer .footer-columns {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px !important;}
  .site-footer .footer-contact {grid-column:1/-1;}
  .site-footer .footer-bottom {flex-wrap:wrap;gap:8px;}
  .site-footer .footer-bottom>div {gap:16px;}
}
@media (max-width:370px) {
  .hm-category-card {grid-template-columns:42% 58% !important;}
  .hm-category-copy {padding:10px !important;}
  .site-footer .footer-columns {grid-template-columns:1fr;}
}


/* v6 unified sizes: no global zoom; equal horizontal rails for hero and every home section. */
@media (min-width:1101px){
  :root{--upx-content-width:min(96vw,1920px);}
  body[data-page="home"] main > .home-hero,
  body[data-page="home"] .way-section.content-wide,
  body[data-page="home"] .category-section.content-wide,
  body[data-page="home"] .original-market-wrap,
  body[data-page="home"] .home-support.content-wide{
    width:var(--upx-content-width) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body[data-page="home"] .home-hero{
    height:clamp(520px,66svh,850px) !important;
    border-radius:0 0 12px 12px;
  }
  body[data-page="home"] .hero-copy{left:6% !important;top:43% !important;}
  body[data-page="home"] .hero-copy h1{font-size:clamp(44px,3.5vw,76px) !important;}
  body[data-page="home"] .way-section.content-wide{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1.07fr) !important;
    column-gap:clamp(22px,2.8vw,60px) !important;
    justify-content:space-between !important;
    min-height:0 !important;
    padding:clamp(20px,2.2vw,42px) 0 28px !important;
  }
  body[data-page="home"] .way-copy{padding:0 clamp(10px,2vw,36px) 0 clamp(10px,3.5vw,68px) !important;max-width:none !important;}
  body[data-page="home"] .way-copy h2{font-size:clamp(48px,3.5vw,78px) !important;}
  body[data-page="home"] .way-intro{font-size:clamp(17px,1.23vw,24px) !important;max-width:35ch !important;}
  body[data-page="home"] .way-visual{height:clamp(370px,35vw,690px) !important;width:100% !important;}
  body[data-page="home"] .category-section.content-wide{padding:22px 0 42px !important;}
  body[data-page="home"] .section-heading h2{font-size:clamp(38px,2.9vw,58px) !important;}
  body[data-page="home"] .category-card>img{height:clamp(250px,23vw,415px) !important;}
  body[data-page="home"] .markets-section.original-map-section{padding:28px 0 36px !important;}
  body[data-page="home"] .market-piece img{height:clamp(175px,14vw,265px) !important;}
  body[data-page="home"] .home-support.content-wide{padding:28px 0 36px !important;}
}
/* Product thumbnails are always painted; lazy-loaded display:none images never request data. */
.catalog-product-media.has-image img{display:block !important;opacity:1 !important;visibility:visible !important;}
.catalog-product-media img.is-broken{display:none !important;}
.catalog-product-media.has-image .catalog-product-fallback{display:none !important;}
.catalog-product-details > span{display:none !important;}
.catalog-product-details h3{margin-top:3px !important;}
/* Phone navigation: full-width, structured flyout under sticky bar, no floating mini-card. */
@media (max-width:1100px){
  .site-header .site-nav{
    position:fixed !important;
    grid-column:1 / -1 !important;
    grid-row:auto !important;
    top:calc(var(--upx-header-height) + 8px) !important;
    left:12px !important;
    right:12px !important;
    bottom:auto !important;
    inset-inline:12px !important;
    width:calc(100vw - 24px) !important;
    max-width:none !important;
    margin:0 !important;
    padding:10px !important;
    z-index:1330 !important;
    background:#fff !important;
    border:1px solid #e3e9f3 !important;
    border-radius:17px !important;
    box-shadow:0 18px 42px rgba(10,25,66,.19) !important;
    justify-self:stretch !important;
    align-items:stretch !important;
  }
  .site-header .site-nav.mobile-open{display:flex !important;}
  .site-header .site-nav a{
    box-sizing:border-box;display:flex !important;
    align-items:center;min-height:42px !important;
    padding:8px 14px !important;
    width:100% !important;height:auto !important;
    font-size:15px !important;line-height:1.35 !important;
    font-weight:600 !important;
    border-radius:11px;
    color:#132b65;
    letter-spacing:0 !important;
  }
  .site-header .site-nav a + a{margin-top:1px;}
  .site-header .site-nav a.is-current{background:#edf7ff;color:#009de4;}
  .site-header .site-nav a.is-current:after{display:none !important;}
  .site-header .site-nav a:hover{background:#f4f8ff;}
  .site-header .site-nav .holiday-link{color:#db2639;}
  .site-header .mobile-menu-toggle{width:42px;height:42px;justify-content:center;align-items:flex-start;border-radius:10px;}
  .site-header .mobile-menu-toggle[aria-expanded="true"]{background:#edf7ff;}
}
@media (max-width:767px){
  body[data-page="home"] .home-mobile-flow{padding-top:12px !important;}
  .hm-product-accordion .catalog-product{
    grid-template-columns:clamp(114px,34vw,150px) minmax(0,1fr) !important;
    gap:12px !important;min-height:145px;
    padding:9px !important;
    align-items:stretch;
  }
  .hm-product-accordion .catalog-product-media{
    width:100%;height:150px;min-height:150px !important;
    background:#f6f7fa;border:1px solid #edf0f5;
    display:grid;place-items:center;
  }
  .hm-product-accordion .catalog-product-media img,
  .hm-product-accordion .catalog-product-media.has-image img{
    display:block !important;
    width:100% !important;height:100% !important;
    max-width:100% !important;max-height:100% !important;
    object-fit:contain !important;
    background:white;
  }
  .hm-product-accordion .catalog-product-media:not(.has-image) img{display:none !important;}
  .hm-product-accordion .catalog-product-fallback{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;
    background:#f0f4fa;color:#50648e;padding:8px;
  }
  .hm-product-accordion .catalog-product-details{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;min-width:0;padding:8px 0;}
  .hm-product-accordion .catalog-product-details h3{font-size:15px !important;line-height:1.35 !important;margin:0 0 10px !important;color:#0e2f77;}
  .hm-product-accordion .catalog-product-details a{font-size:13px !important;margin-top:auto;}
  .hm-product-accordion .catalog-product-details>span{display:none !important;}
  .hm-product-accordion .accordion-content{padding:0 7px 9px !important;}
  .hm-product-accordion .accordion-items{gap:9px !important;}
}
@media (max-width:359px){
  .hm-product-accordion .catalog-product{grid-template-columns:108px minmax(0,1fr) !important;}
  .hm-product-accordion .catalog-product-media{height:135px !important;min-height:135px !important;}
}
