/* XINCHONG Petwear. Mobile-first, no remote fonts. */
:root {
  --blue: #174DE3; --sky: #DCEBFF; --paper: #FFFFFF; --ink: #172D49; --citrine: #E8F26A; --soft: #F3F6FA;
  --ink-2: #41556F; --line: #D5DEEA;
  --display: ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", "Nunito", "Quicksand", "Segoe UI", system-ui, sans-serif;
  --body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  --mono: ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
  --r-lg: 28px; --r-md: 18px; --gap: clamp(16px, 4vw, 32px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 16px/1.6 var(--body); color: var(--ink); background: var(--paper); }
img { max-width: 100%; display: block; }
a { color: var(--blue); text-underline-offset: 3px; }
h1, h2, h3 { font-family: var(--display); line-height: 1.12; letter-spacing: -0.01em; margin: 0 0 .5em; }
h1 { font-size: clamp(2rem, 7vw, 3.6rem); }
h2 { font-size: clamp(1.45rem, 4vw, 2.2rem); }
h3 { font-size: 1.15rem; }
p { margin: 0 0 1em; }
code.sku { font-family: var(--mono); font-size: .85em; background: var(--soft); border: 1px solid var(--line); border-radius: 6px; padding: 1px 6px; }
.wrap { width: min(1180px, 100% - 2 * var(--gap)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 12px; top: -60px; background: var(--ink); color: #fff; padding: 10px 14px; border-radius: 10px; z-index: 50; }
.skip:focus { top: 12px; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; border-radius: 6px; }
.hero :focus-visible, .cta-band :focus-visible, .site-footer :focus-visible { outline-color: var(--citrine); }
main:focus { outline: none; }
[hidden] { display: none !important; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); }
.bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: min(1180px, 100% - 2 * var(--gap)); margin-inline: auto; min-height: 64px; flex-wrap: wrap; }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); }
.brand-mark { width: 38px; height: 38px; flex: none; }
.brand-word { font: 800 1.2rem/1 var(--display); letter-spacing: .08em; }
.brand-sub { display: none; font-size: .78rem; color: var(--ink-2); }
.nav-toggle { display: none; font: 600 .95rem var(--body); background: var(--soft); color: var(--ink); border: 1px solid var(--line); border-radius: 999px; padding: 10px 16px; min-height: 44px; cursor: pointer; }
.js .nav-toggle { display: inline-block; }
.site-nav { width: 100%; padding: 4px 0 16px; }
.js .site-nav { display: none; }
.js .site-nav.open { display: block; }
.site-nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.site-nav a { display: block; padding: 10px 4px; text-decoration: none; color: var(--ink); font-weight: 600; min-height: 44px; }
.site-nav a[aria-current="page"] { color: var(--blue); box-shadow: inset 0 -3px 0 var(--citrine); }
.nav-tools { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 8px; }
.nav-tools a { display: inline-flex; align-items: center; }
.count { display: inline-grid; place-items: center; min-width: 24px; height: 24px; margin-left: 6px; border-radius: 999px; background: var(--citrine); color: var(--ink); font: 700 .8rem var(--mono); }
.preview-flag { margin: 0; padding: 6px var(--gap); background: var(--ink); color: #fff; font-size: .8rem; text-align: center; }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 22px; border-radius: 999px; border: 2px solid var(--blue); background: var(--blue); color: #fff; font: 700 1rem var(--body); text-decoration: none; cursor: pointer; transition: transform .2s ease, background-color .2s ease; }
.btn:hover { transform: translateY(-1px); background: #0F3CB8; }
.btn-small { min-height: 44px; padding: 8px 16px; font-size: .92rem; color: #fff !important; }
.btn-ghost { background: transparent; color: var(--blue); }
.btn-ghost:hover { background: var(--sky); }
.btn-ghost[aria-pressed="true"] { background: var(--citrine); border-color: var(--ink); color: var(--ink); }
.btn-citrine { background: var(--citrine); border-color: var(--citrine); color: var(--ink); }
.btn-citrine:hover { background: #F2F99A; }
.btn-on-blue { background: transparent; border-color: rgba(255,255,255,.7); color: #fff; }
.btn-on-blue:hover { background: rgba(255,255,255,.12); }
.text-link { font-weight: 700; display: inline-flex; align-items: center; min-height: 44px; }

/* Hero */
.hero { background: var(--blue); color: #fff; overflow: hidden; }
.hero-inner { display: grid; gap: 32px; padding: 40px 0 56px; }
.eyebrow { font: 700 .78rem/1.4 var(--body); letter-spacing: .14em; text-transform: uppercase; color: var(--blue); margin-bottom: 14px; }
.eyebrow.on-blue { color: var(--citrine); }
.hero-wordmark { display: flex; align-items: flex-end; gap: 14px; color: #fff; margin-bottom: 22px; }
.hero-wordmark .wordmark { width: min(100%, 640px); height: auto; }
.hero-zh { font: 800 clamp(1.4rem, 5vw, 2.6rem)/1 var(--body); color: var(--citrine); white-space: nowrap; }
.hero h1 { font-size: clamp(1.7rem, 5.4vw, 3rem); max-width: 18ch; }
.hero .lead { color: #E6EEFF; max-width: 56ch; font-size: 1.08rem; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.hero-visual { position: relative; min-height: 340px; }
.walk-loop { position: absolute; inset: -6% -10% auto auto; width: 115%; height: auto; z-index: 0; }
.walk-loop path { fill: none; stroke: var(--citrine); stroke-width: 9; stroke-linecap: round; stroke-dasharray: 1 26; }
.hero-figure { position: relative; z-index: 1; margin: 0 auto; width: min(100%, 460px); aspect-ratio: 4 / 5; border-radius: 48% 48% var(--r-lg) var(--r-lg) / 36% 36% var(--r-lg) var(--r-lg); overflow: hidden; background: var(--sky); box-shadow: 0 30px 60px -30px rgba(10, 25, 70, .6); }
.hero-figure img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.hero-figure figcaption { position: absolute; left: 12px; right: 12px; bottom: 12px; font-size: .75rem; color: var(--ink); background: rgba(255,255,255,.88); padding: 6px 10px; border-radius: 999px; text-align: center; }
.media-fallback { display: none; place-items: center; width: 100%; height: 100%; min-height: 220px; background: repeating-linear-gradient(135deg, var(--sky) 0 14px, #CFE2FF 14px 28px); color: var(--ink); font-weight: 700; text-align: center; padding: 20px; }
.is-missing .media-fallback { display: grid; }
.is-missing img { display: none; }
.js .reveal { animation: rise .7s cubic-bezier(.2,.7,.2,1) both; }
.js .hero-visual.reveal { animation-delay: .12s; }
.js .walk-loop path { animation: walk 1.6s ease-out both .2s; }
@keyframes rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes walk { from { stroke-dashoffset: 400; opacity: 0; } to { stroke-dashoffset: 0; opacity: 1; } }

/* Sections, media, catalogue */
section.wrap, .soft-band, .cta-band, .status-strip { padding-block: clamp(40px, 7vw, 80px); }
.status-strip { background: var(--citrine); padding-block: 18px; }
.status-strip p { margin: 0; font-size: .98rem; }
.page-hero { padding-top: 28px !important; }
.page-hero-grid { display: grid; gap: 28px; align-items: center; }
.lead { font-size: 1.1rem; color: var(--ink-2); max-width: 62ch; }
.section-intro { color: var(--ink-2); max-width: 70ch; }
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0 0 18px; font-size: .88rem; }
.crumbs li + li::before { content: "/"; margin-right: 6px; color: var(--ink-2); }
.cat-grid { display: grid; gap: 16px; }
.cat-panel { display: grid; gap: 6px; padding: 28px; min-height: 220px; align-content: end; text-decoration: none; color: var(--ink); background: var(--sky); border-radius: 120px 120px var(--r-lg) var(--r-lg); transition: transform .25s ease, box-shadow .25s ease; }
.cat-panel strong { font: 800 1.6rem/1.1 var(--display); }
.cat-panel:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -24px rgba(23, 45, 73, .45); }
.cat-footwear { background: var(--soft); border-radius: var(--r-lg) 120px var(--r-lg) 120px; }
.cat-custom { background: var(--ink); color: #fff; border-radius: var(--r-lg) var(--r-lg) 120px 120px; }
.cat-kicker { font: 700 .75rem var(--body); letter-spacing: .14em; text-transform: uppercase; opacity: .75; }
.cat-go { font-weight: 700; color: var(--blue); }
.cat-custom .cat-go { color: var(--citrine); }
.step-loop { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.step-loop li { position: relative; padding: 22px 22px 16px 76px; background: var(--soft); border-radius: var(--r-md); }
.step-n { position: absolute; left: 20px; top: 20px; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--blue); color: #fff; font: 800 1.1rem var(--display); }
.soft-band { background: var(--soft); }
.note-grid { display: grid; gap: 16px; }
.note-grid article { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); padding: 22px; }
.promise-list, .checklist { list-style: none; padding: 0; margin: 0 0 1em; display: grid; gap: 10px; }
.promise-list li, .checklist li { position: relative; padding-left: 30px; }
.promise-list li::before, .checklist li::before { content: ""; position: absolute; left: 4px; top: .55em; width: 12px; height: 12px; border-radius: 50%; border: 3px solid var(--blue); background: var(--citrine); }
.step-list { padding-left: 1.3em; display: grid; gap: 8px; }
.cta-band { background: var(--ink); color: #fff; text-align: center; }
.cta-band p { color: #D8E2F0; }
.cta-line { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.prose-block { max-width: 820px; padding-block: 24px !important; }
.article { max-width: 780px; }
.article h2 { margin-top: 1.6em; }
.small { font-size: .9rem; color: var(--ink-2); }
.muted { color: var(--ink-2); }
.notice { background: var(--sky); border-left: 6px solid var(--blue); border-radius: 12px; padding: 16px 18px; max-width: 70ch; }
.notice p { margin: 0; }
.media { margin: 0; position: relative; }
.media figcaption { font-size: .82rem; color: var(--ink-2); margin-top: 8px; }
.panel-curve img, .panel-curve .media-fallback { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; border-radius: 160px 160px var(--r-lg) var(--r-lg); }
.filters { display: grid; gap: 10px; margin: 18px 0 8px; }
.filter-group { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 1.5px solid var(--line); background: var(--paper); color: var(--ink); font: 600 .92rem var(--body); cursor: pointer; }
.chip[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.result-count { font-size: .9rem; color: var(--ink-2); }
.cards { list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; }
.card { display: flex; flex-direction: column; gap: 4px; padding: 22px; border-radius: var(--r-md); border: 1px solid var(--line); background: var(--paper); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.card:hover { transform: translateY(-3px); border-color: var(--blue); box-shadow: 0 16px 32px -24px rgba(23,45,73,.5); }
.card-reference { background: linear-gradient(180deg, var(--sky), var(--paper) 55%); border-radius: 60px var(--r-md) var(--r-md) var(--r-md); }
.card h3 a { color: var(--ink); text-decoration: none; }
.card h3 a:hover { color: var(--blue); text-decoration: underline; }
.card-top { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 6px; }
.badge { font: 700 .72rem var(--body); letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; }
.badge-ref { background: var(--blue); color: #fff; }
.badge-concept { background: var(--soft); color: var(--ink); border: 1px solid var(--line); }
.sizes span, .season { font-size: .85rem; color: var(--ink-2); }
.card-actions { margin-top: auto; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding-top: 10px; }
.empty { padding: 24px; background: var(--soft); border-radius: var(--r-md); margin-top: 16px; }
.detail-grid { display: grid; gap: 32px; }
.spec { display: grid; grid-template-columns: minmax(120px, 34%) 1fr; gap: 10px 16px; margin: 0 0 16px; }
.spec dt { font-weight: 700; }
.spec dd { margin: 0; }
.ladder { list-style: none; padding: 0; margin: 0 0 28px; display: grid; gap: 8px; }
.ladder li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 16px; border-radius: 12px; background: var(--soft); }
.ladder li.done { background: var(--citrine); font-weight: 700; }
.ladder em { font-style: normal; font-size: .85rem; }

/* FAQ, brief builder, footer, breakpoints, motion and print */
.faq details { border-bottom: 1px solid var(--line); padding: 6px 0; }
.faq summary { cursor: pointer; list-style: none; display: flex; align-items: center; min-height: 56px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary h2 { font-size: 1.15rem; margin: 0; }
.faq summary::after { content: "+"; margin-left: auto; font: 700 1.4rem var(--display); color: var(--blue); padding-left: 16px; }
.faq details[open] summary::after { content: "\2013"; }
.faq details p { max-width: 70ch; }
.brief-grid { display: grid; gap: 28px; align-items: start; }
.shortlist-panel { background: var(--soft); border-radius: var(--r-lg); padding: 22px; }
.shortlist { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 8px; }
.shortlist li { display: flex; justify-content: space-between; align-items: center; gap: 10px; background: var(--paper); border-radius: 12px; padding: 10px 12px; }
.shortlist li.muted { display: block; }
.shortlist button { min-height: 44px; border: 1px solid var(--line); background: var(--paper); border-radius: 999px; padding: 6px 14px; cursor: pointer; font: 600 .85rem var(--body); color: var(--ink); }
.js [data-js-missing] { display: none; }
.brief-form fieldset { border: 1px solid var(--line); border-radius: var(--r-md); padding: 16px 18px 6px; margin: 0 0 16px; min-width: 0; }
.brief-form legend { font: 800 1rem var(--display); padding: 0 6px; }
.field { margin-bottom: 14px; }
.field label { display: block; font-weight: 700; margin-bottom: 4px; }
.hint { font-size: .85rem; color: var(--ink-2); margin: 0 0 4px; }
input, select, textarea { width: 100%; font: 1rem var(--body); color: var(--ink); background: var(--paper); border: 1.5px solid #8FA3BC; border-radius: 12px; padding: 12px; min-height: 48px; }
textarea { resize: vertical; }
input:focus-visible, select:focus-visible, textarea:focus-visible { border-color: var(--blue); }
.form-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0; }
.status { font-weight: 700; min-height: 1.6em; }
.brief-output textarea { font: .9rem/1.5 var(--mono); background: var(--soft); }
.site-footer { background: var(--ink); color: #D8E2F0; padding: 48px 0 24px; margin-top: 40px; }
.site-footer a { color: #fff; }
.footer-grid { display: grid; gap: 28px; }
.footer-brand { display: flex; align-items: center; gap: 10px; font: 800 1.1rem var(--display); color: #fff; }
.footer-brand em { font-style: normal; color: var(--citrine); }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.site-footer ul a { display: inline-block; padding: 6px 0; }
.legal { font-size: .8rem; opacity: .85; margin-top: 24px; }

@media (min-width: 720px) {
  .brand-sub { display: inline; }
  .cat-grid, .note-grid { grid-template-columns: repeat(3, 1fr); }
  .cards { grid-template-columns: repeat(2, 1fr); }
  .step-loop { grid-template-columns: repeat(2, 1fr); }
  .page-hero-grid, .detail-grid { grid-template-columns: 1.1fr .9fr; }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1.3fr; }
}
@media (min-width: 1024px) {
  .nav-toggle, .js .nav-toggle { display: none; }
  .site-nav, .js .site-nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: auto; padding: 0; }
  .site-nav ul { display: flex; gap: 4px; }
  .site-nav a { padding: 10px; display: inline-flex; align-items: center; }
  .nav-tools { margin: 0; }
  .brand-sub { display: none; }
  .hero-inner { grid-template-columns: 1.15fr .85fr; align-items: center; padding: 64px 0 88px; }
  .cards { grid-template-columns: repeat(3, 1fr); }
  .step-loop { grid-template-columns: repeat(4, 1fr); }
  .brief-grid { grid-template-columns: .8fr 1.2fr; }
  .shortlist-panel { position: sticky; top: 96px; }
}
@media (min-width: 1240px) { .brand-sub { display: inline; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .card:hover, .cat-panel:hover, .btn:hover { transform: none; }
}
@media print {
  .site-header, .site-footer, .filters, .card-actions, .form-actions, .skip { display: none !important; }
  .hero { background: #fff; color: var(--ink); }
}

/* v0.2: editorial layout, wide-header and mobile-fold fixes (QA 2026-09-27) */
img { height: auto; }
.hero-inner { padding: 24px 0 40px; gap: 22px; }
.hero-wordmark { margin-bottom: 14px; }
.hero-wordmark .wordmark { width: min(74%, 620px); }
.hero h1 { font-size: clamp(2.1rem, 9vw, 4rem); max-width: 13ch; margin-bottom: .35em; }
.hero .lead { font-size: 1rem; margin-bottom: 18px; }
.hero-ctas { align-items: center; gap: 12px 20px; }
.hero-links { display: flex; gap: 18px; margin: 0; }
.hero-links a { color: #fff; font-weight: 700; min-height: 44px; display: inline-flex; align-items: center; }
.hero-visual { min-height: 0; }
.hero-figure { width: 100%; aspect-ratio: 4 / 3; border-radius: 120px 120px var(--r-lg) var(--r-lg); }
.hero-figure figcaption { font-size: .7rem; left: auto; right: 12px; padding: 4px 10px; }
.walk-loop { inset: -12% -8% auto auto; width: 90%; }
.cat-panel { align-content: start; min-height: 0; }
.cat-panel img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 96px 96px 16px 16px; margin-bottom: 12px; background: var(--sky); }
.cat-panel .concept-tag { font-size: .72rem; color: var(--ink-2); }
.cat-custom .concept-tag { color: #D8E2F0; }
.ref-note { font-size: .82rem; color: var(--ink-2); margin: 0; }
.value-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.value-list li { background: var(--soft); border-radius: var(--r-md); padding: 20px 22px; }
.value-list strong { display: block; font: 800 1.1rem/1.2 var(--display); margin-bottom: 4px; }
.measure { border-collapse: collapse; width: 100%; margin: 6px 0 12px; font-size: .95rem; }
.measure th, .measure td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--line); }
.measure td { font-family: var(--mono); font-size: .9rem; }
@media (min-width: 720px) {
  .value-list { grid-template-columns: repeat(2, 1fr); }
  .hero .lead { font-size: 1.08rem; }
}
@media (min-width: 1024px) {
  .bar { flex-wrap: nowrap; width: min(1320px, 100% - 2 * var(--gap)); gap: 20px; }
  .brand-sub { display: none; }
  .site-nav, .js .site-nav { flex: 1; justify-content: flex-end; }
  .site-nav ul { gap: 0; }
  .site-nav a { padding: 10px 8px; font-size: .95rem; white-space: nowrap; }
  .nav-tools { flex-wrap: nowrap; gap: 12px; white-space: nowrap; }
  .hero-inner { padding: 56px 0 80px; }
  .hero-figure { aspect-ratio: 4 / 5; border-radius: 48% 48% var(--r-lg) var(--r-lg) / 36% 36% var(--r-lg) var(--r-lg); }
  .value-list { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1440px) { .brand-sub { display: inline; } }

/* Launch V3: product-led editorial system. Two complete visual directions share one catalogue. */
:root { --display: 'Arial','Helvetica Neue',sans-serif; --ink:#162f42; --ink-2:#586a76; --soft:#f4f6f8; --line:#dce3e7; }
body { font-family: 'Segoe UI',Arial,sans-serif; line-height:1.6; }
.wrap,.bar { width:min(1360px,calc(100% - 40px)); }
h1,h2,h3 { font-weight:600; letter-spacing:-.045em; }
.trade-topline { background:var(--blue);color:white;text-align:center;padding:9px 16px;font-size:10px;font-weight:600;letter-spacing:.18em; }
.site-header { background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line); }
.bar { min-height:82px; }
.brand { gap:10px; }
.brand svg { width:40px;height:40px;flex:none; }
.brand-lockup { display:flex;flex-direction:column;gap:6px; }
.brand-word { font:800 19px/1 Arial,sans-serif;letter-spacing:.09em; }
.brand-sub { display:block;font-size:8px;letter-spacing:.25em;line-height:1; }
.site-nav a { font-size:13px;font-weight:500; }
.nav-tools { gap:16px; }
.count { width:20px;height:20px;min-width:20px;font-size:10px;background:var(--sky); }
.btn { border-radius:3px;font-size:12px;letter-spacing:.01em;padding:14px 22px;min-height:48px;box-shadow:none; }
.btn-ghost { border-width:1px; }
.btn-small { min-height:44px;padding:10px 18px; }
.text-link { font-size:13px;font-weight:600;gap:8px; }
.eyebrow { color:var(--blue);font-size:10px;letter-spacing:.2em;line-height:1.6;margin-bottom:22px; }
.lead { color:var(--ink-2);font-size:16px;line-height:1.75;max-width:560px; }
.launch-hero { background:#eef3f5;overflow:hidden; }
.hero-carousel { position:relative;margin-inline:auto; }
.hero-slide { margin:0;position:relative;min-width:0;isolation:isolate; }
.hero-slide[hidden] { display:none; }
.hero-slide-copy { position:relative;z-index:2;padding:30px 24px 390px;color:var(--ink);min-width:0;background:transparent; }
.hero-brandline { font-size:9px;letter-spacing:.15em;line-height:1.7;color:var(--blue);margin-bottom:18px; }
.hero-slide-copy .photo-label { display:block;font-size:10px;letter-spacing:.1em;color:#42586a;margin-bottom:12px; }
.hero-slide-title { font-size:clamp(36px,10vw,56px);line-height:1.04;font-weight:650;letter-spacing:-.05em;margin:0 0 20px; }
.hero-slide-title>span { display:block; }
.hero-slide-title>span:first-child { color:var(--blue); }
.hero-slide-lead { max-width:380px;font-size:14px;line-height:1.7;color:#354c5a;margin-bottom:22px; }
.hero-ctas { display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px; }
.hero-slide-link { display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;background:var(--blue);color:white;font-size:12px;font-weight:600;text-decoration:none;border-radius:2px; }
.hero-slide-link:hover { background:#123bd0; }
.hero-slide-copy .text-link { color:var(--blue);font-size:12px; }
.hero-slide-photo { position:absolute;inset:auto 0 60px;height:310px;z-index:0; }
.hero-slide-photo img { width:100%;height:100%;object-fit:cover;object-position:86% 50%; }
.hero-slide::after { content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,#eef3f5 0%,#eef3f5 44%,#eef3f500 62%); }
.hero-controls { display:none; }
.js .hero-controls { position:absolute;bottom:12px;left:24px;z-index:3;display:flex;align-items:center;padding:0 4px;background:#fffffff0;border-radius:2px;box-shadow:0 2px 18px #1029360d; }
.hero-controls button { min-width:44px;min-height:44px;border:0;background:transparent;color:var(--ink);font-size:15px;cursor:pointer;display:grid;place-items:center; }
.hero-dots { display:flex; }
.hero-dot::before { content:'';width:7px;height:7px;border-radius:50%;border:1.5px solid var(--blue); }
.hero-dot[aria-current=true]::before { background:var(--blue); }
.hero-controls .hero-pause { position:absolute;left:100%;margin-left:8px;background:#fffffff0;opacity:0;pointer-events:none;font-size:10px;padding:0 12px;min-width:64px; }
.hero-carousel:hover .hero-pause,.hero-carousel:focus-within .hero-pause { opacity:1;pointer-events:auto; }
.hero-controls button:focus-visible { outline:3px solid var(--blue);outline-offset:-3px; }
@keyframes hero-poster-enter { from { opacity:.55; } to { opacity:1; } }
.js .hero-slide:not([hidden]) { animation:hero-poster-enter .55s ease-out both; }
@media (min-width:720px) {
 .hero-slide { aspect-ratio:3/1;min-height:450px; }
 .hero-slide-photo { inset:0;height:100%; }
 .hero-slide-photo img { object-position:70% 50%; }
 .hero-slide::after { background:linear-gradient(90deg,#f4f7f4eb 0%,#f4f7f4c7 30%,#f4f7f440 47%,#f4f7f400 62%); }
 .hero-slide-copy { position:absolute;inset:0 auto 0 0;width:49%;display:flex;flex-direction:column;justify-content:center;padding:26px 0 86px 5vw; }
 .hero-slide-title { font-size:clamp(42px,4.8vw,92px); }
 .hero-brandline { font-size:9px;margin-bottom:15px; }
 .hero-slide-lead { font-size:14px;max-width:340px;padding-right:12px; }
 .js .hero-controls { left:5vw;bottom:22px; }
}
@media (min-width:1280px) {
 .hero-slide { min-height:480px; }
 .hero-slide-copy { width:47%;padding-left:6vw; }
 .hero-brandline { font-size:10px; }
 .hero-slide-title { margin-bottom:24px; }
 .hero-slide-lead { font-size:15px;max-width:400px; }
 .js .hero-controls { left:6vw;bottom:26px; }
}
.range-strip { border-bottom:1px solid var(--line);background:#fff; }
.range-strip .wrap { display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;padding:20px 0;font-size:11px;color:var(--ink-2); }
.range-strip span::before { content:'↗';margin-right:12px;color:var(--blue); }
/* Homepage V5: navigate → inspect styles → understand the company → choose a route → enquire. */
.home-scenes { padding:46px 0 10px; }
.scene-nav-head { margin-bottom:24px; }.scene-nav-head .eyebrow { margin-bottom:7px; }
.scene-nav-head h2 { font-size:28px;margin:0; }
.scene-nav { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.scene-nav-item { position:relative;display:flex;flex-direction:column;align-items:start;gap:12px;padding:22px 12px 24px;text-decoration:none;color:var(--ink);transition:background .2s; }
.scene-nav-item:hover { background:#f1f6ff; }.scene-symbol { width:52px;height:52px;display:block;color:var(--blue); }
.scene-symbol svg { width:100%;height:100%; }.scene-nav-item h3 { font-size:17px;letter-spacing:-.02em;margin:0 0 5px; }
.scene-nav-item p { font-size:11px;line-height:1.5;color:var(--ink-2);margin:0; }.scene-nav-arrow { position:absolute;right:12px;top:22px;color:var(--blue); }
.range-links { display:flex;gap:24px;flex-wrap:wrap; }
.home-company { background:#eaf2ff;margin-top:65px;padding:56px 0; }
.company-grid { display:grid;gap:32px;align-items:center; }.company-intro h2 { font-size:clamp(32px,3.5vw,50px);line-height:1.12;margin:0 0 18px; }
.company-intro h2 em { font-style:normal;color:var(--blue); }
.company-intro>p:not(.eyebrow) { font-size:14px;line-height:1.8;max-width:510px;color:#42586a; }.company-intro .text-link { margin-top:10px; }
.company-capabilities { border-top:1px solid #bdd0eb; }.capability-kicker { font-size:10px;letter-spacing:.14em;color:var(--blue);padding:20px 0 8px; }
.capability { display:grid;grid-template-columns:30px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid #bdd0eb; }
.capability>span { font:11px Consolas,monospace;color:var(--blue);padding-top:6px; }.capability h3 { font-size:22px;margin:0 0 8px;letter-spacing:-.03em; }
.capability p { font-size:13px;line-height:1.8;color:#42586a;margin:0;max-width:430px; }
.company-signoff { display:flex;gap:14px;align-items:center;justify-content:space-between;padding-top:22px;font-size:9px;letter-spacing:.08em;color:var(--blue); }
.company-signoff svg { width:40px;height:40px;flex:none; }
.cooperate-grid { display:grid;gap:20px; }.cooperate-path { border:1px solid var(--line);padding:28px 24px;background:#f7f9fb; }
.cooperate-brand { background:#edf3ff;border-color:#d8e4fb; }.path-label { font-size:10px;letter-spacing:.14em;color:var(--blue); }
.cooperate-path h3 { font-size:30px;margin:24px 0 16px; }.cooperate-path p,.cooperate-path li { font-size:13px;color:var(--ink-2);line-height:1.8; }
.cooperate-path ul { padding-left:18px;margin:24px 0 30px; }.cooperate-path li { margin:10px 0; }
.home-contact { margin-top:65px;background:#f1f5f9;padding:56px 0 72px;scroll-margin-top:100px; }
.contact-heading { max-width:760px;margin:0 auto 36px;text-align:center; }.contact-heading .eyebrow { margin-bottom:15px; }
.contact-heading h2 { font-size:clamp(34px,4.8vw,64px);line-height:1.08;margin-bottom:22px; }
.contact-heading>p:last-child { font-size:14px;color:var(--ink-2);max-width:550px;margin-inline:auto; }
.home-contact-grid { display:grid;gap:20px; }.home-contact-channels,.contact-start { padding:30px 24px;background:white;min-width:0; }
.home-contact-channels h3 { font-size:24px;margin-bottom:30px; }.contact-channel { display:grid;grid-template-columns:36px minmax(0,1fr) 12px;gap:12px;color:var(--ink);text-decoration:none;padding:24px 0;border-top:1px solid var(--line); }
.contact-channel:hover strong { color:var(--blue); }.channel-symbol { display:grid;place-items:center;width:36px;height:36px;border:1px solid #c6d9ff;color:var(--blue);font-size:22px; }
.contact-channel small { display:block;font-size:9px;letter-spacing:.14em;color:var(--ink-2);margin-bottom:7px; }
.contact-channel strong { display:block;font-size:15px;font-weight:600;overflow-wrap:anywhere; }.contact-channel em { display:block;font-size:12px;font-style:normal;color:var(--ink-2);margin-top:6px; }
.contact-start { background:var(--ink);color:white; }.contact-start .eyebrow { color:#9fbfff;margin-bottom:16px; }
.contact-start h3 { font-size:27px;line-height:1.15; }.contact-start>p:not(.eyebrow) { font-size:13px;color:#c6d4df; }
.contact-start ol { list-style:none;margin:25px 0 28px;padding:0; }.contact-start li { font-size:13px;line-height:1.6;padding:12px 0;border-top:1px solid #ffffff24;display:flex;gap:15px; }
.contact-start li span { color:#9fbfff;font:11px Consolas,monospace;padding-top:4px;flex:none; }
.contact-start .contact-note { font-size:11px!important;line-height:1.7;margin-top:18px; }
@media(min-width:720px) {
 .scene-nav { grid-template-columns:repeat(4,minmax(0,1fr)); }.scene-nav-item { padding:28px 20px; }
 .cooperate-grid,.home-contact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .company-intro h2 { font-size:clamp(32px,3.5vw,50px); }
 .cooperate-path { padding:38px 32px; }.home-contact-channels,.contact-start { padding:38px 32px; }
}
@media(min-width:1024px) {
 .home-scenes { padding-top:52px; }.scene-nav-item { flex-direction:row;align-items:center;gap:18px;padding:30px 22px; }.scene-symbol { flex:none; }
 .scene-nav-arrow { right:12px;top:14px; }.home-company { padding:88px 0; }.company-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px; }
 .cooperate-path { padding:42px; }.home-contact { padding:82px 0 88px; }.home-contact-grid { max-width:1120px;margin:auto;gap:28px; }
 .home-contact-channels,.contact-start { padding:42px; }.contact-channel strong { font-size:18px; }
}
.launch-section { padding-top:65px;padding-bottom:28px; }
.section-head { display:flex;gap:24px;justify-content:space-between;align-items:end;flex-wrap:wrap;margin-bottom:32px; }
.section-head h2 { font-size:clamp(30px,4vw,46px);margin:0; }
.section-head .eyebrow { margin-bottom:10px; }
.section-head>p { font-size:13px;color:var(--ink-2);margin:0; }
.scene-grid { display:grid;gap:18px; }
.scene { color:var(--ink);text-decoration:none;background:#f2f6f9;overflow:hidden; }
.scene-image { height:270px;padding:22px;background:#f1f5f8; }
.scene-image img { width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s ease; }
.scene:hover img { transform:scale(1.045); }
.scene>div:last-child { padding:24px;position:relative; }
.scene h3 { font-size:27px;margin:12px 0 6px; }
.scene p { font-size:12px;margin:0;color:var(--ink-2); }
.scene-number { font:11px Consolas,monospace;color:var(--blue); }
.scene-go { position:absolute;right:22px;top:28px;font-size:24px; }
.scene-1 { background:#f3f5ed; }.scene-1 .scene-image { background:#f3f5ed; }
.scene-2 { background:#edf0f7; }.scene-2 .scene-image { background:#edf0f7; }
.cards.launch-cards { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px;margin:0;padding:0;list-style:none; }
.merch-card { display:block;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;min-width:0; }
.merch-photo { display:block;position:relative;overflow:hidden;background:#f3f5f7;aspect-ratio:1/1; }
.merch-photo img { width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:12px;transition:transform .45s ease; }
.merch-photo:hover img { transform:scale(1.05); }
.photo-arrow { position:absolute;right:12px;bottom:12px;width:32px;height:32px;display:grid;place-items:center;background:white;border-radius:50%;color:var(--ink); }
.merch-copy { padding:16px 0 0; }
.merch-series { font-size:11px;letter-spacing:.03em;text-transform:uppercase;display:flex;justify-content:space-between;color:var(--ink-2);margin:0 0 9px;gap:8px;flex-wrap:wrap; }
.merch-series span { flex:none; }
.merch-copy h3 { font-size:17px;line-height:1.3;letter-spacing:-.02em;margin-bottom:7px; }
.merch-copy h3 a { color:var(--ink);text-decoration:none; }
.merch-copy>p:not(.merch-series) { font-size:13px;color:var(--ink-2);line-height:1.6;margin-bottom:8px; }
.merch-card .card-actions { display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px; }
.merch-card .btn { min-height:44px;font-size:10px;padding:7px 9px; }
.merch-card .text-link { font-size:11px; }
.quiet-note { font-size:13px;color:var(--ink-2);line-height:1.75;margin-top:25px; }
.brand-story { background:#eaf3fc;margin-top:64px;padding:56px 0; }
.story-grid { display:grid;gap:40px;align-items:center; }
.story-number { font-size:100px;font-weight:300;line-height:1;color:var(--blue);letter-spacing:-.09em;border-left:3px solid var(--citrine);padding-left:30px; }
.story-number span { display:block;font-size:10px;font-weight:600;letter-spacing:.24em;margin:20px 0 0; }
.story-grid h2 { font-size:clamp(34px,5vw,59px);line-height:1.08; }
.story-grid .lead { font-size:15px; }
.process-grid { display:grid;gap:28px; }
.process-grid article { border-top:1px solid var(--line);padding:20px 0 0; }
.process-grid article>span { font:11px Consolas,monospace;color:var(--blue); }
.process-grid h3 { font-size:20px;margin:20px 0 12px; }
.process-grid p { font-size:13px;color:var(--ink-2); }
.measure-band { background:var(--ink);color:#fff;margin-top:55px;padding:50px 0; }
.measure-teaser { display:grid;gap:30px; }
.measure-teaser h2 { font-size:clamp(32px,4.7vw,52px); }
.measure-teaser .eyebrow { color:var(--citrine); }
.measure-teaser p { font-size:14px;color:#d2e0e9;max-width:440px; }
.measure-teaser .btn { color:#fff;border-color:#8eabbc; }
.measure-teaser .btn:hover { color:var(--ink); }
.final-cta { text-align:center;padding-top:80px;padding-bottom:80px; }
.final-cta h2 { font-size:clamp(36px,5vw,68px);line-height:1.1; }
.final-cta .btn { margin-top:18px; }
.site-footer { background:#102936;padding:55px 0 20px; }
.footer-main { display:grid;gap:38px; }
.footer-brand { gap:10px;font-size:16px;font-weight:700;letter-spacing:.1em; }
.footer-brand svg { width:36px;height:36px; }
.footer-brand em { font-size:9px;font-style:normal;display:block;font-weight:400;margin-top:4px; }
.footer-intro h2 { font-size:40px;color:#fff;margin-top:25px; }
.footer-intro>p:last-child { font-size:12px;max-width:290px;color:#aebfca; }
.footer-columns { display:grid;grid-template-columns:1fr 1fr;gap:30px; }
.footer-columns h3 { font-size:11px;letter-spacing:.06em;margin-bottom:18px; }
.footer-columns ul { padding:0;list-style:none; }
.footer-columns li { margin-bottom:8px; }
.footer-columns a { display:block;overflow-wrap:anywhere;font-size:13px;font-weight:400;text-decoration:none;min-height:44px;color:#c1d1db; }
.footer-columns p { font-size:13px;color:#9eb2c0; }
.footer-bottom { border-top:1px solid #345061;margin-top:38px;padding-top:20px;display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between;font-size:11px;color:#9eb2c0; }
.footer-bottom a { color:#c1d1db; }
.company-intro .company-subtitle { color:#627687;font-size:clamp(17px,1.8vw,24px);margin-bottom:24px;font-weight:400; }
.company-photo { position:relative;margin:0;aspect-ratio:4/3;border-radius:28px;overflow:hidden;box-shadow:0 18px 42px #15396612; }
.company-photo img { width:100%;height:100%;object-fit:cover;display:block; }
.company-photo figcaption { position:absolute;bottom:16px;left:16px;background:#ffffffed;color:var(--ink);font-size:11px;padding:9px 14px;border-radius:8px; }
.company-features { display:grid;gap:18px;margin-top:44px; }
.company-feature { padding:0;overflow:hidden;background:#ffffffd9;border:1px solid #dce7f3;border-radius:22px;min-width:0; }
.company-feature-photo { margin:0;aspect-ratio:16/10;overflow:hidden;background:#dce7f3; }
.company-feature-photo img { width:100%;height:100%;display:block;object-fit:cover; }
.company-feature-copy { padding:26px 28px 30px; }
.feature-symbol { display:grid;place-items:center;width:46px;height:46px;margin-bottom:22px;color:var(--blue);background:#edf4ff;border-radius:50%; }
.feature-symbol svg { width:32px;height:32px; }.company-feature h3 { font-size:22px;margin:0 0 14px;line-height:1.25; }
.company-feature p { font-size:14px;line-height:1.8;color:#42586a;margin:0; }
.contact-rail { position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:45;display:grid;gap:8px; }
.qr-channel { position:relative; }.qr-channel summary { list-style:none;cursor:pointer;width:66px;min-height:64px;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;background:white;color:var(--ink);border:1px solid #dce7f3;border-radius:12px;box-shadow:0 4px 20px #15396612;font-size:10px; }
.qr-channel summary::-webkit-details-marker { display:none; }.qr-channel summary:focus-visible { outline:3px solid var(--blue);outline-offset:3px; }
.qr-channel[open] summary { background:var(--blue);color:white; }.qr-symbol { display:block;width:26px;height:26px; }.qr-symbol svg { width:100%;height:100%; }.qr-thumbnail { display:none; }
.qr-popover { position:absolute;right:78px;top:50%;transform:translateY(-50%);background:white;border:1px solid #dce7f3;box-shadow:0 16px 55px #15396624;border-radius:18px;width:258px;padding:20px;text-align:center; }
.qr-popover p { font-size:18px;font-weight:600;margin:0 0 14px; }.qr-popover img { display:block;width:220px;max-width:100%;height:auto;margin:0 auto;object-fit:contain;border:12px solid white; }
.qr-popover small { display:block;font-size:12px;line-height:1.5;color:var(--ink-2);margin-top:12px; }.qr-open { display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px;font-size:13px;color:var(--blue); }
@media(min-width:720px) { .company-features { grid-template-columns:repeat(3,minmax(0,1fr)); }.company-feature-copy { padding:24px; } }
@media(min-width:1024px) { .company-features { margin-top:64px;gap:26px; }.company-feature-copy { padding:28px 30px 32px; } }
@media(max-width:1023px) { .contact-rail { top:auto;bottom:calc(76px + env(safe-area-inset-bottom,0px));right:10px;transform:none; }.qr-channel summary { width:52px;min-height:52px;font-size:9px;border-radius:10px; }.qr-symbol { font-size:22px; }.qr-popover { right:62px;top:auto;bottom:0;transform:none;width:min(242px,calc(100vw - 82px));padding:14px; }.qr-popover img { width:192px; }.qr-popover p { margin-bottom:10px; } }
@media(min-width:1600px) { .qr-channel summary { width:116px;padding:12px 10px;gap:8px;font-size:12px; }.qr-thumbnail { display:block;background:white;width:96px;height:96px;object-fit:contain; }.qr-symbol { display:none; }.qr-popover { right:128px; } }
@media print { .contact-rail { display:none; } }
.review-switch { position:fixed;left:12px;bottom:12px;z-index:40;display:flex;gap:3px;align-items:center;padding:3px;background:#ffffffed;box-shadow:0 2px 18px #14263822;border:1px solid var(--line);border-radius:3px; }
.review-switch>span { font-size:9px;padding:0 5px;color:#52637a; }
.review-switch button { min-height:44px;border:0;background:transparent;font:10px 'Microsoft YaHei',sans-serif;padding:8px;cursor:pointer;color:var(--ink); }
.review-switch button[aria-pressed=true] { background:var(--sky);color:var(--blue); }
main>.collection-intro.wrap { padding:36px 0 24px; }
.collection-intro h1 { max-width:1040px;font-size:clamp(40px,4.8vw,64px);line-height:1.08;margin-bottom:20px; }
.collection-intro .lead { max-width:670px;font-size:15px; }
main>.catalogue.wrap{padding:0 0 36px}
main>.product-section.wrap{padding:32px 0}
main>.page-hero.wrap{padding:40px 0}
main>.range-bottom.wrap{padding:30px}
.crumbs { font-size:12px;letter-spacing:.03em;margin-bottom:30px; }
.catalogue-heading { display:flex;align-items:center;justify-content:space-between;gap:20px; }
.catalogue-heading h2 { font-size:18px;letter-spacing:0; }
.filters { margin:24px 0 14px; }
.chip { min-height:44px;border-radius:2px;font-size:11px; }
.chip[aria-pressed=true] { background:var(--blue);border-color:var(--blue);color:#fff; }
.result-count { font-size:11px;color:var(--ink-2);margin-bottom:26px; }
.range-bottom { background:var(--soft);margin-top:65px;margin-bottom:65px;padding:30px; }
.range-bottom h2 { font-size:30px; }.range-bottom p { font-size:14px;max-width:650px; }
.product-section { padding-top:30px;padding-bottom:30px; }
.product-layout { display:grid;gap:34px;align-items:start; }
.product-main-image { margin:0;background:var(--soft);padding:24px; }
.product-main-image img { width:100%;object-fit:contain;aspect-ratio:1/1;mix-blend-mode:multiply; }
.product-summary h1 { font-size:clamp(38px,4.4vw,58px); }
.product-summary .lead { font-size:16px; }
.product-position { font-size:11px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line);padding-bottom:15px; }
.product-highlights { padding-left:17px;font-size:13px;color:var(--ink-2); }
.product-highlights li { margin-bottom:10px; }
.product-actions { display:flex;gap:12px;flex-wrap:wrap;margin-top:25px; }
.product-accordion { border-top:1px solid var(--line);margin-top:25px; }
.product-accordion details { border-bottom:1px solid var(--line);padding:0; }
.product-accordion summary { cursor:pointer;padding:18px 0;font-size:13px;font-weight:600; }
.product-accordion p,.product-accordion a,.product-accordion dl { font-size:12px; }
.product-accordion .spec { grid-template-columns:110px 1fr; }
.page-hero { padding-top:40px;padding-bottom:40px; }.page-hero h1 { max-width:1000px;font-size:clamp(36px,5.5vw,68px); }
.prose-block { max-width:1040px; }.prose-block h2 { font-size:30px; }.prose-block p,.prose-block li { font-size:14px; }
.article { max-width:900px; }.article h1 { font-size:clamp(36px,5vw,64px); }
.brief-grid { gap:42px; }.brief-form { border-radius:4px;background:#f4f7fa; }.field input,.field textarea,.field select { border-radius:3px;font-size:14px; }
.shortlist-panel { border-radius:4px; }.notice { border-radius:3px;font-size:13px; }
html[data-look=studio] { --blue:#214e63;--sky:#e3ebee;--citrine:#dcec9d; }
html[data-look=studio] .trade-topline { background:#142e3d; }
html[data-look=studio] .launch-hero { background:#142e3d; }
html[data-look=studio] .hero-slide-copy { background:transparent; }
html[data-look=studio] .hero-slide-title { color:#142e3d;font-family:Georgia,'Times New Roman',serif;font-weight:400; }
html[data-look=studio] .hero-slide-title>span:last-child { font-style:italic;color:#214e63; }
html[data-look=studio] .hero-slide-copy .hero-slide-lead { color:#354c5a; }
html[data-look=studio] .hero-slide-link { background:var(--citrine);color:#142e3d; }
html[data-look=studio] .section-head h2,html[data-look=studio] .story-grid h2,html[data-look=studio] .final-cta h2,html[data-look=studio] .collection-intro h1 { font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em; }
html[data-look=studio] .brand-story { background:#eef2f3; }
@media (min-width: 720px) {
 .wrap,.bar { width:min(1360px,calc(100% - 80px)); }.scene-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.scene-image { height:260px; }.story-grid { grid-template-columns:1fr 1.5fr;gap:70px; }.story-number { font-size:150px; }.process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.measure-teaser { grid-template-columns:1.2fr 1fr;align-items:center; }.footer-columns { grid-template-columns:repeat(3,minmax(0,1fr)); }.cards.launch-cards { grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px; }.merch-copy h3 { font-size:20px; }.merch-copy>p:not(.merch-series) { font-size:13px; }.merch-series { font-size:11px; }.merch-card .btn { font-size:11px;padding:9px 13px; }.merch-photo img { padding:24px; }.product-layout { grid-template-columns:1fr 1fr;gap:48px; }.product-main-image { position:sticky;top:105px; }.product-section { padding-top:36px; }
}
@media (min-width: 1024px) {
 .bar { flex-wrap:nowrap;gap:32px;min-height:88px; }.js .site-nav,.site-nav { display:flex;width:auto;padding:0;gap:30px;align-items:center; }.site-nav ul { display:flex;gap:24px; }.nav-tools { margin:0; }.js .nav-toggle { display:none; }.launch-section { padding-top:85px;padding-bottom:25px; }.cards.launch-cards { grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 24px; }.scene-image { height:320px; }.brand-story { padding:80px 0; }.story-number { font-size:190px; }.process-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.footer-main { grid-template-columns:1fr 1.7fr;gap:90px; }.footer-columns { gap:30px; }.measure-band { padding:70px 0; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation:none !important;transition:none !important;scroll-behavior:auto !important; } }
/* Progressive disclosure keeps the initial B2B enquiry short without losing specification fields. */
.brief-extra{border-top:1px solid var(--line,#dce4e8);margin-top:20px;padding-top:16px}
.brief-extra summary{cursor:pointer;font-weight:700;min-height:44px;padding:10px 0;list-style:revert}
.brief-extra[open] summary{margin-bottom:16px}
.brief-output{scroll-margin-top:110px}
.header-controls{display:flex;align-items:center;gap:8px;margin-left:auto}
.language-switch{display:flex;align-items:center;gap:2px;flex-shrink:0}
.language-switch a{display:flex;align-items:center;justify-content:center;min-width:36px;min-height:44px;padding:4px 6px;font-size:12px;font-weight:600;border-radius:4px;color:var(--ink-2);text-decoration:none}
.language-switch a[aria-current=true]{color:var(--blue,#174de3);background:#edf3ff}
html[lang=zh-CN]{font-family:'Segoe UI','Microsoft YaHei',Arial,sans-serif}
html[lang=zh-CN] .hero-slide-title{letter-spacing:0;line-height:1.16}
html[lang=ru] .hero-slide-title{font-size:clamp(32px,4.5vw,82px);letter-spacing:-.035em;line-height:1.04;overflow-wrap:break-word}
html[lang=ru] .hero-slide-copy{min-width:0}
html[lang=ru] .hero-brandline{letter-spacing:.09em}
html[lang=ru] .measurement-visual text{font-size:14px}
.header-controls .nav-toggle{padding-inline:8px;font-size:0;min-width:44px}
.header-controls .nav-toggle::after{content:'☰';font-size:18px}
.brand-word{font-size:12px}.brand svg{width:26px;height:26px}.brand{gap:6px}.bar{gap:8px}
.language-switch a{min-width:30px;padding-inline:4px}
@media (min-width:360px){.brand-word{font-size:14px}.brand svg{width:30px;height:30px}.brand{gap:7px}}
@media (min-width:720px){.brand-word{font-size:19px}.brand svg{width:40px;height:40px}.brand{gap:10px}.language-switch a{min-width:36px;padding-inline:6px}}
@media (min-width:1024px){.header-controls{order:3;margin-left:0}.site-nav{min-width:0}.bar{gap:16px}.site-nav ul{gap:16px}.site-nav a{white-space:normal}.site-nav .nav-tools{gap:12px}html[lang=ru] .site-nav{gap:16px}html[lang=ru] .site-nav a{font-size:13px}html[lang=ru] .nav-tools .btn{padding-inline:14px}}
.page-private-label main>.prose-block,.page-about main>.prose-block{padding:36px 0;border-top:1px solid var(--line)}
.page-private-label .prose-block h2,.page-about .prose-block h2{font-size:28px;line-height:1.2;margin-bottom:24px}
.page-private-label .checklist li,.page-about .checklist li{margin-bottom:20px}
.page-private-label .step-list{counter-reset:none}
.measurement-visual{margin:28px 0 40px;padding:24px;background:#f2f7fc;border:1px solid var(--line)}
.measurement-visual svg{display:block;width:100%;height:auto}
.measurement-visual figcaption{font-size:13px;color:var(--ink-2);margin-top:16px}
html[data-look=studio] .page-hero h1,html[data-look=studio] .product-summary h1,html[data-look=studio] .article h1{font-family:Georgia,serif;font-weight:400}
@media (min-width: 720px){.page-private-label main>.prose-block,.page-about main>.prose-block{display:grid;grid-template-columns:260px 1fr;gap:0 56px;max-width:1200px;padding:44px 0}.page-private-label .prose-block h2,.page-about .prose-block h2{grid-column:1;grid-row:1 / span 3}.page-private-label .prose-block>*:not(h2),.page-about .prose-block>*:not(h2){grid-column:2}}
.product-photo-pending { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;width:100%;min-height:280px;aspect-ratio:1;background:#eaf2ff;color:#174de3;text-align:center;padding:1.5rem; }
.product-photo-pending svg { width:100px;height:100px;opacity:.6; }
.product-photo-pending small { color:#546b7c;font-size:.8rem; }

/* Apparel photography already owns its complete studio canvas. Never frame it a second time. */
.merch-photo:has(img[data-product-category="dog-apparel"]),
.product-main-image:has(img[data-product-category="dog-apparel"]) { background:#f3f5f7;padding:0; }
.merch-photo img[data-product-category="dog-apparel"],
.product-main-image img[data-product-category="dog-apparel"] { padding:0;object-fit:contain; }
/* Preserve the approved reference-photo blend; new studio composites already have their own canvas. */
.merch-photo img[data-product-category="dog-apparel"]:is([src*="-combined-v"],[src*="-dog-v"]),
.product-main-image img[data-product-category="dog-apparel"]:is([src*="-combined-v"],[src*="-dog-v"]) { mix-blend-mode:normal; }
.merch-photo:hover img[data-product-category="dog-apparel"] { transform:none; }

.direct-contact{display:grid;gap:.65rem;margin:1rem 0}.direct-contact dt{font-size:.82rem;font-weight:600}.direct-contact dd{margin:0}.direct-contact a{white-space:nowrap}.qr-temporary{line-height:1.5}
@media(max-width:1023px){.qr-popover{width:min(242px,calc(100vw - 110px));max-height:calc(100vh - 112px);max-height:calc(100dvh - 112px);overflow-y:auto}}

.product-gallery{min-width:0;align-self:start}
.product-gallery .product-main-image{position:relative;top:auto;overflow:hidden}
.product-gallery .product-main-image img{aspect-ratio:1;object-fit:contain;mix-blend-mode:normal}
.gallery-enlarge{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:44px;height:44px;background:#fff;border-radius:50%;color:var(--blue);text-decoration:none;box-shadow:0 3px 14px #173b5c10}
.gallery-meta{display:flex;align-items:center;justify-content:center;gap:22px;min-height:58px;font-size:13px;color:var(--muted)}
.gallery-arrow{width:44px;height:44px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;font-size:20px;border-radius:50%}
.gallery-thumbs{display:flex;gap:10px;overflow-x:auto;max-width:100%;padding:3px 3px 12px;scrollbar-width:thin;overscroll-behavior-x:contain}
.gallery-thumbs a{flex:0 0 80px;width:80px;height:80px;border:2px solid transparent;border-radius:5px;overflow:hidden;background:#f3f5f7}
.gallery-thumbs a[aria-current=true]{border-color:var(--blue)}
.gallery-thumbs img{width:100%;height:100%;object-fit:contain}
.gallery-thumbs a:focus-visible,.gallery-enlarge:focus-visible,.gallery-arrow:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.gallery-error{font-size:14px;color:#a43822}
.gallery-dialog{border:0;border-radius:12px;padding:12px;background:#f3f5f7;width:calc(100vw - 24px);max-width:1200px;max-height:calc(100dvh - 24px)}
.gallery-dialog::backdrop{background:#102c45bb}
.gallery-dialog-bar{display:flex;align-items:center;justify-content:center;gap:16px;height:52px}
.gallery-dialog-bar button[data-gallery-close]{width:44px;height:44px;border:0;border-radius:50%;font-size:28px;background:#fff;cursor:pointer;margin-left:auto}
.gallery-full{height:calc(100dvh - 110px);max-height:900px;display:grid;place-items:center;overflow:auto}
.gallery-full img{width:100%;height:100%;object-fit:contain;min-height:0}
@media(min-width:1000px){.product-gallery{position:sticky;top:105px}.gallery-thumbs a{flex-basis:88px;width:88px;height:88px}}
