/* ============================================================
   OWNEXT — Showroom, property pages and Guide (2026-10-10)
   Loaded after styles.css; uses its tokens, so dark + light
   themes both work. Showroom panels stay Obsidian in both.
   ============================================================ */

.pg { padding-top: 0; }
.pg-wrap { max-width: var(--container); margin: 0 auto; padding: 0 clamp(20px, 5vw, 64px); }
.pg-narrow { max-width: 820px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 40px); }
.pg-mono { font-family: var(--mono); font-size: 13px; letter-spacing: .22em; text-transform: uppercase; }
.pg-gold { color: var(--gold-bright); }
.nav__links a[aria-current="page"] { color: var(--gold-bright); }
.nav__links a[aria-current="page"]::after { transform: scaleX(1); background: var(--gold); }
html[data-theme="light"] .nav__links a[aria-current="page"] { color: #D9AE72; }

/* breadcrumbs */
.crumbs { display: flex; flex-wrap: wrap; gap: 6px 10px; font-family: var(--mono); font-size: 12.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--ivory-faint); }
.crumbs a { color: var(--ivory-faint); border-bottom: 1px solid transparent; transition: color .3s, border-color .3s; }
.crumbs a:hover { color: var(--gold-bright); border-color: var(--hairline); }
.crumbs span[aria-hidden] { color: var(--gold); }

/* reveal */
.rv { opacity: 0; transform: translateY(26px); transition: opacity 1s var(--ease), transform 1s var(--ease); }
.rv.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .rv { opacity: 1; transform: none; transition: none; } }

/* ---------- Showroom intro ---------- */
.sr-intro { min-height: 92vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 170px clamp(20px, 5vw, 64px) 96px; position: relative; overflow: hidden;
  background: radial-gradient(900px 560px at 50% 30%, rgba(171,121,68,.16), transparent 64%), var(--obsidian); }
