/* Compact, extensible storefront. Four product columns at desktop width. */
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.market-intro { padding:28px 0 24px; }
.market-banner-grid { display:grid; grid-template-columns:3fr 1fr; gap:18px; }
.market-banner { position:relative; isolation:isolate; overflow:hidden; min-height:158px; border:1px solid #233b5e; border-radius:15px; padding:25px 31px; background:linear-gradient(110deg,#18293f 0%,#1d3556 67%,#294b7a 100%); color:#fff; display:flex; align-items:center; }
.market-banner>div { position:relative; z-index:2; }
.market-eyebrow { display:flex; gap:12px; align-items:center; margin:0 0 10px; font-size:11px; letter-spacing:.08em; color:#a0b7d8; }
.market-eyebrow span { color:#536b8e; }
.market-banner h1 { margin:0 0 9px; font-size:28px; font-weight:580; letter-spacing:.005em; }
.market-banner h1 span { color:#c9dcff; }
.market-subtitle { margin:0; font-size:13px; color:#9dafc7; }
.banner-letter { position:absolute; right:23px; top:-47px; color:#ffffff05; -webkit-text-stroke:1px #ffffff13; font-size:207px; font-weight:600; line-height:1.25; letter-spacing:-.075em; pointer-events:none; transform:rotate(-9deg); }
.market-guide { display:flex; flex-direction:column; justify-content:center; min-width:0; border:1px solid #dde5f4; border-radius:15px; background:linear-gradient(135deg,#edf2fd,#f7f9fe); padding:20px 24px; }
.market-guide>span { display:flex; align-items:center; gap:8px; color:#7184aa; }
.market-guide>span svg { width:17px; height:17px; }.market-guide small { font-size:11px; }
.market-guide h2 { font-size:17px; line-height:1.55; font-weight:550; margin:9px 0 11px; color:#405371; }
.market-guide b { display:flex; align-items:center; gap:10px; font-size:12px; font-weight:500; color:#6680b1; }
.market-guide b svg { width:16px; height:16px; transition:transform .2s; }.market-guide:hover b svg { transform:translateX(4px); }
.market-catalog { padding-bottom:22px; }
.catalog-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.category-tabs { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.category-tabs button { border:1px solid transparent; border-radius:8px; background:transparent; padding:8px 14px; display:flex; align-items:center; gap:8px; font-size:14px; line-height:1.5; color:#8893a5; font-weight:500; }
.category-tabs button.active { background:#fff; color:#263652; border-color:#e0e6f0; box-shadow:0 2px 5px #20355204; }
.category-tabs button:hover { color:#3458db; }.category-tabs button>span { font-size:11px; color:#8798b5; background:#f0f3f9; border-radius:4px; min-width:18px; text-align:center; }
.catalog-search { display:flex; align-items:center; gap:8px; background:#fff; border:1px solid #e3e8f1; border-radius:8px; padding:8px 12px; width:238px; }
.catalog-search svg { width:16px; height:16px; color:#97a4bc; }.catalog-search input { min-width:0; width:100%; font-size:12px; line-height:1.6; background:transparent; border:0; outline:0; color:#344460; padding:0; }
.catalog-search:focus-within { outline:2px solid #9aaff4; outline-offset:2px; }.catalog-search input::placeholder { color:#a6afbe; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; align-items:stretch; }
.product-tile { --cover-1:#28574b; --cover-2:#183d36; --cover-accent:#a9d2c1; background:#fff; border:1px solid #e0e6ee; border-radius:13px; min-width:0; overflow:hidden; box-shadow:0 5px 16px #18304b05; transition:transform .2s,box-shadow .2s,border-color .2s; position:relative; }
.product-tile:hover { transform:translateY(-3px); box-shadow:0 12px 26px #243c6010; border-color:#b9c8df; }
.tile-cobalt { --cover-1:#3c62bd; --cover-2:#263e79; --cover-accent:#c1d2fd; }
.tile-graphite { --cover-1:#4d5670; --cover-2:#2e3549; --cover-accent:#ccd1e0; }
.tile-cover { display:flex; align-items:center; justify-content:space-between; height:105px; padding:17px 20px; background:linear-gradient(115deg,var(--cover-1),var(--cover-2)); color:#fff; position:relative; isolation:isolate; overflow:hidden; }
.tile-cover::after { content:''; position:absolute; width:155px; height:155px; border:1px solid #ffffff11; border-radius:50%; top:-35px; right:-50px; box-shadow:0 0 0 18px #ffffff03,0 0 0 36px #ffffff02; pointer-events:none; }
.cover-copy { display:flex; flex-direction:column; align-items:flex-start; position:relative; z-index:1; }
.cover-copy>span { font-size:11px; color:var(--cover-accent); margin-bottom:0; }
.cover-copy strong { font-size:24px; font-weight:540; line-height:1.25; letter-spacing:-.02em; }
.cover-copy small { font-size:9px; color:var(--cover-accent); margin-top:7px; opacity:.8; letter-spacing:.035em; }
.cover-mark { position:relative; z-index:1; font-size:50px; font-weight:500; line-height:1; color:var(--cover-accent); letter-spacing:-.07em; opacity:.52; margin-right:0; }
.tile-jade .cover-mark { font-size:66px; font-weight:300; }.tile-graphite .cover-mark { font-size:42px; }
.tile-content { padding:17px 18px 18px; }
.tile-title { display:flex; align-items:center; gap:7px; justify-content:space-between; }
.tile-title h3 { font-size:16px; line-height:1.45; font-weight:610; letter-spacing:-.025em; margin:0; }
.tile-title h3 a:hover { color:#3458db; }
.tile-badge { flex-shrink:0; white-space:nowrap; padding:2px 5px; border:1px solid #e6eaf1; border-radius:4px; font-size:9px; color:#8492a9; font-weight:400; }
.tile-description { font-size:12px; line-height:1.8; color:#8390a5; margin:6px 0 0; }
.tile-meta { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-top:20px; font-size:11px; color:#9ca6b8; }
.tile-meta>a { color:#8c9bb6; }.tile-meta>a:hover { color:#3458db; }.tile-meta>a>span { padding-left:3px; }
.tile-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; padding-top:13px; border-top:1px solid #eef1f5; }
.tile-price { display:flex; align-items:baseline; gap:2px; line-height:1.2; color:#283650; white-space:nowrap; }
.tile-price>span { font-size:14px; font-weight:500; }.tile-price strong { font-size:29px; font-weight:580; letter-spacing:-.05em; }.tile-price small { font-size:10px; color:#9da8ba; margin-left:4px; }
.tile-buy { display:flex; align-items:center; justify-content:center; gap:10px; font-size:12px; color:#fff; background:#3d5dcb; border:1px solid #3d5dcb; border-radius:7px; padding:8px 10px; line-height:1.4; white-space:nowrap; transition:background .2s; }
.tile-buy:hover { background:#2b48ad; }.tile-buy svg { width:14px; height:14px; }
.tile-buy-muted { color:#8390a8; background:#f5f7fb; border-color:#e6eaf2; }.tile-buy-muted:hover { background:#eaf0fb; color:#3b5484; }
.selection-note { padding:17px 5px 10px 23px; display:flex; flex-direction:column; min-width:0; color:#5e6f8b; }
.selection-kicker { display:flex; align-items:center; gap:8px; color:#95a3bb; font-size:11px; }.selection-kicker svg { width:15px; height:15px; }
.selection-note h3 { font-size:24px; line-height:1.45; font-weight:500; margin:14px 0 19px; color:#4b5e7b; }
.selection-note dl { margin:0 0 20px; display:flex; flex-wrap:wrap; gap:18px; }.selection-note dl>div { min-width:90px; }
.selection-note dt { font-size:10px; color:#a0aabc; }.selection-note dd { font-size:12px; color:#6b7e9c; margin:4px 0 0; }
.selection-note>a { display:flex; align-items:center; gap:15px; font-size:12px; color:#5776aa; margin-top:auto; }.selection-note>a svg { width:15px; height:15px; }
.selection-note>p { font-size:11px; color:#a1abbc; margin:11px 0 0; }.selection-note>p a { color:#8598b8; }
.catalog-footnote { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:17px; }
.catalog-footnote p { font-size:11px; color:#a2aabd; margin:0; }.catalog-footnote>a { display:flex; align-items:center; gap:7px; font-size:11px; color:#8595b3; white-space:nowrap; }
.catalog-footnote>a svg { width:13px; height:13px; }
.catalog-empty { grid-column:1/-1; padding:50px 20px; text-align:center; background:#fff; border:1px solid #e0e6ee; border-radius:13px; }
.catalog-empty h3 { font-size:20px; color:#586b89; }.catalog-empty p { font-size:14px; color:#93a0b5; }
.catalog-empty button { display:inline-flex; align-items:center; gap:12px; border:1px solid #d9e3f4; padding:9px 14px; border-radius:7px; color:#607faa; background:#f4f7fe; font-size:13px; }
.catalog-empty .sms-preview-link { display:inline-flex; align-items:center; gap:12px; border:1px solid #d9e3f4; padding:9px 14px; border-radius:7px; color:#607faa; background:#f4f7fe; font-size:13px; text-decoration:none; }
.market-services { padding:8px 0 32px; }
.market-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.market-service-grid>a { display:flex; align-items:center; gap:13px; padding:20px 21px; background:#fff; border:1px solid #e4e9f1; border-radius:11px; }
.service-symbol { width:37px; height:37px; flex-shrink:0; display:grid; place-items:center; color:#8193b3; background:#f4f6fb; border:1px solid #edf0f6; border-radius:10px; }
.service-symbol svg { width:20px; height:20px; }.market-service-grid strong { display:block; font-size:13px; color:#586b88; font-weight:500; }.market-service-grid small { display:block; font-size:11px; color:#9ba6b9; margin-top:3px; }
.market-service-grid>a>svg { width:15px; height:15px; color:#b1bcd0; margin-left:auto; }.market-service-grid>a:hover strong { color:#3458db; }
.market-partner { padding:0 0 36px; }.market-partner>.container { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:25px 29px; border:1px solid #e0e6f0; border-radius:13px; background:linear-gradient(110deg,#edf1f9,#f8f9fc); }
.partner-copy>span { font-size:9px; letter-spacing:.15em; color:#98a8c2; }.partner-copy h2 { font-size:19px; font-weight:500; color:#546b8c; margin:5px 0 5px; }.partner-copy p { font-size:12px; color:#94a1b6; margin:0; }
.market-partner .container>a { display:flex; align-items:center; gap:17px; background:#fff; border:1px solid #d8e0ef; border-radius:8px; padding:10px 15px; color:#6b82a9; font-size:12px; white-space:nowrap; }.market-partner a svg { width:16px; height:16px; }

@media(max-width:1150px) and (min-width:901px) {
  .product-grid { gap:14px; }.tile-content { padding:15px 14px; }.tile-badge { display:none; }.tile-cover { padding:16px; }.tile-price strong { font-size:27px; }.tile-buy { gap:7px; padding:8px; }.cover-mark { font-size:42px; }.tile-graphite .cover-mark { font-size:34px; }.selection-note { padding-left:15px; }.market-guide { padding:18px; }.market-guide h2 { font-size:16px; }
}
@media(max-width:900px) and (min-width:611px) {
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.selection-note { display:none; }.tile-content { padding:15px; }.tile-badge { display:none; }.tile-title h3 { font-size:15px; }.tile-price strong { font-size:27px; }.tile-cover { padding:16px; }.tile-buy { padding:7px; gap:6px; }.tile-price small { font-size:9px; }.market-banner-grid { grid-template-columns:2fr 1fr; gap:14px; }.market-banner { padding:24px; }.market-banner h1 { font-size:25px; }.market-subtitle { font-size:12px; max-width:300px; }.market-guide { padding:19px; }.market-guide h2 { font-size:16px; }.cover-mark { font-size:39px; }.tile-graphite .cover-mark { font-size:32px; }
  .market-service-grid { gap:12px; }.market-service-grid>a { padding:17px 14px; gap:10px; }.service-symbol { display:none; }.market-service-grid strong { font-size:12px; }.market-service-grid small { font-size:10px; }.market-service-grid>a>svg { display:none; }
}
@media(max-width:700px) and (min-width:611px) { .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.selection-note { display:flex; }.market-banner h1 span { display:block; }.market-banner-grid { grid-template-columns:1.5fr 1fr; } }
@media(max-width:610px) {
  .market-intro { padding:17px 0 18px; }.market-banner-grid { display:block; }.market-banner { min-height:128px; padding:20px 21px; border-radius:12px; }.market-eyebrow { font-size:10px; margin-bottom:10px; gap:9px; }.market-banner h1 { font-size:22px; letter-spacing:-.025em; line-height:1.4; margin-bottom:8px; }.market-subtitle { font-size:11px; line-height:1.8; max-width:280px; }.banner-letter { font-size:143px; top:-12px; right:8px; }.market-guide { display:none; }
  .catalog-bar { margin-bottom:14px; flex-wrap:wrap; gap:10px; }.category-tabs { gap:3px; }.category-tabs button { padding:7px 11px; font-size:12px; }.category-tabs button>span { font-size:10px; }.catalog-search { width:143px; padding:7px 9px; gap:6px; }.catalog-search input { font-size:11px; }.catalog-search svg { width:14px; height:14px; }
  .product-grid { grid-template-columns:1fr; gap:12px; }.product-tile { display:grid; grid-template-columns:91px minmax(0,1fr); border-radius:11px; }.tile-cover { height:100%; min-height:145px; padding:15px 12px; align-items:flex-start; }.cover-copy>span { font-size:10px; }.cover-copy strong { font-size:17px; margin-top:4px; line-height:1.25; }.cover-copy small { display:none; }.cover-mark { position:absolute; left:12px; right:auto; top:auto; bottom:17px; font-size:34px; opacity:.35; }.tile-jade .cover-mark { font-size:48px; bottom:8px; }.tile-graphite .cover-mark { font-size:30px; bottom:20px; }.tile-cover::after { width:150px; height:150px; right:-95px; top:55px; }
  .tile-content { padding:14px 14px 12px; display:flex; flex-direction:column; min-width:0; }.tile-title { gap:6px; }.tile-title h3 { font-size:15px; letter-spacing:-.035em; white-space:nowrap; }.tile-badge { font-size:8px; padding:2px 3px; }.tile-description { font-size:11px; margin-top:4px; }.tile-meta { display:none; }.tile-footer { margin-top:auto; padding-top:10px; gap:7px; }.tile-price strong { font-size:26px; }.tile-price>span { font-size:12px; }.tile-price small { font-size:9px; margin-left:2px; }.tile-buy { font-size:12px; padding:7px 8px; gap:7px; border-radius:6px; }.tile-buy svg { width:13px; height:13px; }.selection-note { display:none; }
  .market-catalog { padding-bottom:19px; }.catalog-footnote { align-items:start; margin-top:13px; gap:10px; }.catalog-footnote p { font-size:10px; }.catalog-footnote>a { font-size:10px; gap:3px; }.catalog-footnote>a svg { width:12px; }
  .market-services { padding:0 0 21px; }.market-service-grid { gap:0; border:1px solid #e3e8f1; background:#fff; border-radius:10px; overflow:hidden; }.market-service-grid>a { border:0; border-radius:0; padding:15px 8px; gap:8px; display:block; text-align:center; background:transparent; }.market-service-grid>a:not(:last-child) { border-right:1px solid #e9edf4; }.market-service-grid strong { font-size:11px; font-weight:500; line-height:1.65; }.market-service-grid small { font-size:9px; line-height:1.6; }.service-symbol { border:0; background:transparent; width:24px; height:24px; margin:0 auto 7px; border-radius:0; }.service-symbol svg { width:19px; height:19px; }.market-service-grid>a>svg { display:none; }
  .market-partner { padding-bottom:25px; }.market-partner>.container { padding:20px; flex-wrap:wrap; gap:15px; border-radius:11px; }.partner-copy>span { font-size:9px; }.partner-copy h2 { font-size:17px; margin-top:6px; }.partner-copy p { font-size:11px; }.market-partner .container>a { font-size:11px; padding:8px 11px; gap:18px; }.catalog-empty { padding:32px 16px; }.catalog-empty h3 { font-size:18px; }.catalog-empty p { font-size:12px; }
}
@media(max-width:370px) {
  .catalog-search { width:119px; padding-inline:8px; }.catalog-search input { font-size:10px; }.category-tabs button { padding-inline:8px; font-size:11px; }.market-banner h1 { font-size:20px; }.product-tile { grid-template-columns:77px minmax(0,1fr); }.tile-cover { padding-inline:10px; }.cover-copy strong { font-size:15px; }.tile-content { padding:13px 11px 11px; }.tile-title h3 { font-size:14px; }.tile-badge { display:none; }.tile-price strong { font-size:24px; }.tile-buy { font-size:11px; padding:7px; }.tile-price small { font-size:8px; }.tile-description { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .product-tile:hover { transform:none; } }
