@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(./assets/font-63e313fb9c65b6b2.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/font-6d37a86241a25d63.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/font-1724047c8988ca51.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./assets/font-69e7ae35cba23d96.ttf) format('truetype');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/font-0c2fad18ed36cc40.ttf) format('truetype');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./assets/font-ff7cf63717c27756.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/font-1b08e7fc267a5c7e.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/font-8c883f63b2c4157d.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./assets/font-e7a1aaf7eda9f2fa.ttf) format('truetype');
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/font-a7a0a9114e29fbf6.ttf) format('truetype');
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/font-b8f5e0a8bdd6a12c.ttf) format('truetype');
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/font-68c4493c7c6c9aaf.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(./assets/font-643f64e9bfc140a9.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/font-6a8c9be856a6b9e0.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/font-9a9f465776e653cd.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./assets/font-8900df5726b5a6f2.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./assets/font-49dcdf653a004a25.ttf) format('truetype');
}

  :root {
    --obsidian:#0B0B0C; --charcoal:#121212; --cream:#F5F5F7; --ivory:#E5E5E7; --champagne:#D4AF37; --platinum:#A1A1AA; --line:rgba(255,255,255,.1);
    --serif:"Cormorant Garamond","Palatino Linotype","Songti SC","Songti TC","Yu Mincho",Georgia,serif;
    --sans:Outfit,"Segoe UI","PingFang SC","PingFang TC","Microsoft YaHei","Microsoft JhengHei","Yu Gothic","Malgun Gothic","Noto Sans Arabic","Noto Sans Devanagari","Leelawadee UI","Noto Sans Thai",sans-serif;
  }
  .arrival { position:fixed; inset:0; z-index:100; background:#000; transition:opacity .8s ease, visibility 0s linear .8s; }
  .arrival video { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; }
  .arrival-veil { position:absolute; inset:0; background:radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.75) 100%),linear-gradient(to top,rgba(0,0,0,.85),transparent 55%); }
  .arrival-copy { position:absolute; left:0; right:0; bottom:0; display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 1.5rem max(3rem,env(safe-area-inset-bottom)); }
  .arrival-copy .caps { color:var(--champagne); letter-spacing:.5em; opacity:0; animation:rise 1.2s ease .8s forwards; }
  .arrival-mark { margin:.8rem 0 0; font-family:var(--serif); font-size:clamp(2.6rem,9vw,5.5rem); line-height:1; letter-spacing:.3em; color:var(--cream); opacity:0; animation:mark 2.4s ease-out 1.4s forwards; text-shadow:0 4px 24px rgba(0,0,0,.8); }
  .arrival-enter { margin-top:2rem; width:min(20rem,100%); opacity:0; pointer-events:none; transition:opacity .9s ease; }
  .arrival.titled .arrival-enter { opacity:1; pointer-events:auto; }
  .arrival.hide { opacity:0; visibility:hidden; pointer-events:none; }
  body.intro-open { overflow:hidden; }
  @keyframes rise { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
  @keyframes mark { from { opacity:0; letter-spacing:.3em; } to { opacity:1; letter-spacing:.08em; } }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; background:#0B0B0C; }
  html.booting body { visibility:hidden; }
  body { margin:0; background:var(--obsidian); color:var(--cream); font-family:var(--sans); font-weight:300; line-height:1.6; overflow-x:hidden; }
  a { color:inherit; text-decoration:none; }
  a.official { display:inline-flex; align-items:center; min-height:2.4rem; margin-top:.35rem; color:var(--champagne); font-size:12px; letter-spacing:.06em; }
  img, video { display:block; max-width:100%; }
  .cover, .hero video, .hero .still, .arrival video, .tile img, .sp img, .quote-band > img { max-width:none; object-fit:cover; }
  .container { width:min(1440px,100%); margin:0 auto; padding:0 clamp(1.25rem,4vw,4rem); }
  .caps { font-size:11px; letter-spacing:.28em; text-transform:uppercase; }
  header.nav { position:fixed; inset:0 0 auto; z-index:50; background:rgba(11,11,12,.94); backdrop-filter:blur(16px); border-bottom:1px solid var(--line); }
  .nav-inner { display:flex; align-items:center; gap:.5rem; min-height:3.6rem; }
  .logo { display:flex; flex-direction:column; line-height:1; color:var(--cream); min-height:2.75rem; justify-content:center; }
  .logo small { font-size:10px; letter-spacing:.28em; color:var(--champagne); }
  .logo b { font-family:var(--serif); font-weight:500; font-size:1.2rem; letter-spacing:.16em; }
  .nav-tools { margin-left:auto; display:flex; align-items:center; gap:.15rem; }
  .desk { display:none; }
  .health { margin:0; padding:.4rem clamp(1.25rem,4vw,4rem) .55rem; font-size:11px; line-height:1.35; color:var(--platinum); border-top:1px solid var(--line); }
  #langs select, .page select, .filters select { min-height:2.75rem; max-width:11rem; border:1px solid rgba(255,255,255,.2); background:rgba(11,11,12,.55); color:var(--cream); padding:0 .7rem; }
  .page select, .filters select, .page textarea { max-width:none; width:100%; }
  main#app { padding-top:7.4rem; }
  .btn, .icon-btn { min-height:2.6rem; border:1px solid rgba(255,255,255,.2); background:transparent; color:var(--cream); cursor:pointer; padding:0 .8rem; }
  .btn-gold { background:var(--champagne); color:#111; border-color:var(--champagne); }
  .hero { position:relative; isolation:isolate; min-height:64svh; max-height:34rem; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; background:var(--obsidian); }
  .hero video, .hero .still { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
  .hero .still { display:none; }
  .hero-veil { position:absolute; inset:0; z-index:1; background:linear-gradient(to top,#0B0B0C 0%,rgba(11,11,12,.55) 34%,rgba(11,11,12,.12) 62%,rgba(11,11,12,.62)); }
  .hero-inner, .hero-foot { position:relative; z-index:2; }
  .hero-inner { padding:8.5rem 0 2rem; }
  .eyebrow { display:flex; align-items:center; gap:1rem; color:var(--champagne); }
  .eyebrow i { width:3rem; height:1px; background:var(--champagne); }
  .wordmark { display:block; font-family:var(--serif); font-size:clamp(2.6rem,12vw,4.4rem); line-height:.82; letter-spacing:.04em; color:var(--champagne); }
  .hero-title { font-size:clamp(2.6rem,8vw,7.2rem); line-height:.92; letter-spacing:0; color:var(--cream); text-shadow:0 2px 24px rgba(0,0,0,.7); }
  .hero-title .accent { display:block; margin-top:.4rem; color:#e4c48a; font-style:italic; }
  @media (min-width:800px) {
    .wordmark { font-size:clamp(4.2rem,14vw,11rem); letter-spacing:.06em; }
    .hero { min-height:88svh; max-height:none; }
  }
  h1,h2,h3 { font-family:var(--serif); font-weight:500; }
  h1 { margin:0; }
  .line { display:block; margin-top:1.2rem; max-width:48rem; font-size:clamp(1.7rem,3.4vw,3rem); line-height:1.15; }
  .lede, .sub { max-width:36rem; color:var(--ivory); }
  .cta-row { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
  .btn { display:inline-flex; align-items:center; letter-spacing:.18em; text-transform:uppercase; font-size:11px; padding:.9rem 1.4rem; }
  .hero-foot { display:flex; justify-content:space-between; gap:1rem; align-items:flex-end; border-top:1px solid var(--line); padding:1.4rem 0 2rem; }
  .stats { display:flex; gap:2.5rem; margin:0; }
  .stats dt { font-family:var(--serif); font-size:2rem; }
  .stats dd { margin:.4rem 0 0; color:var(--platinum); }
  .marquee { overflow:hidden; border-bottom:1px solid var(--line); }
  .marquee-track { display:flex; width:max-content; animation:marquee 70s linear infinite; }
  .marquee span { padding:1.2rem 2rem; font-family:var(--serif); letter-spacing:.16em; text-transform:uppercase; color:rgba(229,229,231,.55); }
  @keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
  .section { padding:clamp(4rem,9vw,8rem) 0; }
  .sec-head { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; }
  .sec-num, .kicker { color:var(--champagne); }
  .sec-rule { width:3rem; height:1px; background:rgba(212,175,55,.7); }
  .manifesto, .display, .qb-quote { font-family:var(--serif); font-size:clamp(2rem,4vw,3.4rem); line-height:1.15; margin:0; }
  .tiles { display:grid; gap:.8rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cards, .grid { display:grid; gap:.8rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
  .tile, .sp, .card { position:relative; display:block; overflow:hidden; background:var(--charcoal); color:inherit; }
  .tile { aspect-ratio:3/4; }
  .tile img, .sp img, .quote-band > img { width:100%; height:100%; object-fit:cover; }
  .tile img { position:absolute; inset:0; }
  .tile-shade, .qb-veil { position:absolute; inset:0; background:linear-gradient(to top,rgba(11,11,12,.92),rgba(11,11,12,.15)); }
  .tile-copy, .sp-cap { position:absolute; left:0; right:0; bottom:0; padding:1.2rem; display:flex; flex-direction:column; gap:.4rem; }
  .tile-name, .sp-desc { font-family:var(--serif); font-size:1.6rem; }
  .tile-line { width:2.5rem; height:1px; background:var(--champagne); }
  .spread-grid { display:grid; grid-template-columns:1fr; gap:.8rem; }
  .sp { min-height:0; aspect-ratio:4/3; }
  .sp-b { aspect-ratio:4/5; }
  .sp-c, .sp-d { aspect-ratio:3/4; }
  .sp img { position:absolute; inset:0; }
  .quote-band { position:relative; min-height:28rem; display:flex; align-items:center; overflow:hidden; }
  .quote-band > img { position:absolute; inset:0; }
  .qb-inner { position:relative; z-index:1; }
  .concierge { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); }
  .card img, article > img { width:100%; height:280px; object-fit:cover; }
  .pad { padding:1rem 1.1rem; }
  .muted, .warn, .platinum { color:var(--platinum); }
  input { min-height:44px; width:min(420px,100%); background:transparent; color:var(--cream); border:1px solid rgba(255,255,255,.2); padding:0 12px; }
  .facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
  .stack { list-style:none; padding:0; display:grid; gap:10px; }
  footer { border-top:1px solid var(--line); color:var(--platinum); padding:2rem 0 4rem; }
  .foot-grid { display:grid; gap:1.5rem; }
  .foot-mark { font-family:var(--serif); font-size:2rem; margin:0 0 .6rem; color:var(--cream); }
  .foot-links { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:.15rem 1rem; }
  .foot-links a { min-height:2.75rem; display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:.35rem; text-decoration-color:rgba(212,175,55,.4); }
  .foot-base { border-top:1px solid var(--line); margin-top:1.5rem; padding-top:1rem; font-size:12px; }
  .tabbar { position:fixed; inset:auto 0 0; z-index:60; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); background:rgba(11,11,12,.96); border-top:1px solid rgba(212,175,55,.35); padding-bottom:env(safe-area-inset-bottom); }
  .tabbar a { min-height:4rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.15rem; color:var(--platinum); font-size:10px; letter-spacing:.04em; text-align:center; }
  .tabbar a[aria-current="page"] { color:#e4c48a; }
  .tabbar svg, .icon-btn svg { width:1.25rem; height:1.25rem; }
  .icon-btn { display:inline-flex; align-items:center; justify-content:center; width:2.75rem; height:2.75rem; padding:0; border:0; color:var(--cream); }
  .page { padding:.4rem 0 2.5rem; }
  .page h1 { font-size:clamp(2.5rem,12vw,3.6rem); line-height:.95; margin:0 0 .8rem; }
  .page h2 { font-size:1.7rem; line-height:1.15; margin:1.6rem 0 .5rem; }
  .page h3 { margin:.2rem 0; }
  .finder { display:flex; gap:.5rem; align-items:center; }
  .finder input { flex:1; width:auto; }
  .filters { display:none; gap:.75rem; }
  .filters label { display:grid; gap:.35rem; font-size:14px; }
  .filters.open { display:grid; position:fixed; inset:0; z-index:80; background:var(--obsidian); padding:1.25rem 1.25rem 6rem; overflow:auto; }
  .badge { display:inline-block; margin-bottom:.45rem; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--champagne); border:1px solid rgba(212,175,55,.45); padding:.15rem .4rem; }
  .row { display:flex; justify-content:space-between; gap:.75rem; align-items:baseline; border-bottom:1px solid var(--line); padding:.75rem 0; }
  .narrow { max-width:36rem; }
  .page textarea { min-height:8rem; width:100%; background:transparent; color:var(--cream); border:1px solid rgba(255,255,255,.2); padding:.7rem; font:inherit; }
  .page button, .filters button { font:inherit; }
  @media (max-width:800px) {
    .hero-inner { padding:1.4rem 0 1.5rem; }
    .cta-row { flex-direction:column; align-items:stretch; }
    .cta-row .btn, .page > section > .btn, #contact .btn { width:100%; justify-content:center; white-space:normal; text-align:center; }
    .finder .btn { flex:0 0 auto; width:auto; }
    main#app { padding-bottom:5.5rem; }
    .tabbar { background:#0B0B0C; }
    .hero-foot { grid-template-columns:1fr; display:flex; flex-direction:column; align-items:flex-start; }
    .stats { flex-wrap:wrap; gap:1rem; }
    .stats dt { font-size:1.45rem; }
    .concierge { grid-template-columns:1fr; }
    .tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tile { aspect-ratio:3/4; max-height:14rem; }
    .spread-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sp, .sp-a, .sp-b, .sp-c, .sp-d { aspect-ratio:1/1; max-height:12.5rem; }
    .quote-band { min-height:16rem; }
    .card img, article > img { height:10.5rem; }
    .cards, .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .card h3 { font-size:1.25rem; line-height:1.05; }
    .card img { height:8.5rem; }
    footer { padding-bottom:6.5rem; }
    .page article > img { height:auto; max-height:16rem; aspect-ratio:16/10; }
    .section { padding:2.75rem 0; }
    .display, .manifesto, .qb-quote { font-size:clamp(1.55rem,7vw,2.15rem); }
  }
  @media (min-width:900px) {
    .tiles { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .spread-grid { grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:clamp(120px,11vw,170px); gap:1.25rem; }
    .sp, .sp-a, .sp-b, .sp-c, .sp-d { aspect-ratio:auto; }
    .sp-a { grid-column:1 / 8; grid-row:1 / span 3; }
    .sp-b { grid-column:8 / 13; grid-row:1 / span 5; }
    .sp-c { grid-column:1 / 5; grid-row:4 / span 2; }
    .sp-d { grid-column:5 / 8; grid-row:4 / span 2; }
  }
  @media (min-width:640px) and (max-width:899px) { .tiles { grid-template-columns:repeat(2,minmax(0,1fr)); } }
  .mosaic { display:grid; gap:.6rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mosaic .tile { aspect-ratio:auto; min-height:11rem; max-height:none; }
  .mosaic .tile.wide { grid-column:span 2; }
  .tile-num { color:var(--champagne); font-size:10px; letter-spacing:.28em; }
  .tile-body { font-size:12px; color:rgba(245,245,247,.75); line-height:1.5; }
  .tile img { transition:transform .9s ease; }
  .tile:hover img, .thumb-row:hover img, .lead:hover img, .arch:hover img { transform:scale(1.05); }
  .essay { position:relative; overflow:hidden; min-height:26rem; display:flex; align-items:center; }
  .essay > img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; }
  .essay-veil { position:absolute; inset:0; background:linear-gradient(to right,rgba(0,0,0,.95),rgba(0,0,0,.72) 50%,rgba(0,0,0,.2)); }
  .essay-inner { position:relative; z-index:1; padding-top:3.5rem; padding-bottom:3.5rem; }
  .essay h2 { font-size:clamp(2.2rem,5vw,4rem); line-height:1; margin:1.2rem 0; max-width:42rem; }
  .ency { display:grid; gap:1.5rem; }
  .lead { display:block; }
  .lead .frame, .thumb, .arch .frame, .lounge .frame { position:relative; overflow:hidden; }
  .lead .frame { aspect-ratio:16/10; max-height:34vh; }
  .lead img, .thumb img, .arch img, .lounge img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; transition:transform .9s ease; }
  .lead h3 { font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.1; margin:.8rem 0 .4rem; }
  .thumbs { list-style:none; margin:0; padding:0; display:grid; gap:1rem; align-content:start; }
  .thumb-row { display:grid; grid-template-columns:6.5rem 1fr; gap:1rem; align-items:center; }
  .thumb { aspect-ratio:1; }
  .thumb-row h3 { margin:0; font-size:1.3rem; line-height:1.15; }
  .thumb-row p { margin:.25rem 0 0; font-size:12px; color:var(--platinum); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .archs { display:grid; gap:1rem; grid-template-columns:1fr; }
  .arch { display:flex; flex-direction:column; background:var(--charcoal); border:1px solid var(--line); }
  .arch .frame { aspect-ratio:16/10; max-height:26vh; }
  .arch h3 { margin:0; font-size:1.5rem; line-height:1.15; }
  .arch p { margin:.5rem 0 0; font-size:13px; color:var(--platinum); }
  .band { position:relative; display:block; overflow:hidden; border:1px solid var(--line); min-height:18rem; }
  .band > img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; }
  .band-veil { position:absolute; inset:0; background:linear-gradient(to right,rgba(0,0,0,.92),rgba(0,0,0,.65) 55%,rgba(0,0,0,.25)); }
  .band-inner { position:relative; padding:clamp(1.5rem,5vw,3.5rem); display:flex; flex-direction:column; justify-content:center; min-height:18rem; }
  .lounge { display:grid; gap:1.5rem; }
  .lounge .frame { aspect-ratio:16/10; max-height:32vh; }
  .topics { list-style:none; margin:1rem 0 0; padding:0; border-top:1px solid var(--line); }
  .topics a { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1rem 0; border-bottom:1px solid var(--line); }
  .topics h3 { margin:.2rem 0 0; font-size:1.25rem; line-height:1.2; }
  @media (min-width:640px) { .archs { grid-template-columns:repeat(2,minmax(0,1fr)); } .thumb-row { grid-template-columns:8.5rem 1fr; } }
  @media (min-width:900px) {
    .mosaic { grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:15rem; gap:.8rem; }
    .mosaic .tile.wide { grid-column:span 1; }
    .mosaic .tile.hero-tile { grid-column:span 2; grid-row:span 2; }
    .mosaic .tile.tail { grid-column:span 2; }
    .ency { grid-template-columns:1.2fr 1fr; }
    .lead .frame { max-height:none; }
    .archs { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .archs .arch:first-child { grid-column:span 2; }
    .archs .arch:first-child .frame { aspect-ratio:auto; flex:1; min-height:11.5rem; }
    .arch .frame { max-height:none; }
    .lounge { grid-template-columns:1fr 1fr; align-items:stretch; }
    .lounge .frame { aspect-ratio:auto; max-height:none; min-height:24rem; }
    .essay { min-height:34rem; }
  }
  @media (max-width:899px) { .mosaic .tile .tile-body { display:none; } .mosaic .tile.hero-tile .tile-body { display:block; } .mosaic .tile .tile-name { font-size:1.25rem; } }
  .rail { display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:.75rem; scrollbar-width:thin; }
  .house { flex:0 0 72%; max-width:16rem; scroll-snap-align:start; }
  .house .frame, .origin-card, .news-lead { position:relative; overflow:hidden; border:1px solid var(--line); }
  .house .frame { aspect-ratio:4/5; }
  .house img, .origin-card img, .news-lead img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; }
  .house-shade, .origin-card .tile-shade { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.92),rgba(0,0,0,.15) 46%,transparent); }
  .house-cap, .origin-name, .news-lead .copy { position:absolute; left:0; right:0; bottom:0; padding:1rem; }
  .house-cap h3, .origin-name { margin:0; font-size:1.8rem; line-height:1; }
  .house-cap .caps { color:var(--champagne); letter-spacing:.24em; }
  .clamp { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:.7rem 0 0; }
  .house-links { display:flex; flex-wrap:wrap; gap:0 1rem; }
  .house-links .official { margin-top:0; }
  .origin-card { flex:0 0 46%; max-width:12rem; aspect-ratio:3/4; scroll-snap-align:start; color:inherit; }
  .year-badge { position:absolute; top:.75rem; left:.75rem; background:rgba(0,0,0,.6); color:#e4c48a; font-size:12px; letter-spacing:.18em; padding:.25rem .5rem; }
  .news { display:grid; gap:1.5rem; }
  .news-lead { display:block; min-height:22rem; color:inherit; }
  .news-lead .copy { background:linear-gradient(to top,rgba(0,0,0,.95),transparent); }
  .news-lead h3 { margin:.35rem 0; font-size:clamp(1.7rem,3vw,2.4rem); line-height:1.1; }
  @media (min-width:640px) {
    .house { flex-basis:18rem; max-width:20rem; }
    .origin-card { flex-basis:14rem; max-width:14rem; }
  }
  @media (min-width:900px) {
    .news { grid-template-columns:1.3fr 1fr; }
    .news-lead { min-height:28rem; }
    body.home header.nav { background:linear-gradient(to bottom,rgba(11,11,12,.78),rgba(11,11,12,.28) 70%,transparent); border-bottom:0; }
    body.home .health { display:none; }
    body.home main#app { padding-top:0; }
    .desk { display:flex; gap:.1rem; margin-left:.6rem; overflow:auto; }
    .desk a { min-height:2.75rem; display:inline-flex; align-items:center; padding:0 .4rem; font-size:14px; color:var(--platinum); white-space:nowrap; }
    .desk a[aria-current="page"] { color:#e4c48a; }
    .tabbar { display:none; }
    .filters { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; position:static; padding:0; background:transparent; overflow:visible; }
    #filter-open, #filter-close { display:none; }
    .cards, .grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .foot-grid { grid-template-columns:1.2fr 2fr; }
    .foot-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
    footer { padding-bottom:3rem; }
  }
  .safari-gate { position:fixed; inset:0; z-index:200; display:none; align-items:flex-end; justify-content:center; background:radial-gradient(ellipse at 18% 100%,rgba(212,175,55,.16),transparent 34%),rgba(11,11,12,.96); }
  .safari-gate.show { display:flex; }
  .safari-panel { width:min(44rem,100%); padding:0 clamp(1.35rem,5vw,3rem) max(2rem,env(safe-area-inset-bottom)); }
  .safari-title { margin:0; font-family:var(--serif); font-weight:500; font-size:clamp(3rem,12vw,6.4rem); line-height:.9; letter-spacing:0; color:var(--cream); }
  .safari-accent { margin:.35rem 0 0; font-family:var(--serif); font-style:italic; font-weight:500; font-size:clamp(2.15rem,8vw,4.4rem); line-height:.95; color:#e4c48a; }
  .safari-sub { max-width:32rem; margin:1.15rem 0 0; color:var(--ivory); font-size:1.02rem; line-height:1.65; }
  .safari-panel .btn { width:min(22rem,100%); margin-top:1.7rem; justify-content:center; }
  @media (min-width:800px) { .safari-gate { align-items:center; } .safari-panel { padding-bottom:0; } }
  body.safari-locked { overflow:hidden; }
  body.safari-locked .arrival { visibility:hidden; }
  @media (prefers-reduced-motion:reduce) { .marquee-track { animation:none; } .hero video { display:none; } .hero .still { display:block; } }

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-width:320px}*,*::before,*::after{box-sizing:border-box}img,video{max-width:100%}input,select,textarea{font-size:16px}:focus-visible{outline:2px solid #b79b61;outline-offset:4px}[data-lang],#langs,.lang-button,.lang-btn,[aria-label="Language"],[aria-label="Choose language"],[aria-label="Select language"],[aria-label="语言"]{display:none!important}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