.sr-intro__mark { width: 46px; opacity: .9; }
.sr-intro__kicker { margin-top: 30px; color: var(--gold-bright); }
.sr-intro__title { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: clamp(56px, 9vw, 140px); line-height: .98; margin-top: 20px; letter-spacing: -.01em; }
.sr-intro__sub { margin-top: 26px; max-width: 46ch; color: var(--ivory-dim); font-size: clamp(18px, 1.5vw, 21px); font-weight: 300; }
.sr-intro__index { margin-top: 44px; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; }
.sr-intro__index a { font-family: var(--mono); font-size: 12.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--ivory-faint); padding: 6px 0; border-bottom: 1px solid transparent; transition: color .3s, border-color .3s; }
.sr-intro__index a:hover { color: var(--gold-bright); border-color: var(--hairline); }
.sr-intro__cue { margin-top: 54px; width: 1px; height: 64px; background: linear-gradient(var(--gold), transparent); animation: cue 2.4s var(--ease) infinite; }
@keyframes cue { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
@media (prefers-reduced-motion: reduce) { .sr-intro__cue { animation: none; } }

/* ---------- Cinematic panel (always Obsidian) ---------- */
.cine { position: relative; min-height: min(94vh, 980px); display: flex; align-items: flex-end; overflow: hidden; background: #0E0D0B; color: #EAE8DA; border-top: 1px solid rgba(171,121,68,.28); scroll-margin-top: 0; }
.cine__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.05) brightness(.8); transform: scale(1.1); transition: transform 2.6s var(--ease); }
.cine.is-in .cine__img { transform: scale(1); }
.cine__plate { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding-left: 30vw;
  background: radial-gradient(700px 520px at 78% 45%, rgba(171,121,68,.14), transparent 70%), #171612; }
.cine__plate img { width: clamp(140px, 18vw, 260px); opacity: .32; }
.cine__plate-note { position: absolute; right: 9vw; bottom: 9vh; font-family: var(--mono); font-size: 12px; letter-spacing: .24em; text-transform: uppercase; color: rgba(234,232,218,.7); }
.cine__num { position: absolute; top: clamp(90px, 12vh, 140px); right: clamp(20px, 5vw, 72px); font-family: var(--serif); font-size: clamp(80px, 12vw, 180px); line-height: 1; color: rgba(234,232,218,.16); pointer-events: none; }
.cine__card { position: relative; margin: 0 0 clamp(28px, 7vh, 72px) clamp(16px, 5vw, 72px); width: min(600px, calc(100% - 32px)); background: rgba(14,13,11,.9); border: 1px solid rgba(171,121,68,.42); box-shadow: inset 0 0 0 7px rgba(14,13,11,.9), inset 0 0 0 8px rgba(171,121,68,.22); padding: clamp(26px, 3vw, 40px);
  opacity: 0; transform: translateY(30px); transition: opacity 1.1s var(--ease) .25s, transform 1.1s var(--ease) .25s; }
.cine.is-in .cine__card { opacity: 1; transform: none; }
.cine__meta { display: flex; justify-content: space-between; gap: 12px; font-family: var(--mono); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: #D9AE72; }
.cine__name { font-family: var(--serif); font-weight: 400; font-size: clamp(32px, 3.8vw, 52px); line-height: 1.06; margin-top: 14px; }
.cine__line { margin-top: 14px; font-size: 17px; line-height: 1.65; color: rgba(234,232,218,.86); font-weight: 300; }
.cine__foot { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(171,121,68,.35); display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; justify-content: space-between; }
.cine__price { font-family: var(--serif); font-size: 26px; color: #E6C08F; }
.cine__cta { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-family: var(--mono); font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: #EAE8DA; transition: color .3s, gap .4s var(--ease); }
.cine__cta:hover { color: #D9AE72; gap: 16px; }
@media (prefers-reduced-motion: reduce) { .cine__img { transform: none; transition: none; } .cine__card { opacity: 1; transform: none; transition: none; } }

/* ---------- Guide strip + CTA band ---------- */
.band { padding: clamp(80px, 10vw, 140px) 0; border-top: 1px solid var(--hairline); }
.band__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 40px; }
.band__title { font-family: var(--serif); font-weight: 400; font-size: clamp(34px, 4vw, 54px); line-height: 1.08; }
.band__link { font-family: var(--mono); font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-bright); }
.strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 28px; }
.strip a { display: block; padding-top: 18px; border-top: 1px solid var(--hairline); transition: border-color .4s; }
.strip a:hover { border-color: var(--gold); }
.strip__k { font-family: var(--mono); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--gold-bright); }
.strip__t { font-family: var(--serif); font-size: 23px; line-height: 1.3; margin-top: 10px; }
.cta-box { border: 1px solid var(--hairline); box-shadow: inset 0 0 0 8px var(--obsidian), inset 0 0 0 9px var(--hairline); padding: clamp(36px, 5vw, 68px); display: flex; flex-wrap: wrap; gap: 28px; align-items: center; justify-content: space-between; }
.cta-box h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.1; }
.cta-box p { margin-top: 10px; color: var(--ivory-dim); font-size: 17px; }
.cta-box p a { color: var(--gold-bright); }
.btn-row { display: flex; flex-wrap: wrap; gap: 14px; }

