/* Homepage detail pass. The accepted composition lives in surf-home.css. */
.home48 {
  --home-ui: Inter, Arial, sans-serif;
  --home-editorial: var(--home-ui);
  --lisa-ink: var(--kit-color-foreground);
  --lisa-muted: var(--kit-color-secondary);
  --home-heading-secondary: var(--kit-color-annotation);
  --home-space-heading: 16px;
  --home-space-action: 24px;
  --home-space-caption: 14px;
  --home-space-meta: 6px;
  --home-space-section-head: 24px;
  --home-type-section: clamp(22px, 1.6cqw, 28px);
  --home-type-editorial: 34px;
  --home-rule: var(--kit-color-divider);
  --home-nav-ink: var(--kit-color-ink);
  --home-nav-muted: var(--kit-color-secondary);
  --home-nav-wash: var(--kit-color-tray);
  --home-nav-pressed: var(--kit-color-surface-depth);
  font-family: var(--home-ui);
  letter-spacing: -.015em;
}

/* Two voices: editorial statements and collection names; compact UI everywhere else. */
.home48 .surf-home :is(.section-bar h2, .home-task h2, .guide-copy h2, .home-faq h2) {
  font-family: var(--home-ui);
  font-size: var(--home-type-section);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.035em;
}
.home48 .surf-home :is(#featured-title, .discovery-copy h2, .home-guide h2) {
  font-family: var(--home-editorial);
  font-size: var(--home-type-editorial);
  font-optical-sizing: auto;
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.home48 .home-feature-caption strong {
  font-family: var(--home-editorial);
  font-size: 20px;
  font-optical-sizing: auto;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.home48 .surf-home .collection-entry h2 {
  font-family: var(--home-ui);
  font-size: clamp(20px,1.45cqw,24px);
  font-optical-sizing: auto;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.home48 .surf-home :is(.product-card h3, .task-grid h3) {
  font-family: var(--home-ui);
  font-size: clamp(14px,.95cqw,16px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.025em;
}
.home48 .surf-home :is(.section-bar > a, .text-link, .home-feature-caption a, .discovery-links a) {
  font-size: 13px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: -.015em;
}
.home48 .surf-home :is(.home-feature-caption p, .home-task-copy p, .home-guide p, .guide-copy > p) {
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: -.015em;
}
.home48 .surf-home :is(.product-card-meta, .task-grid p, .task-links span) {
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0;
}
.home48 .home-word { display: inline-block; }

/* All local boundaries use the same dotted material as the section guides. */
.home48 .surf-home .home-section[aria-labelledby='featured-title'] > .section-bar,
.home48 .surf-footer .footer-navigation,
.home48 .guide-links a,
.home48 .home-faq .faq-list details { border-top: 1px dotted var(--home-rule); }
.home48 .discovery-links a,
.home48 .task-links a,
.home48 .guide-links a:last-child,
.home48 .home-faq .faq-list details:last-child { border-bottom: 1px dotted var(--home-rule); }
.home48 .store-guide .guide-links a:last-child { border-bottom: 0; }
.home48 .rail-hatch::after { opacity: .8; }

/* Whole previews preserve their source frame. Only the authored detail viewport crops. */
.home48 .surf-home :is(.product-image,.task-media,.discovery-strip>div) {
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
  background-color:var(--kit-color-surface);
}
.home48 .surf-home :is(.product-image,.task-media) { background-origin:padding-box; }

/* Collection scenes use a background field plus two complete, transparent source images. */
.home48 .home-series .collection-hero {
  position:relative;
  background-image:var(--surf-ref-wide);
  background-size:cover;
  background-position:center;
}
.home48 .home-series .collection-hero::before,
.home48 .home-series .collection-hero::after {
  content:'';position:absolute;pointer-events:none;
  width:58%;height:76%;
  background-position:center;background-size:contain;background-repeat:no-repeat;
}
.home48 .home-series .collection-hero::before { inset-inline-start:0;top:4%;background-image:var(--surf-ref-color); }
.home48 .home-series .collection-hero::after { inset-inline-end:0;bottom:4%;background-image:var(--surf-ref-goals); }
.home48 .home-series .collection-entry:nth-child(2) .collection-hero::before { background-image:var(--surf-ref-type); }
.home48 .home-series .collection-entry:nth-child(2) .collection-hero::after { background-image:var(--surf-ref-color); }

/* The player keeps its original frame and choreography; each foreground scene fits inside it. */
.home48 #hero-tour-48 .tour-scene {
  background-image:var(--surf-ref-wide);
  background-size:cover;
  background-position:center;
}
.home48 #hero-tour-48 .tour-scene::before {
  content:'';position:absolute;inset:clamp(12px,2cqw,32px);
  background:var(--featured-image-1,var(--surf-ref-color)) center/contain no-repeat;
  pointer-events:none;
}
.home48 #hero-tour-48 .tour-scene-social::before { background-image:var(--featured-image-2,var(--surf-ref-goals)); }
.home48 #hero-tour-48 .tour-scene-slides::before { background-image:var(--featured-image-3,var(--surf-ref-type)); }

/* A complete composition precedes a deliberately isolated information-panel detail. */
.home48 .home-guide>div:first-child {
  position:relative;
  background:var(--surf-ref-wide) center/cover no-repeat;
}
.home48 .home-guide>div:first-child::before {
  content:'';position:absolute;inset:clamp(12px,1.5cqw,24px);
  background:var(--guide-image,var(--surf-ref-type)) center/contain no-repeat;
  pointer-events:none;
}
.home48 .guide-art {
  background:var(--kit-color-surface);
  padding:clamp(8px,1cqw,16px);
  aspect-ratio:1.3;
}
.home48 .guide-art .preview-detail {
  display:block;width:100%;height:auto;overflow:hidden;
  max-width:none;flex:none;
}

/* Preserve the existing surfaces. Feedback follows the 48 clocks. */
.home48 :is(.action, .secondary-action) {
  min-height:36.8px;
  padding:9.6px 16px;
  gap:8px;
  font-size:12px;
  transition-property: transform, box-shadow, filter, background-color;
  transition-duration: var(--kit-motion-feedback);
  transition-timing-function: var(--kit-motion-ease);
}
.home48 :is(.action, .secondary-action):active {
  transform: translateY(1px) scale(.98);
  transition-duration: var(--kit-motion-press);
}
/* Product artwork stays still; the linked title owns hover feedback. */
/* One link treatment: one line on hover/focus, never a second native underline. */
.home48 .surf-home a,
.home48 .surf-home a:is(:hover,:focus-visible),
.home48 .surf-home a :is(h2,h3,strong,span) { text-decoration: none; }
.home48 .surf-home .home-link-label {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  background: linear-gradient(currentColor,currentColor) left bottom / 0% 1px no-repeat;
  padding-bottom: 2px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  transition: background-size var(--kit-motion-layout) var(--kit-motion-ease);
}
.home48 .surf-home a:is(:hover,:focus-visible) .home-link-label { background-size: 100% 1px; }
.home48 .surf-home :is(.section-bar>a,.home-feature-caption a,.text-link,.collection-entry>a>span) .home-link-label { background-size:100% 1px; }
.home48 .surf-home :is(.action,.secondary-action),
.home48 .surf-home :is(.action,.secondary-action):is(:hover,:focus-visible) { text-decoration: none; }
.home48 .task-links strong { font-weight:500; color:var(--lisa-ink); font-size:clamp(16px,1.05cqw,18px); }
.home48 .task-links a { transition:color var(--kit-motion-feedback) var(--kit-motion-ease); }
.home48 .task-links a:is(:hover,:focus-visible) { color:var(--lisa-ink); }
.home48 .surf-home :is(.section-bar>a,.text-link,.discovery-links a,.guide-links a) { font-size:clamp(13px,.9cqw,15px); }

/* A disclosure is one measured surface, including its padding and borders. */
.home48 .home-disclosure { min-height: 0; overflow: hidden; }
.home48 .home-disclosure-content { display: flow-root; }
.home48 .home-disclosure-content > p {
  margin: 0;
  padding-block: 0 24px;
  max-width: 60ch;
  color: var(--lisa-muted);
  font-size: 15px;
  line-height: 1.6;
}
.home48 :is(.nav-tab,.rail-card,.faq-list details,.catalog-facet) > summary::after { content: none; }
.home48 .home-disclosure-icon {
  flex: none; width: 12px; height: 12px; color: var(--home-nav-muted);
  transform: rotate(0deg);
  transition: transform var(--kit-motion-layout) var(--kit-motion-ease), color var(--kit-motion-feedback) var(--kit-motion-ease);
}
.home48 summary[aria-expanded='true'] > .home-disclosure-icon { transform: rotate(180deg);color:inherit; }
.home48 .rail-card .home-disclosure-icon { color: var(--kit-color-inverse-muted); }

.home48 .rail-card > summary { transition:background-color var(--kit-motion-feedback) var(--kit-motion-ease); }
.home48 .rail-card[data-expanded='true'] > summary { background:#ffffff08; }
.home48 .rail-card-menu { border:0; padding:0 8px 8px; gap:2px; }
.home48 .rail-card-menu a { min-height:36px;padding:8px;border:0;border-radius:var(--radius-control); }
.home48 .rail-card-menu a+a { border:0; }
.home48 .rail-card-menu a:active { background:#ffffff12;color:#fff;transition-duration:var(--kit-motion-press); }
.home48 .menu-toggle,.home48 .menu-close {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid transparent;background:var(--kit-material-glass-active);
  box-shadow:var(--kit-material-glass-active-shadow);
  transition:transform var(--kit-motion-feedback) var(--kit-motion-ease),color var(--kit-motion-feedback) var(--kit-motion-ease),box-shadow var(--kit-motion-feedback) var(--kit-motion-ease);
}
.home48 .menu-toggle:active,.home48 .menu-close:active { transform:scale(.96);transition-duration:var(--kit-motion-press); }
.home48 .home-menu-icon { width:20px;height:20px;flex:none;color:var(--home-nav-muted); }
@media(hover:hover) and (pointer:fine){
  .home48 .rail-card-menu a:hover { background:#ffffff0a;color:#fff; }
  .home48 .menu-toggle:hover,.home48 .menu-close:hover { color:var(--home-nav-ink); }
}
@media(max-width:850px){
}

/* Official Heroicons keep their own paths; state changes share the 48 timing. */
.home48 .tour-play-glyph { position:relative;display:block;width:16px;height:16px; }
.home48 .tour-heroicon {
  position:absolute;inset:0;width:16px;height:16px;
  opacity:0;transform:scale(.25);filter:blur(4px);
  transition:opacity var(--kit-motion-feedback) var(--kit-motion-ease),transform var(--kit-motion-layout) var(--kit-motion-ease),filter var(--kit-motion-feedback) var(--kit-motion-ease);
}
.home48 .tour-heroicon[data-active='true'] { opacity:1;transform:scale(1);filter:blur(0); }
.home48 .tour-play-control { color:#777780;transition:color var(--kit-motion-feedback) var(--kit-motion-ease),box-shadow var(--kit-motion-feedback) var(--kit-motion-ease),transform var(--kit-motion-feedback) var(--kit-motion-ease); }
.home48 .tour-play-control:hover { color:var(--home-nav-ink); }
.home48 .tour-play-control:active { transform:scale(.96);transition-duration:var(--kit-motion-press); }
.home48 .faq-list summary { font-size: 14px; line-height: 1.5; transition: color var(--kit-motion-feedback) var(--kit-motion-ease); }
.home48 .faq-list summary:hover { color: var(--lisa-muted); }

@media (max-width: 700px) {
  .home48 { --home-type-section: 21px; --home-type-editorial: 28px; }
  .home48 .surf-home .collection-entry h2 { font-size: clamp(18px,4.8vw,20px); }
}
@media (prefers-reduced-motion: reduce) {
  .home48 .surf-home :is(.product-image, .task-media, .collection-hero),
  .home48 :is(.action, .secondary-action) { transform: none !important; }
}

/* Headings and text groups use the same relationships across the homepage. */
.home48 .heading-secondary { color:var(--home-heading-secondary); }
.home48 .home-intro { row-gap:var(--home-space-heading); }
@media(min-width:701px) {
  .home48 .home-intro-actions { margin-block-start:16px; }
  .home48 .home-intro-row > p { grid-row:1/3;align-self:end; }
}
.home48 .home-section:not(.home-series):not(.home-reference-collection):not([aria-labelledby='featured-title']) > .section-bar { margin-bottom:var(--home-space-section-head); }
.home48 .home-feature-caption strong { margin-bottom:var(--home-space-heading); }
.home48 .home-feature-caption p { margin-bottom:var(--home-space-action); }
.home48 .home-guide h2 { margin-bottom:var(--home-space-heading); }
.home48 .home-guide .guide-links { margin-top:var(--home-space-action); }
.home48 .surf-home .home-model-details > div > a {
  display:block;position:relative;padding-top:12px;text-decoration:underline;text-underline-offset:4px;
}
.home48 .home-model-details > div > a::before {
  content:'';position:absolute;inset-inline-start:0;top:0;width:min(80px,100%);height:2px;pointer-events:none;
  background:var(--divider-dots) center / 6px 2px repeat-x;
}
.home48 .surf-home .home-separator--closing::before {
  background:linear-gradient(110deg,#aebfff 0%,#d1aaff 22%,#f0a7e9 42%,#ffa49c 62%,#ff925f 80%,#ffbd66 100%);
  background-size:180% 100%;background-position:50% 50%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),repeating-linear-gradient(135deg,transparent 0 3px,#000 3px 4px,transparent 4px 6px);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),repeating-linear-gradient(135deg,transparent 0 3px,#000 3px 4px,transparent 4px 6px);
  -webkit-mask-composite:source-in;mask-composite:intersect;
}
.home48 .surf-home .home-separator--closing[data-hatch-reveal='true']::before {
  animation:footer-hatch-flow 8s ease-in-out infinite alternate;
}
@keyframes footer-hatch-flow {
  0% { background-position:100% 50%; }
  100% { background-position:0% 50%; }
}
@media(prefers-reduced-motion:reduce) {
  .home48 .surf-home .home-separator--closing[data-hatch-reveal='true']::before { animation:none; }
}
@container home (min-width:1100px) {
  .home48 .surf-home .home-model { grid-column:2/12; }
}
@container home (min-width:1500px) {
  .home48 .surf-home .home-model { grid-column:3/11; }
}
.home48 .home-faq h2 { margin-bottom:var(--home-space-heading); }
.home48 .home-faq .text-link { min-height:0;padding-block:4px; }
.home48 .surf-home :is(.product-card h3,.task-grid h3) { margin-top:var(--home-space-caption);margin-bottom:0; }
.home48 .surf-home .product-card-title h3 { margin-top:0; }
.home48 .surf-home :is(.product-card-meta,.task-grid p) { margin-top:var(--home-space-meta); }
.home48 .home-series .collection-entry .section-heading { margin-top:var(--home-space-caption); }
.home48 .home-series .collection-entry p { margin:8px 0 var(--home-space-action); }
.home48 .home-series .collection-hero:has(>img)::before,.home48 .home-series .collection-hero:has(>img)::after { content:none; }
.home48 .home-series .collection-entry>a>span { min-height:0;padding-block:4px; }

/* Two navigation levels: fixed primary rail and a separate, bounded second panel. */
.home48 .rail-links { gap:4px; }
.home48 .home-nav-trigger {
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;min-height:34px;padding:7px 8px;border:0;border-radius:8px;
  font:500 13px/20px var(--home-ui);letter-spacing:-.015em;text-align:left;
  color:var(--home-nav-muted);background:transparent;
  transition:background-color var(--kit-motion-feedback) var(--kit-motion-ease),color var(--kit-motion-feedback) var(--kit-motion-ease),box-shadow var(--kit-motion-feedback) var(--kit-motion-ease);
}
.home48 .home-nav-trigger .home-disclosure-icon { width:12px;height:12px;transform:rotate(-90deg); }
.home48 .home-nav-trigger [data-cart-count] {
  display:inline-flex;flex:0 0 12px;justify-content:center;align-items:center;
  width:12px;color:var(--home-nav-muted);font-weight:400;
}
.home48 .home-nav-trigger[aria-expanded='true'] {
  color:var(--home-nav-ink);background:var(--kit-material-glass-active);
  box-shadow:inset 0 0 0 1px #e9e9ef,inset 0 1px 0 #fff;
}
.home48 .home-nav-trigger[aria-current='page']:not([aria-expanded='true']) {
  color:var(--home-nav-ink);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;
}
.home48 .home-nav-trigger[aria-expanded='true'] .home-disclosure-icon { transform:rotate(90deg); }
.home48 .home-nav-trigger:is(:hover,:focus-visible) { color:var(--home-nav-ink);background-color:var(--home-nav-wash); }
.home48 .home-nav-trigger:active { background:var(--home-nav-pressed);transition-duration:var(--kit-motion-press); }
.home48 .home-navigation-panel {
  position:fixed;z-index:30;display:flex;flex-direction:column;
  min-width:0;overflow:hidden;border:1px solid #e7e7ec;border-radius:21px;
  background:linear-gradient(145deg,#fffffffa,#fafafcf5);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 18px 48px -24px #25252b45,inset 0 1px 0 #fff;
  color:var(--home-nav-ink);font:400 13px/1.5 var(--home-ui);letter-spacing:-.015em;
}
.home48 .secondary-nav-header {
  flex:none;display:flex;align-items:center;gap:16px;
  min-height:60px;margin-inline:24px;padding-block:12px;
  border-bottom:1px dotted var(--home-rule);
}
.home48 .secondary-nav-header h2 { margin:0;flex:1;font-size:14px;line-height:1.4;font-weight:500;letter-spacing:-.02em; }
.home48 .secondary-nav-all { font-size:12px;line-height:1.4;color:var(--home-nav-muted);white-space:nowrap; }
.home48 .secondary-nav-all:hover { color:var(--home-nav-ink);text-decoration:underline;text-underline-offset:4px; }
.home48 :is(.secondary-nav-close,.secondary-nav-back) {
  flex:none;display:grid;place-items:center;width:28px;height:28px;padding:6px;
  border:0;border-radius:8px;background:transparent;color:var(--home-nav-muted);
  transition:background-color var(--kit-motion-feedback) var(--kit-motion-ease),color var(--kit-motion-feedback) var(--kit-motion-ease),transform var(--kit-motion-feedback) var(--kit-motion-ease);
}
.home48 :is(.secondary-nav-close,.secondary-nav-back):hover { color:var(--home-nav-ink);background:var(--home-nav-wash); }
.home48 :is(.secondary-nav-close,.secondary-nav-back):active { transform:scale(.96);transition-duration:var(--kit-motion-press); }
.home48 :is(.secondary-nav-close,.secondary-nav-back) svg { width:14px;height:14px; }
.home48 .secondary-nav-back { display:none; }
.home48 .secondary-nav-back svg { transform:rotate(90deg); }
.home48 .secondary-nav-body {
  min-height:0;overflow:auto;overscroll-behavior:contain;
  padding:20px 24px 24px;scrollbar-width:thin;scrollbar-color:#dcdce4 transparent;
}
.home48 .secondary-nav-groups { display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:28px 32px; }
.home48 .secondary-nav-groups nav,.home48 .secondary-nav-information { display:grid;align-content:start;gap:2px; }
.home48 .secondary-nav-type-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 24px; }
.home48 .secondary-nav-tasks { grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 24px; }
.home48 .secondary-nav-tasks h3 { grid-column:1/-1; }
.home48 .secondary-nav-featured { grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 24px; }
.home48 .secondary-nav-body h3 { margin:0 0 10px;font-size:11px;line-height:1.5;font-weight:400;letter-spacing:0;color:var(--home-nav-muted); }
.home48 .secondary-nav-body a {
  display:flex;align-items:center;min-width:0;min-height:32px;padding:6px 8px;margin-inline:-8px;
  border-radius:8px;font-size:13px;line-height:1.5;color:var(--home-nav-ink);text-decoration:none;
  transition:background-color var(--kit-motion-feedback) var(--kit-motion-ease),color var(--kit-motion-feedback) var(--kit-motion-ease);
}
.home48 .secondary-nav-body a:is(:hover,:focus-visible) { background:var(--home-nav-wash); }
.home48 .secondary-nav-body a:active { background:var(--home-nav-pressed);transition-duration:var(--kit-motion-press); }
.home48 .secondary-nav-collections { display:grid;grid-template-columns:1fr 1fr;gap:2px 28px; }
.home48 .secondary-nav-search { display:block;position:sticky;top:-20px;background:#fcfcfd;padding-block:0 16px;z-index:1; }
.home48 .secondary-nav-search input { width:100%;min-height:38px;padding:8px 12px;border:1px solid #e9e9ef;border-radius:8px;background:#f5f5f7;font:inherit; }
@media(min-width:851px) {
  .home48 .rail { overflow:visible;z-index:31; }
  .home48 .rail-content-scroll {
    display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0;
    margin-inline:-8px;padding-inline:8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;
  }
  .home48 .home-navigation-panel {
    top:0;bottom:auto;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;
    padding-block:var(--secondary-rail-inset,56px) 32px;border:0;border-radius:0;background:var(--lisa-paper);
    box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;
  }
  .home48 .secondary-nav-header {
    display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:4px 8px;
    min-height:0;margin-inline:8px;padding-block:0 12px;
  }
  .home48 .secondary-nav-header h2 { grid-column:1;grid-row:1; }
  .home48 .secondary-nav-close { grid-column:2;grid-row:1; }
  .home48 .secondary-nav-all { grid-column:1/-1;grid-row:2;white-space:normal; }
  .home48 .secondary-nav-body { flex:1 1 auto;padding:16px 12px 24px; }
  .home48 .secondary-nav-groups { grid-template-columns:minmax(0,1fr);gap:16px; }
  .home48 .secondary-nav-groups > nav:not(.secondary-nav-types) { grid-column:auto;grid-template-columns:minmax(0,1fr);gap:2px; }
  .home48 .secondary-nav-groups > nav > h3 { grid-column:1/-1; }
  .home48 :is(.secondary-nav-type-list,.secondary-nav-collections) { grid-template-columns:minmax(0,1fr);gap:0; }
  .home48 .secondary-nav-body h3 { margin-bottom:6px; }
  .home48 .secondary-nav-body a {
    min-height:28px;padding:4px 8px;font-size:13px;line-height:20px;font-weight:500;
    color:var(--home-nav-muted);overflow-wrap:anywhere;
  }
  .home48 .secondary-nav-body a:is(:hover,:focus-visible) { color:var(--home-nav-ink); }
  .home48 .secondary-nav-search { top:-16px; }
}
@media(min-width:851px) and (max-height:760px) {
  .home48 .home-navigation-panel { padding-block-end:20px; }
}

/* Shared 48HRS divider rhythm: long guides have end caps; short rules do not. */
.home48 :is(.rail-intro-rule,.rail-hatch-end),
.home48 .rail-hatch::before {
  background:var(--divider-cap) left center / 5px 5px no-repeat,var(--divider-cap) right center / 5px 5px no-repeat,var(--divider-dots) center / 6px 2px repeat-x;
}
.home48 .rail-hatch::before,.home48 .rail-hatch-end { inset-inline:0; }
.home48 .rail-cart { margin-top:14px;padding-bottom:14px;position:relative; }
.home48 .rail-cart::after { content:'';position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--divider-cap) left center / 5px 5px no-repeat,var(--divider-cap) right center / 5px 5px no-repeat,var(--divider-dots) center / 6px 2px repeat-x; }
.home48 .rail-cart + .rail-links { margin-top:14px; }
@media(min-width:851px) {
  .home48 .rail::after,.home48 .home-navigation-panel::before,.home48 .home-navigation-panel::after {
    content:'';position:absolute;top:56px;bottom:32px;width:5px;pointer-events:none;
    background:var(--divider-cap) center top / 5px 5px no-repeat,
      var(--divider-cap) center bottom / 5px 5px no-repeat,
      var(--divider-dots) center / 2px 6px repeat-y;
  }
  .home48 .rail::after { position:fixed;left:calc(24px + var(--rail) + 4px); }
  .home48 .home-navigation-panel::before { left:4px; }
  .home48 .home-navigation-panel::after { right:4px; }
  .home48 .secondary-nav-header { margin-inline:16px; }
  .home48 .secondary-nav-body { padding-inline:20px; }
}
@media(min-width:851px) and (max-width:1100px) {
  .home48 .rail::after { left:calc(16px + var(--rail) + 4px); }
}
@media(min-width:851px) and (max-height:760px) {
  .home48 .rail::after,.home48 .home-navigation-panel::before,.home48 .home-navigation-panel::after { top:30px;bottom:20px; }
}
.home48 :is(.rail-card-menu,.rail-card-menu a+a) {
  position:relative;
  border-top-color:transparent;
}
.home48 :is(.rail-card-menu,.rail-card-menu a+a)::before {
  content:'';
  position:absolute;
  inset-inline:2px;
  top:-1px;
  height:2px;
  pointer-events:none;
  background:radial-gradient(circle,var(--kit-color-inverse-rule) 0 .65px,transparent .85px) center / 6px 2px repeat-x;
}
.home48 .hero-logo-rule {
  background:var(--divider-cap) left center / 5px 5px no-repeat,
    var(--divider-cap) right center / 5px 5px no-repeat,
    var(--divider-dots) center / 6px 2px repeat-x;
}
.home48 .hero-logo-section {
  position:relative;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;
}
.home48 .hero-logo-rule { grid-column:1/-1; }
.home48 .hero-logo-caption {
  position:static;grid-column:1;grid-row:2;max-width:none;margin-top:32px;padding-right:16px;white-space:nowrap;
  color:var(--home-nav-muted);font:500 10px/1.4 var(--home-ui);letter-spacing:.02em;
}
.home48 .hero-logo-band {
  grid-column:2;grid-row:2;min-width:0;width:100%;
  margin-inline-start:0;
  margin-top:32px;
}
.home48 .hero-logo-mark { display:block;flex:none;width:80px;height:40px;object-fit:contain; }
.home48 .home-separator--opening { height:69px; }
@media(max-width:700px) {
  .home48 .hero-logo-band { margin-top:24px; }
  .home48 .hero-logo-caption { margin-top:24px; }
  .home48 .home-separator--opening { height:53px; }
}
.home48 .surf-home .home-section[aria-labelledby='featured-title'] > .section-bar,
.home48 .surf-footer .footer-navigation,
.home48 :is(.info-nav,.info-sections > section,.purchase-steps,.cart-list) {
  position:relative;
  border-top-color:transparent;
}
.home48 .surf-home .home-section[aria-labelledby='featured-title'] > .section-bar::before,
.home48 .surf-footer .footer-navigation::before,
.home48 :is(.info-nav,.info-sections > section,.purchase-steps,.cart-list)::before {
  content:'';
  position:absolute;
  inset-inline:-2px;
  top:-2px;
  height:5px;
  pointer-events:none;
  background:var(--divider-cap) left center / 5px 5px no-repeat,
    var(--divider-cap) right center / 5px 5px no-repeat,
    var(--divider-dots) center / 6px 2px repeat-x;
}
.home48 :is(.mobile-header,.cart-item) {
  position:relative;
  border-bottom-color:transparent;
}
.home48 :is(.mobile-header,.cart-item)::after {
  content:'';
  position:absolute;
  inset-inline:0;
  bottom:-2px;
  height:5px;
  pointer-events:none;
  background:var(--divider-cap) left center / 5px 5px no-repeat,
    var(--divider-cap) right center / 5px 5px no-repeat,
    var(--divider-dots) center / 6px 2px repeat-x;
}
.home48 :is(.detail-facts > div,.detail-sections details,.faq-list details,.collection-list li,.catalog-facet,.guide-links a) {
  position:relative;
  border-top-color:transparent;
}
.home48 .home-faq .faq-list details { border-top-color:transparent; }
.home48 :is(.detail-facts > div,.detail-sections details,.faq-list details,.collection-list li,.catalog-facet,.guide-links a)::before {
  content:'';
  position:absolute;
  inset-inline:2px;
  top:-1px;
  height:2px;
  pointer-events:none;
  background:var(--divider-dots) center / 6px 2px repeat-x;
}
.home48 :is(.task-links a,.discovery-links a,.secondary-nav-header,.detail-facts > div:last-child,.detail-sections details:last-child,.faq-list details:last-child,.catalog-facet:last-child,.guide-links a:last-child) {
  position:relative;
  border-bottom-color:transparent;
}
.home48 .home-faq .faq-list details:last-child { border-bottom-color:transparent; }
.home48 :is(.task-links a,.discovery-links a,.secondary-nav-header,.detail-facts > div:last-child,.detail-sections details:last-child,.faq-list details:last-child,.catalog-facet:last-child,.guide-links a:last-child)::after {
  content:'';
  position:absolute;
  inset-inline:2px;
  bottom:-1px;
  height:2px;
  pointer-events:none;
  background:var(--divider-dots) center / 6px 2px repeat-x;
}
.home48 .store-guide .guide-links a:last-child::after { content:none; }
@media(max-width:700px) {
  .home48 .catalog-facet:last-child::after { content:none; }
}
.home48 .secondary-nav-empty { margin:16px 0 0;color:var(--home-nav-muted);font-size:13px; }
.home48 .home-navigation-panel .sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
@media(max-width:850px){
  .home48 .mobile-nav-links .home-nav-trigger { min-height:44px;padding:10px 12px;font-size:15px; }
  .home48 .mobile-nav[data-secondary-open] { overflow:hidden; }
  .home48 .home-navigation-panel { position:absolute;inset:0;width:100%;height:100%;max-height:100%;border:0;border-radius:0;box-shadow:none;background:#fff;backdrop-filter:none; }
  .home48 .secondary-nav-header { min-height:72px;margin-inline:20px;gap:12px; }
  .home48 .secondary-nav-back { display:grid; }
  .home48 :is(.secondary-nav-close,.secondary-nav-back) { width:36px;height:44px; }
  .home48 .secondary-nav-body { padding:24px; }
  .home48 .secondary-nav-body a { min-height:44px;font-size:14px; }
  .home48 .secondary-nav-search input { font-size:16px; }
}
@media(max-width:420px){
  .home48 .secondary-nav-groups { grid-template-columns:1fr;gap:28px; }
  .home48 .secondary-nav-tasks { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home48 .secondary-nav-featured { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home48 .secondary-nav-header { margin-inline:16px;gap:8px; }
  .home48 .secondary-nav-collections { gap:2px 20px; }
}

.home48 .secondary-nav-groups > nav.secondary-nav-tasks {
  display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;
}
.home48 .secondary-nav-groups > nav:is(.secondary-nav-featured,.secondary-nav-software) {
  display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;
}
.home48 .secondary-nav-groups > nav + nav { position:relative;padding-top:16px; }
.home48 .secondary-nav-groups > nav + nav::before {
  content:'';position:absolute;inset-inline:0;top:0;height:2px;pointer-events:none;
  background:var(--divider-dots) center / 6px 2px repeat-x;
}
.home48 .secondary-nav-body .secondary-nav-featured a {
  gap:8px;min-height:28px;margin:0;padding:4px 0;border-radius:0;background:transparent;
}
.home48 .secondary-nav-featured a svg { flex:none;width:14px;height:14px;color:var(--home-nav-muted); }
.home48 .secondary-nav-body .secondary-nav-featured a:is(:hover,:focus-visible) {
  background:transparent;text-decoration:underline;text-underline-offset:4px;
}
.home48 .secondary-nav-software h3 { grid-column:1/-1;margin-bottom:4px; }
.home48 .secondary-nav-body .secondary-nav-utility-card {
  display:flex;align-items:center;gap:10px;min-height:44px;min-width:0;margin:0;padding:10px 12px;
  border:1px solid #e9e9ef;border-radius:10px;background:linear-gradient(145deg,#fff,#f8f8fa);
  box-shadow:inset 0 1px 0 #fff,0 2px 6px #25252b08;
  color:var(--home-nav-ink);font-size:12px;line-height:1.3;font-weight:500;
  transition:background-color var(--kit-motion-feedback) var(--kit-motion-ease),box-shadow var(--kit-motion-feedback) var(--kit-motion-ease);
}
.home48 .secondary-nav-body .secondary-nav-utility-card:is(:hover,:focus-visible) {
  background:#f4f4f6;box-shadow:inset 0 1px 0 #fff,0 3px 9px #25252b12;
}
.home48 .secondary-nav-software-logo { display:block;flex:none;width:22px;height:22px;object-fit:contain; }
.home48 .secondary-nav-body :is(.secondary-nav-type-list,.secondary-nav-collections) {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;
}
.home48 .secondary-nav-body .secondary-nav-information {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;
}
.home48 .secondary-nav-body .secondary-nav-info-card {
  display:grid;align-content:start;gap:7px;min-height:100px;margin:0;padding:12px;
  border:1px solid #e9e9ef;border-radius:10px;background:linear-gradient(145deg,#fff,#f8f8fa);
  box-shadow:inset 0 1px 0 #fff,0 2px 6px #25252b08;
  color:var(--home-nav-ink);font-size:12px;line-height:1.3;font-weight:500;
  transition:background-color var(--kit-motion-feedback) var(--kit-motion-ease),box-shadow var(--kit-motion-feedback) var(--kit-motion-ease);
}
.home48 .secondary-nav-body .secondary-nav-info-card:is(:hover,:focus-visible) {
  background:#f4f4f6;box-shadow:inset 0 1px 0 #fff,0 3px 9px #25252b12;
}
.home48 .secondary-nav-info-copy { color:var(--home-nav-muted);font-size:11px;line-height:1.4;font-weight:400; }
.home48 .secondary-nav-tasks h3 { grid-column:1/-1;margin-bottom:4px; }
.home48 .secondary-nav-body .secondary-nav-task-card {
  display:flex;gap:9px;align-items:center;min-height:60px;min-width:0;margin:0;padding:6px;
  border:1px solid #e9e9ef;border-radius:10px;background:linear-gradient(145deg,#fff,#f8f8fa);
  box-shadow:inset 0 1px 0 #fff,0 2px 6px #25252b08;
  color:var(--home-nav-ink);font-size:12px;line-height:1.3;font-weight:500;
  transition:background-color var(--kit-motion-feedback) var(--kit-motion-ease),box-shadow var(--kit-motion-feedback) var(--kit-motion-ease);
}
.home48 .secondary-nav-body .secondary-nav-task-card:is(:hover,:focus-visible) {
  background:#f4f4f6;box-shadow:inset 0 1px 0 #fff,0 3px 9px #25252b12;
}
.home48 .secondary-nav-task-image {
  display:grid;place-items:center;flex:0 0 44px;width:44px;height:46px;overflow:hidden;
  border-radius:6px;background:var(--kit-color-surface);
}
.home48 .secondary-nav-task-image img { width:100%;height:100%;object-fit:contain;transition:transform var(--kit-motion-feedback) var(--kit-motion-ease); }
.home48 .secondary-nav-task-card:is(:hover,:focus-visible) img { transform:scale(1.04); }
@media(prefers-reduced-motion:reduce) {
  .home48 .secondary-nav-task-image img { transition:none; }
  .home48 .secondary-nav-task-card:is(:hover,:focus-visible) img { transform:none; }
}

.home48 .page-scroll-edge {
  position:fixed;left:0;right:0;height:64px;pointer-events:none;z-index:4;opacity:0;will-change:opacity;
}
.home48 .page-scroll-edge[data-active='true'] { opacity:1; }
.home48 .page-scroll-edge > div { position:absolute;inset:0;pointer-events:none; }
.home48 .page-scroll-edge--top { top:0;background:linear-gradient(#fffffff0,#ffffff00); }
.home48 .page-scroll-edge--bottom { bottom:0;background:linear-gradient(#ffffff00,#fffffff0); }
@media(max-width:850px) { .home48 .page-scroll-edge { height:45px; } }
@media(prefers-reduced-motion:reduce) { .home48 .page-scroll-edge { transition:none; } }
@media(prefers-reduced-transparency:reduce), (forced-colors:active) { .home48 .page-scroll-edge { display:none; } }

.home48 .secondary-nav-viewport { position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-height:0; }
.home48 .secondary-nav-viewport > .secondary-nav-body { flex:1 1 auto;min-height:0; }
.home48 .secondary-nav-edge { position:absolute;inset-inline:0;height:36px;z-index:2;pointer-events:none;opacity:0;will-change:opacity; }
.home48 .secondary-nav-edge[data-active='true'] { opacity:1; }
.home48 .secondary-nav-edge > div { position:absolute;inset:0;pointer-events:none; }
.home48 .secondary-nav-edge--top { top:0;background:linear-gradient(#fffffff0,#ffffff00); }
.home48 .secondary-nav-edge--bottom { bottom:0;background:linear-gradient(#ffffff00,#fffffff0); }
@media(prefers-reduced-motion:reduce) { .home48 .secondary-nav-edge { transition:none; } }
@media(prefers-reduced-transparency:reduce), (forced-colors:active) { .home48 .secondary-nav-edge { display:none; } }
