/* Product attribution and scope on the homepage. */
html[data-site-route="home"] body.app-mode .home-products { padding: clamp(38px,5vw,72px) 0; border-bottom: 1px solid var(--sc-border); }
html[data-site-route="home"] body.app-mode .home-products-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.8fr); align-items: end; gap: 0 32px; margin-bottom: 25px; }
html[data-site-route="home"] body.app-mode .home-products-heading .home-kicker { grid-column: 1/-1; margin: 0 0 10px; color: var(--sc-accent); font-size: 12px; font-weight: 700; letter-spacing: .09em; }
html[data-site-route="home"] body.app-mode .home-products-heading h2 { margin: 0; color: var(--sc-text); font-size: clamp(30px,3vw,43px); line-height: 1.12; letter-spacing: -.045em; }
html[data-site-route="home"] body.app-mode .home-products-heading > p:last-child { margin: 0 0 3px; color: var(--sc-muted); font-size: 15px; line-height: 1.55; }
html[data-site-route="home"] body.app-mode .home-products-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
html[data-site-route="home"] body.app-mode .home-product-card { display: flex; flex-direction: column; min-width: 0; min-height: 253px; padding: clamp(21px,2.3vw,31px); border: 1px solid var(--sc-border); border-radius: 16px; background: var(--sc-surface); transition: border-color .2s,transform .2s,box-shadow .2s; }
html[data-site-route="home"] body.app-mode .home-product-card:hover { border-color: color-mix(in srgb,var(--sc-accent) 48%,var(--sc-border)); transform: translateY(-3px); box-shadow: 0 14px 34px color-mix(in srgb,var(--sc-text) 6%,transparent); }
html[data-site-route="home"] body.app-mode .home-product-top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
html[data-site-route="home"] body.app-mode .home-product-icon { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid color-mix(in srgb,var(--sc-accent) 24%,var(--sc-border)); border-radius: 10px; background: color-mix(in srgb,var(--sc-accent) 8%,var(--sc-surface)); color: var(--sc-accent); font-size: 21px; }
html[data-site-route="home"] body.app-mode .home-product-provider { color: var(--sc-accent); font-size: 11px; font-weight: 700; letter-spacing: .025em; }
html[data-site-route="home"] body.app-mode .home-product-card h3 { margin: 0 0 9px; color: var(--sc-text); font-size: 23px; letter-spacing: -.035em; }
html[data-site-route="home"] body.app-mode .home-product-card p { max-width: 540px; margin: 0; color: var(--sc-muted); font-size: 14px; line-height: 1.6; }
html[data-site-route="home"] body.app-mode .home-product-card a { display: inline-flex; align-items: center; gap: 7px; align-self: flex-start; margin-top: auto; padding-top: 20px; color: var(--sc-accent); font-size: 13px; font-weight: 700; text-decoration: none; }
html[data-site-route="home"] body.app-mode .home-product-card a:hover { text-decoration: underline; }
html[data-site-route="home"] body.app-mode .home-market-scope { max-width: 560px; margin: 8px 0 0; color: var(--sc-muted); font-size: 12px; line-height: 1.45; }
#giftView .gift-built { display: inline-block; margin: -12px 0 25px; padding: 6px 10px; border: 1px solid color-mix(in srgb,var(--sc-accent) 30%,var(--sc-border)); border-radius: 99px; color: var(--sc-accent); background: color-mix(in srgb,var(--sc-accent) 7%,var(--sc-surface)); font-size: 12px; font-weight: 650; }
html[data-portfolio-route] body.app-mode .portfolio-glider-action { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; padding: 16px; border: 1px solid color-mix(in srgb,var(--sc-accent) 24%,var(--sc-border)); border-radius: 12px; background: color-mix(in srgb,var(--sc-accent) 6%,var(--sc-surface)); }
html[data-portfolio-route] body.app-mode .portfolio-glider-action strong,html[data-portfolio-route] body.app-mode .portfolio-glider-action span { display: block; }
html[data-portfolio-route] body.app-mode .portfolio-glider-action strong { color: var(--sc-text); font-size: 14px; }
html[data-portfolio-route] body.app-mode .portfolio-glider-action span { max-width: 340px; margin-top: 4px; color: var(--sc-muted); font-size: 11px; line-height: 1.4; }
html[data-portfolio-route] body.app-mode .portfolio-glider-action a { flex: 0 0 auto; padding: 10px 13px; border-radius: 8px; background: var(--sc-accent); color: #fff; font-size: 12px; font-weight: 700; text-decoration: none; }
html[data-portfolio-route] body.app-mode .portfolio-glider-action a:hover { filter: brightness(.92); }
@media(max-width: 760px) {
  html[data-site-route="home"] body.app-mode .home-products-heading { grid-template-columns: 1fr; }
  html[data-site-route="home"] body.app-mode .home-products-heading > p:last-child { margin-top: 10px; }
  html[data-site-route="home"] body.app-mode .home-products-grid { grid-template-columns: 1fr; }
  html[data-site-route="home"] body.app-mode .home-product-card { min-height: 0; }
  html[data-portfolio-route] body.app-mode .portfolio-glider-action { align-items: stretch; flex-direction: column; }
  html[data-portfolio-route] body.app-mode .portfolio-glider-action a { align-self: flex-start; }
}
@media(prefers-reduced-motion:reduce) { html[data-site-route="home"] body.app-mode .home-product-card { transition: none; } }

/* The hero product index uses editorial rows instead of repeated tiles. */
html[data-site-route="home"] body.app-mode .home-feature-head { border-bottom: 0; padding-bottom: 22px; }
html[data-site-route="home"] body.app-mode .home-feature-grid { display: block; padding-top: 0; border-top: 1px solid var(--sc-border); }
html[data-site-route="home"] body.app-mode .home-feature-card { position: relative; display: grid; grid-template-columns: 36px minmax(0,1fr) 34px; align-items: center; gap: 16px; min-height: 103px; padding: 17px 14px; border: 0; border-bottom: 1px solid var(--sc-border); border-radius: 0; background: transparent; animation: home-index-enter .55s both; transition: background-color .22s ease; }
html[data-site-route="home"] body.app-mode .home-feature-card::before { content: ""; position: absolute; inset: 10px auto 10px 0; width: 2px; border-radius: 2px; background: var(--sc-accent); transform: scaleY(0); transform-origin: center; transition: transform .22s ease; }
html[data-site-route="home"] body.app-mode .home-feature-card:hover { transform: none; border-color: var(--sc-border); background: color-mix(in srgb,var(--sc-accent) 5%,transparent); }
html[data-site-route="home"] body.app-mode .home-feature-card:hover::before,html[data-site-route="home"] body.app-mode .home-feature-card:focus-visible::before { transform: scaleY(1); }
html[data-site-route="home"] body.app-mode .home-feature-icon { display: block; width: auto; height: auto; flex: none; border: 0; border-radius: 0; background: none; color: var(--sc-muted); font: 650 12px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; }
html[data-site-route="home"] body.app-mode .home-feature-copy { gap: 3px; }
html[data-site-route="home"] body.app-mode .home-feature-copy small { font-size: 10px; letter-spacing: .11em; }
html[data-site-route="home"] body.app-mode .home-feature-copy strong { font-size: clamp(16px,1.3vw,19px); letter-spacing: -.025em; }
html[data-site-route="home"] body.app-mode .home-feature-copy > span { font-size: 12px; }
html[data-site-route="home"] body.app-mode .home-feature-arrow { display: grid; place-items: center; width: 32px; height: 32px; margin: 0; border: 1px solid var(--sc-border); border-radius: 50%; color: var(--sc-muted); font-size: 16px; transition: color .22s,background-color .22s,transform .22s; }
html[data-site-route="home"] body.app-mode .home-feature-card:hover .home-feature-arrow { transform: translate(2px,-2px); border-color: var(--sc-accent); background: var(--sc-accent); color: #fff; }
html[data-site-route="home"] body.app-mode .home-feature-card:nth-child(1) { animation-delay: .12s; }
html[data-site-route="home"] body.app-mode .home-feature-card:nth-child(2) { animation-delay: .20s; }
html[data-site-route="home"] body.app-mode .home-feature-card:nth-child(3) { animation-delay: .28s; }
html[data-site-route="home"] body.app-mode .home-feature-card:nth-child(4) { animation-delay: .36s; }
html[data-site-route="home"] body.app-mode .home-primary span { display: inline-block; transition: transform .2s ease; }
html[data-site-route="home"] body.app-mode .home-primary:hover span { transform: translateX(4px); }
@keyframes home-index-enter { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: translateX(0); } }
@media(max-width: 620px) { html[data-site-route="home"] body.app-mode .home-feature-card { min-height: 89px; gap: 10px; padding: 15px 8px; } }
@media(prefers-reduced-motion:reduce) { html[data-site-route="home"] body.app-mode .home-feature-card { animation: none; } html[data-site-route="home"] body.app-mode .home-feature-card::before,html[data-site-route="home"] body.app-mode .home-primary span { transition: none; } }