/* ---------- Property page ---------- */
.ph { position: relative; min-height: min(88vh, 900px); display: flex; align-items: flex-end; overflow: hidden; background: #0E0D0B; color: #EAE8DA; }
.ph .cine__card { opacity: 1; transform: none; margin-top: 140px; }
.ph .cine__img { transform: none; }
.ph .crumbs { margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid rgba(171,121,68,.28); font-size: 11.5px; }
.ph .crumbs, .ph .crumbs a { color: rgba(234,232,218,.72); }
.nav--solid { background: rgba(21, 24, 23, 0.9); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 1px 0 var(--hairline-sage); }
@media (max-width: 700px) { .cine__plate { padding-left: 0; align-items: flex-start; padding-top: 22vh; } }
.pp { padding: clamp(64px, 8vw, 112px) 0 clamp(72px, 9vw, 128px); }
.pp__grid { display: flex; flex-wrap: wrap; gap: clamp(36px, 5vw, 72px); align-items: flex-start; }
.pp__main { flex: 999 1 560px; min-width: 0; }
.pp__side { flex: 1 1 320px; min-width: 0; position: sticky; top: 110px; }
.pp__lede { font-family: var(--serif); font-size: clamp(24px, 2.4vw, 31px); line-height: 1.45; }
.pp__h { font-family: var(--serif); font-weight: 400; font-size: clamp(28px, 3vw, 38px); margin: 64px 0 22px; }
.specs { border-top: 1px solid var(--hairline); }
.specs__row { display: grid; grid-template-columns: minmax(130px, 220px) 1fr; gap: 8px 28px; padding: 18px 0; border-bottom: 1px solid var(--hairline); }
.specs__row dt { font-family: var(--mono); font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--ivory-faint); padding-top: 4px; }
.specs__row dd { font-size: 18px; line-height: 1.6; }
@media (max-width: 560px) { .specs__row { grid-template-columns: 1fr; } }
.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 22px; }
.gallery figure { margin: 0; }
.gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--obsidian-2); }
.gallery figcaption, .pp__video figcaption { margin-top: 10px; font-size: 15px; line-height: 1.5; color: var(--ivory-faint); }
.pp__video video { width: 100%; display: block; background: #000; }
.side-card { background: var(--obsidian-2); border: 1px solid var(--hairline); box-shadow: inset 0 0 0 7px var(--obsidian-2), inset 0 0 0 8px var(--hairline); padding: 32px 30px; }
.side-card__k { font-family: var(--mono); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--ivory-faint); }
.side-card__price { font-family: var(--serif); font-size: clamp(30px, 3vw, 40px); line-height: 1.1; margin-top: 8px; color: var(--gold-bright); }
.side-card__hl { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--hairline); }
.side-card__hl b { display: block; font-family: var(--serif); font-weight: 400; font-size: 22px; margin-top: 6px; }
.side-card .btn { display: block; text-align: center; margin-top: 14px; padding: 17px 20px; font-size: 13.5px; }
.side-card__adv { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--hairline); font-size: 16px; line-height: 1.6; }
.side-card__adv a { color: var(--gold-bright); }
.side-card__map { display: inline-block; margin-top: 16px; font-family: var(--mono); font-size: 12.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-bright); }
.pp__plate { aspect-ratio: 16 / 9; background: var(--obsidian-2); border: 1px solid var(--hairline); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; padding: 20px; }
.pp__plate img { width: 56px; }
.pp__plate span { font-family: var(--mono); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--ivory-faint); }
.more { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 22px; }
.more a { display: block; background: var(--obsidian-2); border: 1px solid var(--hairline); padding: 22px 24px; transition: border-color .4s, transform .4s var(--ease); }
.more a:hover { border-color: var(--gold); transform: translateY(-3px); }
.more__k { font-family: var(--mono); font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-bright); }
.more__t { font-family: var(--serif); font-size: 21px; line-height: 1.3; margin-top: 8px; }
.more__p { font-size: 15px; color: var(--ivory-faint); margin-top: 6px; }

/* ---------- Guide hub ---------- */
.gh-hero { padding: 180px 0 64px; background: radial-gradient(900px 520px at 85% 0%, rgba(171,121,68,.13), transparent 62%), var(--obsidian); }
.gh-hero h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(48px, 7vw, 104px); line-height: 1; margin-top: 22px; }
.gh-hero p { margin-top: 24px; max-width: 54ch; color: var(--ivory-dim); font-size: clamp(18px, 1.5vw, 21px); }
.gh-feature { display: flex; flex-wrap: wrap; gap: 0; border: 1px solid var(--hairline); background: var(--obsidian-2); margin-top: 24px; transition: border-color .4s; }
.gh-feature:hover { border-color: var(--gold); }
.gh-feature__img { flex: 1 1 420px; min-height: 320px; background-size: cover; background-position: center; }
.gh-feature__txt { flex: 1 1 420px; padding: clamp(28px, 4vw, 52px); display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.gh-feature__t { font-family: var(--serif); font-size: clamp(30px, 3.2vw, 44px); line-height: 1.1; }
.gh-feature__d { color: var(--ivory-dim); font-size: 17px; }
.gh-group { margin-top: 72px; }
.gh-group__t { font-family: var(--mono); font-size: 13px; letter-spacing: .22em; text-transform: uppercase; color: var(--gold-bright); padding-bottom: 14px; border-bottom: 1px solid var(--hairline); }
.gh-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); gap: 26px; margin-top: 28px; }
.gh-card { display: flex; flex-direction: column; gap: 12px; background: var(--obsidian-2); border: 1px solid var(--hairline); box-shadow: inset 0 0 0 7px var(--obsidian-2), inset 0 0 0 8px var(--hairline); padding: 30px 28px; transition: border-color .4s, transform .4s var(--ease); }
.gh-card:hover { border-color: var(--gold); transform: translateY(-3px); }
.gh-card__t { font-family: var(--serif); font-size: 24px; line-height: 1.25; }
.gh-card__d { font-size: 16px; line-height: 1.6; color: var(--ivory-dim); }
.gh-card__m { margin-top: auto; padding-top: 10px; font-family: var(--mono); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--ivory-faint); }

