:root {
  --bg: #111318;
  --surface: #1b1d23;
  --surface-2: #252830;
  --line: #383b43;
  --text: #f3f3f1;
  --muted: #a5a8b0;
  --pink: #f16cad;
  --blue: #a0b8ff;
}

body { background: var(--bg); color: var(--text); }
.shell, .header-inner { width: min(calc(100% - 80px), 1380px); }
.eyebrow { color: var(--pink); font-size: 11px; letter-spacing: .16em; }
.preview-ribbon {
  min-height: 28px;
  background: #25212b;
  color: #e8dce7;
  font-size: 10px;
  letter-spacing: .13em;
}
.preview-ribbon i, .status-dot { box-shadow: none; background: var(--pink); }
.site-header { background: #16181d; border-bottom-color: var(--line); }
.header-inner { grid-template-columns: 215px 1fr auto; min-height: 72px; }
.brand { font-size: 21px; letter-spacing: -.065em; }
.brand span:last-child { color: var(--text); }
.brand i { width: 13px; height: 2px; background: var(--pink); }
.main-nav { gap: 36px; }
.main-nav a { color: #c6c8cd; font-size: 12px; font-weight: 750; }
.main-nav a:hover { color: var(--text); }
.header-actions { gap: 23px; }
.header-edition {
  padding-right: 22px;
  border-right: 1px solid var(--line);
  color: #888d98;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  white-space: nowrap;
}
.language-switch { padding: 2px; border-color: #4a4d56; border-radius: 3px; }
.language-switch a { border-radius: 2px; color: #a6aab3; }
.language-switch a[aria-current=true] { background: #ececec; color: #18191e; }

.hero { min-height: 0; border-bottom: 1px solid var(--line); background: #14161b; }
.hero-grid { display: grid; grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr); min-height: 510px; gap: 24px; padding-top: 24px; padding-bottom: 24px; }
.hero-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 0 28px 0 0; }
.hero-overline { display: flex; align-items: center; gap: 9px; width: 100%; padding: 14px 0; border-top: 1px solid #59606a; color: #b2b7c0; font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.signal-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--pink); }
.hero-copy .eyebrow { margin-top: auto; }
.hero h1 { max-width: 690px; margin: 20px 0 0; font-size: clamp(50px, 5vw, 82px); line-height: .99; letter-spacing: -.067em; font-weight: 820; }
.hero h1 em { color: var(--text); font-family: inherit; font-size: inherit; font-style: normal; font-weight: inherit; letter-spacing: inherit; }
.hero-text { max-width: 500px; margin: 25px 0 0; color: #bdc0c7; font-size: 16px; line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin-top: 30px; }
.primary-cta { min-width: 225px; padding: 16px 18px; background: #f1f1ef; color: #15171c; border-radius: 2px; font-size: 12px; }
.primary-cta:hover { background: var(--pink); box-shadow: none; }
.secondary-cta { padding: 13px 0; border-bottom: 1px solid #8b8e97; color: #dddfe2; font-size: 12px; font-weight: 750; }
.secondary-cta:hover { border-color: var(--pink); color: var(--pink); }
.hero-facts { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; margin-top: auto; padding-top: 38px; }
.hero-facts span { padding: 9px 10px; border: 1px solid #3e424c; color: #aeb1b9; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.hero-visual { position: relative; min-width: 0; min-height: 460px; overflow: hidden; background: #202129; border: 1px solid #444550; }
.hero-visual::after { content: ""; position: absolute; inset: 40% 0 0; pointer-events: none; background: linear-gradient(transparent, rgba(8, 9, 13, .83)); }
.hero-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 68% center; }
.hero-image-index, .hero-image-note { position: absolute; z-index: 1; left: 22px; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hero-image-index { top: 20px; padding: 8px 10px; background: rgba(16, 18, 24, .8); border: 1px solid #646774; }
.hero-image-note { bottom: 21px; right: 20px; max-width: 340px; color: #e3e5eb; letter-spacing: .08em; line-height: 1.4; }
.category-strip { display: grid; grid-template-columns: 1.1fr repeat(3, 1fr); min-height: 74px; align-items: stretch; border-bottom: 1px solid var(--line); }
.category-strip > span { display: flex; align-items: center; color: #7f8590; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.category-strip a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 19px; border-left: 1px solid var(--line); color: #d3d5d9; font-size: 12px; font-weight: 750; }
.category-strip a:hover { background: #20232a; color: #fff; }
.category-strip b { margin-left: auto; color: var(--pink); font-size: 10px; }

.collection-section { padding: 66px 0 100px; }
.section-head { grid-template-columns: minmax(0, 1fr) minmax(260px, .62fr); gap: 40px; margin-bottom: 34px; }
.section-head h2, .manifesto-copy h2, .flow-heading h2 { margin-top: 17px; font-size: clamp(37px, 4.2vw, 58px); letter-spacing: -.055em; }
.section-head p, .flow-heading p { color: var(--muted); font-size: 14px; }
.product-grid { gap: 16px; }
.product-card { padding: 10px; background: var(--surface); border: 1px solid var(--line); transition: border-color .2s, transform .2s; }
.product-card:hover { border-color: #656974; transform: translateY(-2px); }
.card-media { aspect-ratio: 1 / 1.02; background: #24262d; }
.card-media img { filter: saturate(.85); }
.card-media:hover img { filter: saturate(1); }
.card-index, .card-corner { top: 12px; border: 1px solid rgba(200, 205, 214, .25); background: rgba(18, 19, 24, .85); }
.card-index { left: 12px; color: #e2e4e8; font-size: 9px; }
.card-corner { right: 12px; width: 31px; height: 31px; border-radius: 2px; color: var(--text); }
.card-meta { margin: 17px 12px 12px; color: var(--pink); font-size: 9px; }
.card-meta span:last-child { color: #8e94a0; }
.product-card h3 { margin: 0 12px; font-size: clamp(20px, 1.9vw, 27px); }
.product-card p { margin: 11px 12px 18px; color: #aeb2bb; }
.card-bottom { margin: 0 12px; padding: 16px 0 7px; color: #aeb2bb; }
.card-bottom a { color: #f0f0f0; }
.card-bottom a:hover { color: var(--pink); }
.text-cta { min-width: 170px; margin-top: 35px; border-color: #7e838e; color: var(--text); }
.text-cta:hover { color: var(--pink); border-color: var(--pink); }
.manifesto-section { background: #1c1e24; border-color: var(--line); }
.manifesto-grid { min-height: 450px; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 8%; }
.manifesto-image { max-height: 480px; }
.manifesto-image img { object-position: center 30%; }
.manifesto-copy { padding: 58px 0; }
.manifesto-copy p { margin-top: 22px; color: #b9bdc5; font-size: 15px; }
.flow-section { padding: 93px 0 108px; }
.flow-heading { grid-template-columns: 1fr minmax(260px, .65fr); gap: 50px; }
.flow-steps { margin-top: 48px; gap: 0; border-top: 1px solid #626671; }
.flow-steps article { min-height: 125px; padding: 21px 24px; background: transparent; border-top: 0; border-right: 1px solid var(--line); }
.flow-steps article:first-child { border-left: 1px solid var(--line); }
.flow-steps article span { margin-bottom: 25px; color: var(--pink); }
.flow-steps article strong { font-size: 17px; font-weight: 700; }
.site-footer { background: #0e1014; border-color: var(--line); }
.footer-rule { background: var(--line); }
.footer-top p, .footer-bottom { color: #9da2ad; }

.catalog-page, .license-page { padding-top: 74px; padding-bottom: 110px; }
.page-intro h1 { font-size: clamp(60px, 7vw, 100px); }
.page-intro h1 span { color: var(--pink); }
.page-intro p { margin-top: 20px; color: #afb3bc; font-size: 15px; }
.catalog-tools { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin: 43px 0 0; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.catalog-toolbar { gap: 7px; margin: 0; padding: 0; border: 0; }
.catalog-toolbar button { display: flex; align-items: center; gap: 13px; padding: 10px 13px; color: #b2b6be; border: 1px solid #4b4e56; font-size: 12px; }
.catalog-toolbar button.is-active, .catalog-toolbar button:hover { color: #f7f7f7; background: #2d3038; border-color: #7a7f89; }
.catalog-toolbar b { color: var(--pink); font-size: 10px; }
.catalog-search { display: flex; align-items: center; gap: 7px; width: min(100%, 300px); min-height: 42px; padding: 0 13px; border: 1px solid #555963; color: #b4b8c0; }
.catalog-search span { font-size: 22px; line-height: 1; }
.catalog-search input { width: 100%; padding: 8px 0; border: 0; outline: none; background: transparent; color: #fff; font-size: 12px; }
.catalog-search input::placeholder { color: #a9adb6; }
.results-line { display: flex; justify-content: space-between; gap: 20px; margin: 23px 0 19px; color: #9297a1; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.results-line b { color: var(--text); }
.catalog-empty { padding: 50px 25px; border: 1px solid var(--line); color: #b7bbc3; text-align: center; }
.catalog-empty[hidden] { display: none; }
.catalog-grid { row-gap: 20px; }

.product-page { padding-top: 25px; }
.breadcrumbs { margin-bottom: 25px; }
.product-layout { gap: clamp(28px, 5vw, 75px); }
.media-stage { border: 1px solid var(--line); }
.gallery-thumbs button { background: #202229; border-color: #454851; }
.gallery-thumbs button[aria-pressed=true] { border-color: var(--pink); }
.media-tabs button { background: #202229; border-color: #454851; }
.media-tabs button[aria-selected=true] { background: #303039; border-color: #8d929c; color: #fff; }
.product-summary { padding-top: 19px; }
.product-summary h1 { margin: 18px 0 20px; font-size: clamp(45px, 4.6vw, 72px); }
.product-lead { color: #c4c8d0; font-size: 16px; }
.product-status { margin-top: 29px; color: #e0e2e7; }
.product-price-note { color: #9da2ad; }
.product-summary-line { color: #9da2ad; }
.product-specs { margin: 27px 0 7px; border-top: 1px solid var(--line); }
.product-specs div { display: grid; grid-template-columns: 125px 1fr; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 12px; line-height: 1.45; }
.product-specs dt { color: #9197a2; }
.product-specs dd { margin: 0; color: #e2e4e7; }
.product-facts { margin-top: 28px; }
.product-facts p { color: #b4b8c1; }
.product-facts a { color: var(--pink); }
.license-intro h1 { font-size: clamp(51px, 6vw, 84px); }
.license-grid article { background: #1c1e25; border-color: var(--line); }
.license-grid p { color: #b5b9c1; }
.license-review { background: #28222a; color: #e3d7e0; }

@media (max-width: 1050px) {
  .shell, .header-inner { width: min(calc(100% - 48px), 1380px); }
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .93fr); min-height: 485px; }
  .hero-visual { min-height: 435px; }
  .hero h1 { font-size: clamp(48px, 5.5vw, 68px); }
}
@media (max-width: 760px) {
  .shell, .header-inner { width: min(calc(100% - 36px), 1380px); }
  .header-inner { grid-template-columns: 1fr auto auto; min-height: 64px; }
  .header-edition { display: none; }
  .menu-toggle { display: grid; order: 3; }
  .main-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 14px 18px 22px; background: #1c1e24; border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; gap: 0; }
  .main-nav.is-open { display: flex; }
  .main-nav a { padding: 15px; font-size: 14px; }
  .hero-grid { grid-template-columns: 1fr; min-height: 0; gap: 0; padding-top: 15px; padding-bottom: 18px; }
  .hero-copy { min-height: 355px; padding: 0 0 25px; }
  .hero-copy .eyebrow { margin-top: 35px; }
  .hero h1 { font-size: clamp(47px, 8.2vw, 70px); }
  .hero-text { font-size: 15px; }
  .hero-facts { padding-top: 28px; }
  .hero-visual { min-height: 350px; max-height: 450px; }
  .category-strip { display: flex; min-height: 70px; overflow-x: auto; white-space: nowrap; }
  .category-strip > span { flex: 0 0 auto; padding-right: 18px; }
  .category-strip a { flex: 0 0 auto; min-width: 130px; }
  .section-head, .flow-heading, .manifesto-grid, .product-layout { grid-template-columns: 1fr; }
  .section-head { gap: 16px; }
  .collection-section { padding: 58px 0 82px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .manifesto-grid { gap: 0; }
  .manifesto-image { height: 350px; }
  .manifesto-copy { padding: 45px 0 55px; }
  .flow-section { padding: 73px 0 90px; }
  .flow-heading { gap: 15px; }
  .flow-steps { gap: 0; }
  .catalog-page, .license-page { padding-top: 60px; }
  .product-summary { padding-top: 0; }
}
@media (max-width: 550px) {
  .hero-copy { min-height: 340px; }
  .hero h1 { font-size: 47px; }
  .hero-visual { min-height: 310px; }
  .hero-actions { gap: 18px; }
  .primary-cta { min-width: 204px; }
  .hero-facts span { font-size: 8px; }
  .product-grid { grid-template-columns: 1fr; }
  .collection-section { padding-top: 58px; }
  .flow-steps { grid-template-columns: 1fr; }
  .flow-steps article { min-height: 95px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .flow-steps article:not(:first-child) { border-left: 1px solid var(--line); }
  .flow-steps article span { margin-bottom: 12px; }
  .catalog-tools { align-items: stretch; flex-direction: column-reverse; gap: 14px; }
  .catalog-toolbar { overflow-x: auto; }
  .catalog-toolbar button { white-space: nowrap; }
  .catalog-search { width: 100%; }
  .page-intro h1 { font-size: 64px; }
  .product-summary h1 { font-size: 47px; }
}
@media (prefers-reduced-motion: reduce) {
  .product-card { transition: none; }
}
