/* v19 concepts share navigation and functional components; composition is distinct. */
.v19 { --g:clamp(22px,5vw,94px); --paper:#f3efe6; --ink:#26231e; --line:#c7bba9; }
.v19 header { padding-inline:var(--g); height:78px; border-bottom:1px solid var(--line); }
.v19 header nav { font-size:13px; }
.v19-hero h1, .v19-gallery h2, .v19-gallery h3 { font-weight:400; }
.v19-kicker { font-size:11px; font-weight:700; letter-spacing:.18em; margin:0 0 22px; }
.v19-description { max-width:34ch; font-size:16px; line-height:1.65; }
.v19-actions { display:flex; align-items:center; gap:12px 20px; flex-wrap:wrap; }
.v19-actions > a { font-size:13px; }
.v19-cta {
  display:inline-flex; align-items:center; justify-content:space-between; gap:16px;
  padding:10px 0; min-height:44px; font-size:13px; border-bottom:1px solid currentColor;
  transition:color .25s, border-color .25s;
}
.v19-cta span { display:inline-block; transition:transform .25s; }
.v19-cta:hover span { transform:translate(3px,-2px); }
.v19-mask { overflow:hidden; }
.v19-mask img { display:block; width:100%; height:100%; object-fit:cover; }
.v19 figure { margin:0; }
.v19 figcaption { font-size:11px; }
.v19-gallery-head h2 { font-size:clamp(42px,6vw,90px); }
.v19-gallery-head > p:last-child { margin:16px 0 0; }
.v19-scene .v19-mask { aspect-ratio:1.8; }
.v19-spec { margin:12px 0 18px; }
.v19-spec strong { font:400 clamp(46px,7vw,104px)/.92 var(--serif); letter-spacing:-.06em; }
.v19-spec > span { display:block; font-size:12px; margin-top:8px; }
.v19-sample { display:block; width:100%; min-width:0; }
.v19-sample .v19-mask { position:relative; aspect-ratio:1.72; background:#c9c0b2; }
.v19-sample img {
  position:absolute; width:281%; max-width:none; height:auto; left:-113%; top:-95%;
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.v19-sample.carbon img { width:330%; top:-118%; left:-138%; }
.v19-sample.king img { top:-105%; left:-104%; }
.v19-sample:hover img { transform:scale(1.055); }
.v19-sample > span { display:flex; justify-content:space-between; gap:8px; font-size:11px; margin-top:7px; }
.v19 #enquiry-whatsapp { background:#e7d4b5; color:#221e18; padding:10px 15px; min-height:44px; }
.v19 select, .v19 input, .v19 textarea { font-size:16px; }
.v19 :focus-visible { outline:2px solid #b57a42; outline-offset:4px; }

/* A — a daylight spread with independent type and photography. */
.a-hero {
  display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.38fr);
  align-items:center; gap:clamp(26px,4vw,72px); padding:clamp(35px,6vw,100px) var(--g);
  border-bottom:1px solid var(--line);
}
.a-lead { padding-block:22px; }
.a-lead h1 { font-size:clamp(49px,6.05vw,105px); line-height:.98; margin-bottom:27px; }
.a-lead h1 span, .a-lead h1 em { display:block; }
.a-lead h1 em { color:#715640; }
.a-cover .v19-mask { aspect-ratio:1.23; }
.a-cover .v19-mask img { object-position:50% 58%; }
.a-cover figcaption { display:flex; justify-content:space-between; gap:14px; margin-top:12px; border-top:1px solid var(--line); padding-top:10px; }
.a-hero .v19-actions > a:first-child { background:#2a241e; color:#fff5e7; padding:10px 14px; border:0; }
.a-hero .v19-actions > a:first-child:hover { background:#644a37; }
.a-gallery { padding:clamp(62px,8vw,120px) var(--g); background:#e9dfcf; }
.a-gallery .v19-gallery-head { max-width:1000px; padding-bottom:36px; border-bottom:1px solid #baaa94; }
.a-sheet { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:clamp(22px,5vw,90px); align-items:center; padding:clamp(30px,5vw,78px) 0; border-bottom:1px solid #baaa94; }
.a-sheet .v19-scene .v19-mask { aspect-ratio:1.32; }
.a-sheet .v19-scene figcaption { margin-top:10px; }
.a-sheet-detail { display:grid; grid-template-columns:1fr; gap:26px; max-width:390px; }
.a-sheet .v19-sample { max-width:240px; }
.a-sheet h3 { font-size:clamp(25px,3.2vw,54px); line-height:1.02; }
.a-sheet:nth-of-type(2) { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
.a-sheet:nth-of-type(2) .v19-scene .v19-mask { aspect-ratio:1.65; }
.a-sheet:nth-of-type(2) .a-sheet-detail { margin-left:clamp(0px,4vw,65px); }
html[lang=zh-CN] .a-lead h1 { font-size:clamp(43px,5.3vw,85px); line-height:1.13; }
html[lang=zh-CN] .a-lead h1 em { font-style:normal; }

/* B — a dark, edge-to-edge opening and a selectable material stage. */
.v19-b header { background:#171815; color:#f7eedf; --ink:#f7eedf; --line:#555248; }
.v19-b header .brand img { mix-blend-mode:normal; }
.v19-b header .language-switch button { color:#d1c8bb; }
.b-hero {
  min-height:clamp(620px,calc(100svh - 78px),920px); display:grid; grid-template-rows:1fr auto;
  position:relative; isolation:isolate; color:#fff4e3; background:#191915;
}
.b-film { position:absolute; inset:0; z-index:-2; }
.b-film img { object-position:50% 53%; }
.b-hero::after {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(0deg,#11120ff5,transparent 52%,#14130f5c),linear-gradient(90deg,#14130f7a,transparent 85%);
}
.b-lead { align-self:end; padding:74px var(--g) 26px; }
.b-lead .v19-kicker { color:#f3d7ad; margin-bottom:13px; }
.b-lead h1 {
  margin:0 0 20px; font:600 clamp(77px,12vw,208px)/.76 'Manrope','Arial',sans-serif;
  letter-spacing:-.095em;
}
.b-lead h1 span { display:block; }
.b-lead h1 span + span { color:#f0d4a9; margin-left:clamp(12px,10vw,160px); }
.b-lead .v19-description { margin:22px 0 0; color:#f3e5cf; }
.b-controls { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-inline:var(--g); padding:12px 0 19px; border-top:1px solid #e9d5b88c; }
.b-controls > span { font-size:11px; color:#ded2be; }
.b-controls .v19-cta { border:0; }
.b-controls .v19-cta:last-child { border:1px solid #eee1ce; padding-inline:13px; }
html[lang=zh-CN] .b-lead h1 {
  font:700 clamp(62px,10vw,160px)/1.05 'Microsoft YaHei','PingFang SC',sans-serif;
  letter-spacing:-.085em;
}
.b-gallery { background:#171815; color:#f4e9d9; padding:clamp(60px,8vw,120px) var(--g); }
.b-gallery .v19-gallery-head { margin-bottom:32px; }
.b-gallery .v19-gallery-head h2 { font-family:Manrope,Arial,sans-serif; font-weight:600; letter-spacing:-.065em; }
.b-gallery .v19-gallery-head > p:last-child { color:#d3c5b2; }
.b-selector { display:flex; flex-wrap:wrap; border-block:1px solid #645b4f; }
.b-selector button {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:10px 19px; min-height:48px; background:transparent; color:#f4e9d9;
  border:0; border-right:1px solid #645b4f; font-size:13px;
}
.b-selector button[aria-pressed=true] { background:#e6cba5; color:#211d16; }
.b-stage { margin-top:16px; }
.b-scene {
  position:relative; display:grid; grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);
  background:#23241f; margin-bottom:16px; align-items:stretch;
}
.b-scene .v19-scene { display:grid; grid-template-rows:1fr auto; min-width:0; }
.b-scene .v19-scene .v19-mask { aspect-ratio:auto; min-height:445px; }
.b-scene .v19-scene img { object-position:51% center; }
.b-scene figcaption { padding:8px 14px; background:#23241f; }
.b-specboard { padding:clamp(22px,3vw,52px); border:1px solid #645b4f; }
.b-specboard h3 { font-size:clamp(28px,3vw,48px); line-height:1.02; }
.b-specboard .v19-spec { color:#e6cba5; }
.b-specboard .v19-sample { max-width:235px; margin-bottom:20px; }
.b-specboard .v19-actions > a { font-size:12px; }
.b-specboard .v19-cta:hover { color:#e6cba5; }

@media (prefers-reduced-motion:no-preference) {
  @keyframes v19-slide { from { transform:translateY(24px); opacity:0; } to { transform:translateY(0); opacity:1; } }
  @keyframes v19-uncover { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0); } }
  @keyframes v19-film { from { opacity:.55; transform:scale(1.085); } to { opacity:1; transform:scale(1); } }
  .a-cover .v19-mask { animation:v19-uncover .78s cubic-bezier(.22,.75,.23,1) both; }
  .a-lead h1, .a-lead .v19-description, .a-lead .v19-actions { animation:v19-slide .65s both; }
  .a-lead .v19-description, .a-lead .v19-actions { animation-delay:.12s; }
  .v19-entered .a-sheet-detail { animation:v19-slide .65s .12s both; }
  .v19-entered .v19-scene .v19-mask { animation:v19-uncover .75s cubic-bezier(.22,.75,.23,1) both; }
  .b-film img { animation:v19-film 1.25s cubic-bezier(.2,.7,.3,1) both; }
  .b-lead h1 span, .b-lead .v19-description { animation:v19-slide .68s both; }
  .b-lead h1 span + span { animation-delay:.13s; }
  .b-lead .v19-description { animation-delay:.22s; }
  .b-scene.is-switching .v19-scene img { animation:v19-film .68s both; }
  .b-scene.is-switching .b-specboard { animation:v19-slide .43s .04s both; }
}
@supports (animation-timeline: view()) {
  @media (min-width:900px) and (prefers-reduced-motion:no-preference) {
    @keyframes v19-depth { from { transform:scale(1.045) translateY(-1.5%); } to { transform:scale(1.045) translateY(1.5%); } }
    .b-scene:not(.is-switching) .v19-scene img { animation:v19-depth linear both; animation-timeline:view(); animation-range:entry 0% exit 100%; }
  }
}
@media (max-width:980px) {
  .v19 header nav { gap:15px; font-size:11px; }
}
@media (max-width:800px) {
  .v19 header nav { display:none; }
  .a-hero { grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:24px; }
  .a-lead h1 { font-size:clamp(42px,7vw,66px); }
  .a-cover .v19-mask { aspect-ratio:.9; }
  .a-sheet-detail { gap:18px; }
  .b-scene { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
}
@media (max-width:620px) {
  .v19 header { height:63px; }
  .v19 header .header-actions { gap:10px; }
  .v19-kicker { margin-bottom:13px; font-size:10px; }
  .a-hero { grid-template-columns:1fr; padding-top:24px; gap:22px; padding-bottom:19px; }
  .a-lead { padding:0; }
  .a-lead h1 { margin-bottom:15px; font-size:clamp(44px,11vw,65px); }
  .v19-description { font-size:14px; margin-bottom:12px; }
  .a-cover .v19-mask { aspect-ratio:1.21; }
  .a-cover figcaption { margin-top:7px; padding-top:7px; }
  .a-sheet, .a-sheet:nth-of-type(2) { grid-template-columns:1fr; gap:22px; }
  .a-sheet:nth-of-type(2) .a-sheet-detail { margin:0; }
  .a-sheet-detail { grid-template-columns:minmax(0,.76fr) minmax(0,1fr); gap:15px; }
  .a-sheet-detail .v19-actions { gap:7px; }
  .a-sheet-detail .v19-actions > a { font-size:12px; }
  .b-hero { min-height:clamp(540px,calc(91svh - 63px),740px); }
  .b-film img { object-position:56% center; transform:scale(1.16); transform-origin:center 68%; }
  .b-lead { padding:45px var(--g) 20px; }
  .b-lead h1 { font-size:clamp(67px,18vw,106px); }
  .b-lead h1 span + span { margin-left:14px; }
  .b-lead .v19-description { margin-top:17px; }
  .b-controls { flex-wrap:wrap; gap:6px 12px; padding:7px 0 14px; }
  .b-controls > span { order:1; width:100%; }
  .b-scene { grid-template-columns:1fr; }
  .b-scene .v19-scene .v19-mask { min-height:0; aspect-ratio:1.34; }
  .b-selector { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .b-selector button { padding-inline:10px; text-align:start; }
  .b-specboard { padding:19px; }
  .v19-sample img, .v19-sample:hover img { transition:none; transform:none; }
  .a-cover .v19-mask, .v19-entered .v19-scene .v19-mask { animation-name:v19-slide; animation-duration:.4s; }
  .b-film img, .b-scene.is-switching .v19-scene img { animation:none; }
}
@media (prefers-reduced-motion:reduce) {
  .v19 *, .v19 *::before, .v19 *::after { animation:none !important; transition:none !important; }
  .v19-sample:hover img, .v19-cta:hover span { transform:none; }
}