/* ---------- Article ---------- */
.ga-head { padding: 170px 0 48px; border-bottom: 1px solid var(--hairline); background: radial-gradient(800px 460px at 90% 0%, rgba(171,121,68,.11), transparent 62%), var(--obsidian); }
.ga-head h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(40px, 5.4vw, 74px); line-height: 1.04; margin-top: 22px; max-width: 20ch; }
.ga-dek { margin-top: 22px; max-width: 58ch; font-size: clamp(19px, 1.6vw, 22px); color: var(--ivory-dim); font-weight: 300; }
.ga-meta { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 8px 24px; font-family: var(--mono); font-size: 12.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--ivory-faint); }
.ga-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; padding-top: clamp(48px, 6vw, 88px); padding-bottom: 40px; }
.ga-body { min-width: 0; max-width: 780px; }
.ga-toc { min-width: 0; order: -1; }
@media (min-width: 1000px) {
  .ga-layout { grid-template-columns: minmax(0, 780px) 260px; justify-content: space-between; align-items: start; }
  .ga-toc { order: 0; position: sticky; top: 110px; }
}
.ga-toc__t { font-family: var(--mono); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--gold-bright); margin-bottom: 14px; }
.ga-toc ol { list-style: none; border-left: 1px solid var(--hairline); }
.ga-toc li a { display: block; padding: 8px 0 8px 18px; font-size: 15.5px; line-height: 1.45; color: var(--ivory-faint); transition: color .3s; }
.ga-toc li a:hover { color: var(--gold-bright); }
.ga-body > * + * { margin-top: 0; }
.ga-body p, .ga-body li { font-size: 19px; line-height: 1.8; color: var(--ivory-dim); }
.ga-body p { margin-top: 20px; }
.ga-body .g-lede { font-family: var(--serif); font-size: clamp(22px, 2vw, 26px); line-height: 1.6; color: var(--ivory); margin-top: 0; }
.ga-body section { margin-top: 56px; scroll-margin-top: 110px; }
.ga-body h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(30px, 3vw, 40px); line-height: 1.15; color: var(--ivory); }
.ga-body h3 { font-family: var(--serif); font-weight: 500; font-size: 24px; margin-top: 34px; color: var(--ivory); }
.ga-body ul, .ga-body ol { margin: 18px 0 0 1.2em; }
.ga-body li { margin-top: 8px; padding-left: 4px; }
.ga-body li::marker { color: var(--gold); }
.ga-body strong { color: var(--ivory); font-weight: 500; }
.ga-body a { color: var(--gold-bright); border-bottom: 1px solid var(--hairline); transition: border-color .3s; }
.ga-body a:hover { border-color: var(--gold); }
.ga-body blockquote { margin-top: 24px; padding: 6px 0 6px 24px; border-left: 2px solid var(--gold); font-family: var(--serif); font-style: italic; font-size: 22px; }
.g-note { margin-top: 26px; padding: 20px 24px; background: var(--obsidian-2); border: 1px solid var(--hairline); border-left: 3px solid var(--gold); font-size: 17px; line-height: 1.7; color: var(--ivory-dim); }
.g-note p { font-size: 17px; margin-top: 8px; }
.g-note p:first-child { margin-top: 0; }
.g-table-wrap { overflow-x: auto; margin-top: 26px; border: 1px solid var(--hairline); }
.g-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 16px; }
.g-table th { text-align: left; font-family: var(--mono); font-weight: 400; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; padding: 14px 16px; background: var(--gold); color: #171612; }
.g-table td { padding: 14px 16px; border-top: 1px solid var(--hairline); vertical-align: top; line-height: 1.55; color: var(--ivory-dim); }
.g-table tr:nth-child(even) td { background: var(--obsidian-2); }
.ga-steps { counter-reset: st; list-style: none; margin: 22px 0 0 !important; }
.ga-steps li { counter-increment: st; position: relative; padding: 18px 0 18px 64px !important; border-top: 1px solid var(--hairline); margin: 0 !important; }
.ga-steps li::before { content: counter(st, decimal-leading-zero); position: absolute; left: 0; top: 16px; font-family: var(--serif); font-size: 30px; color: var(--gold); }
.ga-steps b { display: block; color: var(--ivory); font-weight: 500; }
.faq { margin-top: 22px; border-top: 1px solid var(--hairline); }
.faq details { border-bottom: 1px solid var(--hairline); }
.faq summary { cursor: pointer; list-style: none; padding: 20px 40px 20px 0; position: relative; font-family: var(--serif); font-size: 21px; line-height: 1.4; color: var(--ivory); min-height: 44px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; position: absolute; right: 6px; top: 16px; font-family: var(--sans); font-size: 26px; color: var(--gold); transition: transform .4s var(--ease); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin: 0 0 22px; }
.sources { margin-top: 18px !important; }
.sources li { font-size: 15.5px !important; line-height: 1.6 !important; }
.ga-disclaimer { margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--hairline); font-size: 15px !important; line-height: 1.65 !important; color: var(--ivory-faint) !important; }

