:root {
  --ink: #0b1f3a;
  --muted: #60718a;
  --blue: #0e62b4;
  --blue-deep: #084984;
  --sky: #edf6ff;
  --line: #d8e5f2;
  --white: #fff;
  --radius: 16px;
  --shadow: 0 16px 40px rgba(32, 77, 138, .11);
  --max: 1360px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: "Segoe UI", Inter, Arial, sans-serif;
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
.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; }
.container { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}
.header-top {
  min-height: 86px;
  display: grid;
  grid-template-columns: 220px minmax(280px, 520px) 1fr auto;
  align-items: center;
  gap: 24px;
}
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.brand-mark {
  width: 58px; height: 58px; border-radius: 13px; overflow: hidden;
  background: #fff; border: 1px solid #e5edf5; flex: 0 0 auto;
}
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.brand-copy { line-height: 1.02; min-width: 0; }
.brand-copy strong { display: block; font-size: 18px; letter-spacing: .12em; font-weight: 800; white-space: nowrap; }
.brand-copy span { display: block; margin-top: 5px; color: var(--blue); font-size: 10px; letter-spacing: .23em; font-weight: 700; }
.site-header .brand { width:220px; }
.site-header .brand-mark { width:220px; height:62px; border:0; border-radius:0; background:#fff; }
.site-header .brand-mark img { content:url("../assets/loog.png"); width:100%; height:100%; object-fit:cover; object-position:center; }
.site-header .brand-copy { display:none; }
.search { position: relative; width: 100%; }
.search input {
  width: 100%; height: 42px; border: 1px solid #e7edf4; border-radius: 24px;
  padding: 0 48px 0 18px; background: #f6f8fb; color: var(--ink); outline: none;
}
.search input:focus { border-color: #8cb5dc; background: #fff; box-shadow: 0 0 0 3px rgba(14,98,180,.11); }
.search button { position: absolute; right: 5px; top: 5px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; color: var(--ink); display: grid; place-items: center; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 22px; white-space: nowrap; }
.sign-in { display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:700; color:#283a53; }
.sign-in svg { width:18px; height:18px; }
.account-dropdown { position:relative; display:flex; align-items:center; align-self:stretch; }
.account-dropdown-menu { position:absolute; z-index:60; top:calc(100% - 4px); right:-10px; min-width:132px; padding:7px 0; border:1px solid #d6e0ea; background:#fff; box-shadow:0 12px 28px rgba(22,54,92,.13); opacity:0; visibility:hidden; transform:translateY(7px); transition:opacity .18s ease, transform .18s ease, visibility .18s ease; }
.account-dropdown-menu a { display:block; padding:7px 15px; color:#27364b; font-size:14px; font-weight:600; white-space:nowrap; }
.account-dropdown-menu a:hover, .account-dropdown-menu a:focus-visible { background:#f2f6fb; color:var(--blue); }
.account-dropdown:hover .account-dropdown-menu, .account-dropdown:focus-within .account-dropdown-menu { opacity:1; visibility:visible; transform:translateY(0); }
.icon-link { width: 32px; height: 32px; display: grid; place-items: center; color: #22354d; position: relative; }
.cart-count { position: absolute; right: -6px; top: -4px; width: 17px; height: 17px; border-radius: 50%; background: var(--blue); color: #fff; font-size: 10px; display: grid; place-items: center; font-weight: 800; }
.nav-row { border-top: 1px solid #eef3f8; }
.nav { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.nav-links { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.nav-links a { padding: 16px 0 14px; font-size: 13px; color: #27364b; font-weight: 700; border-bottom: 2px solid transparent; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--blue); border-bottom-color: var(--blue); }
.nav-dropdown { position:relative; align-self:stretch; display:flex; align-items:center; }
.nav-dropdown-menu { position:absolute; z-index:20; top:100%; left:-22px; width:230px; padding:10px 0; border:1px solid #e5edf5; background:#fff; box-shadow:0 15px 32px rgba(22,54,92,.14); opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .18s ease, transform .18s ease, visibility .18s ease; }
.nav-dropdown-menu a { display:block; padding:11px 22px; border:0; color:#34465d; font-size:14px; font-weight:600; }
.nav-dropdown-menu a:hover, .nav-dropdown-menu a:focus-visible { border:0; background:#f2f6fb; color:#2166f3; }
.nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu { opacity:1; visibility:visible; transform:translateY(0); }
.nav-side { display: flex; gap: 25px; font-size: 13px; font-weight: 700; color: #27364b; }
.menu-toggle { display: none; border: 1px solid var(--line); background: #fff; width: 40px; height: 40px; border-radius: 10px; place-items: center; }

.hero { position: relative; overflow: hidden; background: #07172e; }
.hero-media { position:relative; aspect-ratio:2000 / 650; min-height:300px; overflow:hidden; background:#07172e; }
.hero-slide { position:absolute; inset:0; background-position:center; background-size:cover; background-repeat:no-repeat; opacity:0; transform:scale(1.018); transition:opacity .58s ease, transform 1.05s cubic-bezier(.2,.75,.25,1); }
.hero-slide.is-active { opacity:1; transform:scale(1); }
.hero-content { position: absolute; inset: 0; display: flex; align-items: center; }
.hero-copy { width: min(560px, 48%); color: #fff; }
.hero-arrow {
  position:absolute;
  z-index:3;
  top:50%;
  width:48px;
  height:72px;
  padding:0;
  border:0;
  background:transparent;
  opacity:0;
  pointer-events:none;
  transform:translateY(-50%) scale(.88);
  transition:opacity .25s ease, transform .25s ease;
}
.hero:hover .hero-arrow,
.hero:focus-within .hero-arrow { opacity:1; pointer-events:auto; transform:translateY(-50%) scale(1); }
.hero-arrow:hover { transform:translateY(-50%) scale(1.12); }
.hero-arrow:focus-visible { opacity:1; pointer-events:auto; outline:2px solid #fff; outline-offset:3px; }
.hero-arrow img { width:27px; height:27px; margin:auto; object-fit:contain; filter:drop-shadow(0 2px 5px rgba(0,0,0,.38)); }
.hero-arrow-prev { left:clamp(14px, 2.4vw, 42px); }
.hero-arrow-prev img { transform:rotate(180deg); }
.hero-arrow-next { right:clamp(14px, 2.4vw, 42px); }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: #b9e8ff; font-size: 11px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow::before { content:""; width: 25px; height: 2px; background: #44b6ff; }
.hero h1 { margin: 14px 0 8px; font-size: clamp(30px, 4.4vw, 60px); letter-spacing: -.03em; line-height: 1.05; }
.hero h1 sup { font-size: .35em; letter-spacing: 0; vertical-align: top; }
.hero-lead { margin: 0 0 18px; font-size: clamp(15px, 1.45vw, 21px); font-weight: 600; }
.hero-points { display: grid; gap: 5px; margin: 0 0 24px; padding: 0; list-style: none; color: #e8f4ff; font-size: 13px; }
.hero-points li::before { content:"✓"; margin-right: 9px; color: #55ccff; font-weight: 800; }
.virtual-showroom { padding:92px 0; background:#f8fbfe; }
.virtual-showroom-head { max-width:990px; margin:0 auto 26px; text-align:center; }
.virtual-showroom-head .section-kicker { justify-content:center; color:#2166f3; }
.virtual-showroom-head .section-kicker::before { background:#2166f3; }
.virtual-showroom-head h2 { margin:8px 0 8px; color:var(--ink); font-size:clamp(32px,3.1vw,48px); line-height:1.06; letter-spacing:.02em; text-transform:uppercase; }
.virtual-showroom-head p { margin:0 auto; color:#334b68; font-size:15px; font-weight:600; line-height:1.6; }
.virtual-showroom-player { position:relative; width:min(912px,100%); height:auto; aspect-ratio:912 / 490; min-height:0; margin:0 auto; overflow:hidden; border:0; border-radius:0; background:#061a36; box-shadow:none; isolation:isolate; }
.virtual-showroom-video { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; background:#061a36; }
.virtual-showroom-shade { position:absolute; z-index:-1; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(2,17,41,.42) 0%,rgba(3,20,48,.12) 45%,rgba(2,15,36,.1) 100%),linear-gradient(0deg,rgba(2,14,33,.44) 0%,transparent 42%); }
.virtual-showroom-video-launch { position:absolute; z-index:4; top:24px; right:clamp(18px,3vw,44px); display:inline-flex; align-items:center; gap:9px; min-height:46px; padding:0 18px; overflow:hidden; border:1px solid rgba(113,224,255,.86); border-radius:12px; background:linear-gradient(135deg,rgba(5,30,63,.94),rgba(8,86,139,.88)); color:#fff; font-size:11px; font-weight:800; letter-spacing:.09em; box-shadow:0 0 0 1px rgba(73,190,244,.2),0 0 24px rgba(52,193,255,.24),inset 0 1px 0 rgba(255,255,255,.32),0 10px 22px rgba(3,20,48,.28); backdrop-filter:blur(10px); transition:background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.virtual-showroom-video-launch::after { position:absolute; inset:0; content:""; pointer-events:none; background:linear-gradient(110deg,transparent 35%,rgba(157,241,255,.22) 50%,transparent 65%); transform:translateX(-120%); transition:transform .55s ease; }
.virtual-showroom-video-launch:hover { border-color:#b7f3ff; background:linear-gradient(135deg,rgba(7,50,91,.96),rgba(11,124,181,.92)); box-shadow:0 0 0 1px rgba(73,190,244,.32),0 0 30px rgba(52,193,255,.42),inset 0 1px 0 rgba(255,255,255,.42),0 12px 26px rgba(3,20,48,.34); transform:translateY(-2px); }
.virtual-showroom-video-launch:hover::after { transform:translateX(120%); }
.virtual-showroom-video-launch:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.virtual-showroom-video-launch svg, .virtual-showroom-video-launch span { position:relative; z-index:1; }
.virtual-showroom-video-modal { width:min(1080px,calc(100% - 32px)); max-width:none; padding:0; border:0; border-radius:16px; background:#061a36; box-shadow:0 28px 80px rgba(0,0,0,.58); color:#fff; }
.virtual-showroom-video-modal::backdrop { background:rgba(1,11,27,.84); backdrop-filter:blur(6px); }
.virtual-showroom-video-modal-inner { position:relative; padding:12px; }
.virtual-showroom-video-modal-player { display:block; width:100%; max-height:80vh; border-radius:10px; background:#000; }
.virtual-showroom-video-modal-close { position:absolute; z-index:2; top:21px; right:21px; display:grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid rgba(255,255,255,.76); border-radius:50%; background:rgba(2,16,39,.72); color:#fff; }
.virtual-showroom-video-modal-close:hover { background:#0e62b4; }
.virtual-showroom-video-modal-close:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.virtual-showroom-product-stack { position:absolute; top:50%; left:clamp(24px,5vw,78px); width:425px; transform:translateY(-50%); }
.virtual-showroom-product-stage { position:relative; width:100%; height:425px; display:flex; justify-content:center; align-items:center; }
.virtual-showroom-product-track { position:relative; width:290px; height:425px; }
.virtual-showroom-product-card { position:absolute; inset:0; overflow:hidden; border:0; border-radius:20px; background:#fff; box-shadow:0 18px 42px rgba(3,20,48,.28); opacity:0; visibility:hidden; transform:translateX(16px) scale(.985); transition:opacity .45s ease, transform .45s ease, visibility .45s ease; }
.virtual-showroom-product-card.is-active { opacity:1; visibility:visible; transform:translateX(0) scale(1); }
.virtual-showroom-product-card img { width:100%; height:100%; object-fit:cover; object-position:center; }
.virtual-showroom-arrow { position:absolute; z-index:2; top:50%; display:grid; place-items:center; width:42px; height:58px; padding:0; border:0; border-radius:0; background:transparent; transform:translateY(-50%); transition:opacity .2s ease, transform .2s ease; }
.virtual-showroom-arrow:hover { opacity:.72; transform:translateY(-50%) scale(1.12); }
.virtual-showroom-arrow:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.virtual-showroom-arrow img { width:27px; height:27px; object-fit:contain; filter:brightness(0) invert(1) drop-shadow(0 2px 5px rgba(0,0,0,.8)); }
.virtual-showroom-arrow-prev { left:-21px; }
.virtual-showroom-arrow-prev img { transform:rotate(180deg); }
.virtual-showroom-arrow-next { right:-21px; }
.virtual-showroom-add { width:290px; height:60px; display:flex; align-items:center; justify-content:center; gap:9px; margin:16px auto 0; border-radius:999px; background:#0e62b4; color:#fff; font-size:15px; font-weight:800; box-shadow:0 12px 24px rgba(3,44,94,.3); transition:background .2s ease, transform .2s ease, box-shadow .2s ease; }
.virtual-showroom-add:hover { background:#084984; transform:translateY(-2px); box-shadow:0 16px 28px rgba(3,44,94,.38); }
.virtual-showroom-add:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 18px; border-radius: 9px; border: 1px solid transparent; font-weight: 800; font-size: 12px; transition: transform .2s, background .2s, border-color .2s; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--blue); color: #fff; box-shadow: 0 8px 18px rgba(14,98,180,.28); }
.btn-primary:hover { background: var(--blue-deep); }
.btn-ghost { color: #fff; border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.08); }
.btn-outline { border-color: #b7d0ec; color: var(--blue-deep); background: #fff; }

.section { padding: 92px 0; }
.section-soft { background: var(--sky) url("../assets/bg2.png") center / cover no-repeat; }
#products { background:#f8fbfe; margin-top:-100px; }
.section-head { text-align: center; max-width: 700px; margin: 0 auto 34px; }
.section-kicker { color: var(--blue); font-size: 11px; text-transform: uppercase; letter-spacing: .2em; font-weight: 900; }
.section h2 { margin: 7px 0 8px; font-size: clamp(26px, 3vw, 38px); letter-spacing: -.03em; line-height: 1.1; }
.section-head p { margin: 0; color: var(--muted); font-size: 14px; }
.tabs { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; }
.tab { border: 1px solid #bfd2e7; background: rgba(255,255,255,.75); color: #52657e; border-radius: 20px; padding: 8px 14px; font-size: 11px; font-weight: 800; }
.tab:hover, .tab.is-active { border-color: var(--blue); background: var(--blue); color: #fff; }
.product-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 15px; }
.product-card { background: #fff; border: 1px solid #d8e5f3; border-radius: 12px; padding: 11px; box-shadow: 0 8px 20px rgba(45, 93, 147, .06); display: flex; flex-direction: column; min-height: 315px; transition: transform .2s, box-shadow .2s; }
.product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.product-card[hidden] { display: none; }
.product-image { height: 156px; background: #f8fbfe; border-radius: 8px; display: grid; place-items: center; overflow: hidden; border-top: 3px solid var(--blue); }
.product-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
#products .product-card { min-height:374px; }
#products .product-image { height:198px; padding:7px 10px; background:#fff; }
#products .product-image img { width:auto; height:148px; max-width:100%; max-height:100%; object-fit:contain; object-position:center; mix-blend-mode:normal; transform:none; }
#products .card-actions { transform:translateY(-19px); }
.section-soft .product-image img { width:auto; height:148px; max-width:100%; max-height:100%; object-fit:contain; object-position:center; mix-blend-mode:normal; }
.product-card h3 { margin: 12px 0 4px; font-size: 14px; line-height: 1.2; }
.product-model { color: #70829a; font-size: 10px; min-height: 30px; }
.price { margin-top: 7px; color: #e34555; font-size: 16px; font-weight: 900; }
.price small { font-size: 10px; color: #9b6d77; font-weight: 600; }
.card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: auto; }
.card-actions .btn { width:100%; min-height:30px; padding:0 6px; font-size:10px; border-radius:7px; }
.grid-more { display:flex; justify-content:center; margin-top: 28px; }

/* Research Peptides catalog page */
.catalog-breadcrumb { height:55px; background:#eaf2fd; }
.catalog-breadcrumb .container { height:100%; }
.catalog-breadcrumb nav { height:100%; display:flex; align-items:center; gap:9px; color:#142238; font-size:14px; }
.catalog-breadcrumb a:hover { color:var(--blue); }
.breadcrumb-pin { display:grid; place-items:center; color:#2166f3; }
.research-products-page .section-soft { background:var(--sky) url("../assets/bg2.png") center / cover no-repeat; padding:58px 0 82px; }
.research-products-page .section-head { max-width:none; margin-bottom:72px; }
.research-products-page .section-head h1 { margin:0; color:var(--ink); font-size:clamp(30px,3.15vw,43px); line-height:1.12; letter-spacing:-.025em; }
.research-products-page .section-head p { margin-top:18px; color:var(--ink); font-size:clamp(16px,1.55vw,21px); font-weight:750; }
.research-products-page .tabs { gap:10px; margin-bottom:34px; }
.research-products-page .tab { border:0; border-radius:24px; padding:10px 22px; background:#fff; color:#293549; font-size:14px; box-shadow:0 2px 7px rgba(34,75,120,.04); }
.research-products-page .tab:hover, .research-products-page .tab.is-active { background:#2166f3; color:#fff; }
.research-products-page .product-grid { grid-template-columns:repeat(5, minmax(0, 1fr)); gap:15px; }
.research-products-page .product-card { padding-bottom:19px; }
.research-products-page .card-actions { grid-template-columns:1fr; gap:7px; }
.research-products-page .card-actions .btn { min-height:34px; font-size:11px; }
.popular-catalog { background:#eaf2fd; padding:36px 0 74px; min-height:720px; }
.popular-catalog-head { display:grid; grid-template-columns:320px minmax(0,1fr); gap:20px; align-items:center; margin-bottom:20px; }
.popular-catalog-head h1 { margin:0; color:var(--ink); font-size:clamp(28px,3vw,38px); line-height:1.12; letter-spacing:-.025em; }
.popular-search { position:relative; }
.popular-search input { width:100%; height:50px; padding:0 48px 0 16px; border:1px solid #d5dbe2; border-radius:26px; background:#fff; color:var(--ink); outline:none; }
.popular-search input:focus { border-color:#8cb5dc; box-shadow:0 0 0 3px rgba(14,98,180,.11); }
.popular-search button { position:absolute; right:5px; top:5px; width:40px; height:40px; border:0; border-radius:50%; background:transparent; color:#111; display:grid; place-items:center; }
.popular-catalog-layout { display:grid; grid-template-columns:320px minmax(0,1fr); gap:20px; align-items:start; }
.popular-category { overflow:hidden; border-radius:7px; background:#fff; box-shadow:0 6px 18px rgba(45,93,147,.06); }
.popular-category h2 { margin:0; padding:16px 25px; border-left:6px solid #2166f3; background:linear-gradient(135deg,#fff 0%,#f3f5f7 55%,#d8dadd 100%); color:#111d30; font-size:20px; line-height:1.2; }
.popular-category-list { display:grid; }
.popular-category-list button { min-height:49px; padding:0 16px; border:0; border-bottom:1px solid #e2e2e2; background:#fff; color:#142238; text-align:left; font-size:15px; }
.popular-category-list button:last-child { border-bottom:0; }
.popular-category-list button:hover, .popular-category-list button.is-active { color:#2166f3; }
.popular-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.popular-catalog .product-card { min-height:448px; padding:10px; border:0; border-radius:15px; box-shadow:0 8px 22px rgba(42,77,119,.06); }
.popular-catalog .product-image { height:224px; border:0; border-radius:9px; background:#fff; }
.popular-catalog .product-image img { content:url("../assets/产品.png"); width:auto; height:100%; max-width:100%; object-fit:contain; mix-blend-mode:normal; }
.popular-catalog .product-card h3 { min-height:40px; margin:12px 4px 3px; font-size:15px; text-align:center; }
.popular-catalog .product-model { min-height:24px; color:#17233a; font-size:13px; text-align:center; }
.popular-catalog .price { margin-top:3px; font-size:18px; text-align:center; }
.popular-catalog .card-actions { grid-template-columns:1fr; gap:9px; margin-top:auto; }
.popular-catalog .card-actions .btn { min-height:35px; border-radius:6px; font-size:12px; }
.popular-catalog .btn-outline { border-color:#2166f3; color:#2166f3; }
.popular-catalog .pagination { grid-column:1 / -1; }
.pagination { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:34px; }
.pagination-pages { display:flex; align-items:center; gap:6px; }
.pagination button { min-width:38px; height:36px; padding:0 12px; border:1px solid #c6d7e9; border-radius:8px; background:#fff; color:#39536f; font-size:12px; font-weight:800; }
.pagination button:hover:not(:disabled), .pagination button.is-active { border-color:var(--blue); background:var(--blue); color:#fff; }
.pagination button:disabled { cursor:not-allowed; opacity:.45; }
.pagination-page { width:36px; padding:0 !important; }

.trust { background: #fff; }
.trust-layout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:48px; align-items:center; }
.trust h2 { margin-top: 0; }
.trust-copy p { color: var(--muted); font-size: 14px; }
.trust-points { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 25px; }
.trust-point { border-top: 2px solid #dceaf7; padding-top: 12px; }
.trust-point strong { display: block; font-size: 13px; }
.trust-point span { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }
.trust-cards { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; align-items:start; padding-bottom:38px; }
.trust-card { position:relative; min-height:340px; padding:26px 18px; overflow:hidden; border-radius:26px; color:#fff; background:var(--blue); box-shadow:0 18px 38px rgba(14,98,180,.16); transition:transform .25s ease, box-shadow .25s ease; }
.trust-card:nth-child(2) { top:38px; }
.trust-card:hover { transform:translateY(-5px); box-shadow:0 24px 48px rgba(14,98,180,.24); }
.trust-icon { display:grid; place-items:center; width:44px; height:44px; margin-bottom:26px; color:#fff; }
.trust-icon svg { width:34px; height:34px; }
.trust-card h3 { margin:0 0 12px; color:#fff; font-size:clamp(17px, 1.25vw, 21px); line-height:1.1; letter-spacing:-.025em; }
.trust-card p { margin:0; color:#eaf5ff; font-size:11px; line-height:1.68; }

.popular { background:#eaf2fd; }
.carousel-shell { position: relative; }
.carousel { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 136px) / 5); gap:34px; overflow:hidden; scroll-behavior:smooth; scroll-snap-type:x mandatory; }
.carousel .product-card { min-width:0; scroll-snap-align:start; }
.popular-card { min-height:382px; padding:10px; border:2px solid var(--blue); border-radius:20px; text-align:center; box-shadow:none; }
.popular-card:hover { box-shadow:0 14px 32px rgba(14,98,180,.14); }
.popular-card .product-image { height:205px; padding:0; border:0; border-radius:12px; background:#fff; }
.popular-card .product-image img { content:url("../assets/产品.png"); width:auto; height:calc(100% - 14px); max-width:100%; max-height:100%; object-fit:contain; object-position:center; mix-blend-mode:normal; }
.popular-card h3 { min-height:48px; margin:14px 6px 4px; display:flex; align-items:center; justify-content:center; font-size:17px; line-height:1.45; }
.popular-card .product-model { min-height:auto; margin-bottom:13px; color:var(--ink); font-size:13px; }
.popular-card .card-actions { display:block; margin-top:auto; }
.popular-card .card-actions .btn { width:100%; min-height:38px; border-radius:22px; font-size:12px; }
.carousel-btn { position:absolute; z-index:2; top:52%; transform:translateY(-50%); width:82px; height:112px; padding:0; border:0; border-radius:0; background:transparent; display:grid; place-items:center; box-shadow:none; opacity:.56; transition:opacity .2s ease, transform .2s ease; }
.carousel-btn:hover { opacity:1; transform:translateY(-50%) scale(1.08); }
.carousel-btn:focus-visible { opacity:1; outline:2px solid var(--blue); outline-offset:2px; }
.carousel-btn img { width:59px; height:78px; object-fit:contain; }
.carousel-btn.prev { left:-54px; }
.carousel-btn.prev img { transform:rotate(180deg); }
.carousel-btn.next { right:-54px; }
.dots { display:flex; justify-content:center; gap:6px; margin-top:20px; }
.dot { width: 6px; height: 6px; border-radius:50%; background:#bed0e5; } .dot.is-active { background:var(--blue); width:18px; border-radius:5px; }

.promo { padding:0 0 90px; background:#eaf2fd; }
.promo-card { min-height: 260px; border-radius: 18px; overflow: hidden; position:relative; background: #06152d url("../assets/img-kaobei.png") center / cover no-repeat; }
.promo-card::after { content:""; position:absolute; inset:0; background:rgba(3,18,42,.5); }
.promo-copy { position:relative; z-index:1; width:min(520px, 75%); padding:48px; color:#fff; }
.promo-copy h2 { margin: 6px 0 12px; font-size:clamp(24px,3vw,36px); }
.promo-copy p { margin:0 0 20px; color:#dcecff; font-size:13px; }

.showroom { display:none; background:#fff; }
.showroom-card { position:relative; min-height: 420px; border-radius:18px; overflow:hidden; background: #15243b; }
.showroom-card img { width:100%; height:100%; min-height:420px; object-fit:cover; opacity:.9; }
.showroom-overlay { position:absolute; inset:auto 0 0; padding:32px; color:#fff; background:linear-gradient(0deg, rgba(4,15,31,.86), transparent); }
.showroom-overlay h2 { margin:0 0 7px; font-size:26px; }
.showroom-overlay p { margin:0 0 14px; color:#d9e8f6; font-size:13px; }

.applications { background:#edf6ff; }
.section.applications { padding-bottom:0; }
.app-strip {
  display:flex;
  gap:6px;
  height:580px;
  width:100vw;
  margin-left:calc(50% - 50vw);
  overflow:hidden;
  background:#d7e7f6;
}
.app-item {
  position:relative;
  flex:1 1 0;
  min-width:0;
  height:580px;
  overflow:hidden;
  isolation:isolate;
  outline:none;
  transition:flex-grow .55s cubic-bezier(.2,.75,.25,1);
}
.app-item:first-child,
.app-item.is-active { flex-grow:3.25; }
.app-strip.has-active .app-item { flex-grow:1; }
.app-strip.has-active .app-item.is-active { flex-grow:3.25; }
.app-item img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .65s cubic-bezier(.2,.75,.25,1), filter .4s ease;
}
.app-item:not(.is-active) img { filter:saturate(.78) brightness(.82); }
.app-item.is-active img,
.app-item:hover img { transform:scale(1.045); filter:saturate(1) brightness(1); }
.app-item::after {
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:linear-gradient(90deg, rgba(3,29,54,.82) 0%, rgba(3,29,54,.38) 48%, rgba(3,29,54,.05) 76%);
  opacity:.68;
  transition:opacity .4s ease;
}
.app-item.is-active::after,
.app-item:hover::after { opacity:1; }
.app-content {
  position:absolute;
  z-index:1;
  left:34px;
  bottom:34px;
  width:min(390px, calc(100% - 68px));
  color:#fff;
  opacity:0;
  transform:translateX(-30px);
  transition:opacity .34s ease .12s, transform .45s cubic-bezier(.2,.75,.25,1) .08s;
}
.app-item:first-child .app-content,
.app-item.is-active .app-content { opacity:1; transform:translateX(0); }
.app-strip.has-active .app-item .app-content { opacity:0; transform:translateX(-30px); }
.app-strip.has-active .app-item.is-active .app-content { opacity:1; transform:translateX(0); }
.app-content small { display:block; margin-bottom:9px; color:#b9ddff; font-size:10px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.app-content h3 { margin:0 0 9px; font-size:clamp(22px, 2vw, 30px); line-height:1.08; letter-spacing:-.025em; }
.app-content p { margin:0 0 18px; max-width:360px; color:#e8f4ff; font-size:12px; line-height:1.65; }
.app-cta { display:inline-flex; align-items:center; gap:8px; padding-bottom:4px; border-bottom:1px solid rgba(255,255,255,.65); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }

/* Applications listing and detail pages */
.applications-page { background:#edf6ff url("../assets/bg2.png") center top / cover no-repeat; }
.applications-listing { padding:52px 0 104px; }
.applications-listing h1 { margin:0 0 28px; color:var(--ink); font-size:42px; line-height:1.08; letter-spacing:0; }
.application-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.application-card { display:flex; min-width:0; min-height:518px; overflow:hidden; flex-direction:column; border:1px solid #d5e3ef; border-radius:16px; background:#fff; box-shadow:0 8px 22px rgba(45,93,147,.12); transition:transform .2s ease, box-shadow .2s ease; }
.application-card:hover { transform:translateY(-4px); box-shadow:0 16px 32px rgba(45,93,147,.18); }
.application-card > img { width:100%; height:325px; flex:none; object-fit:cover; background:#edf4ff; }
.application-card-copy { display:flex; min-width:0; flex:1; flex-direction:column; padding:38px 30px 30px; }
.application-card h2 { margin:0 0 12px; color:var(--ink); font-size:18px; line-height:1.3; letter-spacing:0; }
.application-card p { display:-webkit-box; margin:0; overflow:hidden; color:#1d3350; font-size:16px; line-height:1.65; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.application-detail-page { background:linear-gradient(180deg,#fff 0%,#eaf2fd 100%); }
.application-detail-wrap { padding:38px 0 102px; }
.application-sidebar { overflow:visible !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
.application-sidebar-search { position:relative; margin:0 0 18px; }
.application-sidebar-search input { width:100%; height:50px; padding:0 48px 0 15px; border:1px solid #d6dce4; border-radius:26px; background:#fff; color:var(--ink); outline:none; }
.application-sidebar-search input:focus { border-color:#8cb5dc; box-shadow:0 0 0 3px rgba(14,98,180,.1); }
.application-sidebar-search button { position:absolute; top:7px; right:7px; display:grid; width:36px; height:36px; place-items:center; border:0; border-radius:50%; background:transparent; color:#172a40; }
.application-sidebar-menu { overflow:hidden; border:1px solid #d9e6f2; border-radius:8px; background:#fff; box-shadow:0 14px 34px rgba(44,87,135,.08); }
.application-sidebar-menu h2 { margin:0; padding:18px 20px; border-left:4px solid var(--blue); border-bottom:1px solid #e2ebf4; color:var(--ink); font-size:20px; line-height:1.2; }
.application-sidebar-menu .glossary-list { margin:0; padding:8px 0; list-style:none; }
.application-sidebar-menu .glossary-list a { padding:10px 20px; }
.application-sidebar-menu .glossary-list a::before { width:6px; height:6px; border-width:1.5px; }
.application-detail-shell { min-width:0; max-width:none; margin:0; padding:0 10px 0 0; }
.application-detail-shell .article-kicker { display:block; margin:4px 0 8px; color:var(--blue); font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.application-detail-shell h1 { margin:0 0 18px; color:var(--ink); font-size:clamp(32px,4vw,50px); line-height:1.08; letter-spacing:0; }
.application-detail-shell .article-meta { margin-bottom:38px; }
.application-detail-shell .article-body h2 { margin:0 0 28px; color:var(--ink); font-size:26px; line-height:1.25; letter-spacing:0; }
.application-detail-shell .article-body h3 { margin:30px 0 13px; color:var(--ink); font-size:18px; line-height:1.35; }
.application-detail-shell .article-body p { margin:0 0 15px; color:#17304b; font-size:16px; line-height:1.72; }
.application-detail-shell .article-body p:last-child { margin-bottom:0; }
.application-detail-shell .article-rule { height:1px; width:100%; margin:0 0 42px; background:#9baab8; }
.application-detail-shell .article-return { display:inline-flex; align-items:center; gap:8px; margin-top:34px; color:var(--blue); font-size:13px; font-weight:900; }
.application-detail-shell .article-return::before { content:"←"; font-size:16px; }

.about { position:relative; overflow:hidden; background:linear-gradient(180deg, #ffffff 0%, #e9f4ff 100%); }
.about::before { content:""; position:absolute; z-index:1; right:0; bottom:0; width:50%; height:120px; pointer-events:none; background:linear-gradient(180deg, rgba(233,244,255,0) 0%, rgba(233,244,255,.72) 64%, #e9f4ff 100%); }
.about::after { content:""; position:absolute; z-index:0; inset:0 0 0 50%; background:url("../assets/图片产品替换.png") center / cover no-repeat; -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 10%, #000 30%); mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 10%, #000 30%); }
.about-layout { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:76px; align-items:stretch; }
.about-copy { padding:12px 0; }
.company-profile-copy { max-width:650px; padding:0 0 10px; }
.company-profile-copy h1 { margin:0 0 42px; color:var(--ink); font-size:clamp(34px,3.4vw,48px); line-height:1.08; letter-spacing:0; }
.about-layout .company-profile-section h2 { margin:0 0 20px; color:var(--ink); font-size:clamp(22px,2vw,28px); line-height:1.2; letter-spacing:0; }
.company-profile-section + .company-profile-section { margin-top:40px; }
.company-profile-section p { margin:0; max-width:640px; color:#152b46; font-size:16px; line-height:1.68; }
.about-layout h2 { margin:0 0 16px; color:var(--blue); font-size:clamp(30px, 3vw, 42px); }
.about-layout .about-intro { margin:0; max-width:650px; color:var(--ink); font-size:17px; font-weight:700; line-height:1.58; }
.about-features { margin-top:28px; border-top:1px solid #d8e4ef; }
.about-feature { display:grid; grid-template-columns:42px 1fr; gap:18px; padding:19px 0; border-bottom:1px solid #d8e4ef; }
.about-feature-icon { display:grid; place-items:start center; padding-top:2px; color:var(--blue); }
.about-feature-icon svg { width:29px; height:29px; }
.about-feature h3 { margin:0 0 7px; font-size:16px; line-height:1.25; }
.about-feature p { margin:0; max-width:590px; color:#344861; font-size:13px; line-height:1.7; }
.about-button { min-width:194px; min-height:54px; margin-top:30px; border-radius:28px; }
.about-image { display:none; position:relative; min-height:650px; overflow:hidden; border-radius:22px; background:#dbe9f7; box-shadow:0 24px 50px rgba(19,63,113,.12); }
.about-image img { width:100%; height:100%; min-height:650px; object-fit:cover; object-position:center; }

.newsletter { background:#e9f4ff; padding:38px 0 62px; }
.newsletter-inner { min-height:154px; border:2px solid var(--blue); border-radius:18px; padding:30px 48px; display:flex; align-items:center; justify-content:space-between; gap:44px; background:#fff; }
.newsletter-message { display:flex; align-items:center; gap:24px; min-width:0; }
.newsletter-icon { display:grid; place-items:center; flex:0 0 auto; color:var(--blue); }
.newsletter-icon svg { width:50px; height:50px; }
.newsletter strong { font-size:clamp(19px, 1.75vw, 27px); line-height:1.2; }
.newsletter form { position:relative; display:flex; flex:0 1 510px; min-width:min(510px,100%); }
.newsletter input { flex:1; min-width:0; min-height:52px; border:1px solid #c8d8e9; border-right:0; border-radius:8px 0 0 8px; padding:0 16px; outline:none; }
.newsletter input:focus { border-color:var(--blue); box-shadow:inset 0 0 0 1px var(--blue); }
.newsletter form .btn { min-width:122px; min-height:52px; border-radius:0 8px 8px 0; }
.newsletter [data-form-note] { position:absolute; left:0; top:calc(100% + 7px); color:var(--blue-deep); font-size:11px; }

.site-footer { background:#fff; border-top:1px solid #dbe7f3; padding-top:48px; }
.footer-grid { display:grid; grid-template-columns: 1.3fr .8fr 1fr; gap:50px; padding-bottom:42px; }
.footer-brand .brand { margin-bottom:14px; }
.footer-brand .brand-mark { width:240px; height:70px; border:0; border-radius:0; background:#fff; }
.footer-brand .brand-mark img { content:url("../assets/loog.png"); width:100%; height:100%; object-fit:cover; object-position:center; }
.footer-brand .brand-copy { display:none; }
.footer-brand p { color:var(--muted); font-size:14px; max-width:320px; }
.footer-title { font-size:14px; letter-spacing:.12em; font-weight:900; margin:0 0 13px; }
.footer-links { display:grid; gap:7px; font-size:14px; color:#60718a; } .footer-links a:hover { color:var(--blue); }
.contact-list { display:grid; gap:10px; color:#60718a; font-size:14px; }
.contact-list strong { color:var(--ink); font-size:13px; display:block; }
.footer-bottom { border-top:1px solid #e1ebf4; padding:16px 0 20px; display:flex; justify-content:space-between; gap:16px; color:#7a899c; font-size:13px; }
.footer-bottom a:hover { color:var(--blue); }

.float-contact { position:fixed; right:18px; bottom:22px; z-index:40; display:grid; gap:7px; }
.float-contact a { width:42px; height:42px; border-radius:50%; background:var(--blue); color:#fff; display:grid; place-items:center; box-shadow:0 8px 20px rgba(14,98,180,.3); }
.float-contact a:hover { background:var(--blue-deep); }

.page-hero { background:#eaf4ff; padding:74px 0 68px; border-bottom:1px solid #dbeaf8; }
.page-hero .container { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.page-hero h1 { margin: 8px 0 0; font-size:clamp(34px,5vw,60px); letter-spacing:-.04em; line-height:1; }
.page-hero p { max-width:440px; color:var(--muted); font-size:14px; margin:0; }

.content-page { padding:80px 0; }
.product-detail-page { background:#f8fbfe; }
.breadcrumbs { display:flex; align-items:center; gap:9px; min-height:62px; color:#71839a; font-size:12px; }
.breadcrumbs a:hover { color:var(--blue); }
.product-detail-hero { padding:34px 0 72px; background:#fff; border-top:1px solid #e3edf6; }
.product-detail-layout { display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(420px, .95fr); gap:80px; align-items:start; }
.product-gallery-main { min-height:580px; border:1px solid #dbe7f1; border-radius:18px; background:#f8fbfe; display:grid; place-items:center; overflow:hidden; }
.product-gallery-main img { width:auto; height:540px; max-width:92%; object-fit:contain; }
.product-gallery-thumbs { display:flex; gap:10px; margin-top:14px; }
.gallery-thumb { width:78px; height:78px; padding:5px; border:2px solid var(--blue); border-radius:9px; background:#fff; }
.gallery-thumb img { width:100%; height:100%; object-fit:contain; }
.detail-kicker { display:inline-flex; color:var(--blue); font-size:11px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.product-detail-copy h1 { margin:10px 0 8px; max-width:570px; font-size:clamp(30px, 3.3vw, 47px); line-height:1.08; letter-spacing:-.035em; }
.detail-model { margin:0; color:var(--muted); font-size:13px; }
.detail-rule { width:100%; height:1px; margin:22px 0 18px; background:#dce8f2; }
.detail-price { color:#e34555; font-size:30px; font-weight:900; }
.detail-price span { color:var(--ink); font-size:18px; }
.detail-pack { margin-top:2px; color:#e34555; font-size:28px; font-weight:900; }
.detail-note { margin:7px 0 22px; color:#52657e; font-size:12px; }
.detail-specs { display:grid; gap:0; margin:0; border-top:1px solid #dce8f2; }
.detail-specs div { display:grid; grid-template-columns:150px 1fr; gap:16px; padding:12px 0; border-bottom:1px solid #dce8f2; font-size:12px; }
.detail-specs dt { color:#71839a; }
.detail-specs dd { margin:0; color:var(--ink); font-weight:700; }
.detail-quantity-row { display:flex; align-items:center; gap:22px; margin-top:20px; font-size:13px; }
.quantity-stepper { display:grid; grid-template-columns:32px 46px 32px; height:32px; border:1px solid #cbd7e2; background:#fff; }
.quantity-stepper button { border:0; background:#fff; color:#293c54; font-size:20px; line-height:1; }
.quantity-stepper output { display:grid; place-items:center; border-inline:1px solid #cbd7e2; color:var(--ink); font-size:13px; }
.detail-actions { display:grid; gap:10px; max-width:360px; margin-top:26px; }
.detail-purchase-btn { min-height:45px; padding:0 20px; border:1px solid #2166f3; border-radius:24px; background:#fff; color:#2166f3; display:flex; align-items:center; justify-content:center; gap:9px; font:inherit; font-size:13px; cursor:pointer; transition:background .2s ease, color .2s ease; }
.detail-purchase-btn:hover { background:#2166f3; color:#fff; }
.detail-support { margin:15px 0 0; color:var(--muted); font-size:12px; }
.detail-support a { color:var(--blue); font-weight:800; }
.detail-tabs-section { padding:0 0 94px; background:#f8fbfe; }
.detail-tabs { display:flex; gap:28px; border-bottom:1px solid #cfdeeb; }
.detail-tab { padding:18px 0 14px; border:0; border-bottom:2px solid transparent; background:transparent; color:#74869b; font-size:13px; font-weight:800; }
.detail-tab.is-active, .detail-tab:hover { color:var(--blue); border-bottom-color:var(--blue); }
.detail-panel { padding:30px 0 0; }
.detail-panel h2 { margin:0 0 10px; font-size:25px; }
.detail-panel p { max-width:800px; margin:0; color:#52657e; font-size:14px; line-height:1.75; }
.detail-callouts { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; margin-top:26px; }
.detail-callouts div { padding:17px; border:1px solid #d7e5f0; border-radius:10px; background:#fff; }
.detail-callouts strong { display:block; font-size:13px; }
.detail-callouts span { display:block; margin-top:5px; color:var(--muted); font-size:11px; line-height:1.5; }
.cart-backdrop { position:fixed; z-index:79; inset:0; background:rgba(9,25,45,.28); opacity:0; transition:opacity .3s ease; }
.cart-backdrop.is-open { opacity:1; }
.cart-drawer { position:fixed; z-index:80; top:0; right:0; width:min(440px, 100%); height:100dvh; overflow:auto; background:#fff; border-left:1px solid #dbe3eb; box-shadow:-18px 0 44px rgba(9,25,45,.16); transform:translateX(100%); visibility:hidden; transition:transform .36s cubic-bezier(.2,.75,.25,1), visibility .36s; }
.cart-drawer.is-open { transform:translateX(0); visibility:visible; }
.products-cart-drawer { left:auto; right:0; border-right:0; border-left:1px solid #dbe3eb; box-shadow:-18px 0 44px rgba(9,25,45,.16); transform:translateX(100%); }
.cart-drawer-head { min-height:62px; padding:0 20px; border-bottom:1px solid #e2e8ee; display:flex; align-items:center; justify-content:space-between; }
.cart-drawer-head h2 { margin:0; font-size:20px; }
.cart-drawer-head button { width:36px; height:36px; padding:0; border:0; background:transparent; color:#111; display:grid; place-items:center; }
.cart-line { display:grid; grid-template-columns:22px 92px 1fr; gap:12px; align-items:start; padding:28px 20px 20px; }
.cart-line > input { margin-top:34px; accent-color:#1677ff; }
.cart-line > img { width:92px; height:112px; object-fit:contain; background:#f8fbfe; }
.cart-line-info { min-width:0; }
.cart-line-info strong { display:block; min-height:46px; font-size:14px; line-height:1.4; }
.cart-line-info > span { display:block; margin:6px 0 12px; color:#394b60; font-size:14px; }
.cart-quantity { grid-template-columns:38px 52px 38px; height:40px; }
.cart-select-row { padding:14px 20px; border-block:1px solid #e2e8ee; display:flex; justify-content:space-between; align-items:center; color:#314258; font-size:13px; }
.cart-select-row label { display:flex; align-items:center; gap:10px; }
.cart-select-row input { accent-color:#1677ff; }
.cart-select-row a { font-weight:700; }
.cart-subtotal { padding:16px 20px; display:flex; justify-content:space-between; font-size:15px; }
.cart-subtotal span { color:#ff4655; font-weight:900; }
.cart-checkout { min-height:48px; margin:50px 20px 24px; background:#000; color:#fff; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:800; }
body.cart-open { overflow:hidden; }

.checkout-page { min-height:100vh; background:#fff; color:#272727; font-family:Arial, "Segoe UI", sans-serif; }
.checkout-shell { min-height:100vh; display:grid; grid-template-columns:minmax(0, 1.45fr) minmax(390px, .85fr); }
.checkout-form-panel { min-width:0; border-right:1px solid #dedede; background:#fff; }
.checkout-form-inner { width:min(640px, calc(100% - 64px)); margin:0 auto; padding:58px 0 88px; }
.checkout-title-link { display:block; width:max-content; max-width:100%; color:#292929; }
.checkout-title-link h1 { max-width:540px; margin:0; font-size:30px; font-weight:400; line-height:1.12; letter-spacing:0; }
.checkout-form { margin-top:53px; }
.checkout-section { margin-top:35px; }
.checkout-section:first-child { margin-top:0; }
.checkout-section h2 { margin:0 0 20px; color:#111; font-size:18px; font-weight:500; line-height:1.3; letter-spacing:0; }
.checkout-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:15px 16px; }
.checkout-field { display:block; min-width:0; }
.checkout-field-full { grid-column:1 / -1; }
.checkout-field input, .checkout-field select, .checkout-field textarea { width:100%; border:1px solid #c9c9c9; border-radius:4px; background:#fff; color:#222; font:inherit; font-size:14px; outline:none; transition:border-color .2s ease, box-shadow .2s ease; }
.checkout-field input, .checkout-field select { height:49px; padding:0 14px; }
.checkout-field textarea { min-height:112px; padding:14px; resize:vertical; }
.checkout-field select { appearance:none; background-image:linear-gradient(45deg, transparent 50%, #666 50%),linear-gradient(135deg, #666 50%, transparent 50%); background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.checkout-field input:focus, .checkout-field select:focus, .checkout-field textarea:focus { border-color:#2166f3; box-shadow:0 0 0 3px rgba(33,102,243,.1); }
.checkout-check, .checkout-radio-list label { display:flex; align-items:center; gap:10px; color:#626262; font-size:14px; }
.checkout-check { margin-top:12px; }
.checkout-check input, .checkout-radio-list input, .checkout-payment-option > input { width:16px; height:16px; flex:0 0 auto; margin:0; accent-color:#1677ff; }
.checkout-payment-list { overflow:hidden; border:1px solid #c9c9c9; border-radius:5px; }
.checkout-payment-option { display:flex; align-items:flex-start; gap:12px; padding:16px; border-bottom:1px solid #d8d8d8; background:#fff; }
.checkout-payment-option:last-child { border-bottom:0; }
.checkout-payment-option > input { margin-top:2px; }
.checkout-payment-copy { display:grid; gap:11px; min-width:0; }
.checkout-payment-copy strong { color:#222; font-size:15px; font-weight:600; }
.checkout-payment-copy > span { color:#444; font-size:13px; line-height:1.55; }
.checkout-notice { margin:0; padding:15px 16px; border:1px solid #c9c9c9; border-radius:5px; color:#444; font-size:13px; line-height:1.6; }
.checkout-radio-list { display:grid; gap:0; overflow:hidden; border:1px solid #c9c9c9; border-radius:5px; }
.checkout-radio-list label { min-height:50px; padding:0 16px; border-bottom:1px solid #ddd; color:#333; }
.checkout-radio-list label:last-child { border-bottom:0; }
.checkout-form-actions { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:30px; }
.checkout-return { color:#2772ca; font-size:14px; }
.checkout-return:hover { color:#084984; }
.checkout-pay-button { min-width:150px; min-height:50px; padding:0 25px; border:1px solid #276fbf; border-radius:5px; background:#2772ca; color:#fff; font-size:16px; font-weight:700; transition:background .2s ease, transform .2s ease; }
.checkout-pay-button:hover { background:#165fae; transform:translateY(-1px); }
.checkout-pay-button:focus-visible { outline:2px solid #2166f3; outline-offset:3px; }
.checkout-form-note { margin:18px 0 0; padding:12px 14px; border:1px solid #b9d9c4; border-radius:5px; background:#f2fbf5; color:#277545; font-size:13px; }
.checkout-summary { min-width:0; background:#f7f7f7; }
.checkout-summary-inner { position:sticky; top:0; width:min(450px, calc(100% - 58px)); margin:0 auto; padding:78px 0 72px; }
.checkout-product-summary { position:relative; display:grid; grid-template-columns:74px minmax(0,1fr); gap:18px; align-items:center; }
.checkout-product-thumb { width:74px; height:74px; overflow:hidden; border:1px solid #dedede; border-radius:7px; background:#fff; }
.checkout-product-thumb img { width:100%; height:100%; object-fit:contain; }
.checkout-quantity-badge { position:absolute; top:-8px; left:62px; display:grid; place-items:center; width:21px; height:21px; border-radius:50%; background:#777; color:#fff; font-size:11px; font-weight:700; }
.checkout-product-copy { min-width:0; display:grid; gap:4px; }
.checkout-product-copy strong { color:#222; font-size:14px; line-height:1.35; }
.checkout-product-copy span { color:#222; font-size:14px; font-weight:700; }
.checkout-help-card { margin:36px 0 20px auto; padding:16px; border:1px solid #e1e1e1; border-radius:7px; background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.07); color:#444; font-size:14px; line-height:1.55; }
.checkout-help-card a { color:#169d5e; text-decoration:underline; }
.checkout-contact-actions { display:grid; gap:8px; margin-left:auto; }
.checkout-contact-actions a { display:flex; min-height:38px; align-items:center; justify-content:center; padding:7px 12px; border:1px solid #2772ca; border-radius:7px; background:#fff; color:#2772ca; text-align:center; font-size:13px; line-height:1.35; }
.checkout-contact-actions a:hover { background:#edf5ff; }
.checkout-totals { display:grid; gap:14px; margin:42px 0 0; padding:0 0 26px; border-bottom:1px solid #d8d8d8; }
.checkout-totals div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:18px; align-items:start; }
.checkout-totals dt, .checkout-totals dd { margin:0; color:#555; font-size:14px; }
.checkout-totals dd { text-align:right; }
.checkout-total { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-top:24px; }
.checkout-total span { color:#555; font-size:15px; }
.checkout-total strong { color:#222; font-size:25px; font-weight:400; }

.content-page h2 { margin-top:0; font-size:30px; }
.content-page p { color:var(--muted); max-width:760px; }
.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:32px; }
.info-card { border:1px solid var(--line); border-radius:13px; padding:22px; background:#fff; box-shadow:0 8px 24px rgba(45,93,147,.05); }
.info-card h3 { margin:0 0 7px; font-size:16px; } .info-card p { font-size:12px; margin:0; }

/* Research Articles listing */
.research-articles-page { background:linear-gradient(180deg, #fff 0%, #eaf2fd 100%); }
.research-articles-wrap { padding:62px 0 96px; }
.research-articles-intro { max-width:1120px; margin:0 0 34px; }
.research-articles-intro h1 { margin:0 0 12px; color:var(--ink); font-size:clamp(34px,4vw,50px); line-height:1.08; letter-spacing:0; }
.research-articles-intro p { max-width:1040px; margin:0; color:var(--ink); font-size:18px; line-height:1.55; }
.research-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.research-article-card { display:flex; min-width:0; min-height:526px; overflow:hidden; flex-direction:column; border:1px solid #d4e4f5; border-radius:13px; background:#fff; box-shadow:0 8px 22px rgba(36,88,145,.1); transition:transform .2s ease, box-shadow .2s ease; }
.research-article-card:hover { transform:translateY(-4px); box-shadow:0 16px 32px rgba(36,88,145,.17); }
.research-article-card img { display:block; width:100%; height:250px; flex:none; object-fit:cover; background:#edf4ff; }
.research-article-card-copy { display:flex; min-width:0; flex:1; flex-direction:column; padding:24px 28px 24px; }
.research-article-card h2 { margin:0 0 13px; color:var(--ink); font-size:19px; line-height:1.4; letter-spacing:0; }
.research-article-card p { display:-webkit-box; margin:0; overflow:hidden; color:#64778f; font-size:14px; line-height:1.65; -webkit-line-clamp:4; -webkit-box-orient:vertical; }
.research-article-card .article-link { display:inline-flex; align-items:center; gap:7px; margin-top:auto; padding-top:28px; color:#2166f3; font-size:13px; font-weight:800; }
.research-article-card .article-link span { font-size:17px; line-height:1; transition:transform .2s ease; }
.research-article-card:hover .article-link span { transform:translateX(3px); }
.article-pagination { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:34px; }
.article-pagination button, .article-pagination .article-pagination-page { display:grid; width:38px; height:38px; place-items:center; border:1px solid #c9dced; border-radius:50%; background:#fff; color:#55708d; font:inherit; font-size:14px; cursor:pointer; transition:background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.article-pagination button:hover:not(:disabled), .article-pagination .article-pagination-page:hover { border-color:#2166f3; color:#2166f3; transform:translateY(-1px); }
.article-pagination button:disabled { cursor:not-allowed; opacity:.4; }
.article-pagination .article-pagination-page.is-active { border-color:#2166f3; background:#2166f3; color:#fff; }
.article-pagination [data-article-page-numbers] { display:flex; gap:8px; }

.coa-section { position:relative; scroll-margin-top:140px; padding:74px 0 100px; background:#eef5fc url("../assets/bg2.png") center top / cover no-repeat; }
.coa-section [hidden] { display:none !important; }
.coa-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:42px; align-items:start; }
.coa-sidebar { position:sticky; top:126px; }
.coa-search { position:relative; margin-bottom:20px; }
.coa-search input { width:100%; height:50px; padding:0 48px 0 16px; border:1px solid #d6dee8; border-radius:26px; background:#fff; color:var(--ink); outline:none; }
.coa-search input:focus { border-color:#8cb5dc; box-shadow:0 0 0 3px rgba(14,98,180,.11); }
.coa-search button { position:absolute; top:7px; right:7px; display:grid; width:36px; height:36px; place-items:center; padding:0; border:0; border-radius:50%; background:transparent; color:var(--ink); }
.coa-sidebar-image { overflow:hidden; aspect-ratio:1 / 1.05; border-radius:16px; background:#fff; box-shadow:0 12px 30px rgba(32,77,138,.12); }
.coa-sidebar-image img { width:100%; height:100%; object-fit:cover; }
.coa-sidebar-link { display:flex; min-height:46px; margin-top:18px; align-items:center; justify-content:center; border-radius:999px; background:#2166f3; color:#fff; font-size:15px; font-weight:800; box-shadow:0 10px 18px rgba(33,102,243,.2); transition:background .2s ease, transform .2s ease; }
.coa-sidebar-link:hover { background:#084984; transform:translateY(-2px); }
.coa-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:24px; }
.coa-heading h1, .coa-heading h2 { margin:8px 0 0; color:var(--ink); font-size:clamp(32px,4vw,48px); line-height:1.08; letter-spacing:-.02em; }
.coa-heading p { max-width:390px; margin:0 0 4px; color:#52657c; font-size:15px; line-height:1.6; }
.coa-report-list { display:grid; gap:14px; }
.coa-report-card { display:grid; grid-template-columns:172px minmax(0,1fr); min-height:172px; overflow:hidden; border:1px solid rgba(186,208,231,.9); border-radius:12px; background:rgba(255,255,255,.94); box-shadow:0 10px 24px rgba(36,88,145,.1); transition:transform .2s ease, box-shadow .2s ease; }
.coa-report-card:hover { transform:translateY(-2px); box-shadow:0 15px 28px rgba(36,88,145,.15); }
.coa-report-preview { display:block; overflow:hidden; background:#f5f8fc; }
.coa-report-preview img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.coa-report-card:hover .coa-report-preview img { transform:scale(1.035); }
.coa-report-copy { display:flex; min-width:0; flex-direction:column; padding:21px 24px 19px; }
.coa-report-meta { display:flex; align-items:center; gap:16px; color:#73849a; font-size:12px; }
.coa-report-meta span::before { content:""; display:inline-block; width:4px; height:4px; margin:0 8px 2px 0; border-radius:50%; background:#9aabba; }
.coa-report-copy h2, .coa-report-copy h3 { margin:8px 0 4px; color:var(--ink); font-size:20px; line-height:1.25; }
.coa-report-copy p { margin:0; color:#64778f; font-size:14px; }
.coa-download { display:inline-flex; align-items:center; gap:7px; width:max-content; margin-top:auto; padding-top:14px; color:#2166f3; font-size:13px; font-weight:800; }
.coa-download:hover { color:#084984; }
.coa-download span { font-size:17px; line-height:1; }
.coa-pagination { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:28px; }
.coa-pagination button, .coa-pagination .coa-pagination-page { display:grid; width:38px; height:38px; place-items:center; border:1px solid #c9dced; border-radius:50%; background:#fff; color:#55708d; font:inherit; font-size:14px; cursor:pointer; transition:background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.coa-pagination button:hover:not(:disabled), .coa-pagination .coa-pagination-page:hover { border-color:#2166f3; color:#2166f3; transform:translateY(-1px); }
.coa-pagination button:disabled { cursor:not-allowed; opacity:.4; }
.coa-pagination .coa-pagination-page.is-active { border-color:#2166f3; background:#2166f3; color:#fff; }
.coa-pagination [data-coa-page-numbers] { display:flex; gap:8px; }
.coa-empty { padding:34px 24px; border:1px solid #d6e4f2; border-radius:12px; background:rgba(255,255,255,.9); color:#5e7085; text-align:center; }
.coa-faq { display:grid; gap:12px; }
.coa-faq-heading { justify-content:flex-start; margin-bottom:14px; }
.coa-faq-heading h1 { margin:0; }
.coa-faq-item { overflow:hidden; border:1px solid #d3d9e1; border-left:6px solid #2166f3; border-radius:0 9px 9px 0; background:rgba(255,255,255,.94); box-shadow:0 8px 18px rgba(36,88,145,.09); }
.coa-faq-item h2 { margin:0; }
.coa-faq-question { display:grid; grid-template-columns:22px minmax(0,1fr) 22px; gap:8px; width:100%; align-items:center; padding:21px 17px 20px 13px; border:0; background:transparent; color:var(--ink); text-align:left; font-size:16px; font-weight:800; line-height:1.4; }
.coa-faq-question:hover { color:#0e62b4; }
.coa-faq-question:focus-visible { outline:2px solid var(--blue); outline-offset:-3px; }
.coa-faq-mark { color:#2166f3; font-size:16px; font-weight:900; }
.coa-faq-icon { justify-self:end; color:#13253b; font-size:22px; font-weight:700; line-height:1; }
.coa-faq-answer { padding:0 18px 21px 13px; }
.coa-faq-answer p { display:grid; grid-template-columns:22px minmax(0,1fr); gap:8px; margin:0; color:#132d4d; font-size:15px; line-height:1.65; }
.coa-faq-answer strong { color:#2166f3; font-size:16px; }

/* Peptide Information glossary and article pages */
.information-page,
.information-article-page { background:linear-gradient(180deg, #fff 0%, #eaf2fd 100%); }
.information-overview { padding:62px 0 96px; }
.information-layout { display:grid; grid-template-columns:320px minmax(0, 1fr); gap:48px; align-items:start; }
.information-sidebar { position:sticky; top:164px; overflow:hidden; border:1px solid #d9e6f2; border-radius:8px; background:#fff; box-shadow:0 14px 34px rgba(44,87,135,.08); }
.information-sidebar h2 { margin:0; padding:18px 20px; border-left:4px solid var(--blue); border-bottom:1px solid #e2ebf4; color:var(--ink); font-size:20px; line-height:1.2; }
.glossary-list { margin:0; padding:8px 0; list-style:none; }
.glossary-list li { margin:0; }
.glossary-list a { display:flex; align-items:flex-start; gap:10px; padding:10px 20px; color:#52657e; font-size:13px; line-height:1.35; transition:background .2s ease, color .2s ease, padding-left .2s ease; }
.glossary-list a::before { content:""; flex:0 0 auto; width:7px; height:7px; margin-top:5px; border-top:1.5px solid #8fb4d7; border-right:1.5px solid #8fb4d7; transform:rotate(45deg); }
.glossary-list a:hover { padding-left:25px; background:#f3f8fd; color:var(--blue); }
.glossary-list a:hover::before { border-color:var(--blue); }
.information-main { min-width:0; }
.information-main > h1 { margin:0 0 28px; color:var(--ink); font-size:clamp(34px, 4vw, 54px); line-height:1.06; letter-spacing:0; }
.information-feature { display:grid; grid-template-columns:minmax(260px,.92fr) minmax(0,1.08fr); min-height:270px; overflow:hidden; border:1px solid #cfe0ee; border-radius:8px; background:#fff; box-shadow:0 16px 38px rgba(44,87,135,.1); }
.information-feature-media { min-height:270px; background:#dcecf8; }
.information-feature-media img { width:100%; height:100%; object-fit:cover; }
.information-feature-copy { display:flex; flex-direction:column; justify-content:center; padding:34px 38px; }
.information-feature-copy .section-kicker { margin-bottom:11px; }
.information-feature-copy h2 { margin:0 0 12px; color:var(--ink); font-size:26px; line-height:1.14; letter-spacing:0; }
.information-feature-copy p { margin:0; color:#52657e; font-size:13px; line-height:1.72; }
.information-feature-copy .btn { align-self:flex-start; margin-top:22px; min-width:132px; }
.information-basics { margin-top:64px; }
.information-basics-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.information-basics-head h2 { margin:0; color:var(--ink); font-size:26px; letter-spacing:0; }
.information-basics-head p { margin:0; color:var(--muted); font-size:12px; }
.information-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.information-article-card { display:flex; min-width:0; min-height:390px; overflow:hidden; flex-direction:column; border:1px solid #d5e3ef; border-radius:8px; background:#fff; box-shadow:0 10px 26px rgba(45,93,147,.06); transition:transform .2s ease, box-shadow .2s ease; }
.information-article-card:hover { transform:translateY(-3px); box-shadow:0 17px 32px rgba(45,93,147,.13); }
.information-article-card img { width:100%; height:188px; min-height:188px; object-fit:cover; }
.information-article-card-copy { display:flex; flex:1; min-width:0; flex-direction:column; padding:20px 20px 18px; }
.information-article-card h3 { margin:0 0 7px; color:var(--ink); font-size:15px; line-height:1.3; }
.information-article-card p { display:-webkit-box; margin:0; overflow:hidden; color:#61748d; font-size:11px; line-height:1.55; -webkit-line-clamp:4; -webkit-box-orient:vertical; }
.information-article-card .article-link { margin-top:auto; padding-top:12px; color:var(--blue); font-size:11px; font-weight:900; }
.information-article-page .article-wrap { padding:38px 0 102px; }
.information-detail-layout { display:grid; grid-template-columns:320px minmax(0,1fr); gap:48px; align-items:start; }
.information-detail-layout .information-sidebar { position:sticky; top:164px; overflow:hidden; border:1px solid #d9e6f2; border-radius:8px; background:#fff; box-shadow:0 14px 34px rgba(44,87,135,.08); }
.information-detail-layout .information-sidebar h2 { margin:0; padding:18px 20px; border-left:4px solid var(--blue); border-bottom:1px solid #e2ebf4; color:var(--ink); font-size:20px; line-height:1.2; }
.information-detail-layout .glossary-list { margin:0; padding:8px 0; list-style:none; }
.information-detail-layout .glossary-list a { display:flex; align-items:flex-start; gap:10px; padding:10px 20px; color:#52657e; font-size:13px; line-height:1.35; transition:background .2s ease, color .2s ease, padding-left .2s ease; }
.information-detail-layout .glossary-list a::before { content:""; flex:0 0 auto; width:7px; height:7px; margin-top:5px; border-top:1.5px solid #8fb4d7; border-right:1.5px solid #8fb4d7; transform:rotate(45deg); }
.information-detail-layout .glossary-list a:hover { padding-left:25px; background:#f3f8fd; color:var(--blue); }
.information-detail-layout .glossary-list a:hover::before { border-color:var(--blue); }
.article-sidebar-column { min-width:0; position:sticky; top:164px; align-self:start; }
.article-sidebar-column .information-sidebar { position:static; }
.article-sidebar-promo { margin-top:22px; padding:18px 16px 16px; border:1px solid #d9e6f2; border-radius:8px; background:#fff; box-shadow:0 14px 34px rgba(44,87,135,.08); }
.article-sidebar-promo-media { overflow:hidden; border-radius:16px; background:#f2f5f8; }
.article-sidebar-promo-media img { width:100%; height:auto; aspect-ratio:630 / 692; object-fit:cover; }
.article-sidebar-promo-link { display:flex; min-height:44px; margin-top:16px; align-items:center; justify-content:center; border-radius:999px; background:#2166f3; color:#fff; font-size:15px; font-weight:800; transition:background .2s ease, transform .2s ease; }
.article-sidebar-promo-link:hover { background:#0e62b4; transform:translateY(-1px); }
.article-shell { min-width:0; max-width:none; margin:0; padding:0 10px 0 0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.article-shell .article-kicker { display:block; margin:0 0 8px; color:var(--blue); font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.article-shell h1 { margin:0 0 18px; color:var(--ink); font-size:clamp(32px,4vw,50px); line-height:1.08; letter-spacing:0; }
.article-meta { display:flex; flex-wrap:wrap; align-items:center; gap:9px 22px; margin:0 0 38px; color:#52657e; font-size:13px; }
.article-meta span { display:inline-flex; align-items:center; gap:7px; }
.article-meta svg { color:#536a82; flex:none; }
.article-shell .article-disclaimer { margin:0 0 30px; color:#172a40; font-size:14px; line-height:1.7; }
.article-shell .article-disclaimer strong { display:block; margin-bottom:16px; color:#102237; font-size:14px; line-height:1.55; text-transform:uppercase; }
.article-shell .article-rule { height:1px; width:100%; margin:0 0 42px; background:#9baab8; }
.article-shell .article-body h2 { margin:0 0 28px; color:var(--ink); font-size:26px; line-height:1.25; letter-spacing:0; }
.article-shell .article-body h3 { margin:30px 0 13px; color:var(--ink); font-size:18px; line-height:1.35; }
.article-shell .article-body p { margin:0 0 15px; color:#17304b; font-size:16px; line-height:1.72; }
.article-shell .article-body p:last-child { margin-bottom:0; }
.article-shell .article-body strong { color:#132a42; }
.article-shell > .article-summary { margin:0; color:#17304b; font-size:16px; line-height:1.72; }
.article-shell .article-return { display:inline-flex; align-items:center; gap:8px; margin-top:34px; color:var(--blue); font-size:13px; font-weight:900; }
.article-shell .article-return::before { content:"←"; font-size:16px; }
.contact-layout { display:grid; grid-template-columns: .9fr 1.1fr; gap:50px; align-items:start; }
.contact-form { border:1px solid var(--line); border-radius:15px; padding:25px; background:#fff; box-shadow:var(--shadow); }
.contact-form label { display:block; font-size:12px; font-weight:800; margin:0 0 6px; } .contact-form input, .contact-form textarea { width:100%; border:1px solid #cbdbea; border-radius:8px; padding:10px 12px; margin:0 0 15px; outline:none; } .contact-form textarea { min-height:120px; resize:vertical; }
.contact-form input:focus, .contact-form textarea:focus { border-color:#8ab2e5; box-shadow:0 0 0 3px rgba(14,98,180,.1); }
.contact-page { background:#eef6fd url("../assets/bg2.png") center top / cover no-repeat; }
.contact-page-hero { padding:58px 0 50px; background:#fff; border-bottom:0; }
.contact-page-hero .container { display:block; }
.contact-page-hero h1 { margin:0; }
.contact-content-page { padding:64px 0 90px; background:#eef6fd url("../assets/bg2.png") center top / cover no-repeat; }
.contact-content-page .contact-layout { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }

.auth-page { min-height:calc(100vh - 360px); background:#fff; }
.auth-content { padding:62px 0 88px; }
.login-card { width:min(580px, 100%); margin:0 auto; padding:26px 15px 22px; border:1px solid #d4dce5; background:#fff; }
.login-card h1 { margin:0 0 14px; text-align:center; color:#101d2e; font-size:40px; line-height:1.2; letter-spacing:0; }
.login-form label { display:block; margin:0 0 5px; color:#101d2e; font-size:15px; font-weight:800; }
.login-form input { width:100%; height:40px; margin:0 0 20px; border:1px solid #c5ced8; border-radius:6px; background:#fff; box-shadow:inset 0 1px 3px rgba(22,42,67,.14); padding:0 11px; color:var(--ink); outline:none; }
.login-form input:focus { border-color:#6598d5; box-shadow:0 0 0 3px rgba(33,102,243,.12); }
.login-form .btn { width:100%; min-height:40px; margin-top:9px; border-radius:6px; font-size:16px; font-weight:700; box-shadow:none; }
.login-options { display:flex; justify-content:center; flex-wrap:wrap; gap:0 10px; margin:26px 0 0; color:#26384d; font-size:16px; }
.login-options a:hover { color:var(--blue); }
.login-options span { color:#a5b1bf; }
.register-panel { width:min(560px, 100%); margin:0 auto; }
.register-panel h1 { margin:0 0 8px; text-align:center; color:#101d2e; font-size:38px; line-height:1.2; letter-spacing:0; }
.register-form label { display:block; margin:0 0 4px; color:#18283e; font-size:16px; }
.register-form .required-label::first-letter { color:#d92323; }
.register-form input { width:100%; height:36px; margin:0 0 12px; border:1px solid #c5ced8; border-radius:6px; background:#fff; box-shadow:inset 0 1px 3px rgba(22,42,67,.14); padding:0 11px; color:var(--ink); outline:none; }
.register-form input:focus { border-color:#6598d5; box-shadow:0 0 0 3px rgba(33,102,243,.12); }
.verify-code-row { display:grid; grid-template-columns:minmax(0, 1fr) 210px; gap:18px; align-items:center; margin-bottom:32px; }
.register-form .verify-code-row input { margin:0; }
.captcha-code { display:flex; align-items:center; justify-content:center; min-height:36px; overflow:hidden; background:repeating-linear-gradient(8deg, transparent 0 7px, rgba(45,112,190,.14) 8px 9px, transparent 10px 16px); color:#2065d9; font-size:27px; font-family:Georgia, serif; font-style:italic; letter-spacing:13px; }
.captcha-code span:nth-child(1) { color:#d4c400; transform:rotate(-14deg); }
.captcha-code span:nth-child(2) { color:#40a38f; transform:rotate(9deg); }
.captcha-code span:nth-child(3) { color:#28b5d5; transform:rotate(-7deg); }
.captcha-code span:nth-child(4) { color:#91b21b; transform:rotate(13deg); }
.register-form .btn { width:100%; min-height:40px; border-radius:6px; box-shadow:none; }
.account-page { min-height:calc(100vh - 360px); background:#f6faff url("../assets/bg2.png") center top / cover no-repeat; }
.account-content { padding:58px 0 88px; }
.account-shell { display:grid; grid-template-columns:250px minmax(0, 1fr); gap:34px; align-items:start; }
.account-sidebar { overflow:hidden; border:1px solid #d8e5f2; border-radius:8px; background:#fff; box-shadow:0 12px 30px rgba(35,79,126,.08); }
.account-summary { padding:24px 22px 20px; border-bottom:1px solid #e5edf5; }
.account-summary .account-avatar { width:48px; height:48px; display:grid; place-items:center; margin-bottom:13px; border-radius:50%; background:#eaf4ff; color:var(--blue); }
.account-summary .account-avatar svg { width:25px; height:25px; }
.account-summary h1 { margin:0 0 4px; font-size:19px; line-height:1.25; letter-spacing:0; }
.account-summary p { margin:0; color:#71839a; font-size:13px; overflow-wrap:anywhere; }
.account-nav { padding:8px 0; }
.account-nav button { width:100%; display:flex; align-items:center; gap:11px; min-height:46px; padding:0 22px; border:0; border-left:3px solid transparent; background:transparent; color:#4e6179; text-align:left; font:inherit; font-size:14px; font-weight:700; }
.account-nav button svg { width:18px; height:18px; }
.account-nav button:hover, .account-nav button.is-active { border-left-color:var(--blue); background:#f0f6fd; color:var(--blue); }
.account-panel { min-width:0; padding:34px; border:1px solid #d8e5f2; border-radius:8px; background:#fff; box-shadow:0 12px 30px rgba(35,79,126,.08); }
.account-panel[hidden] { display:none; }
.account-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding-bottom:24px; border-bottom:1px solid #e4edf5; }
.account-panel h2 { margin:0; color:#102237; font-size:28px; line-height:1.2; letter-spacing:0; }
.account-panel-head p { margin:7px 0 0; color:#6a7d94; font-size:14px; }
.account-form-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:19px 22px; margin-top:28px; }
.account-form-grid label { display:grid; gap:6px; color:#33485f; font-size:13px; font-weight:800; }
.account-form-grid input { height:42px; width:100%; border:1px solid #cad9e8; border-radius:6px; padding:0 12px; color:var(--ink); font:inherit; outline:none; }
.account-form-grid input:focus { border-color:#6598d5; box-shadow:0 0 0 3px rgba(33,102,243,.12); }
.account-form-actions { display:flex; align-items:center; gap:14px; margin-top:27px; }
.account-form-actions [data-account-note] { color:#348152; font-size:13px; font-weight:700; }
.order-empty, .address-empty { display:grid; justify-items:center; gap:10px; padding:58px 20px; text-align:center; color:#60718a; }
.order-empty svg, .address-empty svg { width:38px; height:38px; color:#8aaed1; }
.order-empty h3, .address-empty h3 { margin:0; color:#21374f; font-size:17px; }
.order-empty p, .address-empty p { max-width:360px; margin:0; font-size:14px; }
.address-actions { display:flex; align-items:center; gap:12px; }
.address-form { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:17px 20px; margin-top:26px; }
.address-form label { display:grid; gap:6px; color:#33485f; font-size:13px; font-weight:800; }
.address-form input, .address-form select { height:42px; width:100%; border:1px solid #cad9e8; border-radius:6px; padding:0 12px; background:#fff; color:var(--ink); font:inherit; outline:none; }
.address-form .full-width { grid-column:1 / -1; }

[data-reveal] { opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
[data-reveal].is-visible { opacity:1; transform:none; }

@media (max-width: 1024px) {
  .container { width:min(var(--max), calc(100% - 34px)); }
  .header-top { grid-template-columns: 195px minmax(200px, 1fr) auto; gap:16px; }
  .site-header .brand, .site-header .brand-mark { width:195px; }
  .header-actions .account-dropdown, .header-actions .sign-in { display:none; }
  .nav-links { gap:20px; }
  .product-grid { grid-template-columns:repeat(4, minmax(0,1fr)); }
  .research-products-page .product-grid { grid-template-columns:repeat(4, minmax(0,1fr)); }
  .research-products-page .section-head { margin-bottom:54px; }
  .research-products-page .tab { padding-inline:17px; }
  .popular-catalog-head, .popular-catalog-layout { grid-template-columns:250px minmax(0,1fr); }
  .popular-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .carousel { grid-auto-columns:calc((100% - 102px) / 4); }
  .carousel-btn.prev { left:-10px; }
  .carousel-btn.next { right:-10px; }
  .trust-layout { grid-template-columns:1fr; align-items:start; }
  .trust-cards { margin-top:8px; }
}
@media (max-width: 760px) {
  .container { width:calc(100% - 28px); }
  .catalog-breadcrumb nav { overflow:auto; white-space:nowrap; font-size:12px; }
  .site-header { position:relative; }
  .header-top { min-height:74px; grid-template-columns:1fr auto; }
  .brand-mark { width:48px; height:48px; } .brand-copy strong { font-size:15px; } .brand-copy span { font-size:8px; }
  .site-header .brand, .site-header .brand-mark { width:200px; }
  .site-header .brand-mark { height:56px; }
  .search { grid-column:1 / -1; grid-row:2; margin-bottom:10px; }
  .header-top { padding:12px 0 0; }
  .menu-toggle { display:grid; }
  .nav-row { display:none; } .nav-row.is-open { display:block; }
  .nav { display:block; padding:8px 0 14px; }
  .nav-links, .nav-side { display:grid; gap:0; } .nav-links a { padding:11px 0; border-bottom:1px solid #edf2f7; } .nav-side { grid-template-columns:1fr 1fr; gap:0 20px; margin-top:3px; } .nav-side a { padding:11px 0; }
  .nav-dropdown { display:block; }
  .nav-dropdown-menu { position:static; width:auto; padding:0 0 4px 16px; border:0; box-shadow:none; opacity:1; visibility:visible; transform:none; }
  .nav-dropdown-menu a { padding:9px 0; font-size:13px; }
  .hero-media { aspect-ratio: 1 / .75; min-height:390px; background-position:58% center; }
  .hero-content { align-items:flex-end; padding-bottom:34px; } .hero-copy { width:100%; max-width:470px; } .hero h1 { font-size:38px; } .hero-lead { font-size:16px; } .hero-points { font-size:12px; }
  .hero-arrow { width:36px; height:56px; }
  .hero-arrow img { width:22px; height:22px; }
  .virtual-showroom { padding:64px 0; }
  .virtual-showroom-head { margin-bottom:20px; }
  .virtual-showroom-head h2 { font-size:30px; }
  .virtual-showroom-head p { font-size:13px; }
  .virtual-showroom-player { width:100%; height:auto; min-height:0; aspect-ratio:912 / 490; }
  .virtual-showroom-video-launch { top:16px; right:16px; min-width:44px; width:44px; height:44px; padding:0; justify-content:center; }
  .virtual-showroom-video-launch span { display:none; }
  .virtual-showroom-video-modal { width:calc(100% - 20px); border-radius:12px; }
  .virtual-showroom-video-modal-inner { padding:7px; }
  .virtual-showroom-video-modal-close { top:14px; right:14px; width:34px; height:34px; }
  .virtual-showroom-product-stack { left:50%; width:min(425px,calc(100% - 28px)); transform:translate(-50%,-50%); }
  .virtual-showroom-product-stage { height:425px; }
  .virtual-showroom-product-track { width:min(290px,calc(100% - 56px)); }
  .virtual-showroom-arrow-prev { left:0; }
  .virtual-showroom-arrow-next { right:0; }
  .virtual-showroom-add { width:min(290px,calc(100% - 56px)); height:60px; }
  .section { padding:64px 0; }
  #products { margin-top:-64px; }
  .product-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; } .product-card { min-height:285px; padding:9px; } #products .product-card { min-height:344px; } .product-image { height:130px; } #products .product-image { padding:6px; } .product-card h3 { font-size:12px; }
  .research-products-page .section-soft { padding:42px 0 64px; }
  .research-products-page .section-head { margin-bottom:38px; }
  .research-products-page .section-head h1 { font-size:30px; }
  .research-products-page .section-head p { font-size:15px; line-height:1.45; }
  .research-products-page .tabs { gap:8px; margin-bottom:24px; }
  .research-products-page .tab { padding:8px 12px; font-size:11px; }
  .research-products-page .product-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
  .research-products-page .card-actions { gap:6px; }
  .popular-catalog { padding:28px 0 58px; }
  .popular-catalog-head { display:grid; grid-template-columns:1fr; gap:17px; }
  .popular-catalog-head h1 { font-size:30px; }
  .popular-catalog-layout { grid-template-columns:1fr; gap:16px; }
  .popular-category h2 { font-size:18px; }
  .popular-category-list { grid-template-columns:repeat(2,1fr); }
  .popular-category-list button { min-height:44px; font-size:12px; }
  .popular-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .popular-catalog .product-card { min-height:390px; }
  .popular-catalog .product-image { height:175px; }
  .popular-catalog .product-card h3 { font-size:13px; }
  .popular-catalog .product-model { font-size:11px; }
  .popular-catalog .card-actions .btn { min-height:36px; font-size:11px; }
  .pagination { margin-top:26px; }
  .trust-layout, .about-layout, .contact-layout { grid-template-columns:1fr; gap:32px; } .trust-points { grid-template-columns:1fr; }
  .applications-listing { padding:42px 0 70px; }
  .applications-listing h1 { margin-bottom:24px; font-size:36px; }
  .application-grid { grid-template-columns:1fr; gap:14px; }
  .application-card { min-height:0; border-radius:12px; }
  .application-card > img { height:240px; }
  .application-card-copy { padding:24px 22px 25px; }
  .application-card h2 { font-size:17px; }
  .application-card p { font-size:14px; }
  .application-detail-shell { padding:0; }
  .application-detail-wrap { padding:34px 0 70px; }
  .application-detail-shell .article-body p { font-size:15px; line-height:1.7; }
  .about-layout .about-intro { font-size:15px; }
  .company-profile-copy h1 { margin-bottom:34px; font-size:34px; }
  .about-layout .company-profile-section h2 { margin-bottom:16px; font-size:22px; }
  .company-profile-section + .company-profile-section { margin-top:34px; }
  .company-profile-section p { font-size:15px; line-height:1.68; }
  .about-feature { grid-template-columns:36px 1fr; gap:12px; padding:17px 0; }
  .about { padding-bottom:404px; }
  .about::before { width:100%; height:90px; }
  .about::after { inset:auto 0 0; width:100%; height:340px; background-position:center; -webkit-mask-image:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.2) 12%, #000 34%); mask-image:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.2) 12%, #000 34%); }
  .about-layout { padding-bottom:0; }
  .about-image, .about-image img { min-height:420px; }
  .trust-cards { grid-template-columns:1fr; gap:12px; padding-bottom:0; }
  .trust-card, .trust-card:nth-child(2) { top:auto; min-height:250px; padding:26px 24px; border-radius:22px; }
  .trust-icon { margin-bottom:24px; }
  .carousel { grid-auto-columns:calc((100% - 10px) / 2); gap:10px; } .carousel-btn.prev { left:-9px; } .carousel-btn.next { right:-9px; }
  .popular-card { min-height:330px; padding:8px; border-radius:15px; }
  .popular-card .product-image { height:155px; border-radius:9px; }
  .popular-card h3 { min-height:52px; margin:11px 3px 3px; font-size:13px; line-height:1.35; }
  .popular-card .product-model { margin-bottom:10px; font-size:11px; }
  .popular-card .card-actions .btn { min-height:34px; font-size:10px; }
  .promo { padding-bottom:64px; } .promo-copy { width:100%; padding:34px 24px; }
  .showroom-card, .showroom-card img { min-height:300px; } .showroom-overlay { padding:22px; }
  .app-strip { display:grid; grid-template-columns:1fr; gap:12px; height:auto; width:100vw; margin-left:calc(50% - 50vw); overflow:visible; background:transparent; }
  .app-item, .app-item:first-child, .app-item.is-active, .app-strip.has-active .app-item, .app-strip.has-active .app-item.is-active { min-height:290px; height:290px; flex:none; border-radius:12px; }
  .app-item:not(.is-active) img { filter:none; }
  .app-item::after { opacity:1; background:linear-gradient(0deg, rgba(3,29,54,.86) 0%, rgba(3,29,54,.12) 72%); }
  .app-content, .app-item:first-child .app-content, .app-item.is-active .app-content, .app-strip.has-active .app-item .app-content, .app-strip.has-active .app-item.is-active .app-content { left:22px; bottom:22px; width:calc(100% - 44px); opacity:1; transform:none; transition:none; }
  .app-content h3 { font-size:23px; }
  .newsletter-inner { display:grid; min-height:0; padding:24px 20px 30px; gap:24px; } .newsletter form { min-width:0; width:100%; }
  .newsletter-message { gap:14px; }
  .newsletter-icon svg { width:38px; height:38px; }
  .newsletter strong { font-size:18px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:30px 20px; } .footer-brand { grid-column:1 / -1; }
  .footer-bottom { display:grid; gap:6px; }
  .page-hero .container { display:grid; gap:18px; } .page-hero { padding:52px 0; }
  .contact-page-hero { padding:42px 0 36px; }
  .contact-content-page { padding:42px 0 64px; }
  .contact-content-page .contact-layout { padding:0; }
  .auth-content { padding:42px 0 64px; }
  .login-card { padding:24px 20px; }
  .login-card h1 { font-size:34px; }
  .register-panel h1 { font-size:33px; }
  .verify-code-row { grid-template-columns:1fr 170px; gap:12px; }
  .account-content { padding:36px 0 62px; }
  .account-shell { grid-template-columns:1fr; gap:18px; }
  .account-panel { padding:26px 20px; }
  .account-form-grid, .address-form { grid-template-columns:1fr; }
  .account-panel-head { align-items:flex-start; }
  .info-grid { grid-template-columns:1fr; }
  .research-articles-wrap { padding:42px 0 70px; }
  .research-articles-intro { margin-bottom:26px; }
  .research-articles-intro h1 { font-size:36px; }
  .research-articles-intro p { font-size:15px; line-height:1.55; }
  .research-article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .research-article-card { min-height:440px; border-radius:10px; }
  .research-article-card img { height:190px; }
  .research-article-card-copy { padding:18px 17px 19px; }
  .research-article-card h2 { font-size:15px; }
  .research-article-card p { font-size:12px; }
  .research-article-card .article-link { padding-top:20px; font-size:12px; }
  .information-overview { padding:42px 0 70px; }
  .information-layout { grid-template-columns:1fr; gap:32px; }
  .information-sidebar { position:static; }
  .glossary-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .glossary-list a { padding:10px 14px; }
  .information-main > h1 { font-size:36px; }
  .information-feature { grid-template-columns:1fr; }
  .information-feature-media { min-height:220px; }
  .information-feature-copy { padding:28px 24px 30px; }
  .information-basics { margin-top:46px; }
  .information-basics-head { display:grid; gap:7px; }
  .information-article-grid { grid-template-columns:1fr; }
  .research-article-grid { grid-template-columns:1fr; }
  .research-article-card { min-height:0; }
  .research-article-card img { height:220px; }
  .coa-section { padding:46px 0 72px; }
  .coa-layout { grid-template-columns:1fr; gap:28px; }
  .coa-sidebar { position:static; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:stretch; }
  .coa-search { grid-column:1 / -1; margin:0; }
  .coa-sidebar-image { min-height:160px; border-radius:12px; }
  .coa-sidebar-link { min-height:48px; align-self:end; border-radius:999px; }
  .coa-heading { display:grid; gap:10px; margin-bottom:18px; }
  .coa-heading h1, .coa-heading h2 { font-size:34px; }
  .coa-heading p { max-width:none; margin:0; }
  .coa-report-card { grid-template-columns:132px minmax(0,1fr); min-height:148px; }
  .coa-report-copy { padding:16px 17px 15px; }
  .coa-report-copy h2, .coa-report-copy h3 { font-size:17px; }
  .coa-report-copy p { font-size:12px; }
  .coa-report-meta { gap:9px; font-size:11px; }
  .coa-download { padding-top:10px; font-size:12px; }
  .coa-faq-question { grid-template-columns:19px minmax(0,1fr) 20px; padding:17px 13px 16px 10px; font-size:14px; }
  .coa-faq-answer { padding:0 14px 17px 10px; }
  .coa-faq-answer p { grid-template-columns:19px minmax(0,1fr); gap:7px; font-size:13px; line-height:1.62; }
  .coa-faq-mark { font-size:14px; }
  .coa-faq-icon { font-size:20px; }
  .information-detail-layout { grid-template-columns:1fr; gap:32px; }
  .article-sidebar-column { position:static; }
  .information-detail-layout .information-sidebar { position:static; }
  .information-detail-layout .glossary-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .information-detail-layout .glossary-list a { padding:10px 14px; }
  .article-shell { padding:0; }
  .information-article-page .article-wrap { padding:34px 0 70px; }
  .article-meta { margin-bottom:28px; }
  .article-shell .article-body p { font-size:15px; line-height:1.7; }
  .breadcrumbs { min-height:50px; overflow:auto; white-space:nowrap; }
  .product-detail-hero { padding:18px 0 54px; }
  .product-detail-layout { grid-template-columns:1fr; gap:34px; }
  .product-gallery-main { min-height:420px; }
  .product-gallery-main img { height:390px; }
  .product-detail-copy h1 { font-size:34px; }
  .detail-specs div { grid-template-columns:126px 1fr; }
  .detail-actions { max-width:none; }
  .detail-callouts { grid-template-columns:1fr; }
  .detail-tabs { gap:17px; overflow:auto; }
  .cart-drawer { width:min(390px, 100%); }
  .checkout-shell { grid-template-columns:1fr; }
  .checkout-form-panel { border-right:0; }
  .checkout-form-inner { width:calc(100% - 32px); padding:36px 0 58px; }
  .checkout-title-link h1 { font-size:25px; }
  .checkout-form { margin-top:38px; }
  .checkout-grid { grid-template-columns:1fr; }
  .checkout-field-full { grid-column:auto; }
  .checkout-form-actions { align-items:stretch; flex-direction:column-reverse; }
  .checkout-return { text-align:center; }
  .checkout-pay-button { width:100%; }
  .checkout-summary { grid-row:1; border-bottom:1px solid #dedede; }
  .checkout-summary-inner { position:static; width:calc(100% - 32px); padding:34px 0 38px; }
  .checkout-help-card { margin-top:28px; }
}
@media (hover:none) { .hero-arrow { opacity:1; pointer-events:auto; transform:translateY(-50%) scale(1); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }

/* Keep every content page readable at the narrowest phone widths without changing copy. */
@media (max-width: 760px) {
  html, body { overflow-x:hidden; }
  .container, .checkout-form-inner, .checkout-summary-inner { max-width:100%; }
  .site-header .brand { width:min(200px, calc(100vw - 68px)); }
  .site-header .brand-mark { width:100%; }
  .brand-copy strong, .brand-copy span { overflow:hidden; text-overflow:ellipsis; }
  .hero h1, .page-hero h1, .section h1, .section h2, .section h3,
  .product-card h3, .research-article-card h2, .information-article-card h3,
  .application-card h2, .coa-report-copy h2, .coa-report-copy h3,
  .checkout-product-copy strong { overflow-wrap:anywhere; }
  .article-body, .article-shell, .article-shell p, .information-feature-copy,
  .checkout-help-card, .checkout-contact-actions a, .footer-brand p { overflow-wrap:anywhere; }
  .newsletter form { min-width:0; }
  .pagination { flex-wrap:wrap; }
  .detail-specs dd, .detail-support, .contact-list, .account-summary p { overflow-wrap:anywhere; }
}

@media (max-width: 420px) {
  .container { width:calc(100% - 24px); }
  .header-top { gap:12px; }
  .site-header .brand { width:100%; }
  .site-header .brand-mark { height:50px; }
  .hero h1 { font-size:32px; }
  .hero-lead { font-size:15px; }
  .hero-points { font-size:11px; }
  .virtual-showroom-player { aspect-ratio:16 / 10; }
  .virtual-showroom-product-stage, .virtual-showroom-product-track { height:360px; }
  .virtual-showroom-product-stack { width:calc(100% - 24px); }
  .virtual-showroom-product-track { width:min(250px, calc(100% - 46px)); }
  .virtual-showroom-add { width:100%; height:52px; font-size:13px; }
  .product-grid, .research-products-page .product-grid, .popular-grid { gap:8px; }
  .product-card { min-height:270px; padding:8px; }
  #products .product-card { min-height:325px; }
  .product-image { height:118px; }
  #products .product-image { height:132px; }
  .product-card h3 { font-size:11px; }
  .product-model { font-size:9px; }
  .price { font-size:14px; }
  .popular-category-list { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:24px; }
  .footer-brand { grid-column:auto; }
  .verify-code-row { grid-template-columns:1fr; }
  .captcha-code { min-height:44px; }
  .coa-sidebar { grid-template-columns:1fr; }
  .coa-report-card { grid-template-columns:1fr; }
  .coa-report-preview { aspect-ratio:16 / 9; }
  .coa-report-copy { padding:16px; }
  .information-detail-layout .glossary-list { grid-template-columns:1fr; }
  .detail-specs div { grid-template-columns:1fr; gap:4px; }
  .checkout-form-inner, .checkout-summary-inner { width:calc(100% - 24px); }
  .checkout-title-link h1 { font-size:22px; }
  .checkout-summary-inner { padding-top:26px; }
  .checkout-totals div { grid-template-columns:1fr; gap:4px; }
  .checkout-totals dd { text-align:left; }
}