/* language switcher on subpages (links, same look as the home buttons) */
a.lang__btn { color: var(--ivory-faint); padding: 4px 2px; transition: color .3s; }
a.lang__btn:hover { color: var(--ivory); }
a.lang__btn.is-active { color: var(--sage-sky); }
.menu__lang { font-size: 18px; gap: 14px; }
.menu__lang a.lang__btn { color: rgba(234,232,218,.8); padding: 10px 6px; }
.menu__lang a.lang__btn.is-active { color: #D9AE72; }

/* Street View on property pages */
.pp__sv { margin: 0; }
.pp__sv iframe { display: block; width: 100%; aspect-ratio: 16 / 10; border: 1px solid var(--hairline); background: var(--obsidian-2); }
.pp__sv figcaption { margin-top: 10px; font-size: 15px; color: var(--ivory-faint); }
.pp__sv figcaption a { color: var(--gold-bright); }

.pp__videos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 22px; align-items: start; }
.pp__videos video { max-height: 70vh; object-fit: contain; }
.pg .btn--nav { white-space: nowrap; } .pg .nav__links { gap: clamp(16px, 2.2vw, 36px); }

/* ===== Phone layout (2026-10-12) ===== */
@media (max-width: 700px) {
  /* Showroom panels: smaller card so the photo shows */
  .cine { min-height: 82svh; }
  .cine__num { font-size: 64px; top: 84px; }
  .cine__card { margin: 0 0 16px 12px; width: calc(100% - 24px); padding: 14px 16px; box-shadow: none; }
  .cine__name { font-size: 22px; margin-top: 8px; }
  .cine__meta { font-size: 10px; }
  .cine__line { display: none; }
  .cine__foot { margin-top: 10px; padding-top: 10px; gap: 6px 16px; }
  .cine__price { font-size: 19px; }
  .cine__cta { min-height: 36px; font-size: 11px; }
  .ph .cine__card { margin-top: 100px; }
  .ph .cine__line { display: block; font-size: 14.5px; }

  /* FAQ, From the Showroom, Keep reading: 2 x 2 cards, swipe sideways */
  .faq, .more { display: grid !important; grid-auto-flow: column; grid-template-rows: repeat(2, auto); grid-template-columns: none !important;
    grid-auto-columns: calc(50% - 5px); gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; border-top: 0;
    margin-right: -16px; padding-right: 16px; padding-bottom: 6px; scrollbar-width: none; align-items: start; }
  .faq::-webkit-scrollbar, .more::-webkit-scrollbar { display: none; }
  .faq > *, .more > * { scroll-snap-align: start; min-width: 0; }
  .faq details { border: 1px solid var(--hairline); padding: 0 12px; height: 100%; box-sizing: border-box; }
  .faq summary { font-size: 15px; line-height: 1.35; padding: 12px 18px 12px 0; }
  .faq summary::after { right: -4px; top: 8px; font-size: 20px; }
  .faq details p { font-size: 13.5px; line-height: 1.55; margin-bottom: 12px; }
  .more > a { height: 100%; box-sizing: border-box; padding: 14px 12px !important; }
  .more__t { font-size: 15px !important; line-height: 1.3; }
  .more__k, .more__p { font-size: 10.5px !important; }
  .band { padding: 56px 0; }
  .band__head { margin-bottom: 20px; }
}

/* ===== Phone extras (2026-10-12) ===== */
@media (max-width: 700px) {
  /* property gallery: swipe row */
  .gallery { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; margin-right: -16px; padding-right: 16px; scrollbar-width: none; }
  .gallery::-webkit-scrollbar { display: none; }
  .gallery figure { flex: 0 0 84%; scroll-snap-align: start; opacity: 1 !important; transform: none !important; }
  .gallery figcaption { font-size: 13.5px; }
  /* article contents: swipe row of chips */
  .ga-toc { position: sticky; top: 92px; z-index: 5; background: var(--obsidian, #14130F); margin: 0 -16px; padding: 8px 16px; border-bottom: 1px solid var(--hairline); }
  .ga-toc__t { display: none; }
  .ga-toc ol { display: flex; gap: 8px; overflow-x: auto; border-left: 0; scrollbar-width: none; counter-reset: none; }
  .ga-toc ol::-webkit-scrollbar { display: none; }
  .ga-toc li { flex: none; }
  .ga-toc li a { white-space: nowrap; padding: 7px 12px; font-size: 13px; border: 1px solid var(--hairline); border-radius: 999px; }
  .ga-toc li a.is-on { color: var(--gold-bright); border-color: var(--gold); }
  .ga-body section[id] { scroll-margin-top: 150px; }
}
html[data-theme="light"] .ga-toc { background: var(--obsidian, #F4F1E8); }

/* ===== Phone fixes 2 (2026-10-12) ===== */
@media (max-width: 700px) {
  .ga-toc { top: var(--navh, 138px); }
  .ga-body section[id] { scroll-margin-top: calc(var(--navh, 138px) + 64px); }
  /* comparison tables become one card per row: nothing cut off, no sideways scrolling */
  .g-table-wrap { overflow: visible; border: 0; }
  .g-table, .g-table tbody, .g-table tr, .g-table td { display: block; min-width: 0; width: 100%; }
  .g-table thead { display: none; }
  .g-table tr { border: 1px solid var(--hairline); margin-bottom: 10px; background: var(--obsidian-2); }
  .g-table tr:nth-child(even) td { background: transparent; }
  .g-table td { border-top: 0; padding: 8px 14px; font-size: 15px; }
  .g-table td:first-child { padding-top: 12px; font-family: var(--serif); font-size: 18px; color: var(--ivory); border-bottom: 1px solid var(--hairline); }
  .g-table td[data-th]:not(:first-child)::before { content: attr(data-th); display: block; font-family: var(--mono); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-bright); margin-bottom: 3px; }
  .g-table td:last-child { padding-bottom: 12px; }
}
.g-table-hint { display: none; }

/* Showroom "Before you buy": 2 x 2 cards, swipe sideways (phones) */
@media (max-width: 700px) {
  .strip { display: grid !important; grid-auto-flow: column; grid-template-rows: repeat(2, auto); grid-template-columns: none !important;
    grid-auto-columns: calc(50% - 5px); gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory;
    margin-right: -16px; padding-right: 16px; padding-bottom: 6px; scrollbar-width: none; align-items: stretch; }
  .strip::-webkit-scrollbar { display: none; }
  .strip > a { scroll-snap-align: start; min-width: 0; height: 100%; box-sizing: border-box; padding: 14px 12px !important; border: 1px solid var(--hairline); }
  .strip__t { font-size: 15px !important; line-height: 1.3; }
  .strip__k { font-size: 10.5px !important; }
}
