/* CBA Real Estate — public site
   White, ink-black and the CBA red dot. Manrope for UI, Instrument Serif italic as the accent voice. */

:root {
  --ink: #0d0d0f;
  --ink-2: #2b2b31;
  --muted: #6c6c74;
  --line: #e7e6e2;
  --bg: #ffffff;
  --soft: #f5f4f0;
  --red: #f43b2f;
  --red-d: #d72d22;
  --gold: #b99a6b;
  --radius: 18px;
  --radius-s: 12px;
  --shadow: 0 1px 2px rgba(13,13,15,.04), 0 12px 32px -12px rgba(13,13,15,.18);
  --font: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --serif: "Instrument Serif", Georgia, serif;
  --ease: cubic-bezier(.2,.7,.1,1);
  --hdr: 76px;
  --gut: clamp(16px, 4vw, 40px);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--hdr) + 12px); }
body { margin: 0; font-family: var(--font); color: var(--ink); background: var(--bg); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; border-radius: 4px; }
.wrap { width: 100%; max-width: 1320px; margin: 0 auto; padding: 0 var(--gut); }
.sr, .hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--ink); color: #fff; padding: 8px 14px; border-radius: 8px; z-index: 100; }
.skip:focus { left: 8px; }
.muted { color: var(--muted); }

/* ---------------------------------------------------------------- type */
.eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin: 0 0 12px; display: flex; align-items: center; gap: 10px; }
.eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--red); flex: none; }
.eyebrow--light { color: rgba(255,255,255,.8); }
.h1, .h2 { font-weight: 700; letter-spacing: -.035em; line-height: 1.02; margin: 0; }
.h1 { font-size: clamp(40px, 6vw, 80px); }
.h2 { font-size: clamp(32px, 4.4vw, 58px); }
.h2--light, .h1--light { color: #fff; }
.h1 em, .h2 em, .hero__h em, .ph__h em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; color: var(--red); }
.lead { font-size: clamp(17px, 1.5vw, 20px); color: var(--ink-2); max-width: 640px; line-height: 1.55; }

/* ------------------------------------------------------------- buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 52px; padding: 0 26px; border-radius: 999px; border: 1px solid transparent; font-weight: 700; font-size: 15px; letter-spacing: -.01em; transition: transform .25s var(--ease), background .2s, color .2s, border-color .2s, box-shadow .25s; white-space: nowrap; }
.btn:active { transform: scale(.97); }
.btn--sm { height: 42px; padding: 0 18px; font-size: 14px; }
.btn--red { background: var(--red); color: #fff; box-shadow: 0 8px 24px -10px rgba(244,59,47,.7); }
.btn--red:hover { background: var(--red-d); }
.btn--ink { background: var(--ink); color: #fff; }
.btn--ink:hover { background: #26262b; }
.btn--ghost { border-color: currentColor; background: transparent; }
.btn--ghost:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.btn--block { width: 100%; }
.link-arrow { font-weight: 700; font-size: 15px; display: inline-flex; align-items: center; gap: 8px; }
.link-arrow::after { content: "→"; transition: transform .3s var(--ease); }
.link-arrow:hover::after, a:hover .link-arrow::after { transform: translateX(5px); }
.link-btn { background: none; border: 0; padding: 0; font-weight: 700; color: var(--red); font-size: 14px; }

/* -------------------------------------------------------------- header */
.hdr { position: fixed; inset: 0 0 auto; z-index: 50; height: var(--hdr); transition: background .35s, box-shadow .35s, transform .4s var(--ease); }
.hdr__in { height: 100%; display: flex; align-items: center; gap: 28px; }
.logo { position: relative; display: block; flex: none; }
.logo img { height: 40px; width: auto; transition: opacity .3s; }
.logo__light { position: absolute; inset: 0; opacity: 0; }
.nav { display: flex; gap: 4px; margin-left: auto; }
.nav__a { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 10px 12px; font-size: 15px; font-weight: 600; border: 0; background: none; border-radius: 999px; transition: background .2s, color .2s; }
.nav__a::after { content: ""; position: absolute; left: 50%; bottom: 3px; width: 5px; height: 5px; border-radius: 50%; background: var(--red); transform: translateX(-50%) scale(0); transition: transform .3s var(--ease); }
.nav__a.is-active::after, .nav__a:hover::after { transform: translateX(-50%) scale(1); }
.nav__dd { position: relative; }
.nav__menu { position: absolute; top: calc(100% + 6px); left: -8px; min-width: 240px; background: #fff; border-radius: var(--radius-s); box-shadow: var(--shadow); padding: 8px; display: grid; opacity: 0; transform: translateY(6px); pointer-events: none; transition: opacity .2s, transform .25s var(--ease); color: var(--ink); }
.nav__menu a { padding: 10px 12px; border-radius: 8px; font-size: 14px; font-weight: 600; }
.nav__menu a:hover { background: var(--soft); }
.nav__dd:hover .nav__menu, .nav__dd:focus-within .nav__menu, .nav__dd.open .nav__menu { opacity: 1; transform: none; pointer-events: auto; }
.hdr__cta { display: flex; align-items: center; gap: 16px; }
.hdr__tel { font-weight: 700; font-size: 14px; }
.burger { display: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid currentColor; background: none; position: relative; }
.burger span { position: absolute; left: 13px; right: 13px; height: 2px; background: currentColor; transition: transform .3s var(--ease); }
.burger span:first-child { top: 17px; } .burger span:last-child { top: 25px; }
.burger[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
.burger[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }

/* Transparent over dark heroes, solid once scrolled or on light pages */
body:not(.page-home):not(.has-dark-hero) .hdr, .hdr.is-solid { background: rgba(255,255,255,.92); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); box-shadow: 0 1px 0 var(--line); }
.page-home .hdr:not(.is-solid), .has-dark-hero .hdr:not(.is-solid) { color: #fff; }
.page-home .hdr:not(.is-solid) .logo__dark, .has-dark-hero .hdr:not(.is-solid) .logo__dark, body.menu-open .logo__dark { opacity: 0; }
.page-home .hdr:not(.is-solid) .logo__light, .has-dark-hero .hdr:not(.is-solid) .logo__light, body.menu-open .logo__light { opacity: 1; }
.page-home .hdr:not(.is-solid) .nav__a:hover, .has-dark-hero .hdr:not(.is-solid) .nav__a:hover { background: rgba(255,255,255,.12); }
.hdr.is-hidden { transform: translateY(-100%); }
body:not(.page-home):not(.has-dark-hero) main { padding-top: var(--hdr); }

.mnav { position: fixed; inset: 0; z-index: 45; background: var(--ink); color: #fff; padding: calc(var(--hdr) + 16px) var(--gut) 32px; overflow-y: auto; }
.mnav__in { display: grid; gap: 2px; }
.mnav a { font-size: 30px; font-weight: 700; letter-spacing: -.03em; padding: 6px 0; }
.mnav a.mnav__sm { font-size: 18px; font-weight: 600; color: rgba(255,255,255,.7); }
.mnav__foot { display: grid; gap: 10px; margin-top: 24px; }
.mnav__foot .btn { font-size: 16px; }
body.menu-open { overflow: hidden; }
body.menu-open .hdr { color: #fff; background: transparent; box-shadow: none; backdrop-filter: none; }

/* ---------------------------------------------------------------- hero */
.hero { position: relative; min-height: max(680px, 100svh); display: flex; align-items: flex-end; color: #fff; overflow: hidden; isolation: isolate; }
.hero__bg { position: absolute; inset: 0; z-index: -1; }
.hero__bg img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); animation: kenburns 24s var(--ease) infinite alternate; }
.hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,8,10,.55) 0%, rgba(8,8,10,.15) 35%, rgba(8,8,10,.55) 70%, rgba(8,8,10,.85) 100%); }
@keyframes kenburns { to { transform: scale(1.18) translate(-1.5%, -1%); } }
.hero__in { padding-top: calc(var(--hdr) + 40px); padding-bottom: clamp(48px, 8vh, 96px); }
.hero__h { font-size: clamp(52px, 9vw, 132px); font-weight: 700; letter-spacing: -.05em; line-height: .92; margin: 0 0 22px; }
.hero__h em { color: #fff; position: relative; }
.hero__h em::after { content: ""; position: absolute; right: -.26em; bottom: .2em; width: .15em; height: .15em; border-radius: 50%; background: var(--red); }
.hero__lead { font-size: clamp(17px, 1.5vw, 21px); max-width: 560px; color: rgba(255,255,255,.88); margin: 0 0 32px; }
.hero__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.hero__chips a { font-size: 13px; font-weight: 600; padding: 7px 14px; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(8px); transition: background .2s; }
.hero__chips a:hover { background: rgba(255,255,255,.25); }
.hero__scroll { position: absolute; left: 50%; margin-left: -14px; bottom: 28px; width: 28px; height: 46px; border: 2px solid rgba(255,255,255,.6); border-radius: 20px; }
.hero__scroll span { position: absolute; left: 50%; top: 9px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: #fff; animation: scrolly 1.8s infinite; }
@keyframes scrolly { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(16px); } }

/* ---------------------------------------------------------- search bar */
.search { background: #fff; color: var(--ink); border-radius: 22px; padding: 8px; box-shadow: 0 30px 80px -30px rgba(0,0,0,.6); max-width: 1040px; }
.search__tabs { position: relative; display: inline-flex; gap: 2px; padding: 4px; margin: 4px 4px 8px; background: var(--soft); border-radius: 999px; }
.search__tabs button { position: relative; z-index: 1; border: 0; background: none; padding: 8px 18px; font-weight: 700; font-size: 14px; border-radius: 999px; color: var(--muted); transition: color .25s; }
.search__tabs button[aria-selected="true"] { color: #fff; }
.search__ink { position: absolute; top: 4px; bottom: 4px; left: 4px; width: 60px; border-radius: 999px; background: var(--ink); transition: transform .4s var(--ease), width .4s var(--ease); }
.search__row { display: grid; grid-template-columns: 2.2fr 1fr .8fr 1fr auto; gap: 0; align-items: stretch; }
.search__f { position: relative; padding: 10px 18px; border-right: 1px solid var(--line); min-width: 0; }
.search__f:nth-last-child(2) { border-right: 0; }
.search__f label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: 2px; }
.search__f input, .search__f select { width: 100%; border: 0; padding: 2px 0; font-size: 16px; font-weight: 600; background: transparent; outline: none; appearance: none; -webkit-appearance: none; text-overflow: ellipsis; }
.search__f select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%236c6c74' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right center; padding-right: 16px; cursor: pointer; }
.search__go { height: auto; min-height: 60px; border-radius: 16px; padding: 0 28px; }
.suggest { position: absolute; left: 0; right: 0; top: calc(100% + 10px); z-index: 10; margin: 0; padding: 6px; list-style: none; background: #fff; border-radius: 14px; box-shadow: var(--shadow); max-height: 340px; overflow: auto; }
.suggest li { padding: 10px 12px; border-radius: 10px; cursor: pointer; display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.suggest li small { color: var(--muted); }
.suggest li[aria-selected="true"], .suggest li:hover { background: var(--soft); }

/* --------------------------------------------------------------- stats */
.stats { background: var(--ink); color: #fff; }
.stats__in { display: grid; grid-template-columns: repeat(4, 1fr); }
.stat { padding: 34px 24px; border-left: 1px solid rgba(255,255,255,.1); }
.stat:first-child { border-left: 0; padding-left: 0; }
.stat b { display: block; font-size: clamp(30px, 3.6vw, 48px); font-weight: 700; letter-spacing: -.04em; line-height: 1; margin-bottom: 8px; font-variant-numeric: tabular-nums; }
.stat span { color: rgba(255,255,255,.65); font-size: 14px; }

/* ------------------------------------------------------------ sections */
.sec { padding: clamp(64px, 9vw, 128px) 0; }
.sec--tight { padding-top: 0; }
.sec--soft { background: var(--soft); }
.sec__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: clamp(28px, 4vw, 48px); flex-wrap: wrap; }
.sec__ctl { display: flex; align-items: center; gap: 22px; }
.arrows { display: flex; gap: 8px; }
.arrows button { width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--line); background: #fff; font-size: 22px; line-height: 1; transition: background .2s, color .2s, border-color .2s; }
.arrows button:hover { background: var(--ink); color: #fff; border-color: var(--ink); }

/* Horizontal rails (cards, team, reviews) */
.rail { display: grid; grid-auto-flow: column; grid-auto-columns: min(380px, 82vw); gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 max(var(--gut), calc((100vw - 1320px) / 2 + var(--gut))); padding: 4px max(var(--gut), calc((100vw - 1320px) / 2 + var(--gut))) 24px; scrollbar-width: none; overscroll-behavior-x: contain; cursor: grab; }
.rail::-webkit-scrollbar { display: none; }
.rail > * { scroll-snap-align: start; }
.rail.is-drag { cursor: grabbing; scroll-snap-type: none; }
.rail.is-drag * { pointer-events: none; }
.rail--team { grid-auto-columns: min(260px, 64vw); }
.rail--reviews { grid-auto-columns: min(420px, 86vw); }

/* ---------------------------------------------------------------- card */
.card { background: #fff; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); display: flex; flex-direction: column; transition: box-shadow .35s var(--ease), transform .35s var(--ease); }
.card:hover { box-shadow: var(--shadow); transform: translateY(-4px); }
.card__media { position: relative; aspect-ratio: 16 / 11; background: var(--soft); overflow: hidden; }
.card__slides { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.card__slides::-webkit-scrollbar { display: none; }
.card__slides a { flex: 0 0 100%; scroll-snap-align: start; }
.card__slides img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.card:hover .card__slides img { transform: scale(1.04); }
.card__dots { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); display: flex; gap: 5px; }
.card__dots i { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.55); transition: width .3s, background .3s; }
.card__dots i.on { width: 16px; border-radius: 3px; background: #fff; }
.card__nav { position: absolute; top: 50%; width: 34px; height: 34px; margin-top: -17px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); font-size: 20px; line-height: 1; opacity: 0; transition: opacity .25s; }
.card__nav--p { left: 10px; } .card__nav--n { right: 10px; }
.card:hover .card__nav { opacity: 1; }
.card__tags { position: absolute; top: 12px; left: 12px; display: flex; gap: 6px; }
.tag { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; background: #fff; color: var(--ink); }
.tag--rent { background: var(--ink); color: #fff; }
.tag--hot { background: var(--red); color: #fff; }
.fav { position: absolute; top: 10px; right: 10px; width: 38px; height: 38px; border-radius: 50%; border: 0; background: rgba(13,13,15,.35); color: #fff; display: grid; place-items: center; backdrop-filter: blur(6px); transition: transform .2s, background .2s; }
.fav[aria-pressed="true"] { background: #fff; color: var(--red); }
.fav:active { transform: scale(.88); }
.card__body { display: block; padding: 18px 20px 14px; flex: 1; }
.card__price { font-size: 22px; font-weight: 800; letter-spacing: -.03em; }
.card__price small { font-size: 13px; font-weight: 600; color: var(--muted); letter-spacing: 0; }
.card__title { font-size: 15px; font-weight: 600; margin: 6px 0 2px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.card__loc { font-size: 14px; color: var(--muted); margin: 0 0 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card__specs { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; padding: 12px 0 0; list-style: none; border-top: 1px solid var(--line); font-size: 13px; font-weight: 600; }
.card__agent { display: flex; align-items: center; gap: 10px; padding: 0 20px 16px; font-size: 13px; font-weight: 600; }
.card__agent img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; object-position: top; }
.card__agent .link-btn { margin-left: auto; }

/* -------------------------------------------------------------- intents */
.intents { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.intent { position: relative; border-radius: var(--radius); overflow: hidden; min-height: 440px; display: flex; align-items: flex-end; color: #fff; isolation: isolate; }
.intent img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.2s var(--ease); }
.intent::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.78)); }
.intent:hover img { transform: scale(1.07); }
.intent > div { padding: 28px; }
.intent__k { font-family: var(--serif); font-style: italic; font-size: 20px; opacity: .8; }
.intent h3 { font-size: 44px; font-weight: 700; letter-spacing: -.04em; margin: 2px 0 8px; line-height: 1; }
.intent p { margin: 0 0 16px; color: rgba(255,255,255,.82); max-width: 320px; font-size: 15px; }
.intent--dark .link-arrow { color: #fff; }
.intent--dark::after { content: ""; position: absolute; top: 24px; right: 24px; width: 14px; height: 14px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 0 rgba(244,59,47,.6); animation: pulse 2.2s infinite; }
@keyframes pulse { 70% { box-shadow: 0 0 0 16px rgba(244,59,47,0); } 100% { box-shadow: 0 0 0 0 rgba(244,59,47,0); } }

/* ---------------------------------------------------------------- bento */
.bento { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 240px; gap: 16px; }
.area { position: relative; border-radius: var(--radius); overflow: hidden; color: #fff; isolation: isolate; display: flex; align-items: flex-end; background: var(--ink); }
.area--xl { grid-column: span 2; grid-row: span 2; }
.area--wide { grid-column: span 2; }
.area img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.2s var(--ease), opacity .4s; }
.area::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.75)); }
.area:hover img { transform: scale(1.08); }
.area__txt { padding: 20px 22px; }
.area h3 { margin: 0; font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.area--xl h3 { font-size: 34px; }
.area p { margin: 2px 0 0; font-size: 14px; color: rgba(255,255,255,.82); }

/* ------------------------------------------------------------ valuation */
.valuation { background: var(--ink); color: #fff; padding: clamp(64px, 9vw, 120px) 0; position: relative; overflow: hidden; }
.valuation::before { content: ""; position: absolute; width: 640px; height: 640px; right: -200px; top: -240px; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.35), transparent 65%); }
.valuation__in { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.valuation__copy p { color: rgba(255,255,255,.75); font-size: 18px; max-width: 480px; }
.valuation__form { background: #fff; color: var(--ink); border-radius: 24px; padding: clamp(22px, 3vw, 36px); }
.ticks { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 10px; }
.ticks li { display: flex; gap: 12px; align-items: baseline; }
.ticks li::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--red); transform: translateY(-1px); }
.ticks--light li { color: rgba(255,255,255,.9); }

/* ------------------------------------------------------------- services */
.svc { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.svc__i { padding: 32px 28px 36px 0; border-right: 1px solid var(--line); margin-right: 28px; transition: color .2s; }
.svc__i:last-child { border-right: 0; margin-right: 0; }
.svc__i span { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
.svc__i h3 { font-size: 26px; letter-spacing: -.03em; margin: 10px 0 8px; }
.svc__i p { color: var(--muted); margin: 0; font-size: 15px; }
.svc__i:hover h3 { text-decoration: underline; text-decoration-color: var(--red); text-underline-offset: 6px; }

/* ------------------------------------------------------------------ team */
.person__ph { aspect-ratio: 3 / 4; border-radius: var(--radius); overflow: hidden; background: #d9d8d4; margin-bottom: 14px; }
.person__ph img { width: 100%; height: 100%; object-fit: cover; object-position: top; filter: grayscale(.25); transition: transform 1s var(--ease), filter .5s; }
.person:hover .person__ph img { transform: scale(1.05); filter: none; }
.person h3 { margin: 0; font-size: 18px; letter-spacing: -.02em; }
.person p { margin: 2px 0 0; font-size: 14px; color: var(--muted); }
.person__lang { font-size: 12px !important; font-weight: 600; color: var(--ink-2) !important; }

/* --------------------------------------------------------------- reviews */
.review { margin: 0; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; display: flex; flex-direction: column; gap: 14px; }
.stars { color: #f5a524; letter-spacing: 2px; }
.review blockquote { margin: 0; font-size: 16px; line-height: 1.6; flex: 1; }
.review figcaption { display: flex; justify-content: space-between; font-size: 14px; }
.review figcaption span { color: var(--muted); }

/* --------------------------------------------------------------- CTA band */
.cta-band { padding: clamp(64px, 9vw, 120px) 0; text-align: center; background: radial-gradient(ellipse at center, #fff3f1, #fff 70%); }
.cta-band__in p { font-size: 18px; color: var(--ink-2); margin: 16px auto 28px; max-width: 520px; }
.cta-band__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ---------------------------------------------------------------- forms */
.lform { display: grid; gap: 14px; }
.lead__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fld label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.fld input, .fld select, .fld textarea { width: 100%; border: 1px solid var(--line); background: #fff; border-radius: 12px; padding: 13px 14px; font-size: 16px; outline: none; transition: border-color .2s, box-shadow .2s; appearance: none; -webkit-appearance: none; }
.fld select { background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%236c6c74' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center; padding-right: 34px; }
.fld input:focus, .fld select:focus, .fld textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 4px rgba(13,13,15,.06); }
.fld.has-err input { border-color: var(--red); }
.err { display: block; color: var(--red-d); font-size: 13px; min-height: 0; margin-top: 4px; }
.err:empty { display: none; }
.lead__fine { font-size: 12px; color: var(--muted); margin: -4px 0 0; text-align: center; }
.form-msg { margin: 0; font-weight: 600; font-size: 14px; }
.form-msg.ok { color: #13804b; }
.form-msg.bad { color: var(--red-d); }
.lform.is-sent > :not(.form-msg) { display: none; }
.lform.is-sent .form-msg { font-size: 17px; padding: 24px 0; text-align: center; }
.shake { animation: shake .4s; }
@keyframes shake { 20%, 60% { transform: translateX(-6px); } 40%, 80% { transform: translateX(6px); } }

/* ---------------------------------------------------------------- footer */
.ftr { background: var(--ink); color: rgba(255,255,255,.75); padding: 80px 0 28px; font-size: 15px; }
.ftr__top { display: grid; grid-template-columns: 1.1fr 2fr; gap: 64px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.1); }
.ftr__brand img { height: 52px; width: auto; margin-bottom: 18px; }
.ftr__brand p { max-width: 320px; }
.news { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.news input { flex: 1 1 200px; height: 42px; border-radius: 999px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.06); color: #fff; padding: 0 16px; outline: none; }
.news .form-msg { flex-basis: 100%; }
.ftr__cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.ftr h3 { color: #fff; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 16px; }
.ftr__cols a { display: block; padding: 4px 0; transition: color .2s; }
.ftr__cols a:hover { color: #fff; }
.ftr__cols p { margin: 0 0 8px; }
.soc { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 12px; }
.soc a { font-size: 13px; }
.ftr__group { display: flex; flex-wrap: wrap; gap: 8px 28px; padding: 26px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.45); }
.ftr__bot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding-top: 24px; font-size: 13px; }
.ftr__bot p { margin: 0; }

.wa-float { position: fixed; right: 20px; bottom: 20px; z-index: 40; width: 58px; height: 58px; border-radius: 50%; background: #25d366; color: #fff; display: grid; place-items: center; box-shadow: 0 12px 30px -8px rgba(37,211,102,.7); transition: transform .3s var(--ease); }
.wa-float:hover { transform: scale(1.08) rotate(-6deg); }

/* ---------------------------------------------------------------- modal */
.modal { border: 0; border-radius: 24px; padding: 32px; width: min(520px, calc(100vw - 24px)); box-shadow: 0 40px 100px -20px rgba(0,0,0,.5); }
.modal::backdrop { background: rgba(13,13,15,.55); backdrop-filter: blur(4px); }
.modal[open] { animation: pop .35s var(--ease); }
@keyframes pop { from { opacity: 0; transform: translateY(16px) scale(.98); } }
.modal__x { position: absolute; top: 14px; right: 14px; }
.modal__x button { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: #fff; font-size: 22px; line-height: 1; }
.modal__title { margin: 0 0 4px; font-size: 26px; letter-spacing: -.03em; }
.modal__sub { margin: 0 0 20px; color: var(--muted); }

/* ------------------------------------------------------------- page head */
.ph { padding: clamp(40px, 6vw, 80px) 0 clamp(24px, 3vw, 40px); }
.ph__h { font-size: clamp(36px, 5vw, 64px); font-weight: 700; letter-spacing: -.04em; line-height: 1.02; margin: 0 0 12px; }
.crumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--muted); margin: 0 0 18px; padding: 0; list-style: none; }
.crumbs li + li::before { content: "/"; margin-right: 6px; color: var(--line); }
.crumbs a:hover { color: var(--ink); }

/* Banner hero for content pages */
.banner { position: relative; color: #fff; min-height: 560px; display: flex; align-items: flex-end; isolation: isolate; overflow: hidden; }
.banner > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.banner::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8,8,10,.5), rgba(8,8,10,.25) 40%, rgba(8,8,10,.85)); }
.banner .wrap { padding-top: calc(var(--hdr) + 40px); padding-bottom: 56px; }
.banner .lead { color: rgba(255,255,255,.88); }
.banner .crumbs, .banner .crumbs a { color: rgba(255,255,255,.7); }

/* ----------------------------------------------------------- 404 / misc */
.empty { text-align: center; padding: 80px 0; color: var(--muted); }

/* ---------------------------------------------------------------- reveal */
[data-reveal] { will-change: transform, opacity; }
.js-anim [data-reveal] { opacity: 0; transform: translateY(28px); }
.js-anim--subtle [data-reveal] { transform: none; }

/* ------------------------------------------------------------ responsive */
@media (max-width: 1180px) {
  .nav, .hdr__tel { display: none; }
  .burger { display: block; }
  .hdr__cta { margin-left: auto; }
}
@media (max-width: 960px) {
  .search__row { grid-template-columns: 1fr 1fr; }
  .search__f { border-right: 0; border-bottom: 1px solid var(--line); }
  .search__f--q { grid-column: 1 / -1; }
  .search__go { grid-column: 1 / -1; margin-top: 6px; min-height: 54px; }
  .stats__in { grid-template-columns: 1fr 1fr; }
  .stat { padding: 24px 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.1); }
  .stat:nth-child(-n+2) { border-top: 0; }
  .intents { grid-template-columns: 1fr; }
  .intent { min-height: 320px; }
  .bento { grid-template-columns: 1fr 1fr; grid-auto-rows: 200px; }
  .valuation__in, .ftr__top { grid-template-columns: 1fr; }
  .svc { grid-template-columns: 1fr 1fr; }
  .svc__i { margin-right: 0; padding-right: 20px; border-bottom: 1px solid var(--line); }
  .svc__i:nth-child(2n) { border-right: 0; padding-left: 20px; }
  .ftr__cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  :root { --hdr: 66px; }
  .logo img { height: 34px; }
  .hdr__cta .btn { display: none; }
  .hero { min-height: 100svh; }
  .hero__chips { display: none; }
  .search__tabs button { padding: 8px 14px; }
  .lead__row { grid-template-columns: 1fr; }
  .bento { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .area--xl, .area--wide { grid-column: auto; grid-row: auto; }
  .svc { grid-template-columns: 1fr; }
  .svc__i, .svc__i:nth-child(2n) { border-right: 0; padding: 24px 0; }
  .sec__head .arrows { display: none; }
  .hero__scroll { display: none; }
  .wa-float { width: 52px; height: 52px; right: 14px; bottom: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .js-anim [data-reveal] { opacity: 1; transform: none; }
}

/* =================================================================== inner pages */
.sec--tight-top { padding-top: 0; }
.count-pill { display: inline-block; background: var(--ink); color: #fff; padding: 2px 10px; border-radius: 999px; font-size: 14px; margin-right: 4px; }
.ph--search { padding: 40px 0 20px; }

/* Filters bar */
.filters-wrap { position: sticky; top: var(--hdr); z-index: 30; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); transition: top .4s var(--ease); }
.hdr.is-hidden ~ main .filters-wrap { top: 0; }
.filters { display: flex; gap: 8px; align-items: center; padding-top: 12px; padding-bottom: 12px; overflow-x: auto; scrollbar-width: none; }
.filters::-webkit-scrollbar { display: none; }
.seg { display: inline-flex; padding: 4px; background: var(--soft); border-radius: 999px; flex: none; }
.seg a, .seg span { display: block; padding: 7px 16px; border-radius: 999px; font-weight: 700; font-size: 14px; color: var(--muted); cursor: pointer; }
.seg a.on, .seg input:checked + span { background: var(--ink); color: #fff; }
.seg input { position: absolute; opacity: 0; pointer-events: none; }
.fsel { flex: none; }
.fsel input, .fsel select, .more summary { height: 42px; border: 1px solid var(--line); border-radius: 999px; padding: 0 16px; font-size: 14px; font-weight: 600; background: #fff; outline: none; appearance: none; -webkit-appearance: none; cursor: pointer; }
.fsel select { padding-right: 34px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%236c6c74' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center; }
.fsel select:hover, .fsel input:hover, .more summary:hover { border-color: var(--ink); }
.fsel--q input { width: 230px; cursor: text; }
.fsel--sort { margin-left: auto; }
.more { position: relative; flex: none; }
.more summary { list-style: none; display: flex; align-items: center; }
.more summary::-webkit-details-marker { display: none; }
.more__pop { position: fixed; z-index: 40; margin-top: 8px; background: #fff; border-radius: 14px; box-shadow: var(--shadow); padding: 16px; display: grid; gap: 12px; min-width: 220px; }
.more__pop label { display: grid; gap: 4px; font-size: 13px; font-weight: 700; }
.more__pop select { height: 40px; border: 1px solid var(--line); border-radius: 10px; padding: 0 10px; }
.clear { font-size: 14px; font-weight: 700; color: var(--red); flex: none; padding: 0 6px; }

.sec--results { padding-top: 32px; }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.grid.is-loading { opacity: .4; transition: opacity .2s; }
.grid-cta { border-radius: var(--radius); background: var(--ink); color: #fff; padding: 32px; display: flex; flex-direction: column; justify-content: flex-end; gap: 16px; position: relative; overflow: hidden; min-height: 320px; }
.grid-cta::before { content: ""; position: absolute; width: 360px; height: 360px; right: -120px; top: -120px; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.45), transparent 65%); }
.grid-cta h3 { position: relative; margin: 0; font-size: 26px; letter-spacing: -.03em; line-height: 1.15; }
.grid-cta .btn { align-self: flex-start; position: relative; }

.pager { display: flex; justify-content: center; gap: 6px; margin-top: 48px; flex-wrap: wrap; }
.pager a, .pager span { min-width: 44px; height: 44px; padding: 0 14px; border-radius: 999px; display: grid; place-items: center; font-weight: 700; font-size: 14px; border: 1px solid var(--line); }
.pager a:hover { border-color: var(--ink); }
.pager .on { background: var(--ink); color: #fff; border-color: var(--ink); }
.pager span:not(.on) { border: 0; }

.area-strip { display: grid; grid-template-columns: 1fr 1.4fr auto; gap: 40px; align-items: center; }
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 20px; margin: 20px 0; }
.kpis dt { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.kpis dd { margin: 4px 0 0; font-size: 26px; font-weight: 800; letter-spacing: -.03em; }
.kpis dd small { font-size: 14px; color: var(--muted); }
.kpis .kpis__sm { font-size: 17px; letter-spacing: -.01em; }
.kpi-band { background: var(--ink); color: #fff; }
.kpis--band { margin: 0; padding: 28px 0; }
.kpis--band dt { color: rgba(255,255,255,.6); }

.faq-wrap { display: grid; grid-template-columns: 1fr 1.5fr; gap: 64px; align-items: start; }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { list-style: none; cursor: pointer; padding: 22px 40px 22px 0; font-weight: 700; font-size: 18px; letter-spacing: -.01em; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 16px; font-size: 26px; font-weight: 400; transition: transform .3s var(--ease); }
.faq details[open] summary::after { transform: rotate(45deg); color: var(--red); }
.faq p { margin: -6px 0 22px; color: var(--ink-2); max-width: 680px; }
.area-links { display: flex; flex-wrap: wrap; gap: 8px; }
.area-links a { padding: 9px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-weight: 600; font-size: 14px; transition: border-color .2s; }
.area-links a:hover { border-color: var(--ink); }
.area-links span { color: var(--muted); margin-left: 4px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.chips button { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 8px 16px; font-weight: 600; font-size: 14px; transition: all .2s; }
.chips button.on { background: var(--ink); color: #fff; border-color: var(--ink); }

/* Banners */
.banner--short { min-height: 460px; }
.banner--plain { background: var(--ink); min-height: 420px; }
.banner--plain::before { background: radial-gradient(ellipse at 80% 0%, rgba(244,59,47,.35), transparent 55%); }
.banner .h1 { max-width: 900px; margin-bottom: 14px; }
.banner .btn { margin-top: 12px; }
.banner--split { min-height: 720px; align-items: center; }
.banner-split { display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: center; }
.banner-split .valuation__form { color: var(--ink); }

/* Steps / split / ticks */
.steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; counter-reset: s; }
.steps li { padding: 28px; border-radius: var(--radius); background: var(--soft); }
.steps span { font-family: var(--serif); font-style: italic; font-size: 34px; color: var(--red); }
.steps h3 { margin: 8px 0 6px; font-size: 21px; letter-spacing: -.02em; }
.steps p { margin: 0; color: var(--ink-2); font-size: 15px; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
.ticks--big li { font-size: 18px; font-weight: 600; padding: 14px 0; border-bottom: 1px solid var(--line); }
.form-card { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: clamp(22px, 3vw, 36px); box-shadow: var(--shadow); }
.svc-nav { padding: 48px 0 80px; }
.fine { font-size: 12px; color: var(--muted); }

/* Team / agent */
.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px 20px; }
.person.is-out { display: none; }
.agent-hero { display: grid; grid-template-columns: 360px 1fr; gap: 56px; align-items: center; }
.agent-hero__ph { border-radius: 24px; overflow: hidden; aspect-ratio: 3/4; background: #d9d8d4; }
.agent-hero__ph img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.cta-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
.btn--wa { background: #25d366; color: #fff; }
.btn--wa:hover { background: #1eb956; }

/* Areas table */
.area-table { border-top: 1px solid var(--line); }
.area-table__h, .area-row { display: grid; grid-template-columns: 2.4fr .7fr 1fr 1fr 1fr; gap: 16px; align-items: center; padding: 14px 8px; border-bottom: 1px solid var(--line); }
.area-table__h { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.area-row { font-weight: 600; transition: background .2s, padding .3s var(--ease); }
.area-row:hover { background: var(--soft); padding-left: 16px; }
.area-row__n { display: flex; align-items: center; gap: 16px; }
.area-row__n img { width: 80px; height: 60px; object-fit: cover; border-radius: 10px; }
.area-row__n b { font-size: 18px; letter-spacing: -.02em; }

/* Contact */
.contact { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: start; }
.contact__ways { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
.contact__ways a { padding: 18px 20px; border-radius: 16px; background: var(--soft); transition: background .2s, transform .3s var(--ease); }
.contact__ways a:hover { background: #ecebe6; transform: translateY(-2px); }
.contact__ways span { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.contact__ways b { font-size: 16px; }
.map-wide iframe { display: block; width: 100%; height: 420px; border: 0; filter: grayscale(.6); }

/* =================================================================== property page */
.pdp { padding-top: 16px; }
.gal { position: relative; display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 250px 250px; gap: 8px; border-radius: 22px; overflow: hidden; }
.gal__i { padding: 0; border: 0; background: var(--soft); overflow: hidden; cursor: zoom-in; }
.gal__i img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease), filter .4s; }
.gal__i:hover img { transform: scale(1.04); }
.gal__i--0 { grid-row: span 2; }
.gal__all { position: absolute; right: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border-radius: 999px; border: 0; background: #fff; font-weight: 700; font-size: 14px; box-shadow: var(--shadow); }
.pdp__grid { display: grid; grid-template-columns: 1fr 400px; gap: 56px; margin-top: 36px; align-items: start; }
.pdp__tags { position: static; margin-bottom: 14px; }
.tag--soft { background: var(--soft); }
.pdp__title { font-size: clamp(28px, 3.4vw, 42px); letter-spacing: -.035em; line-height: 1.1; margin: 0 0 8px; }
.pdp__loc { display: flex; align-items: center; gap: 6px; color: var(--muted); margin: 0 0 20px; }
.pdp__price { display: flex; align-items: baseline; gap: 10px; margin-bottom: 20px; }
.pdp__price b { font-size: clamp(32px, 3.6vw, 44px); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.ccy { border: 1px solid var(--line); border-radius: 999px; padding: 4px 26px 4px 10px; font-weight: 700; font-size: 14px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%236c6c74' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 9px center; appearance: none; -webkit-appearance: none; cursor: pointer; }
.pdp__specs { list-style: none; padding: 18px 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px 28px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pdp__specs b { font-size: 18px; }
.pdp__sec { padding: 36px 0; border-bottom: 1px solid var(--line); }
.pdp__sec h2 { font-size: 24px; letter-spacing: -.03em; margin: 0 0 18px; }
.prose { color: var(--ink-2); font-size: 16px; line-height: 1.75; }
.prose p { margin: 0 0 14px; }
.prose--wide { max-width: 820px; font-size: 18px; }
.clamp.is-clamped { max-height: 260px; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent); mask-image: linear-gradient(180deg, #000 60%, transparent); }
.facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; }
.facts div { padding: 14px 0; border-bottom: 1px solid var(--line); }
.facts dt { font-size: 13px; color: var(--muted); }
.facts dd { margin: 2px 0 0; font-weight: 700; }
.amen { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 20px; }
.amen li { display: flex; gap: 10px; align-items: center; font-weight: 600; font-size: 15px; }
.amen li::before { content: ""; width: 20px; height: 20px; flex: none; border-radius: 50%; background: var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M1.5 5l2.5 2.5 4.5-5' fill='none' stroke='%23f43b2f' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat center; }

.calc { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; background: var(--soft); border-radius: 20px; padding: 24px; }
.calc__in { display: grid; gap: 18px; }
.calc__in label { display: grid; gap: 8px; font-weight: 700; font-size: 14px; grid-template-columns: 1fr auto; }
.calc__in input[type=range] { grid-column: 1 / -1; accent-color: var(--red); width: 100%; }
.calc__price { grid-column: 1 / -1; height: 48px; border: 1px solid var(--line); border-radius: 12px; padding: 0 14px; font-size: 18px; font-weight: 700; }
.calc__out { background: var(--ink); color: #fff; border-radius: 16px; padding: 22px; display: flex; flex-direction: column; gap: 4px; }
.calc__out > span { color: rgba(255,255,255,.65); font-size: 13px; }
.calc__out > b { font-size: 34px; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.calc__out dl { margin: 12px 0; display: grid; gap: 6px; font-size: 14px; }
.calc__out dl div { display: flex; justify-content: space-between; gap: 10px; }
.calc__out dt { color: rgba(255,255,255,.65); }
.calc__out dd { margin: 0; font-weight: 700; }
.calc__out .link-arrow { color: #fff; margin-top: auto; }
.calc--big { grid-template-columns: 1.3fr 1fr; padding: clamp(20px, 3vw, 40px); }
.calc--big .calc__out > b { font-size: 48px; }

.map { position: relative; height: 340px; border-radius: 18px; overflow: hidden; background: var(--soft) url("/uploads/wp/2026/04/property-2-scaled.webp") center / cover; display: grid; place-items: center; }
.map::before { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,.55); backdrop-filter: blur(3px); }
.map .btn { position: relative; }
.map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.agent-card { position: sticky; top: calc(var(--hdr) + 20px); border: 1px solid var(--line); border-radius: 24px; padding: 22px; box-shadow: var(--shadow); background: #fff; transition: top .4s var(--ease); }
.agent-card__who { display: flex; gap: 14px; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.agent-card__who img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: top; }
.agent-card__who b { display: block; font-size: 17px; letter-spacing: -.02em; }
.agent-card__who span { display: block; font-size: 14px; color: var(--muted); }
.agent-card__who small { display: block; font-size: 12px; font-weight: 600; margin-top: 2px; }
.agent-card__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 16px 0; }
.agent-card__btns .btn { height: 48px; }
.agent-card__h { font-weight: 800; font-size: 17px; letter-spacing: -.02em; margin: 0 0 14px; }
.agent-card .lead__row { grid-template-columns: 1fr; }

.pdp-bar { display: none; }

.lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(8,8,10,.96); color: #fff; }
.lightbox[open] { display: grid; place-items: center; }
.lightbox figure { margin: 0; max-width: 92vw; max-height: 86vh; text-align: center; }
.lightbox img { max-width: 92vw; max-height: 80vh; object-fit: contain; border-radius: 8px; }
.lightbox figcaption { margin-top: 12px; color: rgba(255,255,255,.7); font-size: 14px; }
.lightbox__x, .lightbox__nav { position: fixed; border: 0; background: rgba(255,255,255,.12); color: #fff; border-radius: 50%; width: 52px; height: 52px; font-size: 28px; line-height: 1; }
.lightbox__x { top: 18px; right: 18px; }
.lightbox__nav { top: 50%; margin-top: -26px; }
.lightbox__nav--p { left: 18px; } .lightbox__nav--n { right: 18px; }

@media (max-width: 1100px) {
  .grid { grid-template-columns: 1fr 1fr; }
  .pdp__grid { grid-template-columns: 1fr 340px; gap: 32px; }
  .team-grid { grid-template-columns: repeat(3, 1fr); }
  .steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .pdp__grid, .faq-wrap, .split, .contact, .banner-split, .area-strip, .agent-hero, .calc, .calc--big { grid-template-columns: 1fr; }
  .agent-hero__ph { max-width: 280px; }
  .gal { grid-template-columns: 1fr 1fr; grid-template-rows: 280px 140px; }
  .gal__i--0 { grid-column: span 2; grid-row: auto; }
  .gal__i--3, .gal__i--4 { display: none; }
  .agent-card { position: static; }
  .pdp-bar { display: flex; position: fixed; z-index: 35; left: 0; right: 0; bottom: 0; gap: 8px; align-items: center; padding: 10px var(--gut) calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -10px 30px -15px rgba(0,0,0,.25); }
  .pdp-bar > div { margin-right: auto; font-size: 18px; font-weight: 800; letter-spacing: -.03em; }
  .pdp-bar span { font-size: 13px; color: var(--muted); font-weight: 600; }
  .page-listing .wa-float { display: none; }
  .page-listing .ftr { padding-bottom: 100px; }
  .facts, .amen { grid-template-columns: 1fr 1fr; }
  .area-table__h { display: none; }
  .area-row { grid-template-columns: 1fr auto; }
  .area-row > span:nth-child(n+3) { display: none; }
  .banner--split { padding-bottom: 32px; }
}
@media (max-width: 600px) {
  .grid { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr 1fr; gap: 24px 12px; }
  .steps { grid-template-columns: 1fr; }
  .contact__ways { grid-template-columns: 1fr; }
  .facts { grid-template-columns: 1fr 1fr; }
  .amen { grid-template-columns: 1fr; }
  .banner { min-height: 480px; }
  .gal { border-radius: 16px; grid-template-rows: 240px 110px; }
}

/* ------------------------------------------------- prefs, saved, badges, investor, map */
.prefs { position: relative; }
.prefs__btn { height: 38px; padding: 0 12px; border-radius: 999px; border: 1px solid currentColor; background: transparent; font-weight: 700; font-size: 13px; opacity: .85; }
.prefs__pop { position: absolute; right: 0; top: calc(100% + 10px); width: 250px; background: #fff; color: var(--ink); border-radius: 14px; box-shadow: var(--shadow); padding: 14px; z-index: 60; }
.prefs__pop p { margin: 4px 0 8px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.prefs__opts { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.prefs__opts button { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 6px 12px; font-weight: 700; font-size: 13px; }
.prefs__opts button.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.hdr__fav { position: relative; width: 38px; height: 38px; display: grid; place-items: center; }
.hdr__fav i { position: absolute; top: 0; right: -2px; min-width: 18px; height: 18px; border-radius: 9px; background: var(--red); color: #fff; font-size: 11px; font-style: normal; font-weight: 800; display: grid; place-items: center; padding: 0 4px; }
.tag--gold { background: linear-gradient(135deg, #e7c98b, #b99a6b); color: #2b2111; }
.pdp__price s { font-size: 16px; }
.pdp__price small { font-size: 16px; font-weight: 700; color: var(--muted); }
.inv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.inv__i { padding: 18px; border-radius: 16px; background: var(--soft); display: flex; flex-direction: column; gap: 2px; }
.inv__i span { font-size: 13px; color: var(--muted); font-weight: 600; }
.inv__i b { font-size: 30px; letter-spacing: -.03em; }
.inv__i b.good { color: #13804b; }
.inv__i small { font-size: 12px; color: var(--muted); line-height: 1.45; }
.view-toggle { display: inline-flex; padding: 4px; background: var(--soft); border-radius: 999px; flex: none; }
.view-toggle button { border: 0; background: none; padding: 7px 14px; border-radius: 999px; font-weight: 700; font-size: 14px; color: var(--muted); }
.view-toggle button.on { background: var(--ink); color: #fff; }
.mapview { display: none; height: calc(100vh - var(--hdr) - 160px); min-height: 480px; border-radius: 22px; overflow: hidden; margin-bottom: 32px; }
.is-map .mapview { display: block; }
.mapview .leaflet-container { font-family: var(--font); }
.pin { background: var(--ink); color: #fff; font-weight: 800; font-size: 12px; padding: 4px 9px; border-radius: 999px; white-space: nowrap; box-shadow: 0 6px 16px -6px rgba(0,0,0,.5); transform: translate(-50%, -50%); display: inline-block; border: 2px solid #fff; }
.pin.r { background: var(--red); }
.mpop { width: 220px; }
.mpop img { width: 100%; height: 130px; object-fit: cover; border-radius: 10px; margin-bottom: 8px; }
.mpop b { display: block; font-size: 16px; }
.mpop span { font-size: 13px; color: var(--ink-2); }
.leaflet-popup-content { margin: 10px !important; }
.marker-cluster div { background: var(--ink) !important; color: #fff; font-weight: 800; }
.marker-cluster { background: rgba(244,59,47,.35) !important; }
@media (max-width: 1180px) { .prefs, .hdr__fav { display: none; } }
@media (max-width: 900px) { .inv { grid-template-columns: 1fr; } }

/* ================================================================ HOME VARIANTS */
.hero-light .hdr:not(.is-solid) { color: var(--ink); }
.hero-light .hdr:not(.is-solid) .logo__dark { opacity: 1; }
.hero-light .hdr:not(.is-solid) .logo__light { opacity: 0; }
.hero-light .hdr:not(.is-solid) .nav__a:hover { background: rgba(13,13,15,.06); }

/* ---- shared search skins */
.search--glass { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(22px) saturate(1.3); -webkit-backdrop-filter: blur(22px) saturate(1.3); color: #fff; box-shadow: 0 30px 80px -30px rgba(0,0,0,.7); }
.search--glass .search__tabs { background: rgba(255,255,255,.12); }
.search--glass .search__tabs button { color: rgba(255,255,255,.75); }
.search--glass .search__tabs button[aria-selected="true"] { color: var(--ink); }
.search--glass .search__ink { background: #fff; }
.search--glass .search__f { border-color: rgba(255,255,255,.18); }
.search--glass .search__f label { color: rgba(255,255,255,.65); }
.search--glass .search__f input::placeholder { color: rgba(255,255,255,.7); }
.search--glass .search__f select { color: #fff; }
.search--glass .search__f select option { color: var(--ink); }
.search--flat { box-shadow: none; border: 1px solid var(--line); }
.search--stack .search__row { grid-template-columns: 1fr 1fr; }
.search--stack .search__f { border-right: 0; border-bottom: 1px solid var(--line); }
.search--stack .search__f--q { grid-column: 1 / -1; }
.search--stack .search__go { grid-column: 1 / -1; margin-top: 8px; min-height: 56px; }

/* ---- V2 Noir Luxe: the whole site goes dark */
.v-2 { --bg: #0b0b0c; --soft: #141416; --line: #26262a; --ink-2: #c9c9ce; --muted: #8d8d95; --gold: #c9a96e; background: var(--bg); color: #f3f2ee; }
.v-2 .hdr.is-solid { background: rgba(11,11,12,.85); box-shadow: 0 1px 0 var(--line); color: #fff; }
.v-2 .hdr .logo__dark { opacity: 0 !important; } .v-2 .hdr .logo__light { opacity: 1 !important; }
.v-2 .card, .v-2 .review, .v-2 .valuation__form, .v-2 .arrows button, .v-2 .modal { background: #141416; color: #f3f2ee; border-color: var(--line); }
.v-2 .card__specs, .v-2 .svc, .v-2 .svc__i { border-color: var(--line); }
.v-2 .tag { background: #f3f2ee; }
.v-2 .tag--hot { background: var(--red); color: #fff; } .v-2 .tag--gold { background: linear-gradient(135deg, #e7c98b, #b99a6b); color: #2b2111; } .v-2 .tag--rent { background: #fff; color: var(--ink); }
.v-2 .stats { background: #0b0b0c; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v-2 .h2 em, .v-2 .noir__h em { color: var(--gold); }
.v-2 .eyebrow::before { background: var(--gold); }
.v-2 .cta-band { background: radial-gradient(ellipse at center, #1c1712, #0b0b0c 70%); }
.v-2 .btn--ghost:hover { background: #fff; color: var(--ink); border-color: #fff; }
.v-2 .fld input, .v-2 .fld select, .v-2 .fld textarea { background: #0b0b0c; border-color: var(--line); color: #fff; }
.v-2 .svc__i span { color: var(--gold); }
.v-2 .person__ph { background: #1c1c1f; }
.hero--noir { align-items: center; text-align: center; }
.hero--noir .hero__bg::after { background: radial-gradient(ellipse at 50% 40%, rgba(11,11,12,.35), rgba(11,11,12,.92) 75%); }
.noir__in { display: flex; flex-direction: column; align-items: center; padding-top: calc(var(--hdr) + 60px); }
.noir__kicker { display: flex; align-items: center; gap: 14px; font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--gold); margin: 0 0 22px; }
.noir__kicker span { width: 48px; height: 1px; background: currentColor; }
.noir__h { font-family: var(--serif); font-weight: 400; font-size: clamp(56px, 10vw, 156px); line-height: .9; letter-spacing: -.02em; margin: 0 0 22px; }
.noir__h em { font-style: italic; }
.noir__lead { max-width: 560px; color: rgba(255,255,255,.75); font-size: 18px; margin: 0 0 34px; }
.noir__in .search { text-align: left; width: 100%; }
.noir__strip { display: flex; gap: 56px; margin-top: 40px; }
.noir__strip b { display: block; font-family: var(--serif); font-weight: 400; font-size: 34px; color: #fff; }
.noir__strip span { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); }

/* ---- V3 Editorial */
.ed { padding: calc(var(--hdr) + 40px) 0 72px; background: #faf8f4; position: relative; overflow: hidden; }
.v-3 { --soft: #f3efe7; }
.v-3 .stats { background: #faf8f4; color: var(--ink); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v-3 .stat { border-color: var(--line); } .v-3 .stat span { color: var(--muted); }
.v-3 .h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.015em; }
.ed__grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 64px; align-items: center; }
.ed__h { font-family: var(--serif); font-weight: 400; font-size: clamp(64px, 9vw, 150px); line-height: .86; letter-spacing: -.03em; margin: 0 0 24px; }
.ed__h em { color: var(--red); }
.ed__lead { font-size: 18px; color: var(--ink-2); max-width: 470px; margin: 0 0 28px; }
.ed__nums { display: flex; gap: 40px; margin: 28px 0 0; padding-top: 22px; border-top: 1px solid var(--ink); }
.ed__nums dt { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.ed__nums dd { margin: 4px 0 0; font-family: var(--serif); font-size: 34px; }
.ed__art { position: relative; height: min(78vh, 760px); }
.ed__main { position: absolute; inset: 0 14% 12% 0; border-radius: 4px 140px 4px 4px; overflow: hidden; }
.ed__main img, .ed__side img { width: 100%; height: 100%; object-fit: cover; }
.ed__tag { position: absolute; left: 20px; bottom: 20px; background: #fff; padding: 14px 18px; border-radius: 4px; display: grid; }
.ed__tag span { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.ed__tag b { font-size: 24px; letter-spacing: -.03em; }
.ed__tag small { color: var(--muted); }
.ed__side { position: absolute; right: 0; bottom: 0; width: 42%; height: 40%; border-radius: 4px; overflow: hidden; border: 8px solid #faf8f4; }
.ed__side span { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 12px; background: linear-gradient(transparent, rgba(0,0,0,.7)); color: #fff; font-size: 13px; font-weight: 700; }
.ed__stamp { position: absolute; right: 6%; top: -10px; width: 120px; height: 120px; animation: spin 18s linear infinite; }
.ed__stamp text { font-size: 10.5px; font-weight: 800; letter-spacing: .2em; fill: var(--ink); }
.ed__stamp i { position: absolute; inset: 50%; width: 14px; height: 14px; margin: -7px; border-radius: 50%; background: var(--red); }
@keyframes spin { to { transform: rotate(360deg); } }

/* ---- V4 Search + map */
.mh { position: relative; display: grid; grid-template-columns: minmax(420px, 36%) 1fr; height: max(720px, 100svh); padding-top: var(--hdr); }
.mh__panel { padding: 48px var(--gut) 40px max(var(--gut), calc((100vw - 1320px) / 2 + var(--gut))); display: flex; flex-direction: column; justify-content: center; background: #fff; z-index: 2; box-shadow: 30px 0 60px -40px rgba(0,0,0,.3); }
.mh__h { font-size: clamp(40px, 4.6vw, 72px); font-weight: 800; letter-spacing: -.045em; line-height: .95; margin: 0 0 16px; }
.mh__h em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.mh__lead { color: var(--ink-2); margin: 0 0 24px; }
.mh .search { box-shadow: none; border: 1px solid var(--line); }
.mh__quick { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.mh__quick a { font-size: 13px; font-weight: 700; padding: 7px 13px; border-radius: 999px; background: var(--soft); }
.mh__quick a:hover { background: var(--ink); color: #fff; }
.mh__map { background: #eef0f2; }
.mh__legend { position: absolute; right: 24px; bottom: 24px; z-index: 500; display: flex; gap: 8px; }
.mh__legend .pin { transform: none; }

/* ---- V5 Cinematic */
.hero--cine { min-height: 100svh; align-items: stretch; flex-direction: column; justify-content: flex-end; }
.cine__slides { position: absolute; inset: 0; z-index: -1; background: #000; }
.cine__slides img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.12); transition: opacity 1.6s ease, transform 8s linear; }
.cine__slides img.on { opacity: 1; transform: scale(1); }
.cine__slides::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.1) 40%, rgba(0,0,0,.75)); }
.cine__in { text-align: center; padding-bottom: 28px; margin-top: auto; }
.cine__h { font-size: clamp(64px, 12vw, 190px); font-weight: 800; letter-spacing: -.06em; line-height: .88; margin: 0 0 18px; }
.cine__h em { font-family: var(--serif); font-weight: 400; letter-spacing: -.02em; }
.cine__verb { display: inline-block; color: var(--red); min-width: 2.2ch; }
.cine__lead { color: rgba(255,255,255,.85); font-size: 19px; max-width: 560px; margin: 0 auto; }
.cine__bar { padding-bottom: 32px; }
.search--wide { max-width: none; }
.cine__meta { display: flex; justify-content: space-between; margin-top: 14px; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.cine__meta b { color: #fff; }

@media (max-width: 960px) {
  .ed__grid { grid-template-columns: 1fr; }
  .ed__art { height: 420px; }
  .mh { grid-template-columns: 1fr; height: auto; }
  .mh__map { height: 380px; }
  .noir__strip { gap: 28px; }
}
@media (max-width: 600px) {
  .noir__strip { display: none; }
  .ed__stamp { display: none; }
  .cine__meta { display: none; }
}

.hdr__fav i[hidden] { display: none; }
.tiles-mono { filter: grayscale(1) contrast(.95) brightness(1.04); }
.mh__h em { white-space: nowrap; }
.ed__stamp text { font-size: 9.6px; letter-spacing: .16em; }
.ed .search__row { grid-template-columns: 1fr 1fr 1fr; }
.ed .search__f--q { grid-column: 1 / -1; }

/* Background video hero */
.hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); }
.hero__bg .hero__video { animation: none; }
.cine__slides .hero__video { opacity: 1; }
.cine__pp { background: none; border: 1px solid rgba(255,255,255,.5); color: #fff; border-radius: 999px; width: 34px; height: 34px; font-size: 10px; letter-spacing: -1px; }

/* ================================================================ V6 AWARD (light) */
.aw { background: #fff; color: var(--ink); }
.aw .hdr:not(.is-solid) { color: var(--ink); }
.aw .hdr:not(.is-solid) .logo__dark { opacity: 1; } .aw .hdr:not(.is-solid) .logo__light { opacity: 0; }
.aw.aw-video-on .hdr:not(.is-solid) { color: #fff; }
.aw.aw-video-on .hdr:not(.is-solid) .logo__dark { opacity: 0; } .aw.aw-video-on .hdr:not(.is-solid) .logo__light { opacity: 1; }
.aw-has-cursor, .aw-has-cursor a, .aw-has-cursor button { cursor: none; }
.aw-cursor { position: fixed; left: 0; top: 0; z-index: 9999; pointer-events: none; width: 0; height: 0; }
.aw-cursor::before { content: ""; position: absolute; width: 12px; height: 12px; margin: -6px; border-radius: 50%; background: var(--red); transition: transform .35s var(--ease); }
.aw-cursor span { position: absolute; width: 96px; height: 96px; margin: -48px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; transform: scale(0); transition: transform .4s var(--ease); box-shadow: 0 12px 30px -10px rgba(244,59,47,.6); }
.aw-cursor.is-big span { transform: scale(1); }
.aw-cursor.is-big::before { transform: scale(0); }
.aw-cursor.is-link::before { transform: scale(3.2); background: rgba(244,59,47,.25); }

.aw-loader { position: fixed; inset: 0; z-index: 10000; background: #fff; display: grid; place-items: center; clip-path: circle(150% at 50% 50%); }
.aw-loader__in { display: grid; justify-items: center; gap: 18px; }
.aw-loader__in img { width: 170px; height: auto; filter: brightness(0); }
.aw-loader__n { font-size: 15px; font-weight: 800; letter-spacing: .3em; color: var(--muted); font-variant-numeric: tabular-nums; }
.aw-loader__dot { position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; margin: -11px; border-radius: 50%; background: var(--red); transform: scale(0); }

.aw-hero { position: relative; height: 320vh; background: #fff; }
.aw-hero__stick { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.aw-hero .hero__video { transform: none; }
.aw-hero__stick::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,0) 40%, rgba(0,0,0,.55)); pointer-events: none; }
/* White sheet with black letters, blended with "screen": white stays white, the letters become windows onto the video. */
.aw-mask { position: absolute; inset: 0; z-index: 2; background: #fff; color: #000; mix-blend-mode: screen; display: grid; place-items: center; transform-origin: 53% 50%; will-change: transform; }
.aw-mask__word { font-size: 31vw; font-weight: 800; letter-spacing: -.06em; line-height: .8; display: block; }
.aw-hero__sub { position: absolute; z-index: 3; left: 0; right: 0; top: calc(var(--hdr) + 3vh); display: flex; justify-content: space-between; font-size: 13px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; color: var(--ink); }
.aw-hero__sub span:nth-child(2) { color: var(--red); }
.aw-hero__hint { position: absolute; z-index: 3; left: 50%; bottom: 36px; transform: translateX(-50%); color: var(--ink); font-size: 12px; font-weight: 800; letter-spacing: .3em; text-transform: uppercase; display: grid; justify-items: center; gap: 12px; }
.aw-hero__hint i { width: 2px; height: 46px; background: linear-gradient(var(--red), transparent); animation: hint 1.8s infinite; transform-origin: top; }
@keyframes hint { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }
.aw-hero__content { position: absolute; z-index: 4; left: 0; right: 0; bottom: 0; padding-bottom: clamp(40px, 8vh, 90px); color: #fff; opacity: 0; }
.aw-hero__h { font-size: clamp(52px, 8.5vw, 132px); font-weight: 800; letter-spacing: -.055em; line-height: .9; margin: 0 0 28px; text-shadow: 0 10px 40px rgba(0,0,0,.3); }
.aw-hero__h em { font-family: var(--serif); font-weight: 400; letter-spacing: -.02em; color: #fff; }
.aw-hero .search { background: #fff; color: var(--ink); border: 0; backdrop-filter: none; }
.aw-hero .search .search__tabs { background: var(--soft); } .aw-hero .search .search__tabs button { color: var(--muted); }
.aw-hero .search .search__tabs button[aria-selected="true"] { color: #fff; } .aw-hero .search .search__ink { background: var(--ink); }
.aw-hero .search .search__f { border-color: var(--line); } .aw-hero .search .search__f label { color: var(--muted); }
.aw-hero .search .search__f input::placeholder { color: var(--muted); } .aw-hero .search .search__f select { color: var(--ink); }

.aw-state { padding: clamp(100px, 16vw, 220px) 0 clamp(80px, 10vw, 140px); }
.aw-state__p { font-size: clamp(30px, 4.2vw, 64px); font-weight: 800; letter-spacing: -.045em; line-height: 1.06; margin: 0; max-width: 1180px; }
.aw-state__p em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.aw-state__nums { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: clamp(60px, 8vw, 120px); }
.aw-state__nums div { padding: 26px 24px; border-radius: 20px; background: var(--soft); }
.aw-state__nums div:first-child { background: var(--red); color: #fff; } .aw-state__nums div:first-child span { color: rgba(255,255,255,.85); }
.aw-state__nums b { display: block; font-size: clamp(36px, 4vw, 60px); letter-spacing: -.05em; line-height: 1; margin-bottom: 8px; }
.aw-state__nums span { color: var(--muted); font-size: 14px; font-weight: 600; }

.aw-h { position: relative; background: var(--soft); }
.aw-h__stick { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; flex-direction: column; justify-content: center; gap: 40px; }
.aw-h__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.aw-h__head .eyebrow { color: var(--muted); }
.aw-h__t { font-size: clamp(36px, 5vw, 76px); font-weight: 800; letter-spacing: -.05em; line-height: 1; margin: 0; }
.aw-h__t em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.aw-h__count { font-size: 14px; font-weight: 700; letter-spacing: .2em; color: var(--muted); font-variant-numeric: tabular-nums; }
.aw-h__count b { color: var(--red); }
.aw-h__track { display: flex; gap: 28px; padding-left: max(var(--gut), calc((100vw - 1320px) / 2 + var(--gut))); will-change: transform; }
.aw-slide { flex: 0 0 min(52vw, 760px); background: #fff; border-radius: 22px; padding: 12px; box-shadow: 0 30px 60px -40px rgba(13,13,15,.35); }
.aw-slide__ph { aspect-ratio: 16 / 10; overflow: hidden; border-radius: 14px; }
.aw-slide__ph img { width: 100%; height: 100%; object-fit: cover; }
.aw-slide__meta { display: grid; gap: 4px; padding: 16px 10px 8px; }
.aw-slide__meta span { font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
.aw-slide__meta h3 { margin: 0; font-size: clamp(20px, 1.8vw, 28px); letter-spacing: -.03em; }
.aw-slide__meta p { margin: 0; color: var(--ink-2); }
.aw-slide__meta b { color: var(--ink); }
.aw-slide--end { flex-basis: 34vw; display: flex; align-items: center; justify-content: center; gap: 16px; background: var(--red); color: #fff; font-size: clamp(28px, 3vw, 44px); font-weight: 800; letter-spacing: -.04em; height: min(32vw, 475px); align-self: flex-start; }
.aw-slide--end i { font-style: normal; }

.aw-marq { overflow: hidden; padding: 34px 0; background: var(--red); color: #fff; }
.aw-marq__row { display: flex; width: max-content; align-items: center; gap: 40px; }
.aw-marq span { font-size: clamp(56px, 8vw, 128px); font-weight: 800; letter-spacing: -.05em; line-height: 1; color: transparent; -webkit-text-stroke: 2px #fff; white-space: nowrap; }
.aw-marq span:nth-child(4n+1) { color: #fff; -webkit-text-stroke: 0; }
.aw-marq i { width: 22px; height: 22px; border-radius: 50%; background: #fff; flex: none; }

.aw-areas { position: relative; padding: clamp(80px, 10vw, 140px) 0; }
.aw-areas__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.aw-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--ink); }
.aw-list a { display: grid; grid-template-columns: 70px 1fr auto; align-items: center; gap: 20px; padding: 26px 0; border-bottom: 1px solid var(--line); transition: padding .5s var(--ease), color .3s; }
.aw-list a:hover { padding-left: 24px; color: var(--red); }
.aw-list__i { font-size: 14px; font-weight: 700; color: var(--muted); font-variant-numeric: tabular-nums; }
.aw-list__n { font-size: clamp(32px, 4.6vw, 72px); font-weight: 800; letter-spacing: -.05em; line-height: 1; }
.aw-list__m { color: var(--muted); font-size: 15px; font-weight: 600; text-align: right; }
.aw-float { position: fixed; left: 0; top: 0; z-index: 30; width: 320px; height: 220px; border-radius: 16px; overflow: hidden; pointer-events: none; opacity: 0; transform: scale(.85); box-shadow: 0 30px 60px -20px rgba(0,0,0,.4); }
.aw-float img { width: 100%; height: 100%; object-fit: cover; }

.aw-sell { display: grid; grid-template-columns: 1.1fr 1fr; min-height: 90vh; }
.aw-sell__img { overflow: hidden; }
.aw-sell__img img { width: 100%; height: 124%; object-fit: cover; }
.aw-sell__copy { padding: clamp(40px, 7vw, 120px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; background: var(--red); color: #fff; }
.aw-sell__copy .eyebrow { color: rgba(255,255,255,.85); } .aw-sell__copy .eyebrow::before { background: #fff; }
.aw-sell__h { font-size: clamp(44px, 5.4vw, 88px); font-weight: 800; letter-spacing: -.05em; line-height: .95; margin: 0 0 22px; }
.aw-sell__h em { font-family: var(--serif); font-weight: 400; color: var(--ink); }
.aw-sell__copy p { color: rgba(255,255,255,.9); max-width: 440px; font-size: 18px; margin: 0 0 30px; }
.aw-sell .btn--red { background: var(--ink); box-shadow: none; } .aw-sell .btn--red:hover { background: #fff; color: var(--ink); }

.aw-quote { padding: clamp(80px, 12vw, 160px) 0; text-align: center; background: var(--soft); }
.aw-quote blockquote { margin: 18px auto; max-width: 1000px; font-family: var(--serif); font-size: clamp(28px, 3.4vw, 52px); line-height: 1.15; letter-spacing: -.01em; }
.aw-quote p { color: var(--muted); }
.aw-end { position: relative; padding: clamp(100px, 14vw, 200px) 0 0; text-align: center; overflow: hidden; }
.aw-end__h { font-size: clamp(60px, 11vw, 180px); font-weight: 800; letter-spacing: -.06em; line-height: .88; margin: 0 0 40px; }
.aw-end__h em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.btn--light { color: var(--ink); }
.aw-giant { display: inline-block; font-size: 42vw; font-weight: 800; letter-spacing: -.07em; line-height: .72; color: #f1efea; margin-top: 60px; position: relative; user-select: none; }
.aw-giant i { position: absolute; width: .085em; height: .085em; border-radius: 50%; background: var(--red); right: .165em; bottom: .13em; }

@media (max-width: 900px) {
  .aw-hero { height: 240vh; }
  .aw-hero__sub { display: none; }
  .aw-h__stick { position: static; height: auto; padding: 80px 0; }
  .aw-h__track { overflow-x: auto; scroll-snap-type: x mandatory; padding-right: var(--gut); scrollbar-width: none; }
  .aw-slide { flex-basis: 82vw; scroll-snap-align: start; }
  .aw-slide--end { display: none; }
  .aw-state__nums { grid-template-columns: 1fr 1fr; }
  .aw-sell { grid-template-columns: 1fr; }
  .aw-sell__img { height: 60vh; }
  .aw-list__m { display: none; }
  .aw-list a { grid-template-columns: 40px 1fr; }
}
.aw main { padding-top: 0 !important; }
.aw .hdr { background: rgba(255,255,255,.92); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); box-shadow: 0 1px 0 var(--line); color: var(--ink) !important; }
.aw .hdr .logo__dark { opacity: 1 !important; } .aw .hdr .logo__light { opacity: 0 !important; }
.aw-hero__stick { top: 0; }

/* ---------------------------------------------------- come-back sections */
.pulse__grid { display: grid; grid-template-columns: repeat(3, 1fr) 2fr; gap: 16px; }
.pulse__k { background: var(--soft); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 4px; }
.pulse__k span { font-size: 13px; font-weight: 700; color: var(--muted); }
.pulse__k b { font-size: clamp(32px, 3.2vw, 48px); letter-spacing: -.05em; line-height: 1.05; }
.pulse__k b small { font-size: 16px; color: var(--muted); }
.pulse__k small { color: var(--muted); font-size: 13px; margin-top: auto; }
.pulse__k--red { background: var(--red); color: #fff; } .pulse__k--red span, .pulse__k--red small { color: rgba(255,255,255,.85); }
.pulse__chart { border: 1px solid var(--line); border-radius: 20px; padding: 20px 24px; display: grid; gap: 8px; align-content: start; }
.pulse__chart p { margin: 0 0 6px; font-size: 13px; font-weight: 700; color: var(--muted); }
.pulse__bar { display: grid; grid-template-columns: 150px 1fr 60px; gap: 12px; align-items: center; font-size: 14px; font-weight: 600; }
.pulse__bar span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pulse__bar i { height: 10px; border-radius: 5px; background: var(--soft); position: relative; overflow: hidden; }
.pulse__bar i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); background: var(--ink); border-radius: 5px; transition: width 1.2s var(--ease); }
.pulse__bar:hover i::after { background: var(--red); }
.pulse__bar b { text-align: right; font-variant-numeric: tabular-nums; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: #13b35b; box-shadow: 0 0 0 0 rgba(19,179,91,.6); animation: livepulse 1.8s infinite; display: inline-block; margin-right: 2px; }
.eyebrow:has(.live-dot)::before { display: none; }
@keyframes livepulse { 70% { box-shadow: 0 0 0 10px rgba(19,179,91,0); } 100% { box-shadow: 0 0 0 0 rgba(19,179,91,0); } }
.alerts { padding: 0 0 clamp(64px, 8vw, 110px); }
.alerts__in { background: var(--soft); color: var(--ink); border-radius: 28px; padding: clamp(28px, 4vw, 56px); display: grid; grid-template-columns: 1fr 1.3fr; gap: 32px; align-items: center; position: relative; overflow: hidden; }
.alerts__in::before { content: ""; position: absolute; width: 420px; height: 420px; right: -160px; top: -220px; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.18), transparent 65%); }
.alerts h2 { position: relative; margin: 0 0 8px; font-size: clamp(26px, 2.6vw, 38px); letter-spacing: -.04em; line-height: 1.1; }
.alerts p { position: relative; margin: 0; color: var(--ink-2); }
.alerts__f { position: relative; display: grid; grid-template-columns: 110px 1fr 1fr; gap: 8px; }
.alerts__f input, .alerts__f select { height: 50px; border-radius: 12px; border: 1px solid var(--line); background: #fff; color: var(--ink); padding: 0 14px; outline: none; }
.alerts__f select option { color: var(--ink); }
.alerts__f input::placeholder { color: var(--muted); }
.alerts__f .btn { height: 50px; }
.alerts__f .form-msg { grid-column: 1 / -1; }
.alerts__f.is-sent > :not(.form-msg) { display: none; }
.alerts__f input[name=area] { grid-column: span 2; }
@media (max-width: 960px) {
  .pulse__grid { grid-template-columns: 1fr 1fr; }
  .pulse__chart { grid-column: 1 / -1; }
  .alerts__in { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .pulse__grid { grid-template-columns: 1fr; }
  .alerts__f { grid-template-columns: 1fr; }
  .alerts__f input[name=area] { grid-column: auto; }
  .pulse__bar { grid-template-columns: 110px 1fr 50px; }
}

/* V7 calm: Signature video hero + the best of the Award motion, without the loader, the custom cursor or the long fly-through. */
.aw-calm .hdr { background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; color: #fff !important; }
.aw-calm .hdr .logo__dark { opacity: 0 !important; } .aw-calm .hdr .logo__light { opacity: 1 !important; }
.aw-calm .hdr.is-solid { background: rgba(255,255,255,.92); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); box-shadow: 0 1px 0 var(--line); color: var(--ink) !important; }
.aw-calm .hdr.is-solid .logo__dark { opacity: 1 !important; } .aw-calm .hdr.is-solid .logo__light { opacity: 0 !important; }
.aw-calm .aw-state { padding-top: clamp(80px, 10vw, 140px); }

/* =====================================================================
   LUX home (designs 8 Prestige · 9 Concierge · 10 Showcase) — lead-first
   ===================================================================== */
.lx .wa-float { display: none; }
.lx-dot { width: 8px; height: 8px; border-radius: 50%; background: #25d366; box-shadow: 0 0 0 0 rgba(37,211,102,.6); animation: lxPulse 2s infinite; flex: none; display: inline-block; }
@keyframes lxPulse { 70% { box-shadow: 0 0 0 9px rgba(37,211,102,0); } 100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); } }
.lx-kick { display: inline-flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; margin: 0 0 22px; color: rgba(255,255,255,.86); }
.lx-kick span { width: 28px; height: 1px; background: currentColor; opacity: .6; }
.lx-h1 { font-size: clamp(46px, 7.6vw, 118px); line-height: .92; letter-spacing: -.055em; font-weight: 800; margin: 0 0 24px; }
.lx-h1 em, .lx-h2 em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.015em; color: var(--red); }
.lx-hero .lx-h1 em { color: #fff; }
.lx-hero .lx-h1 em::after { content: "."; color: var(--red); }
.lx-hero .lx-h1 em { position: relative; }
.lx-sub { font-size: clamp(16px, 1.4vw, 19px); line-height: 1.55; max-width: 540px; color: rgba(255,255,255,.86); margin: 0 0 26px; }
.lx-h2 { font-size: clamp(34px, 4.8vw, 68px); line-height: .98; letter-spacing: -.045em; font-weight: 800; margin: 0; }
.lx-h2--light { color: #fff; }
.lx-h2--light em { color: #fff; }
.btn--lg { height: 60px; padding: 0 30px; font-size: 16px; }
.btn--glass { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.35); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.btn--glass:hover { background: rgba(255,255,255,.26); }
.btn--wa { background: #25d366; color: #fff; box-shadow: 0 10px 26px -12px rgba(37,211,102,.9); }
.btn--wa:hover { background: #1fb959; }

/* ---------- hero shell */
.lx-hero { position: relative; color: #fff; overflow: hidden; isolation: isolate; }
.lx-hero__media { position: absolute; inset: 0; z-index: -1; background: #0d0d0f; }
.lx-hero__media .hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lx-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,8,10,.78) 0%, rgba(8,8,10,.35) 55%, rgba(8,8,10,.15) 100%), linear-gradient(0deg, rgba(8,8,10,.7), transparent 45%); }
.lx-hero__pp { position: absolute; right: var(--gut); top: calc(var(--hdr) + 18px); width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); background: rgba(0,0,0,.2); color: #fff; font-size: 11px; }

/* ---------- 8 Prestige */
.lx-hero--prestige { min-height: 100svh; display: flex; align-items: flex-end; }
.lx-hero__in { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(28px, 4vw, 64px); align-items: end; padding-top: calc(var(--hdr) + 60px); padding-bottom: clamp(36px, 6vh, 72px); }
.lx-proof { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; font-size: 14px; color: rgba(255,255,255,.8); }
.lx-proof b { color: #fff; }
.lx-proof i { width: 4px; height: 4px; border-radius: 50%; background: rgba(255,255,255,.4); }
.lx-stars { color: #f5b301; letter-spacing: 2px; }
.lx-concierge { background: #fff; color: var(--ink); border-radius: 26px; padding: 10px; box-shadow: 0 50px 100px -30px rgba(0,0,0,.75); }
.lx-concierge__tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; background: var(--soft); border-radius: 18px; padding: 4px; margin-bottom: 6px; }
.lx-concierge__tabs button { border: 0; background: none; padding: 12px; border-radius: 14px; font-weight: 800; font-size: 14px; color: var(--muted); transition: background .25s, color .25s; }
.lx-concierge__tabs button[aria-selected="true"] { background: var(--ink); color: #fff; }
.search--lx { box-shadow: none; padding: 4px; max-width: none; }
.lx-concierge .search--lx .search__row { grid-template-columns: 1fr 1fr; }
.lx-concierge .search--lx .search__f { border-right: 0; border-bottom: 1px solid var(--line); }
.lx-concierge .search--lx .search__f--q { grid-column: 1 / -1; }
.lx-concierge .search--lx .search__go { grid-column: 1 / -1; min-height: 56px; margin-top: 8px; }
.lx-quick { padding: 10px 8px 6px; }
.lx-quick__row { display: grid; gap: 12px; }
.lx-quick .btn { height: 56px; }
.lx-concierge__wa { display: flex; align-items: center; gap: 10px; padding: 14px 14px 8px; font-size: 14px; font-weight: 700; color: var(--ink-2); }
.lx-concierge__wa b { margin-left: auto; color: var(--red); transition: transform .25s; }
.lx-concierge__wa:hover b { transform: translateX(4px); }

/* ---------- 9 Concierge (split) */
.lx--split .hdr { background: rgba(255,255,255,.94); }
.lx-hero--split { display: grid; grid-template-columns: 1.25fr 1fr; min-height: calc(100svh - var(--hdr)); color: var(--ink); background: var(--soft); }
.lx-split__film { position: relative; color: #fff; display: flex; align-items: flex-end; isolation: isolate; overflow: hidden; border-radius: 0 32px 32px 0; }
.lx-split__copy { padding: clamp(32px, 5vw, 72px); padding-top: 120px; }
.lx-split__nums { display: flex; flex-wrap: wrap; gap: 14px 40px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.22); }
.lx-split__nums b { display: block; font-size: 28px; letter-spacing: -.03em; }
.lx-split__nums span { font-size: 13px; color: rgba(255,255,255,.7); }
.lx-brief { display: flex; flex-direction: column; justify-content: center; padding: clamp(24px, 4vw, 64px); }
.lx-brief__f { background: #fff; border-radius: 28px; padding: clamp(22px, 3vw, 36px); box-shadow: 0 40px 90px -40px rgba(13,13,15,.35); gap: 16px; }
.lx-brief__top { display: flex; justify-content: space-between; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.lx-brief__bar { height: 4px; border-radius: 4px; background: var(--soft); overflow: hidden; }
.lx-brief__bar i { display: block; height: 100%; width: 33.3%; background: var(--red); border-radius: 4px; transition: width .5s var(--ease); }
.lx-step { border: 0; padding: 0; margin: 0; display: none; gap: 14px; }
.lx-step.is-on { display: grid; animation: lxIn .5s var(--ease); }
@keyframes lxIn { from { opacity: 0; transform: translateY(12px); } }
.lx-step legend { font-size: clamp(22px, 2.2vw, 30px); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; margin-bottom: 14px; padding: 0; }
.lx-step__nav { display: grid; grid-template-columns: auto 1fr; gap: 10px; }
.lx-brief__fine { text-align: center; font-size: 12px; color: var(--muted); margin: 0; }
.lx-brief__alt { text-align: center; margin-top: 18px; font-weight: 700; font-size: 14px; color: var(--ink-2); }
.lx-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lx-chips label { cursor: pointer; }
.lx-chips input { position: absolute; opacity: 0; pointer-events: none; }
.lx-chips span { display: block; padding: 10px 18px; border-radius: 999px; border: 1px solid var(--line); font-weight: 700; font-size: 14px; transition: all .2s; }
.lx-chips input:checked + span { background: var(--ink); border-color: var(--ink); color: #fff; }
.lx-chips input:focus-visible + span { outline: 2px solid var(--red); outline-offset: 2px; }
.lx-chips--big { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lx-chips--big span { border-radius: 18px; padding: 16px 18px; }
.lx-chips--big b { display: block; font-size: 17px; }
.lx-chips--big small { display: block; font-weight: 500; font-size: 13px; color: var(--muted); }
.lx-chips--big input:checked + span small { color: rgba(255,255,255,.7); }

/* ---------- 10 Showcase */
.lx-hero--show { min-height: 100svh; display: flex; align-items: flex-end; background: #0d0d0f; }
.lx-show__slides, .lx-show__s { position: absolute; inset: 0; margin: 0; }
.lx-show__slides { z-index: -1; }
.lx-show__slides::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,8,10,.8), rgba(8,8,10,.2) 60%, rgba(8,8,10,.05)), linear-gradient(0deg, rgba(8,8,10,.85), transparent 50%); }
.lx-show__s { opacity: 0; transition: opacity 1.4s ease; }
.lx-show__s img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); }
.lx-show__s.is-on { opacity: 1; }
.lx-show__s.is-on img { transform: scale(1); transition: transform 7s linear; }
.lx-show__in { position: relative; padding-top: calc(var(--hdr) + 60px); padding-bottom: 150px; width: 100%; }
.lx-show__info { display: none; max-width: 760px; }
.lx-show__info.is-on { display: block; animation: lxIn .9s var(--ease); }
.lx-show__loc { font-size: 15px; font-weight: 700; color: rgba(255,255,255,.75); margin: 0 0 10px; }
.lx-show__t { font-size: clamp(36px, 5.4vw, 80px); line-height: .95; letter-spacing: -.05em; font-weight: 800; margin: 0 0 22px; text-wrap: balance; }
.lx-show__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 22px; margin-bottom: 26px; }
.lx-show__meta b { font-size: clamp(26px, 2.6vw, 38px); letter-spacing: -.03em; }
.lx-show__meta span, .lx-sig__meta span { color: rgba(255,255,255,.75); font-weight: 600; }
.lx-show__meta i, .lx-sig__meta i { font-style: normal; margin: 0 8px; opacity: .5; }
.lx-show__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.lx-show__thumbs { position: absolute; right: var(--gut); bottom: 150px; display: grid; gap: 10px; width: 300px; }
.lx-show__thumbs button { position: relative; display: grid; grid-template-columns: 64px 1fr; gap: 12px; align-items: center; text-align: left; border: 1px solid rgba(255,255,255,.18); background: rgba(13,13,15,.35); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); color: #fff; border-radius: 14px; padding: 6px; overflow: hidden; opacity: .7; transition: opacity .3s, border-color .3s; }
.lx-show__thumbs button.is-on, .lx-show__thumbs button:hover { opacity: 1; border-color: rgba(255,255,255,.5); }
.lx-show__thumbs img { width: 64px; height: 48px; object-fit: cover; border-radius: 10px; }
.lx-show__thumbs span { font-weight: 700; font-size: 13px; line-height: 1.3; }
.lx-show__thumbs small { display: block; color: rgba(255,255,255,.7); font-weight: 600; }
.lx-show__thumbs i { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(255,255,255,.12); }
.lx-show__thumbs em { display: block; height: 100%; width: 0; background: var(--red); }
.lx-show__thumbs .is-on em { animation: lxBar var(--lx-dur, 6s) linear forwards; }
@keyframes lxBar { to { width: 100%; } }
.lx-show__search { position: relative; z-index: 5; margin-top: -86px; }
.search--float { margin: 0 auto; box-shadow: 0 40px 80px -30px rgba(13,13,15,.5); }

/* ---------- trust strip */
.lx-trust { border-bottom: 1px solid var(--line); background: #fff; }
.lx-trust__in { display: grid; grid-template-columns: repeat(5, 1fr); }
.lx-trust__in > div { padding: 30px 20px; border-right: 1px solid var(--line); text-align: center; }
.lx-trust__in > div:last-child { border-right: 0; }
.lx-trust b { display: block; font-size: 26px; letter-spacing: -.03em; }
.lx-trust span { font-size: 13px; color: var(--muted); font-weight: 600; }
.lx-hero--show + .lx-show__search + .lx-trust { margin-top: 40px; border-top: 1px solid var(--line); }

/* ---------- sections */
.lx-sec { padding: clamp(72px, 10vw, 140px) 0; }
.lx-sec--soft { background: var(--soft); }
.lx-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: clamp(32px, 4vw, 56px); flex-wrap: wrap; }
.lx-rail-head { display: flex; justify-content: space-between; align-items: center; margin: 64px auto 20px; }
.lx-rail-head h3 { margin: 0; font-size: 22px; letter-spacing: -.02em; }

.lx-sig { display: grid; grid-template-columns: 1.6fr 1fr; grid-template-rows: 1fr 1fr; gap: 20px; }
.lx-sig__i { position: relative; border-radius: 26px; overflow: hidden; min-height: 320px; color: #fff; isolation: isolate; }
.lx-sig__i--xl { grid-row: span 2; min-height: 680px; }
.lx-sig__img { position: absolute; inset: 0; z-index: -1; }
.lx-sig__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.lx-sig__i:hover .lx-sig__img img { transform: scale(1.05); }
.lx-sig__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,8,10,.85), rgba(8,8,10,.1) 60%); }
.lx-sig__tags { position: absolute; top: 18px; left: 18px; display: flex; gap: 6px; }
.lx-sig__body { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(20px, 2.6vw, 34px); }
.lx-sig__loc { margin: 0 0 6px; font-size: 14px; font-weight: 700; color: rgba(255,255,255,.75); }
.lx-sig__body h3 { margin: 0 0 12px; font-size: clamp(20px, 1.8vw, 26px); letter-spacing: -.03em; line-height: 1.1; }
.lx-sig__i--xl h3 { font-size: clamp(28px, 3vw, 44px); }
.lx-sig__meta { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: baseline; margin: 0 0 16px; }
.lx-sig__meta b { font-size: 22px; letter-spacing: -.02em; }
.lx-sig__btns { display: flex; gap: 8px; flex-wrap: wrap; }
.lx-sig__btns .btn--ghost { color: #fff; }

.lx-band { position: relative; color: #fff; padding: clamp(72px, 10vw, 140px) 0; isolation: isolate; overflow: hidden; }
.lx-band__bg { position: absolute; inset: 0; z-index: -1; }
.lx-band__bg img { width: 100%; height: 100%; object-fit: cover; }
.lx-band__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,10,12,.92) 0%, rgba(10,10,12,.7) 55%, rgba(10,10,12,.45)); }
.lx-band__in { display: grid; grid-template-columns: 1fr 460px; gap: clamp(32px, 6vw, 96px); align-items: center; }
.lx-band__copy p { font-size: 18px; color: rgba(255,255,255,.85); max-width: 520px; margin: 22px 0 0; }
.lx-band__f { background: #fff; color: var(--ink); border-radius: 26px; padding: 28px; box-shadow: 0 50px 100px -30px rgba(0,0,0,.7); }
.lx-band__f h3 { margin: 0; font-size: 22px; letter-spacing: -.02em; }

.lx-areas { gap: 16px; }
.lx-area { position: relative; flex: 0 0 clamp(240px, 24vw, 320px); aspect-ratio: 3 / 4; border-radius: 22px; overflow: hidden; color: #fff; isolation: isolate; scroll-snap-align: start; }
.lx-area img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; transition: transform 1.2s var(--ease); }
.lx-area::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(8,8,10,.8), transparent 55%); }
.lx-area:hover img { transform: scale(1.06); }
.lx-area__t { position: absolute; left: 22px; right: 22px; bottom: 20px; }
.lx-area__t h3 { margin: 0 0 4px; font-size: 22px; letter-spacing: -.02em; }
.lx-area__t p { margin: 0; font-size: 14px; color: rgba(255,255,255,.8); }
.lx-area__go { display: inline-block; margin-top: 12px; font-weight: 700; font-size: 14px; opacity: 0; transform: translateY(8px); transition: all .35s var(--ease); }
.lx-area:hover .lx-area__go { opacity: 1; transform: none; }

.lx-sell { display: grid; grid-template-columns: 1fr 1fr; min-height: 760px; background: var(--soft); }
.lx-sell__img { position: relative; overflow: hidden; }
.lx-sell__img img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.lx-sell__chip { position: absolute; left: 28px; bottom: 28px; background: #fff; border-radius: 18px; padding: 16px 20px; box-shadow: var(--shadow); max-width: 280px; }
.lx-sell__chip b { display: block; font-size: 18px; }
.lx-sell__chip span { font-size: 13px; color: var(--muted); }
.lx-sell__copy { padding: clamp(40px, 6vw, 96px); display: flex; flex-direction: column; justify-content: center; }
.lx-sell__p { font-size: 18px; color: var(--ink-2); margin: 20px 0 28px; max-width: 520px; }
.lx-sell__copy .lform { background: #fff; border-radius: 24px; padding: 24px; box-shadow: var(--shadow); max-width: 560px; }

.lx-team { gap: 18px; }
.lx-adv { flex: 0 0 270px; border-radius: 22px; overflow: hidden; background: #fff; border: 1px solid var(--line); scroll-snap-align: start; }
.lx-adv__ph { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--soft); }
.lx-adv__ph img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .8s var(--ease); }
.lx-adv:hover .lx-adv__ph img { transform: scale(1.04); }
.lx-adv__b { padding: 18px; }
.lx-adv__b h3 { margin: 0; font-size: 18px; letter-spacing: -.02em; }
.lx-adv__b p { margin: 2px 0 0; font-size: 14px; color: var(--muted); }
.lx-adv__lang { font-size: 13px !important; }
.lx-adv__wa { display: flex; align-items: center; justify-content: center; height: 44px; margin-top: 14px; border-radius: 999px; background: #e9f9ef; color: #128c4a; font-weight: 800; font-size: 14px; transition: background .2s, color .2s; }
.lx-adv__wa:hover { background: #25d366; color: #fff; }

.lx-reviews { background: linear-gradient(180deg, #fff, var(--soft)); }
.lx-review blockquote { font-size: 17px; }

.lx-final { background: var(--ink); color: #fff; padding: clamp(72px, 9vw, 120px) 0 clamp(96px, 10vw, 140px); }
.lx-final__in { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: end; }
.lx-final__in p:not(.eyebrow) { color: rgba(255,255,255,.75); font-size: 18px; margin: 18px 0 0; max-width: 520px; }
.lx-final__btns { display: grid; gap: 10px; }

/* ---------- sticky dock + slide-in */
.lx-dock { position: fixed; right: 20px; bottom: 20px; z-index: 60; display: flex; align-items: center; gap: 6px; padding: 6px 6px 6px 16px; border-radius: 999px; background: rgba(13,13,15,.94); color: #fff; box-shadow: 0 24px 60px -20px rgba(0,0,0,.6); backdrop-filter: blur(12px); transform: translateY(140%); transition: transform .6s var(--ease); }
.lx-dock.is-on { transform: none; }
.lx-dock__t { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; padding-right: 8px; }
.lx-dock__b { height: 42px; padding: 0 16px; border-radius: 999px; display: inline-flex; align-items: center; font-weight: 800; font-size: 14px; background: rgba(255,255,255,.1); border: 0; color: #fff; }
.lx-dock__b--wa { background: #25d366; }
.lx-dock__b--red { background: var(--red); }
.lx-pop { position: fixed; left: 20px; bottom: 20px; z-index: 61; width: min(380px, calc(100vw - 40px)); background: #fff; color: var(--ink); border-radius: 24px; padding: 24px; box-shadow: 0 40px 90px -30px rgba(13,13,15,.55); animation: lxPop .6s var(--ease); }
@keyframes lxPop { from { opacity: 0; transform: translateY(30px) scale(.97); } }
.lx-pop h3 { margin: 0 0 8px; font-size: 22px; line-height: 1.12; letter-spacing: -.03em; }
.lx-pop h3 em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.lx-pop > p:not(.eyebrow) { margin: 0 0 14px; color: var(--ink-2); font-size: 14px; }
.lx-pop__x { position: absolute; right: 14px; top: 12px; width: 32px; height: 32px; border-radius: 50%; border: 0; background: var(--soft); font-size: 18px; }

@media (max-width: 1100px) {
  .lx-hero__in, .lx-band__in, .lx-final__in { grid-template-columns: 1fr; }
  .lx-hero__in { align-items: start; }
  .lx-hero--split { grid-template-columns: 1fr; }
  .lx-split__film { min-height: 62svh; border-radius: 0 0 28px 28px; }
  .lx-trust__in { grid-template-columns: repeat(3, 1fr); }
  .lx-trust__in > div:nth-child(3) { border-right: 0; }
  .lx-trust__in > div:nth-child(n+4) { border-top: 1px solid var(--line); }
  .lx-show__thumbs { display: none; }
  .lx-sell { grid-template-columns: 1fr; }
  .lx-sell__img { min-height: 360px; }
}
@media (max-width: 760px) {
  .lx-sig { grid-template-columns: 1fr; grid-template-rows: none; }
  .lx-sig__i--xl { grid-row: auto; min-height: 520px; }
  .lx-sig__i { min-height: 400px; }
  .lx-trust__in { grid-template-columns: 1fr 1fr; }
  .lx-trust__in > div { border-right: 1px solid var(--line) !important; border-top: 1px solid var(--line); padding: 20px 10px; }
  .lx-trust__in > div:nth-child(2n) { border-right: 0 !important; }
  .lx-trust__in > div:last-child { grid-column: 1 / -1; border-right: 0 !important; }
  .lx-trust b { font-size: 21px; }
  .lx-dock { left: 10px; right: 10px; bottom: 10px; justify-content: space-between; padding: 6px; }
  .lx-dock__t { display: none; }
  .lx-dock__b { flex: 1; justify-content: center; padding: 0 10px; }
  .lx-pop { left: 10px; bottom: 74px; width: calc(100vw - 20px); }
  .lx-chips--big { grid-template-columns: 1fr 1fr; }
  .lx-show__in { padding-bottom: 120px; }
  .lx-show__search { margin-top: -60px; }
  .lx-hero__pp { display: none; }
  .lx-concierge .search--lx .search__row { grid-template-columns: 1fr 1fr; }
  .lx-final { padding-bottom: 110px; }
}
@media (prefers-reduced-motion: reduce) {
  .lx-show__s img, .lx-show__s.is-on img { transform: none; transition: none; }
  .lx-dot { animation: none; }
}
@media (max-width: 760px) {
  .lx-split__film { min-height: 0; }
  .lx-split__copy { padding: 36px 20px 28px; }
  .lx-hero--split .lx-h1 { font-size: 44px; }
  .lx-split__nums { display: none; }
  .lx-hero--split .lx-sub { margin-bottom: 0; }
  .lx-brief { padding: 20px 14px 40px; }
}

/* ======================================================= 11 · HORIZON (light, editorial, lead-first) */
.lx--hz { background: #fff; }
.hz-hero { position: relative; padding-top: calc(var(--hdr) + clamp(40px, 7vh, 90px)); background: radial-gradient(1200px 520px at 85% -10%, #ffe9e6 0%, rgba(255,233,230,0) 60%), radial-gradient(900px 500px at -10% 30%, #f6f1e8 0%, rgba(246,241,232,0) 60%), #fff; overflow: hidden; }
.hz-hero__in { text-align: center; }
.hz-kick { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 13px; font-weight: 700; color: var(--ink-2); margin: 0 0 28px; box-shadow: 0 10px 30px -18px rgba(13,13,15,.3); }
.hz-h1 { font-size: clamp(48px, 8.4vw, 132px); line-height: .94; letter-spacing: -.06em; font-weight: 800; margin: 0 0 36px; display: grid; justify-items: center; }
.hz-line { display: block; overflow: hidden; padding-bottom: .04em; }
.hz-h1 em { font-family: var(--serif); font-weight: 400; font-style: italic; letter-spacing: -.02em; color: var(--red); }
.hz-pill { display: inline-block; width: 2.1em; height: .78em; border-radius: 999px; overflow: hidden; vertical-align: -.02em; margin-right: .12em; background: #ddd; box-shadow: 0 18px 40px -18px rgba(13,13,15,.5); transform: rotate(-3deg); }
.hz-pill video { width: 100%; height: 100%; object-fit: cover; }
.hz-ask { position: relative; display: flex; align-items: center; gap: 12px; max-width: 760px; margin: 0 auto; padding: 10px 10px 10px 24px; border-radius: 999px; background: #fff; border: 1px solid var(--line); box-shadow: 0 30px 70px -30px rgba(13,13,15,.35); }
.hz-ask svg { color: var(--muted); flex: none; }
.hz-ask input { flex: 1; min-width: 0; border: 0; outline: none; font-size: 18px; font-weight: 600; background: transparent; height: 52px; }
.hz-ask input::placeholder { color: #9b9ba3; }
.hz-ask .btn { height: 56px; padding: 0 30px; }
.hz-ask:focus-within { border-color: var(--ink); }
.hz-quick { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 18px auto 0; max-width: 820px; }
.hz-quick a { padding: 9px 16px; border-radius: 999px; background: var(--soft); font-weight: 700; font-size: 14px; color: var(--ink-2); transition: background .2s, color .2s, transform .2s; }
.hz-quick a:hover { background: var(--ink); color: #fff; transform: translateY(-2px); }
.hz-quick--red { background: #fff0ee !important; color: var(--red-d) !important; }
.hz-quick--red:hover { background: var(--red) !important; color: #fff !important; }
.hz-quick--wa { background: #e9f9ef !important; color: #128c4a !important; }
.hz-quick--wa:hover { background: #25d366 !important; color: #fff !important; }
.hz-film { padding: clamp(40px, 6vw, 72px) 0 0; }
.hz-film__win { position: relative; margin: 0 auto; width: calc(100% - 2 * var(--gut)); max-width: 1320px; aspect-ratio: 16 / 7; border-radius: 32px; overflow: hidden; background: #0d0d0f; will-change: width, border-radius; }
.hz-film__win .hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hz-film__cap { position: absolute; left: 24px; right: 24px; top: 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hz-film__cap button { width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); background: rgba(0,0,0,.2); color: #fff; font-size: 11px; }
.hz-film__card { position: absolute; left: 24px; bottom: 24px; background: rgba(255,255,255,.92); backdrop-filter: blur(10px); border-radius: 18px; padding: 14px 20px; }
.hz-film__card b { display: block; font-size: 28px; letter-spacing: -.03em; }
.hz-film__card span { font-size: 13px; color: var(--muted); font-weight: 600; }
.lx--hz .lx-trust { border-top: 0; }

.hz-doors { padding: clamp(56px, 8vw, 110px) 0 0; }
.hz-doors__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.hz-door { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 300px; padding: 26px; border-radius: 24px; background: var(--soft); overflow: hidden; isolation: isolate; transition: color .4s; }
.hz-door img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; opacity: 0; transform: scale(1.08); transition: opacity .6s var(--ease), transform 1.2s var(--ease); }
.hz-door::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(8,8,10,.8), rgba(8,8,10,.15)); opacity: 0; transition: opacity .6s; }
.hz-door:hover { color: #fff; }
.hz-door:hover img, .hz-door:hover::after { opacity: 1; }
.hz-door:hover img { transform: none; }
.hz-door__n { font-size: clamp(36px, 3.6vw, 54px); font-weight: 800; letter-spacing: -.05em; line-height: 1; }
.hz-door p { margin: 0; max-width: 240px; font-size: 15px; color: inherit; opacity: .8; }
.hz-door i { position: absolute; right: 24px; top: 24px; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-style: normal; background: #fff; color: var(--ink); font-weight: 700; transition: transform .4s var(--ease), background .3s; }
.hz-door:hover i { transform: rotate(-45deg); background: var(--red); color: #fff; }

.hz-stack { padding: clamp(72px, 10vw, 140px) 0; background: var(--soft); }
.hz-card { position: sticky; top: calc(var(--hdr) + 30px + var(--i) * 24px); display: grid; grid-template-columns: 1fr 1.1fr; min-height: 440px; margin-bottom: 28px; border-radius: 30px; overflow: hidden; background: #fff; box-shadow: 0 30px 80px -40px rgba(13,13,15,.35); }
.hz-card:nth-of-type(2) { background: var(--ink); color: #fff; }
.hz-card:nth-of-type(3) { background: var(--red); color: #fff; }
.hz-card__t { padding: clamp(28px, 4vw, 56px); display: flex; flex-direction: column; justify-content: flex-end; }
.hz-card__t span { font-family: var(--serif); font-style: italic; font-size: 64px; line-height: 1; opacity: .5; margin-bottom: auto; }
.hz-card__t h3 { font-size: clamp(30px, 3.4vw, 50px); letter-spacing: -.045em; line-height: 1; margin: 0 0 14px; }
.hz-card__t p { margin: 0; font-size: 17px; opacity: .8; max-width: 420px; }
.hz-card img { width: 100%; height: 100%; object-fit: cover; }

.hz-acc { display: flex; gap: 10px; height: 560px; }
.hz-acc__i { position: relative; flex: 1; min-width: 0; border-radius: 24px; overflow: hidden; color: #fff; isolation: isolate; transition: flex .8s var(--ease); }
.hz-acc__i.is-on { flex: 4.5; }
.hz-acc__i img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.hz-acc__i::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(8,8,10,.8), rgba(8,8,10,.05) 60%); }
.hz-acc__t { position: absolute; left: 22px; right: 22px; bottom: 22px; }
.hz-acc__n { font-size: 12px; font-weight: 800; letter-spacing: .14em; opacity: .7; }
.hz-acc__t h3 { margin: 6px 0 4px; font-size: clamp(20px, 2vw, 32px); letter-spacing: -.03em; line-height: 1.05; white-space: nowrap; }
.hz-acc__t p, .hz-acc__go { margin: 0; font-size: 14px; opacity: 0; transform: translateY(10px); transition: opacity .5s .15s, transform .5s .15s var(--ease); white-space: nowrap; }
.hz-acc__go { display: inline-block; margin-top: 10px; font-weight: 800; }
.hz-acc__i.is-on p, .hz-acc__i.is-on .hz-acc__go { opacity: 1; transform: none; }
.hz-acc__i:not(.is-on) h3 { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 20px; }

.hz-est { padding: clamp(72px, 10vw, 140px) 0; background: radial-gradient(900px 500px at 100% 0%, #ffe9e6, rgba(255,233,230,0) 60%), #fff; }
.hz-est__in { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.hz-est__copy p:not(.eyebrow) { font-size: 18px; color: var(--ink-2); margin: 22px 0 0; max-width: 480px; }
.hz-est__tool { border-radius: 30px; background: #fff; border: 1px solid var(--line); box-shadow: 0 40px 90px -40px rgba(13,13,15,.35); overflow: hidden; }
.hz-est__in2 { padding: 28px; display: grid; gap: 16px; }
.hz-est__tool input[type=range] { width: 100%; accent-color: var(--red); padding: 0; border: 0; height: 28px; }
.hz-est__out { display: grid; gap: 2px; padding: 20px 22px; border-radius: 20px; background: var(--ink); color: #fff; }
.hz-est__out span { font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; opacity: .6; }
.hz-est__out b { font-size: clamp(30px, 3.4vw, 46px); letter-spacing: -.04em; line-height: 1.05; }
.hz-est__out small { font-size: 13px; opacity: .7; }
.hz-est__fine { margin: 0; font-size: 12px; color: var(--muted); }
.hz-est__f { padding: 24px 28px 28px; background: var(--soft); }

@media (max-width: 1100px) {
  .hz-doors__grid { grid-template-columns: 1fr 1fr; }
  .hz-est__in { grid-template-columns: 1fr; }
  .hz-card { grid-template-columns: 1fr; }
  .hz-card img { height: 240px; }
}
@media (max-width: 760px) {
  .hz-h1 { font-size: clamp(40px, 11.5vw, 60px); }
  .hz-ask { padding: 6px 6px 6px 16px; }
  .hz-ask input { font-size: 15px; height: 46px; }
  .hz-ask .btn { height: 46px; padding: 0 18px; }
  .hz-quick a:nth-child(n+3):not(.hz-quick--red):not(.hz-quick--wa) { display: none; }
  .hz-film__win { aspect-ratio: 4 / 5; border-radius: 24px; }
  .hz-door { min-height: 190px; padding: 20px; }
  .hz-door p { display: none; }
  .hz-acc { flex-direction: column; height: auto; }
  .hz-acc__i, .hz-acc__i.is-on { flex: none; height: 150px; }
  .hz-acc__i.is-on { height: 300px; }
  .hz-acc__i:not(.is-on) h3 { writing-mode: initial; transform: none; }
  .hz-card { position: relative; top: 0; min-height: 0; }
  .hz-card__t span { font-size: 44px; margin-bottom: 24px; }
}
.hz-line { overflow: visible; }
.hz-pill { background: transparent; }
.hz-est__tool input[type=range] { -webkit-appearance: none; appearance: none; height: 6px; border-radius: 6px; background: linear-gradient(90deg, var(--red) var(--p, 15%), var(--line) var(--p, 15%)); border: 0; box-shadow: none; padding: 0; margin: 14px 0 6px; }
.hz-est__tool input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 2px solid var(--red); box-shadow: 0 6px 16px -6px rgba(244,59,47,.7); cursor: grab; }
.hz-est__tool input[type=range]::-moz-range-thumb { width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 2px solid var(--red); cursor: grab; }

/* ======================================================= 12 · ATLAS (live 3D Dubai) */
.at-hero { position: relative; height: 100svh; min-height: 640px; overflow: hidden; background: radial-gradient(1100px 600px at 75% 30%, #fff 0%, rgba(255,255,255,0) 70%), radial-gradient(900px 500px at 100% 0%, #ffe8e4 0%, rgba(255,232,228,0) 60%), linear-gradient(180deg, #f9f8f5, #f2efe8); }
.at-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; touch-action: pan-y; cursor: grab; opacity: 0; transition: opacity 1.2s ease; }
.at-hero.is-ready .at-canvas { opacity: 1; }
.at-canvas.is-drag { cursor: grabbing; }
.at-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.at-ui { position: relative; z-index: 3; height: 100%; display: grid; grid-template-columns: 1fr auto; grid-template-rows: 1fr auto; padding-top: calc(var(--hdr) + 70px); padding-bottom: 34px; pointer-events: none; }
.at-ui > * { pointer-events: auto; }
.at-copy { align-self: start; max-width: 560px; }
.at-h1 { font-size: clamp(48px, 7vw, 108px); line-height: .92; letter-spacing: -.06em; font-weight: 800; margin: 0 0 20px; }
.at-h1 em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.02em; color: var(--red); }
.at-sub { font-size: 17px; line-height: 1.55; color: var(--ink-2); max-width: 440px; margin: 0 0 22px; }
.at-legend { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: rgba(255,255,255,.8); border: 1px solid var(--line); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 14px 30px -20px rgba(13,13,15,.4); }
.at-legend button { display: inline-flex; align-items: center; gap: 8px; border: 0; background: none; padding: 9px 14px; border-radius: 999px; font-weight: 700; font-size: 13px; color: var(--ink-2); }
.at-legend button b { color: var(--muted); font-weight: 700; }
.at-legend button.is-on { background: var(--ink); color: #fff; }
.at-legend button.is-on b { color: rgba(255,255,255,.6); }
.at-sw { width: 10px; height: 10px; border-radius: 3px; }
.at-sw--sale { background: #23232a; box-shadow: 0 0 0 1px rgba(255,255,255,.5); }
.at-sw--rent { background: var(--red); }
.at-panel { grid-column: 2; grid-row: 1; align-self: start; width: 320px; margin-top: 10px; background: rgba(255,255,255,.88); backdrop-filter: blur(18px) saturate(1.3); -webkit-backdrop-filter: blur(18px) saturate(1.3); border: 1px solid rgba(255,255,255,.9); border-radius: 24px; padding: 22px; box-shadow: 0 30px 70px -30px rgba(13,13,15,.45); position: relative; animation: lxIn .5s var(--ease); }
.at-panel h2 { margin: 0 0 14px; font-size: 26px; letter-spacing: -.03em; line-height: 1.05; }
.at-panel__x { position: absolute; right: 12px; top: 12px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: var(--soft); font-size: 18px; }
.at-panel__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 16px; }
.at-panel__stats dt { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.at-panel__stats dd { margin: 2px 0 0; font-size: 19px; font-weight: 800; letter-spacing: -.02em; }
.at-panel__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.at-ask { grid-column: 1 / -1; grid-row: 2; width: 100%; max-width: 720px; justify-self: center; background: rgba(255,255,255,.94); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.at-labels { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.at-lab { position: absolute; left: 0; top: 0; pointer-events: auto; display: inline-flex; align-items: center; gap: 8px; padding: 6px 6px 6px 12px; border-radius: 999px; border: 1px solid rgba(13,13,15,.08); background: rgba(255,255,255,.86); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); font-size: 12px; font-weight: 800; color: var(--ink); white-space: nowrap; box-shadow: 0 10px 24px -14px rgba(13,13,15,.5); transition: opacity .3s, background .25s, color .25s; }
.at-lab::after { content: ""; position: absolute; left: 50%; bottom: -7px; width: 1px; height: 7px; background: rgba(13,13,15,.3); }
.at-lab b { min-width: 24px; height: 24px; padding: 0 6px; display: inline-grid; place-items: center; border-radius: 999px; background: var(--soft); font-size: 11px; }
.at-lab:hover, .at-lab.is-on { background: var(--ink); color: #fff; }
.at-lab:hover b, .at-lab.is-on b { background: var(--red); color: #fff; }
.at-tip { position: fixed; left: 0; top: 0; z-index: 70; display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: center; width: 270px; padding: 8px; border-radius: 16px; background: #fff; box-shadow: 0 24px 50px -20px rgba(13,13,15,.5); pointer-events: none; }
.at-tip img { width: 72px; height: 72px; object-fit: cover; border-radius: 10px; background: var(--soft); }
.at-tip b { display: block; font-size: 17px; letter-spacing: -.02em; }
.at-tip span { display: block; font-size: 13px; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.at-tip small { color: var(--muted); font-size: 12px; }
.at-hint { position: absolute; z-index: 3; right: var(--gut); bottom: 44px; margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); transition: opacity .6s; }
.at-hint.is-off { opacity: 0; }
@media (max-width: 900px) {
  .at-ui { grid-template-columns: 1fr; padding-top: calc(var(--hdr) + 24px); }
  .at-panel { grid-column: 1; grid-row: 2; width: auto; align-self: end; margin: 0 0 12px; }
  .at-ask { grid-row: 3; }
  .at-sub { font-size: 15px; }
  .at-hint { display: none; }
  .at-lab span { display: none; }
  .at-lab { padding: 4px; }
}
@media (max-width: 600px) { .at-legend button { padding: 8px 10px; font-size: 12px; } .at-h1 { font-size: 46px; } }
.at-poster[hidden], .at-tip[hidden], .at-panel[hidden] { display: none; }

/* ======================================================= 13 · PRESTIGE II */
.pp-hero { position: relative; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; isolation: isolate; overflow: hidden; background: #fff; }
.pp-frame { position: absolute; inset: 0; z-index: -1; overflow: hidden; clip-path: inset(0 0 0 0 round 0px); will-change: clip-path; }
.pp-frame .lx-hero__media::after { background: radial-gradient(120% 90% at 30% 40%, rgba(8,8,10,.15), rgba(8,8,10,.6) 70%), linear-gradient(0deg, rgba(8,8,10,.85), rgba(8,8,10,0) 50%), linear-gradient(90deg, rgba(8,8,10,.55), rgba(8,8,10,0) 60%); }
.pp-grain { position: absolute; inset: -50%; z-index: 1; pointer-events: none; opacity: .09; mix-blend-mode: overlay; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); animation: ppGrain 1s steps(6) infinite; }
@keyframes ppGrain { 0% { transform: translate(0, 0); } 20% { transform: translate(-4%, 3%); } 40% { transform: translate(3%, -2%); } 60% { transform: translate(-2%, -4%); } 80% { transform: translate(4%, 2%); } 100% { transform: translate(0, 0); } }
.pp-in { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(28px, 4vw, 72px); align-items: end; padding-top: calc(var(--hdr) + 80px); padding-bottom: 130px; }
.pp-h1 { font-size: clamp(46px, 6.8vw, 110px); line-height: .92; letter-spacing: -.055em; font-weight: 800; margin: 0 0 24px; }
.pp-h1 em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.015em; color: #fff; }
.pp-h1 em::after { content: "."; color: var(--red); }
.pp-cta { display: flex; flex-wrap: wrap; gap: 10px; }
.pp-card { background: #fff; color: var(--ink); border-radius: 28px; padding: 12px; box-shadow: 0 60px 120px -40px rgba(0,0,0,.8); }
.pp-card__live { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 8px 12px; font-size: 13px; font-weight: 700; color: var(--ink-2); }
.pp-card__live > span:last-child { display: inline-flex; align-items: center; gap: 8px; }
.pp-faces { display: flex; }
.pp-faces img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; object-position: top; border: 2px solid #fff; margin-left: -8px; background: var(--soft); }
.pp-faces img:first-child { margin-left: 0; }
.pp-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 4px; border-radius: 18px; background: var(--soft); margin-bottom: 6px; }
.pp-tabs button { border: 0; background: none; padding: 12px; border-radius: 14px; font-weight: 800; font-size: 14px; color: var(--muted); transition: background .25s, color .25s; }
.pp-tabs button[aria-selected="true"] { background: var(--ink); color: #fff; }
.pp-card .search--lx .search__row { grid-template-columns: 1fr 1fr; }
.pp-card .search--lx .search__f { border-right: 0; border-bottom: 1px solid var(--line); }
.pp-card .search--lx .search__f--q { grid-column: 1 / -1; }
.pp-card .search--lx .search__go { grid-column: 1 / -1; min-height: 56px; margin-top: 8px; }
.pp-card__lead { margin: 4px 4px 2px; font-size: 14px; color: var(--ink-2); }
.pp-card__foot { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px 4px 4px; }
.pp-card__foot a { display: flex; align-items: center; justify-content: center; height: 46px; border-radius: 14px; font-weight: 800; font-size: 14px; }
.pp-wa { background: #e9f9ef; color: #128c4a; }
.pp-wa:hover { background: #25d366; color: #fff; }
.pp-tel { background: var(--soft); }
.pp-tel:hover { background: var(--ink); color: #fff; }
.pp-tick { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 16px; padding: 14px var(--gut); background: linear-gradient(0deg, rgba(8,8,10,.6), rgba(8,8,10,.25)); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-top: 1px solid rgba(255,255,255,.12); }
.pp-tick__k { flex: none; display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.pp-tick__k i { width: 8px; height: 8px; border-radius: 50%; background: var(--red); animation: lxPulse 2s infinite; box-shadow: 0 0 0 0 rgba(244,59,47,.6); }
.pp-tick__vp { overflow: hidden; flex: 1; mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.pp-tick__row { display: flex; gap: 10px; width: max-content; animation: ppTick 60s linear infinite; }
.pp-tick:hover .pp-tick__row { animation-play-state: paused; }
@keyframes ppTick { to { transform: translateX(-50%); } }
.pp-tick__i { display: flex; align-items: center; gap: 10px; padding: 5px 14px 5px 5px; border-radius: 12px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); transition: background .2s; }
.pp-tick__i:hover { background: rgba(255,255,255,.22); }
.pp-tick__i img { width: 54px; height: 40px; border-radius: 8px; object-fit: cover; }
.pp-tick__i b { display: block; font-size: 14px; }
.pp-tick__i small { display: block; font-size: 12px; color: rgba(255,255,255,.7); white-space: nowrap; }

.pp-spot { padding: clamp(72px, 10vw, 140px) 0 0; }
.pp-spot__in { display: grid; grid-template-columns: 1.25fr 1fr; gap: clamp(28px, 5vw, 80px); align-items: center; }
.pp-spot__main { border-radius: 28px; overflow: hidden; aspect-ratio: 16 / 11; }
.pp-spot__main img { width: 100%; height: 115%; object-fit: cover; }
.pp-spot__thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 10px; }
.pp-spot__thumbs img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
.pp-spot__loc { color: var(--muted); font-weight: 700; margin: 14px 0 0; }
.pp-spot__price { font-size: clamp(30px, 3.2vw, 46px); font-weight: 800; letter-spacing: -.04em; margin: 18px 0; }
.pp-spot__facts { list-style: none; padding: 0; margin: 0 0 26px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border-top: 1px solid var(--line); }
.pp-spot__facts li { padding: 14px 0; border-bottom: 1px solid var(--line); }
.pp-spot__facts b { display: block; font-size: 19px; letter-spacing: -.02em; }
.pp-spot__facts span { font-size: 13px; color: var(--muted); }
.pp-spot__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.pp-spot__agent { display: flex; align-items: center; gap: 10px; margin: 20px 0 0; font-size: 14px; color: var(--ink-2); }
.pp-spot__agent img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; object-position: top; }
@media (max-width: 1100px) {
  .pp-in, .pp-spot__in { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .pp-in { padding-top: calc(var(--hdr) + 40px); padding-bottom: 110px; gap: 22px; }
  .pp-cta .btn--lg { height: 52px; padding: 0 20px; font-size: 15px; }
  .pp-cta { display: none; }
  .pp-tick { padding: 10px 12px; }
  .pp-tick__k { display: none; }
}
@media (prefers-reduced-motion: reduce) { .pp-grain, .pp-tick__row { animation: none; } }

/* properties of the week */
.potw__note { max-width: 340px; color: var(--muted); font-size: 15px; margin: 0; }
.potw__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.potw__i { border-radius: 26px; overflow: hidden; background: #fff; border: 1px solid var(--line); display: flex; flex-direction: column; transition: transform .5s var(--ease), box-shadow .5s; }
.potw__i:hover { transform: translateY(-6px); box-shadow: 0 40px 80px -40px rgba(13,13,15,.35); }
.potw__img { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.potw__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.potw__i:hover .potw__img img { transform: scale(1.06); }
.potw__n { position: absolute; left: 18px; bottom: 10px; font-family: var(--serif); font-style: italic; font-size: 64px; line-height: 1; color: #fff; text-shadow: 0 6px 30px rgba(0,0,0,.4); }
.potw__tag { position: absolute; top: 16px; left: 16px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: 6px 11px; border-radius: 999px; background: #fff; }
.potw__b { padding: 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.potw__loc { margin: 0; font-size: 13px; font-weight: 700; color: var(--muted); }
.potw__b h3 { margin: 0; font-size: 21px; letter-spacing: -.025em; line-height: 1.15; }
.potw__why { margin: 0; font-size: 14px; color: var(--red-d); font-weight: 700; }
.potw__price { margin: 6px 0 4px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.potw__price b { font-size: 24px; letter-spacing: -.03em; }
.potw__price span { color: var(--muted); font-size: 14px; font-weight: 600; }
.potw__btns { display: flex; gap: 8px; margin-top: auto; padding-top: 8px; }
@media (max-width: 960px) { .potw__grid { grid-template-columns: 1fr; } }

/* landing pages */
.ph__intro { max-width: 760px; font-size: 17px; color: var(--ink-2); margin: 10px 0 0; }
.chips { display: flex; gap: 8px; overflow-x: auto; padding: 16px 0 2px; scrollbar-width: none; }
.chips::-webkit-scrollbar { display: none; }
.chips a { flex: none; padding: 8px 14px; border-radius: 999px; background: var(--soft); font-size: 13px; font-weight: 700; color: var(--ink-2); transition: background .2s, color .2s; }
.chips a:hover { background: var(--ink); color: #fff; }
.chips--wrap { flex-wrap: wrap; overflow: visible; }
.seo-block { display: grid; gap: 32px; }
.prose { max-width: 780px; font-size: 17px; color: var(--ink-2); }
.prose h2 { font-size: 28px; letter-spacing: -.03em; color: var(--ink); margin: 1.4em 0 .4em; }
.prose h3 { font-size: 21px; color: var(--ink); margin: 1.2em 0 .3em; }
.prose a { color: var(--red-d); text-decoration: underline; text-underline-offset: 3px; }
.prose ul, .prose ol { padding-left: 1.2em; }
.prose table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 1em 0; }
.prose th, .prose td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.prose img { border-radius: 16px; margin: 1em 0; }
.kpis--light { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 12px 36px; }
.kpis--light dt { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.kpis--light dd { margin: 2px 0 0; font-size: 24px; font-weight: 800; letter-spacing: -.03em; }

/* off-plan */
.pgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.pcard { border: 1px solid var(--line); border-radius: 24px; overflow: hidden; background: #fff; display: flex; flex-direction: column; transition: transform .5s var(--ease), box-shadow .5s; }
.pcard:hover { transform: translateY(-4px); box-shadow: 0 30px 60px -30px rgba(13,13,15,.3); }
.pcard__img { position: relative; aspect-ratio: 16 / 10; background: var(--soft); overflow: hidden; display: block; }
.pcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.pcard:hover .pcard__img img { transform: scale(1.05); }
.pcard__tags { position: absolute; top: 14px; left: 14px; display: flex; gap: 6px; flex-wrap: wrap; }
.pcard__b { padding: 20px; display: grid; gap: 10px; }
.pcard__dev { margin: 0; font-size: 13px; font-weight: 700; color: var(--muted); }
.pcard__b h3 { margin: 0; font-size: 22px; letter-spacing: -.03em; }
.pcard__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 4px 0 0; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pcard__facts dt { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.pcard__facts dd { margin: 2px 0 0; font-weight: 800; font-size: 15px; }
.pcard__meta { margin: 0; font-size: 13px; color: var(--muted); }
.pj-hero { padding-top: 28px; }
.pj-hero .h1 { margin: 6px 0 10px; }
.pj-hero__top { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin: 10px 0 24px; }
.pj-hero__cta { display: flex; gap: 10px; flex-wrap: wrap; }
.pj-grid { display: grid; grid-template-columns: 1fr 380px; gap: 48px; align-items: start; }
.pj-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; margin: 0; }
.pj-facts > div { padding: 16px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pj-facts dt { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.pj-facts dd { margin: 4px 0 0; font-size: 18px; font-weight: 800; letter-spacing: -.02em; }
.pj-dev { margin-top: 32px; padding: 24px; border-radius: 20px; background: var(--soft); }
.pj-dev h3 { margin: 0 0 6px; }
.dgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.dcard { border: 1px solid var(--line); border-radius: 22px; padding: 24px; display: grid; gap: 8px; align-content: start; transition: border-color .2s, transform .3s var(--ease); }
.dcard:hover { border-color: var(--ink); transform: translateY(-3px); }
.dcard img { height: 40px; width: auto; object-fit: contain; }
.dcard__mono { width: 48px; height: 48px; border-radius: 14px; background: var(--ink); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 22px; }
.dcard h2 { margin: 6px 0 0; font-size: 21px; letter-spacing: -.02em; }
.dcard p { margin: 0; color: var(--ink-2); font-size: 15px; }
.dcard__n { margin-top: 6px; font-weight: 800; font-size: 14px; color: var(--red-d); }
@media (max-width: 1000px) { .pgrid, .dgrid { grid-template-columns: 1fr 1fr; } .pj-grid { grid-template-columns: 1fr; } .pj-facts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pgrid, .dgrid { grid-template-columns: 1fr; } }

/* hubs & CMS pages */
.hubgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.hubcard { border: 1px solid var(--line); border-radius: 22px; overflow: hidden; display: flex; flex-direction: column; transition: transform .4s var(--ease), border-color .2s; background: #fff; }
.hubcard:hover { transform: translateY(-3px); border-color: var(--ink); }
.hubcard img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.hubcard > div { padding: 22px; display: grid; gap: 8px; }
.hubcard h2 { margin: 0; font-size: 21px; letter-spacing: -.02em; line-height: 1.2; }
.hubcard p { margin: 0; color: var(--ink-2); font-size: 15px; }
.cms-grid { display: grid; grid-template-columns: 220px minmax(0, 1fr) 340px; gap: 48px; align-items: start; }
.cms-grid--plain { grid-template-columns: minmax(0, 1fr) 340px; }
.toc { position: sticky; top: calc(var(--hdr) + 20px); }
.toc nav { display: grid; gap: 2px; border-left: 2px solid var(--line); }
.toc a { padding: 6px 0 6px 14px; font-size: 14px; color: var(--ink-2); margin-left: -2px; border-left: 2px solid transparent; }
.toc a:hover { border-color: var(--red); color: var(--ink); }
.cms-side { position: sticky; top: calc(var(--hdr) + 20px); display: grid; gap: 18px; }
.cms-rel { display: grid; gap: 6px; }
.cms-rel a { font-weight: 700; font-size: 15px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.ph--hero { position: relative; color: #fff; isolation: isolate; padding-bottom: 40px; }
.ph--hero .ph__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.ph--hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8,8,10,.75), rgba(8,8,10,.25)); }
.ph--hero .ph__intro, .ph--hero .crumbs, .ph--hero .muted { color: rgba(255,255,255,.85); }
@media (max-width: 1100px) { .cms-grid, .cms-grid--plain { grid-template-columns: 1fr; } .toc, .cms-side { position: static; } .hubgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .hubgrid { grid-template-columns: 1fr; } }
.lead-grid { display: grid; gap: 24px; }
.lead-card { display: grid; grid-template-columns: 280px 1fr; gap: 28px; align-items: center; border: 1px solid var(--line); border-radius: 26px; overflow: hidden; }
.lead-card img { width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; }
.lead-card h2 { margin: 0; font-size: 30px; letter-spacing: -.03em; }
.lead-card > div { padding: 20px 28px 20px 0; }
.rev-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.smap { columns: 3 260px; column-gap: 40px; }
.smap > div { break-inside: avoid; margin-bottom: 28px; }
.smap h2 { font-size: 18px; margin: 0 0 8px; }
.smap ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; font-size: 14px; }
.smap a:hover { color: var(--red-d); }
@media (max-width: 900px) { .lead-card { grid-template-columns: 1fr; } .lead-card > div { padding: 0 22px 22px; } .rev-grid { grid-template-columns: 1fr; } }

/* mega menu */
.nav__dd--mega { position: static; }
.nav__mega { left: 50%; top: calc(var(--hdr) - 8px); transform: translate(-50%, 6px); width: min(1100px, calc(100vw - 48px)); display: grid; grid-template-columns: repeat(var(--cols), 1fr); gap: 8px 28px; padding: 26px 30px; border-radius: 22px; box-shadow: 0 40px 80px -30px rgba(13,13,15,.35), 0 0 0 1px rgba(13,13,15,.04); }

.nav__mega p { margin: 0 0 6px; padding: 0 12px; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.nav__mega > div { display: grid; align-content: start; }
.nav__mega a { padding: 7px 12px; font-size: 14px; font-weight: 600; }
.hdr__in { position: relative; }
.mnav__g summary { list-style: none; font-size: 26px; font-weight: 800; padding: 8px 0; cursor: pointer; }
.mnav__g summary::-webkit-details-marker { display: none; }
.mnav__g summary::after { content: " +"; color: var(--red); }
.mnav__g[open] summary::after { content: " −"; }
.mnav__g div { display: grid; padding: 0 0 10px 4px; }
.ftr__group a { color: inherit; }
.ftr__group a:hover { color: #fff; }
@media (max-width: 1320px) { .hdr__tel { display: none; } .nav__a { padding-left: 9px; padding-right: 9px; } }

/* tools */
.tool { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--line); border-radius: 28px; overflow: hidden; background: #fff; box-shadow: 0 30px 80px -50px rgba(13,13,15,.35); }
.tool__in { padding: 28px; display: grid; gap: 16px; align-content: start; }
.tool__in label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.tool__in label b { color: var(--red-d); }
.tool__in input:not([type=range]), .tool__in select { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 13px 14px; font-size: 16px; font-weight: 600; background: #fff; }
.tool__in input[type=range] { accent-color: var(--red); }
.tool__out { padding: 28px; background: var(--soft); display: grid; gap: 16px; align-content: start; }
.tool__big { background: var(--ink); color: #fff; border-radius: 20px; padding: 22px; display: grid; gap: 2px; }
.tool__big span { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; opacity: .65; }
.tool__big b { font-size: clamp(30px, 3.4vw, 44px); letter-spacing: -.04em; line-height: 1.1; }
.tool__big small { opacity: .7; }
.tool__out dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.tool__out dt { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.tool__out dd { margin: 2px 0 0; font-size: 19px; font-weight: 800; letter-spacing: -.02em; }
.tool__fine { font-size: 12px; color: var(--muted); margin: 0; }
.tool__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.tool__table td { padding: 9px 0; border-bottom: 1px solid var(--line); }
.tool__table td:last-child { text-align: right; font-weight: 700; white-space: nowrap; }
.tool__table .tot td { font-weight: 800; font-size: 16px; border-bottom: 2px solid var(--ink); }
.quiz { display: block; padding: 28px; max-width: 760px; }
.quiz__bar { height: 4px; border-radius: 4px; background: var(--soft); overflow: hidden; margin-bottom: 22px; }
.quiz__bar i { display: block; height: 100%; width: 20%; background: var(--red); transition: width .4s var(--ease); }
.quiz__q { border: 0; padding: 0; margin: 0; display: none; gap: 14px; }
.quiz__q.is-on { display: grid; animation: lxIn .4s var(--ease); }
.quiz__q legend { font-size: clamp(24px, 2.6vw, 34px); font-weight: 800; letter-spacing: -.03em; margin-bottom: 14px; }
@media (max-width: 860px) { .tool { grid-template-columns: 1fr; } }

/* market */
.mtable { width: 100%; border-collapse: collapse; font-size: 15px; }
.mtable th { text-align: left; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding: 10px 12px; border-bottom: 2px solid var(--ink); white-space: nowrap; }
.mtable td { padding: 12px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.mtable td a { font-weight: 700; }
.mtable td a:hover { color: var(--red-d); }
.mtable td:nth-child(4) { width: 30%; }
.mbar { display: block; height: 8px; border-radius: 8px; background: var(--soft); min-width: 80px; }
.mbar i { display: block; height: 100%; border-radius: 8px; background: var(--red); }
.sec .wrap > .mtable, .mrep { overflow-x: auto; }
.mkpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 14px 0 34px; }
.mkpis > div { border: 1px solid var(--line); border-radius: 18px; padding: 18px; display: grid; gap: 2px; }
.mkpis span { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.mkpis b { font-size: 28px; letter-spacing: -.03em; }
.mkpis .up { color: #13804b; font-weight: 700; } .mkpis .dn { color: var(--red-d); font-weight: 700; }
.mrep h2 { font-size: 26px; letter-spacing: -.03em; margin: 10px 0 14px; }
.mrep__cta { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; margin: 28px 0; padding: 24px; border-radius: 22px; background: var(--soft); }
.mrep__cta h3 { margin: 0 0 4px; }
.at-embed .at-hero { height: 80vh; min-height: 560px; border-radius: 28px; }
.at-embed .at-ui { padding-top: 40px; }
@media (max-width: 760px) { .mkpis { grid-template-columns: 1fr 1fr; } .mtable { display: block; overflow-x: auto; } }
.tool__in [hidden], .tool [hidden] { display: none !important; }
.prefs__opts a { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 6px 12px; font-weight: 700; font-size: 13px; color: var(--ink); text-decoration: none; }
.prefs__opts a.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.prefs__lang { font-weight: 800; margin-right: 6px; padding-right: 6px; border-right: 1px solid currentColor; opacity: .9; }

/* ---------- Russian and Arabic ---------- */
html[lang="ru"] { --serif: "Instrument Serif", "Cormorant Garamond", Georgia, serif; }
html[lang="ar"] { --font: "IBM Plex Sans Arabic", "Manrope", system-ui, sans-serif; --serif: "Noto Naskh Arabic", "IBM Plex Sans Arabic", serif; }
html[lang="ar"] body { line-height: 1.75; }
html[lang="ar"] em, html[lang="ar"] i { font-style: normal; }
html[lang="ar"] h1, html[lang="ar"] h2, html[lang="ar"] h3, html[lang="ar"] .lx-h1, html[lang="ar"] .lx-h2, html[lang="ar"] .h1, html[lang="ar"] .h2 { letter-spacing: 0 !important; line-height: 1.3; }
html[lang="ar"] .eyebrow, html[lang="ar"] .nav__a, html[lang="ar"] .btn { letter-spacing: 0; text-transform: none; }
[dir="rtl"] { text-align: right; }
[dir="rtl"] .prose ul, [dir="rtl"] .prose ol { padding-right: 1.3em; padding-left: 0; }
[dir="rtl"] .arrow, [dir="rtl"] .btn svg:not(.nf), [dir="rtl"] [data-dir-flip] { transform: scaleX(-1); }
[dir="rtl"] input[type="tel"], [dir="rtl"] input[type="email"], [dir="rtl"] [data-aed], [dir="rtl"] .hdr__tel { direction: ltr; unicode-bidi: isolate; }
[dir="rtl"] .skip { left: auto; right: -999px; } [dir="rtl"] .skip:focus { right: 8px; }
.hdr__tel, .prefs__btn, .nav__a, .hdr__cta .btn { white-space: nowrap; } html[lang="ru"] .nav__a { font-size: 14px; }
.lx-pop__by { display: flex; align-items: center; gap: 10px; margin: 4px 0 14px; font-size: 13px; color: var(--muted); }
.lx-pop__by img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: top; }
.lx-pop__by b { display: block; color: var(--ink); font-size: 13px; }

/* ---------- Leadership ---------- */
.ldr-mission { padding: clamp(56px, 8vw, 110px) 0 clamp(24px, 4vw, 40px); }
.ldr-mission__in { max-width: 1100px; }
.ldr-mission__t { font-family: var(--serif); font-size: clamp(34px, 5.2vw, 72px); line-height: 1.04; letter-spacing: -.02em; margin: 14px 0 0; text-wrap: balance; }
.ldr { padding: clamp(40px, 6vw, 90px) 0; }
.ldr__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 6vw, 96px); align-items: center; }
.ldr--flip .ldr__ph { order: 2; }
.ldr__ph { margin: 0; position: relative; border-radius: 28px; overflow: hidden; background: linear-gradient(160deg, #ecebe8, #d9d7d2); aspect-ratio: 4 / 5; }
.ldr__ph img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.ldr__ph figcaption { position: absolute; left: 18px; right: 18px; bottom: 18px; background: rgba(255,255,255,.92); backdrop-filter: blur(8px); border-radius: 16px; padding: 14px 18px; display: flex; flex-direction: column; }
.ldr__ph figcaption b { font-size: 18px; } .ldr__ph figcaption span { color: var(--muted); font-size: 14px; }
.ldr__q { margin: 16px 0 26px; font-family: var(--serif); font-size: clamp(30px, 3.6vw, 52px); line-height: 1.08; letter-spacing: -.015em; position: relative; text-wrap: balance; }
.ldr__q span { color: var(--red); font-size: 1.5em; line-height: 0; vertical-align: -.35em; margin-right: 4px; }
.ldr__copy > p:not(.eyebrow):not(.ldr__who) { font-size: 18px; line-height: 1.7; color: #3b3b40; max-width: 60ch; }
.ldr__sign { display: block; height: 64px; width: auto; margin: 22px 0 4px; }
.ldr__who { margin: 6px 0 18px; color: var(--muted); }
.ldr-stats { background: var(--ink); color: #fff; }
.ldr-stats__in { display: grid; grid-template-columns: repeat(4, 1fr); }
.ldr-stats__in > div { padding: 40px 24px; border-left: 1px solid rgba(255,255,255,.12); }
.ldr-stats__in > div:first-child { border-left: 0; padding-left: 0; }
.ldr-stats b { display: block; font-size: clamp(32px, 4vw, 56px); letter-spacing: -.04em; line-height: 1; margin-bottom: 10px; font-variant-numeric: tabular-nums; }
.ldr-stats span { color: rgba(255,255,255,.65); font-size: 14px; }
.ldr-vals { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border-top: 1px solid var(--ink); }
.ldr-val { padding: 26px 22px 10px 0; border-right: 1px solid var(--line); }
.ldr-val:last-child { border-right: 0; }
.ldr-val + .ldr-val { padding-left: 22px; }
.ldr-val h3 { font-size: 20px; margin: 0 0 10px; letter-spacing: -.01em; }
.ldr-val p { margin: 0; color: var(--muted); line-height: 1.6; }
.ldr-stage { background: #0d0d0f; color: #fff; padding: clamp(56px, 8vw, 110px) 0; }
.ldr-stage__in { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px, 5vw, 80px); align-items: center; }
.ldr-stage__img { margin: 0; border-radius: 24px; overflow: hidden; position: relative; }
.ldr-stage__img img { width: 100%; display: block; }
.ldr-stage__img figcaption { position: absolute; left: 16px; bottom: 16px; font-size: 12px; background: rgba(0,0,0,.6); padding: 6px 10px; border-radius: 999px; }
.h2--light { color: #fff; } .h2--light em { color: var(--red); }
.ldr-press { list-style: none; padding: 0; margin: 26px 0 30px; display: grid; gap: 12px; }
.ldr-press li { display: flex; gap: 16px; align-items: center; padding: 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; }
.ldr-press img { width: 52px; height: 52px; border-radius: 12px; object-fit: contain; background: #fff; flex: none; }
.ldr-press span { display: flex; flex-direction: column; color: rgba(255,255,255,.6); font-size: 13px; }
.ldr-press b { color: #fff; font-size: 15px; font-weight: 600; }
.btn--ghost-light { border: 1px solid rgba(255,255,255,.4); color: #fff; background: transparent; }
.btn--ghost-light:hover { background: #fff; color: var(--ink); }
.ldr-team { position: relative; min-height: 560px; display: grid; align-items: end; color: #fff; overflow: hidden; }
.ldr-team > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ldr-team::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05) 30%, rgba(0,0,0,.78)); }
.ldr-team__in { position: relative; z-index: 1; padding-block: 56px; }
.ldr-team__in .h2 { max-width: 16ch; }
.ldr-team__btns { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
@media (max-width: 900px) {
  .ldr__in, .ldr-stage__in { grid-template-columns: 1fr; }
  .ldr--flip .ldr__ph { order: 0; }
  .ldr__ph { max-width: 460px; }
  .ldr-stats__in { grid-template-columns: 1fr 1fr; }
  .ldr-stats__in > div { border-left: 0; padding: 26px 0; border-top: 1px solid rgba(255,255,255,.12); }
  .ldr-vals { grid-template-columns: 1fr; }
  .ldr-val, .ldr-val + .ldr-val { border-right: 0; border-bottom: 1px solid var(--line); padding: 20px 0; }
  .ldr-team { min-height: 440px; }
}
[dir="rtl"] .ldr-stats__in > div { border-left: 0; border-right: 1px solid rgba(255,255,255,.12); }
.ldr-pressbar { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 26px 0; }
.ldr-pressbar__in { display: flex; flex-wrap: wrap; gap: 18px 34px; align-items: center; }
.ldr-pressbar__in .eyebrow { margin: 0; }
.ldr-pressbar a { display: flex; gap: 12px; align-items: center; color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 600; max-width: 260px; }
.ldr-pressbar img { width: 44px; height: 44px; border-radius: 10px; object-fit: contain; border: 1px solid var(--line); }
.ldr-pressbar__in { display: grid; grid-template-columns: auto repeat(4, minmax(0, 1fr)); gap: 18px 28px; }
@media (max-width: 900px) { .ldr-pressbar__in { grid-template-columns: 1fr 1fr; } .ldr-pressbar__in .eyebrow { grid-column: 1 / -1; } }
.aw-press { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.aw-press__i { display: flex; gap: 20px; align-items: center; padding: 22px; border: 1px solid var(--line); border-radius: 22px; }
.aw-press__i img { width: 72px; height: 72px; border-radius: 14px; object-fit: contain; border: 1px solid var(--line); flex: none; }
.aw-press__i h3 { margin: 0 0 4px; font-size: 19px; letter-spacing: -.01em; } .aw-press__i p { margin: 0; color: var(--muted); }
.aw-feat { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.aw-feat figure { margin: 0; border-radius: 22px; overflow: hidden; position: relative; background: #111; }
.aw-feat img { width: 100%; height: 100%; object-fit: cover; display: block; aspect-ratio: 16 / 10; }
.aw-feat figcaption { position: absolute; left: 14px; bottom: 14px; background: rgba(0,0,0,.65); color: #fff; font-size: 13px; padding: 6px 12px; border-radius: 999px; }
@media (max-width: 760px) { .aw-press, .aw-feat { grid-template-columns: 1fr; } }
/* Atlas on a real map (MapLibre) */
.at-map { position: absolute; inset: 0; opacity: 0; transition: opacity 1.2s ease; }
.at-hero.is-ready .at-map { opacity: 1; }
.at-map .maplibregl-canvas { outline: none; }
.at-map .maplibregl-ctrl-bottom-right { bottom: 84px; right: 12px; }
.at-map .maplibregl-ctrl-group { border-radius: 14px; overflow: hidden; box-shadow: 0 12px 30px -16px rgba(13,13,15,.5); }
.at-map .maplibregl-ctrl-attrib { font-size: 10px; background: rgba(255,255,255,.7); }
.at-map .maplibregl-marker .at-lab, .at-map .at-lab { position: relative; }
.at-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(246,244,239,.92) 0%, rgba(246,244,239,.55) 30%, rgba(246,244,239,0) 52%), linear-gradient(0deg, rgba(246,244,239,.85), rgba(246,244,239,0) 22%); }
.at-ui { z-index: 2; }
@media (max-width: 760px) { .at-hero::before { background: linear-gradient(180deg, rgba(246,244,239,.94) 0%, rgba(246,244,239,.6) 36%, rgba(246,244,239,0) 55%), linear-gradient(0deg, rgba(246,244,239,.9), rgba(246,244,239,0) 25%); } }
.at-hero .at-map { position: absolute; inset: 0; width: 100%; height: 100%; }
.at-embed .at-h1 { display: none; } .at-embed .at-sub { margin-top: 0; }
.at-embed .at-hint { display: none; }
.at-note { position: absolute; z-index: 4; right: 16px; top: 16px; margin: 0; padding: 8px 14px; border-radius: 999px; background: rgba(13,13,15,.82); color: #fff; font-size: 12px; font-weight: 600; }
.at-poster { object-fit: cover; object-position: center; }
/* Footer: © 2026 ∞ and forever */
.ftr__forever { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; }
.ftr__forever > span:first-child, .ftr__forever > span:nth-of-type(2) { font-weight: 700; color: #fff; letter-spacing: .02em; }
.ftr__legal { opacity: .7; margin-left: 6px; }
.ftr__inf { overflow: visible; }
.ftr__inf path { fill: none; stroke: rgba(255,255,255,.55); stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 2.4s cubic-bezier(.6,.1,.2,1); }
.ftr__inf circle { fill: var(--red); filter: drop-shadow(0 0 4px rgba(244,59,47,.9)); opacity: 0; transition: opacity .6s 2s; }
.ftr__forever.is-on .ftr__inf path { stroke-dashoffset: 0; }
.ftr__forever.is-on .ftr__inf circle { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .ftr__inf path { transition: none; stroke-dashoffset: 0; } .ftr__inf circle { display: none; } }

/* ---------- Meet the team ---------- */
.tm-hero { position: relative; background: #0d0d0f; color: #fff; overflow: hidden; padding: calc(var(--hdr) + 40px) 0 56px; }
.tm-hero__reel { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; gap: 14px; opacity: .32; transform: rotate(-6deg) scale(1.15); }
.tm-hero__row { display: flex; gap: 14px; width: max-content; animation: tmreel 70s linear infinite; }
.tm-hero__row:nth-child(2) { animation-direction: reverse; animation-duration: 85s; }
.tm-hero__row img { width: 150px; height: 200px; object-fit: cover; object-position: top; border-radius: 16px; filter: grayscale(1) contrast(1.05); }
@keyframes tmreel { to { transform: translateX(-50%); } }
.tm-hero::after { content: ""; position: absolute; inset: 0; background: radial-gradient(70% 90% at 20% 60%, rgba(13,13,15,.95), rgba(13,13,15,.55) 60%, rgba(13,13,15,.35)); }
.tm-hero__in { position: relative; z-index: 1; }
.crumbs--light, .crumbs--light a { color: rgba(255,255,255,.6); }
.tm-hero__h { font-size: clamp(44px, 7vw, 104px); line-height: .95; letter-spacing: -.045em; margin: 18px 0 18px; max-width: 12ch; }
.tm-hero__h em { font-family: var(--serif); font-weight: 400; color: var(--red); letter-spacing: -.02em; }
.tm-hero__p { font-size: 19px; color: rgba(255,255,255,.75); max-width: 46ch; margin: 0 0 34px; }
.tm-hero__stats { display: flex; flex-wrap: wrap; gap: 0; margin: 0; }
.tm-hero__stats div { padding: 4px 34px 4px 0; margin-right: 34px; border-right: 1px solid rgba(255,255,255,.15); }
.tm-hero__stats div:last-child { border: 0; }
.tm-hero__stats dt { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.tm-hero__stats dd { margin: 4px 0 0; font-size: 40px; font-weight: 700; letter-spacing: -.04em; }
.tm-bar { position: sticky; top: var(--hdr); z-index: 20; background: rgba(255,255,255,.92); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.tm-bar__in { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: center; padding-block: 14px; }
.tm-search { display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 999px; padding: 0 14px; height: 44px; background: #fff; flex: 0 1 240px; }
.tm-search input { border: 0; outline: 0; font: inherit; width: 100%; background: none; }
.tm-seg { display: inline-flex; background: var(--soft); border-radius: 999px; padding: 4px; }
.tm-seg button, .tm-langs button { border: 0; background: none; font: inherit; font-size: 14px; font-weight: 600; padding: 8px 14px; border-radius: 999px; cursor: pointer; color: var(--ink); white-space: nowrap; }
.tm-seg button.on { background: var(--ink); color: #fff; }
.tm-select select { height: 44px; border: 1px solid var(--line); border-radius: 999px; padding: 0 36px 0 16px; font: inherit; font-weight: 600; background: #fff; }
.tm-langs { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; flex: 1 1 100%; }
.tm-langs button { border: 1px solid var(--line); background: #fff; }
.tm-langs button b { color: var(--muted); font-weight: 600; margin-left: 4px; }
.tm-langs button.on { background: var(--ink); color: #fff; border-color: var(--ink); } .tm-langs button.on b { color: rgba(255,255,255,.6); }
.tm-count { color: var(--muted); font-weight: 600; margin: 0 0 18px; }
.tm-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px 22px; }
.tm-card[hidden] { display: none; }
.tm-card__ph { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 24px; overflow: hidden; background: linear-gradient(160deg, #eceae6, #d8d6d0); }
.tm-card__ph > img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform 1.1s var(--ease); }
.tm-card:hover .tm-card__ph > img { transform: scale(1.06); }
.tm-card__live { position: absolute; left: 12px; top: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.92); font-size: 12px; font-weight: 700; color: var(--ink); }
.tm-card__live i { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34,197,94,.6); animation: tmpulse 2s infinite; }
@keyframes tmpulse { 70% { box-shadow: 0 0 0 7px rgba(34,197,94,0); } 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); } }
.tm-card__langs { position: absolute; right: 12px; top: 12px; display: flex; gap: 4px; flex-wrap: wrap; justify-content: flex-end; max-width: 60%; }
.tm-card__langs b { font-size: 11px; font-weight: 800; padding: 5px 7px; border-radius: 8px; background: rgba(13,13,15,.72); color: #fff; letter-spacing: .04em; }
.tm-card__latest { position: absolute; left: 10px; right: 10px; bottom: 10px; display: flex; gap: 10px; align-items: center; padding: 8px; border-radius: 16px; background: rgba(255,255,255,.95); backdrop-filter: blur(8px); transform: translateY(calc(100% + 14px)); transition: transform .5s var(--ease); color: var(--ink); }
.tm-card:hover .tm-card__latest, .tm-card:focus-within .tm-card__latest { transform: none; }
.tm-card__latest img { width: 52px; height: 52px; border-radius: 10px; object-fit: cover; flex: none; }
.tm-card__latest span { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.tm-card__latest small { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }
.tm-card__latest b { font-size: 15px; } .tm-card__latest em { font-style: normal; font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tm-card__b { padding: 16px 4px 0; }
.tm-card__b h3 { margin: 0; font-size: 19px; letter-spacing: -.02em; } .tm-card__b h3 a { color: inherit; text-decoration: none; }
.tm-card__role { margin: 2px 0 0; color: var(--muted); font-size: 14px; }
.tm-card__areas { margin: 8px 0 14px; font-size: 13px; font-weight: 600; color: var(--ink-2, #3b3b40); }
.tm-card__btns { display: flex; gap: 8px; }
.tm-wa { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 42px; border-radius: 999px; background: var(--ink); color: #fff; font-weight: 700; font-size: 14px; text-decoration: none; transition: background .25s; }
.tm-wa:hover { background: #25d366; }
.tm-ic { width: 42px; height: 42px; flex: none; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line); color: var(--ink); transition: background .25s, color .25s; }
.tm-ic:hover { background: var(--ink); color: #fff; }
.tm-join { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 24px; overflow: hidden; color: #fff; text-decoration: none; }
.tm-join img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.tm-join:hover img { transform: scale(1.06); }
.tm-join::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.8)); }
.tm-join span { position: absolute; left: 20px; right: 20px; bottom: 20px; z-index: 1; display: flex; flex-direction: column; gap: 4px; }
.tm-join small { text-transform: uppercase; letter-spacing: .12em; font-size: 11px; color: var(--red); font-weight: 800; }
.tm-join b { font-size: 26px; letter-spacing: -.03em; line-height: 1.05; } .tm-join em { font-style: normal; font-weight: 700; }
.tm-empty { text-align: center; padding: 40px 0; } .tm-empty p { color: var(--muted); }
.tm-match { background: #0d0d0f; color: #fff; padding: clamp(56px, 8vw, 100px) 0; }
.tm-match__in { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 70px); align-items: center; }
.tm-match__p { color: rgba(255,255,255,.7); font-size: 17px; max-width: 44ch; }
.tm-match__f { display: grid; gap: 12px; margin-top: 24px; max-width: 460px; }
.tm-match__f label { display: grid; grid-template-columns: 120px 1fr; align-items: center; gap: 12px; color: rgba(255,255,255,.6); font-size: 14px; }
.tm-match__f select { height: 50px; border-radius: 14px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #fff; padding: 0 14px; font: inherit; font-weight: 600; }
.tm-match__f option { color: #000; }
.tm-mt { display: grid; grid-template-columns: 150px 1fr; gap: 22px; align-items: center; padding: 18px; border-radius: 26px; background: #fff; color: var(--ink); animation: tmin .5s var(--ease); }
@keyframes tmin { from { opacity: 0; transform: translateY(12px); } }
.tm-mt img { width: 150px; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; border-radius: 18px; }
.tm-mt small { color: var(--red); font-weight: 800; text-transform: uppercase; letter-spacing: .1em; font-size: 11px; }
.tm-mt h3 { margin: 6px 0 2px; font-size: 24px; letter-spacing: -.03em; }
.tm-mt p { margin: 0 0 14px; color: var(--muted); font-size: 14px; }
.tm-mt .tm-card__btns { max-width: 300px; }
.tm-life { padding: clamp(56px, 8vw, 100px) 0; overflow: hidden; }
.tm-life__strip { display: flex; gap: 16px; overflow-x: auto; padding: 0 var(--gut, 24px) 8px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.tm-life__strip figure { margin: 0; flex: 0 0 min(460px, 80vw); scroll-snap-align: start; position: relative; border-radius: 22px; overflow: hidden; }
.tm-life__strip img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.tm-life__strip figcaption { position: absolute; left: 14px; bottom: 14px; background: rgba(255,255,255,.92); padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; }
@media (max-width: 1100px) { .tm-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 800px) {
  .tm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 12px; }
  .tm-card__latest { display: none; }
  .tm-card__langs { display: none; }
  .tm-card__b h3 { font-size: 16px; } .tm-wa { font-size: 0; gap: 0; } .tm-wa svg { width: 18px; height: 18px; }
  .tm-ic { width: 40px; height: 40px; }
  .tm-hero__stats div { padding-right: 18px; margin-right: 18px; } .tm-hero__stats dd { font-size: 30px; }
  .tm-match__in { grid-template-columns: 1fr; }
  .tm-match__f label { grid-template-columns: 1fr; gap: 6px; }
  .tm-mt { grid-template-columns: 110px 1fr; } .tm-mt img { width: 110px; }
  .tm-bar { position: static; }
  .tm-search { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { .tm-hero__row { animation: none; } }

/* ---------- About ---------- */
.ab-hero { position: relative; min-height: min(86vh, 820px); display: grid; align-items: end; color: #fff; overflow: hidden; }
.ab-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: abzoom 18s ease-out both; }
@keyframes abzoom { from { transform: scale(1.12); } }
.ab-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.15) 35%, rgba(0,0,0,.85) 100%); }
.ab-hero__in { position: relative; z-index: 1; padding-block: calc(var(--hdr) + 40px) 64px; }
.ab-hero__h { font-size: clamp(42px, 6.6vw, 100px); line-height: .95; letter-spacing: -.045em; margin: 14px 0 20px; max-width: 14ch; }
.ab-hero__h em { font-family: var(--serif); font-weight: 400; color: #fff; letter-spacing: -.02em; }
.ab-hero__p { font-size: 18px; color: rgba(255,255,255,.82); max-width: 56ch; margin: 0; }
.ab-story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 6vw, 96px); align-items: center; }
.ab-story__img { position: relative; padding: 0 12% 14% 0; }
.ab-story__img img { width: 100%; border-radius: 26px; display: block; aspect-ratio: 4 / 3; object-fit: cover; }
.ab-story__img .ab-story__img2 { position: absolute; right: 0; bottom: 0; width: 46%; aspect-ratio: 1; border: 8px solid #fff; border-radius: 22px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.4); }
.ab-story .prose p { font-size: 17px; }
.ab-mission { margin: 28px 0 0; padding: 22px 0 0; border-top: 1px solid var(--line); font-family: var(--serif); font-size: clamp(24px, 2.4vw, 34px); line-height: 1.15; }
.ab-mission span { display: block; font-family: var(--font); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--red); font-weight: 800; margin-bottom: 8px; }
.ab-journey { background: #0d0d0f; color: #fff; padding: clamp(56px, 8vw, 100px) 0; overflow: hidden; }
.link-arrow--light { color: #fff; }
.ab-journey__rail { display: grid; grid-auto-flow: column; grid-auto-columns: min(330px, 78vw); gap: 16px; overflow-x: auto; padding: 0 var(--gut, 24px) 10px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ab-step { position: relative; aspect-ratio: 3 / 4; border-radius: 24px; overflow: hidden; color: #fff; text-decoration: none; scroll-snap-align: start; }
.ab-step img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.ab-step:hover img { transform: scale(1.07); }
.ab-step::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,0) 30%, rgba(0,0,0,.85)); }
.ab-step__n { position: absolute; z-index: 1; left: 20px; top: 18px; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ab-step__b { position: absolute; z-index: 1; left: 20px; right: 20px; bottom: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: rgba(255,255,255,.8); line-height: 1.45; }
.ab-step__b b { font-size: 22px; color: #fff; letter-spacing: -.02em; }
.ab-areas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ab-area { position: relative; aspect-ratio: 16 / 11; border-radius: 22px; overflow: hidden; color: #fff; text-decoration: none; }
.ab-area img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.ab-area:hover img { transform: scale(1.06); }
.ab-area::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.75)); }
.ab-area span { position: absolute; z-index: 1; left: 18px; bottom: 16px; display: flex; flex-direction: column; }
.ab-area b { font-size: 22px; letter-spacing: -.02em; } .ab-area small { color: rgba(255,255,255,.8); }
.ab-people { padding: clamp(56px, 8vw, 100px) 0; background: var(--soft); }
.ab-people__in { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(28px, 5vw, 80px); align-items: center; }
.ab-people__p { font-size: 17px; color: #3b3b40; max-width: 50ch; }
.ab-people__btns { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.ab-faces { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.ab-faces img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; border-radius: 16px; background: #ddd; transition: transform .6s var(--ease); }
.ab-faces img:nth-child(odd) { transform: translateY(14px); }
.ab-faces:hover img { transform: none; }
.ab-visit { position: relative; color: #fff; overflow: hidden; }
.ab-visit > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ab-visit::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.85), rgba(0,0,0,.35)); }
.ab-visit__in { position: relative; z-index: 1; padding-block: clamp(70px, 10vw, 130px); }
.ab-visit__addr { font-size: 18px; color: rgba(255,255,255,.8); }
@media (max-width: 900px) {
  .ab-story, .ab-people__in { grid-template-columns: 1fr; }
  .ab-areas { grid-template-columns: 1fr 1fr; }
  .ab-faces { grid-template-columns: repeat(4, 1fr); gap: 6px; }
}
@media (max-width: 560px) { .ab-areas { grid-template-columns: 1fr; } }
/* team: careers band + 3-match finder */
.tm-careers { position: relative; color: #fff; overflow: hidden; margin-top: clamp(30px, 5vw, 60px); }
.tm-careers > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.tm-careers::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,13,15,.92) 0%, rgba(13,13,15,.7) 45%, rgba(13,13,15,.15) 100%); }
.tm-careers__in { position: relative; z-index: 1; padding-block: clamp(80px, 11vw, 150px); } .tm-careers__in > * { max-width: 620px; }
.tm-careers__h { font-size: clamp(44px, 6vw, 88px); line-height: .95; letter-spacing: -.045em; margin: 12px 0 18px; }
.tm-careers__h em { font-family: var(--serif); font-weight: 400; color: var(--red); letter-spacing: -.02em; }
.tm-careers p { font-size: 18px; color: rgba(255,255,255,.8); max-width: 44ch; }
.tm-careers__btns { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.tm-match__res { display: grid; gap: 12px; }
.tm-mt-h { margin: 0 0 2px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--red); }
.tm-mt { grid-template-columns: 72px 1fr auto; gap: 16px; padding: 12px 14px 12px 12px; border-radius: 20px; animation: tmin .5s var(--ease) both; }
.tm-mt img { width: 72px; height: 72px; aspect-ratio: auto; border-radius: 14px; }
.tm-mt h3 { margin: 0; font-size: 18px; } .tm-mt p { margin: 2px 0 0; font-size: 13px; line-height: 1.45; }
.tm-mt__btns { display: flex; gap: 8px; } .tm-mt__btns .tm-wa { padding: 0 16px; flex: none; }
.tm-mt-empty { border: 1px dashed rgba(255,255,255,.25); border-radius: 24px; padding: 30px; text-align: center; color: rgba(255,255,255,.7); }
.tm-mt-empty b { color: #fff; display: block; font-size: 18px; margin-bottom: 4px; }
.tm-mt-faces { display: flex; justify-content: center; margin-bottom: 16px; }
.tm-mt-faces img { width: 54px; height: 54px; border-radius: 50%; object-fit: cover; object-position: top; border: 3px solid #0d0d0f; margin-left: -12px; }
.tm-mt-faces img:first-child { margin-left: 0; }
@media (max-width: 800px) { .tm-mt { grid-template-columns: 60px 1fr; } .tm-mt img { width: 60px; height: 60px; } .tm-mt__btns { grid-column: 1 / -1; } .tm-mt__btns .tm-wa { flex: 1; font-size: 14px; } }
.ab-hero > img { animation-duration: 7s; }
.ab-ticker { overflow: hidden; border-bottom: 1px solid var(--line); background: #fff; padding: 18px 0; }
.ab-ticker__t { display: flex; align-items: center; gap: 28px; width: max-content; animation: tmreel 40s linear infinite; }
.ab-ticker span { font-size: clamp(20px, 2.2vw, 30px); font-weight: 700; letter-spacing: -.03em; white-space: nowrap; }
.ab-ticker span:nth-of-type(3n+2) { font-family: var(--serif); font-weight: 400; font-style: italic; color: var(--red); }
.ab-ticker i { width: 8px; height: 8px; border-radius: 50%; background: var(--red); flex: none; }
.ab-wall { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; height: 620px; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent); }
.ab-wall__track { display: flex; flex-direction: column; gap: 12px; animation: abup 38s linear infinite; }
.ab-wall__col--down .ab-wall__track { animation-name: abdown; animation-duration: 44s; }
.ab-wall:hover .ab-wall__track { animation-play-state: paused; }
@keyframes abup { to { transform: translateY(-50%); } }
@keyframes abdown { from { transform: translateY(-50%); } to { transform: none; } }
.ab-wall figure { margin: 0; position: relative; border-radius: 18px; overflow: hidden; background: #ddd; }
.ab-wall img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; display: block; transition: transform .6s var(--ease); }
.ab-wall figure:hover img { transform: scale(1.05); }
.ab-wall figcaption { position: absolute; left: 8px; right: 8px; bottom: 8px; padding: 8px 10px; border-radius: 12px; background: rgba(255,255,255,.94); font-size: 11px; color: var(--muted); line-height: 1.3; opacity: 0; transform: translateY(8px); transition: .35s var(--ease); }
.ab-wall figcaption b { display: block; color: var(--ink); font-size: 13px; }
.ab-wall figure:hover figcaption { opacity: 1; transform: none; }
@media (max-width: 900px) { .ab-wall { height: 460px; gap: 8px; } .ab-wall__track { gap: 8px; } }
@media (prefers-reduced-motion: reduce) { .ab-wall__track, .ab-ticker__t { animation: none; } }
.ab-hero::after { background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.1) 100%), linear-gradient(180deg, rgba(0,0,0,.3), rgba(0,0,0,0) 30%, rgba(0,0,0,.6)); }
/* About: cozy layer */
.ab-hello { background: #faf7f2; border-bottom: 1px solid var(--line); padding: 26px 0 30px; overflow: hidden; text-align: center; }
.ab-hello__k { margin: 0 0 14px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 800; color: var(--red); }
.ab-hello__m { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.ab-hello__t { display: flex; gap: 46px; width: max-content; animation: tmreel 45s linear infinite; }
.ab-hello__t span { display: flex; flex-direction: column; align-items: center; font-family: var(--serif); font-size: clamp(30px, 3.4vw, 48px); line-height: 1.1; color: var(--ink); white-space: nowrap; }
.ab-hello__t span:nth-child(3n+2) { color: var(--red); font-style: italic; }
.ab-hello__t small { font-family: var(--font); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-style: normal; margin-top: 4px; }
.ab-voices { padding: clamp(56px, 8vw, 100px) 0; background: #faf7f2; }
.ab-voices__g { color: #f5a623; font-size: 18px; } .ab-voices__g b { color: var(--ink); font-size: 14px; margin-left: 6px; }
.ab-voices__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: start; }
.ab-voice { margin: 0; position: relative; background: #fff; border-radius: 24px; padding: 26px 24px 20px; box-shadow: 0 20px 40px -32px rgba(13,13,15,.35); }
.ab-voice--big { grid-row: span 2; background: var(--ink); color: #fff; }
.ab-voice__q { position: absolute; right: 20px; top: -6px; font-family: var(--serif); font-size: 90px; line-height: 1; color: var(--red); opacity: .9; }
.ab-voice blockquote { margin: 0 0 20px; font-size: 15px; line-height: 1.65; color: #3b3b40; }
.ab-voice--big blockquote { font-family: var(--serif); font-size: clamp(22px, 2vw, 28px); line-height: 1.3; color: #fff; }
.ab-voice figcaption { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ab-voice figcaption > span:nth-child(2) { display: flex; flex-direction: column; line-height: 1.3; } .ab-voice figcaption small { color: #f5a623; font-size: 12px; }
.ab-voice__av { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: #f1e9df; color: var(--ink); font-weight: 800; }
.ab-voice--big .ab-voice__av { background: rgba(255,255,255,.12); color: #fff; }
.ab-voice__adv { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; padding: 4px 12px 4px 4px; border-radius: 999px; background: var(--soft); color: var(--ink); text-decoration: none; font-size: 13px; font-weight: 700; }
.ab-voice--big .ab-voice__adv { background: rgba(255,255,255,.12); color: #fff; }
.ab-voice__adv img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; object-position: top; }
.ab-life { padding: clamp(56px, 8vw, 100px) 0; }
.ab-life__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; grid-template-rows: 260px 260px; gap: 14px; }
.ab-life__i { margin: 0; position: relative; border-radius: 22px; overflow: hidden; }
.ab-life__i img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.ab-life__i:hover img { transform: scale(1.05); }
.ab-life__i--a { grid-row: span 2; }
.ab-life__i figcaption { position: absolute; left: 12px; bottom: 12px; background: rgba(255,255,255,.92); padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; transform: rotate(-1.5deg); }
@media (max-width: 900px) {
  .ab-voices__grid { grid-template-columns: 1fr; } .ab-voice--big { grid-row: auto; }
  .ab-life__grid { grid-template-columns: 1fr 1fr; grid-template-rows: 220px 160px 160px; } .ab-life__i--a { grid-column: span 2; grid-row: auto; }
}
@media (prefers-reduced-motion: reduce) { .ab-hello__t { animation: none; flex-wrap: wrap; justify-content: center; width: auto; } }
.ldr__hon { list-style: none; padding: 0; margin: 22px 0 6px; display: grid; gap: 8px; }
.ldr__hon li { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; background: var(--soft); }
.ldr__hon li::before { content: ""; width: 26px; height: 26px; flex: none; border-radius: 50%; background: var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 17l-6.1 3.4 1.5-6.8L2.2 9l6.9-.7z'/%3E%3C/svg%3E") center / 14px no-repeat; }
.ldr__hon b { font-size: 15px; } .ldr__hon span { color: var(--muted); font-size: 13px; margin-left: auto; text-align: right; }
.ldr__btns { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.ldr-stats .wrap { padding-block: 36px; }
.ldr-stats__k { margin: 0 0 6px; }
.ldr-stats__in > div { padding: 18px 24px; }
.ldr-stats__in b { font-size: clamp(26px, 3vw, 44px); }
.ldr-next__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ldr-next__i { display: flex; flex-direction: column; gap: 10px; padding: 28px; border-radius: 24px; border: 1px solid var(--line); text-decoration: none; color: var(--ink); transition: background .3s, color .3s, transform .4s var(--ease); }
.ldr-next__i:hover { background: var(--ink); color: #fff; transform: translateY(-4px); }
.ldr-next__i span { font-family: var(--serif); font-size: 40px; color: var(--red); line-height: 1; }
.ldr-next__i h3 { margin: 6px 0 0; font-size: 24px; letter-spacing: -.02em; }
.ldr-next__i p { margin: 0; color: var(--muted); } .ldr-next__i:hover p { color: rgba(255,255,255,.7); }
.ldr-next__i em { font-style: normal; font-weight: 700; margin-top: auto; padding-top: 14px; }
@media (max-width: 900px) { .ldr-next__grid { grid-template-columns: 1fr; } .ldr__hon span { display: none; } }
.ldr-origin { padding: 0 0 clamp(30px, 5vw, 60px); }
.ldr-origin__line { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 28px; align-items: center; padding: 34px; border-radius: 28px; background: #faf7f2; }
.ldr-origin__pt span { font-family: var(--serif); font-size: clamp(40px, 5vw, 72px); line-height: 1; color: var(--ink); }
.ldr-origin__pt--now span { color: var(--red); }
.ldr-origin__pt b { display: block; font-size: 20px; margin: 8px 0 6px; letter-spacing: -.02em; }
.ldr-origin__pt p { margin: 0; color: var(--muted); font-size: 15px; }
.ldr-origin__bar { height: 4px; border-radius: 4px; background: #e8e2d8; position: relative; overflow: hidden; }
.ldr-origin__bar i { position: absolute; inset: 0; background: linear-gradient(90deg, var(--ink), var(--red)); transform-origin: left; transform: scaleX(0); transition: transform 2.2s cubic-bezier(.6,.1,.2,1) .3s; }
.ldr-origin__line[style*="opacity: 1"] .ldr-origin__bar i, .ldr-origin__line.is-in .ldr-origin__bar i { transform: none; }
@media (max-width: 800px) { .ldr-origin__line { grid-template-columns: 1fr; } .ldr-origin__bar { height: 40px; width: 4px; margin-left: 18px; } .ldr-origin__bar i { transform-origin: top; } }
/* press logo badge */
.pl { width: 44px; height: 44px; border-radius: 10px; object-fit: contain; background: #fff; border: 1px solid var(--line); flex: none; }
.pl--txt { display: inline-grid; place-items: center; font-weight: 900; font-size: 15px; letter-spacing: -.02em; color: #fff; background: #1b3a6b; border: 0; }
/* Leadership v3 */
.ldr-tl { padding: 0 0 clamp(30px, 5vw, 60px); }
.ldr-tl__list { list-style: none; margin: 16px 0 0; padding: 30px 0 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; position: relative; }
.ldr-tl__list::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--ink), var(--red)); }
.ldr-tl__list li { position: relative; }
.ldr-tl__list li::before { content: ""; position: absolute; top: -37px; left: 0; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 3px solid var(--ink); }
.ldr-tl__list li.is-now::before { border-color: var(--red); background: var(--red); box-shadow: 0 0 0 6px rgba(244,59,47,.18); }
.ldr-tl__when { font-family: var(--serif); font-size: 30px; line-height: 1; display: block; }
.ldr-tl__list li.is-now .ldr-tl__when { color: var(--red); }
.ldr-tl__list b { display: block; margin: 10px 0 6px; font-size: 16px; letter-spacing: -.01em; }
.ldr-tl__list p { margin: 0; font-size: 14px; color: var(--muted); line-height: 1.5; }
.ldr__bio { font-size: 18px !important; color: var(--ink) !important; font-weight: 500; }
.ldr-news { background: #0d0d0f; color: #fff; padding: clamp(56px, 8vw, 100px) 0; }
.ldr-news__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ldr-news__i { display: flex; flex-direction: column; gap: 14px; padding: 22px; border-radius: 22px; border: 1px solid rgba(255,255,255,.12); color: #fff; text-decoration: none; transition: background .3s, border-color .3s, transform .4s var(--ease); }
.ldr-news__i:hover { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.3); transform: translateY(-3px); }
.ldr-news__i--lead { grid-row: span 2; background: var(--red); border-color: var(--red); }
.ldr-news__i--lead:hover { background: #e2342a; }
.ldr-news__i--lead h3 { font-size: clamp(26px, 2.6vw, 38px); }
.ldr-news__src { display: flex; align-items: center; gap: 10px; }
.ldr-news__src > span { display: flex; flex-direction: column; font-size: 12px; color: rgba(255,255,255,.65); } .ldr-news__src b { color: #fff; font-size: 14px; }
.ldr-news__i h3 { margin: 0; font-size: 19px; line-height: 1.25; letter-spacing: -.02em; }
.ldr-news__i em { font-style: normal; font-weight: 700; font-size: 14px; margin-top: auto; opacity: .85; }
.ldr-stats__in > div, .ldr-stats__in > div:first-child { padding: 18px 28px; border-left: 1px solid rgba(255,255,255,.12); }
.ldr-stats__in > div:first-child { border-left: 0; padding-left: 0; }
.ldr-prom { padding: clamp(56px, 8vw, 100px) 0; background: #faf7f2; }
.ldr-prom__in { display: grid; grid-template-columns: 1fr 1.25fr; gap: clamp(28px, 6vw, 90px); align-items: start; }
.ldr-prom__side { position: sticky; top: calc(var(--hdr) + 24px); }
.ldr-prom__side p { color: var(--muted); font-size: 17px; max-width: 40ch; }
.ldr-prom__side img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 22px; margin-top: 16px; }
.ldr-prom__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ldr-prom__list li { display: flex; gap: 18px; align-items: flex-start; padding: 24px; background: #fff; border-radius: 22px; box-shadow: 0 20px 40px -34px rgba(13,13,15,.4); transition: transform .4s var(--ease), box-shadow .4s; }
.ldr-prom__list li:hover { transform: translateX(6px); box-shadow: 0 26px 50px -30px rgba(13,13,15,.45); }
.ldr-prom__ic { width: 48px; height: 48px; flex: none; border-radius: 14px; display: grid; place-items: center; background: rgba(244,59,47,.1); color: var(--red); }
.ldr-prom__list h3 { margin: 2px 0 6px; font-size: 20px; letter-spacing: -.02em; } .ldr-prom__list p { margin: 0; color: var(--muted); line-height: 1.6; }
.ldr__hon--big { max-width: 820px; } .ldr__hon--big li { padding: 18px 20px; } .ldr__hon--big b { font-size: 18px; }
a.aw-press__i { color: inherit; text-decoration: none; transition: border-color .3s, transform .3s; } a.aw-press__i:hover { border-color: var(--ink); transform: translateY(-2px); }
.aw-press__i .pl { width: 72px; height: 72px; border-radius: 14px; font-size: 20px; }
.aw-feat { grid-template-columns: 1fr; max-width: 760px; }
.ldr-pressbar__in { grid-template-columns: auto repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px) { .ldr-tl__list { grid-template-columns: repeat(3, 1fr); row-gap: 40px; } .ldr-tl__list::before { display: none; } .ldr-tl__list li::before { top: -22px; } }
@media (max-width: 900px) {
  .ldr-news__grid { grid-template-columns: 1fr; } .ldr-news__i--lead { grid-row: auto; }
  .ldr-prom__in { grid-template-columns: 1fr; } .ldr-prom__side { position: static; }
  .ldr-tl__list { grid-template-columns: 1fr 1fr; }
  .ldr-stats__in > div, .ldr-stats__in > div:first-child { border-left: 0; padding: 18px 0; }
}
/* ---------- Client reviews ---------- */
.rv-top { padding: 10px 0 clamp(40px, 6vw, 70px); }
.rv-top__in { display: grid; grid-template-columns: 340px 1fr; gap: clamp(24px, 4vw, 56px); align-items: stretch; }
.rv-score { background: #faf7f2; border-radius: 28px; padding: 32px; display: flex; flex-direction: column; justify-content: center; }
.rv-score > b { font-size: clamp(72px, 8vw, 112px); line-height: .9; letter-spacing: -.06em; }
.rv-stars { position: relative; display: inline-block; font-size: 30px; letter-spacing: 4px; color: #e5ded2; margin: 10px 0 6px; width: max-content; }
.rv-stars::after { content: "★★★★★"; position: absolute; left: 0; top: 0; width: 0; overflow: hidden; color: #f5a623; white-space: nowrap; animation: rvfill 1.4s .3s cubic-bezier(.6,.1,.2,1) forwards; }
@keyframes rvfill { to { width: var(--r); } }
.rv-score small { color: var(--muted); font-size: 14px; }
.rv-score__btns { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.rv-spot { position: relative; background: var(--ink); color: #fff; border-radius: 28px; padding: clamp(28px, 4vw, 48px); min-height: 380px; overflow: hidden; }
.rv-spot::before { content: "“"; position: absolute; right: 30px; top: -30px; font-family: var(--serif); font-size: 260px; line-height: 1; color: var(--red); opacity: .9; }
.rv-spot__i { position: absolute; inset: clamp(28px, 4vw, 48px); margin: 0; display: flex; flex-direction: column; justify-content: space-between; opacity: 0; transform: translateY(14px); transition: opacity .7s, transform .7s var(--ease); pointer-events: none; }
.rv-spot__i.is-on { opacity: 1; transform: none; pointer-events: auto; }
.rv-spot blockquote { margin: 0; font-family: var(--serif); font-size: clamp(20px, 2.1vw, 30px); line-height: 1.28; max-width: 34ch; position: relative; }
.rv-spot figcaption { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-bottom: 26px; }
.rv-spot figcaption > span:nth-child(2) { display: flex; flex-direction: column; } .rv-spot small { color: #f5a623; }
.rv-spot .rv-av { background: rgba(255,255,255,.12); color: #fff; }
.rv-spot .rv-chip { background: rgba(255,255,255,.12); color: #fff; }
.rv-spot__dots { position: absolute; left: clamp(28px, 4vw, 48px); bottom: 22px; display: flex; gap: 6px; }
.rv-spot__dots button { width: 22px; height: 4px; border: 0; border-radius: 4px; background: rgba(255,255,255,.25); cursor: pointer; padding: 0; transition: width .3s, background .3s; }
.rv-spot__dots button.is-on { width: 44px; background: var(--red); }
.rv-av { width: 42px; height: 42px; flex: none; border-radius: 50%; display: grid; place-items: center; background: #f1e9df; font-weight: 800; }
.rv-chip { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; padding: 4px 12px 4px 4px; border-radius: 999px; background: var(--soft); color: var(--ink); text-decoration: none; font-size: 13px; font-weight: 700; }
.rv-chip img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; object-position: top; }
.rv-ticker { overflow: hidden; background: var(--red); color: #fff; padding: 16px 0; }
.rv-ticker__t { display: flex; gap: 46px; width: max-content; animation: tmreel 60s linear infinite; }
.rv-ticker span { white-space: nowrap; font-weight: 600; font-size: 16px; } .rv-ticker i { font-style: normal; color: #ffd27a; margin-left: 8px; letter-spacing: 2px; }
.rv-wall { columns: 3 320px; column-gap: 16px; }
.rv-card { break-inside: avoid; margin: 0 0 16px; position: relative; padding: 26px 24px 20px; border-radius: 24px; background: #fff; border: 1px solid var(--line); transition: transform .4s var(--ease), box-shadow .4s; }
.rv-card:hover { transform: translateY(-4px) rotate(-.4deg); box-shadow: 0 30px 60px -36px rgba(13,13,15,.45); }
.rv-card--1 { background: #faf7f2; border-color: transparent; }
.rv-card--2 { background: var(--ink); color: #fff; border-color: transparent; }
.rv-card--2 blockquote { color: rgba(255,255,255,.85) !important; } .rv-card--2 .rv-av, .rv-card--2 .rv-chip { background: rgba(255,255,255,.12); color: #fff; } .rv-card--2 small { color: rgba(255,255,255,.6); }
.rv-card__tag { position: absolute; right: 18px; top: 18px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 5px 9px; border-radius: 999px; background: rgba(244,59,47,.1); color: var(--red); }
.rv-card__stars { color: #f5a623; letter-spacing: 3px; margin-bottom: 12px; }
.rv-card blockquote { margin: 0 0 18px; font-size: 15px; line-height: 1.7; color: #3b3b40; }
.rv-card figcaption { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.rv-card figcaption > span:nth-child(2) { display: flex; flex-direction: column; line-height: 1.3; } .rv-card small { color: var(--muted); font-size: 12px; }
.rv-loved { background: #0d0d0f; color: #fff; padding: clamp(56px, 8vw, 90px) 0; }
.rv-loved__in { display: grid; grid-template-columns: 1fr 2fr; gap: 40px; align-items: center; }
.rv-loved__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
.rv-loved__i { color: #fff; text-decoration: none; display: flex; flex-direction: column; gap: 2px; }
.rv-loved__i img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; border-radius: 18px; margin-bottom: 10px; transition: transform .5s var(--ease); }
.rv-loved__i:hover img { transform: scale(1.04); }
.rv-loved__i span { color: rgba(255,255,255,.6); font-size: 13px; }
.rv-next { padding: clamp(56px, 8vw, 90px) 0; text-align: center; }
.rv-next__in { display: flex; flex-direction: column; align-items: center; } .rv-next .rv-score__btns { justify-content: center; }
@media (max-width: 900px) { .rv-top__in, .rv-loved__in { grid-template-columns: 1fr; } .rv-spot { min-height: 420px; } }
@media (prefers-reduced-motion: reduce) { .rv-ticker__t { animation: none; } .rv-stars::after { animation: none; width: var(--r); } }

/* ---------- Rich service pages ---------- */
.sv-hero { position: relative; min-height: min(84vh, 780px); display: grid; align-items: end; color: #fff; overflow: hidden; }
.sv-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: abzoom 7s ease-out both; }
.sv-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.45) 55%, rgba(0,0,0,.15) 100%), linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,0) 40%); }
.sv-hero__in { position: relative; z-index: 1; padding-block: calc(var(--hdr) + 40px) 56px; }
.sv-hero__h { font-size: clamp(42px, 6.4vw, 96px); line-height: .96; letter-spacing: -.045em; margin: 12px 0 18px; max-width: 13ch; }
.sv-hero__h em { font-family: var(--serif); font-weight: 400; color: var(--red); letter-spacing: -.02em; }
.sv-hero__p { font-size: 19px; color: rgba(255,255,255,.85); max-width: 52ch; margin: 0 0 26px; }
.sv-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.sv-trust { list-style: none; padding: 0; margin: 30px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }
.sv-trust li { padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.12); backdrop-filter: blur(8px); font-size: 13px; color: rgba(255,255,255,.85); }
.sv-trust b { color: #fff; margin-right: 4px; }
.sv-stats { background: var(--ink); color: #fff; }
.sv-stats__in { display: grid; grid-template-columns: repeat(4, 1fr); }
.sv-stats__in > div { padding: 30px 24px; border-left: 1px solid rgba(255,255,255,.12); }
.sv-stats__in > div:first-child { border-left: 0; padding-left: 0; }
.sv-stats b { display: block; font-size: clamp(28px, 3.4vw, 46px); letter-spacing: -.04em; line-height: 1; margin-bottom: 8px; }
.sv-stats span { color: rgba(255,255,255,.62); font-size: 14px; }
.sv-feats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.sv-feats--4 { grid-template-columns: repeat(4, 1fr); }
.sv-feat { border-radius: 24px; overflow: hidden; background: #fff; border: 1px solid var(--line); display: flex; flex-direction: column; transition: transform .45s var(--ease), box-shadow .45s; }
.sv-feat:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -36px rgba(13,13,15,.45); }
.sv-feat__img { aspect-ratio: 5 / 4; overflow: hidden; background: #eee; }
.sv-feat__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.sv-feat:hover .sv-feat__img img { transform: scale(1.06); }
.sv-feat__b { padding: 20px 22px 24px; }
.sv-feat h3 { margin: 0 0 8px; font-size: 20px; letter-spacing: -.02em; }
.sv-feat p { margin: 0; color: var(--muted); line-height: 1.6; }
.sv-steps { background: #0d0d0f; color: #fff; padding: clamp(56px, 8vw, 100px) 0; }
.sv-steps__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; counter-reset: s; }
.sv-steps__list li { position: relative; padding: 26px 24px 28px; border-radius: 22px; border: 1px solid rgba(255,255,255,.12); transition: background .3s, border-color .3s; }
.sv-steps__list li:hover { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.3); }
.sv-steps__list li:not(:last-child)::after { content: ""; position: absolute; right: -14px; top: 44px; width: 12px; height: 2px; background: var(--red); }
.sv-steps__list span { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--red); font-weight: 800; font-size: 18px; margin-bottom: 18px; }
.sv-steps__list h3 { margin: 0 0 8px; font-size: 20px; letter-spacing: -.02em; }
.sv-steps__list p { margin: 0; color: rgba(255,255,255,.68); line-height: 1.6; }
.sv-split { background: #faf7f2; }
.sv-split__in { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(28px, 5vw, 70px); align-items: start; }
.sv-split__l { display: grid; gap: 16px; }
.sv-quote { margin: 0; padding: 30px; border-radius: 26px; background: var(--ink); color: #fff; position: relative; overflow: hidden; }
.sv-quote::before { content: "“"; position: absolute; right: 20px; top: -30px; font-family: var(--serif); font-size: 180px; color: var(--red); line-height: 1; }
.sv-quote__stars { color: #f5a623; letter-spacing: 3px; }
.sv-quote blockquote { margin: 14px 0 16px; font-family: var(--serif); font-size: clamp(20px, 2vw, 26px); line-height: 1.3; position: relative; }
.sv-quote figcaption { color: rgba(255,255,255,.7); font-size: 14px; } .sv-quote b { color: #fff; }
.sv-tool { display: flex; align-items: center; gap: 16px; padding: 20px 22px; border-radius: 22px; background: #fff; color: var(--ink); text-decoration: none; transition: transform .3s var(--ease), box-shadow .3s; }
.sv-tool:hover { transform: translateY(-3px); box-shadow: 0 24px 50px -32px rgba(13,13,15,.45); }
.sv-tool__ic { width: 48px; height: 48px; flex: none; border-radius: 14px; display: grid; place-items: center; background: rgba(244,59,47,.1); color: var(--red); }
.sv-tool > span:nth-child(2) { display: flex; flex-direction: column; color: var(--muted); font-size: 14px; } .sv-tool b { color: var(--ink); font-size: 16px; }
.sv-tool em { margin-left: auto; font-style: normal; font-size: 22px; }
.sv-contact { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding: 18px 22px; border-radius: 22px; border: 1px dashed #d9d1c4; }
.sv-contact p { margin: 0; color: var(--muted); } .sv-contact a { font-weight: 800; color: var(--ink); text-decoration: none; }
.sv-form { background: #fff; border-radius: 28px; padding: clamp(24px, 3vw, 36px); box-shadow: 0 40px 80px -50px rgba(13,13,15,.45); }
.sv-form__k { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.sv-form h2 { margin: 6px 0 20px; font-size: clamp(26px, 2.6vw, 34px); letter-spacing: -.03em; }
.sv-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.sv-form__note { font-size: 12px; color: var(--muted); text-align: center; margin: 10px 0 0; }
.sv-rel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.sv-rel__i { position: relative; aspect-ratio: 16 / 11; border-radius: 22px; overflow: hidden; color: #fff; text-decoration: none; }
.sv-rel__i img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.sv-rel__i:hover img { transform: scale(1.06); }
.sv-rel__i::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.8)); }
.sv-rel__i span { position: absolute; z-index: 1; left: 20px; right: 20px; bottom: 18px; display: flex; flex-direction: column; gap: 4px; }
.sv-rel__i small { text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 800; color: var(--red); }
.sv-rel__i b { font-size: 21px; letter-spacing: -.02em; line-height: 1.15; }
@media (max-width: 1000px) { .sv-feats, .sv-feats--4 { grid-template-columns: 1fr 1fr; } .sv-steps__list { grid-template-columns: 1fr 1fr; } .sv-steps__list li::after { display: none; } }
@media (max-width: 800px) {
  .sv-stats__in { grid-template-columns: 1fr 1fr; } .sv-stats__in > div, .sv-stats__in > div:first-child { padding: 20px 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.12); }
  .sv-split__in, .sv-rel { grid-template-columns: 1fr; }
}
@media (max-width: 560px) { .sv-feats, .sv-feats--4, .sv-steps__list, .sv-form__grid { grid-template-columns: 1fr; } }
.sl-prices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.sl-price { display: flex; flex-direction: column; gap: 6px; padding: 22px 24px; border-radius: 22px; border: 1px solid var(--line); color: var(--ink); text-decoration: none; transition: background .3s, color .3s, transform .4s var(--ease); }
.sl-price:hover { background: var(--ink); color: #fff; transform: translateY(-3px); }
.sl-price span { font-weight: 700; }
.sl-price b { font-size: 34px; letter-spacing: -.04em; } .sl-price small { font-size: 15px; font-weight: 600; color: var(--muted); }
.sl-price em { font-style: normal; color: var(--muted); font-size: 14px; } .sl-price:hover em, .sl-price:hover small { color: rgba(255,255,255,.65); }
@media (max-width: 800px) { .sl-prices { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .sl-prices { grid-template-columns: 1fr; } }
.ct-desks { padding: clamp(40px, 6vw, 80px) 0; background: #faf7f2; }
.ct-desks__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ct-desk { padding: 24px; border-radius: 22px; background: #fff; display: flex; flex-direction: column; gap: 6px; transition: transform .4s var(--ease), box-shadow .4s; }
.ct-desk:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -32px rgba(13,13,15,.4); }
.ct-desk h3 { margin: 0; font-size: 20px; letter-spacing: -.02em; } .ct-desk p { margin: 0 0 14px; color: var(--muted); }
.ct-desk__btns { display: flex; gap: 8px; margin-top: auto; }
.ct-office { padding: clamp(56px, 8vw, 100px) 0; }
.ct-office__in { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px, 5vw, 80px); align-items: center; }
.ct-office__img { position: relative; padding: 0 14% 14% 0; }
.ct-office__img img:first-child { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 26px; }
.ct-office__img img:last-child { position: absolute; right: 0; bottom: 0; width: 44%; aspect-ratio: 1; object-fit: cover; border-radius: 22px; border: 8px solid #fff; }
.ct-office__dl { margin: 20px 0; display: grid; gap: 14px; }
.ct-office__dl dt { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.ct-office__dl dd { margin: 2px 0 0; font-size: 18px; font-weight: 600; }
.ct-faces { display: flex; align-items: center; flex-wrap: wrap; margin: 4px 0 6px; }
.ct-faces img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; object-position: top; border: 3px solid #fff; margin-left: -10px; } .ct-faces img:first-child { margin-left: 0; }
.ct-faces span { margin-left: 12px; font-weight: 700; font-size: 14px; }
@media (max-width: 900px) { .ct-desks__grid { grid-template-columns: 1fr 1fr; } .ct-office__in { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .ct-desks__grid { grid-template-columns: 1fr; } }
/* hubs */
.hb-hero { position: relative; color: #fff; overflow: hidden; min-height: 520px; display: grid; align-items: end; }
.hb-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: abzoom 7s ease-out both; }
.hb-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.82), rgba(0,0,0,.35)), linear-gradient(0deg, rgba(0,0,0,.5), rgba(0,0,0,0) 40%); }
.hb-hero__in { position: relative; z-index: 1; padding-block: calc(var(--hdr) + 40px) 54px; }
.hb-hero__h { font-size: clamp(44px, 6.4vw, 96px); line-height: .95; letter-spacing: -.045em; margin: 14px 0 16px; max-width: 13ch; }
.hb-hero__h em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.hb-hero__p { font-size: 18px; color: rgba(255,255,255,.82); max-width: 54ch; margin: 0; }
.hb-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.hb-chips a { padding: 9px 16px; border-radius: 999px; background: rgba(255,255,255,.14); backdrop-filter: blur(8px); color: #fff; text-decoration: none; font-weight: 700; font-size: 14px; }
.hb-chips a:hover { background: #fff; color: var(--ink); }
.hb-group + .hb-group { padding-top: 0; }
.hb-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; grid-auto-rows: 300px; }
.hb-tiles--1 { grid-template-columns: 1fr; grid-auto-rows: 380px; } .hb-tiles--2 { grid-template-columns: 1fr 1fr; }
.hb-tile { position: relative; border-radius: 24px; overflow: hidden; color: #fff; text-decoration: none; }
.hb-tile--big { grid-column: span 2; grid-row: span 2; }
.hb-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.hb-tile:hover img { transform: scale(1.06); }
.hb-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05) 25%, rgba(0,0,0,.82)); }
.hb-tile__b { position: absolute; z-index: 1; left: 22px; right: 22px; bottom: 20px; display: flex; flex-direction: column; gap: 6px; }
.hb-tile small { text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 800; color: var(--red); }
.hb-tile b { font-size: 24px; letter-spacing: -.03em; line-height: 1.1; font-weight: 700; } .hb-tile b em { font-family: var(--serif); font-weight: 400; font-style: italic; color: #fff; }
.hb-tile--big b { font-size: clamp(30px, 3.4vw, 48px); }
.hb-tile em { font-style: normal; color: rgba(255,255,255,.78); font-size: 14px; max-width: 46ch; } .hb-tile i { font-style: normal; font-weight: 700; font-size: 14px; margin-top: 4px; opacity: 0; transform: translateY(6px); transition: .35s var(--ease); }
.hb-tile:hover i { opacity: 1; transform: none; }
@media (max-width: 900px) { .hb-tiles, .hb-tiles--2 { grid-template-columns: 1fr 1fr; grid-auto-rows: 260px; } .hb-tile--big { grid-column: span 2; grid-row: span 1; } }
@media (max-width: 560px) { .hb-tiles, .hb-tiles--2 { grid-template-columns: 1fr; } .hb-tile--big { grid-column: auto; } }
.hb-tile__d { color: rgba(255,255,255,.78); font-size: 14px; max-width: 46ch; }
.hb-tile--wide { grid-column: span 2; }
@media (max-width: 560px) { .hb-tile--wide { grid-column: auto; } }
.hb-tile b em { font-size: inherit; max-width: none; font-style: italic; color: #fff; }
.lx-sell > *, .lx-sell__copy * { min-width: 0; } html[lang="ru"] h1, html[lang="ru"] h2, html[lang="ru"] h3 { hyphens: auto; overflow-wrap: break-word; }
@media (max-width: 560px) {
  .sv-feats, .sv-feats--4 { gap: 10px; }
  .sv-feat { flex-direction: row; align-items: stretch; }
  .sv-feat__img { flex: 0 0 112px; aspect-ratio: auto; }
  .sv-feat__b { padding: 14px 16px; } .sv-feat h3 { font-size: 16px; margin-bottom: 4px; } .sv-feat p { font-size: 13px; line-height: 1.5; }
  .sv-hero { min-height: 0; } .sv-hero__in { padding-bottom: 36px; }
}

/* ---------- Transactions ---------- */
.tx-hero { background: #0d0d0f; color: #fff; padding: calc(var(--hdr) + 36px) 0 40px; position: relative; overflow: hidden; }
.tx-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(900px 400px at 85% 0%, rgba(244,59,47,.28), transparent 60%), repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 80px); pointer-events: none; }
.tx-hero .wrap { position: relative; }
.tx-hero__h { font-size: clamp(42px, 6vw, 90px); line-height: .95; letter-spacing: -.045em; margin: 12px 0 24px; max-width: 14ch; }
.tx-hero__h em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.tx-search { display: flex; align-items: center; gap: 10px; background: #fff; color: var(--ink); border-radius: 999px; padding: 6px 6px 6px 20px; max-width: 720px; }
.tx-search input { flex: 1; border: 0; outline: 0; font: inherit; font-size: 16px; min-width: 0; background: none; }
.tx-sample { display: inline-block; margin: 16px 0 0; padding: 8px 14px; border-radius: 999px; background: rgba(245,166,35,.16); color: #ffcf7a; font-size: 13px; font-weight: 600; }
.tx-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 30px 0 0; }
.tx-kpis div { padding: 20px 22px; border-radius: 20px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); }
.tx-kpis dt { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); font-weight: 700; }
.tx-kpis dd { margin: 8px 0 4px; font-size: clamp(26px, 3vw, 40px); font-weight: 700; letter-spacing: -.04em; }
.tx-kpis small { color: rgba(255,255,255,.55); font-size: 13px; } .tx-kpis .up { color: #4ade80; font-weight: 700; } .tx-kpis .down { color: #ff8a80; font-weight: 700; }
.tx-bar { position: sticky; top: var(--hdr); z-index: 20; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.tx-bar__in { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding-block: 12px; }
.tx-bar .tm-seg a, .sec__head .tm-seg a { padding: 8px 14px; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--ink); text-decoration: none; }
.sec__head .tm-seg a.on { background: var(--ink); color: #fff; }
.tx-clear { font-weight: 700; font-size: 14px; color: var(--red); }
.tx-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 16px; }
.tx-card { border: 1px solid var(--line); border-radius: 24px; padding: 24px; background: #fff; min-width: 0; }
.tx-card__h { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.tx-card__h h2 { margin: 0; font-size: 20px; letter-spacing: -.02em; } .tx-card__h p { margin: 0; color: var(--muted); font-size: 13px; display: flex; align-items: center; gap: 6px; }
.tx-k { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-left: 8px; } .tx-k--bar { background: #e9e4dc; } .tx-k--line { background: var(--red); height: 3px; }
.tx-chart svg { width: 100%; height: auto; display: block; overflow: visible; }
.tx-grid-l { stroke: #eee; stroke-dasharray: 3 5; } .tx-bar-r { fill: #ece7df; transition: fill .2s; } .tx-bar-r:hover { fill: #d9d1c4; }
.tx-ax { font-size: 13px; fill: var(--muted); text-anchor: middle; } .tx-line { fill: none; stroke: var(--red); stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.tx-dot { fill: #fff; stroke: var(--red); stroke-width: 2.5; } .tx-dot--end { fill: var(--red); } .tx-end { font-size: 15px; font-weight: 800; fill: var(--ink); text-anchor: end; }
.tx-top ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; counter-reset: t; }
.tx-top li { display: flex; flex-direction: column; padding: 12px 0; border-bottom: 1px solid var(--line); counter-increment: t; position: relative; padding-left: 36px; }
.tx-top li::before { content: counter(t); position: absolute; left: 0; top: 12px; width: 24px; height: 24px; border-radius: 50%; background: var(--soft); display: grid; place-items: center; font-size: 12px; font-weight: 800; }
.tx-top li:first-child::before { background: var(--red); color: #fff; }
.tx-top li span { display: flex; flex-direction: column; font-size: 14px; color: var(--muted); } .tx-top b { color: var(--ink); font-size: 18px; } .tx-top small { color: var(--muted); font-size: 12px; margin-top: 2px; }
.table-wrap { overflow-x: auto; }
.tx-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: 15px; }
.tx-table th { text-align: left; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding: 12px 14px; border-bottom: 1px solid var(--ink); white-space: nowrap; }
.tx-table td { padding: 14px; border-bottom: 1px solid var(--line); vertical-align: top; white-space: nowrap; }
.tx-table tbody tr { transition: background .2s; } .tx-table tbody tr:hover { background: #faf7f2; }
.tx-table a { color: inherit; text-decoration: none; } .tx-table a:hover { color: var(--red); }
.tx-table small { display: block; color: var(--muted); font-size: 13px; margin-top: 2px; }
.tx-op { color: var(--red); font-weight: 700; }
.tx-spark { display: inline-block; width: 80px; height: 6px; border-radius: 6px; background: linear-gradient(90deg, var(--red) var(--w), #eee var(--w)); margin-right: 10px; vertical-align: middle; }
.tx-pages { display: flex; gap: 6px; justify-content: center; margin-top: 22px; }
.tx-pages a { min-width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; border: 1px solid var(--line); color: var(--ink); text-decoration: none; font-weight: 700; }
.tx-pages a.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.tx-cta { background: #0d0d0f; color: #fff; padding: clamp(50px, 7vw, 90px) 0; margin-top: clamp(40px, 6vw, 70px); }
.tx-cta__in { display: flex; justify-content: space-between; align-items: center; gap: 30px; flex-wrap: wrap; } .tx-cta p:not(.eyebrow) { color: rgba(255,255,255,.7); max-width: 46ch; }
@media (max-width: 900px) { .tx-kpis { grid-template-columns: 1fr 1fr; } .tx-grid { grid-template-columns: 1fr; } .tx-bar { position: static; } }
@media (max-width: 560px) { .tx-search .btn { padding: 0 16px; } .tx-table--deals th:nth-child(3), .tx-table--deals td:nth-child(3), .tx-table--deals th:nth-child(4), .tx-table--deals td:nth-child(4) { display: none; } }
.tx-grid { align-items: start; }
.tx-recent { display: grid; grid-template-columns: 260px 1fr; gap: 20px; align-items: start; }
.tx-recent__k { display: grid; gap: 2px; padding: 22px; border-radius: 22px; background: var(--ink); color: #fff; }
.tx-recent__k b { font-size: 32px; letter-spacing: -.04em; } .tx-recent__k span { color: rgba(255,255,255,.6); font-size: 13px; margin-bottom: 12px; }
@media (max-width: 800px) { .tx-recent { grid-template-columns: 1fr; } }

/* ===== FAQ (shared partial) ===== */
:root { interpolate-size: allow-keywords; }
.fq { padding: clamp(64px, 8vw, 112px) 0; position: relative; overflow: clip; }
.fq--soft { background: var(--soft); }
.fq--soft::before { content: ""; position: absolute; width: 520px; height: 520px; right: -160px; top: -200px; border-radius: 50%; background: radial-gradient(closest-side, rgba(244,59,47,.08), transparent); pointer-events: none; }
.fq__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: start; position: relative; }
.fq__side { position: sticky; top: 108px; }
.fq__side .h2 { margin-bottom: 14px; }
.fq__lead { color: var(--ink-2); max-width: 380px; margin: 0 0 28px; line-height: 1.6; }
.fq__help { background: #0d0d0f; color: #fff; border-radius: 24px; padding: 24px; max-width: 400px; box-shadow: 0 30px 60px -36px rgba(13,13,15,.55); }
.fq__help b { display: block; font-size: 19px; letter-spacing: -.01em; margin-top: 18px; }
.fq__help p { margin: 6px 0 18px; color: rgba(255,255,255,.66); font-size: 14.5px; }
.fq__faces { display: flex; align-items: center; }
.fq__faces img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; object-position: top; border: 2px solid #0d0d0f; background: #2a2a2e; margin-right: -10px; }
.fq__live { margin-left: 22px; display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; color: rgba(255,255,255,.75); }
.fq__live i { width: 8px; height: 8px; border-radius: 50%; background: #25d366; box-shadow: 0 0 0 0 rgba(37,211,102,.6); animation: fqPulse 2s infinite; }
@keyframes fqPulse { 70% { box-shadow: 0 0 0 8px rgba(37,211,102,0); } 100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); } }
.fq__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.fq__btns a { display: inline-flex; align-items: center; gap: 8px; padding: 11px 16px; border-radius: 999px; font-weight: 700; font-size: 14px; text-decoration: none; transition: transform .25s var(--ease), background .25s; }
.fq__wa { background: #25d366; color: #fff; } .fq__wa:hover { transform: translateY(-2px); }
.fq__tel { color: #fff; border: 1px solid rgba(255,255,255,.22); } .fq__tel:hover { background: rgba(255,255,255,.08); }
.fq__list { display: grid; gap: 10px; counter-reset: fq; }
.fq__i { background: #fff; border: 1px solid var(--line); border-radius: 20px; transition: border-color .3s, box-shadow .35s var(--ease), transform .35s var(--ease); }
.fq--soft .fq__i { border-color: transparent; }
.fq__i:hover { border-color: rgba(13,13,15,.18); transform: translateY(-1px); }
.fq__i[open] { border-color: rgba(13,13,15,.1); box-shadow: 0 24px 50px -30px rgba(13,13,15,.35); }
.fq__i summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; padding: 20px 20px 20px 24px; }
.fq__i summary::-webkit-details-marker { display: none; }
.fq__i summary:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; border-radius: 20px; }
.fq__n { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--red); min-width: 28px; opacity: .55; transition: opacity .3s; }
.fq__i[open] .fq__n { opacity: 1; }
.fq__q { font-weight: 700; font-size: 17.5px; letter-spacing: -.01em; line-height: 1.35; }
.fq__ic { width: 38px; height: 38px; border-radius: 50%; background: var(--soft); position: relative; flex: none; transition: background .3s, transform .45s var(--ease); }
.fq--soft .fq__ic { background: #f1efe9; }
.fq__ic::before, .fq__ic::after { content: ""; position: absolute; left: 50%; top: 50%; width: 13px; height: 2px; margin: -1px 0 0 -6.5px; background: currentColor; border-radius: 2px; transition: transform .45s var(--ease); }
.fq__ic::after { transform: rotate(90deg); }
.fq__i[open] .fq__ic { background: var(--red); color: #fff; transform: rotate(180deg); }
.fq__i[open] .fq__ic::after { transform: rotate(0); }
.fq__i::details-content { block-size: 0; overflow: hidden; transition: block-size .45s var(--ease), content-visibility .45s allow-discrete; }
.fq__i[open]::details-content { block-size: auto; }
.fq__a p { margin: 0; padding: 0 24px 24px 70px; color: var(--ink-2); line-height: 1.7; max-width: 720px; }
.fq--compact { margin-top: 8px; }
.fq--compact .fq__i { border-color: transparent; }
@media (max-width: 900px) { .fq__in { display: flex; flex-direction: column; } .fq__side { display: contents; } .fq__side > .eyebrow, .fq__side > .h2, .fq__lead { order: 0; } .fq__lead { margin-bottom: 0; } .fq__list { order: 1; width: 100%; } .fq__help { order: 2; width: 100%; } .fq__side .h2 { margin: 0; } .fq__in { gap: 14px; } .fq__list { margin-top: 10px; } .fq__help { margin-top: 18px; } }
@media (max-width: 560px) { .fq__i summary { gap: 12px; padding: 16px 14px 16px 16px; } .fq__q { font-size: 16px; } .fq__n { font-size: 18px; min-width: 22px; } .fq__ic { width: 32px; height: 32px; } .fq__a p { padding: 0 16px 18px 50px; } }
[dir="rtl"] .fq__a p { padding: 0 70px 24px 24px; }
[dir="rtl"] .fq__faces img { margin-right: 0; margin-left: -10px; } [dir="rtl"] .fq__live { margin-left: 0; margin-right: 22px; }

/* ===== Journey: how it works ===== */
.jr { padding: clamp(72px, 9vw, 128px) 0; position: relative; }
.jr--dark { background: #0d0d0f; color: #fff; }
.jr__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(40px, 7vw, 112px); align-items: start; }
.jr__side { position: sticky; top: 100px; }
.jr__side .h2 { margin-bottom: 28px; }
.jr__media { position: relative; aspect-ratio: 4 / 3.4; border-radius: 26px; overflow: hidden; background: #1c1c20; }
.jr__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.08); transition: opacity .8s var(--ease), transform 1.6s var(--ease); }
.jr__media img.is-on { opacity: 1; transform: scale(1); }
.jr__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.55), transparent 45%); }
.jr__count { position: absolute; left: 22px; bottom: 18px; z-index: 1; color: #fff; display: flex; align-items: baseline; gap: 8px; }
.jr__count b { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: 64px; line-height: 1; }
.jr__count span { font-weight: 700; opacity: .7; }
.jr__bar { height: 3px; border-radius: 3px; background: rgba(127,127,127,.25); margin-top: 18px; overflow: hidden; }
.jr__bar i { display: block; height: 100%; width: 0; background: var(--red); border-radius: 3px; transition: width .2s linear; }
.jr__list { list-style: none; margin: 0; padding: 8px 0 8px 44px; position: relative; }
.jr__rail { position: absolute; left: 11px; top: 30px; bottom: 30px; width: 2px; background: rgba(127,127,127,.22); border-radius: 2px; }
.jr__rail i { position: absolute; left: 0; top: 0; width: 100%; height: 0; background: var(--red); border-radius: 2px; }
.jr__step { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 26px; align-items: start; padding: clamp(28px, 5vh, 56px) 0; opacity: .32; transition: opacity .5s var(--ease); }
.jr__step + .jr__step { border-top: 1px solid rgba(127,127,127,.18); }
.jr__step.is-on, .jr__step.is-past { opacity: 1; }
.jr__dot { position: absolute; left: -44px; top: calc(clamp(28px, 5vh, 56px) + 18px); width: 24px; height: 24px; border-radius: 50%; background: inherit; border: 2px solid rgba(127,127,127,.4); transition: border-color .4s, background .4s, box-shadow .4s; }
.jr--dark .jr__dot { background: #0d0d0f; } .jr:not(.jr--dark) .jr__dot { background: #fff; }
.jr__step.is-on .jr__dot, .jr__step.is-past .jr__dot { border-color: var(--red); background: var(--red); }
.jr__step.is-on .jr__dot { box-shadow: 0 0 0 7px rgba(244,59,47,.2); }
.jr__num { font-family: var(--serif); font-style: italic; font-size: clamp(56px, 6vw, 88px); line-height: .85; color: transparent; -webkit-text-stroke: 1.2px rgba(127,127,127,.6); transition: color .5s, -webkit-text-stroke-color .5s; min-width: 1.3em; }
.jr__step.is-on .jr__num { color: var(--red); -webkit-text-stroke-color: var(--red); }
.jr__step small { display: inline-block; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--red); margin-bottom: 8px; }
.jr__step h3 { margin: 0 0 10px; font-size: clamp(22px, 2.2vw, 30px); letter-spacing: -.02em; line-height: 1.15; }
.jr__step p { margin: 0; line-height: 1.7; max-width: 480px; color: var(--ink-2); }
.jr--dark .jr__step p { color: rgba(255,255,255,.68); }
@media (max-width: 900px) {
  .jr__in { grid-template-columns: 1fr; gap: 28px; }
  .jr__side { position: relative; top: auto; }
  .jr__media { aspect-ratio: 16 / 10; }
  .jr__count b { font-size: 44px; }
  .jr__bar { display: none; }
  .jr__step { opacity: 1; gap: 16px; padding: 24px 0; }
  .jr__num { font-size: 48px; }
}
@media (max-width: 560px) { .jr__list { padding-left: 34px; } .jr__rail { left: 9px; } .jr__dot { left: -34px; width: 20px; height: 20px; } .jr__step { grid-template-columns: 1fr; gap: 6px; } .jr__num { font-size: 40px; } }
[dir="rtl"] .jr__list { padding: 8px 44px 8px 0; } [dir="rtl"] .jr__rail { left: auto; right: 11px; } [dir="rtl"] .jr__dot { left: auto; right: -44px; } [dir="rtl"] .jr__count { left: auto; right: 22px; }
/* Same-colour neighbours: don't double the gap around the FAQ */
.sec:not(.sec--soft):not(.sv-split) + .fq:not(.fq--soft), .fq:not(.fq--soft) + .sec:not(.sec--soft) { padding-top: 0; }
.sec--soft + .fq--soft, .fq--soft + .sec--soft { padding-top: 0; }

/* ===== Awards and press ===== */
.ap-hero { position: relative; background: #0b0b0d; color: #fff; overflow: hidden; padding: clamp(120px, 14vw, 170px) 0 0; }
.ap-hero__glow { position: absolute; inset: 0; background: radial-gradient(60% 70% at 78% 40%, rgba(244,59,47,.28), transparent 60%), radial-gradient(40% 50% at 10% 100%, rgba(201,169,110,.14), transparent 70%); pointer-events: none; }
.ap-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 40px; align-items: end; }
.ap-hero__txt { padding-bottom: clamp(48px, 6vw, 88px); }
.crumbs--light, .crumbs--light a { color: rgba(255,255,255,.6); } .crumbs--light li + li::before { color: rgba(255,255,255,.3); } .crumbs--light a:hover { color: #fff; }
.ap-hero__h { font-size: clamp(46px, 7vw, 104px); line-height: .95; letter-spacing: -.045em; margin: 14px 0 22px; font-weight: 800; }
.ap-hero__h em { font-family: var(--serif); font-weight: 500; color: var(--red); letter-spacing: -.02em; }
.ap-hero__p { max-width: 520px; color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.65; margin: 0 0 36px; }
.ap-hero__k { list-style: none; padding: 0; margin: 0; display: flex; gap: clamp(20px, 4vw, 56px); }
.ap-hero__k li { display: grid; gap: 4px; padding-left: 16px; border-left: 2px solid var(--red); }
.ap-hero__k b { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: clamp(40px, 4.6vw, 64px); line-height: 1; }
.ap-hero__k span { font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.ap-hero__ceo { position: relative; margin: 0; align-self: end; display: grid; justify-items: center; }
.ap-hero__ceo img { position: relative; z-index: 1; width: min(100%, 460px); height: auto; display: block; filter: drop-shadow(0 30px 60px rgba(0,0,0,.6)); animation: apRise 1.2s var(--ease) both; }
.ap-hero__ring { position: absolute; z-index: 0; width: min(90%, 420px); aspect-ratio: 1; border-radius: 50%; bottom: 14%; border: 1px solid rgba(255,255,255,.16); background: radial-gradient(closest-side, rgba(244,59,47,.35), transparent); animation: apPulse 6s ease-in-out infinite; }
.ap-hero__ceo figcaption { position: absolute; z-index: 2; right: 0; bottom: 28%; background: rgba(255,255,255,.1); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.18); border-radius: 16px; padding: 12px 16px; font-size: 13px; color: rgba(255,255,255,.75); display: grid; }
.ap-hero__ceo figcaption b { color: #fff; font-size: 15px; }
@keyframes apRise { from { opacity: 0; transform: translateY(40px); } }
@keyframes apPulse { 50% { transform: scale(1.06); opacity: .75; } }
.ap-marq { position: relative; z-index: 2; background: var(--red); overflow: hidden; padding: 16px 0; }
.ap-marq__t { display: flex; gap: 56px; width: max-content; animation: apMarq 40s linear infinite; }
.ap-marq span { font-family: var(--serif); font-style: italic; font-size: 26px; white-space: nowrap; display: inline-flex; align-items: center; gap: 56px; }
.ap-marq span::after { content: "✦"; font-style: normal; font-size: 14px; opacity: .7; }
@keyframes apMarq { to { transform: translateX(-33.333%); } }

.ap-aw__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ap-award { position: relative; overflow: hidden; display: flex; flex-direction: column; min-height: 380px; padding: 30px 28px; border-radius: 28px; color: #fff; text-decoration: none; background: linear-gradient(160deg, #1b1b1f 0%, #0d0d0f 70%); transform: perspective(900px) rotateX(var(--rx, 0)) rotateY(var(--ry, 0)); transition: transform .5s var(--ease), box-shadow .5s; box-shadow: 0 30px 60px -40px rgba(0,0,0,.6); }
.ap-award:nth-child(2) { background: linear-gradient(160deg, #f43b2f 0%, #b8231a 100%); }
.ap-award:hover { box-shadow: 0 40px 80px -40px rgba(0,0,0,.7); }
.ap-award__shine { position: absolute; inset: 0; background: radial-gradient(400px circle at var(--mx, 50%) var(--my, 0%), rgba(255,255,255,.16), transparent 40%); opacity: 0; transition: opacity .4s; pointer-events: none; }
.ap-award:hover .ap-award__shine { opacity: 1; }
.ap-award__laurel { width: 96px; color: #c9a96e; margin-bottom: auto; }
.ap-award:nth-child(2) .ap-award__laurel { color: #fff; }
.ap-award__yr { font-family: var(--serif); font-style: italic; font-size: 84px; line-height: .9; margin: 40px 0 14px; color: transparent; -webkit-text-stroke: 1.2px rgba(255,255,255,.55); }
.ap-award h3 { margin: 0 0 10px; font-size: clamp(22px, 2vw, 27px); letter-spacing: -.02em; line-height: 1.15; }
.ap-award p { margin: 0; color: rgba(255,255,255,.7); font-size: 14.5px; line-height: 1.5; }
.ap-award__more { margin-top: 22px; font-weight: 700; font-size: 14px; display: inline-flex; gap: 8px; }
.ap-award__more i { font-style: normal; transition: transform .3s var(--ease); } .ap-award:hover .ap-award__more i { transform: translate(3px, -3px); }

.ap-cover { background: var(--soft); padding: clamp(64px, 9vw, 120px) 0; overflow: hidden; }
.ap-cover__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 7vw, 100px); align-items: center; }
.ap-cover__img { margin: 0; border-radius: 28px; overflow: hidden; transform: rotate(-2.5deg); box-shadow: 0 50px 90px -50px rgba(13,13,15,.6); transition: transform .8s var(--ease); }
.ap-cover__img:hover { transform: rotate(0) scale(1.01); }
.ap-cover__img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ap-cover__txt > p { color: var(--ink-2); font-size: 17px; line-height: 1.7; max-width: 520px; }
.ap-cover__txt blockquote { margin: 28px 0; padding: 0 0 0 22px; border-left: 3px solid var(--red); font-family: var(--serif); font-style: italic; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.25; }
.ap-cover__txt cite { display: block; margin-top: 10px; font-family: var(--sans, inherit); font-style: normal; font-size: 13px; font-weight: 700; color: var(--muted); letter-spacing: .04em; }

.ap-lead { position: relative; overflow: hidden; display: grid; gap: 18px; padding: clamp(28px, 4vw, 48px); border-radius: 28px; background: #0d0d0f; color: #fff; text-decoration: none; margin-bottom: clamp(40px, 5vw, 64px); }
.ap-lead__tag { display: flex; align-items: center; gap: 14px; position: relative; z-index: 1; }
.ap-lead__tag .pl { background: #fff; border-radius: 10px; }
.ap-lead__tag em { font-style: normal; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
.ap-lead h3 { position: relative; z-index: 1; margin: 0; max-width: 760px; font-size: clamp(28px, 3.6vw, 50px); line-height: 1.08; letter-spacing: -.03em; }
.ap-lead__go { position: relative; z-index: 1; font-weight: 700; color: rgba(255,255,255,.8); }
.ap-lead__go i { font-style: normal; display: inline-block; transition: transform .3s var(--ease); } .ap-lead:hover .ap-lead__go i { transform: translate(4px, -4px); }
.ap-lead__big { position: absolute; right: -20px; bottom: -40px; font-family: var(--serif); font-style: italic; font-size: clamp(120px, 18vw, 260px); line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(244,59,47,.5); white-space: nowrap; transition: transform 1s var(--ease); }
.ap-lead:hover .ap-lead__big { transform: translateX(-24px); }
.ap-tl { display: grid; gap: clamp(28px, 4vw, 48px); }
.ap-tl__yr { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 24px; align-items: start; }
.ap-tl__y { margin: 0; font-family: var(--serif); font-style: italic; font-weight: 500; font-size: clamp(44px, 5vw, 72px); line-height: .9; color: var(--red); position: sticky; top: 100px; }
.ap-tl ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.ap-row { display: grid; grid-template-columns: 64px minmax(0, 1fr) 40px; gap: 20px; align-items: center; padding: 20px 8px; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; transition: background .3s, padding .4s var(--ease); }
a.ap-row:hover { background: var(--soft); padding-left: 18px; border-radius: 14px; }
.ap-row__lg .pl { width: 56px; height: 56px; }
.ap-row__t b { display: block; font-size: 18px; letter-spacing: -.01em; line-height: 1.35; }
.ap-row__t small { display: block; margin-top: 4px; color: var(--muted); font-size: 13.5px; }
.ap-row__go { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; transition: background .3s, color .3s, transform .3s var(--ease); }
a.ap-row:hover .ap-row__go { background: var(--red); color: #fff; transform: rotate(45deg); }
.ap-media { background: #0d0d0f; color: #fff; padding: clamp(56px, 7vw, 96px) 0; }
.ap-media__in { display: flex; justify-content: space-between; align-items: end; gap: 32px; flex-wrap: wrap; }
.ap-media__in p:not(.eyebrow) { color: rgba(255,255,255,.66); margin: 10px 0 0; max-width: 460px; }
.ap-media__btns { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 1000px) { .ap-aw__grid { grid-template-columns: 1fr; } .ap-award { min-height: 0; } .ap-award__yr { font-size: 64px; margin-top: 24px; } }
@media (max-width: 900px) {
  .ap-hero__in, .ap-cover__in { grid-template-columns: 1fr; }
  .ap-hero__txt { padding-bottom: 0; }
  .ap-hero__ceo img { width: min(78%, 360px); }
  .ap-hero__ceo figcaption { right: 4%; bottom: 18%; }
  .ap-tl__yr { grid-template-columns: 1fr; gap: 10px; }
  .ap-tl__y { position: static; }
}
@media (max-width: 560px) { .ap-hero__k { gap: 18px; } .ap-hero__k li { padding-left: 10px; } .ap-row { grid-template-columns: 44px minmax(0, 1fr); gap: 14px; } .ap-row__lg .pl { width: 44px; height: 44px; } .ap-row__go { display: none; } .ap-row__t b { font-size: 16px; } .ap-marq span { font-size: 20px; } }
[dir="rtl"] .ap-hero__k li { padding-left: 0; padding-right: 16px; border-left: 0; border-right: 2px solid var(--red); }
[dir="rtl"] .ap-cover__txt blockquote { padding: 0 22px 0 0; border-left: 0; border-right: 3px solid var(--red); }
@media (prefers-reduced-motion: reduce) { .ap-marq__t, .ap-hero__ring { animation: none; } }
.ap-hero__ceo { padding-bottom: clamp(40px, 5vw, 72px); }
.ap-hero__ceo img { width: min(100%, 420px); aspect-ratio: 4 / 5; object-fit: cover; object-position: top; border-radius: 30px; transform: rotate(2deg); filter: none; box-shadow: 0 50px 90px -40px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.08); }
.ap-hero__ring { bottom: auto; top: 6%; left: -4%; width: 70%; }
.ap-hero__ceo figcaption { right: auto; left: 2%; bottom: clamp(20px, 3vw, 44px); background: rgba(13,13,15,.72); }
.ap-lead h3 { max-width: 62%; }
.ap-lead__big { -webkit-text-stroke-color: rgba(244,59,47,.35); right: -10px; bottom: -30px; font-size: clamp(110px, 14vw, 210px); }
@media (max-width: 900px) { .ap-lead h3 { max-width: none; } .ap-lead__big { font-size: 110px; opacity: .5; } .ap-hero__ceo img { width: min(86%, 380px); } }
.sv-contact { display: grid; gap: 16px; padding: 20px; border: 0; border-radius: 24px; background: #0d0d0f; color: #fff; box-shadow: 0 30px 60px -40px rgba(13,13,15,.6); }
.sv-contact__top { display: flex; align-items: center; gap: 14px; }
.sv-contact__top b { display: block; font-size: 17px; }
.sv-contact__top small { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; color: rgba(255,255,255,.65); font-weight: 600; }
.sv-contact__top small i { width: 8px; height: 8px; border-radius: 50%; background: #25d366; animation: fqPulse 2s infinite; }
.sv-contact__faces { display: flex; } .sv-contact__faces img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; object-position: top; border: 2px solid #0d0d0f; margin-right: -10px; background: #2a2a2e; } .sv-contact__faces { padding-right: 10px; }
.sv-contact__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.sv-contact .sv-contact__btns a { display: inline-flex; justify-content: center; align-items: center; gap: 8px; padding: 13px 14px; border-radius: 999px; font-weight: 700; font-size: 14px; color: #fff; text-decoration: none; transition: transform .25s var(--ease), background .25s; white-space: nowrap; }
.sv-contact .sv-contact__wa { background: #25d366; } .sv-contact .sv-contact__tel { border: 1px solid rgba(255,255,255,.22); }
.sv-contact .sv-contact__btns a:hover { transform: translateY(-2px); } .sv-contact .sv-contact__tel:hover { background: rgba(255,255,255,.08); }
@media (max-width: 400px) { .sv-contact__btns { grid-template-columns: 1fr; } }

/* ===== Mega menu v2 ===== */
.nav__dd--mega:hover .nav__mega, .nav__dd--mega:focus-within .nav__mega { opacity: 0; pointer-events: none; }
.nav__dd--mega.open .nav__mega { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.nav__dd--mega.open > .nav__a::after { transform: translateX(-50%) scale(1); }
.nav__mega { display: grid; grid-template-columns: 1fr; padding: 14px; gap: 14px; border-radius: 26px; top: calc(var(--hdr) - 4px); transition: opacity .25s, transform .35s var(--ease); width: min(1180px, calc(100vw - 48px)); }
.nav__mega.has-ft { grid-template-columns: minmax(0, 1fr) 300px; }
.nav__mega::before { content: ""; position: absolute; left: 0; right: 0; top: -28px; height: 28px; }
.nav__cols { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: 4px 20px; padding: 16px 12px 12px; }
.nav__cols > div { display: grid; align-content: start; }
.nav__mega p { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; padding: 0 10px; }
.nav__mega p::before { content: ""; width: 14px; height: 2px; background: var(--red); border-radius: 2px; }
.nav__mega .nav__cols a { position: relative; display: flex; align-items: center; padding: 8px 10px; font-size: 14.5px; font-weight: 600; border-radius: 10px; transition: background .2s, color .2s; }
.nav__mega .nav__cols a span { transition: transform .3s var(--ease); }
.nav__mega .nav__cols a::after { content: "→"; margin-left: auto; color: var(--red); opacity: 0; transform: translateX(-6px); transition: opacity .2s, transform .3s var(--ease); }
.nav__mega .nav__cols a:hover { background: var(--soft); }
.nav__mega .nav__cols a:hover span { transform: translateX(3px); }
.nav__mega .nav__cols a:hover::after { opacity: 1; transform: none; }
.nav__dd--mega.open .nav__cols > div { animation: navIn .45s var(--ease) both; }
.nav__dd--mega.open .nav__cols > div:nth-child(2) { animation-delay: .04s; } .nav__dd--mega.open .nav__cols > div:nth-child(3) { animation-delay: .08s; } .nav__dd--mega.open .nav__cols > div:nth-child(4) { animation-delay: .12s; }
@keyframes navIn { from { opacity: 0; transform: translateY(8px); } }
.nav__ft { position: relative; display: block; border-radius: 18px; overflow: hidden; min-height: 260px; color: #fff !important; padding: 0 !important; background: #0d0d0f; }
.nav__ft img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.nav__ft::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.82), rgba(0,0,0,.05) 65%); }
.nav__ft:hover img { transform: scale(1.06); }
.nav__ft span { position: absolute; z-index: 1; left: 18px; right: 18px; bottom: 16px; display: grid; gap: 4px; }
.nav__ft b { font-size: 21px; letter-spacing: -.02em; line-height: 1.15; }
.nav__ft small { font-size: 13px; color: rgba(255,255,255,.75); line-height: 1.4; }
.nav__ft em { font-style: normal; font-weight: 700; font-size: 13.5px; margin-top: 8px; display: inline-flex; width: max-content; padding: 8px 14px; border-radius: 999px; background: var(--red); }
.nav__ft:hover { background: #0d0d0f !important; }
@media (max-width: 1240px) { .nav__mega.has-ft { grid-template-columns: minmax(0, 1fr) 240px; } }

/* ===== Mobile menu v2 ===== */
.mnav { background: #0b0b0d; padding: calc(var(--hdr) + 8px) var(--gut) 28px; opacity: 0; transition: opacity .3s; }
.mnav::before { content: ""; position: fixed; inset: 0; background: radial-gradient(70% 40% at 100% 0%, rgba(244,59,47,.22), transparent 70%); pointer-events: none; }
.mnav.is-open { opacity: 1; }
.mnav__in { position: relative; gap: 0; max-width: 640px; }
.mnav__row, .mnav__g { opacity: 0; transform: translateY(18px); transition: opacity .45s var(--ease), transform .55s var(--ease); transition-delay: calc(var(--i, 0) * 35ms); }
.mnav__foot { opacity: 0; transform: translateY(18px); transition: opacity .45s var(--ease), transform .55s var(--ease); transition-delay: calc(var(--i, 0) * 35ms); }
.mnav.is-open .mnav__row, .mnav.is-open .mnav__g, .mnav.is-open .mnav__foot { opacity: 1; transform: none; }
.mnav__g .mnav__row { opacity: 1; transform: none; transition: none; }
.mnav__row { display: grid; grid-template-columns: 34px 1fr 40px; align-items: center; gap: 8px; padding: 14px 0 !important; border-bottom: 1px solid rgba(255,255,255,.1); color: #fff; cursor: pointer; list-style: none; }
.mnav__row::-webkit-details-marker { display: none; }
.mnav__g summary.mnav__row::after { content: none; }
.mnav__n { font-family: var(--serif); font-style: italic; font-size: 15px; color: rgba(255,255,255,.4); }
.mnav__l { font-size: 28px !important; font-weight: 800; letter-spacing: -.03em; line-height: 1.1; transition: color .25s, transform .35s var(--ease); }
.mnav__row:hover .mnav__l, .mnav__g[open] .mnav__l { color: var(--red); }
.mnav__row:hover .mnav__l { transform: translateX(4px); }
.mnav__ic { justify-self: end; width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); display: grid; place-items: center; font-size: 15px; position: relative; transition: background .3s, border-color .3s, transform .45s var(--ease); }
.mnav__ic--plus::before, .mnav__ic--plus::after { content: ""; position: absolute; width: 12px; height: 2px; background: #fff; border-radius: 2px; transition: transform .45s var(--ease); }
.mnav__ic--plus::after { transform: rotate(90deg); }
.mnav__g[open] .mnav__ic { background: var(--red); border-color: var(--red); transform: rotate(180deg); }
.mnav__g[open] .mnav__ic--plus::after { transform: rotate(0); }
.mnav__g::details-content { block-size: 0; overflow: hidden; transition: block-size .45s var(--ease), content-visibility .45s allow-discrete; }
.mnav__g[open]::details-content { block-size: auto; }
.mnav__sub { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; padding: 18px 0 22px 42px; border-bottom: 1px solid rgba(255,255,255,.1); }
.mnav__col p { margin: 0 0 6px; font-size: 10.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.45); }
.mnav__col { display: grid; align-content: start; }
.mnav .mnav__col a { font-size: 15.5px; font-weight: 600; letter-spacing: 0; padding: 6px 0; color: rgba(255,255,255,.82); }
.mnav .mnav__col a:hover { color: #fff; }
.mnav__ft { grid-column: 1 / -1; position: relative; display: block; height: 150px; border-radius: 18px; overflow: hidden; padding: 0 !important; }
.mnav__ft img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mnav__ft::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.8), transparent 70%); }
.mnav__ft span { position: absolute; z-index: 1; left: 16px; right: 16px; bottom: 14px; display: flex; justify-content: space-between; align-items: end; gap: 10px; }
.mnav__ft b { font-size: 18px; font-weight: 800; letter-spacing: -.02em; }
.mnav__ft em { font-style: normal; font-size: 13px; font-weight: 700; white-space: nowrap; padding: 7px 12px; border-radius: 999px; background: var(--red); }
.mnav__foot { gap: 10px; margin-top: 26px; }
.mnav .mnav__cta { display: grid; gap: 2px; padding: 18px 20px !important; border-radius: 20px; background: var(--red); }
.mnav .mnav__cta b { font-size: 19px; letter-spacing: -.01em; } .mnav .mnav__cta small { font-size: 13px; color: rgba(255,255,255,.82); font-weight: 600; }
.mnav__quick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.mnav .mnav__quick a { font-size: 14.5px; font-weight: 700; letter-spacing: 0; text-align: center; padding: 14px 8px; border-radius: 16px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); }
.mnav .mnav__quick a.mnav__wa { background: #25d366; border-color: #25d366; }
.mnav__langs { display: flex; gap: 6px; margin-top: 6px; }
.mnav .mnav__langs a { font-size: 13px; font-weight: 700; letter-spacing: 0; padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.75); }
.mnav .mnav__langs a.on { background: #fff; color: #0d0d0f; }
@media (max-width: 420px) { .mnav__sub { grid-template-columns: 1fr; padding-left: 42px; } .mnav__l { font-size: 25px !important; } }
@media (prefers-reduced-motion: reduce) { .mnav__row, .mnav__g, .mnav__foot { transition: none; } }
[dir="rtl"] .mnav__sub { padding: 18px 42px 22px 0; } [dir="rtl"] .mnav__row:hover .mnav__l { transform: translateX(-4px); }
body.menu-open .hdr, body.menu-open .hdr.is-solid { background: #0b0b0d !important; color: #fff; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
body.menu-open .hdr .logo__dark { opacity: 0; } body.menu-open .hdr .logo__light { opacity: 1; }

/* ===== Careers ===== */
.cr-hero { padding: calc(var(--hdr) + 36px) 0 clamp(48px, 6vw, 80px); position: relative; overflow: hidden; }
.cr-hero::before { content: ""; position: absolute; width: 760px; height: 760px; right: -220px; top: -260px; border-radius: 50%; background: radial-gradient(closest-side, rgba(244,59,47,.12), transparent); pointer-events: none; }
.cr-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.cr-hiring { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 18px; padding: 8px 14px 8px 12px; border-radius: 999px; background: #0d0d0f; color: #fff; font-size: 13px; font-weight: 700; }
.cr-hiring i { width: 8px; height: 8px; border-radius: 50%; background: #25d366; animation: fqPulse 2s infinite; }
.cr-hero__h { margin: 0 0 24px; font-size: clamp(52px, 7.6vw, 118px); line-height: .9; letter-spacing: -.05em; font-weight: 800; display: grid; }
.cr-hero__h span { display: block; animation: crWord 5.4s infinite; }
.cr-hero__h span:nth-child(2) { animation-delay: 1.8s; } .cr-hero__h span:nth-child(3) { animation-delay: 3.6s; }
@keyframes crWord { 0%, 30% { color: var(--red); transform: translateX(10px); } 34%, 100% { color: var(--ink); transform: none; } }
.cr-hero__p { max-width: 520px; font-size: 18px; line-height: 1.65; color: var(--ink-2); margin: 0 0 30px; }
.cr-hero__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.cr-hero__art { position: relative; padding: 24px 0 40px; }
.cr-hero__photo { margin: 0; border-radius: 32px; overflow: hidden; transform: rotate(1.5deg); box-shadow: 0 50px 100px -50px rgba(13,13,15,.55); }
.cr-hero__photo img { display: block; width: 100%; aspect-ratio: 5 / 4.4; object-fit: cover; animation: abzoom 18s ease-out both; }
.cr-float { position: absolute; z-index: 2; background: #fff; border-radius: 20px; padding: 14px 18px; box-shadow: 0 24px 50px -24px rgba(13,13,15,.4); display: grid; gap: 2px; animation: crFloat 6s ease-in-out infinite; }
.cr-float b { font-size: 20px; letter-spacing: -.02em; } .cr-float b i { font-style: normal; color: var(--red); }
.cr-float small { color: var(--muted); font-size: 12.5px; font-weight: 600; }
.cr-float--a { left: -28px; bottom: 0; } .cr-float--b { right: -10px; top: 0; background: var(--red); color: #fff; animation-delay: -3s; } .cr-float--b small { color: rgba(255,255,255,.8); } .cr-float--b b i { color: #fff; }
.cr-faces { display: flex; margin-bottom: 8px; } .cr-faces img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; object-position: top; border: 2px solid #fff; margin-right: -9px; background: var(--soft); }
@keyframes crFloat { 50% { transform: translateY(-10px); } }
.cr-press { margin-bottom: 0; }

.cr-grow { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 110px) 0; overflow: hidden; }
.cr-grow__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 90px); align-items: end; }
.cr-grow__txt p:not(.eyebrow) { color: rgba(255,255,255,.68); font-size: 17px; line-height: 1.7; max-width: 480px; }
.cr-grow__chart { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; height: 340px; align-items: end; border-bottom: 1px solid rgba(255,255,255,.16); }
.cr-bar { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: stretch; }
.cr-bar__fill { display: block; height: 0; border-radius: 18px 18px 0 0; background: linear-gradient(to top, rgba(244,59,47,.35), var(--red)); transition: height 1.2s var(--ease) var(--d); }
.cr-bar:not(:last-child) .cr-bar__fill { background: rgba(255,255,255,.14); }
.cr-grow__chart.is-on .cr-bar__fill { height: var(--h); }
.cr-bar b { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: clamp(44px, 5vw, 72px); line-height: 1; margin-bottom: 10px; opacity: 0; transform: translateY(12px); transition: opacity .6s, transform .6s var(--ease); transition-delay: calc(var(--d) + .6s); }
.cr-grow__chart.is-on .cr-bar b { opacity: 1; transform: none; }
.cr-bar small { position: absolute; top: 100%; left: 0; margin-top: 12px; font-weight: 800; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.cr-bar em { position: absolute; top: 100%; left: 0; margin-top: 32px; font-style: normal; font-size: 14px; color: rgba(255,255,255,.8); }
.cr-grow__chart { margin-bottom: 64px; }

.cr-roles__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 32px; }
.cr-roles__head > p { margin: 0; color: var(--ink-2); max-width: 380px; }
.cr-roles__list { border-top: 2px solid var(--ink); }
.cr-role { border-bottom: 1px solid var(--line); }
.cr-role summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 70px minmax(0, 1fr) 56px; align-items: center; gap: 16px; padding: 28px 4px; transition: padding .4s var(--ease); }
.cr-role summary::-webkit-details-marker { display: none; }
.cr-role summary:hover { padding-left: 14px; }
.cr-role__n { font-family: var(--serif); font-style: italic; font-size: 30px; color: var(--muted); transition: color .3s; }
.cr-role__t b { display: block; font-size: clamp(24px, 3vw, 40px); letter-spacing: -.035em; line-height: 1.1; transition: color .3s; }
.cr-role__t small { display: block; margin-top: 6px; color: var(--muted); font-weight: 600; }
.cr-role summary:hover .cr-role__t b, .cr-role[open] .cr-role__t b, .cr-role[open] .cr-role__n { color: var(--red); }
.cr-role__go { width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--line); position: relative; transition: background .3s, border-color .3s, transform .45s var(--ease); }
.cr-role__go::before, .cr-role__go::after { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 2px; margin: -1px 0 0 -8px; background: currentColor; transition: transform .45s var(--ease); }
.cr-role__go::after { transform: rotate(90deg); }
.cr-role[open] .cr-role__go { background: var(--red); border-color: var(--red); color: #fff; transform: rotate(180deg); } .cr-role[open] .cr-role__go::after { transform: rotate(0); }
.cr-role::details-content { block-size: 0; overflow: hidden; transition: block-size .45s var(--ease), content-visibility .45s allow-discrete; }
.cr-role[open]::details-content { block-size: auto; }
.cr-role__b { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto; gap: 28px; align-items: start; padding: 0 4px 32px 90px; }
.cr-role__b p { margin: 0; color: var(--ink-2); font-size: 16.5px; line-height: 1.7; }
.cr-role__b ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cr-role__b li { display: flex; gap: 10px; font-weight: 600; } .cr-role__b li::before { content: "✦"; color: var(--red); font-size: 12px; margin-top: 3px; }

.cr-voices { background: var(--soft); padding: clamp(64px, 8vw, 110px) 0; overflow: hidden; }
.cr-voices__head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.cr-voices__stage { position: relative; display: grid; }
.cr-voice { grid-area: 1 / 1; margin: 0; display: grid; grid-template-columns: 320px minmax(0, 1fr); grid-template-rows: auto auto; gap: 8px 56px; align-items: center; max-width: 1040px; margin-inline: auto; opacity: 0; visibility: hidden; transition: opacity .6s var(--ease), visibility .6s; }
.cr-voice.is-on { opacity: 1; visibility: visible; }
.cr-voice__img { grid-row: 1 / 3; border-radius: 30px; overflow: hidden; aspect-ratio: 4 / 5; background: #d4d4d4; transform: rotate(-2deg) scale(.96); transition: transform 1s var(--ease); box-shadow: 0 40px 70px -40px rgba(13,13,15,.5); }
.cr-voice.is-on .cr-voice__img { transform: rotate(-2deg); }
.cr-voice__img img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.cr-voice blockquote { margin: 0; align-self: end; font-family: var(--serif); font-style: italic; font-size: clamp(30px, 3.6vw, 52px); line-height: 1.12; letter-spacing: -.01em; transform: translateY(16px); transition: transform .9s var(--ease); }
.cr-voice.is-on blockquote { transform: none; }
.cr-voice blockquote span { color: var(--red); }
.cr-voice figcaption { align-self: start; margin-top: 18px; display: grid; color: var(--muted); font-weight: 600; } .cr-voice figcaption b { color: var(--ink); font-size: 18px; }
.cr-voices__nav { display: flex; justify-content: center; gap: 10px; margin-top: 40px; }
.cr-voices__nav button { position: relative; width: 58px; height: 58px; padding: 0; border: 0; border-radius: 50%; overflow: hidden; cursor: pointer; background: #ddd; opacity: .5; transition: opacity .3s, transform .3s var(--ease); }
.cr-voices__nav button img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.cr-voices__nav button.is-on, .cr-voices__nav button:hover { opacity: 1; transform: translateY(-3px); }
.cr-voices__nav button.is-on i { position: absolute; inset: 0; border-radius: 50%; box-shadow: inset 0 0 0 3px var(--red); }

.cr-academy__in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.cr-academy__txt > p:not(.eyebrow) { color: var(--ink-2); font-size: 17px; line-height: 1.7; }
.cr-academy__k { list-style: none; padding: 0; margin: 28px 0 0; display: flex; gap: 32px; }
.cr-academy__k li { display: grid; color: var(--muted); font-weight: 600; font-size: 14px; } .cr-academy__k b { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: 54px; line-height: 1; color: var(--ink); }
.cr-books { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; height: 420px; }
.cr-book { position: relative; flex: 0 0 74px; border-radius: 16px; overflow: hidden; background: #0d0d0f; color: #fff; transition: flex-basis .6s var(--ease), background .4s; cursor: pointer; }
.cr-book:nth-child(odd) { background: #1d1d21; } .cr-book:nth-child(3n) { background: var(--red); }
.cr-book.is-open { flex: 1 1 auto; }
.cr-book__spine { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 18px 0; transition: opacity .3s; }
.cr-book__spine em { font-family: var(--serif); font-size: 20px; opacity: .7; }
.cr-book__spine b { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 17px; letter-spacing: .02em; white-space: nowrap; }
.cr-book.is-open .cr-book__spine { opacity: 0; }
.cr-book__b { position: absolute; inset: 0; padding: 28px; display: flex; flex-direction: column; justify-content: flex-end; opacity: 0; transform: translateY(14px); transition: opacity .4s .15s, transform .5s .15s var(--ease); min-width: 280px; }
.cr-book.is-open .cr-book__b { opacity: 1; transform: none; }
.cr-book__b small { font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; opacity: .7; }
.cr-book__b h3 { margin: 8px 0 10px; font-size: 30px; letter-spacing: -.03em; }
.cr-book__b p { margin: 0; color: rgba(255,255,255,.78); line-height: 1.6; max-width: 360px; }

.cr-life { padding: clamp(64px, 8vw, 110px) 0; overflow: hidden; }
.cr-life__head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 30px; }
.cr-life__track { display: flex; gap: 16px; overflow-x: auto; padding: 0 max(var(--gut), calc((100vw - 1240px) / 2)) 10px; scroll-snap-type: x proximity; scrollbar-width: none; cursor: grab; user-select: none; }
.cr-life__track::-webkit-scrollbar { display: none; } .cr-life__track.is-drag { cursor: grabbing; scroll-snap-type: none; }
.cr-life__i { position: relative; flex: 0 0 clamp(260px, 30vw, 420px); height: clamp(300px, 34vw, 440px); margin: 0; border-radius: 26px; overflow: hidden; scroll-snap-align: start; align-self: end; }
.cr-life__i.is-tall { height: clamp(340px, 40vw, 520px); }
.cr-life__i img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); pointer-events: none; }
.cr-life__i:hover img { transform: scale(1.05); }
.cr-life__i figcaption { position: absolute; left: 16px; bottom: 16px; padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.92); font-weight: 700; font-size: 14px; }

.cr-apply { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 110px) 0; position: relative; overflow: hidden; }
.cr-apply::before { content: ""; position: absolute; width: 700px; height: 700px; left: -260px; bottom: -340px; border-radius: 50%; background: radial-gradient(closest-side, rgba(244,59,47,.25), transparent); }
.cr-apply__in { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(36px, 6vw, 90px); align-items: start; }
.cr-apply__l > p:not(.eyebrow) { color: rgba(255,255,255,.7); font-size: 17px; line-height: 1.7; }
.cr-apply__next { list-style: none; margin: 30px 0; padding: 0; display: grid; gap: 4px; counter-reset: n; }
.cr-apply__next li { counter-increment: n; display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; column-gap: 14px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.65); }
.cr-apply__next li::before { content: "0" counter(n); grid-row: 1 / 3; font-family: var(--serif); font-style: italic; font-size: 28px; color: var(--red); }
.cr-apply__next b { color: #fff; font-size: 17px; }
.cr-apply__alt a { color: #fff; font-weight: 700; }
.cr-form { background: #fff; color: var(--ink); border-radius: 28px; padding: clamp(22px, 3vw, 36px); box-shadow: 0 50px 100px -50px rgba(0,0,0,.7); }
.cr-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.cr-drop { display: flex !important; align-items: center; gap: 16px; padding: 18px; border-radius: 18px; border: 1.5px dashed #cfc8bb; background: var(--soft); cursor: pointer; transition: border-color .2s, background .2s; font-weight: 400 !important; }
.cr-drop:hover, .cr-drop.is-over { border-color: var(--red); background: #fff4f2; }
.cr-drop.has-file { border-style: solid; border-color: #25a55a; background: #effaf3; }
.cr-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cr-drop__ic { flex: none; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--red); color: #fff; font-weight: 800; font-size: 20px; }
.cr-drop.has-file .cr-drop__ic { background: #25a55a; }
.cr-drop__t { display: grid; } .cr-drop__t b { font-size: 15.5px; color: var(--ink); word-break: break-all; } .cr-drop__t small { color: var(--muted); font-size: 13px; }
.cr-form__note { margin: 12px 0 0; text-align: center; color: var(--muted); font-size: 13px; }

@media (max-width: 1000px) {
  .cr-hero__in, .cr-grow__in, .cr-academy__in, .cr-apply__in { grid-template-columns: 1fr; }
  .cr-float--a { left: 8px; } .cr-float--b { right: 8px; }
  .cr-role__b { grid-template-columns: 1fr; padding-left: 90px; gap: 18px; }
  .cr-voice { grid-template-columns: 1fr; text-align: center; justify-items: center; gap: 22px; }
  .cr-voice__img { grid-row: auto; width: 200px; }
  .cr-books { height: auto; flex-direction: column; }
  .cr-book { flex: none; height: 64px; transition: height .6s var(--ease); }
  .cr-book.is-open { height: 220px; }
  .cr-book__spine { flex-direction: row; justify-content: flex-start; gap: 16px; padding: 0 20px; }
  .cr-book__spine b { writing-mode: initial; transform: none; }
  .cr-book__b { min-width: 0; padding: 22px; }
}
@media (max-width: 600px) {
  .cr-hero { padding-top: calc(var(--hdr) + 20px); }
  .cr-hero__h { font-size: clamp(46px, 14vw, 64px); }
  .cr-hero__btns .btn { flex: 1; }
  .cr-float { padding: 10px 14px; } .cr-float b { font-size: 16px; }
  .cr-grow__chart { height: 240px; gap: 10px; }
  .cr-bar em { font-size: 12px; }
  .cr-role summary { grid-template-columns: 40px minmax(0, 1fr) 44px; gap: 10px; padding: 22px 0; }
  .cr-role__n { font-size: 22px; } .cr-role__go { width: 44px; height: 44px; }
  .cr-role__b { padding-left: 0; }
  .cr-form__grid { grid-template-columns: 1fr; }
  .cr-life__head { display: block; }
}
@media (prefers-reduced-motion: reduce) { .cr-hero__h span, .cr-float { animation: none; } }
[dir="rtl"] .cr-role summary:hover { padding-left: 4px; padding-right: 14px; } [dir="rtl"] .cr-role__b { padding: 0 90px 32px 4px; }
@media (max-width: 600px) { .ldr-pressbar__in { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; } .ldr-pressbar__in::-webkit-scrollbar { display: none; } .ldr-pressbar__in > * { flex: none; white-space: nowrap; } }
/* Mobile menu: wide screens get a two-column layout */
body.menu-open .hdr, body.menu-open .hdr.is-solid { background: transparent !important; }
.mnav::before { background: radial-gradient(60% 50% at 100% 0%, rgba(244,59,47,.2), transparent 70%), radial-gradient(40% 40% at 0% 100%, rgba(244,59,47,.08), transparent 70%); }
.mnav__wrap { position: relative; display: grid; gap: 28px; max-width: 1240px; margin: 0 auto; }
.mnav__in { max-width: none; }
.mnav__side { display: none; }
@media (min-width: 760px) {
  .mnav__wrap { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
  .mnav__l { font-size: clamp(30px, 3.6vw, 44px) !important; }
  .mnav__row { padding: 16px 0 !important; grid-template-columns: 46px 1fr 44px; }
  .mnav__n { font-size: 18px; }
  .mnav__side { display: grid; gap: 16px; position: sticky; top: 0; opacity: 0; transform: translateY(18px); transition: opacity .5s var(--ease) .25s, transform .6s var(--ease) .25s; }
  .mnav.is-open .mnav__side { opacity: 1; transform: none; }
  .mnav__sub { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-left: 54px; }
  .mnav__ft { grid-column: 1 / -1; }
}
.mnav__hero { position: relative; display: block; border-radius: 24px; overflow: hidden; aspect-ratio: 4 / 4.6; padding: 0 !important; }
.mnav__hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.mnav__hero:hover img { transform: scale(1.05); }
.mnav__hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.85), transparent 60%); }
.mnav__hero span { position: absolute; z-index: 1; left: 22px; right: 22px; bottom: 20px; display: grid; gap: 6px; }
.mnav__hero small { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.mnav__hero b { font-size: 26px; letter-spacing: -.03em; line-height: 1.1; }
.mnav__hero em { font-style: normal; font-size: 14px; font-weight: 700; color: rgba(255,255,255,.8); }
.mnav__contact { border-radius: 20px; padding: 20px 22px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); }
.mnav__contact p { margin: 0 0 12px; color: rgba(255,255,255,.8); font-size: 15px; line-height: 1.55; } .mnav__contact p:last-child { margin: 0; }
.mnav__contact .mnav__k { margin: 0 0 4px; font-size: 10.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.45); }
.mnav .mnav__contact a { font-size: 15px; font-weight: 700; letter-spacing: 0; padding: 0; }
@media (min-width: 760px) { .mnav__sub { grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); } }

/* ===== Service hero variants ===== */
.sv-hero--split { background: #fff; color: var(--ink); min-height: 0; align-items: center; }
.sv-hero--split::after { display: none; }
.sv-hero--split > img { position: absolute; inset: calc(var(--hdr) + 12px) var(--gut) 24px auto; width: min(46vw, 640px); height: auto; border-radius: 32px; animation: none; transform: rotate(1.5deg); box-shadow: 0 50px 100px -50px rgba(13,13,15,.55); }
.sv-hero--split .sv-hero__in { padding-block: calc(var(--hdr) + 48px) 72px; }
.sv-hero--split .sv-hero__box { max-width: min(52%, 640px); }
.sv-hero--split .sv-hero__p { color: var(--ink-2); }
.sv-hero--split .sv-trust li { color: var(--muted); } .sv-hero--split .sv-trust b { color: var(--ink); }
.sv-hero--split .sv-trust { border-color: var(--line); }
.sv-hero--split::before { content: ""; position: absolute; width: 640px; height: 640px; right: -120px; top: -200px; border-radius: 50%; background: radial-gradient(closest-side, rgba(244,59,47,.12), transparent); }
.sv-hero--card { align-items: end; min-height: min(92vh, 860px); }
.sv-hero--card::after { background: linear-gradient(0deg, rgba(0,0,0,.35), rgba(0,0,0,0) 50%); }
.sv-hero--card .sv-hero__in { padding-block: calc(var(--hdr) + 40px) 40px; }
.sv-hero--card .sv-hero__box { max-width: 700px; padding: clamp(24px, 3vw, 40px); border-radius: 30px; background: rgba(13,13,15,.7); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 40px 80px -40px rgba(0,0,0,.6); }
.sv-hero--card .sv-hero__box .sv-hero__h { font-size: clamp(40px, 5vw, 76px); }
@media (max-width: 900px) {
  .sv-hero--split > img { position: relative; inset: auto; width: calc(100% - 2 * var(--gut)); margin: calc(var(--hdr) + 12px) auto 0; aspect-ratio: 16 / 11; object-fit: cover; transform: none; grid-row: 1; }
  .sv-hero--split .sv-hero__in { padding-top: 28px; } .sv-hero--split .sv-hero__box { max-width: none; }
}

/* ===== Features: list with sticky photo ===== */
.sv-list__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 90px); align-items: start; }
.sv-list__media { position: sticky; top: 100px; aspect-ratio: 4 / 4.4; border-radius: 30px; overflow: hidden; background: var(--soft); }
.sv-list__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity .7s var(--ease), transform 1.4s var(--ease); }
.sv-list__media img.is-on { opacity: 1; transform: none; }
.sv-list__items { list-style: none; margin: 30px 0 0; padding: 0; border-top: 1px solid var(--line); }
.sv-list__items li { display: grid; grid-template-columns: 56px 1fr; gap: 12px; padding: 26px 0; border-bottom: 1px solid var(--line); cursor: pointer; outline: none; transition: padding .4s var(--ease); }
.sv-list__items li span { font-family: var(--serif); font-style: italic; font-size: 28px; color: var(--muted); transition: color .3s; }
.sv-list__items h3 { margin: 0 0 6px; font-size: clamp(21px, 2vw, 27px); letter-spacing: -.02em; transition: color .3s; }
.sv-list__items p { margin: 0; color: var(--ink-2); line-height: 1.65; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .5s var(--ease), opacity .4s; }
.sv-list__items li.is-on { padding-left: 10px; } .sv-list__items li.is-on span, .sv-list__items li.is-on h3 { color: var(--red); }
.sv-list__items li.is-on p { max-height: 160px; opacity: 1; }
@media (max-width: 900px) { .sv-list__in { grid-template-columns: 1fr; } .sv-list__media { position: relative; top: auto; aspect-ratio: 16 / 10; } .sv-list__items p { max-height: none; opacity: 1; } }

/* ===== Features: bento ===== */
.sv-bento { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 240px; gap: 14px; }
.sv-bento__i { position: relative; border-radius: 26px; overflow: hidden; grid-column: span 2; color: #fff; }
.sv-bento__i:nth-child(1) { grid-column: span 4; grid-row: span 2; } .sv-bento__i:nth-child(2) { grid-column: span 2; grid-row: span 2; }
.sv-bento--3 .sv-bento__i:nth-child(3) { grid-column: span 6; }
.sv-bento--5 .sv-bento__i:nth-child(n+3) { grid-column: span 2; }
.sv-bento__i img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.sv-bento__i:hover img { transform: scale(1.05); }
.sv-bento__i::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.82), rgba(0,0,0,.05) 60%); }
.sv-bento__i > div { position: absolute; z-index: 1; left: 24px; right: 24px; bottom: 22px; }
.sv-bento__i span { font-family: var(--serif); font-style: italic; font-size: 24px; color: var(--red); }
.sv-bento__i h3 { margin: 4px 0 6px; font-size: clamp(20px, 2vw, 28px); letter-spacing: -.02em; }
.sv-bento__i p { margin: 0; color: rgba(255,255,255,.78); font-size: 14.5px; line-height: 1.55; max-width: 460px; }
@media (max-width: 900px) { .sv-bento { grid-template-columns: 1fr 1fr; grid-auto-rows: 220px; } .sv-bento__i, .sv-bento__i:nth-child(n) { grid-column: span 1; grid-row: span 1; } .sv-bento__i:nth-child(1) { grid-column: span 2; } }
@media (max-width: 560px) { .sv-bento { grid-template-columns: 1fr; } .sv-bento__i:nth-child(n) { grid-column: span 1; } }

/* ===== Signature sections ===== */
.sg-note { margin: 12px 0 0; font-size: 12px; color: var(--muted); }
.sg-ticks { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 12px; }
.sg-ticks li { display: flex; gap: 12px; align-items: center; font-weight: 600; }
.sg-ticks li::before { content: "✓"; flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: rgba(244,59,47,.12); color: var(--red); font-size: 13px; font-weight: 800; }
[class^="sg-"] > .wrap > div > p:not(.eyebrow):not(.sg-note), .sg-pm__txt > p:not(.eyebrow), .sg-paper__txt > p:not(.eyebrow), .sg-chat__txt > p:not(.eyebrow), .sg-cal__txt > p:not(.eyebrow) { font-size: 17px; line-height: 1.7; color: var(--ink-2); max-width: 520px; }

.sg-pm { padding: clamp(64px, 8vw, 110px) 0; background: linear-gradient(180deg, #fff, var(--soft)); }
.sg-pm__in { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.sg-pm__dash { background: #fff; border-radius: 26px; padding: 16px; box-shadow: 0 60px 120px -60px rgba(13,13,15,.5), 0 0 0 1px rgba(13,13,15,.05); transform: perspective(1400px) rotateY(-6deg) rotateX(3deg); transition: transform .8s var(--ease); }
.sg-pm__dash:hover { transform: none; }
.sg-pm__bar { display: flex; align-items: center; gap: 6px; padding: 4px 6px 14px; } .sg-pm__bar span { width: 10px; height: 10px; border-radius: 50%; background: #e5e2dc; } .sg-pm__bar b { margin-left: 10px; font-size: 13px; color: var(--muted); }
.sg-pm__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sg-pm__grid > div { border-radius: 18px; background: var(--soft); padding: 18px; }
.sg-pm__grid small { display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.sg-pm__k b { display: block; font-size: 30px; letter-spacing: -.03em; } .sg-pm__k em { font-style: normal; font-size: 13px; color: var(--ink-2); }
.sg-pm__k--red { background: var(--red) !important; color: #fff; } .sg-pm__k--red small, .sg-pm__k--red em { color: rgba(255,255,255,.82); }
.sg-pm__tasks p { display: flex; align-items: center; gap: 10px; margin: 8px 0 0; font-weight: 700; font-size: 14px; } .sg-pm__tasks p span { margin-left: auto; font-weight: 500; color: var(--muted); font-size: 12.5px; }
.sg-pm__tasks i { width: 10px; height: 10px; border-radius: 50%; } .sg-pm__tasks i.ok { background: #25a55a; } .sg-pm__tasks i.wait { background: #f0a020; }
.sg-pm__bars { display: flex; gap: 8px; align-items: end; height: 80px; margin-bottom: 8px; } .sg-pm__bars span { flex: 1; height: var(--h); border-radius: 6px 6px 2px 2px; background: #d9d5cd; } .sg-pm__bars span.is-you { background: var(--red); }
.sg-pm__chart em { font-style: normal; font-size: 13px; color: var(--ink-2); }

.sg-calc { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 110px) 0; }
.sg-calc__head { text-align: center; max-width: 640px; margin: 0 auto 36px; } .sg-calc__head p:not(.eyebrow) { color: rgba(255,255,255,.66); }
.sg-calc__box { max-width: 1040px; margin: 0 auto; background: #fff; color: var(--ink); border-radius: 30px; padding: clamp(18px, 3vw, 32px); box-shadow: 0 60px 120px -60px rgba(244,59,47,.45); }
.sg-calc__box .tool { margin: 0; }

.sg-paper { padding: clamp(64px, 8vw, 110px) 0; background: var(--soft); }
.sg-paper__in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(36px, 6vw, 80px); align-items: center; }
.sg-docs { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 10px; }
.sg-docs li { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 16px; background: #fff; color: var(--ink-2); font-size: 14.5px; }
.sg-docs b { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--ink); font-weight: 500; }
.sg-paper__sheet { position: relative; background: #fff; border-radius: 22px; padding: clamp(18px, 3vw, 30px); box-shadow: 0 40px 80px -40px rgba(13,13,15,.35); transform: rotate(-1deg); }
.sg-paper__sheet .tool { margin: 0; }
.sg-paper__stamp { position: absolute; right: -14px; top: -22px; width: 86px; height: 86px; border-radius: 50%; border: 3px solid var(--red); color: var(--red); display: grid; place-items: center; font-weight: 900; letter-spacing: .1em; transform: rotate(14deg); background: rgba(255,255,255,.9); }

.sg-snag { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 110px) 0; }
.sg-snag__in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(36px, 6vw, 80px); align-items: center; }
.sg-snag__txt > p:not(.eyebrow) { color: rgba(255,255,255,.68); }
.sg-snag__info { margin-top: 26px; padding: 20px 22px; border-radius: 20px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-left: 3px solid var(--red); min-height: 110px; }
.sg-snag__info b { font-size: 20px; } .sg-snag__info p { margin: 6px 0 0; color: rgba(255,255,255,.75); }
.sg-snag__plan { position: relative; color: rgba(255,255,255,.55); background: radial-gradient(circle at 50% 50%, #1a1a1f, #111114); border-radius: 26px; padding: 24px; }
.sg-snag__plan svg { display: block; width: 100%; }
.sg-snag__dot { position: absolute; transform: translate(-50%, -50%); width: 40px; height: 40px; margin: 12px 0 0 12px; border: 0; border-radius: 50%; background: rgba(244,59,47,.25); cursor: pointer; display: grid; place-items: center; padding: 0; }
.sg-snag__dot span { width: 26px; height: 26px; border-radius: 50%; background: var(--red); color: #fff; font-weight: 800; font-size: 12px; display: grid; place-items: center; }
.sg-snag__dot::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--red); animation: sgPing 2.2s infinite; }
.sg-snag__dot.is-on span { background: #fff; color: var(--red); } .sg-snag__dot.is-on { background: rgba(255,255,255,.25); }
@keyframes sgPing { from { transform: scale(.7); opacity: 1; } to { transform: scale(1.7); opacity: 0; } }

.sg-chat { padding: clamp(64px, 8vw, 110px) 0; }
.sg-chat__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.sg-phone { justify-self: center; width: min(380px, 100%); border-radius: 40px; padding: 12px; background: #0d0d0f; box-shadow: 0 60px 120px -50px rgba(13,13,15,.6); }
.sg-phone__top { display: flex; align-items: center; gap: 10px; padding: 12px 14px; color: #fff; background: #1f2c33; border-radius: 28px 28px 0 0; } .sg-phone__top img { width: 34px; height: 34px; border-radius: 50%; background: #fff; } .sg-phone__top span { display: grid; } .sg-phone__top small { font-size: 11px; opacity: .7; }
.sg-phone__msgs { background: #ece5dd; padding: 16px 12px; border-radius: 0 0 28px 28px; display: grid; gap: 8px; min-height: 400px; align-content: start; }
.sg-phone__msgs p { margin: 0; max-width: 82%; padding: 9px 12px 18px; border-radius: 12px; font-size: 14px; line-height: 1.45; position: relative; box-shadow: 0 1px 1px rgba(0,0,0,.08); opacity: 0; transform: translateY(10px); animation: sgMsg .5s var(--ease) forwards; }
.sg-phone__msgs p:nth-child(2) { animation-delay: .6s; } .sg-phone__msgs p:nth-child(3) { animation-delay: 1.2s; } .sg-phone__msgs p:nth-child(4) { animation-delay: 1.8s; } .sg-phone__msgs p:nth-child(5) { animation-delay: 2.4s; }
.sg-phone__msgs .out { justify-self: end; background: #dcf8c6; } .sg-phone__msgs .in { justify-self: start; background: #fff; }
.sg-phone__msgs time { position: absolute; right: 8px; bottom: 3px; font-size: 10px; color: #8a8a8a; }
.sg-phone__msgs .in--card { display: grid; gap: 6px; padding-bottom: 10px; } .sg-phone__msgs .in--card small { color: var(--muted); font-size: 11px; }
.sg-steps { display: flex; gap: 4px; } .sg-steps i { flex: 1; height: 5px; border-radius: 3px; background: #e2ddd5; } .sg-steps i.on { background: #25a55a; }
.sg-phone .sg-note { text-align: center; color: rgba(255,255,255,.4); }
@keyframes sgMsg { to { opacity: 1; transform: none; } }

.sg-est { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 110px) 0; }
.sg-est__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.sg-est__in > div > p:not(.eyebrow) { color: rgba(255,255,255,.68) !important; }
.sg-est__box { background: #fff; color: var(--ink); border-radius: 28px; padding: clamp(20px, 3vw, 32px); }
.sg-est__f { display: grid; grid-template-columns: 1.4fr 1fr; gap: 12px; }
.sg-est__f label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.sg-est__f select { height: 52px; border-radius: 14px; border: 1px solid var(--line); padding: 0 14px; font: inherit; font-size: 15px; background: #fff; }
.sg-est__out { margin: 20px 0; padding: 22px; border-radius: 20px; background: var(--soft); }
.sg-est__out small { display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.sg-est__out b { display: block; font-size: clamp(36px, 4vw, 54px); letter-spacing: -.04em; margin: 4px 0; }
.sg-est__out span { font-size: 13.5px; color: var(--ink-2); }

.sg-gv { padding: clamp(64px, 8vw, 110px) 0; background: linear-gradient(135deg, #fff 0%, #fbf3ea 100%); overflow: hidden; }
.sg-gv__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.sg-gv__card { background: #fff; border-radius: 28px; padding: clamp(22px, 3vw, 36px); box-shadow: 0 40px 80px -50px rgba(13,13,15,.4); }
.sg-gv__l { display: grid; gap: 8px; margin-top: 20px; font-size: 13px; font-weight: 700; } .sg-gv__l input { height: 60px; border-radius: 16px; border: 1px solid var(--line); padding: 0 18px; font: inherit; font-size: 22px; font-weight: 800; letter-spacing: -.02em; }
.sg-gv__seg { display: inline-flex; margin: 12px 0 0; padding: 4px; border-radius: 999px; background: var(--soft); } .sg-gv__seg button { border: 0; background: none; padding: 10px 18px; border-radius: 999px; font: inherit; font-weight: 700; cursor: pointer; } .sg-gv__seg button.is-on { background: #0d0d0f; color: #fff; }
.sg-gv__res { margin-top: 18px; padding: 18px 20px; border-radius: 18px; font-weight: 700; display: flex; gap: 12px; align-items: center; }
.sg-gv__res.is-yes { background: #effaf3; color: #157a3e; } .sg-gv__res.is-no { background: #fff4f2; color: #b8231a; }
.sg-gv__res i { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-style: normal; } .sg-gv__res.is-yes i { background: #25a55a; } .sg-gv__res.is-no i { background: var(--red); }
.sg-gv__visual { display: grid; place-items: center; perspective: 1200px; }
.sg-gv__pass { width: min(420px, 100%); aspect-ratio: 1.58; border-radius: 26px; padding: 28px; color: #3b2a12; background: linear-gradient(135deg, #f3dfb4, #c9a96e 45%, #e9d3a1 70%, #b58f4e); box-shadow: 0 50px 90px -40px rgba(120,80,20,.6); display: grid; align-content: space-between; transform: rotateY(-14deg) rotateX(8deg); animation: sgPass 7s ease-in-out infinite; position: relative; overflow: hidden; }
.sg-gv__pass::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.55) 45%, transparent 60%); transform: translateX(-100%); animation: sgShine 4s ease-in-out infinite; }
.sg-gv__chip { width: 52px; height: 40px; border-radius: 8px; background: linear-gradient(135deg, #e8e2d4, #a8a08e); }
.sg-gv__pass small { font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; } .sg-gv__pass b { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: 46px; line-height: 1; } .sg-gv__pass em { font-style: normal; font-weight: 800; } .sg-gv__pass i { font-style: normal; font-size: 13px; opacity: .8; }
@keyframes sgPass { 50% { transform: rotateY(-4deg) rotateX(2deg) translateY(-8px); } }
@keyframes sgShine { 60%, 100% { transform: translateX(100%); } }

.sg-cal { padding: clamp(64px, 8vw, 110px) 0; background: var(--soft); }
.sg-cal__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.sg-cal__box { background: #fff; border-radius: 28px; padding: 24px; box-shadow: 0 40px 80px -50px rgba(13,13,15,.4); }
.sg-cal__h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; } .sg-cal__h b { font-size: 18px; } .sg-cal__h span { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--muted); } .sg-cal__h i { width: 12px; height: 12px; border-radius: 4px; background: var(--red); } .sg-cal__h i.free { background: var(--soft); border: 1px solid var(--line); }
.sg-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.sg-cal__grid em { font-style: normal; text-align: center; font-size: 11px; font-weight: 800; color: var(--muted); padding-bottom: 4px; }
.sg-cal__grid span { aspect-ratio: 1; display: grid; place-items: center; border-radius: 10px; background: var(--soft); font-size: 13px; font-weight: 700; }
.sg-cal__grid span.is-b { background: var(--red); color: #fff; animation: sgPop .4s var(--ease) both; animation-delay: calc(var(--i) * 30ms); }
@keyframes sgPop { from { transform: scale(.6); opacity: 0; } }

.sg-yield { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 110px) 0; }
.sg-yield__in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.sg-yield__in > div > p:not(.eyebrow) { color: rgba(255,255,255,.68) !important; }
.link-arrow--light { color: #fff; }
.sg-yield__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.sg-yield__list a { position: relative; display: flex; justify-content: space-between; align-items: center; padding: 18px 20px; border-radius: 16px; overflow: hidden; background: rgba(255,255,255,.05); color: #fff; text-decoration: none; }
.sg-yield__list i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: linear-gradient(90deg, rgba(244,59,47,.55), rgba(244,59,47,.2)); transition: width 1.2s var(--ease) var(--d); }
.sg-yield__list.is-on i { width: var(--w); }
.sg-yield__list span, .sg-yield__list b { position: relative; z-index: 1; } .sg-yield__list span { font-weight: 700; } .sg-yield__list b { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: 28px; }
.sg-yield__list a:hover { background: rgba(255,255,255,.1); }

.sg-mk { padding: clamp(64px, 8vw, 110px) 0; background: linear-gradient(180deg, var(--soft), #fff); overflow: hidden; }
.sg-mk__head { text-align: center; max-width: 640px; margin: 0 auto 44px; } .sg-mk__head p:not(.eyebrow) { color: var(--ink-2); }
.sg-mk__phones { display: flex; justify-content: center; align-items: center; gap: clamp(14px, 3vw, 40px); }
.sg-mk__ph { position: relative; width: 270px; flex: none; }
.sg-mk__ph:nth-child(1) { transform: rotate(-5deg) translateY(30px); } .sg-mk__ph:nth-child(3) { transform: rotate(5deg) translateY(30px); }
.sg-mk__ph--mid { z-index: 1; transform: scale(1.06); }
.sg-mk__lbl { display: block; text-align: center; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; }
.sg-mk__scr { position: relative; height: 520px; border-radius: 38px; overflow: hidden; border: 10px solid #0d0d0f; background: #fff; box-shadow: 0 50px 100px -50px rgba(13,13,15,.6); }
.sg-mk__scr > img { width: 100%; height: 52%; object-fit: cover; display: block; }
.sg-mk__pf { padding: 16px; display: grid; gap: 6px; } .sg-mk__pf b { font-size: 20px; letter-spacing: -.02em; } .sg-mk__pf span { font-weight: 700; font-size: 14px; line-height: 1.3; } .sg-mk__pf em { font-style: normal; font-size: 12.5px; color: var(--muted); } .sg-mk__pf i { font-style: normal; margin-top: 6px; display: inline-flex; width: max-content; padding: 5px 10px; border-radius: 999px; background: #fff0ee; color: var(--red); font-size: 11.5px; font-weight: 800; }
.sg-mk__scr--reel > img { height: 100%; position: absolute; inset: 0; }
.sg-mk__reel { position: absolute; inset: auto 0 0; padding: 18px; color: #fff; background: linear-gradient(to top, rgba(0,0,0,.75), transparent); display: grid; gap: 4px; }
.sg-mk__play { position: absolute; left: 50%; top: -220px; transform: translateX(-50%); width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.25); backdrop-filter: blur(8px); font-style: normal; font-size: 22px; }
.sg-mk__scr--wa { background: #ece5dd; padding: 18px 12px; display: grid; align-content: start; gap: 8px; }
.sg-mk__scr--wa p { margin: 0; max-width: 86%; padding: 8px; border-radius: 12px; font-size: 13.5px; line-height: 1.4; }
.sg-mk__scr--wa .in { background: #fff; } .sg-mk__scr--wa .out { background: #dcf8c6; justify-self: end; }
.sg-mk__scr--wa img { width: 100%; height: 150px; object-fit: cover; border-radius: 8px; display: block; margin-bottom: 6px; }
@media (max-width: 1000px) {
  .sg-pm__in, .sg-paper__in, .sg-snag__in, .sg-chat__in, .sg-est__in, .sg-gv__in, .sg-cal__in, .sg-yield__in { grid-template-columns: 1fr; }
  .sg-pm__dash { transform: none; }
  .sg-mk__phones { overflow-x: auto; justify-content: flex-start; padding: 20px var(--gut) 40px; margin: 0 calc(var(--gut) * -1); scroll-snap-type: x mandatory; }
  .sg-mk__ph, .sg-mk__ph:nth-child(n) { transform: none; scroll-snap-align: center; }
}
@media (max-width: 560px) { .sg-pm__grid { grid-template-columns: 1fr; } .sg-est__f { grid-template-columns: 1fr; } .sg-docs li { grid-template-columns: 1fr; gap: 2px; } }
@media (prefers-reduced-motion: reduce) { .sg-gv__pass, .sg-gv__pass::after, .sg-snag__dot::before { animation: none; } .sg-phone__msgs p { animation: none; opacity: 1; transform: none; } }
.sv-hero--split .sv-trust li { background: var(--soft); backdrop-filter: none; }
.sv-hero .crumbs { text-shadow: 0 1px 8px rgba(0,0,0,.35); } .sv-hero--split .crumbs { text-shadow: none; }
.fq__ask { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; padding: 12px 18px; border-radius: 999px; border: 1px solid var(--line); font-size: 14.5px; color: var(--ink-2); text-decoration: none; transition: border-color .25s, background .25s; }
.fq__ask b { color: var(--ink); } .fq__ask i { font-style: normal; color: var(--red); transition: transform .3s var(--ease); }
.fq__ask:hover { border-color: var(--ink); } .fq__ask:hover i { transform: translateX(4px); }
@media (max-width: 900px) { .fq__ask { order: 2; margin-top: 14px; } }

/* ===== Service hero entrances ===== */
.sv-anim--wipe > img { animation: svWipe 1.6s cubic-bezier(.7,0,.2,1) both; }
@keyframes svWipe { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }
.sv-hero--split.sv-anim--wipe > img { animation: svWipe 1.4s cubic-bezier(.7,0,.2,1) .1s both; }
.sv-anim--blur > img { animation: svBlur 2.2s var(--ease) both; }
@keyframes svBlur { from { filter: blur(24px) saturate(.4); transform: scale(1.18); } to { filter: none; transform: scale(1); } }
.sv-hero--split.sv-anim--blur > img { animation: svBlurS 1.8s var(--ease) both; }
@keyframes svBlurS { from { filter: blur(20px); transform: rotate(6deg) scale(.9); opacity: 0; } to { filter: none; transform: rotate(1.5deg); opacity: 1; } }
.sv-anim--pan > img { width: 116%; max-width: none; animation: svPan 26s ease-in-out infinite alternate; }
@keyframes svPan { from { transform: translateX(0); } to { transform: translateX(-12%); } }
.sv-anim--rise > img { animation: svRiseImg 1.8s var(--ease) both; }
@keyframes svRiseImg { from { transform: translateY(8%) scale(1.1); opacity: 0; } to { transform: none; opacity: 1; } }
.sv-hero--split.sv-anim--rise > img { animation: svRiseS 1.4s var(--ease) both; }
@keyframes svRiseS { from { transform: translateY(60px) rotate(1.5deg); opacity: 0; } to { transform: rotate(1.5deg); opacity: 1; } }
[data-split] .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
[data-split] .w > span { display: inline-block; transform: translateY(105%); animation: svWord .9s var(--ease) forwards; animation-delay: calc(.35s + var(--w) * 70ms); }
@keyframes svWord { to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .sv-hero > img, [data-split] .w > span { animation: none !important; transform: none !important; } }

/* ===== Numbers: ticker ===== */
.sv-tick { background: var(--red); color: #fff; overflow: hidden; padding: 22px 0; }
.sv-tick__t { display: flex; gap: 64px; width: max-content; animation: apMarq 34s linear infinite; }
.sv-tick__t { animation-name: svTick; } @keyframes svTick { to { transform: translateX(-50%); } }
.sv-tick span { display: inline-flex; align-items: baseline; gap: 14px; white-space: nowrap; font-size: 16px; font-weight: 600; color: rgba(255,255,255,.85); }
.sv-tick span::after { content: "✦"; margin-left: 50px; font-size: 14px; opacity: .6; }
.sv-tick b { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: clamp(34px, 4vw, 52px); color: #fff; line-height: 1; }
.sv-tick:hover .sv-tick__t { animation-play-state: paused; }

/* ===== Numbers: rings ===== */
.sv-rings { padding: clamp(48px, 6vw, 80px) 0; background: #fff; }
.sv-rings__in { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sv-ring { position: relative; display: grid; place-items: center; text-align: center; }
.sv-ring svg { width: min(200px, 100%); aspect-ratio: 1; transform: rotate(-90deg); }
.sv-ring circle { fill: none; stroke: var(--soft); stroke-width: 5; }
.sv-ring .sv-ring__v { stroke: var(--red); stroke-linecap: round; stroke-dasharray: 327; stroke-dashoffset: 327; transition: stroke-dashoffset 1.8s var(--ease) var(--d); }
.sv-rings__in.is-on .sv-ring__v { stroke-dashoffset: calc(327 * (1 - var(--p))); }
.sv-ring > div { position: absolute; inset: 0; display: grid; place-content: center; padding: 0 22%; }
.sv-ring b { font-size: clamp(22px, 2.4vw, 32px); letter-spacing: -.03em; line-height: 1; }
.sv-ring span { margin-top: 6px; font-size: 12.5px; color: var(--muted); line-height: 1.3; }
@media (max-width: 760px) { .sv-rings__in { grid-template-columns: 1fr 1fr; } }

/* ===== Numbers: floating cards ===== */
.sv-scards { position: relative; z-index: 2; padding: 0 0 clamp(40px, 5vw, 64px); background: linear-gradient(180deg, transparent 0 50%, #fff 50%); margin-top: -70px; }
.sv-hero--split + .sv-scards { margin-top: 0; padding-top: 10px; background: #fff; }
.sv-scards__in { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.sv-scard { position: relative; background: #fff; border-radius: 22px; padding: 22px; box-shadow: 0 30px 60px -30px rgba(13,13,15,.35), 0 0 0 1px rgba(13,13,15,.04); transition: transform .4s var(--ease); }
.sv-scard:hover { transform: translateY(-6px); }
.sv-scard:nth-child(2) { background: #0d0d0f; color: #fff; } .sv-scard:nth-child(2) span { color: rgba(255,255,255,.6); }
.sv-scard__n { position: absolute; right: 18px; top: 16px; font-family: var(--serif); font-style: italic; color: var(--red) !important; }
.sv-scard b { display: block; font-size: clamp(28px, 3vw, 42px); letter-spacing: -.04em; line-height: 1; margin: 18px 0 8px; }
.sv-scard > span:last-child { color: var(--muted); font-size: 14px; }
@media (max-width: 760px) { .sv-scards__in { grid-template-columns: 1fr 1fr; } .sv-scards { margin-top: -40px; } }

/* ===== Steps: track ===== */
.sv-track { padding: clamp(64px, 8vw, 110px) 0; background: var(--soft); overflow: hidden; }
.sv-track__list { position: relative; list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n), 1fr); gap: 20px; }
.sv-track__line { position: absolute; left: 0; right: 0; top: 18px; width: 100%; height: 20px; overflow: visible; }
.sv-track__line path { fill: none; stroke: var(--red); stroke-width: 2.5; stroke-dasharray: 1100; stroke-dashoffset: 1100; vector-effect: non-scaling-stroke; transition: stroke-dashoffset 2.2s var(--ease) .2s; }
.sv-track.is-on .sv-track__line path { stroke-dashoffset: 0; }
.sv-track__list li { position: relative; padding-top: 70px; opacity: 0; transform: translateY(20px); transition: opacity .6s var(--ease) var(--d), transform .7s var(--ease) var(--d); }
.sv-track.is-on .sv-track__list li { opacity: 1; transform: none; }
.sv-track__list span { position: absolute; top: 0; left: 0; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: #fff; border: 2px solid var(--red); color: var(--red); font-weight: 800; font-size: 20px; box-shadow: 0 0 0 8px var(--soft); transition: background .4s, color .4s; }
.sv-track__list li:hover span { background: var(--red); color: #fff; }
.sv-track__list h3 { margin: 0 0 8px; font-size: 22px; letter-spacing: -.02em; }
.sv-track__list p { margin: 0; color: var(--ink-2); line-height: 1.65; }
@media (max-width: 900px) { .sv-track__list { grid-template-columns: 1fr 1fr; row-gap: 36px; } .sv-track__line { display: none; } }
@media (max-width: 520px) { .sv-track__list { grid-template-columns: 1fr; } }

/* ===== Steps: zigzag ===== */
.sv-zig { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 110px) 0; }
.sv-zig__head { text-align: center; margin-bottom: 48px; }
.sv-zig__list { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(28px, 4vw, 56px); position: relative; }
.sv-zig__list::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: linear-gradient(transparent, rgba(244,59,47,.6), transparent); }
.sv-zig__i { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 6vw, 96px); align-items: center; }
.sv-zig__i:nth-child(even) figure { order: 2; }
.sv-zig__i figure { margin: 0; border-radius: 26px; overflow: hidden; aspect-ratio: 16 / 11; transform: rotate(-1.5deg); transition: transform .8s var(--ease); }
.sv-zig__i:nth-child(even) figure { transform: rotate(1.5deg); }
.sv-zig__i:hover figure { transform: none; }
.sv-zig__i img { width: 100%; height: 100%; object-fit: cover; }
.sv-zig__i span { font-family: var(--serif); font-style: italic; font-size: clamp(54px, 6vw, 88px); line-height: 1; color: transparent; -webkit-text-stroke: 1.2px var(--red); }
.sv-zig__i h3 { margin: 6px 0 10px; font-size: clamp(24px, 2.6vw, 34px); letter-spacing: -.03em; }
.sv-zig__i p { margin: 0; color: rgba(255,255,255,.68); line-height: 1.7; max-width: 420px; }
.sv-zig__i[data-reveal] figure { clip-path: inset(0 0 0 0); }
@media (max-width: 760px) { .sv-zig__list::before { display: none; } .sv-zig__i { grid-template-columns: 1fr; gap: 16px; } .sv-zig__i:nth-child(even) figure { order: 0; } }
.sv-more { padding-block: clamp(48px, 6vw, 88px); }
.sv-more__card { border-radius: 30px; background: var(--soft); padding: clamp(26px, 4vw, 56px); position: relative; overflow: hidden; }
.sv-more__card::after { content: ""; position: absolute; right: -80px; top: -80px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(closest-side, rgba(244,59,47,.14), transparent); }
.sv-more__body { column-count: 2; column-gap: clamp(32px, 5vw, 72px); max-width: none; }
.sv-more__body > * { break-inside: avoid; }
.sv-more__body h2, .sv-more__body h3 { break-after: avoid; font-size: 22px; letter-spacing: -.02em; margin: 0 0 10px; padding-top: 6px; }
.sv-more__body h2:not(:first-child), .sv-more__body h3:not(:first-child) { margin-top: 26px; }
.sv-more__body ul, .sv-more__body ol { padding-left: 0; list-style: none; } .sv-more__body li { position: relative; padding-left: 22px; margin-bottom: 8px; } .sv-more__body li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--red); }
.sv-more__body ol { counter-reset: m; } .sv-more__body ol li { counter-increment: m; padding-left: 30px; } .sv-more__body ol li::before { content: counter(m); width: 20px; height: 20px; top: .15em; left: 0; display: grid; place-items: center; color: #fff; font-size: 11px; font-weight: 800; }
@media (max-width: 800px) { .sv-more__body { column-count: 1; } }
.sv-scards { margin-top: 0; padding-top: clamp(40px, 5vw, 64px); background: #fff; }
.sv-hero--full + .sv-scards, .sv-hero--card + .sv-scards { margin-top: -70px; padding-top: 0; background: linear-gradient(180deg, transparent 0 50%, #fff 50%); }
@media (max-width: 760px) { .sv-hero--full + .sv-scards, .sv-hero--card + .sv-scards { margin-top: -40px; } }
.sv-track__line { width: auto; left: 28px; right: calc((100% - (var(--n) - 1) * 20px) / var(--n) - 28px); }
/* dark signature sections: keep body text readable */
.sg-snag [class] > p:not(.eyebrow):not(.sg-note), .sg-snag__txt > p:not(.eyebrow) { color: rgba(255,255,255,.72) !important; }
.sg-calc__head p:not(.eyebrow), .sg-est__in > div > p:not(.eyebrow), .sg-yield__in > div > p:not(.eyebrow) { color: rgba(255,255,255,.72) !important; }

/* ===== Interactive pieces ===== */
.ix-seg { display: flex; flex-wrap: wrap; gap: 6px; }
.ix-seg button { border: 1px solid var(--line); background: #fff; color: var(--ink); padding: 10px 16px; border-radius: 999px; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; transition: background .25s, color .25s, border-color .25s, transform .25s var(--ease); }
.ix-seg button:hover { border-color: var(--ink); transform: translateY(-1px); }
.ix-seg button.is-on { background: #0d0d0f; color: #fff; border-color: #0d0d0f; }
.ix-seg--beds button { min-width: 52px; padding: 10px 12px; }

.ix-val { padding: clamp(64px, 8vw, 110px) 0; background: linear-gradient(180deg, #fff, var(--soft)); }
.ix-val__in { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.ix-val__txt > p:not(.eyebrow) { font-size: 17px; line-height: 1.7; color: var(--ink-2); }
.ix-val__box { background: #fff; border-radius: 30px; padding: clamp(22px, 3vw, 36px); box-shadow: 0 50px 100px -60px rgba(13,13,15,.5), 0 0 0 1px rgba(13,13,15,.04); }
.ix-val__f { display: grid; gap: 14px; }
.ix-val__f label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.ix-val__f select, .ix-plan__f select, .ix-plan__f input { height: 54px; border-radius: 14px; border: 1px solid var(--line); padding: 0 14px; font: inherit; font-size: 15.5px; background: #fff; color: var(--ink); }
.ix-val__out { margin: 22px 0; padding: 24px; border-radius: 22px; background: #0d0d0f; color: #fff; }
.ix-val__out small { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.ix-val__out b { display: block; font-size: clamp(34px, 4vw, 54px); letter-spacing: -.04em; margin: 6px 0 18px; }
.ix-val__bar { position: relative; display: block; height: 10px; border-radius: 10px; background: rgba(255,255,255,.12); }
.ix-val__bar i { position: absolute; inset: 0; width: 0; border-radius: 10px; background: linear-gradient(90deg, rgba(244,59,47,.4), var(--red)); transition: width .9s var(--ease); }
.ix-val__bar em { position: absolute; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 6px rgba(255,255,255,.18); transition: left .6s var(--ease); }
.ix-val__range > div { display: flex; justify-content: space-between; margin-top: 10px; font-size: 13px; font-weight: 700; color: rgba(255,255,255,.7); }
.ix-val__out p { margin: 14px 0 0; font-size: 13.5px; color: rgba(255,255,255,.65); line-height: 1.5; }

.ix-hello { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 110px) 0; overflow: hidden; position: relative; }
.ix-hello::before { content: ""; position: absolute; width: 900px; height: 900px; left: 50%; top: 40%; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(244,59,47,.18), transparent); }
.ix-hello .wrap { position: relative; }
.ix-hello__head { text-align: center; margin-bottom: 28px; }
.ix-hello__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 900px; margin: 0 auto 36px; }
.ix-hello__chips button { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.04); color: #fff; font: inherit; font-weight: 700; font-size: 14.5px; cursor: pointer; transition: background .25s, border-color .25s, transform .25s var(--ease); }
.ix-hello__chips button small { font-size: 11px; padding: 2px 7px; border-radius: 999px; background: rgba(255,255,255,.12); }
.ix-hello__chips button:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.4); }
.ix-hello__chips button.is-on { background: var(--red); border-color: var(--red); } .ix-hello__chips button.is-on small { background: rgba(255,255,255,.25); }
.ix-hello__panel { display: none; text-align: center; }
.ix-hello__panel.is-on { display: block; animation: ixIn .6s var(--ease); }
@keyframes ixIn { from { opacity: 0; transform: translateY(14px); } }
.ix-hello__word { margin: 0 0 28px; font-family: var(--serif); font-style: italic; font-size: clamp(64px, 11vw, 160px); line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.7); }
.ix-hello__faces { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; margin-bottom: 28px; }
.ix-hello__faces a { width: 132px; text-align: center; color: #fff; text-decoration: none; animation: ixIn .6s var(--ease) both; animation-delay: calc(var(--i) * 60ms); }
.ix-hello__faces img { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; object-position: top; background: #222; border: 3px solid rgba(255,255,255,.1); transition: border-color .3s, transform .4s var(--ease); }
.ix-hello__faces a:hover img { border-color: var(--red); transform: translateY(-4px); }
.ix-hello__faces span { display: grid; margin-top: 8px; font-size: 12px; color: rgba(255,255,255,.55); } .ix-hello__faces b { color: #fff; font-size: 14px; }

.ix-match { padding: 0 0 clamp(48px, 6vw, 80px); }
.ix-match__in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 72px); align-items: start; background: var(--soft); border-radius: 32px; padding: clamp(24px, 4vw, 52px); }
.ix-match__l { display: grid; gap: 8px; margin: 22px 0 18px; font-weight: 700; font-size: 14px; }
.ix-match__l b { font-size: 30px; letter-spacing: -.03em; color: var(--red); }
.ix-match__l input[type=range] { accent-color: var(--red); width: 100%; }
.ix-match__k { margin: 18px 0 8px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.ix-match__res { display: grid; gap: 12px; }
.ix-match__card { position: relative; display: grid; grid-template-columns: 120px 1fr auto; gap: 18px; align-items: center; padding: 12px; border-radius: 22px; background: #fff; color: var(--ink); text-decoration: none; box-shadow: 0 20px 40px -30px rgba(13,13,15,.4); animation: ixIn .5s var(--ease) both; animation-delay: calc(var(--i) * 80ms); transition: transform .3s var(--ease); }
.ix-match__card:hover { transform: translateX(6px); }
.ix-match__card img { width: 120px; height: 96px; object-fit: cover; border-radius: 14px; }
.ix-match__rank { position: absolute; left: 4px; top: 4px; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--red); color: #fff; font-weight: 800; font-size: 14px; }
.ix-match__card b { display: block; font-size: 20px; letter-spacing: -.02em; } .ix-match__card small { color: var(--muted); font-size: 13.5px; }
.ix-match__card em { font-style: normal; font-size: 20px; color: var(--red); padding-right: 10px; }
.ix-match__none { padding: 28px; border-radius: 22px; background: #fff; } .ix-match__none p { color: var(--ink-2); }

.ix-plan { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 110px) 0; }
.ix-plan__head { text-align: center; margin-bottom: 32px; }
.ix-plan__box { max-width: 1100px; margin: 0 auto; background: #fff; color: var(--ink); border-radius: 30px; padding: clamp(22px, 3vw, 40px); }
.ix-plan__f { display: grid; grid-template-columns: 1.4fr 1fr; gap: 12px; margin-bottom: 16px; } .ix-plan__f label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.ix-plan__bar { display: flex; height: 64px; margin: 26px 0 8px; border-radius: 16px; overflow: hidden; gap: 4px; }
.ix-plan__bar span { flex: 0 0 var(--w); display: grid; place-items: center; color: #fff; font-weight: 800; animation: ixGrow .8s var(--ease) both; animation-delay: calc(var(--i) * 120ms); transform-origin: left; transition: flex-basis .6s var(--ease); }
.ix-plan__bar span:nth-child(1) { background: #0d0d0f; } .ix-plan__bar span:nth-child(2) { background: var(--red); } .ix-plan__bar span:nth-child(3) { background: #b8231a; } .ix-plan__bar span:nth-child(4) { background: #c9a96e; }
@keyframes ixGrow { from { transform: scaleX(0); } }
.ix-plan__tl { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.ix-plan__tl li { position: relative; padding: 18px; border-radius: 18px; background: var(--soft); animation: ixIn .5s var(--ease) both; animation-delay: calc(var(--i) * 100ms); }
.ix-plan__tl i { position: absolute; right: 16px; top: 18px; width: 12px; height: 12px; border-radius: 50%; }
.ix-plan__tl li:nth-child(1) i { background: #0d0d0f; } .ix-plan__tl li:nth-child(2) i { background: var(--red); } .ix-plan__tl li:nth-child(3) i { background: #b8231a; } .ix-plan__tl li:nth-child(4) i { background: #c9a96e; }
.ix-plan__tl b { display: block; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.ix-plan__tl strong { display: block; font-size: 24px; letter-spacing: -.03em; margin: 6px 0; } .ix-plan__tl small { color: var(--ink-2); font-size: 13px; }

.ix-cb { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 110px) 0; }
.ix-cb__in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.ix-cb__in > div > p:not(.eyebrow) { color: rgba(255,255,255,.7); font-size: 17px; line-height: 1.7; }
.ix-cb__form { background: #fff; color: var(--ink); border-radius: 30px; padding: clamp(22px, 3vw, 36px); }
.ix-cb__k { margin: 0 0 8px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.ix-cb__days, .ix-cb__times { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-bottom: 18px; }
.ix-cb__times { grid-template-columns: repeat(3, 1fr); }
.ix-cb__days label, .ix-cb__times label { cursor: pointer; }
.ix-cb__days input, .ix-cb__times input { position: absolute; opacity: 0; pointer-events: none; }
.ix-cb__days span, .ix-cb__times span { display: grid; gap: 2px; text-align: center; padding: 12px 6px; border-radius: 16px; border: 1px solid var(--line); font-size: 12.5px; color: var(--muted); transition: background .25s, border-color .25s, color .25s, transform .25s var(--ease); }
.ix-cb__days b, .ix-cb__times b { font-size: 15px; color: var(--ink); }
.ix-cb__days label:hover span, .ix-cb__times label:hover span { transform: translateY(-2px); border-color: var(--ink); }
.ix-cb__days input:checked + span, .ix-cb__times input:checked + span { background: var(--red); border-color: var(--red); color: rgba(255,255,255,.85); } .ix-cb__days input:checked + span b, .ix-cb__times input:checked + span b { color: #fff; }
.ix-cb__days input:focus-visible + span, .ix-cb__times input:focus-visible + span { outline: 2px solid var(--ink); outline-offset: 2px; }
.ix-cb__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }

.rv-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: -10px 0 26px; }
.rv-filter button { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font: inherit; font-weight: 700; font-size: 14px; cursor: pointer; transition: all .25s var(--ease); }
.rv-filter button small { font-size: 11px; padding: 2px 7px; border-radius: 999px; background: var(--soft); }
.rv-filter button.is-on { background: #0d0d0f; color: #fff; border-color: #0d0d0f; } .rv-filter button.is-on small { background: rgba(255,255,255,.2); }
.rv-card.is-hidden { display: none; }

.sg-pm__tabs { display: flex; gap: 4px; padding: 4px; margin: 0 4px 12px; border-radius: 999px; background: var(--soft); }
.sg-pm__tabs button { flex: 1; border: 0; background: none; padding: 9px 10px; border-radius: 999px; font: inherit; font-weight: 700; font-size: 13px; cursor: pointer; color: var(--ink-2); transition: background .25s, color .25s; }
.sg-pm__tabs button.is-on { background: #0d0d0f; color: #fff; }
.sg-pm__dash .sg-pm__grid { display: none; } .sg-pm__dash .sg-pm__grid.is-on { display: grid; animation: ixIn .45s var(--ease); }

.sg-cal__grid button { aspect-ratio: 1; display: grid; place-items: center; border: 0; border-radius: 10px; background: var(--soft); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: background .2s, color .2s, transform .2s var(--ease); }
.sg-cal__grid button:hover { transform: scale(1.08); }
.sg-cal__grid button.is-b { background: var(--red); color: #fff; animation: sgPop .4s var(--ease) both; animation-delay: calc(var(--i) * 30ms); }
.sg-cal__occ { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 16px; }
.sg-cal__occ > div { padding: 14px; border-radius: 16px; background: #0d0d0f; color: #fff; } .sg-cal__occ small { display: block; font-size: 11px; color: rgba(255,255,255,.6); font-weight: 700; } .sg-cal__occ b { font-size: 26px; letter-spacing: -.03em; }

.ldr-tl__list::before { transform-origin: left; transform: scaleX(0); transition: transform 2.2s var(--ease); }
.ldr-tl__list.is-play::before { transform: scaleX(1); }
.ldr-tl__list li { opacity: .15; transform: translateY(14px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.ldr-tl__list.is-play li { opacity: 1; transform: none; }
.ldr-tl__list.is-play li:nth-child(1) { transition-delay: 0.55s; }
.ldr-tl__list.is-play li:nth-child(2) { transition-delay: 0.85s; }
.ldr-tl__list.is-play li:nth-child(3) { transition-delay: 1.15s; }
.ldr-tl__list.is-play li:nth-child(4) { transition-delay: 1.45s; }
.ldr-tl__list.is-play li:nth-child(5) { transition-delay: 1.75s; }
.ldr-tl__list.is-play li:nth-child(6) { transition-delay: 2.05s; }
.ldr-tl__list.is-play li:nth-child(7) { transition-delay: 2.35s; }
.ldr-tl__list.is-play li:nth-child(8) { transition-delay: 2.65s; }
.ldr-tl__list li:hover .ldr-tl__when { color: var(--red); } .ldr-tl__list li:hover::before { border-color: var(--red); transform: scale(1.3); } .ldr-tl__list li::before { transition: transform .3s var(--ease), border-color .3s; }
@media (max-width: 1000px) { .ix-val__in, .ix-match__in, .ix-cb__in { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .ix-cb__days { grid-template-columns: repeat(3, 1fr); } .ix-cb__grid, .ix-plan__f { grid-template-columns: 1fr; } .ix-match__card { grid-template-columns: 84px 1fr; } .ix-match__card img { width: 84px; height: 76px; } .ix-match__card em { display: none; } .ix-hello__faces a { width: 100px; } .ix-hello__faces img { width: 88px; height: 88px; } .ix-plan__bar span b { font-size: 12px; } }
.ix-plan__head, .ix-hello__head, .sv-zig__head, .sg-calc__head, .cr-voices__head, .sg-mk__head { display: grid; justify-items: center; text-align: center; }

/* ===== Careers v2: perks, stories, badge ===== */
.cr-perks__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.cr-perk { position: relative; padding: 26px 24px 28px; border-radius: 24px; background: var(--soft); overflow: hidden; transition: background .4s, color .4s, transform .4s var(--ease); min-height: 220px; }
.cr-perk::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 140px; height: 140px; border-radius: 50%; background: var(--red); transform: scale(0); transition: transform .6s var(--ease); }
.cr-perk:hover { background: #0d0d0f; color: #fff; transform: translateY(-6px); }
.cr-perk:hover::after { transform: scale(1); }
.cr-perk span { font-family: var(--serif); font-style: italic; font-size: 34px; color: var(--red); line-height: 1; }
.cr-perk h3 { margin: 26px 0 8px; font-size: 21px; letter-spacing: -.02em; }
.cr-perk p { position: relative; z-index: 1; margin: 0; color: var(--ink-2); font-size: 14.5px; line-height: 1.6; transition: color .4s; }
.cr-perk:hover p { color: rgba(255,255,255,.72); }
@media (max-width: 1000px) { .cr-perks__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .cr-perks__grid { grid-template-columns: 1fr; } .cr-perk { min-height: 0; } }

.cr-stories { background: #0b0b0d; color: #fff; padding: clamp(64px, 8vw, 110px) 0; overflow: hidden; position: relative; }
.cr-stories::before { content: ""; position: absolute; width: 900px; height: 900px; right: -200px; top: 50%; transform: translateY(-50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(244,59,47,.22), transparent); }
.cr-stories__in { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 90px); align-items: center; }
.cr-stories__txt > p:not(.eyebrow) { color: rgba(255,255,255,.7); font-size: 17px; line-height: 1.7; max-width: 420px; }
.cr-stories__faces { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.cr-stories__faces button { width: 62px; height: 62px; padding: 3px; border-radius: 50%; border: 0; cursor: pointer; background: rgba(255,255,255,.15); transition: transform .3s var(--ease), background .3s; }
.cr-stories__faces button img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: top; display: block; }
.cr-stories__faces button.is-on { background: conic-gradient(var(--red), #ff9a5a, var(--red)); transform: scale(1.08); }
.cr-stories__deck { position: relative; height: 620px; display: grid; place-items: center; perspective: 1400px; }
.cr-story { position: absolute; width: 350px; height: 600px; border-radius: 32px; overflow: hidden; background: #1a1a1e; box-shadow: 0 60px 120px -50px rgba(0,0,0,.9); opacity: 0; transform: translateX(0) scale(.8); transition: transform .8s var(--ease), opacity .6s var(--ease), filter .6s; pointer-events: none; }
.cr-story.is-on { opacity: 1; transform: none; pointer-events: auto; z-index: 3; }
.cr-story.is-prev { opacity: .35; transform: translateX(-62%) rotateY(18deg) scale(.82); filter: blur(1px); z-index: 1; }
.cr-story.is-next { opacity: .35; transform: translateX(62%) rotateY(-18deg) scale(.82); filter: blur(1px); z-index: 1; }
.cr-story__bg { position: absolute; inset: -40px; background-size: cover; background-position: center top; filter: blur(30px) saturate(1.2) brightness(.55); }
.cr-story__bars { position: absolute; z-index: 2; left: 14px; right: 14px; top: 14px; display: flex; gap: 4px; }
.cr-story__bars i { flex: 1; height: 3px; border-radius: 3px; background: rgba(255,255,255,.3); overflow: hidden; }
.cr-story__bars i b { display: block; height: 100%; width: 0; background: #fff; }
.cr-story__bars i.is-done b { width: 100%; }
.cr-story.is-on .cr-story__bars i.is-run b { animation: crBar var(--story-d, 7s) linear forwards; }
@keyframes crBar { to { width: 100%; } }
.cr-story__who { position: absolute; z-index: 2; left: 16px; top: 30px; display: flex; align-items: center; gap: 10px; }
.cr-story__who img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; object-position: top; border: 2px solid #fff; }
.cr-story__who span { display: grid; font-size: 12px; color: rgba(255,255,255,.75); } .cr-story__who b { color: #fff; font-size: 14px; }
.cr-story__pic { position: absolute; z-index: 1; left: 50%; top: 96px; width: 220px; margin: 0 0 0 -110px; border-radius: 26px; overflow: hidden; aspect-ratio: 228 / 288; box-shadow: 0 30px 60px -20px rgba(0,0,0,.7); transform: rotate(-3deg); transition: transform 1s var(--ease); }
.cr-story.is-on .cr-story__pic { transform: rotate(0); }
.cr-story__pic img { width: 100%; height: 100%; object-fit: cover; }
.cr-story__q { position: absolute; z-index: 2; left: 22px; right: 22px; bottom: 26px; margin: 0; font-family: var(--serif); font-style: italic; font-size: 27px; line-height: 1.18; text-shadow: 0 2px 20px rgba(0,0,0,.5); }
.cr-story__q span { color: var(--red); font-size: 1.4em; line-height: 0; vertical-align: -.3em; margin-right: 2px; }
.cr-story.is-on .cr-story__q { animation: ixIn .8s var(--ease) .15s both; }
.cr-story__nav { position: absolute; z-index: 3; top: 0; bottom: 0; width: 40%; border: 0; background: none; cursor: pointer; }
.cr-story__nav--prev { left: 0; } .cr-story__nav--next { right: 0; }
@media (max-width: 1000px) { .cr-stories__in { grid-template-columns: 1fr; } .cr-stories__deck { height: 560px; } .cr-story { width: min(320px, 82vw); height: 540px; } .cr-story.is-prev, .cr-story.is-next { opacity: 0; } }

.cr-sim { padding: clamp(64px, 8vw, 110px) 0; background: linear-gradient(135deg, #fff, #fbf1ee); overflow: hidden; }
.cr-sim__in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.cr-sim__steps { list-style: none; margin: 28px 0 0; padding: 0; position: relative; min-height: 210px; }
.cr-sim__steps li { position: absolute; inset: 0 0 auto 0; opacity: 0; transform: translateX(40px); pointer-events: none; transition: opacity .45s var(--ease), transform .55s var(--ease); }
.cr-sim__steps li.is-on { opacity: 1; transform: none; pointer-events: auto; }
.cr-sim__steps li.is-done { transform: translateX(-40px); }
.cr-sim__steps label, .cr-sim__steps p { display: block; margin: 0 0 14px; font-size: 22px; font-weight: 800; letter-spacing: -.02em; }
.cr-sim__steps input { width: 100%; max-width: 440px; height: 64px; border-radius: 18px; border: 2px solid var(--line); padding: 0 20px; font: inherit; font-size: 22px; font-weight: 700; letter-spacing: -.02em; transition: border-color .25s; }
.cr-sim__steps input:focus { outline: none; border-color: var(--red); }
.cr-sim__steps li > .btn { margin-top: 14px; }
.cr-sim__opts { display: grid; gap: 10px; max-width: 480px; }
.cr-sim__opts button { text-align: left; padding: 18px 22px; border-radius: 18px; border: 1px solid var(--line); background: #fff; font: inherit; font-size: 16.5px; font-weight: 700; cursor: pointer; transition: transform .25s var(--ease), border-color .25s, box-shadow .25s; }
.cr-sim__opts button:hover { transform: translateX(6px); border-color: var(--red); box-shadow: 0 16px 30px -20px rgba(244,59,47,.5); }
.cr-sim__prog { max-width: 480px; height: 4px; border-radius: 4px; background: rgba(13,13,15,.08); margin-top: 22px; overflow: hidden; } .cr-sim__prog i { display: block; height: 100%; width: 0; background: var(--red); transition: width .5s var(--ease); }
.cr-sim__badge { position: relative; display: grid; justify-items: center; padding-top: 60px; }
.cr-badge__strap { position: absolute; top: -60px; left: 50%; width: 46px; height: 130px; margin-left: -23px; background: repeating-linear-gradient(45deg, var(--red) 0 12px, #d42f24 12px 24px); border-radius: 0 0 8px 8px; }
.cr-badge { position: relative; z-index: 1; width: 300px; padding: 30px 26px 26px; border-radius: 26px; background: #fff; box-shadow: 0 50px 90px -40px rgba(13,13,15,.5), 0 0 0 1px rgba(13,13,15,.05); display: grid; justify-items: center; text-align: center; transform-origin: 50% -60px; animation: crSwing 5s ease-in-out infinite; transition: transform .3s; }
.cr-badge::before { content: ""; position: absolute; top: 12px; left: 50%; width: 54px; height: 9px; margin-left: -27px; border-radius: 9px; background: var(--soft); box-shadow: inset 0 1px 2px rgba(0,0,0,.15); }
@keyframes crSwing { 0%, 100% { transform: rotate(-2.5deg); } 50% { transform: rotate(2.5deg); } }
.cr-badge.is-bump { animation: none; transform: scale(1.03); }
.cr-badge__logo { width: 96px; margin: 10px 0 18px; }
.cr-badge__photo { width: 110px; height: 110px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, #0d0d0f, #2b2b31); color: #fff; font-size: 40px; font-weight: 800; letter-spacing: -.03em; margin-bottom: 16px; box-shadow: 0 0 0 6px #fff, 0 0 0 8px var(--red); }
.cr-badge__name { font-size: 26px; letter-spacing: -.03em; line-height: 1.1; word-break: break-word; }
.cr-badge__role { margin-top: 6px; font-weight: 700; color: var(--red); min-height: 1.4em; }
.cr-badge__meta { margin-top: 14px; font-size: 13px; color: var(--muted); }
.cr-badge__since { margin-top: 2px; font-size: 12px; color: var(--muted); }
.cr-badge__bar { width: 100%; height: 34px; margin-top: 18px; background: repeating-linear-gradient(90deg, #0d0d0f 0 2px, transparent 2px 4px, #0d0d0f 4px 5px, transparent 5px 9px); opacity: .75; border-radius: 4px; }
.cr-badge.is-done { animation: crDone .8s var(--ease), crSwing 5s ease-in-out .8s infinite; }
@keyframes crDone { 0% { transform: scale(.9) rotate(-6deg); } 60% { transform: scale(1.06) rotate(2deg); } 100% { transform: rotate(0); } }
.cr-sim__go { margin-top: 26px; animation: ixIn .6s var(--ease); }
@media (max-width: 900px) { .cr-sim__in { grid-template-columns: 1fr; } .cr-sim__steps { min-height: 250px; } }
@media (prefers-reduced-motion: reduce) { .cr-badge, .cr-badge.is-done { animation: none; } }
.cr-perk > * { position: relative; z-index: 1; } .cr-perk::after { z-index: 0; width: 110px; height: 110px; right: -50px; bottom: -50px; }
.cr-sim__end span { display: block; color: var(--ink-2); font-size: 17px; max-width: 420px; }
.cr-sim__end p { font-family: var(--serif); font-style: italic; font-weight: 500 !important; font-size: 44px !important; color: var(--red); }
.cr-sim__again { margin-top: 18px; border: 0; background: none; padding: 0; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; color: var(--ink); }

/* ===== Enquiry popup ===== */
.eq { border: 0; padding: 0; width: min(980px, calc(100vw - 32px)); max-height: min(680px, calc(100dvh - 32px)); border-radius: 30px; overflow: hidden; background: #fff; color: var(--ink); box-shadow: 0 60px 140px -30px rgba(0,0,0,.65); }
.eq::backdrop { background: rgba(10,10,12,.62); backdrop-filter: blur(10px) saturate(1.2); -webkit-backdrop-filter: blur(10px) saturate(1.2); }
.eq[open] { animation: eqIn .55s cubic-bezier(.2,.9,.2,1); }
.eq[open]::backdrop { animation: eqFade .4s ease; }
.eq.is-closing { animation: eqOut .26s ease forwards; } .eq.is-closing::backdrop { animation: eqFade .26s ease reverse forwards; }
@keyframes eqIn { from { opacity: 0; transform: translateY(30px) scale(.96); } }
@keyframes eqOut { to { opacity: 0; transform: translateY(20px) scale(.97); } }
@keyframes eqFade { from { opacity: 0; } }
.eq__in { display: grid; grid-template-columns: 0.9fr 1.1fr; height: 100%; max-height: inherit; }
.eq__side { position: relative; overflow: hidden; background: #0d0d0f; color: #fff; min-height: 560px; }
.eq__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: eqZoom 14s ease-out both; }
@keyframes eqZoom { from { transform: scale(1.12); } }
.eq__side::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05) 30%, rgba(0,0,0,.85)); }
.eq__sideb { position: absolute; z-index: 1; left: 28px; right: 28px; bottom: 28px; display: grid; gap: 6px; animation: ixIn .7s var(--ease) .15s both; }
.eq__tag { justify-self: start; padding: 6px 12px; border-radius: 999px; background: var(--red); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.eq__price { font-size: clamp(28px, 3vw, 38px); letter-spacing: -.04em; line-height: 1; margin-top: 6px; }
.eq__price:empty { display: none; }
.eq__title { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.3; }
.eq:not(.is-listing) .eq__title { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: 34px; line-height: 1.05; }
.eq__meta { color: rgba(255,255,255,.75); font-size: 14px; line-height: 1.5; }
.eq__main { position: relative; overflow-y: auto; padding: 28px 34px 26px; }
.eq__x { position: absolute; top: 18px; right: 18px; z-index: 2; margin: 0; }
.eq__x button { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line); background: #fff; font-size: 22px; line-height: 1; cursor: pointer; transition: transform .35s var(--ease), background .25s, color .25s; }
.eq__x button:hover { transform: rotate(90deg); background: #0d0d0f; color: #fff; }
.eq__who { display: flex; align-items: center; gap: 12px; padding-right: 50px; margin-bottom: 18px; }
.eq__faces { display: flex; } .eq__faces img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; object-position: top; border: 2px solid #fff; margin-right: -12px; background: var(--soft); } .eq__faces { padding-right: 12px; }
.eq__aphoto { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; object-position: top; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #25d366; }
.eq__who b { display: block; font-size: 16px; } .eq__who small { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12.5px; font-weight: 600; } .eq__who small i { width: 8px; height: 8px; border-radius: 50%; background: #25d366; animation: fqPulse 2s infinite; }
.eq__h { margin: 0 0 14px; font-size: clamp(28px, 3vw, 36px); letter-spacing: -.035em; line-height: 1.05; }
.eq__h em { font-family: var(--serif); font-weight: 500; color: var(--red); }
.eq__intent { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 16px; }
.eq__intent button { padding: 12px 8px; border-radius: 14px; border: 1px solid var(--line); background: #fff; font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; transition: all .25s var(--ease); }
.eq__intent button:hover { border-color: var(--ink); transform: translateY(-2px); }
.eq__intent button.is-on { background: #0d0d0f; border-color: #0d0d0f; color: #fff; box-shadow: 0 12px 24px -14px rgba(13,13,15,.7); }
.eq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.eq__form .fld input, .eq__form textarea { border-radius: 14px; }
.eq__by { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 2px 0 12px; }
.eq__by span { font-size: 13px; font-weight: 700; color: var(--muted); margin-right: 4px; }
.eq__by button { padding: 7px 14px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: all .2s; }
.eq__by button.is-on { border-color: var(--red); background: #fff1ef; color: var(--red); }
.eq__msg { margin-bottom: 14px; } .eq__msg summary { cursor: pointer; font-size: 13.5px; font-weight: 700; color: var(--ink-2); list-style: none; } .eq__msg summary::before { content: "+ "; color: var(--red); } .eq__msg[open] summary::before { content: "− "; } .eq__msg summary::-webkit-details-marker { display: none; }
.eq__msg .fld { margin-top: 10px; }
.eq__send i { font-style: normal; transition: transform .3s var(--ease); display: inline-block; } .eq__send:hover i { transform: translateX(5px); }
.eq__or { position: relative; text-align: center; margin: 14px 0; } .eq__or::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--line); } .eq__or span { position: relative; padding: 0 12px; background: #fff; font-size: 12px; color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.eq__wa { display: flex; justify-content: center; align-items: center; gap: 10px; height: 54px; border-radius: 999px; background: #25d366; color: #fff; font-weight: 800; text-decoration: none; transition: transform .25s var(--ease), box-shadow .25s; box-shadow: 0 16px 30px -18px rgba(37,211,102,.9); }
.eq__wa:hover { transform: translateY(-2px); }
.eq__fine { margin: 12px 0 0; text-align: center; font-size: 12px; color: var(--muted); }
.eq__done { display: grid; justify-items: center; text-align: center; padding: 60px 10px 30px; }
.eq__done[hidden] { display: none; }
.eq__done p { color: var(--ink-2); font-size: 16.5px; max-width: 360px; margin: 0 0 22px; }
.eq__done-btns { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.eq__check { width: 92px; height: 92px; margin-bottom: 18px; }
.eq__check circle { fill: #effaf3; stroke: #25a55a; stroke-width: 3; stroke-dasharray: 230; stroke-dashoffset: 230; animation: eqDraw .7s ease forwards; }
.eq__check path { fill: none; stroke: #25a55a; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 60; stroke-dashoffset: 60; animation: eqDraw .45s ease .55s forwards; }
@keyframes eqDraw { to { stroke-dashoffset: 0; } }
.eq__form .form-msg:empty { display: none; }
@media (max-width: 820px) {
  .eq { width: 100vw; max-width: 100vw; max-height: 92dvh; margin: auto 0 0; border-radius: 26px 26px 0 0; }
  .eq[open] { animation: eqUp .5s cubic-bezier(.2,.9,.2,1); } .eq.is-closing { animation: eqDown .26s ease forwards; }
  @keyframes eqUp { from { transform: translateY(100%); } } @keyframes eqDown { to { transform: translateY(100%); } }
  .eq__in { grid-template-columns: 1fr; max-height: 92dvh; overflow-y: auto; }
  .eq__side { min-height: 170px; height: 170px; } .eq__sideb { left: 20px; right: 20px; bottom: 16px; }
  .eq:not(.is-listing) .eq__title { font-size: 26px; } .eq__meta { display: none; } .eq__price { font-size: 26px; }
  .eq__side::before { content: ""; position: absolute; z-index: 2; top: 8px; left: 50%; width: 44px; height: 5px; margin-left: -22px; border-radius: 5px; background: rgba(255,255,255,.7); }
  .eq__main { overflow: visible; padding: 20px 20px 26px; }
  .eq__x { top: -152px; right: 14px; } .eq__x button { background: rgba(255,255,255,.9); }
  .eq__intent { grid-template-columns: 1fr 1fr; }
  .eq__grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .eq[open], .eq__img { animation: none; } }
.eq [hidden] { display: none !important; }
.eq__intent button { white-space: nowrap; font-size: 13px; padding: 12px 6px; }

/* ===== Preferences popover v2 ===== */
.prefs__pop { width: 320px; padding: 10px; border-radius: 24px; box-shadow: 0 40px 80px -30px rgba(13,13,15,.45), 0 0 0 1px rgba(13,13,15,.05); transform-origin: top right; animation: prefIn .35s cubic-bezier(.2,.9,.2,1); }
.prefs__pop::before { content: ""; position: absolute; top: -6px; right: 40px; width: 14px; height: 14px; background: #fff; transform: rotate(45deg); border-radius: 3px; }
@keyframes prefIn { from { opacity: 0; transform: translateY(-8px) scale(.95); } }
.prefs__pop p { margin: 8px 8px 8px; }
.prefs__opts { gap: 4px; margin: 0 0 6px; padding: 4px; border-radius: 16px; background: var(--soft); }
.prefs__langs { display: grid; grid-template-columns: 1fr; background: none; padding: 0; gap: 4px; }
.prefs__langs a { display: flex; justify-content: space-between; align-items: center; border: 0; border-radius: 14px; padding: 12px 14px; background: var(--soft); font-size: 15px; transition: background .2s; }
.prefs__langs a::after { content: ""; width: 18px; height: 18px; border-radius: 50%; border: 2px solid #cfcac0; transition: all .2s; }
.prefs__langs a:hover { background: #ece9e2; }
.prefs__langs a.on { background: #0d0d0f; color: #fff; } .prefs__langs a.on::after { border-color: var(--red); background: var(--red); box-shadow: inset 0 0 0 3px #0d0d0f; }
.prefs__opts[data-pref] { display: grid; grid-template-columns: repeat(3, 1fr); }
.prefs__opts[data-pref="unit"] { grid-template-columns: 1fr 1fr; }
.prefs__opts[data-pref] button { border: 0; border-radius: 12px; padding: 10px 6px; background: transparent; transition: background .2s, color .2s, box-shadow .2s; }
.prefs__opts[data-pref] button:hover { background: rgba(255,255,255,.7); }
.prefs__opts[data-pref] button.on { background: #fff; color: var(--red); box-shadow: 0 4px 12px -6px rgba(13,13,15,.35); }

/* ==========================================================================
   Bespoke service pages (svc/*): snagging, golden visa, investments, partner
   ========================================================================== */
.sg-note--light { color: rgba(255,255,255,.55); }
.eyebrow--gold { color: #d8b46a; }
.eyebrow--gold::before { background: #d8b46a; }

/* ---------- Snagging: CBA Inspect ---------- */
.sn-hero { position: relative; padding: calc(var(--hdr) + 40px) 0 clamp(56px, 7vw, 96px); background: #f4f6f8; overflow: clip; }
.sn-hero__grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(30,80,140,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(30,80,140,.07) 1px, transparent 1px), linear-gradient(rgba(30,80,140,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(30,80,140,.035) 1px, transparent 1px); background-size: 120px 120px, 120px 120px, 24px 24px, 24px 24px; mask-image: radial-gradient(ellipse 90% 80% at 70% 40%, #000 30%, transparent 85%); }
.sn-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.sn-tag { display: inline-flex; align-items: center; gap: 10px; font: 700 12px/1 var(--font); letter-spacing: .14em; text-transform: uppercase; color: #1e508c; background: #fff; border: 1px solid #d6e0ea; padding: 9px 14px; border-radius: 99px; margin: 18px 0 22px; }
.sn-tag span { width: 8px; height: 8px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px rgba(244,59,47,.15); animation: snPulse 1.6s infinite; }
@keyframes snPulse { 50% { box-shadow: 0 0 0 8px rgba(244,59,47,0); } }
.sn-hero__h { font-size: clamp(40px, 5.6vw, 76px); line-height: 1.02; letter-spacing: -.035em; margin: 0 0 20px; font-weight: 700; }
.sn-hero__h em { font-family: var(--serif); font-weight: 400; font-style: italic; color: #1e508c; }
.sn-hero__p { font-size: 18px; color: var(--ink-2); max-width: 520px; margin: 0 0 28px; }
.sn-hero__k { list-style: none; padding: 0; margin: 36px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #d6e0ea; }
.sn-hero__k li { padding: 16px 14px 0 0; position: relative; }
.sn-hero__k li::before { content: ""; position: absolute; top: -1px; left: 0; width: 1px; height: 10px; background: #1e508c; }
.sn-hero__k b { display: block; font-size: 22px; letter-spacing: -.02em; }
.sn-hero__k span { font-size: 12.5px; color: var(--muted); line-height: 1.35; display: block; }
.sn-rep { position: relative; min-height: 520px; }
.sn-rep__photo { position: absolute; inset: 0 0 60px 18%; margin: 0; border-radius: 24px; overflow: hidden; }
.sn-rep__photo img { width: 100%; height: 100%; object-fit: cover; }
.sn-rep__scan { position: absolute; left: 0; right: 0; height: 120px; top: -120px; background: linear-gradient(180deg, transparent, rgba(80,170,255,.28) 80%, rgba(140,210,255,.9) 100%); animation: snScan 4.5s cubic-bezier(.5,0,.5,1) infinite; mix-blend-mode: screen; }
@keyframes snScan { to { top: 100%; } }
.sn-rep__card { position: absolute; left: 0; bottom: 0; width: min(400px, 88%); background: #fff; border-radius: 20px; padding: 20px; box-shadow: 0 30px 70px -20px rgba(15,40,70,.35), 0 0 0 1px rgba(15,40,70,.06); }
.sn-rep__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.sn-rep__logo { font-weight: 800; letter-spacing: .02em; font-size: 15px; } .sn-rep__logo i { font-style: normal; font-weight: 500; color: #1e508c; margin-left: 4px; }
.sn-rep__live { font-size: 11.5px; font-weight: 700; color: #1e508c; display: inline-flex; gap: 6px; align-items: center; background: #eef4fa; padding: 5px 10px; border-radius: 99px; }
.sn-rep__live i { width: 6px; height: 6px; border-radius: 50%; background: #2bb673; animation: snPulse 1.6s infinite; }
.sn-rep.is-done .sn-rep__live i { animation: none; } 
.sn-rep__meta { display: flex; gap: 18px; align-items: center; padding-bottom: 14px; border-bottom: 1px dashed #dfe5ec; }
.sn-rep__ring { position: relative; width: 74px; height: 74px; flex: none; display: grid; place-content: center; text-align: center; }
.sn-rep__ring svg { position: absolute; inset: 0; transform: rotate(-90deg); }
.sn-rep__ring circle { fill: none; stroke: #e8edf2; stroke-width: 6; }
.sn-rep__ring .v { stroke: #1e508c; stroke-linecap: round; stroke-dasharray: 170; stroke-dashoffset: 170; transition: stroke-dashoffset .6s var(--ease); }
.sn-rep__ring b { font-size: 22px; line-height: 1; } .sn-rep__ring small { font-size: 9.5px; color: var(--muted); }
.sn-rep__meta dl { margin: 0; display: grid; gap: 8px; } .sn-rep__meta dt { font-size: 11px; color: var(--muted); } .sn-rep__meta dd { margin: 0; font-weight: 700; font-size: 15px; }
.sn-rep__rows { list-style: none; margin: 10px 0 0; padding: 0; min-height: 196px; }
.sn-rep__rows li { display: grid; grid-template-columns: 22px 1fr auto; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid #f0f2f5; font-size: 13px; animation: snRow .5s var(--ease) both; }
.sn-rep__rows li > span:first-child { width: 22px; height: 22px; border-radius: 50%; background: #eef4fa; color: #1e508c; font: 700 11px/22px var(--font); text-align: center; }
.sn-rep__rows li b { font-weight: 600; display: block; line-height: 1.3; } .sn-rep__rows li small { color: var(--muted); font-size: 11.5px; }
@keyframes snRow { from { opacity: 0; transform: translateY(8px); } }
.sn-rep__foot { display: flex; justify-content: space-between; font-size: 11px; color: var(--muted); margin: 10px 0 0; }
.sn-rep__foot span:first-child { font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.sn-sev { display: inline-block; font: 700 10.5px/1 var(--font); letter-spacing: .04em; padding: 5px 8px; border-radius: 6px; white-space: nowrap; }
.sn-sev--cosmetic { background: #eef1f4; color: #5a6878; } .sn-sev--functional { background: #fff3dd; color: #a86a00; } .sn-sev--safety { background: #ffe5e2; color: #c42a1f; }
.sn-lib { background: #fff; }
.sn-lib__head { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: end; margin-bottom: 28px; } .sn-lib__head > p { color: var(--ink-2); margin: 0; }
.sn-lib__bar { display: flex; justify-content: space-between; gap: 16px; align-items: center; flex-wrap: wrap; margin-bottom: 24px; }
.sn-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.sn-chips button { border: 1px solid var(--line); background: #fff; border-radius: 99px; padding: 10px 16px; font-weight: 600; font-size: 14px; transition: .25s var(--ease); }
.sn-chips button i { font-style: normal; font-size: 11px; color: var(--muted); margin-left: 4px; }
.sn-chips button:hover { border-color: #1e508c; } .sn-chips button.is-on { background: #0f2a4a; border-color: #0f2a4a; color: #fff; } .sn-chips button.is-on i { color: rgba(255,255,255,.6); }
.sn-legend { display: flex; gap: 14px; font-size: 12px; color: var(--muted); }
.sn-legend span::before { content: ""; display: inline-block; width: 9px; height: 9px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.sn-legend .cosmetic::before { background: #9aa7b4; } .sn-legend .functional::before { background: #f0a300; } .sn-legend .safety::before { background: var(--red); }
.sn-lib__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.sn-defect { position: relative; border: 1px solid var(--line); border-radius: 18px; padding: 20px; background: #fff; transition: transform .35s var(--ease), box-shadow .35s var(--ease), opacity .35s, border-color .3s; overflow: hidden; }
.sn-defect::after { content: ""; position: absolute; inset: auto 0 0 0; height: 3px; background: #1e508c; transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ease); }
.sn-defect:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: transparent; } .sn-defect:hover::after { transform: none; }
.sn-defect.is-off { display: none; }
.sn-defect.is-in { animation: snPop .45s var(--ease) both; animation-delay: calc(var(--k, 0) * 40ms); }
@keyframes snPop { from { opacity: 0; transform: scale(.94) translateY(10px); } }
.sn-defect__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.sn-defect__n { font: 700 12px/1 var(--font); color: #1e508c; letter-spacing: .1em; }
.sn-defect h3 { font-size: 17px; margin: 0 0 8px; letter-spacing: -.01em; } .sn-defect p { font-size: 14px; color: var(--ink-2); margin: 0 0 16px; line-height: 1.5; }
.sn-defect small { font-size: 11.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.sn-visits { background: #0f2a4a; color: #fff; padding: clamp(64px, 8vw, 112px) 0; position: relative; overflow: clip; }
.sn-visits::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 40px 40px; mask-image: linear-gradient(90deg, #000, transparent 60%); }
.sn-visits__in { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.sn-visits .eyebrow { color: #8fc1f0; } .sn-visits .eyebrow::before { background: #8fc1f0; }
.sn-visits .h2 { color: #fff; } .sn-visits .h2 em { color: #8fc1f0; }
.sn-visits__txt > p { color: rgba(255,255,255,.72); }
.sn-flow { list-style: none; padding: 0; margin: 28px 0 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; counter-reset: f; }
.sn-flow li { counter-increment: f; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; padding: 14px 16px 14px 48px; position: relative; }
.sn-flow li::before { content: counter(f); position: absolute; left: 14px; top: 14px; width: 24px; height: 24px; border-radius: 7px; background: #8fc1f0; color: #0f2a4a; font: 800 12px/24px var(--font); text-align: center; }
.sn-flow b { display: block; font-size: 15px; } .sn-flow span { font-size: 13px; color: rgba(255,255,255,.65); }
.sn-sheet { background: #fff; color: var(--ink); border-radius: 22px; padding: 22px; box-shadow: 0 40px 90px -30px rgba(0,0,0,.6); }
.sn-sheet__top { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 8px; }
.sn-switch { position: relative; display: inline-grid; grid-template-columns: 1fr 1fr; background: #eef2f6; border-radius: 12px; padding: 4px; }
.sn-switch button { position: relative; z-index: 1; border: 0; background: none; padding: 9px 14px; font-weight: 700; font-size: 13px; border-radius: 9px; color: var(--muted); transition: color .3s; }
.sn-switch button.is-on { color: #fff; }
.sn-switch i { position: absolute; top: 4px; bottom: 4px; left: 4px; width: calc(50% - 4px); border-radius: 9px; background: #0f2a4a; transition: transform .45s var(--ease); }
.sn-sheet.is-v2 .sn-switch i { transform: translateX(100%); background: #2bb673; }
.sn-sheet__sum { display: flex; align-items: baseline; gap: 8px; } .sn-sheet__sum b { font-size: 30px; letter-spacing: -.03em; line-height: 1; } .sn-sheet__sum span { font-size: 13px; color: var(--muted); } .sn-sheet__sum em { font-style: normal; font-size: 12px; font-weight: 700; color: #2bb673; background: #e6f7ee; padding: 4px 8px; border-radius: 6px; }
.sn-sheet__rows { list-style: none; padding: 0; margin: 0; }
.sn-line { display: grid; grid-template-columns: 30px 1fr auto; gap: 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid #eff1f4; }
.sn-line__pin { width: 30px; height: 30px; border-radius: 50% 50% 50% 4px; background: var(--red); color: #fff; font: 800 12px/30px var(--font); text-align: center; transition: background .4s; }
.sn-line__t b { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.35; } .sn-line__t small { font-size: 12px; color: var(--muted); }
.sn-line__st { position: relative; width: 92px; height: 28px; }
.sn-line__st i { position: absolute; inset: 0; display: grid; place-content: center; border-radius: 8px; font: 700 12px/1 var(--font); font-style: normal; transition: opacity .35s, transform .45s var(--ease); }
.sn-line__st .open { background: #ffe5e2; color: #c42a1f; } .sn-line__st .ok { background: #e6f7ee; color: #1d8a55; opacity: 0; transform: translateY(10px) scale(.8); } .sn-line__st .back { background: #fff3dd; color: #a86a00; opacity: 0; transform: translateY(10px) scale(.8); }
.sn-sheet.is-v2 .sn-line .open { opacity: 0; transform: translateY(-10px) scale(.8); transition-delay: calc(var(--i) * 90ms); }
.sn-sheet.is-v2 .sn-line[data-fixed="1"] .ok, .sn-sheet.is-v2 .sn-line[data-fixed="0"] .back { opacity: 1; transform: none; transition-delay: calc(var(--i) * 90ms + 80ms); }
.sn-sheet.is-v2 .sn-line[data-fixed="1"] .sn-line__pin { background: #2bb673; transition-delay: calc(var(--i) * 90ms); }
.sn-sheet.is-v2 .sn-line[data-fixed="0"] .sn-line__pin { background: #f0a300; }
.sn-sheet__note { font-size: 12px; color: var(--muted); margin: 14px 0 0; }
.sn-get__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.sn-get__i figure { position: relative; margin: 0 0 16px; border-radius: 18px; overflow: hidden; aspect-ratio: 4/5; }
.sn-get__i img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); } .sn-get__i:hover img { transform: scale(1.06); }
.sn-get__i figure span { position: absolute; left: 14px; top: 14px; background: #fff; border-radius: 8px; padding: 6px 9px; font: 800 12px/1 var(--font); color: #1e508c; }
.sn-get__i h3 { font-size: 18px; margin: 0 0 6px; } .sn-get__i p { font-size: 14.5px; color: var(--ink-2); margin: 0; }

/* ---------- Golden Visa ---------- */
.gv-hero { position: relative; background: #0b1424; color: #fff; padding: calc(var(--hdr) + 40px) 0 clamp(64px, 8vw, 110px); overflow: clip; }
.gv-hero__bg { position: absolute; inset: 0; } .gv-hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .32; filter: saturate(.6); }
.gv-hero__bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 70% at 78% 45%, rgba(216,180,106,.22), transparent 70%), linear-gradient(90deg, #0b1424 25%, rgba(11,20,36,.6) 60%, rgba(11,20,36,.85)); }
.gv-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 48px; align-items: center; }
.gv-k { font: 700 12px/1 var(--font); letter-spacing: .18em; text-transform: uppercase; color: #d8b46a; margin: 22px 0 20px; display: flex; align-items: center; gap: 12px; }
.gv-k::before { content: ""; width: 34px; height: 1px; background: #d8b46a; }
.gv-hero__h { font-size: clamp(44px, 6.2vw, 88px); line-height: .98; letter-spacing: -.04em; margin: 0 0 22px; font-weight: 700; }
.gv-hero__h em { font-family: var(--serif); font-weight: 400; color: transparent; background: linear-gradient(100deg, #f6e3b4, #d8b46a 40%, #fff1cc 55%, #b88e46); -webkit-background-clip: text; background-clip: text; background-size: 200% 100%; animation: gvShine 6s linear infinite; padding-right: .06em; }
@keyframes gvShine { to { background-position: -200% 0; } }
.gv-hero__p { font-size: 18px; color: rgba(255,255,255,.75); max-width: 520px; margin: 0 0 30px; }
.gv-btn { background: linear-gradient(135deg, #f2d792, #c9a052); color: #1a1405; border: 0; font-weight: 800; box-shadow: 0 12px 30px -10px rgba(216,180,106,.7); }
.gv-btn:hover { filter: brightness(1.06); transform: translateY(-1px); }
.gv-hero__k { list-style: none; display: flex; gap: 0; margin: 40px 0 0; padding: 0; }
.gv-hero__k li { padding: 0 28px; border-left: 1px solid rgba(216,180,106,.3); } .gv-hero__k li:first-child { padding-left: 0; border: 0; }
.gv-hero__k b { display: block; font-size: 28px; letter-spacing: -.02em; color: #f2d792; } .gv-hero__k span { font-size: 12.5px; color: rgba(255,255,255,.6); }
.gv-stage { position: relative; height: 440px; perspective: 1200px; display: grid; place-items: center; }
.gv-card { position: relative; width: min(430px, 92%); aspect-ratio: 1.586; border-radius: 22px; padding: 26px 28px; color: #2a1e06; background: linear-gradient(135deg, #f7e4ae 0%, #d8b46a 35%, #f3d98f 55%, #b88e46 100%); box-shadow: 0 50px 100px -30px rgba(0,0,0,.8), inset 0 0 0 1px rgba(255,255,255,.4); transform: rotateY(-16deg) rotateX(8deg); transform-style: preserve-3d; transition: transform .2s ease-out; display: flex; flex-direction: column; overflow: hidden; animation: gvFloat 7s ease-in-out infinite; }
@keyframes gvFloat { 50% { translate: 0 -12px; } }
.gv-card::before { content: ""; position: absolute; inset: 0; background: repeating-radial-gradient(circle at 80% 120%, rgba(255,255,255,.0) 0 10px, rgba(255,255,255,.12) 11px 12px); mix-blend-mode: overlay; }
.gv-card__shine { position: absolute; inset: -50%; background: linear-gradient(110deg, transparent 40%, rgba(255,255,255,.55) 50%, transparent 60%); transform: translateX(var(--sx, -40%)); pointer-events: none; mix-blend-mode: soft-light; }
.gv-card__top { display: flex; justify-content: space-between; align-items: start; position: relative; }
.gv-card__top small { text-align: right; font: 700 10px/1.4 var(--font); letter-spacing: .14em; text-transform: uppercase; opacity: .75; }
.gv-card__chip { width: 48px; height: 36px; border-radius: 7px; background: linear-gradient(135deg, #fff6d8, #c39a4f); box-shadow: inset 0 0 0 1px rgba(90,60,10,.25); position: relative; }
.gv-card__chip::after { content: ""; position: absolute; inset: 8px 14px; border: 1px solid rgba(90,60,10,.3); border-radius: 3px; }
.gv-card__t { font-family: var(--serif); font-weight: 400; font-size: clamp(36px, 4.4vw, 52px); line-height: .9; margin: auto 0 14px; position: relative; letter-spacing: -.01em; }
.gv-card__row { display: flex; gap: 28px; position: relative; font-weight: 700; font-size: 14px; } .gv-card__row small { display: block; font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; opacity: .65; }
.gv-card__mrz { position: relative; margin-top: 14px; font: 600 10px/1.45 ui-monospace, monospace; letter-spacing: .08em; opacity: .55; white-space: nowrap; overflow: hidden; }
.gv-float { position: absolute; display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.1); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.18); padding: 10px 14px; border-radius: 99px; font-weight: 700; font-size: 14px; animation: gvFloat 6s ease-in-out infinite; }
.gv-float i { width: 20px; height: 20px; border-radius: 50%; background: #d8b46a; color: #1a1405; font: 800 11px/20px var(--font); text-align: center; font-style: normal; }
.gv-float--a { top: 6%; right: 6%; animation-delay: -1s; } .gv-float--b { bottom: 10%; left: 0; animation-delay: -3s; } .gv-float--c { bottom: 2%; right: 14%; animation-delay: -4.5s; }
.gv-check { padding: clamp(64px, 8vw, 112px) 0; background: linear-gradient(180deg, #fbf8f1, #fff); }
.gv-check__head { text-align: center; max-width: 720px; margin: 0 auto 40px; } .gv-check__head .eyebrow { justify-content: center; } .gv-check__head > p { color: var(--ink-2); }
.gv-check__in { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.gv-props { background: #fff; border: 1px solid #ece4d2; border-radius: 24px; padding: 24px; box-shadow: 0 20px 50px -30px rgba(120,90,30,.35); }
.gv-prop { display: grid; grid-template-columns: 34px minmax(0, 1.4fr) minmax(0, 1fr) 34px; gap: 12px; align-items: end; padding: 14px 0; border-bottom: 1px solid #f1ebde; animation: snRow .45s var(--ease) both; }
.gv-prop__n { width: 34px; height: 34px; border-radius: 10px; background: #f7efdc; color: #8a6420; font: 800 13px/34px var(--font); text-align: center; align-self: center; }
.gv-prop label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.gv-prop input { width: 100%; border: 1px solid #e6dcc6; border-radius: 12px; padding: 12px 14px; font-size: 17px; font-weight: 700; background: #fffdf8; color: var(--ink); text-transform: none; letter-spacing: 0; }
.gv-prop input:focus { outline: none; border-color: #c9a052; box-shadow: 0 0 0 4px rgba(216,180,106,.2); }
.gv-prop__x { width: 34px; height: 34px; border-radius: 10px; border: 1px solid var(--line); background: #fff; color: var(--muted); align-self: center; font-size: 18px; line-height: 1; }
.gv-prop__x:hover { color: var(--red); border-color: var(--red); } .gv-prop:only-child .gv-prop__x { visibility: hidden; }
.gv-add { margin: 14px 0 6px; border: 1.5px dashed #d8c69c; background: none; border-radius: 14px; padding: 13px; width: 100%; font-weight: 700; color: #8a6420; display: flex; justify-content: center; gap: 8px; transition: .25s; }
.gv-add span { width: 22px; height: 22px; border-radius: 50%; background: #d8b46a; color: #fff; line-height: 22px; } .gv-add:hover { background: #fbf5e7; }
.gv-qs { display: grid; gap: 4px; margin-top: 12px; }
.gv-q { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; font-weight: 600; }
.gv-seg { display: inline-flex; background: #f4efe4; border-radius: 10px; padding: 3px; }
.gv-seg button { border: 0; background: none; padding: 7px 16px; border-radius: 8px; font-weight: 700; font-size: 13.5px; color: var(--muted); transition: .25s; }
.gv-seg button.is-on { background: #fff; color: var(--ink); box-shadow: 0 2px 6px rgba(0,0,0,.08); }
.gv-res { position: sticky; top: calc(var(--hdr) + 20px); background: #0b1424; color: #fff; border-radius: 24px; padding: 26px; overflow: hidden; }
.gv-res::before { content: ""; position: absolute; width: 300px; height: 300px; right: -120px; top: -140px; border-radius: 50%; background: radial-gradient(closest-side, rgba(216,180,106,.3), transparent); }
.gv-meter { position: relative; width: 100%; max-width: 300px; margin: 0 auto 6px; }
.gv-meter svg { width: 100%; display: block; } .gv-meter path { fill: none; stroke-width: 14; stroke-linecap: round; }
.gv-meter .t { stroke: rgba(255,255,255,.1); } .gv-meter .v { stroke: url(#gvg); stroke: #d8b46a; stroke-dasharray: 271; stroke-dashoffset: 271; transition: stroke-dashoffset .8s var(--ease), stroke .4s; }
.gv-res.is-yes .gv-meter .v { stroke: #f2d792; filter: drop-shadow(0 0 10px rgba(242,215,146,.7)); }
.gv-meter > div { position: absolute; left: 0; right: 0; bottom: 4px; text-align: center; }
.gv-meter small { font-size: 11px; color: rgba(255,255,255,.55); text-transform: uppercase; letter-spacing: .12em; } .gv-meter b { display: block; font-size: 30px; letter-spacing: -.03em; line-height: 1.1; } .gv-meter span { font-size: 12.5px; color: #d8b46a; }
.gv-res__verdict { position: relative; text-align: center; font-weight: 600; min-height: 48px; margin: 10px 0 18px; font-size: 15.5px; }
.gv-res__verdict i { display: inline-grid; place-content: center; width: 22px; height: 22px; border-radius: 50%; margin-right: 6px; font-style: normal; font-size: 12px; background: rgba(255,255,255,.15); vertical-align: 1px; }
.gv-res.is-yes .gv-res__verdict i { background: #2bb673; }
.gv-res__verdict a { color: #f2d792; text-decoration: underline; text-underline-offset: 3px; }
.gv-docs { position: relative; background: rgba(255,255,255,.06); border-radius: 16px; padding: 16px 18px; margin-bottom: 18px; }
.gv-docs b { font-size: 12px; text-transform: uppercase; letter-spacing: .12em; color: #d8b46a; }
.gv-docs ul { list-style: none; padding: 0; margin: 10px 0 0; display: grid; gap: 8px; }
.gv-docs li { font-size: 14px; display: flex; gap: 10px; animation: snRow .4s var(--ease) both; } .gv-docs li::before { content: "✓"; color: #d8b46a; font-weight: 800; }
.gv-res .sg-note { color: rgba(255,255,255,.5); position: relative; margin-top: 14px; }
.gv-fam { background: #0b1424; color: #fff; padding: clamp(64px, 8vw, 110px) 0; position: relative; overflow: clip; }
.gv-fam__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.gv-fam__in > div > p { color: rgba(255,255,255,.7); }
.gv-fam__btns { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 18px; }
.gv-fam__btns button { border: 1px solid rgba(216,180,106,.45); background: rgba(216,180,106,.08); color: #fff; border-radius: 99px; padding: 11px 18px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; transition: .25s var(--ease); }
.gv-fam__btns button i { font-style: normal; color: #d8b46a; font-size: 18px; line-height: 1; }
.gv-fam__btns button:hover { background: #d8b46a; color: #1a1405; } .gv-fam__btns button:hover i { color: #1a1405; } .gv-fam__btns button:active { transform: scale(.96); }
.gv-fam__btns .gv-fam__reset { border-color: rgba(255,255,255,.2); background: none; color: rgba(255,255,255,.6); }
.gv-tree__card { background: linear-gradient(160deg, rgba(255,255,255,.09), rgba(255,255,255,.03)); border: 1px solid rgba(216,180,106,.3); border-radius: 26px; padding: 24px; min-height: 340px; display: flex; flex-direction: column; }
.gv-tree__top { display: flex; justify-content: space-between; font-size: 13px; color: rgba(255,255,255,.6); margin-bottom: 20px; } .gv-tree__top b { color: #f2d792; }
.gv-tree__ppl { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px; flex: 1; align-content: flex-start; }
.gv-tree__ppl li { width: 92px; text-align: center; animation: gvPop .5s cubic-bezier(.3,1.6,.5,1) both; }
.gv-tree__ppl li span { display: grid; place-content: center; width: 72px; height: 72px; margin: 0 auto 8px; border-radius: 50%; background: rgba(255,255,255,.1); border: 2px solid rgba(216,180,106,.5); font-size: 28px; }
.gv-tree__ppl li.is-you span { background: linear-gradient(135deg, #f2d792, #c9a052); color: #1a1405; font: 800 15px/1 var(--font); border: 0; }
.gv-tree__ppl small { font-size: 12.5px; color: rgba(255,255,255,.7); font-weight: 600; }
@keyframes gvPop { from { opacity: 0; transform: scale(.4) translateY(20px); } }
.gv-tree__foot { margin-top: 20px; padding-top: 16px; border-top: 1px dashed rgba(216,180,106,.35); display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: rgba(255,255,255,.6); } .gv-tree__foot b { color: #fff; text-align: right; }
.gv-perks__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gv-perk { border-radius: 20px; padding: 26px; background: #fbf8f1; border: 1px solid #efe6d2; transition: .35s var(--ease); }
.gv-perk:hover { background: #0b1424; color: #fff; transform: translateY(-4px); } .gv-perk:hover p { color: rgba(255,255,255,.7); }
.gv-perk__ic { display: grid; place-content: center; width: 48px; height: 48px; border-radius: 14px; background: linear-gradient(135deg, #f2d792, #c9a052); margin-bottom: 18px; }
.gv-perk__ic svg { width: 24px; height: 24px; fill: none; stroke: #2a1e06; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.gv-perk h3 { font-size: 19px; margin: 0 0 8px; } .gv-perk p { margin: 0; color: var(--ink-2); font-size: 15px; transition: color .3s; }
.gv-homes { padding-bottom: 40px; }
.gv-pass { background: #0b1424; padding: clamp(64px, 8vw, 110px) 0; color: #fff; }
.gv-pass__head { text-align: center; margin-bottom: 44px; } .gv-pass__head .eyebrow { justify-content: center; }
.gv-book { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; background: #f6efdf; color: var(--ink); border-radius: 20px; padding: 10px; box-shadow: 0 40px 90px -40px rgba(0,0,0,.8); position: relative; }
.gv-page { position: relative; padding: 28px 22px 26px; min-height: 300px; background: repeating-linear-gradient(0deg, transparent 0 27px, rgba(150,120,60,.12) 27px 28px), #fbf6ea; border-radius: 12px; margin: 4px; overflow: hidden; }
.gv-page::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 120%, rgba(216,180,106,.18), transparent 60%); }
.gv-stamp { position: relative; display: grid; place-content: center; text-align: center; width: 128px; height: 128px; margin: 0 auto 22px; border-radius: 50%; border: 3px double var(--sc, #b4331f); color: var(--sc, #b4331f); transform: rotate(var(--r)) scale(1.8); opacity: 0; transition: transform .5s cubic-bezier(.3,1.5,.5,1), opacity .2s; transition-delay: calc(var(--i) * .35s); mix-blend-mode: multiply; }
.gv-page:nth-child(2) .gv-stamp { --sc: #1e508c; border-radius: 18px; } .gv-page:nth-child(3) .gv-stamp { --sc: #2a7a4a; } .gv-page:nth-child(4) .gv-stamp { --sc: #8a6420; border-radius: 18px; }
.gv-stamp small { font: 800 10px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; } .gv-stamp b { font: 400 28px/1.1 var(--serif); font-style: italic; } .gv-stamp em { font-style: normal; font: 800 11px/1 var(--font); letter-spacing: .2em; }
.gv-pass.is-on .gv-stamp { transform: rotate(var(--r)) scale(1); opacity: .9; }
.gv-page h3 { position: relative; font-size: 17px; margin: 0 0 8px; } .gv-page p { position: relative; font-size: 14px; color: var(--ink-2); margin: 0; }
.gv-pass__fee { text-align: center; max-width: 640px; margin: 28px auto 0; color: rgba(255,255,255,.6); font-size: 14px; }

/* ---------- CBA Investments ---------- */
.iv-hero { position: relative; background: #08080a; color: #fff; padding: calc(var(--hdr) + 40px) 0 0; overflow: clip; }
.iv-hero__bg { position: absolute; inset: 0; } .iv-hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .28; }
.iv-hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #08080a 30%, rgba(8,8,10,.55)), linear-gradient(0deg, #08080a, transparent 40%); }
.iv-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 5vw, 72px); align-items: center; padding-bottom: clamp(48px, 6vw, 80px); }
.iv-k { display: inline-flex; gap: 10px; align-items: center; font: 700 12px/1 var(--font); letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.7); margin: 22px 0 22px; }
.iv-k span { background: var(--red); color: #fff; padding: 6px 8px; border-radius: 5px; letter-spacing: .1em; }
.iv-hero__h { font-size: clamp(42px, 5.8vw, 84px); line-height: 1; letter-spacing: -.04em; margin: 0 0 22px; font-weight: 700; }
.iv-hero__h em { font-family: var(--serif); font-weight: 400; color: rgba(255,255,255,.62); }
.iv-hero__p { font-size: 18px; color: rgba(255,255,255,.72); max-width: 540px; margin: 0 0 30px; }
.iv-board { background: rgba(20,20,24,.75); backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.1); border-radius: 22px; padding: 18px; font-variant-numeric: tabular-nums; }
.iv-board__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; font-size: 13px; }
.iv-board__top span { font-weight: 700; display: inline-flex; gap: 8px; align-items: center; } .iv-board__top i { width: 8px; height: 8px; border-radius: 50%; background: #2bd47d; box-shadow: 0 0 10px #2bd47d; animation: snPulse 1.6s infinite; }
.iv-board__top small { color: rgba(255,255,255,.45); }
.iv-board__hd, .iv-board li a { display: grid; grid-template-columns: minmax(0, 1.5fr) 90px 120px; gap: 10px; align-items: center; }
.iv-board__hd { font-size: 10.5px; text-transform: uppercase; letter-spacing: .12em; color: rgba(255,255,255,.4); padding: 0 10px 8px; }
.iv-board__hd span:not(:first-child), .iv-board li b, .iv-board li em { text-align: right; }
.iv-board ol { list-style: none; margin: 0; padding: 0; }
.iv-board li a { padding: 11px 10px; border-radius: 10px; transition: background .25s; animation: snRow .6s var(--ease) both; animation-delay: calc(.4s + var(--i) * 80ms); }
.iv-board li a:hover { background: rgba(255,255,255,.06); }
.iv-board li span { font-weight: 600; font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .iv-board li b { font-weight: 600; color: rgba(255,255,255,.8); }
.iv-board li em { font-style: normal; font-weight: 800; color: #2bd47d; position: relative; display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.iv-board li em i { display: block; width: 46px; height: 4px; border-radius: 4px; background: rgba(255,255,255,.08); position: relative; overflow: hidden; }
.iv-board li em i::after { content: ""; position: absolute; inset: 0; width: var(--w); background: #2bd47d; border-radius: inherit; }
.iv-board__note { font-size: 11.5px; color: rgba(255,255,255,.4); margin: 10px 10px 0; }
.iv-strip { position: relative; border-top: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.03); }
.iv-strip__in { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.iv-strip__in div { padding: 24px 20px 26px 0; } .iv-strip__in div + div { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.1); }
.iv-strip b { display: block; font: 400 clamp(30px, 3.2vw, 44px)/1 var(--serif); color: #fff; margin-bottom: 6px; } .iv-strip span { font-size: 13px; color: rgba(255,255,255,.55); }
.iv-sim { background: #f5f4f0; padding: clamp(64px, 8vw, 112px) 0; }
.iv-sim__head { margin-bottom: 32px; max-width: 760px; }
.iv-sim__in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 20px; }
.iv-ctl { background: #fff; border-radius: 24px; padding: 26px; display: grid; gap: 22px; align-content: start; border: 1px solid var(--line); }
.iv-f { display: grid; gap: 10px; } .iv-f > span { display: flex; justify-content: space-between; gap: 10px; font-weight: 600; font-size: 14px; color: var(--ink-2); }
.iv-f output { font-weight: 800; color: var(--ink); font-variant-numeric: tabular-nums; }
.iv-f select { border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; font-weight: 600; background: #fff; }
.iv-f input[type=range], .pt-f input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 6px; background: linear-gradient(90deg, var(--red) var(--p, 50%), #e7e6e2 var(--p, 50%)); outline: none; }
.iv-f input[type=range]::-webkit-slider-thumb, .pt-f input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 2px solid var(--red); box-shadow: 0 4px 12px rgba(244,59,47,.35); cursor: grab; transition: transform .2s; }
.iv-f input[type=range]::-webkit-slider-thumb:active, .pt-f input[type=range]::-webkit-slider-thumb:active { transform: scale(1.2); }
.iv-f input[type=range]::-moz-range-thumb, .pt-f input[type=range]::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 2px solid var(--red); }
.iv-out { background: #0b0b0d; color: #fff; border-radius: 24px; padding: 26px; display: flex; flex-direction: column; }
.iv-out__k { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.iv-out__k div { background: rgba(255,255,255,.06); border-radius: 14px; padding: 14px; } .iv-out__k small { font-size: 11.5px; color: rgba(255,255,255,.55); display: block; } .iv-out__k b { font-size: clamp(18px, 1.8vw, 24px); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.iv-chart { flex: 1; min-height: 200px; display: flex; align-items: flex-end; gap: 8px; padding: 26px 0 10px; border-bottom: 1px solid rgba(255,255,255,.1); }
.iv-bar { flex: 1; display: flex; flex-direction: column-reverse; height: 100%; position: relative; }
.iv-bar i { display: block; border-radius: 4px 4px 0 0; transition: height .6s var(--ease); }
.iv-bar .r { background: var(--red); border-radius: 0 0 3px 3px; } .iv-bar .g { background: #d8b46a; margin-bottom: 2px; }
.iv-bar small { position: absolute; bottom: -22px; left: 0; right: 0; text-align: center; font-size: 10.5px; color: rgba(255,255,255,.45); }
.iv-out__legend { display: flex; gap: 18px; font-size: 12px; color: rgba(255,255,255,.6); margin: 30px 0 18px; }
.iv-out__legend span::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; } .iv-out__legend .r::before { background: var(--red); } .iv-out__legend .g::before { background: #d8b46a; }
.iv-out__total { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 14px; margin-bottom: 18px; }
.iv-out__total > span { font-size: 14px; color: rgba(255,255,255,.6); width: 100%; } .iv-out__total > b { font: 400 clamp(36px, 4vw, 54px)/1 var(--serif); } .iv-out__total em { font-style: normal; font-weight: 800; color: #2bd47d; }
.iv-str__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 26px; }
.iv-tabs { display: flex; gap: 8px; background: var(--soft); padding: 5px; border-radius: 16px; }
.iv-tabs button { border: 0; background: none; padding: 11px 18px; border-radius: 12px; text-align: left; transition: .3s var(--ease); }
.iv-tabs b { display: block; font-size: 15px; } .iv-tabs small { font-size: 12px; color: var(--muted); }
.iv-tabs button.is-on { background: #0b0b0d; color: #fff; box-shadow: 0 8px 20px -8px rgba(0,0,0,.5); } .iv-tabs button.is-on small { color: rgba(255,255,255,.6); }
.iv-pane { display: none; } .iv-pane.is-on { display: block; animation: snRow .5s var(--ease); }
.iv-pane__txt { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 18px; flex-wrap: wrap; } .iv-pane__txt p { margin: 0; max-width: 620px; color: var(--ink-2); font-size: 16.5px; }
.iv-pane .pcard { min-width: 0; }
.iv-why { background: #fff; }
.iv-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.iv-why__i { padding: 28px 24px 8px 0; } .iv-why__i + .iv-why__i { padding-left: 24px; border-left: 1px solid var(--line); }
.iv-why__i b { display: block; font: 400 clamp(44px, 5vw, 72px)/1 var(--serif); letter-spacing: -.02em; margin-bottom: 12px; } .iv-why__i span { color: var(--ink-2); font-size: 15px; }
.iv-desk { background: #08080a; color: #fff; padding: clamp(64px, 8vw, 112px) 0; }
.iv-desk__head { margin-bottom: 34px; }
.iv-desk__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.iv-slide { position: relative; border-radius: 20px; overflow: hidden; min-height: 380px; display: flex; align-items: flex-end; isolation: isolate; }
.iv-slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1s var(--ease); filter: grayscale(.4); }
.iv-slide::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(8,8,10,.95) 30%, rgba(8,8,10,.2)); transition: background .5s; }
.iv-slide:hover img { transform: scale(1.07); filter: none; } .iv-slide:hover::after { background: linear-gradient(0deg, rgba(150,20,12,.95) 25%, rgba(8,8,10,.1)); }
.iv-slide > div { padding: 22px; } .iv-slide__n { display: flex; justify-content: space-between; align-items: center; font: 400 44px/1 var(--serif); margin-bottom: 18px; }
.iv-slide__n small { font: 700 11px/1 var(--font); letter-spacing: .12em; text-transform: uppercase; background: rgba(255,255,255,.12); padding: 6px 9px; border-radius: 6px; }
.iv-slide h3 { font-size: 22px; margin: 0 0 6px; } .iv-slide p { margin: 0; font-size: 14.5px; color: rgba(255,255,255,.72); }
.page-service .sg-yield { margin-top: 0; }

/* ---------- Partner program ---------- */
.pt-hero { position: relative; padding: calc(var(--hdr) + 40px) 0 clamp(56px, 7vw, 96px); background: #fff; overflow: clip; }
.pt-hero::before { content: ""; position: absolute; width: 820px; height: 820px; right: -260px; top: -200px; border-radius: 50%; background: radial-gradient(closest-side, rgba(244,59,47,.12), transparent 70%); }
.pt-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 40px; align-items: center; }
.pt-k { display: inline-flex; gap: 8px; align-items: center; font: 700 12px/1 var(--font); letter-spacing: .14em; text-transform: uppercase; color: var(--red); margin: 22px 0 18px; } .pt-k span { animation: snPulse 1.6s infinite; border-radius: 50%; }
.pt-hero__h { font-size: clamp(48px, 7vw, 104px); line-height: .95; letter-spacing: -.05em; margin: 0 0 24px; font-weight: 800; }
.pt-hero__h em { font-style: normal; color: var(--red); }
.pt-hero__u { display: inline-block; position: relative; font-family: var(--serif); font-weight: 400; font-style: italic; letter-spacing: -.02em; }
.pt-hero__u::after { content: ""; position: absolute; left: 0; right: 0; bottom: .05em; height: .14em; background: var(--red); border-radius: 99px; transform-origin: left; transform: scaleX(0); animation: ptLine 1s 1s var(--ease) forwards; }
@keyframes ptLine { to { transform: none; } }
.pt-hero__p { font-size: 18px; color: var(--ink-2); max-width: 520px; margin: 0 0 28px; }
.pt-hero .btn--ghost { color: var(--ink); }
.pt-hero__team { display: flex; align-items: center; gap: 14px; margin-top: 34px; } .pt-hero__team span { display: flex; } .pt-hero__team p { margin: 0; font-size: 14px; color: var(--muted); max-width: 240px; line-height: 1.4; } .pt-hero__team p b { color: var(--ink); }
.pt-hero__team img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; margin-left: -12px; box-shadow: 0 4px 10px rgba(0,0,0,.1); } .pt-hero__team img:first-child { margin-left: 0; }
.pt-net { position: relative; aspect-ratio: 520 / 460; width: 100%; }
.pt-net__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.pt-net__svg path { fill: none; stroke: #f3c9c5; stroke-width: 2.5; stroke-dasharray: 6 8; animation: ptDash 1.2s linear infinite; }
@keyframes ptDash { to { stroke-dashoffset: -28; } }
.pt-net__dot { fill: var(--red); filter: drop-shadow(0 0 6px rgba(244,59,47,.7)); } .pt-net__dot--g { fill: #2bb673; filter: drop-shadow(0 0 6px rgba(43,182,115,.7)); }
.pt-node { position: absolute; transform: translate(-50%, -50%); background: #fff; border-radius: 18px; padding: 12px 16px; box-shadow: 0 18px 40px -14px rgba(0,0,0,.25), 0 0 0 1px rgba(0,0,0,.04); display: grid; grid-template-columns: auto auto; column-gap: 10px; align-items: center; white-space: nowrap; animation: gvFloat 6s ease-in-out infinite; }
.pt-node i, .pt-node img { grid-row: span 2; width: 38px; height: 38px; border-radius: 12px; display: grid; place-content: center; font-style: normal; font-size: 18px; background: #fff1f0; }
.pt-node img { object-fit: contain; padding: 6px; background: #0d0d0f; }
.pt-node b { font-size: 14.5px; } .pt-node small { font-size: 12px; color: var(--muted); }
.pt-node--you { left: 17%; top: 24%; } .pt-node--cba { left: 58%; top: 44%; animation-delay: -2s; } .pt-node--deal { left: 85%; top: 80%; animation-delay: -3s; } .pt-node--paid { left: 21%; top: 80%; animation-delay: -4s; } .pt-node--paid i { background: #e6f7ee; color: #1d8a55; font-weight: 800; }
.pt-toast { position: absolute; right: 0; top: 2%; display: flex; gap: 10px; align-items: center; background: #0d0d0f; color: #fff; padding: 12px 16px; border-radius: 14px; box-shadow: 0 20px 40px -14px rgba(0,0,0,.5); animation: ptToast 6s var(--ease) infinite; }
.pt-toast span { font-size: 22px; } .pt-toast b { display: block; font-size: 14px; } .pt-toast small { font-size: 12px; color: rgba(255,255,255,.6); }
@keyframes ptToast { 0%, 8% { opacity: 0; transform: translateY(-14px) scale(.95); } 14%, 80% { opacity: 1; transform: none; } 90%, 100% { opacity: 0; transform: translateY(-8px); } }
.pt-calc { background: var(--red); color: #fff; padding: clamp(64px, 8vw, 110px) 0; position: relative; overflow: clip; }
.pt-calc::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 85% 20%, rgba(255,255,255,.18), transparent 40%), radial-gradient(circle at 10% 100%, rgba(0,0,0,.18), transparent 45%); }
.pt-calc__in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); align-items: center; }
.pt-calc .h2 em { color: #fff; opacity: .8; } .pt-calc .eyebrow::before { background: #fff; }
.pt-calc__txt > p { color: rgba(255,255,255,.85); }
.pt-seg { display: inline-flex; background: rgba(0,0,0,.18); padding: 4px; border-radius: 12px; margin: 18px 0 26px; }
.pt-seg button { border: 0; background: none; color: #fff; padding: 10px 20px; border-radius: 9px; font-weight: 700; transition: .25s; } .pt-seg button.is-on { background: #fff; color: var(--red); }
.pt-f { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-bottom: 26px; font-weight: 600; }
.pt-f output { font-weight: 800; font-size: 18px; font-variant-numeric: tabular-nums; } .pt-f input { grid-column: 1 / -1; }
.pt-f input[type=range] { background: linear-gradient(90deg, #fff var(--p, 50%), rgba(0,0,0,.2) var(--p, 50%)); }
.pt-f input[type=range]::-webkit-slider-thumb { border-color: #fff; background: var(--red); box-shadow: 0 0 0 4px rgba(255,255,255,.3); }
.pt-calc__out { position: relative; background: #fff; color: var(--ink); border-radius: 28px; padding: 32px; box-shadow: 0 40px 80px -30px rgba(80,0,0,.6); overflow: hidden; }
.pt-coin { position: absolute; right: -30px; top: -30px; width: 150px; height: 150px; border-radius: 50%; background: linear-gradient(135deg, #f2d792, #c9a052); display: grid; place-content: center; font: 800 22px/1 var(--font); color: rgba(60,40,0,.5); transform: rotate(-12deg); animation: ptSpin 8s ease-in-out infinite; }
@keyframes ptSpin { 50% { transform: rotate(10deg) scale(1.05); } }
.pt-calc__out > small { font-size: 13px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .1em; position: relative; }
.pt-calc__big { display: block; position: relative; font-size: clamp(44px, 5.4vw, 76px); letter-spacing: -.045em; line-height: 1; margin: 8px 0 24px; font-variant-numeric: tabular-nums; }
.pt-calc__big.is-bump { animation: ptBump .4s var(--ease); } @keyframes ptBump { 40% { transform: scale(1.04); color: var(--red); } }
.pt-calc__rows > div { display: flex; justify-content: space-between; padding: 12px 0; border-top: 1px solid var(--line); font-size: 15px; } .pt-calc__rows span { color: var(--ink-2); } .pt-calc__rows i { font-style: normal; }
.pt-calc__yr { background: #fff1f0; margin: 6px -14px 0; padding: 14px !important; border-radius: 12px; border: 0 !important; } .pt-calc__yr b { color: var(--red); font-size: 19px; }
.pt-calc__note { font-size: 12px; color: var(--muted); margin: 16px 0 0; }
.pt-who__in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 24px; }
.pt-who__tabs { display: grid; gap: 10px; align-content: start; }
.pt-who__tabs button { text-align: left; border: 1px solid var(--line); background: #fff; border-radius: 18px; padding: 18px 50px 18px 20px; position: relative; transition: .3s var(--ease); }
.pt-who__tabs b { display: block; font-size: 17px; } .pt-who__tabs small { color: var(--muted); font-size: 13.5px; }
.pt-who__tabs i { position: absolute; right: 20px; top: 50%; translate: 0 -50%; font-style: normal; font-size: 18px; opacity: .35; transition: .3s; }
.pt-who__tabs button:hover { border-color: var(--ink); }
.pt-who__tabs button.is-on { background: var(--ink); color: #fff; border-color: var(--ink); transform: translateX(6px); } .pt-who__tabs button.is-on small { color: rgba(255,255,255,.6); } .pt-who__tabs button.is-on i { opacity: 1; color: var(--red); }
.pt-who__panes { position: relative; min-height: 440px; }
.pt-who__p { position: absolute; inset: 0; border-radius: 24px; overflow: hidden; opacity: 0; visibility: hidden; transform: scale(.98); transition: opacity .5s, transform .6s var(--ease), visibility .5s; display: flex; align-items: flex-end; isolation: isolate; }
.pt-who__p.is-on { opacity: 1; visibility: visible; transform: none; }
.pt-who__p img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.pt-who__p::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(10,10,12,.92) 35%, rgba(10,10,12,.05)); }
.pt-who__b { padding: 28px; color: #fff; } .pt-who__b h3 { font-size: 26px; margin: 0 0 8px; letter-spacing: -.02em; } .pt-who__b > p { color: rgba(255,255,255,.78); margin: 0 0 18px; max-width: 520px; }
.pt-bubble { position: relative; background: #dcf8c6; color: #111; border-radius: 16px 16px 16px 4px; padding: 12px 16px; max-width: 420px; margin: 0; font-size: 15px; }
.pt-bubble span { display: block; font-size: 11px; font-weight: 700; color: #3c7a2a; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 2px; }
.pt-lang { background: var(--soft); padding: clamp(64px, 8vw, 110px) 0; }
.pt-lang__in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; align-items: center; }
.pt-lang__in p { color: var(--ink-2); }
.pt-lang__cloud { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.pt-lang__cloud li { font-size: calc(16px * var(--s)); font-weight: 700; background: #fff; border-radius: 99px; padding: .5em 1em; box-shadow: 0 6px 16px -10px rgba(0,0,0,.25); display: inline-flex; gap: 8px; align-items: center; animation: gvFloat 5s ease-in-out infinite; animation-delay: calc(var(--i) * -.45s); }
.pt-lang__cloud li small { font-size: 11px; background: var(--red); color: #fff; border-radius: 99px; padding: 2px 7px; }
.pt-lang__cloud li:nth-child(1) { background: var(--ink); color: #fff; }
.pt-nums { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 56px; }
.pt-nums div { background: #fff; border-radius: 20px; padding: 22px; } .pt-nums b { display: block; font-size: clamp(28px, 3vw, 40px); letter-spacing: -.03em; color: var(--red); } .pt-nums span { font-size: 14px; color: var(--ink-2); }
.pt-promise__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.pt-promise__list li { border-radius: 22px; padding: 26px; border: 1px solid var(--line); position: relative; overflow: hidden; transition: .35s var(--ease); }
.pt-promise__list li::before { content: ""; position: absolute; inset: 0; background: var(--red); transform: translateY(101%); transition: transform .45s var(--ease); z-index: -1; }
.pt-promise__list li { isolation: isolate; } .pt-promise__list li:hover { color: #fff; border-color: var(--red); } .pt-promise__list li:hover::before { transform: none; } .pt-promise__list li:hover p { color: rgba(255,255,255,.85); }
.pt-promise__list span { display: grid; place-content: center; width: 44px; height: 44px; border-radius: 50%; background: #fff1f0; color: var(--red); font-weight: 800; margin-bottom: 40px; transition: .3s; }
.pt-promise__list li:hover span { background: #fff; }
.pt-promise__list h3 { font-size: 19px; margin: 0 0 8px; } .pt-promise__list p { margin: 0; color: var(--ink-2); font-size: 15px; transition: color .3s; }

@media (max-width: 1080px) {
  .sn-lib__grid, .sn-get__grid, .iv-desk__list, .pt-promise__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gv-book { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .sn-hero__in, .sn-visits__in, .gv-hero__in, .gv-check__in, .gv-fam__in, .iv-hero__in, .iv-sim__in, .pt-hero__in, .pt-calc__in, .pt-who__in, .pt-lang__in, .sn-lib__head { grid-template-columns: 1fr; }
  .sn-rep { min-height: 480px; } .gv-stage { height: 320px; } .gv-res { position: relative; top: 0; }
  .gv-perks__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iv-strip__in, .iv-why__grid, .pt-nums { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iv-strip__in div:nth-child(3) { padding-left: 0; border-left: 0; } .iv-strip__in div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.1); }
  .iv-why__i:nth-child(3) { padding-left: 0; border-left: 0; }
  .pt-who__panes { min-height: 420px; } .pt-who__tabs button.is-on { transform: none; }
  .pt-net { max-width: 520px; margin: 0 auto; }
}
@media (max-width: 600px) {
  .sn-hero__k { grid-template-columns: repeat(2, 1fr); row-gap: 14px; }
  .sn-rep__photo { inset: 0 0 160px 10%; } .sn-rep__card { width: 100%; }
  .sn-lib__grid, .sn-get__grid, .gv-perks__grid, .iv-desk__list, .pt-promise__list, .gv-book, .sn-flow { grid-template-columns: 1fr; }
  .sn-sheet { padding: 16px; } .sn-line { grid-template-columns: 26px 1fr; } .sn-line__st { grid-column: 2; }
  .gv-hero__k { flex-wrap: wrap; row-gap: 16px; } .gv-hero__k li { padding: 0 16px; }
  .gv-prop { grid-template-columns: 30px 1fr 30px; } .gv-prop label:nth-of-type(2) { grid-column: 2; } .gv-prop__x { grid-row: 1; grid-column: 3; }
  .gv-float--b { left: 2%; } .gv-tree__ppl li { width: 76px; } .gv-tree__ppl li span { width: 60px; height: 60px; font-size: 24px; }
  .iv-board__hd, .iv-board li a { grid-template-columns: minmax(0, 1fr) 70px 90px; } .iv-board li em i { display: none; }
  .iv-out__k { grid-template-columns: 1fr 1fr; } .iv-out__k div:last-child { grid-column: span 2; }
  .iv-tabs { width: 100%; overflow-x: auto; } .iv-tabs button { flex: none; }
  .iv-slide { min-height: 300px; }
  .pt-node { padding: 8px 10px; column-gap: 8px; border-radius: 14px; } .pt-node i, .pt-node img { width: 30px; height: 30px; font-size: 15px; } .pt-node b { font-size: 12.5px; } .pt-node small { font-size: 10.5px; }
  .pt-node--you { left: 24%; } .pt-node--deal { left: 76%; } .pt-node--paid { left: 26%; }
  .pt-toast { right: 50%; translate: 50% 0; top: -4%; }
  .pt-calc__out { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) { .sn-rep__scan, .gv-card, .gv-float, .pt-node, .pt-lang__cloud li, .pt-toast, .pt-coin { animation: none !important; } .gv-stamp { transform: rotate(var(--r)); opacity: .9; } }
.gv-check .h2 em, .gv-perks .h2 em, .gv-homes .h2 em { color: #b0873c; }
.gv-fam .h2 em, .gv-pass .h2 em { color: #e3c27f; }
.gv-check .eyebrow, .gv-perks .eyebrow, .gv-homes .eyebrow { color: #9a7330; } .gv-check .eyebrow::before, .gv-perks .eyebrow::before, .gv-homes .eyebrow::before { background: #c9a052; }
.gv-tree__card { min-height: 300px; }
.pt-who__b > p.pt-bubble { color: #111; margin: 0; }
.iv-sim__in > *, .iv-f { min-width: 0; } .iv-f select { width: 100%; min-width: 0; text-overflow: ellipsis; }
@media (max-width: 600px) { .pt-toast { display: none; } }

/* ---------- About v2 ---------- */
.ab2-hero { position: relative; padding: calc(var(--hdr) + 32px) 0 clamp(48px, 6vw, 80px); background: linear-gradient(180deg, #f7f5f0, #fff); overflow: clip; }
.ab2-hero__flag { position: absolute; left: 0; top: 0; bottom: 0; width: 10px; display: grid; grid-template-rows: 1fr 1fr 1fr; }
.ab2-hero__flag i:nth-child(1) { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #ef3340; } .ab2-hero__flag i:nth-child(2) { background: #00843d; margin-left: 4px; } .ab2-hero__flag i:nth-child(3) { background: #fff; margin-left: 4px; } .ab2-hero__flag i:nth-child(4) { background: #0d0d0f; margin-left: 4px; }
.ab2-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.ab2-k { font: 700 12px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin: 24px 0 22px; }
.ab2-hero__h { font-size: clamp(52px, 8.2vw, 128px); line-height: .92; letter-spacing: -.055em; margin: 0 0 28px; font-weight: 800; }
.ab2-hero__h span { display: block; } .ab2-hero__h em { display: block; font-family: var(--serif); font-weight: 400; letter-spacing: -.03em; color: var(--red); }
.ab2-hero__p { font-size: clamp(17px, 1.4vw, 20px); color: var(--ink-2); max-width: 560px; margin: 0 0 30px; line-height: 1.55; }
.ab2-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; } .ab2-hero .btn--ghost { color: var(--ink); }
.ab2-ceo { position: relative; margin: 0; aspect-ratio: 4 / 5.3; }
.ab2-ceo__arch { position: absolute; inset: 6% 0 0 8%; border-radius: 999px 999px 28px 28px; background: linear-gradient(160deg, #f43b2f, #b91d14); }
.ab2-ceo img { position: absolute; inset: 0 4% 0 12%; width: 84%; height: 100%; object-fit: cover; object-position: 50% 15%; border-radius: 999px 999px 28px 28px; box-shadow: 0 40px 80px -30px rgba(0,0,0,.45); }
.ab2-ceo figcaption { position: absolute; left: 12%; right: 4%; bottom: 0; padding: 60px 24px 22px; border-radius: 0 0 28px 28px; background: linear-gradient(0deg, rgba(10,10,12,.85), transparent); color: #fff; }
.ab2-ceo figcaption b { display: block; font-size: 22px; letter-spacing: -.02em; } .ab2-ceo figcaption span { font-size: 14px; opacity: .75; }
.ab2-chip { position: absolute; background: #fff; border-radius: 16px; padding: 11px 14px; display: inline-flex; gap: 10px; align-items: center; box-shadow: 0 20px 40px -16px rgba(0,0,0,.3); font-weight: 700; font-size: 14px; animation: gvFloat 6s ease-in-out infinite; }
.ab2-chip i { font-style: normal; font-size: 18px; } .ab2-chip small { display: block; font-weight: 500; color: var(--muted); font-size: 12px; } .ab2-chip b { font-size: 14px; }
.ab2-chip--a { left: 0; top: 18%; } .ab2-chip--b { right: -4%; top: 44%; max-width: 230px; animation-delay: -2s; } .ab2-chip--b i { color: #d8b46a; font-size: 22px; } .ab2-chip--b b { font-size: 13px; line-height: 1.25; display: block; }
.ab2-chip--c { left: -2%; bottom: 16%; flex-direction: column; align-items: flex-start; gap: 0; background: #0d0d0f; color: #fff; animation-delay: -4s; } .ab2-chip--c b { font-size: 24px; letter-spacing: -.02em; } .ab2-chip--c small { color: rgba(255,255,255,.6); }
.ab2-hero__scroll { position: absolute; left: 50%; bottom: 18px; translate: -50% 0; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); display: grid; justify-items: center; gap: 8px; }
.ab2-hero__scroll span { width: 1px; height: 34px; background: linear-gradient(var(--ink), transparent); animation: abDrip 1.8s infinite; transform-origin: top; } @keyframes abDrip { 0% { transform: scaleY(0); } 60% { transform: scaleY(1); opacity: 1; } 100% { opacity: 0; } }
.ab2-man { height: 220vh; background: #0d0d0f; position: relative; }
.ab2-man__stick { position: sticky; top: 0; height: 100vh; display: grid; align-items: center; overflow: hidden; }
.ab2-man__stick::before { content: ""; position: absolute; width: 900px; height: 900px; left: -300px; bottom: -500px; border-radius: 50%; background: radial-gradient(closest-side, rgba(244,59,47,.22), transparent); }
.ab2-man__t { position: relative; font-size: clamp(30px, 4.3vw, 64px); line-height: 1.12; letter-spacing: -.035em; font-weight: 700; margin: 20px 0 0; max-width: 1180px; }
.ab2-man__t span { color: rgba(255,255,255,.14); transition: color .35s; } .ab2-man__t span.is-on { color: #fff; } .ab2-man__t span.is-hl.is-on { color: var(--red); }
.ab2-tl { padding: clamp(64px, 8vw, 112px) 0; background: #fff; overflow: clip; }
.ab2-tl__head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 36px; }
.ab2-tl__nav { display: flex; gap: 8px; } .ab2-tl__nav button { width: 50px; height: 50px; border-radius: 50%; border: 1px solid var(--line); background: #fff; font-size: 18px; transition: .25s; } .ab2-tl__nav button:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.ab2-tl__rail { display: grid; grid-auto-flow: column; grid-auto-columns: min(360px, 78vw); gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0 max(var(--gut), calc((100vw - 1320px) / 2 + var(--gut))); scroll-padding: 0 max(var(--gut), calc((100vw - 1320px) / 2 + var(--gut))); cursor: grab; }
.ab2-tl__rail::-webkit-scrollbar { display: none; }
.ab2-tl__i { scroll-snap-align: start; position: relative; padding: 48px 32px 8px 0; border-top: 2px solid var(--line); }
.ab2-tl__dot { position: absolute; top: -9px; left: 0; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 2px solid var(--ink); transition: .4s var(--ease); }
.ab2-tl__i:hover .ab2-tl__dot, .ab2-tl__i.is-now .ab2-tl__dot { background: var(--red); border-color: var(--red); box-shadow: 0 0 0 6px rgba(244,59,47,.15); }
.ab2-tl__i.is-now { border-top-color: var(--red); }
.ab2-tl__y { display: block; font: 400 clamp(48px, 5vw, 76px)/1 var(--serif); letter-spacing: -.02em; margin-bottom: 18px; color: var(--ink); }
.ab2-tl__i.is-now .ab2-tl__y { color: var(--red); }
.ab2-tl__i h3 { font-size: 20px; margin: 0 0 8px; letter-spacing: -.01em; } .ab2-tl__i p { color: var(--ink-2); margin: 0; font-size: 15px; max-width: 290px; }
.ab2-tl__bar { height: 3px; background: var(--soft); border-radius: 3px; margin-top: 36px; overflow: hidden; } .ab2-tl__bar i { display: block; height: 100%; width: 30%; background: var(--red); border-radius: inherit; transition: width .2s; }
.ab2-letter { background: var(--soft); padding: clamp(64px, 8vw, 112px) 0; }
.ab2-letter__in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.ab2-letter__side { position: sticky; top: calc(var(--hdr) + 24px); }
.ab2-letter__bio { font-size: 17px; color: var(--ink-2); margin: 0 0 26px; }
.ab2-honours { list-style: none; padding: 0; margin: 0 0 24px; display: grid; gap: 10px; }
.ab2-honours li { background: #fff; border-radius: 14px; padding: 14px 16px 14px 52px; position: relative; }
.ab2-honours li::before { content: "★"; position: absolute; left: 16px; top: 14px; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #f2d792, #c9a052); color: #3a2a08; font-size: 12px; display: grid; place-content: center; }
.ab2-honours b { display: block; font-size: 15px; } .ab2-honours small { color: var(--muted); font-size: 12.5px; }
.ab2-letter__paper { position: relative; background: #fff; border-radius: 28px; padding: clamp(28px, 4vw, 56px); box-shadow: 0 30px 70px -40px rgba(0,0,0,.35); }
.ab2-letter__paper::after { content: ""; position: absolute; inset: 14px; border: 1px solid #efe9de; border-radius: 20px; pointer-events: none; }
.ab2-letter__q { position: absolute; right: 36px; top: -10px; font: 400 200px/1 var(--serif); color: var(--red); opacity: .18; }
.ab2-letter__big { font: 400 clamp(28px, 3vw, 42px)/1.15 var(--serif); letter-spacing: -.01em; margin: 0 0 26px; position: relative; }
.ab2-letter__paper > p:not(.ab2-letter__big) { font-size: 17px; color: var(--ink-2); line-height: 1.7; }
.ab2-letter__sign { display: flex; align-items: center; gap: 18px; margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); }
.ab2-letter__sign img { height: 64px; width: auto; } .ab2-letter__sign b { display: block; font-size: 16px; } .ab2-letter__sign span { font-size: 13.5px; color: var(--muted); }
.ab2-group { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 112px) 0; overflow: clip; }
.ab2-group__in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.ab2-group__txt > p { color: rgba(255,255,255,.7); }
.ab2-group__card { margin-top: 28px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 20px; padding: 22px 24px; min-height: 170px; }
.ab2-group__card small { font: 700 11px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; color: var(--red); } .ab2-group__card b { display: block; font-size: 26px; letter-spacing: -.02em; margin: 8px 0 6px; } .ab2-group__card p { color: rgba(255,255,255,.72); margin: 0 0 14px; }
.ab2-group__card.is-swap b, .ab2-group__card.is-swap p { animation: snRow .45s var(--ease); }
.ab2-orbit { position: relative; aspect-ratio: 1; width: min(560px, 100%); margin: 0 auto; --R: 42%; }
.ab2-orbit__ring { position: absolute; inset: 8%; border-radius: 50%; border: 1px dashed rgba(255,255,255,.18); } .ab2-orbit__ring--2 { inset: 26%; border-style: solid; border-color: rgba(244,59,47,.25); }
.ab2-orbit__core { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 30%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 30% 30%, #ff5a4f, #b91d14); display: grid; place-content: center; justify-items: center; gap: 4px; box-shadow: 0 0 80px rgba(244,59,47,.45); }
.ab2-orbit__core img { width: 60px; filter: brightness(0) invert(1); } .ab2-orbit__core small { font: 700 10px/1 var(--font); letter-spacing: .2em; text-transform: uppercase; opacity: .8; }
.ab2-orbit__spin { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; animation: abSpin 60s linear infinite; }
.ab2-orbit:hover .ab2-orbit__spin, .ab2-orbit:hover .ab2-orbit__spin button { animation-play-state: paused; }
@keyframes abSpin { to { transform: rotate(360deg); } }
.ab2-orbit__spin li { position: absolute; left: 50%; top: 50%; width: 0; height: 0; transform: rotate(var(--a)) translateY(calc(var(--R) * -1 * 560 / 100)); }
.ab2-orbit__spin li { transform: rotate(var(--a)) translate(0, -235px); }
.ab2-orbit__spin button { position: absolute; left: 0; top: 0; translate: -50% -50%; width: 108px; height: 108px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); background: #17171b; color: #fff; font-weight: 700; font-size: 14px; display: grid; place-content: center; text-align: center; padding: 8px; transition: background .3s, border-color .3s, scale .3s; rotate: calc(var(--a) * -1); animation: abUnspin 60s linear infinite; }
@keyframes abUnspin { to { transform: rotate(-360deg); } }
.ab2-orbit__spin button:hover, .ab2-orbit__spin button.is-on { background: #fff; color: var(--ink); border-color: #fff; scale: 1.1; }
.ab2-orbit__spin button.is-on { box-shadow: 0 0 0 6px rgba(244,59,47,.35); }
.ab2-vals__list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--ink); }
.ab2-vals__list li { display: grid; grid-template-columns: 80px minmax(0, 1fr) minmax(0, 1.1fr); gap: 24px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--line); cursor: default; position: relative; transition: padding .4s var(--ease); }
.ab2-vals__list li::before { content: ""; position: absolute; inset: 0 calc(var(--gut) * -1); background: var(--red); transform: scaleY(0); transform-origin: bottom; transition: transform .45s var(--ease); z-index: -1; }
.ab2-vals__list { isolation: isolate; }
.ab2-vals__list span { font: 700 14px/1 var(--font); color: var(--muted); } .ab2-vals__list h3 { font-size: clamp(26px, 3.4vw, 48px); letter-spacing: -.035em; margin: 0; transition: color .3s; } .ab2-vals__list p { margin: 0; color: var(--ink-2); font-size: 16px; transition: color .3s; }
.ab2-vals__list li:hover, .ab2-vals__list li:focus-visible { padding-left: 16px; } .ab2-vals__list li:hover::before, .ab2-vals__list li:focus-visible::before { transform: none; }
.ab2-vals__list li:hover h3, .ab2-vals__list li:hover p, .ab2-vals__list li:hover span, .ab2-vals__list li:focus-visible h3, .ab2-vals__list li:focus-visible p, .ab2-vals__list li:focus-visible span { color: #fff; }
@media (max-width: 900px) {
  .ab2-hero__in, .ab2-letter__in, .ab2-group__in { grid-template-columns: 1fr; }
  .ab2-ceo { max-width: 440px; width: 100%; margin: 0 auto; } .ab2-chip--b { right: 0; }
  .ab2-letter__side { position: static; }
  .ab2-vals__list li { grid-template-columns: 44px 1fr; } .ab2-vals__list p { grid-column: 2; }
  .ab2-orbit__spin li { transform: rotate(var(--a)) translate(0, calc(min(560px, 100vw - 2 * var(--gut)) * -.42)); }
  .ab2-orbit__spin button { width: 84px; height: 84px; font-size: 12px; }
}
@media (max-width: 600px) {
  .ab2-chip { padding: 8px 11px; font-size: 12px; } .ab2-chip--b { max-width: 180px; top: 52%; } .ab2-chip--b b { font-size: 11.5px; } .ab2-chip--c b { font-size: 19px; }
  .ab2-man { height: 180vh; } .ab2-tl__nav { display: none; }
  .ab2-orbit__spin button { width: 70px; height: 70px; font-size: 11px; padding: 4px; }
}
@media (prefers-reduced-motion: reduce) { .ab2-orbit__spin, .ab2-orbit__spin button, .ab2-chip { animation: none !important; } }

/* ---------- Per-agent comparison ---------- */
.cmp { background: radial-gradient(ellipse 70% 60% at 100% 0%, rgba(244,59,47,.22), transparent 60%), #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 112px) 0; overflow: clip; }
.cmp__head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px; align-items: end; margin-bottom: 36px; }
.cmp__head p:not(.eyebrow) { color: rgba(255,255,255,.7); max-width: 540px; }
.cmp__x { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cmp__x div { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 22px; padding: 22px; }
.cmp__x b { display: block; font: 400 clamp(56px, 6.5vw, 96px)/.9 var(--serif); color: var(--red); letter-spacing: -.02em; }
.cmp__x span { font-size: 14px; color: rgba(255,255,255,.7); }
.cmp__board { background: #fff; color: var(--ink); border-radius: 28px; padding: clamp(20px, 3vw, 36px); }
.cmp__tabs { display: inline-flex; background: var(--soft); padding: 4px; border-radius: 12px; margin-bottom: 18px; }
.cmp__tabs button { border: 0; background: none; padding: 10px 16px; border-radius: 9px; font-weight: 700; font-size: 14px; color: var(--muted); transition: .25s; }
.cmp__tabs button.is-on { background: var(--ink); color: #fff; }
.cmp__rows { list-style: none; margin: 0; padding: 0; }
.cmp__rows li { display: grid; grid-template-columns: minmax(180px, 260px) minmax(0, 1fr) 130px; gap: 20px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.cmp__n { display: flex; align-items: center; gap: 12px; } .cmp__n b { display: block; font-size: 15.5px; } .cmp__n small { font-size: 12.5px; color: var(--muted); }
.cmp__n i { width: 38px; height: 38px; border-radius: 10px; background: repeating-linear-gradient(45deg, #ecebe7 0 6px, #f5f4f0 6px 12px); flex: none; }
.cmp__n img { width: 38px; height: 38px; border-radius: 10px; background: #0d0d0f; padding: 7px; object-fit: contain; flex: none; }
.cmp__bar { height: 14px; background: var(--soft); border-radius: 99px; overflow: hidden; }
.cmp__bar i { display: block; height: 100%; width: 0; border-radius: inherit; background: #c9c7c0; transition: width 1.1s var(--ease); transition-delay: calc(var(--i) * 90ms); }
.cmp__rows li.is-cba .cmp__bar { height: 22px; } .cmp__rows li.is-cba .cmp__bar i { background: linear-gradient(90deg, #ff6a5f, var(--red)); box-shadow: 0 0 20px rgba(244,59,47,.5); }
.cmp__v { text-align: right; font-weight: 800; font-size: 18px; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.cmp__rows li.is-cba .cmp__v { color: var(--red); font-size: 24px; }
.cmp__rows li.is-cba { border-bottom: 0; }
.cmp__tot { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.cmp__tot div { background: var(--soft); border-radius: 16px; padding: 16px 18px; } .cmp__tot small { display: block; font-size: 12px; color: var(--muted); } .cmp__tot b { font-size: 20px; letter-spacing: -.02em; }
.cmp__note { font-size: 12px; color: var(--muted); margin: 14px 0 0; }
@media (max-width: 900px) { .cmp__head { grid-template-columns: 1fr; } .cmp__tot { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .cmp__rows li { grid-template-columns: 1fr auto; gap: 8px 12px; } .cmp__bar { grid-column: 1 / -1; grid-row: 2; } .cmp__x b { font-size: 52px; } }
.cr-float--c { right: 6%; bottom: -18px; background: #0d0d0f; color: #fff; animation-delay: -1.5s; } .cr-float--c b { color: #fff; font-size: 26px; } .cr-float--c small { color: rgba(255,255,255,.7); }
@media (max-width: 900px) { .cr-float--c { right: 8px; bottom: -14px; } }

/* Careers: CBA Academy graduates */
.cr-grads { padding: clamp(64px, 8vw, 112px) 0; background: linear-gradient(180deg, #fff, #fbf7ef); overflow: clip; }
.cr-grads__head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 40px; align-items: end; margin-bottom: 36px; } .cr-grads__head > p { color: var(--ink-2); margin: 0; }
.cr-grads__in { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 20px; align-items: stretch; }
.cr-grads__group { position: relative; margin: 0; border-radius: 28px; overflow: hidden; min-height: 420px; }
.cr-grads__group img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cr-grads__group::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,10,12,.75), transparent 45%); }
.cr-grads__group figcaption { position: absolute; left: 22px; right: 22px; bottom: 22px; z-index: 1; display: flex; align-items: center; gap: 16px; color: #fff; }
.cr-grads__group figcaption b { display: block; font-size: 22px; letter-spacing: -.02em; } .cr-grads__group figcaption small { opacity: .75; }
.cr-seal { flex: none; width: 74px; height: 74px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ff6a5f, #c4261b); display: grid; place-content: center; text-align: center; box-shadow: 0 0 0 4px rgba(255,255,255,.25), 0 10px 30px rgba(0,0,0,.4); position: relative; animation: crSeal 10s linear infinite; }
.cr-seal::before { content: ""; position: absolute; inset: 6px; border-radius: 50%; border: 1px dashed rgba(255,255,255,.6); }
.cr-seal b { font-size: 15px; letter-spacing: .08em; } .cr-seal small { font-size: 8.5px; letter-spacing: .2em; text-transform: uppercase; }
@keyframes crSeal { 50% { transform: rotate(8deg) scale(1.04); } }
.cr-grads__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cr-grad { position: relative; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 12px 30px -18px rgba(0,0,0,.3); transition: transform .4s var(--ease); }
.cr-grad:hover, .cr-grad:focus-visible { transform: translateY(-4px); }
.cr-grad__ph { position: relative; aspect-ratio: 4 / 4.2; overflow: hidden; }
.cr-grad__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; transition: opacity .5s, transform .8s var(--ease); }
.cr-grad__duo { opacity: 0; transform: scale(1.08); }
.cr-grad:hover .cr-grad__duo, .cr-grad:focus-visible .cr-grad__duo { opacity: 1; transform: none; }
.cr-grad__b { position: relative; padding: 12px 14px 14px; } .cr-grad__b b { display: block; font-size: 15px; line-height: 1.25; padding-right: 26px; } .cr-grad__b small { font-size: 12px; color: var(--muted); }
.cr-ribbon { position: absolute; right: 12px; top: -16px; width: 28px; height: 28px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ff6a5f, #c4261b); box-shadow: 0 4px 10px rgba(196,38,27,.5); }
.cr-ribbon::before, .cr-ribbon::after { content: ""; position: absolute; top: 22px; width: 9px; height: 14px; background: #c4261b; clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 75%, 0 100%); }
.cr-ribbon::before { left: 4px; transform: rotate(14deg); } .cr-ribbon::after { right: 4px; transform: rotate(-14deg); }
.cr-grad--you a { display: grid; place-content: center; justify-items: center; text-align: center; height: 100%; min-height: 200px; border: 2px dashed #e7c9a0; border-radius: 20px; background: #fffaf2; padding: 16px; transition: .3s; }
.cr-grad--you a:hover { background: var(--red); border-color: var(--red); color: #fff; } .cr-grad--you a:hover small { color: rgba(255,255,255,.8); }
.cr-grad--you span { width: 48px; height: 48px; border-radius: 50%; background: var(--red); color: #fff; font-size: 26px; line-height: 48px; margin-bottom: 10px; } .cr-grad--you a:hover span { background: #fff; color: var(--red); }
.cr-grad--you b { font-size: 16px; } .cr-grad--you small { color: var(--muted); font-size: 12.5px; }
@media (max-width: 900px) { .cr-grads__head, .cr-grads__in { grid-template-columns: 1fr; } .cr-grads__group { min-height: 320px; } .cr-grads__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .cr-grads__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cr-grads__group { min-height: 240px; } }
.ab2-orbit__core b { font-size: clamp(26px, 3vw, 38px); letter-spacing: .06em; line-height: 1; }
.cr-grads__in { grid-template-columns: 1fr; gap: 16px; }
.cr-grads__group { min-height: 0; aspect-ratio: 1557 / 760; } .cr-grads__group img { object-position: 50% 30%; }
.cr-grads__list { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.cr-grad__ph { aspect-ratio: 4 / 5; }
@media (max-width: 900px) { .cr-grads__group { aspect-ratio: 4 / 3; } .cr-grads__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .cr-grads__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Awards & press v2 ---------- */
.ap2-hero { position: relative; background: #0a0a0c; color: #fff; padding: calc(var(--hdr) + 36px) 0 0; overflow: clip; }
.ap2-hero__glow { position: absolute; inset: 0; background: radial-gradient(ellipse 50% 60% at 75% 40%, rgba(212,171,92,.22), transparent 70%), radial-gradient(ellipse 40% 50% at 10% 100%, rgba(244,59,47,.18), transparent 70%); }
.ap2-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 5vw, 72px); align-items: center; padding-bottom: clamp(40px, 5vw, 64px); }
.ap2-k { font: 700 12px/1 var(--font); letter-spacing: .2em; text-transform: uppercase; color: #d4ab5c; margin: 22px 0 22px; display: flex; gap: 12px; align-items: center; } .ap2-k::before { content: ""; width: 36px; height: 1px; background: #d4ab5c; }
.ap2-hero__h { font-size: clamp(48px, 7vw, 108px); line-height: .94; letter-spacing: -.05em; margin: 0 0 24px; font-weight: 800; }
.ap2-hero__h em { display: block; font-family: var(--serif); font-weight: 400; letter-spacing: -.02em; color: transparent; background: linear-gradient(100deg, #f8e3ad, #d4ab5c 45%, #fff3d2 55%, #b38a43); -webkit-background-clip: text; background-clip: text; background-size: 200% 100%; animation: gvShine 7s linear infinite; padding-right: .05em; }
.ap2-hero__p { font-size: 18px; color: rgba(255,255,255,.72); max-width: 520px; margin: 0 0 30px; }
.ap2-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.ap2-hero__art { position: relative; aspect-ratio: 4 / 4.6; }
.ap2-hero__ph { position: absolute; inset: 0 8% 0 14%; margin: 0; border-radius: 999px 999px 26px 26px; overflow: hidden; box-shadow: 0 0 0 1px rgba(212,171,92,.35), 0 50px 100px -40px rgba(0,0,0,.9); }
.ap2-hero__ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,10,12,.55), transparent 40%); }
.ap2-hero__ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; }
.ap2-medal { position: absolute; display: flex; gap: 12px; align-items: center; background: rgba(18,18,22,.78); backdrop-filter: blur(14px); border: 1px solid rgba(212,171,92,.35); border-radius: 18px; padding: 10px 16px 10px 10px; max-width: 290px; animation: gvFloat 7s ease-in-out infinite; }
.ap2-medal__c { flex: none; width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(135deg, #fbe7b2, #c99b4b 60%, #9c7432); display: grid; place-content: center; box-shadow: inset 0 0 0 3px rgba(255,255,255,.35); }
.ap2-medal__c b { font-size: 13px; color: #3a2a08; font-weight: 800; }
.ap2-medal b { display: block; font-size: 14px; line-height: 1.25; } .ap2-medal small { font-size: 11.5px; color: rgba(255,255,255,.6); line-height: 1.3; display: block; }
.ap2-medal--0 { left: 0; top: 14%; } .ap2-medal--1 { right: 0; top: 46%; animation-delay: -2.4s; } .ap2-medal--2 { left: 4%; bottom: 8%; animation-delay: -4.6s; }
.ap2-marq { position: relative; border-top: 1px solid rgba(255,255,255,.1); padding: 22px 0; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.ap2-marq__t { display: flex; gap: 64px; width: max-content; animation: apMarq 40s linear infinite; }
.ap2-marq__t span { font: 400 clamp(26px, 3vw, 40px)/1 var(--serif); color: rgba(255,255,255,.55); white-space: nowrap; display: inline-flex; align-items: center; gap: 64px; }
.ap2-marq__t span::after { content: "✦"; font-size: 14px; color: #d4ab5c; }
@keyframes apMarq { to { transform: translateX(-50%); } }
.ap2-aw { background: #fbf8f1; }
.ap2-aw__head { text-align: center; margin-bottom: 40px; } .ap2-aw__head .eyebrow { justify-content: center; } .ap2-aw .h2 em { color: #a77c35; }
.ap2-aw__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 18px; }
.ap2-trophy { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 36px 26px 30px; border-radius: 26px; background: linear-gradient(180deg, #fff, #fdf9ef); border: 1px solid #efe4cc; box-shadow: 0 24px 50px -30px rgba(120,90,30,.4); transition: transform .4s var(--ease), box-shadow .4s; transform-style: preserve-3d; }
.ap2-trophy:hover { box-shadow: 0 34px 70px -30px rgba(120,90,30,.55); }
.ap2-trophy__shine { position: absolute; inset: -40%; background: linear-gradient(115deg, transparent 40%, rgba(255,255,255,.8) 50%, transparent 60%); transform: translateX(-60%); transition: transform 1s var(--ease); pointer-events: none; }
.ap2-trophy:hover .ap2-trophy__shine { transform: translateX(60%); }
.ap2-trophy__medal svg { width: 96px; height: 96px; filter: drop-shadow(0 12px 18px rgba(156,116,50,.4)); transition: transform .6s var(--ease); }
.ap2-trophy:hover .ap2-trophy__medal svg { transform: rotate(-12deg) scale(1.06); }
.ap2-trophy__yr { font: 400 54px/1 var(--serif); color: #a77c35; margin: 14px 0 10px; }
.ap2-trophy h3 { font-size: 20px; letter-spacing: -.01em; margin: 0 0 8px; } .ap2-trophy p { margin: 0; color: var(--ink-2); font-size: 14.5px; }
.ap2-trophy__s { margin-top: 10px !important; font-size: 13.5px !important; color: var(--muted) !important; }
.ap2-trophy__more { margin-top: auto; padding-top: 18px; font-weight: 700; font-size: 14px; color: var(--red); }
.ap2-lead { background: #0a0a0c; color: #fff; padding: clamp(64px, 8vw, 112px) 0; }
.ap2-lead__in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.ap2-lead__ph { position: relative; margin: 0; border-radius: 26px; overflow: hidden; aspect-ratio: 4 / 5; }
.ap2-lead__ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.ap2-lead__big { position: absolute; left: 18px; bottom: 18px; font: 400 clamp(44px, 5vw, 76px)/1 var(--serif); background: var(--red); color: #fff; padding: 10px 18px 14px; border-radius: 16px; }
.ap2-lead__tag { display: flex; align-items: center; gap: 14px; margin: 0 0 22px; } .ap2-lead__tag em { font-style: normal; font: 700 12px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; color: #d4ab5c; }
.ap2-lead__logo { background: #fff; border-radius: 12px; padding: 8px 12px; display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); } .ap2-lead__logo img { max-height: 28px; width: auto; }
.ap2-lead__h { font: 400 clamp(34px, 4.4vw, 64px)/1.06 var(--serif); letter-spacing: -.015em; margin: 0 0 20px; }
.ap2-lead__s { color: rgba(255,255,255,.72); font-size: 17px; margin: 0 0 26px; }
.ap2-news__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 28px; }
.ap2-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ap2-chips button { border: 1px solid var(--line); background: #fff; border-radius: 99px; padding: 9px 15px; font-weight: 600; font-size: 13.5px; transition: .25s; } .ap2-chips button.is-on { background: var(--ink); color: #fff; border-color: var(--ink); }
.ap2-news__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 16px; }
.ap2-card { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 24px; border-radius: 22px; background: #fff; border: 1px solid var(--line); overflow: hidden; transition: transform .35s var(--ease), box-shadow .35s, border-color .3s; animation: snRow .5s var(--ease) both; animation-delay: calc(var(--i) * 40ms); }
a.ap2-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); border-color: transparent; }
.ap2-card.is-more, .ap2-card.is-off { display: none; } .ap2-news.is-all .ap2-card.is-more:not(.is-off) { display: flex; }
.ap2-card__img { width: calc(100% + 48px); margin: -24px -24px 0; aspect-ratio: 16 / 9; object-fit: cover; }
.ap2-card__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.ap2-card__lg { display: inline-flex; align-items: center; min-height: 34px; } .ap2-card__lg img { max-height: 26px; width: auto; }
.ap2-card__top small { text-align: right; font-size: 12px; color: var(--muted); line-height: 1.35; font-weight: 600; }
.ap2-card__hl { font: 400 40px/1 var(--serif); color: var(--red); }
.ap2-card h3 { font-size: 19px; line-height: 1.3; letter-spacing: -.01em; margin: 0; } .ap2-card p { margin: 0; color: var(--ink-2); font-size: 14.5px; }
.ap2-card__go { margin-top: auto; font-weight: 700; font-size: 14px; color: var(--red); } .ap2-card__go i { font-style: normal; display: inline-block; transition: transform .3s; } a.ap2-card:hover .ap2-card__go i { transform: translate(3px, -3px); }
.ap2-news__more { text-align: center; margin-top: 26px; } .ap2-news.is-all .ap2-news__more { display: none; }
.ap2-media { background: #0a0a0c; color: #fff; overflow: clip; }
.ap2-media__in { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 48px; align-items: center; padding-top: clamp(56px, 7vw, 96px); }
.ap2-media__in > div { padding-bottom: clamp(56px, 7vw, 96px); } .ap2-media__in p:not(.eyebrow) { color: rgba(255,255,255,.7); max-width: 520px; }
.ap2-media__ph { margin: 0; align-self: end; height: 100%; max-height: 520px; border-radius: 26px 26px 0 0; overflow: hidden; } .ap2-media__ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
@media (max-width: 900px) {
  .ap2-hero__in, .ap2-lead__in, .ap2-media__in { grid-template-columns: 1fr; }
  .ap2-hero__art { max-width: 460px; width: 100%; margin: 0 auto; }
  .ap2-media__ph { max-height: 380px; } .ap2-media__in > div { padding-bottom: 0; }
}
@media (max-width: 600px) { .ap2-medal { max-width: 210px; padding: 8px 12px 8px 8px; } .ap2-medal__c { width: 42px; height: 42px; } .ap2-medal b { font-size: 12.5px; } .ap2-medal--1 { right: -2%; } .ap2-lead__ph { aspect-ratio: 4 / 4.4; } }

/* ---------- Leadership v2 ---------- */
.ld2-hero { position: relative; background: #0a0a0c; color: #fff; padding: calc(var(--hdr) + 36px) 0 clamp(56px, 7vw, 96px); overflow: clip; }
.ld2-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 55% 70% at 80% 30%, rgba(244,59,47,.18), transparent 70%); }
.ld2-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.ld2-k { font: 700 12px/1 var(--font); letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin: 22px 0 22px; }
.ld2-hero__h { font-size: clamp(48px, 6.8vw, 104px); line-height: .94; letter-spacing: -.05em; margin: 0 0 24px; font-weight: 800; }
.ld2-hero__h em { display: block; font-family: var(--serif); font-weight: 400; color: var(--red); letter-spacing: -.02em; }
.ld2-hero__p { font-size: 18px; color: rgba(255,255,255,.72); max-width: 520px; margin: 0 0 30px; }
.ld2-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.ld2-duo { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: 16px; align-items: end; }
.ld2-duo figure { position: relative; margin: 0; border-radius: 26px; overflow: hidden; }
.ld2-duo__a { aspect-ratio: 3 / 4.2; } .ld2-duo__b { aspect-ratio: 3 / 4; margin-bottom: 48px !important; background: linear-gradient(160deg, #2a2a30, #141418); }
.ld2-duo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; transition: transform 1.2s var(--ease); }
.ld2-duo figure:hover img { transform: scale(1.04); }
.ld2-duo figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 20px 18px; background: linear-gradient(0deg, rgba(10,10,12,.9), transparent); font-size: 13px; color: rgba(255,255,255,.7); }
.ld2-duo figcaption b { display: block; font-size: 19px; color: #fff; letter-spacing: -.01em; }
.ld2-stage { position: relative; min-height: 78vh; display: grid; align-items: end; overflow: hidden; color: #fff; }
.ld2-stage img { position: absolute; inset: -8% 0; width: 100%; height: 116%; object-fit: cover; will-change: transform; }
.ld2-stage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,10,12,.9), rgba(10,10,12,.1) 60%); }
.ld2-stage__in { position: relative; z-index: 1; padding-bottom: clamp(40px, 6vw, 80px); }
.ld2-stage blockquote { margin: 0; max-width: 900px; font: 400 clamp(32px, 4.4vw, 64px)/1.08 var(--serif); letter-spacing: -.01em; }
.ld2-stage cite { display: block; font: 700 13px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; font-style: normal; margin-top: 20px; color: var(--red); }
.ld2-mom { padding: clamp(56px, 7vw, 96px) 0; background: #fff; }
.ld2-mom__grid { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 16px; align-items: center; }
.ld2-mom__i { position: relative; margin: 0; border-radius: 24px; overflow: hidden; aspect-ratio: 3 / 4; }
.ld2-mom__i--1 { aspect-ratio: 4 / 4.2; } .ld2-mom__i--0 { transform: translateY(-24px); } .ld2-mom__i--2 { transform: translateY(24px); }
.ld2-mom__i img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; transition: transform 1s var(--ease); } .ld2-mom__i:hover img { transform: scale(1.05); }
.ld2-mom__i figcaption { position: absolute; left: 14px; bottom: 14px; background: #fff; border-radius: 99px; padding: 7px 13px; font-size: 12.5px; font-weight: 700; }
@media (max-width: 900px) { .ld2-hero__in { grid-template-columns: 1fr; } .ld2-mom__grid { grid-template-columns: 1fr 1fr; } .ld2-mom__i--1 { grid-column: span 2; order: -1; aspect-ratio: 16 / 11; } .ld2-mom__i--0, .ld2-mom__i--2 { transform: none; } .ld2-stage { min-height: 60vh; } }

/* ---------- Great Place To Work ---------- */
.ftr__gptw { display: inline-flex; align-items: center; gap: 12px; margin: 4px 0 22px; padding: 10px 14px 10px 10px; border-radius: 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); transition: background .25s; }
.ftr__gptw:hover { background: rgba(255,255,255,.12); } .ftr__gptw img { width: 38px; height: auto; } .ftr__gptw b { display: block; font-size: 13px; color: #fff; } .ftr__gptw small { font-size: 11.5px; color: rgba(255,255,255,.55); }
.gp { width: min(520px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); overflow: auto; border: 0; border-radius: 28px; padding: 26px; background: #fff; color: var(--ink); box-shadow: 0 50px 120px -30px rgba(0,0,0,.55); }
.gp::backdrop { background: rgba(10,10,12,.55); backdrop-filter: blur(6px); }
.gp[open] { animation: gpIn .55s cubic-bezier(.2,1.3,.4,1) both; } .gp.is-closing { animation: gpOut .3s var(--ease) both; }
@keyframes gpIn { from { opacity: 0; transform: translateY(30px) scale(.94); } } @keyframes gpOut { to { opacity: 0; transform: translateY(16px) scale(.97); } }
.gp__x { position: absolute; right: 14px; top: 14px; width: 38px; height: 38px; border-radius: 50%; border: 0; background: var(--soft); font-size: 22px; line-height: 1; z-index: 2; transition: .25s; } .gp__x:hover { background: var(--ink); color: #fff; }
.gp__top { display: flex; gap: 16px; align-items: center; margin-bottom: 18px; padding-right: 36px; }
.gp__badge { width: 64px; height: auto; flex: none; filter: drop-shadow(0 10px 16px rgba(0,0,0,.18)); animation: gpBadge 3.6s ease-in-out infinite; }
@keyframes gpBadge { 50% { transform: translateY(-4px) rotate(-3deg); } }
.gp__k { margin: 0 0 6px; font: 800 11px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; color: var(--red); display: flex; align-items: center; gap: 7px; } .gp__k i { width: 7px; height: 7px; border-radius: 50%; background: var(--red); animation: snPulse 1.6s infinite; }
.gp h2 { font-size: clamp(22px, 3vw, 27px); line-height: 1.15; letter-spacing: -.025em; margin: 0 0 4px; } .gp h2 sup { font-size: .5em; }
.gp__sub { margin: 0; font-size: 13.5px; color: var(--muted); font-weight: 600; }
.gp__slides { position: relative; aspect-ratio: 1; border-radius: 20px; overflow: hidden; background: var(--soft); }
.gp__slides img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.04); transition: opacity .8s, transform 5s linear; } .gp__slides img.is-on { opacity: 1; transform: scale(1); }
.gp__dots { position: absolute; left: 50%; bottom: 12px; translate: -50% 0; display: flex; gap: 6px; background: rgba(0,0,0,.35); padding: 6px 8px; border-radius: 99px; }
.gp__dots button { width: 8px; height: 8px; border-radius: 99px; border: 0; padding: 0; background: rgba(255,255,255,.55); transition: width .3s; } .gp__dots button.is-on { width: 22px; background: #fff; }
.gp__big { font-size: 16px; color: var(--ink-2); margin: 18px 0; line-height: 1.45; } .gp__big b { font-size: 30px; color: var(--red); letter-spacing: -.03em; vertical-align: -3px; margin-right: 4px; }
.gp__btns { display: flex; gap: 10px; flex-wrap: wrap; } .gp__btns .btn--ghost { color: var(--ink); }
.gp__src { font-size: 11px; color: var(--muted); margin: 14px 0 0; }
@media (max-width: 600px) { .gp { padding: 18px; border-radius: 24px; } .gp__slides { aspect-ratio: 4 / 3.6; } .gp__btns .btn { flex: 1; } }
.cr-hero__note { font-size: 12.5px; color: var(--muted); margin: -10px 0 26px; }
.cr-cult { padding: clamp(64px, 8vw, 112px) 0; background: #fff; overflow: clip; }
.cr-cult__in { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.cr-cult__stamp { position: relative; width: 150px; height: 150px; margin-bottom: 18px; }
.cr-cult__stamp svg { position: absolute; inset: 0; animation: abSpin 22s linear infinite; } .cr-cult__stamp text { font: 800 13px/1 var(--font); letter-spacing: .22em; fill: var(--red); }
.cr-cult__stamp img { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 62px; height: auto; filter: drop-shadow(0 8px 14px rgba(0,0,0,.2)); }
.cr-cult__txt > p:not(.eyebrow):not(.cr-cult__big):not(.cr-cult__src) { color: var(--ink-2); max-width: 520px; }
.cr-cult__big { display: flex; align-items: center; gap: 18px; margin: 26px 0 10px; padding: 20px 22px; border-radius: 20px; background: #fff1f0; }
.cr-cult__big b { font: 400 clamp(56px, 6vw, 84px)/1 var(--serif); color: var(--red); } .cr-cult__big span { font-weight: 600; font-size: 16px; line-height: 1.4; }
.cr-cult__src { font-size: 12px; color: var(--muted); margin: 0; }
.cr-cult__ph { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: 14px; align-items: end; }
.cr-cult__ph figure { margin: 0; border-radius: 24px; overflow: hidden; position: relative; }
.cr-cult__a { aspect-ratio: 1; } .cr-cult__b { aspect-ratio: 3 / 4; transform: translateY(40px); }
.cr-cult__ph img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); } .cr-cult__ph figure:hover img { transform: scale(1.05); }
.cr-cult__b figcaption { position: absolute; left: 12px; bottom: 12px; background: #fff; border-radius: 99px; padding: 6px 12px; font-size: 12px; font-weight: 700; }
.cr-pill { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: clamp(64px, 7vw, 96px); }
.cr-pill__i { position: relative; border-radius: 24px; padding: 28px; background: #0d0d0f; color: #fff; overflow: hidden; isolation: isolate; transition: transform .4s var(--ease); }
.cr-pill__i::after { content: ""; position: absolute; width: 260px; height: 260px; right: -110px; top: -110px; border-radius: 50%; background: radial-gradient(closest-side, rgba(244,59,47,.5), transparent); z-index: -1; transition: transform .6s var(--ease); }
.cr-pill__i:hover { transform: translateY(-6px); } .cr-pill__i:hover::after { transform: scale(1.5); }
.cr-pill__n { font: 400 52px/1 var(--serif); color: var(--red); } .cr-pill__i small { display: block; font: 700 11px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.5); margin: 18px 0 8px; }
.cr-pill__i h3 { font-size: 24px; letter-spacing: -.02em; margin: 0 0 10px; } .cr-pill__i p { color: rgba(255,255,255,.72); margin: 0 0 16px; font-size: 15px; }
.cr-pill__i ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; } .cr-pill__i li { font-size: 14px; font-weight: 600; display: flex; gap: 10px; } .cr-pill__i li::before { content: "✓"; color: var(--red); font-weight: 800; }
@media (max-width: 900px) { .cr-cult__in { grid-template-columns: 1fr; } .cr-pill { grid-template-columns: 1fr; } .cr-cult__b { transform: none; } }
.ap2-media__pubs { list-style: none; margin: 0; padding: 0 0 clamp(56px, 7vw, 96px); display: flex; flex-wrap: wrap; gap: 10px; align-self: center; }
.ap2-media__pubs li { font: 400 clamp(20px, 2vw, 28px)/1 var(--serif); padding: 14px 20px; border: 1px solid rgba(255,255,255,.14); border-radius: 99px; color: rgba(255,255,255,.8); }
.lx-founder { position: relative; background: #08080a; color: #fff; overflow: hidden; min-height: 640px; display: grid; align-items: center; }
.lx-founder__ph { position: absolute; inset: 0 0 0 38%; } .lx-founder__ph img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 30%; }
.lx-founder__ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #08080a 0%, rgba(8,8,10,.85) 22%, rgba(8,8,10,.1) 60%), linear-gradient(0deg, rgba(8,8,10,.6), transparent 40%); }
.lx-founder__in { position: relative; padding-top: clamp(56px, 7vw, 96px); padding-bottom: clamp(56px, 7vw, 96px); }
.lx-founder__txt { max-width: 560px; }
.lx-founder blockquote { margin: 18px 0 18px; font: 400 clamp(34px, 4vw, 58px)/1.06 var(--serif); }
.lx-founder__who { color: rgba(255,255,255,.7); margin: 0 0 24px; } .lx-founder__who b { color: #fff; }
.lx-founder__aw { list-style: none; padding: 0; margin: 0 0 28px; display: grid; gap: 10px; }
.lx-founder__aw li { display: flex; gap: 12px; align-items: center; } .lx-founder__aw i { font-style: normal; width: 34px; height: 34px; border-radius: 50%; display: grid; place-content: center; background: linear-gradient(135deg, #fbe7b2, #c99b4b); color: #3a2a08; flex: none; }
.lx-founder__aw b { display: block; font-size: 15px; } .lx-founder__aw small { font-size: 12.5px; color: rgba(255,255,255,.55); }
.lx-founder__btns { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 900px) { .lx-founder { min-height: 0; } .lx-founder__ph { position: relative; inset: auto; height: 380px; } .lx-founder__ph::after { background: linear-gradient(0deg, #08080a, transparent 60%); } .lx-founder__in { padding-top: 0; margin-top: -60px; } }

/* ---------- Client reviews v2 ---------- */
.rv2-hero { position: relative; background: #0a0a0c; color: #fff; padding: calc(var(--hdr) + 28px) 0 0; overflow: hidden; }
.rv2-hero::before { content: "“"; position: absolute; left: -2%; top: 4%; font: 400 520px/1 var(--serif); color: rgba(244,59,47,.09); pointer-events: none; }
.rv2-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 64px); align-items: center; min-height: min(760px, calc(100vh - var(--hdr))); }
.rv2-hero__txt { padding-bottom: clamp(48px, 6vw, 80px); }
.rv2-k { font: 700 12px/1 var(--font); letter-spacing: .2em; text-transform: uppercase; color: #f5b301; margin: 22px 0 20px; }
.rv2-hero__h { font-size: clamp(48px, 6.5vw, 100px); line-height: .94; letter-spacing: -.05em; margin: 0 0 30px; font-weight: 800; }
.rv2-hero__h em { display: block; font-family: var(--serif); font-weight: 400; color: var(--red); letter-spacing: -.02em; }
.rv2-score { display: flex; align-items: center; gap: 20px; margin-bottom: 24px; }
.rv2-score > b { font: 400 clamp(88px, 10vw, 140px)/.8 var(--serif); letter-spacing: -.03em; }
.rv2-stars { font-size: 30px; letter-spacing: 3px; display: block; } .rv2-score small { color: rgba(255,255,255,.6); font-size: 14px; }
.rv2-named { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; } .rv2-named span { display: flex; } .rv2-named p { margin: 0; color: rgba(255,255,255,.65); font-size: 14px; max-width: 220px; line-height: 1.4; } .rv2-named p b { color: #fff; }
.rv2-named img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 3px solid #0a0a0c; margin-left: -12px; } .rv2-named img:first-child { margin-left: 0; }
.rv2-cols { position: relative; height: min(760px, calc(100vh - var(--hdr))); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; mask-image: linear-gradient(180deg, transparent, #000 14%, #000 86%, transparent); }
.rv2-col { overflow: hidden; } .rv2-col__t { display: grid; gap: 14px; animation: rvUp 48s linear infinite; } .rv2-col--1 .rv2-col__t { animation-direction: reverse; animation-duration: 56s; } .rv2-col--2 .rv2-col__t { animation-duration: 42s; }
.rv2-cols:hover .rv2-col__t { animation-play-state: paused; }
@keyframes rvUp { to { transform: translateY(-50%); } }
.rv2-mini { margin: 0; background: #fff; color: var(--ink); border-radius: 18px; padding: 16px; box-shadow: 0 20px 40px -20px rgba(0,0,0,.6); }
.rv2-col--1 .rv2-mini:nth-child(3n) { background: var(--red); color: #fff; } .rv2-col--0 .rv2-mini:nth-child(4n+2) { background: #1b1b20; color: #fff; }
.rv2-mini__s { color: #f5b301; font-size: 13px; letter-spacing: 2px; } .rv2-col--1 .rv2-mini:nth-child(3n) .rv2-mini__s { color: #fff; }
.rv2-mini p { font-size: 13.5px; line-height: 1.5; margin: 8px 0 12px; }
.rv2-mini figcaption { display: flex; align-items: center; gap: 8px; font-size: 13px; } .rv2-mini figcaption img { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; margin-left: auto; }
.rv2-mini .rv-av { width: 26px; height: 26px; font-size: 12px; }
.rv2-words { background: #fff; padding: clamp(56px, 7vw, 96px) 0 clamp(24px, 3vw, 40px); text-align: center; }
.rv2-words .eyebrow { justify-content: center; }
.rv2-cloud { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 6px 22px; max-width: 1100px; margin: 18px auto 0; }
.rv2-cloud button { border: 0; background: none; font: 800 calc(26px * var(--s))/1.05 var(--font); letter-spacing: -.04em; color: var(--ink); padding: 4px 6px; border-radius: 12px; transition: color .25s, transform .3s var(--ease); animation: snRow .6s var(--ease) both; animation-delay: calc(var(--i) * 60ms); }
.rv2-cloud button:nth-child(3n+2) { font-family: var(--serif); font-weight: 400; font-style: italic; color: var(--red); letter-spacing: -.02em; }
.rv2-cloud button:hover, .rv2-cloud button.is-on { color: var(--red); transform: translateY(-3px); } .rv2-cloud button:nth-child(3n+2):hover { color: var(--ink); }
.rv2-cloud sup { font: 700 12px/1 var(--font); color: var(--muted); margin-left: 3px; font-style: normal; letter-spacing: 0; }
.rv2-words__note { font-size: 13px; color: var(--muted); margin: 18px 0 0; }
.rv-card { transition: transform .35s var(--ease), box-shadow .35s; } .rv-card:hover { transform: translateY(-5px) rotate(-.4deg); box-shadow: var(--shadow); }
@media (max-width: 900px) { .rv2-hero__in { grid-template-columns: 1fr; min-height: 0; } .rv2-cols { height: 520px; grid-template-columns: repeat(2, minmax(0, 1fr)); } .rv2-col--2 { display: none; } .rv2-hero__txt { padding-bottom: 0; } }
@media (max-width: 600px) { .rv2-hero::before { font-size: 300px; } .rv2-cols { height: 440px; } }
@media (prefers-reduced-motion: reduce) { .rv2-col__t { animation: none; } }

/* ---------- Meet the team: wow pass ---------- */
.tm-hero__chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 4px 0 28px; }
.tm-chip { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px 8px 8px; border-radius: 16px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(10px); color: #fff; transition: background .25s, transform .25s; }
.tm-chip:hover { background: rgba(255,255,255,.16); transform: translateY(-2px); }
.tm-chip img { width: 28px; height: auto; } .tm-chip .tm-chip__ceo { width: 40px; height: 40px; border-radius: 12px; object-fit: cover; object-position: 50% 15%; }
.tm-chip b { display: block; font-size: 13.5px; } .tm-chip small { font-size: 11.5px; color: rgba(255,255,255,.6); }
.tm-card { transition: transform .45s var(--ease); } .tm-card:hover { transform: translateY(-6px); }
.tm-card__ph { position: relative; overflow: hidden; } .tm-card__ph img { transition: transform 1s var(--ease), filter .5s; } .tm-card:hover .tm-card__ph > img { transform: scale(1.06); }
.tm-card__hi { position: absolute; inset: auto 0 0 0; z-index: 2; display: flex; flex-wrap: wrap; gap: 6px; padding: 50px 12px 12px; background: linear-gradient(0deg, rgba(10,10,12,.85), transparent); opacity: 0; transform: translateY(10px); transition: .45s var(--ease); pointer-events: none; }
.tm-card__hi b { font: 400 20px/1 var(--serif); color: #fff; background: rgba(255,255,255,.14); backdrop-filter: blur(6px); padding: 7px 11px; border-radius: 10px; }
.tm-card:hover .tm-card__hi { opacity: 1; transform: none; } .tm-card:hover .tm-card__latest { opacity: 0; }
@media (min-width: 1000px) {
  .tm-card.is-lead { grid-column: span 2; display: grid; grid-template-columns: 1fr 1fr; gap: 0; background: #0d0d0f; color: #fff; border-radius: 24px; overflow: hidden; }
  .tm-card.is-lead .tm-card__ph { border-radius: 0; height: 100%; aspect-ratio: auto; min-height: 360px; }
  .tm-card.is-lead .tm-card__b { padding: 26px 22px; display: flex; flex-direction: column; justify-content: flex-end; }
  .tm-card.is-lead .tm-card__b h3, .tm-card.is-lead .tm-card__b h2 { font-size: 26px; }
  .tm-card.is-lead .tm-card__role { color: var(--red); font-weight: 700; } .tm-card.is-lead .tm-card__areas { color: rgba(255,255,255,.6); }
  .tm-card.is-lead .tm-ic { border-color: rgba(255,255,255,.25); color: #fff; } .tm-card.is-lead .tm-wa { background: var(--red); }
}
@media (max-width: 600px) {
  .ap2-hero__art { aspect-ratio: auto; display: grid; gap: 10px; }
  .ap2-hero__ph { position: relative; inset: auto; aspect-ratio: 4 / 4.4; margin: 0 6%; }
  .ap2-medal { position: relative; inset: auto !important; max-width: none; animation: none; }
  .ld2-duo figcaption { padding: 40px 12px 12px; } .ld2-duo figcaption b { font-size: 15px; }
}
@media (max-width: 600px) {
  .cr-perks__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .cr-perk { padding: 16px !important; } .cr-perk span { font-size: 26px !important; } .cr-perk h3 { font-size: 15px !important; margin: 10px 0 6px !important; } .cr-perk p { font-size: 12.5px !important; line-height: 1.45; }
}

/* ---------- Footer v2 ---------- */
.ft2 { padding: 0 0 22px; background: #08080a; position: relative; overflow: hidden; }
.ft2-cta { position: relative; padding: clamp(64px, 8vw, 110px) 0; border-bottom: 1px solid rgba(255,255,255,.08); overflow: hidden; }
.ft2-cta__glow { position: absolute; width: 900px; height: 900px; left: -300px; top: -420px; border-radius: 50%; background: radial-gradient(closest-side, rgba(244,59,47,.28), transparent); animation: ftGlow 12s ease-in-out infinite alternate; }
@keyframes ftGlow { to { transform: translate(260px, 120px) scale(1.1); } }
.ft2-cta__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.ft2-k { display: flex; align-items: center; gap: 10px; font: 700 12px/1 var(--font); letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.6); margin: 0 0 20px; }
.ft2-k i { width: 8px; height: 8px; border-radius: 50%; background: #2bd47d; box-shadow: 0 0 10px #2bd47d; animation: snPulse 1.6s infinite; }
.ft2-cta__h { color: #fff; font-size: clamp(46px, 7vw, 108px); line-height: .94; letter-spacing: -.055em; margin: 0 0 28px; font-weight: 800; }
.ft2-cta__h em { display: block; font-family: var(--serif); font-weight: 400; letter-spacing: -.02em; color: var(--red); }
.ft2-cta__who { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; } .ft2-cta__who span { display: flex; } .ft2-cta__who p { margin: 0; color: rgba(255,255,255,.7); }
.ft2-cta__who img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 3px solid #08080a; margin-left: -12px; transition: transform .3s var(--ease); } .ft2-cta__who img:first-child { margin-left: 0; } .ft2-cta__who img:hover { transform: translateY(-4px) scale(1.08); z-index: 1; }
.ft2-cta__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.ft2-cards { display: grid; gap: 14px; }
.ft2-clock { position: relative; padding: 22px 24px; border-radius: 22px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: #fff; overflow: hidden; }
.ft2-clock small, .ft2-office small { display: block; font: 700 11px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 10px; }
.ft2-clock b { display: block; font: 400 clamp(44px, 4.6vw, 64px)/1 var(--serif); font-variant-numeric: tabular-nums; } .ft2-clock span { color: rgba(255,255,255,.6); font-size: 14px; }
.ft2-clock__face { position: absolute; right: 20px; top: 50%; translate: 0 -50%; width: 86px; height: 86px; color: #fff; }
.ft2-clock__face circle:first-child { fill: none; stroke: rgba(255,255,255,.2); stroke-width: 2; } .ft2-clock__face line { stroke: currentColor; stroke-linecap: round; transform-origin: 50px 50px; transition: transform .6s var(--ease); } .ft2-clock__face .h { stroke-width: 4; } .ft2-clock__face .m { stroke-width: 2.5; stroke: var(--red); }
.ft2-office { position: relative; display: block; padding: 22px 24px 22px 84px; border-radius: 22px; background: var(--red); color: #fff; transition: transform .35s var(--ease), box-shadow .35s; }
.ft2-office:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -20px rgba(244,59,47,.7); }
.ft2-office small { color: rgba(255,255,255,.75); } .ft2-office b { display: block; font-size: 18px; } .ft2-office span { color: rgba(255,255,255,.85); font-size: 14px; display: block; } .ft2-office em { display: block; font-style: normal; font-weight: 700; font-size: 13px; margin-top: 10px; }
.ft2-office__pin { position: absolute; left: 22px; top: 24px; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.18); display: grid; place-content: center; }
.ft2-office__pin i { width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 0 rgba(255,255,255,.6); animation: ftPin 2s infinite; } @keyframes ftPin { 70% { box-shadow: 0 0 0 14px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
.ft2-main { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 2.1fr); gap: clamp(32px, 5vw, 80px); padding: clamp(56px, 6vw, 80px) 0 clamp(40px, 5vw, 56px); }
.ft2-brand img { height: 52px; width: auto; margin-bottom: 18px; } .ft2-brand > p { color: rgba(255,255,255,.65); max-width: 320px; margin: 0 0 24px; }
.ft2-news { display: block !important; margin-bottom: 22px; } .ft2-news__l { display: block; font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 10px; }
.ft2-news__row { display: flex; gap: 6px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 99px; padding: 5px; max-width: 380px; transition: border-color .25s; }
.ft2-news__row:focus-within { border-color: var(--red); } .ft2-news__row input { flex: 1; min-width: 0; background: none; border: 0; color: #fff; padding: 0 14px; outline: none; font-size: 14px; } .ft2-news__row input::placeholder { color: rgba(255,255,255,.4); }
.ft2-badges { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; margin-bottom: 22px; } .ft2-badges .ftr__gptw { margin: 0; }
.ft2-rera { display: grid; place-content: center; text-align: center; padding: 10px 16px; border-radius: 14px; border: 1px solid rgba(255,255,255,.12); color: #fff; } .ft2-rera b { font-size: 15px; letter-spacing: .1em; } .ft2-rera small { font-size: 11.5px; color: rgba(255,255,255,.55); }
.ft2-soc { display: flex; gap: 8px; }
.ft2-soc a { width: 44px; height: 44px; border-radius: 14px; display: grid; place-content: center; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); color: #fff; transition: background .25s, transform .25s; }
.ft2-soc a:hover { background: var(--red); border-color: var(--red); transform: translateY(-3px) rotate(-6deg); }
.ft2-soc svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; } .ft2-soc a[aria-label=LinkedIn] svg, .ft2-soc a[aria-label=Facebook] svg { fill: currentColor; stroke: none; } .ft2-soc a[aria-label=YouTube] svg path { fill: currentColor; stroke: none; }
.ft2-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ft2-cols h3 { color: #fff; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 18px; display: flex; align-items: center; gap: 8px; } .ft2-cols h3::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--red); }
.ft2-cols a { display: block; padding: 5px 0; color: rgba(255,255,255,.62); font-size: 15px; }
.ft2-cols a span { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .35s var(--ease), color .2s; padding-bottom: 2px; }
.ft2-cols a:hover { color: #fff; } .ft2-cols a:hover span { background-size: 100% 1px; }
.ft2-group { border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); overflow: hidden; padding: 16px 0; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.ft2-group__t { display: flex; gap: 12px; width: max-content; animation: apMarq 38s linear infinite; } .ft2-group:hover .ft2-group__t { animation-play-state: paused; }
.ft2-group a { display: inline-flex; align-items: baseline; gap: 8px; padding: 10px 18px; border-radius: 99px; border: 1px solid rgba(255,255,255,.12); color: #fff; white-space: nowrap; transition: background .25s, border-color .25s; }
.ft2-group a:hover { background: #fff; color: var(--ink); } .ft2-group b { font-size: 14px; letter-spacing: .04em; } .ft2-group small { font-size: 12px; opacity: .55; }
.ft2-word { padding: 10px var(--gut) 0; }
.ft2-word svg { width: 100%; height: auto; display: block; }
.ft2-word text { font: 800 150px/1 var(--font); letter-spacing: -6px; } .ft2-word .o { fill: none; stroke: rgba(255,255,255,.16); stroke-width: 1.4; } .ft2-word .f { fill: url(#ftg); }
.ft2-word__fill { transform: scaleX(0); transform-origin: 0 0; transition: transform 2.2s cubic-bezier(.6,0,.2,1); } .ft2-word.is-on .ft2-word__fill { transform: scaleX(1); }
.ft2-bot { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; padding-top: 18px; padding-right: 0; font-size: 13px; color: rgba(255,255,255,.5); }
.ft2-bot p { margin: 0; } .ft2-bot__links { display: flex; gap: 18px; flex-wrap: wrap; } .ft2-bot__links a:hover { color: #fff; }
.ft2-top { width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); background: none; color: #fff; font-size: 18px; transition: .3s var(--ease); } .ft2-top:hover { background: var(--red); border-color: var(--red); transform: translateY(-4px); }
body:has(.lx-dock) .ft2 { padding-bottom: 96px; }
@media (max-width: 1000px) { .ft2-cta__in, .ft2-main { grid-template-columns: 1fr; } .ft2-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; } }
@media (max-width: 600px) { .ft2-cta__btns .btn { flex: 1 1 100%; } .ft2-word text { letter-spacing: -3px; } .ft2-bot { flex-direction: column; align-items: flex-start; } .ft2 { padding-bottom: 110px; } }
.ft2-word text { letter-spacing: -2px; font-size: 112px; } .ft2-office__pin i { display: block; } .ft2-bot { padding-right: 84px; }
@media (max-width: 600px) { .ft2-bot { padding-right: var(--gut); } .ft2-word text { letter-spacing: 0; } }
.ft2-bot { padding-top: 26px; }

/* Footer bottom bar v3 */
.ft2-bot { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px 28px; margin-top: 28px; padding: 14px 14px 14px 18px !important; border-radius: 22px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); font-size: 13px; color: rgba(255,255,255,.55); flex-direction: row !important; }
.ft2-bot__id { display: flex; align-items: center; gap: 14px; }
.ft2-bot__mark { position: relative; display: grid; place-content: center; width: 46px; height: 46px; border-radius: 14px; background: #fff; color: #08080a; font: 800 13px/1 var(--font); letter-spacing: .06em; flex: none; }
.ft2-bot__mark i { position: absolute; right: 9px; bottom: 10px; width: 5px; height: 5px; border-radius: 50%; background: var(--red); }
.ft2-bot__id p { margin: 0; line-height: 1.45; } .ft2-bot__id b { display: block; color: #fff; font-weight: 700; font-size: 13.5px; } .ft2-bot__id span { font-size: 12.5px; }
.ft2-bot__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.ft2-bot__links a { padding: 8px 13px; border-radius: 99px; color: rgba(255,255,255,.65); transition: background .25s, color .25s; }
.ft2-bot__links a:hover { background: rgba(255,255,255,.1); color: #fff; }
.ft2-top { display: inline-flex; align-items: center; gap: 10px; width: auto; height: 46px; padding: 0 8px 0 18px; border-radius: 99px; border: 1px solid rgba(255,255,255,.16); background: none; color: #fff; font-size: 13px; font-weight: 700; transition: .3s var(--ease); }
.ft2-top i { width: 32px; height: 32px; border-radius: 50%; background: var(--red); display: grid; place-content: center; font-style: normal; font-size: 15px; transition: transform .3s var(--ease); }
.ft2-top:hover { background: #fff; color: var(--ink); border-color: #fff; transform: none; } .ft2-top:hover i { transform: translateY(-3px); }
.ft2 { padding-bottom: 28px; } body:has(.lx-dock) .ft2 { padding-bottom: 104px; } body:has(.wa-float) .ft2-bot, body:has(.fab-wa) .ft2-bot { margin-right: 76px; }
@media (max-width: 1000px) { .ft2-bot { grid-template-columns: 1fr auto; } .ft2-bot__links { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; } }
@media (max-width: 600px) { .ft2-bot { grid-template-columns: 1fr; padding: 16px !important; margin-right: 0 !important; } .ft2-top { justify-self: start; } .ft2 { padding-bottom: 96px; } }

/* Footer link cards */
.ft2-cols { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: start; }
.ft2-card { border-radius: 22px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.08); overflow: hidden; transition: border-color .3s, transform .4s var(--ease); }
.ft2-card:hover { border-color: rgba(244,59,47,.5); transform: translateY(-4px); }
.ft2-card__top { position: relative; display: block; height: 128px; overflow: hidden; color: #fff; isolation: isolate; }
.ft2-card__top img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1s var(--ease); filter: saturate(.85); }
.ft2-card__top::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(8,8,10,.92), rgba(8,8,10,.25)); }
.ft2-card:hover .ft2-card__top img { transform: scale(1.08); }
.ft2-card__top span { position: absolute; left: 16px; right: 16px; bottom: 14px; }
.ft2-card__top small { font: 700 11px/1 var(--font); letter-spacing: .14em; color: var(--red); }
.ft2-card__top b { display: block; font: 400 34px/1 var(--serif); margin: 4px 0 4px; }
.ft2-card__top em { font-style: normal; font-size: 12.5px; color: rgba(255,255,255,.7); }
.ft2-card__top i { position: absolute; right: 12px; top: 12px; width: 34px; height: 34px; border-radius: 50%; display: grid; place-content: center; font-style: normal; background: rgba(255,255,255,.14); backdrop-filter: blur(8px); transition: background .3s, transform .3s; }
.ft2-card:hover .ft2-card__top i { background: var(--red); transform: rotate(45deg); }
.ft2-card__links { display: flex; flex-wrap: wrap; gap: 6px; padding: 14px; }
.ft2-card__links a { padding: 7px 12px; border-radius: 99px; font-size: 13.5px; color: rgba(255,255,255,.72); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.06); transition: background .25s, color .25s, border-color .25s, transform .25s; }
.ft2-card__links a:hover { background: #fff; color: var(--ink); border-color: #fff; transform: translateY(-2px); }
@media (max-width: 1000px) { .ft2-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ft2-cols { grid-template-columns: 1fr; } .ft2-card__top { height: 110px; } }
.ft2-card__top::after { background: linear-gradient(0deg, rgba(8,8,10,.9) 10%, rgba(8,8,10,0) 75%); } .ft2-card__top img { filter: none; }
.gp__ph { position: relative; margin: 0; border-radius: 20px; overflow: hidden; aspect-ratio: 4 / 3; }
.gp__ph > img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.gp__ph figcaption { position: absolute; left: 12px; right: 12px; bottom: 12px; display: flex; align-items: center; gap: 12px; padding: 10px 14px 10px 10px; border-radius: 16px; background: rgba(255,255,255,.92); backdrop-filter: blur(8px); }
.gp__ph figcaption img { width: 32px; height: auto; } .gp__ph figcaption b { display: block; font-size: 14px; } .gp__ph figcaption small { font-size: 12px; color: var(--muted); }
.cr-cert { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 4px; padding: 28px; border-radius: 24px; background: linear-gradient(160deg, #fff, #fbf6ef); border: 1px solid #efe4cc; box-shadow: 0 30px 60px -30px rgba(120,90,30,.35); }
.cr-cert::before { content: ""; position: absolute; inset: 12px; border: 1px dashed #e3d2ae; border-radius: 16px; pointer-events: none; }
.cr-cert img { width: 92px; height: auto; margin-bottom: 14px; filter: drop-shadow(0 12px 20px rgba(0,0,0,.18)); animation: gpBadge 4s ease-in-out infinite; }
.cr-cert__k { margin: 0; font: 800 11px/1 var(--font); letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
.cr-cert b { font-size: 22px; letter-spacing: -.02em; } .cr-cert span { color: var(--ink-2); font-size: 14px; } .cr-cert em { font-style: normal; font-size: 13px; font-weight: 700; color: #9a7330; margin-top: 6px; }

/* ---------- Contact v2 ---------- */
.ct2-hero { position: relative; background: #08080a; color: #fff; padding: calc(var(--hdr) + 32px) 0 clamp(56px, 7vw, 96px); overflow: hidden; }
.ct2-hero__bg span { position: absolute; border-radius: 50%; filter: blur(10px); }
.ct2-hero__bg span:first-child { width: 760px; height: 760px; left: -260px; top: -300px; background: radial-gradient(closest-side, rgba(244,59,47,.32), transparent); animation: ftGlow 14s ease-in-out infinite alternate; }
.ct2-hero__bg span:last-child { width: 600px; height: 600px; right: -200px; bottom: -300px; background: radial-gradient(closest-side, rgba(37,211,102,.14), transparent); animation: ftGlow 18s ease-in-out infinite alternate-reverse; }
.ct2-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.ct2-k { display: inline-flex; align-items: center; gap: 10px; margin: 22px 0 22px; padding: 8px 14px; border-radius: 99px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); font-size: 13px; font-weight: 600; color: rgba(255,255,255,.8); }
.ct2-k i { width: 8px; height: 8px; border-radius: 50%; background: #2bd47d; box-shadow: 0 0 10px #2bd47d; animation: snPulse 1.6s infinite; }
.ct2-hero__h { font-size: clamp(52px, 8vw, 120px); line-height: .92; letter-spacing: -.055em; margin: 0 0 24px; font-weight: 800; }
.ct2-hero__h em { display: block; font-family: var(--serif); font-weight: 400; color: var(--red); letter-spacing: -.02em; }
.ct2-hero__p { font-size: 18px; color: rgba(255,255,255,.7); max-width: 500px; margin: 0 0 30px; }
.ct2-ways { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; max-width: 600px; }
.ct2-way { position: relative; display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: 20px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: #fff; overflow: hidden; isolation: isolate; transition: transform .35s var(--ease), border-color .3s; }
.ct2-way::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--c, var(--red)); transform: translateY(101%); transition: transform .45s var(--ease); }
.ct2-way:hover { transform: translateY(-3px); border-color: transparent; } .ct2-way:hover::before { transform: none; }
.ct2-way--wa { --c: #25d366; } .ct2-way--call { --c: #fff; } .ct2-way--mail { --c: var(--red); } .ct2-way--pin { --c: #d8b46a; }
.ct2-way--call:hover, .ct2-way--pin:hover { color: var(--ink); }
.ct2-way__ic { flex: none; width: 46px; height: 46px; border-radius: 14px; display: grid; place-content: center; background: rgba(255,255,255,.08); transition: background .3s; }
.ct2-way:hover .ct2-way__ic { background: rgba(255,255,255,.25); }
.ct2-way__ic svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; } .ct2-way--wa .ct2-way__ic svg, .ct2-way--call .ct2-way__ic svg { fill: currentColor; stroke: none; }
.ct2-way small { display: block; font: 700 10.5px/1 var(--font); letter-spacing: .14em; text-transform: uppercase; opacity: .6; margin-bottom: 5px; } .ct2-way b { display: block; font-size: 14.5px; line-height: 1.3; word-break: break-word; }
.ct2-way > i { margin-left: auto; font-style: normal; opacity: .5; transition: transform .3s; } .ct2-way:hover > i { transform: translateX(3px); opacity: 1; }
.ct2-form { position: relative; background: #fff; color: var(--ink); border-radius: 30px; padding: clamp(22px, 3vw, 34px); box-shadow: 0 60px 120px -40px rgba(0,0,0,.8); }
.ct2-form::before { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; background: linear-gradient(140deg, rgba(244,59,47,.8), transparent 40%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.ct2-form__top { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; } .ct2-form__faces { display: flex; }
.ct2-form__faces img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; margin-left: -10px; } .ct2-form__faces img:first-child { margin-left: 0; }
.ct2-form__top b { display: block; font-size: 14px; } .ct2-form__top small { font-size: 12px; color: var(--muted); }
.ct2-form h2 { font-size: clamp(24px, 2.4vw, 30px); letter-spacing: -.03em; margin: 0 0 14px; }
.ct2-intent { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; }
.ct2-intent button { border: 1px solid var(--line); background: #fff; border-radius: 99px; padding: 9px 14px; font-weight: 700; font-size: 13.5px; transition: .25s var(--ease); }
.ct2-intent button:hover { border-color: var(--ink); } .ct2-intent button.is-on { background: var(--ink); color: #fff; border-color: var(--ink); transform: translateY(-1px); }
.ct2-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ct2-f { position: relative; margin-bottom: 10px; }
.ct2-f input, .ct2-f textarea { width: 100%; border: 1px solid var(--line); border-radius: 14px; background: var(--soft); padding: 22px 14px 8px; font-size: 15px; transition: border-color .25s, background .25s, box-shadow .25s; resize: vertical; }
.ct2-f input:focus, .ct2-f textarea:focus { outline: none; background: #fff; border-color: var(--red); box-shadow: 0 0 0 4px rgba(244,59,47,.12); }
.ct2-f label { position: absolute; left: 15px; top: 15px; font-size: 15px; color: var(--muted); pointer-events: none; transition: .2s var(--ease); transform-origin: 0 0; }
.ct2-f input:focus + label, .ct2-f input:not(:placeholder-shown) + label, .ct2-f textarea:focus + label, .ct2-f textarea:not(:placeholder-shown) + label { transform: translateY(-9px) scale(.75); color: var(--red); font-weight: 700; }
.ct2-f .err { display: block; font-size: 12px; color: var(--red); }
.ct2-lang { padding: clamp(64px, 8vw, 110px) 0; background: #fff; }
.ct2-lang__head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 32px; align-items: end; margin-bottom: 28px; } .ct2-lang__head > p { color: var(--ink-2); margin: 0; }
.ct2-lang__tabs { display: flex; gap: 10px; overflow-x: auto; padding: 4px 2px 14px; scrollbar-width: none; } .ct2-lang__tabs::-webkit-scrollbar { display: none; }
.ct2-lang__tabs button { flex: none; text-align: left; border: 1px solid var(--line); background: #fff; border-radius: 18px; padding: 14px 18px; transition: .3s var(--ease); }
.ct2-lang__tabs b { display: block; font: 400 26px/1.1 var(--serif); } .ct2-lang__tabs small { font-size: 12px; color: var(--muted); font-weight: 600; }
.ct2-lang__tabs button:hover { border-color: var(--ink); transform: translateY(-2px); } .ct2-lang__tabs button.is-on { background: var(--red); border-color: var(--red); color: #fff; } .ct2-lang__tabs button.is-on small { color: rgba(255,255,255,.8); }
.ct2-lang__res { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: 14px; margin-top: 10px; }
.ct2-adv { display: flex; align-items: center; gap: 14px; padding: 12px; border-radius: 20px; background: var(--soft); animation: snRow .45s var(--ease) both; animation-delay: calc(var(--i) * 60ms); }
.ct2-adv img { width: 64px; height: 64px; border-radius: 16px; object-fit: cover; object-position: 50% 20%; flex: none; }
.ct2-adv b { display: block; font-size: 15px; } .ct2-adv small { display: block; font-size: 12.5px; color: var(--muted); margin-bottom: 8px; }
.ct2-adv__btns { display: flex; gap: 6px; } .ct2-adv__btns a { font-size: 12.5px; font-weight: 700; padding: 7px 12px; border-radius: 99px; background: #25d366; color: #fff; } .ct2-adv__btns a + a { background: #fff; color: var(--ink); border: 1px solid var(--line); }
@media (max-width: 1000px) { .ct2-hero__in, .ct2-lang__head { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .ct2-ways, .ct2-row { grid-template-columns: 1fr; } .ct2-form { border-radius: 24px; } }
.cr-cult__ph { display: block; position: relative; padding: 0 0 60px 0; }
.cr-cult__b { width: 78%; margin-left: auto !important; aspect-ratio: 4 / 3.4 !important; transform: none !important; }
.cr-cult__a.cr-cert { position: absolute; left: 0; bottom: 0; width: 46%; aspect-ratio: auto; padding: 22px; z-index: 2; }
.cr-cert img { width: 66px; margin-bottom: 8px; } .cr-cert b { font-size: 18px; }
@media (max-width: 600px) { .cr-cult__a.cr-cert { width: 62%; padding: 16px; } .cr-cult__b { width: 92%; } }
.page-contact .ft2-cta { display: none; }

/* ---------- Complaints ---------- */
.cp-hero { background: #0d1626; color: #fff; padding: calc(var(--hdr) + 32px) 0 clamp(56px, 7vw, 96px); position: relative; overflow: hidden; }
.cp-hero::before { content: ""; position: absolute; width: 700px; height: 700px; right: -220px; top: -260px; border-radius: 50%; background: radial-gradient(closest-side, rgba(120,170,255,.18), transparent); }
.cp-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.cp-k { font: 700 12px/1 var(--font); letter-spacing: .2em; text-transform: uppercase; color: #8fc1f0; margin: 22px 0 22px; }
.cp-hero__h { font-size: clamp(44px, 6.4vw, 96px); line-height: .95; letter-spacing: -.05em; margin: 0 0 24px; font-weight: 800; }
.cp-hero__h em { display: block; font-family: var(--serif); font-weight: 400; color: #8fc1f0; letter-spacing: -.02em; }
.cp-hero__p { font-size: 18px; color: rgba(255,255,255,.72); max-width: 560px; margin: 0 0 28px; }
.cp-hero__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.cp-promise { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cp-promise li { display: flex; gap: 14px; align-items: center; padding: 18px; border-radius: 20px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); font-weight: 600; animation: snRow .6s var(--ease) both; animation-delay: calc(.3s + var(--i) * .12s); }
.cp-promise span { flex: none; width: 42px; height: 42px; border-radius: 12px; display: grid; place-content: center; background: #8fc1f0; color: #0d1626; font-weight: 800; font-size: 18px; }
.cp-steps__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; counter-reset: s; }
.cp-steps__list li { position: relative; padding: 26px 22px; border-radius: 22px; border: 1px solid var(--line); background: #fff; transition: transform .35s var(--ease), box-shadow .35s; }
.cp-steps__list li:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.cp-steps__list li:not(:last-child)::after { content: "→"; position: absolute; right: -12px; top: 34px; width: 24px; height: 24px; border-radius: 50%; background: var(--ink); color: #fff; display: grid; place-content: center; font-size: 12px; z-index: 1; }
.cp-steps__n { display: grid; place-content: center; width: 46px; height: 46px; border-radius: 14px; background: #eef4fa; color: #1e508c; font: 800 18px/1 var(--font); margin-bottom: 18px; }
.cp-steps__list small { font: 700 11px/1 var(--font); letter-spacing: .12em; text-transform: uppercase; color: var(--red); } .cp-steps__list h3 { font-size: 19px; margin: 8px 0 8px; } .cp-steps__list p { margin: 0; font-size: 14.5px; color: var(--ink-2); }
.cp-form-sec { background: var(--soft); padding: clamp(64px, 8vw, 110px) 0; }
.cp-form-sec__in { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.cp-form-sec__in > div:first-child > p { color: var(--ink-2); }
.cp-alt { display: grid; gap: 10px; margin-top: 24px; }
.cp-alt > * { display: block; padding: 16px 18px; border-radius: 18px; background: #fff; border: 1px solid var(--line); transition: border-color .25s; } .cp-alt a:hover { border-color: var(--ink); }
.cp-alt small { display: block; font: 700 11px/1 var(--font); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; } .cp-alt b { font-size: 15px; }
.cp-card { background: #fff; border-radius: 28px; padding: clamp(22px, 3vw, 34px); box-shadow: 0 40px 80px -40px rgba(0,0,0,.3); }
.cp-card__l { font-weight: 700; margin: 0 0 10px; }
.cp-topics label { cursor: pointer; } .cp-topics input { position: absolute; opacity: 0; pointer-events: none; }
.cp-topics span { display: inline-block; border: 1px solid var(--line); border-radius: 99px; padding: 9px 14px; font-weight: 700; font-size: 13.5px; transition: .25s; } .cp-topics input:checked + span { background: var(--ink); color: #fff; border-color: var(--ink); } .cp-topics input:focus-visible + span { outline: 2px solid var(--red); }
.cp-card__note { font-size: 12.5px; color: var(--muted); text-align: center; margin: 10px 0 0; }
.cp-rera { padding: clamp(48px, 6vw, 80px) 0; }
.cp-rera__in { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; padding: 28px; border-radius: 26px; border: 1px solid var(--line); }
.cp-rera__b { display: grid; place-content: center; text-align: center; width: 96px; height: 96px; border-radius: 22px; background: #0d1626; color: #fff; font: 800 18px/1 var(--font); letter-spacing: .1em; } .cp-rera__b small { font-size: 11px; font-weight: 600; letter-spacing: 0; color: rgba(255,255,255,.6); margin-top: 6px; }
.cp-rera h2 { font-size: 22px; margin: 0 0 6px; } .cp-rera p { margin: 0; color: var(--ink-2); }
@media (max-width: 1000px) { .cp-hero__in, .cp-form-sec__in { grid-template-columns: 1fr; } .cp-steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cp-steps__list li::after { display: none; } .cp-rera__in { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .cp-steps__list { grid-template-columns: 1fr; } }

/* ---------- Complaints v2 ---------- */
.cp-hero, .cp-rera { display: none; }
.cq-hero { position: relative; background: #0d1626; color: #fff; padding: calc(var(--hdr) + 32px) 0 clamp(64px, 8vw, 110px); overflow: hidden; }
.cq-hero__bg span { position: absolute; border-radius: 50%; }
.cq-hero__bg span:first-child { width: 820px; height: 820px; right: -260px; top: -320px; background: radial-gradient(closest-side, rgba(143,193,240,.22), transparent); animation: ftGlow 16s ease-in-out infinite alternate; }
.cq-hero__bg span:last-child { width: 600px; height: 600px; left: -240px; bottom: -340px; background: radial-gradient(closest-side, rgba(244,59,47,.2), transparent); animation: ftGlow 20s ease-in-out infinite alternate-reverse; }
.cq-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.cq-k { display: inline-flex; align-items: center; gap: 10px; margin: 22px 0 22px; padding: 8px 14px; border-radius: 99px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); font-size: 13px; font-weight: 600; color: rgba(255,255,255,.8); }
.cq-k i { width: 8px; height: 8px; border-radius: 50%; background: #8fc1f0; box-shadow: 0 0 10px #8fc1f0; }
.cq-hero__h { font-size: clamp(44px, 6.4vw, 96px); line-height: .95; letter-spacing: -.05em; margin: 0 0 24px; font-weight: 800; }
.cq-hero__h em { display: block; font-family: var(--serif); font-weight: 400; color: #8fc1f0; letter-spacing: -.02em; }
.cq-hero__p { font-size: 18px; color: rgba(255,255,255,.72); max-width: 520px; margin: 0 0 30px; }
.cq-hero__btns { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.cq-mail { color: #fff; font-weight: 700; font-size: 15px; } .cq-mail span { display: block; font-size: 12px; font-weight: 500; color: rgba(255,255,255,.55); } .cq-mail:hover { color: #8fc1f0; }
.cq-track { background: #fff; color: var(--ink); border-radius: 28px; padding: 26px; box-shadow: 0 60px 120px -40px rgba(0,0,0,.7); transform: rotate(1.5deg); transition: transform .6s var(--ease); }
.cq-track:hover { transform: none; }
.cq-track__top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 18px; border-bottom: 1px dashed var(--line); margin-bottom: 8px; }
.cq-track__top small { display: block; font: 700 11px/1 var(--font); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; } .cq-track__top b { font-size: 20px; letter-spacing: -.02em; }
.cq-track__ring { position: relative; width: 64px; height: 64px; display: grid; place-content: center; } .cq-track__ring svg { position: absolute; inset: 0; transform: rotate(-90deg); }
.cq-track__ring circle { fill: none; stroke: #eef2f6; stroke-width: 6; } .cq-track__ring .v { stroke: #2bb673; stroke-linecap: round; stroke-dasharray: 157; stroke-dashoffset: 157; transition: stroke-dashoffset .8s var(--ease); }
.cq-track__ring b { position: relative; font-size: 14px; }
.cq-track__list { list-style: none; margin: 0; padding: 0; position: relative; }
.cq-track__list::before { content: ""; position: absolute; left: 17px; top: 26px; bottom: 26px; width: 2px; background: #eef2f6; }
.cq-track__list li { position: relative; display: flex; gap: 16px; align-items: center; padding: 13px 0; opacity: .4; transition: opacity .5s; }
.cq-track__list li.is-on { opacity: 1; }
.cq-track__dot { position: relative; z-index: 1; flex: none; width: 36px; height: 36px; border-radius: 50%; background: #fff; border: 2px solid #dfe5ec; display: grid; place-content: center; transition: .5s var(--ease); }
.cq-track__dot i { font-style: normal; font-size: 14px; font-weight: 800; color: #fff; transform: scale(0); transition: transform .4s cubic-bezier(.3,1.6,.5,1); }
.cq-track__list li.is-on .cq-track__dot { background: #2bb673; border-color: #2bb673; box-shadow: 0 0 0 6px rgba(43,182,115,.15); } .cq-track__list li.is-on .cq-track__dot i { transform: none; }
.cq-track__list li.is-cur .cq-track__dot { background: #fff; border-color: #1e508c; box-shadow: 0 0 0 6px rgba(30,80,140,.12); animation: snPulse 1.6s infinite; } .cq-track__list li.is-cur .cq-track__dot i { transform: scale(0); }
.cq-track__list b { display: block; font-size: 15.5px; } .cq-track__list small { font-size: 13px; color: var(--muted); }
.cq-track__note { margin: 12px 0 0; font-size: 11.5px; color: var(--muted); text-align: center; }
.cq-promise { background: #0d1626; padding: 0 0 clamp(56px, 7vw, 90px); margin-top: -1px; }
.cq-promise__in { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.cq-pr { display: flex; gap: 18px; align-items: center; padding: 24px; border-radius: 24px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: #fff; transition: background .3s, transform .4s var(--ease); }
.cq-pr:hover { background: rgba(143,193,240,.12); transform: translateY(-4px); }
.cq-pr b { flex: none; font: 400 clamp(48px, 5vw, 70px)/1 var(--serif); color: #8fc1f0; }
.cq-pr span { color: rgba(255,255,255,.65); font-size: 14.5px; line-height: 1.45; } .cq-pr strong { display: block; color: #fff; font-size: 16px; margin-bottom: 2px; }
.cq-form-sec { background: var(--soft); padding: clamp(64px, 8vw, 110px) 0; }
.cq-wiz { max-width: 920px; margin: 0 auto; background: #fff; border-radius: 32px; padding: clamp(22px, 4vw, 48px); box-shadow: 0 40px 90px -40px rgba(0,0,0,.3); }
.cq-wiz__head .h2 { margin-bottom: 24px; }
.cq-prog { height: 6px; border-radius: 6px; background: var(--soft); overflow: hidden; } .cq-prog span { display: block; height: 100%; width: 25%; background: linear-gradient(90deg, #1e508c, #8fc1f0); border-radius: inherit; transition: width .6s var(--ease); }
.cq-steps { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 0; margin: 14px 0 30px; }
.cq-steps li { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--muted); transition: color .3s; }
.cq-steps i { font-style: normal; width: 26px; height: 26px; border-radius: 50%; display: grid; place-content: center; border: 1.5px solid var(--line); font-size: 12px; transition: .3s; }
.cq-steps li.is-on { color: var(--ink); } .cq-steps li.is-on i { background: var(--ink); border-color: var(--ink); color: #fff; } .cq-steps li.is-done i { background: #2bb673; border-color: #2bb673; color: #fff; }
.cq-pane { border: 0; margin: 0; padding: 0; display: none; } .cq-pane.is-on { display: block; animation: snRow .45s var(--ease); }
.cq-pane legend { font-size: clamp(22px, 2.4vw, 28px); font-weight: 800; letter-spacing: -.02em; margin-bottom: 8px; padding: 0; }
.cq-hint { color: var(--ink-2); margin: 0 0 16px; } .cq-hint--sm { font-size: 13px; color: var(--muted); margin: 10px 0 0; }
.cq-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.cq-tile input, .cq-chips input { position: absolute; opacity: 0; pointer-events: none; }
.cq-tile span { display: flex; flex-direction: column; gap: 14px; padding: 20px; border-radius: 20px; border: 1.5px solid var(--line); cursor: pointer; transition: .25s var(--ease); min-height: 130px; }
.cq-tile svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; color: #1e508c; }
.cq-tile b { font-size: 16px; } .cq-tile span:hover { border-color: var(--ink); transform: translateY(-2px); }
.cq-tile input:checked + span { background: #0d1626; color: #fff; border-color: #0d1626; } .cq-tile input:checked + span svg { color: #8fc1f0; }
.cq-tile input:focus-visible + span, .cq-chips input:focus-visible + span { outline: 2px solid var(--red); outline-offset: 2px; }
.cq-count { text-align: right; font-size: 12px; color: var(--muted); margin: -4px 0 12px; }
.cq-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.cq-chips span { display: inline-flex; align-items: center; gap: 8px; padding: 11px 16px; border-radius: 99px; border: 1.5px solid var(--line); font-weight: 700; font-size: 14px; cursor: pointer; transition: .25s; }
.cq-chips span::before { content: "+"; font-weight: 800; color: var(--muted); } .cq-chips--one span::before { content: ""; width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--line); }
.cq-chips input:checked + span { background: #1e508c; color: #fff; border-color: #1e508c; } .cq-chips input:checked + span::before { content: "✓"; color: #fff; } .cq-chips--one input:checked + span::before { content: ""; border-color: #fff; background: #fff; }
.cq-sum { margin-top: 6px; padding: 16px 18px; border-radius: 18px; background: var(--soft); font-size: 14px; display: grid; gap: 6px; } .cq-sum div { display: flex; gap: 10px; } .cq-sum dt, .cq-sum b { color: var(--muted); font-weight: 600; min-width: 110px; } .cq-sum:empty { display: none; }
.cq-nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); } .cq-nav .btn--ghost { color: var(--ink); } .cq-nav > :last-child, .cq-nav [data-cqnext] { margin-left: auto; }
.cq-done { text-align: center; padding: 30px 10px 10px; animation: snRow .5s var(--ease); }
.cq-done__ic svg { width: 86px; height: 86px; } .cq-done__ic circle { fill: #e6f7ee; stroke: #2bb673; stroke-width: 2; } .cq-done__ic path { fill: none; stroke: #2bb673; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 40; stroke-dashoffset: 40; animation: cqTick .7s .2s var(--ease) forwards; }
@keyframes cqTick { to { stroke-dashoffset: 0; } }
.cq-done h3 { font-size: 30px; letter-spacing: -.03em; margin: 14px 0 8px; } .cq-done p { color: var(--ink-2); max-width: 460px; margin: 0 auto; }
.cq-other { padding: clamp(40px, 5vw, 64px) 0; background: #fff; }
.cq-other__in { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.cq-o { position: relative; display: block; padding: 22px 50px 22px 22px; border-radius: 22px; border: 1px solid var(--line); transition: .3s var(--ease); }
.cq-o small { display: block; font: 700 11px/1 var(--font); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; } .cq-o b { font-size: 16px; }
.cq-o i { position: absolute; right: 20px; top: 50%; translate: 0 -50%; font-style: normal; transition: transform .3s; }
.cq-o:hover { background: #0d1626; color: #fff; border-color: #0d1626; } .cq-o:hover small { color: rgba(255,255,255,.55); } .cq-o:hover i { transform: translateX(4px); }
@media (max-width: 1000px) { .cq-hero__in { grid-template-columns: 1fr; } .cq-track { transform: none; } .cq-promise__in, .cq-other__in { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .cq-tiles { grid-template-columns: 1fr 1fr; } .cq-tile span { min-height: 0; padding: 16px; } .cq-steps { grid-template-columns: repeat(4, auto); } .cq-steps li { font-size: 0; } .cq-steps i { font-size: 12px; } }
.cq-wiz [hidden] { display: none !important; } .page-complaints .ft2-cta { display: none; }

/* ---------- Property management (CBA Management) ---------- */
.pm-hero { position: relative; padding: calc(var(--hdr) + 32px) 0 clamp(56px, 7vw, 96px); background: linear-gradient(180deg, #f3f1ea, #fff); overflow: clip; }
.pm-hero__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.pm-k { display: inline-flex; align-items: center; gap: 10px; margin: 22px 0 20px; font: 700 12px/1 var(--font); letter-spacing: .18em; text-transform: uppercase; color: #1f5f4a; } .pm-k span { background: #1f5f4a; color: #fff; padding: 6px 8px; border-radius: 6px; letter-spacing: .08em; }
.pm-hero__h { font-size: clamp(44px, 6.4vw, 96px); line-height: .95; letter-spacing: -.05em; margin: 0 0 22px; font-weight: 800; }
.pm-hero__h em { font-family: var(--serif); font-weight: 400; font-style: italic; color: #1f5f4a; letter-spacing: -.02em; }
.pm-hero__p { font-size: 18px; color: var(--ink-2); max-width: 520px; margin: 0 0 28px; }
.pm-hero__k { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0; margin: 34px 0 0; }
.pm-hero__k li { padding: 14px 16px; border-radius: 16px; background: #fff; border: 1px solid #e6e2d6; } .pm-hero__k b { display: block; font-size: 22px; letter-spacing: -.02em; color: #1f5f4a; } .pm-hero__k span { font-size: 12.5px; color: var(--muted); line-height: 1.35; display: block; }
.pm-stage { position: relative; min-height: 560px; }
.pm-stage__ph { position: absolute; inset: 0 0 40px 22%; margin: 0; border-radius: 28px; overflow: hidden; } .pm-stage__ph img { width: 100%; height: 100%; object-fit: cover; }
.pm-stage__ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(31,95,74,.35), transparent 60%); }
.pm-phone { position: absolute; left: 0; bottom: 0; width: min(300px, 70%); background: #0f1513; color: #fff; border-radius: 38px; padding: 14px 14px 18px; box-shadow: 0 50px 100px -30px rgba(0,0,0,.55), inset 0 0 0 2px rgba(255,255,255,.08); }
.pm-phone__notch { width: 90px; height: 22px; border-radius: 99px; background: #000; margin: 0 auto 14px; }
.pm-phone__top { padding: 4px 8px 14px; } .pm-phone__top small { font-size: 11px; color: #7fd1ae; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; } .pm-phone__top b { display: block; font-size: 22px; letter-spacing: -.02em; } .pm-phone__top span { font-size: 12.5px; color: rgba(255,255,255,.55); }
.pm-phone__feed { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pm-n { display: flex; align-items: center; gap: 10px; padding: 11px; border-radius: 18px; background: rgba(255,255,255,.07); animation: pmIn 8s var(--ease) infinite; animation-delay: calc(var(--i) * 1.2s); opacity: 0; }
@keyframes pmIn { 0% { opacity: 0; transform: translateY(14px) scale(.96); } 6%, 82% { opacity: 1; transform: none; } 92%, 100% { opacity: 0; transform: translateY(-6px); } }
.pm-n i { flex: none; width: 34px; height: 34px; border-radius: 11px; display: grid; place-content: center; font-style: normal; font-size: 15px; font-weight: 800; }
.pm-n--green i { background: #1fa86a; } .pm-n--blue i { background: #2a7de1; } .pm-n--gold i { background: #c99b4b; } .pm-n--red i { background: var(--red); }
.pm-n b { display: block; font-size: 13.5px; } .pm-n small { font-size: 11.5px; color: rgba(255,255,255,.6); } .pm-n em { margin-left: auto; font-style: normal; font-size: 10.5px; color: rgba(255,255,255,.4); align-self: flex-start; }
.pm-phone__note { margin: 10px 0 0; text-align: center; font-size: 10.5px; color: rgba(255,255,255,.35); }
.pm-year { background: #12201b; color: #fff; padding: clamp(64px, 8vw, 110px) 0; }
.pm-year .h2 em { color: #7fd1ae; } .pm-year .eyebrow::before { background: #7fd1ae; }
.pm-year__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 34px; }
.pm-year__legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 13px; color: rgba(255,255,255,.65); }
.pm-dot::before { content: ""; display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 6px; background: var(--c); }
.pm-dot--rent, .pm-m--rent { --c: #1fa86a; } .pm-dot--fix, .pm-m--fix { --c: #2a7de1; } .pm-dot--check, .pm-m--check { --c: #c99b4b; } .pm-dot--renew, .pm-m--renew { --c: var(--red); } .pm-dot--care, .pm-m--care { --c: #9aa5a1; }
.pm-year__in { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); gap: 20px; align-items: stretch; }
.pm-months { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.pm-m { width: 100%; aspect-ratio: 1; border-radius: 20px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.04); color: #fff; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; padding: 14px; transition: .3s var(--ease); }
.pm-m b { font: 400 26px/1 var(--serif); } .pm-m i { width: 100%; height: 5px; border-radius: 5px; background: var(--c); opacity: .7; transition: opacity .3s; }
.pm-m:hover { transform: translateY(-3px); border-color: var(--c); } .pm-m.is-on { background: var(--c); border-color: var(--c); color: #0f1513; transform: translateY(-4px); } .pm-m.is-on i { background: rgba(0,0,0,.25); }
.pm-year__card { position: relative; border-radius: 26px; background: #fff; color: var(--ink); padding: 28px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: 280px; }
.pm-year__card small { font: 700 11px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; color: #1f5f4a; } .pm-year__card h3 { font-size: 28px; letter-spacing: -.03em; margin: 10px 0 8px; } .pm-year__card p { margin: 0; color: var(--ink-2); }
.pm-year__m { position: absolute; right: 18px; top: 4px; font: 400 120px/1 var(--serif); color: #eef3ef; z-index: 0; } .pm-year__card > :not(.pm-year__m) { position: relative; z-index: 1; }
.pm-year__card.is-swap h3, .pm-year__card.is-swap p { animation: snRow .45s var(--ease); }
.pm-year__note { margin: 18px 0 0; font-size: 12.5px; color: rgba(255,255,255,.45); }
.pm-do__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 260px; gap: 14px; }
.pm-do__i { position: relative; border-radius: 24px; overflow: hidden; color: #fff; display: flex; align-items: flex-end; isolation: isolate; }
.pm-do__i--big { grid-column: span 2; grid-row: span 2; }
.pm-do__i img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1s var(--ease); }
.pm-do__i::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(10,20,16,.9) 15%, rgba(10,20,16,.1) 70%); transition: background .5s; }
.pm-do__i:hover img { transform: scale(1.06); } .pm-do__i:hover::after { background: linear-gradient(0deg, rgba(31,95,74,.95) 25%, rgba(31,95,74,.2)); }
.pm-do__i > div { padding: 20px; } .pm-do__i span { font: 700 12px/1 var(--font); color: #7fd1ae; letter-spacing: .1em; } .pm-do__i h3 { font-size: 19px; margin: 8px 0 6px; } .pm-do__i p { margin: 0; font-size: 14px; color: rgba(255,255,255,.78); max-height: 0; overflow: hidden; transition: max-height .5s var(--ease); }
.pm-do__i:hover p, .pm-do__i--big p { max-height: 120px; } .pm-do__i--big h3 { font-size: 30px; letter-spacing: -.02em; }
.pm-who { padding: 0 0 clamp(64px, 8vw, 110px); }
.pm-who__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pm-who__i { padding: 28px; border-radius: 24px; background: #f3f1ea; transition: .35s var(--ease); } .pm-who__i:hover { background: #1f5f4a; color: #fff; transform: translateY(-4px); } .pm-who__i:hover p { color: rgba(255,255,255,.8); }
.pm-who__i span { display: grid; place-content: center; width: 52px; height: 52px; border-radius: 16px; background: #fff; margin-bottom: 22px; } .pm-who__i svg { width: 26px; height: 26px; fill: none; stroke: #1f5f4a; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pm-who__i h3 { font-size: 21px; margin: 0 0 8px; } .pm-who__i p { margin: 0; color: var(--ink-2); transition: color .3s; }
.pm-keys { background: #f3f1ea; padding: clamp(64px, 8vw, 110px) 0; }
.pm-keys__head { text-align: center; margin-bottom: 44px; } .pm-keys__head .eyebrow { justify-content: center; } .pm-keys .h2 em { color: #1f5f4a; }
.pm-keys__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; position: relative; }
.pm-keys__list::before { content: ""; position: absolute; left: 12%; right: 12%; top: 33px; height: 2px; background: repeating-linear-gradient(90deg, #1f5f4a 0 8px, transparent 8px 16px); transform: scaleX(0); transform-origin: left; transition: transform 1.4s var(--ease); }
.pm-keys__list.is-on::before { transform: none; }
.pm-keys__list li { position: relative; text-align: center; padding: 0 10px; opacity: 0; transform: translateY(16px); transition: .6s var(--ease); transition-delay: var(--d); } .pm-keys__list.is-on li { opacity: 1; transform: none; }
.pm-keys__n { position: relative; display: grid; place-content: center; width: 68px; height: 68px; margin: 0 auto 18px; border-radius: 50%; background: #fff; border: 2px solid #1f5f4a; font: 800 20px/1 var(--font); color: #1f5f4a; box-shadow: 0 12px 24px -12px rgba(31,95,74,.5); }
.pm-keys__list li:first-child .pm-keys__n { background: #1f5f4a; font-size: 26px; }
.pm-keys__list h3 { font-size: 19px; margin: 0 0 6px; } .pm-keys__list p { margin: 0; color: var(--ink-2); font-size: 14.5px; }
@media (max-width: 1000px) { .pm-hero__in, .pm-year__in { grid-template-columns: 1fr; } .pm-do__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pm-who__grid, .pm-keys__list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 30px; } .pm-keys__list::before { display: none; } }
@media (max-width: 600px) { .pm-stage { min-height: 500px; } .pm-stage__ph { inset: 0 0 170px 10%; } .pm-phone { width: 78%; } .pm-months { grid-template-columns: repeat(4, minmax(0, 1fr)); } .pm-m b { font-size: 20px; } .pm-do__grid { grid-template-columns: 1fr; grid-auto-rows: 220px; } .pm-do__i--big { grid-column: auto; grid-row: span 1; } .pm-do__i p { max-height: 120px; } .pm-who__grid, .pm-keys__list { grid-template-columns: 1fr; } .pm-hero__k { grid-template-columns: 1fr 1fr; } }

/* ---------- Conveyancing (CBA Conveyancing) ---------- */
.cv-hero { position: relative; background: #f6f1e7; padding: calc(var(--hdr) + 32px) 0 0; overflow: clip; }
.cv-hero__lines { position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 31px, rgba(120,90,40,.08) 31px 32px); mask-image: linear-gradient(90deg, transparent, #000 50%); }
.cv-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 5vw, 72px); align-items: center; padding-bottom: clamp(48px, 6vw, 80px); }
.cv-k { display: inline-flex; align-items: center; gap: 10px; margin: 22px 0 20px; font: 700 12px/1 var(--font); letter-spacing: .18em; text-transform: uppercase; color: #7a5a24; } .cv-k span { background: var(--ink); color: #fff; padding: 6px 8px; border-radius: 6px; letter-spacing: .08em; }
.cv-hero__h { font-size: clamp(44px, 6.4vw, 96px); line-height: .95; letter-spacing: -.05em; margin: 0 0 22px; font-weight: 800; }
.cv-hero__h em { font-family: var(--serif); font-weight: 400; font-style: italic; color: var(--red); letter-spacing: -.02em; }
.cv-hero__p { font-size: 18px; color: var(--ink-2); max-width: 520px; margin: 0 0 28px; } .cv-hero .btn--ghost { color: var(--ink); }
.cv-stack { position: relative; height: 480px; }
.cv-doc { position: absolute; width: min(320px, 72%); aspect-ratio: 1 / 1.3; background: #fffdf8; border-radius: 10px; padding: 26px 24px; box-shadow: 0 30px 60px -25px rgba(80,55,20,.45), 0 0 0 1px rgba(120,90,40,.12); display: flex; flex-direction: column; gap: 18px; transition: transform .8s var(--ease); }
.cv-doc--0 { left: 4%; top: 30px; transform: rotate(-9deg); } .cv-doc--1 { left: 22%; top: 10px; transform: rotate(2deg); } .cv-doc--2 { left: 40%; top: 46px; transform: rotate(9deg); }
.cv-stack:hover .cv-doc--0 { transform: rotate(-14deg) translateX(-20px); } .cv-stack:hover .cv-doc--2 { transform: rotate(14deg) translateX(20px); }
.cv-doc__hd b { display: block; font: 400 34px/1 var(--serif); } .cv-doc__hd small { font-size: 11.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.cv-doc__lines { display: grid; gap: 10px; } .cv-doc__lines i { height: 7px; border-radius: 4px; background: #ece4d2; } .cv-doc__lines i:nth-child(2n) { width: 82%; } .cv-doc__lines i:last-child { width: 55%; }
.cv-doc__ft { margin-top: auto; padding-top: 14px; border-top: 1px dashed #d9ccb0; font-size: 12px; color: #7a5a24; font-weight: 700; }
.cv-stamp { position: absolute; right: 2%; bottom: 40px; display: grid; place-content: center; text-align: center; width: 150px; height: 150px; border-radius: 50%; border: 4px double var(--red); color: var(--red); font: 800 18px/1 var(--font); letter-spacing: .08em; text-transform: uppercase; transform: rotate(-14deg) scale(1.8); opacity: 0; mix-blend-mode: multiply; animation: cvStamp 1s 1.2s cubic-bezier(.3,1.5,.5,1) forwards; }
.cv-stamp small { font-size: 10px; letter-spacing: .1em; margin-top: 6px; font-weight: 700; } @keyframes cvStamp { to { transform: rotate(-14deg) scale(1); opacity: .9; } }
.cv-strip { background: var(--ink); color: #fff; } .cv-strip__in { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cv-strip__in div { padding: 22px 20px 24px 0; } .cv-strip__in div + div { padding-left: 22px; border-left: 1px solid rgba(255,255,255,.12); } .cv-strip b { display: block; font: 400 clamp(30px, 3vw, 42px)/1 var(--serif); } .cv-strip span { font-size: 13px; color: rgba(255,255,255,.6); }
.cv-route__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 30px; }
.cv-seg { display: inline-flex; flex-wrap: wrap; gap: 4px; background: var(--soft); padding: 5px; border-radius: 16px; }
.cv-seg button { border: 0; background: none; padding: 11px 16px; border-radius: 12px; font-weight: 700; font-size: 14px; color: var(--muted); transition: .25s var(--ease); } .cv-seg button.is-on { background: var(--ink); color: #fff; }
.cv-seg--sm { margin-top: 10px; }
.cv-path { display: none; } .cv-path.is-on { display: block; }
.cv-path__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 12px; position: relative; }
.cv-path__list li { position: relative; padding: 24px 20px; border-radius: 22px; background: #fffdf8; border: 1px solid #ece4d2; animation: snRow .5s var(--ease) both; animation-delay: calc(var(--i) * 90ms); }
.cv-path__list li:not(:last-child)::after { content: ""; position: absolute; right: -13px; top: 42px; width: 14px; height: 2px; background: #d9ccb0; }
.cv-path__list li:last-child { background: var(--ink); color: #fff; border-color: var(--ink); } .cv-path__list li:last-child p { color: rgba(255,255,255,.7); }
.cv-path__n { display: grid; place-content: center; width: 38px; height: 38px; border-radius: 50%; background: #fff; border: 2px solid var(--ink); font: 800 14px/1 var(--font); margin-bottom: 16px; } .cv-path__list li:last-child .cv-path__n { background: var(--red); border-color: var(--red); color: #fff; }
.cv-path__list h3 { font-size: 17px; margin: 0 0 6px; } .cv-path__list p { margin: 0; font-size: 13.5px; color: var(--ink-2); line-height: 1.45; }
.cv-path__note { display: flex; gap: 10px; align-items: center; margin: 18px 0 0; padding: 14px 18px; border-radius: 16px; background: var(--soft); font-size: 14px; color: var(--ink-2); } .cv-path__note i { font-style: normal; }
.cv-hub { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 110px) 0; overflow: clip; }
.cv-hub__in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.cv-hub__txt > p { color: rgba(255,255,255,.7); }
.cv-hub__card { margin-top: 24px; padding: 22px 24px; border-radius: 20px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); min-height: 140px; }
.cv-hub__card small { font: 700 11px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; color: var(--red); } .cv-hub__card b { display: block; font: 400 34px/1.1 var(--serif); margin: 6px 0; } .cv-hub__card p { margin: 0; color: rgba(255,255,255,.75); }
.cv-hub__card.is-swap b, .cv-hub__card.is-swap p { animation: snRow .45s var(--ease); }
.cv-orbit { position: relative; aspect-ratio: 1; width: min(520px, 100%); margin: 0 auto; }
.cv-orbit__lines { position: absolute; inset: 0; width: 100%; height: 100%; } .cv-orbit__lines line { stroke: rgba(255,255,255,.18); stroke-width: 1.5; stroke-dasharray: 4 6; animation: ptDash 1.4s linear infinite; }
.cv-orbit__core { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 30%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 30% 30%, #ff5a4f, #b91d14); display: grid; place-content: center; text-align: center; box-shadow: 0 0 70px rgba(244,59,47,.45); }
.cv-orbit__core b { font-size: clamp(22px, 2.4vw, 30px); letter-spacing: .06em; } .cv-orbit__core small { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.cv-party { position: absolute; translate: -50% -50%; padding: 12px 16px; border-radius: 99px; border: 1px solid rgba(255,255,255,.22); background: #17171b; color: #fff; font-weight: 700; font-size: 14px; white-space: nowrap; transition: .3s var(--ease); }
.cv-party:hover, .cv-party.is-on { background: #fff; color: var(--ink); scale: 1.08; box-shadow: 0 0 0 6px rgba(244,59,47,.35); }
.cv-docs__in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: center; } .cv-docs__in > div:first-child > p { color: var(--ink-2); }
.cv-list { padding: 26px; border-radius: 26px; background: #fffdf8; border: 1px solid #ece4d2; box-shadow: 0 30px 60px -40px rgba(80,55,20,.4); }
.cv-list__top { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; } .cv-list__top b { flex: none; font-size: 15px; } .cv-list__bar { flex: 1; height: 8px; border-radius: 8px; background: #ece4d2; overflow: hidden; } .cv-list__bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #2bb673, #7fd1ae); border-radius: inherit; transition: width .5s var(--ease); }
.cv-list ul { list-style: none; padding: 0; margin: 0; } .cv-list li { border-bottom: 1px dashed #e3d8c1; }
.cv-list label { display: flex; align-items: center; gap: 14px; padding: 14px 4px; cursor: pointer; font-weight: 600; } .cv-list input { position: absolute; opacity: 0; }
.cv-list label span::before { content: ""; display: inline-block; width: 22px; height: 22px; border-radius: 7px; border: 2px solid #d9ccb0; margin-right: 12px; vertical-align: -6px; transition: .25s; }
.cv-list input:checked + span { color: var(--muted); text-decoration: line-through; } .cv-list input:checked + span::before { background: #2bb673 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l5 5 9-10' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center / 16px no-repeat; border-color: #2bb673; }
.cv-list input:focus-visible + span::before { outline: 2px solid var(--red); outline-offset: 2px; }
.cv-list__note { margin: 12px 0 0; font-size: 12.5px; color: var(--muted); }
.cv-feat__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.cv-feat__i figure { margin: 0 0 14px; border-radius: 20px; overflow: hidden; aspect-ratio: 4 / 3.4; } .cv-feat__i img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease); } .cv-feat__i:hover img { transform: scale(1.06); }
.cv-feat__i span { font: 700 12px/1 var(--font); color: var(--red); letter-spacing: .1em; } .cv-feat__i h3 { font-size: 18px; margin: 6px 0; } .cv-feat__i p { margin: 0; font-size: 14.5px; color: var(--ink-2); }
.cv-list [hidden] { display: none !important; }
@media (max-width: 1000px) { .cv-hero__in, .cv-hub__in, .cv-docs__in { grid-template-columns: 1fr; } .cv-path__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cv-path__list li::after { display: none; } .cv-feat__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cv-strip__in { grid-template-columns: repeat(2, 1fr); } .cv-strip__in div:nth-child(3) { padding-left: 0; border-left: 0; } }
@media (max-width: 600px) { .cv-stack { height: 380px; } .cv-doc { width: 64%; padding: 18px; } .cv-doc__hd b { font-size: 26px; } .cv-stamp { width: 110px; height: 110px; font-size: 14px; } .cv-path__list, .cv-feat__grid { grid-template-columns: 1fr; } .cv-party { font-size: 11.5px; padding: 8px 10px; } }

/* ---------- Partner promise: signed agreement ---------- */
.pt-pact { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 110px) 0; overflow: clip; position: relative; }
.pt-pact::before { content: ""; position: absolute; width: 800px; height: 800px; right: -260px; top: -300px; border-radius: 50%; background: radial-gradient(closest-side, rgba(244,59,47,.25), transparent); }
.pt-pact__in { position: relative; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.pt-pact__txt > p { color: rgba(255,255,255,.7); margin: 0 0 26px; }
.pt-paper { position: relative; background: #fffdf8; color: var(--ink); border-radius: 14px; padding: clamp(22px, 3vw, 36px); box-shadow: 0 60px 120px -40px rgba(0,0,0,.8); transform: rotate(-1.2deg); transition: transform .6s var(--ease); background-image: repeating-linear-gradient(0deg, transparent 0 31px, rgba(120,90,40,.06) 31px 32px); }
.pt-paper:hover { transform: none; }
.pt-paper__hd { display: flex; justify-content: space-between; align-items: center; padding-bottom: 18px; border-bottom: 2px solid var(--ink); margin-bottom: 6px; }
.pt-paper__hd small { display: block; font: 700 11px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; color: var(--red); margin-bottom: 6px; } .pt-paper__hd b { font: 400 clamp(24px, 2.6vw, 34px)/1 var(--serif); } .pt-paper__hd img { height: 36px; width: auto; }
.pt-paper__list { list-style: none; margin: 0; padding: 0; }
.pt-paper__list li { display: grid; grid-template-columns: 54px 1fr 36px; gap: 14px; align-items: center; padding: 18px 0; border-bottom: 1px dashed #e0d4bb; opacity: 0; transform: translateX(-12px); transition: .6s var(--ease); transition-delay: calc(var(--i) * .2s); }
.pt-pact.is-on .pt-paper__list li { opacity: 1; transform: none; }
.pt-paper__n { font: 400 30px/1 var(--serif); color: var(--red); }
.pt-paper__list h3 { font-size: 18px; margin: 0 0 3px; } .pt-paper__list p { margin: 0; font-size: 14.5px; color: var(--ink-2); }
.pt-paper__ok { font-style: normal; width: 32px; height: 32px; border-radius: 50%; display: grid; place-content: center; background: #2bb673; color: #fff; font-weight: 800; transform: scale(0); transition: transform .4s cubic-bezier(.3,1.6,.5,1); transition-delay: calc(.4s + var(--i) * .2s); }
.pt-pact.is-on .pt-paper__ok { transform: none; }
.pt-paper__ft { display: flex; align-items: flex-end; gap: 24px; padding-top: 22px; position: relative; }
.pt-paper__sig { flex: 1; display: grid; gap: 4px; border-top: 1.5px solid var(--ink); padding-top: 6px; } .pt-paper__sig small { font-size: 11.5px; color: var(--muted); font-weight: 700; }
.pt-paper__sig svg { width: 150px; height: 40px; margin-top: -46px; } .pt-paper__sig path { fill: none; stroke: #1b2a6b; stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 600; stroke-dashoffset: 600; transition: stroke-dashoffset 2s 1s var(--ease); } .pt-pact.is-on .pt-paper__sig path { stroke-dashoffset: 0; }
.pt-paper__sig--you em { font: 400 20px/1 var(--serif); color: #bbb; margin-top: -30px; }
.pt-paper__seal { position: absolute; right: -10px; bottom: 34px; width: 96px; height: 96px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ff6a5f, #c4261b); color: #fff; display: grid; place-content: center; text-align: center; font: 800 16px/1 var(--font); letter-spacing: .08em; box-shadow: 0 0 0 5px rgba(196,38,27,.2), 0 14px 30px rgba(196,38,27,.45); transform: rotate(-12deg) scale(0); transition: transform .6s 2.4s cubic-bezier(.3,1.5,.5,1); }
.pt-paper__seal small { font-size: 9px; letter-spacing: .16em; text-transform: uppercase; margin-top: 4px; } .pt-pact.is-on .pt-paper__seal { transform: rotate(-12deg) scale(1); }
@media (max-width: 900px) { .pt-pact__in { grid-template-columns: 1fr; } .pt-paper { transform: none; } }
@media (max-width: 600px) { .pt-paper__list li { grid-template-columns: 40px 1fr 30px; } .pt-paper__seal { width: 74px; height: 74px; font-size: 13px; right: 0; bottom: 60px; } .pt-paper__ft { flex-direction: column; align-items: stretch; gap: 40px; } }

/* About: group as expanding panels */
.ab3-group { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 110px) 0; }
.ab3-group__head { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: end; margin-bottom: 36px; } .ab3-group__head > p { color: rgba(255,255,255,.7); margin: 0; }
.ab3-panels { display: flex; gap: 10px; height: 520px; }
.ab3-p { position: relative; flex: 1; min-width: 0; border-radius: 24px; overflow: hidden; isolation: isolate; color: #fff; transition: flex .7s var(--ease); }
.ab3-p.is-on { flex: 5; }
.ab3-p img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; filter: grayscale(.7) brightness(.7); transition: filter .7s, transform 1.2s var(--ease); }
.ab3-p.is-on img { filter: none; transform: scale(1.04); }
.ab3-p::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(10,10,12,.92) 10%, rgba(10,10,12,.25) 60%); }
.ab3-p:not(.is-on)::after { background: rgba(10,10,12,.62); }
.ab3-p__n { position: absolute; left: 18px; top: 18px; font: 700 12px/1 var(--font); letter-spacing: .12em; color: var(--red); }
.ab3-p__v { position: absolute; left: 50%; bottom: 24px; transform-origin: 0 0; transform: rotate(-90deg) translateY(-50%); white-space: nowrap; font-weight: 800; font-size: 17px; letter-spacing: .02em; transition: opacity .3s; }
.ab3-p.is-on .ab3-p__v { opacity: 0; }
.ab3-p__b { position: absolute; left: 26px; right: 26px; bottom: 26px; display: grid; gap: 6px; max-width: 520px; opacity: 0; transform: translateY(16px); transition: .5s var(--ease); pointer-events: none; }
.ab3-p.is-on .ab3-p__b { opacity: 1; transform: none; transition-delay: .25s; }
.ab3-p__b small { font: 700 11px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; color: var(--red); } .ab3-p__b b { font: 400 clamp(34px, 3.6vw, 52px)/1 var(--serif); } .ab3-p__b > span { color: rgba(255,255,255,.8); } .ab3-p__b em { font-style: normal; font-weight: 700; margin-top: 6px; }
@media (max-width: 900px) { .ab3-group__head { grid-template-columns: 1fr; } .ab3-panels { flex-direction: column; height: auto; } .ab3-p { flex: none; height: 64px; transition: height .6s var(--ease); } .ab3-p.is-on { height: 340px; } .ab3-p__v { left: 56px; bottom: auto; top: 50%; transform: translateY(-50%); } .ab3-p__n { top: 50%; transform: translateY(-50%); } .ab3-p.is-on .ab3-p__n { top: 18px; transform: none; } }
.ft2-cta__in { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.ft2-cta__who { margin-bottom: 0; }
.ft2-acts { display: grid; gap: 10px; }
.ft2-act { display: flex; align-items: center; gap: 16px; width: 100%; text-align: left; padding: 16px 18px; border-radius: 20px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: #fff; font: inherit; transition: background .3s, border-color .3s, transform .35s var(--ease); }
.ft2-act:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.22); transform: translateX(6px); }
.ft2-act i { flex: none; width: 46px; height: 46px; border-radius: 14px; display: grid; place-content: center; background: rgba(255,255,255,.08); }
.ft2-act svg { width: 21px; height: 21px; fill: currentColor; }
.ft2-act--wa i { background: #25d366; } .ft2-act--wa { border-color: rgba(37,211,102,.35); }
.ft2-act small { display: block; font: 700 10.5px/1 var(--font); letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 5px; } .ft2-act b { font-size: 16px; }
.ft2-act em { margin-left: auto; font-style: normal; color: rgba(255,255,255,.4); transition: color .3s, transform .3s; } .ft2-act:hover em { color: var(--red); transform: translateX(3px); }
@media (max-width: 1000px) { .ft2-cta__in { grid-template-columns: 1fr; } }
.tm-card.is-lead .tm-card__hi { display: none; }
.tm-card.is-lead .tm-wa { white-space: nowrap; }
@media (min-width: 1000px) { .tm-card.is-lead .tm-card__btns { flex-wrap: nowrap; } .tm-card.is-lead .tm-card__b { padding: 28px 24px; } }

/* Press wordmarks (no logo images) */
.pw { display: inline-block; white-space: nowrap; color: currentColor; line-height: 1; }
.pw--gn { font: 700 1.05em/1 Georgia, "Times New Roman", serif; letter-spacing: .04em; text-transform: uppercase; }
.pw--kt { font: 700 1.1em/1 var(--serif); letter-spacing: -.01em; }
.pw--gt { font: 800 1em/1 var(--font); letter-spacing: -.02em; } .pw--gt::first-letter { color: var(--red); }
.pw--toi { font: 700 1.05em/1 Georgia, serif; font-style: italic; }
.pw--bo { font: 700 .82em/1 var(--font); letter-spacing: .2em; text-transform: uppercase; }
.pw--fw { font: 800 .95em/1 var(--font); letter-spacing: .02em; }
.pw--gen { font: 700 1em/1 var(--font); }
/* replace old badge boxes wherever a logo slot sits */
.ap2-card__lg, .ap2-lead__logo, .ap-row__lg, .ldr-news__src > .pw { font-size: 16px; }
.ap2-lead__logo { background: none; padding: 0; min-height: 0; color: #fff; font-size: 22px; }
.ldr-news__src { align-items: center; } .ldr-news__src > .pw { font-size: 15px; padding: 8px 12px; border-radius: 10px; background: rgba(255,255,255,.08); }
.ldr-news__i--lead .ldr-news__src > .pw { background: rgba(255,255,255,.2); }
/* Featured-in bar */
.pbar { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.pbar__in { display: flex; align-items: center; gap: 28px; padding-top: 22px; padding-bottom: 22px; }
.pbar__k { flex: none; margin: 0; font: 700 11px/1.3 var(--font); letter-spacing: .18em; text-transform: uppercase; color: var(--muted); max-width: 90px; }
.pbar__m { flex: 1; min-width: 0; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.pbar__t { display: flex; align-items: center; gap: 56px; width: max-content; animation: apMarq 34s linear infinite; } .pbar:hover .pbar__t { animation-play-state: paused; }
.pbar__t a { color: #9a9aa1; font-size: 24px; transition: color .3s; } .pbar__t a:hover { color: var(--ink); }
.pbar__go { flex: none; font-weight: 700; font-size: 14px; } .pbar__go span { display: inline-block; transition: transform .3s; } .pbar__go:hover span { transform: translateX(4px); }
@media (max-width: 600px) { .pbar__in { gap: 14px; } .pbar__k { max-width: 64px; font-size: 10px; } .pbar__t a { font-size: 19px; } .pbar__t { gap: 36px; } .pbar__go { display: none; } }

/* Leadership: Yelena */
.ld3-yel { background: #0d0d0f; color: #fff; padding: clamp(64px, 8vw, 110px) 0; position: relative; overflow: clip; }
.ld3-yel::before { content: ""; position: absolute; width: 760px; height: 760px; left: -260px; top: -200px; border-radius: 50%; background: radial-gradient(closest-side, rgba(244,59,47,.18), transparent); }
.ld3-yel__in { position: relative; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.ld3-yel__ph { position: relative; margin: 0; aspect-ratio: 4 / 5; }
.ld3-yel__ring { position: absolute; inset: -14px; border-radius: 999px 999px 32px 32px; border: 1px solid rgba(244,59,47,.5); }
.ld3-yel__ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; border-radius: 999px 999px 26px 26px; }
.ld3-yel__tag { position: absolute; left: 50%; bottom: 20px; translate: -50% 0; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 99px; background: rgba(13,13,15,.75); backdrop-filter: blur(10px); font-size: 13.5px; font-weight: 700; white-space: nowrap; }
.ld3-yel__tag i { width: 8px; height: 8px; border-radius: 50%; background: #2bd47d; box-shadow: 0 0 8px #2bd47d; }
.ld3-yel__name { font-size: clamp(48px, 6.4vw, 96px); line-height: .95; letter-spacing: -.05em; margin: 4px 0 24px; font-weight: 800; }
.ld3-yel__q { margin: 0 0 30px; padding-left: 22px; border-left: 3px solid var(--red); font: 400 clamp(24px, 2.6vw, 36px)/1.2 var(--serif); color: rgba(255,255,255,.92); }
.ld3-yel__leads { list-style: none; margin: 0 0 30px; padding: 0; display: grid; gap: 10px; }
.ld3-yel__leads li { display: grid; grid-template-columns: 96px 1fr; gap: 14px; align-items: baseline; padding: 16px 18px; border-radius: 16px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.09); transition: background .3s, transform .35s var(--ease); }
.ld3-yel__leads li:hover { background: rgba(255,255,255,.09); transform: translateX(6px); }
.ld3-yel__leads b { font: 700 11px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; color: var(--red); } .ld3-yel__leads span { font-size: 15.5px; }
@media (max-width: 900px) { .ld3-yel__in { grid-template-columns: 1fr; } .ld3-yel__ph { max-width: 420px; width: 100%; margin: 0 auto; } }

/* Leadership: press review */
.ld3-news { background: #f6f1e7; padding: clamp(64px, 8vw, 110px) 0; }
.ld3-news__mast { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; padding: 14px 0; border-top: 3px solid var(--ink); border-bottom: 1px solid var(--ink); margin-bottom: 34px; }
.ld3-news__mast span { font: 700 11px/1 var(--font); letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
.ld3-news__mast b { font: 400 clamp(28px, 3.4vw, 46px)/1 var(--serif); text-align: center; }
.ld3-news__mast a { justify-self: end; font-weight: 700; font-size: 14px; }
.ld3-news__in { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(24px, 4vw, 56px); }
.ld3-lead { display: flex; flex-direction: column; gap: 16px; padding-right: clamp(0px, 3vw, 40px); border-right: 1px solid #d9ccb0; }
.ld3-lead__src, .ld3-list__src { display: flex; align-items: center; gap: 12px; color: var(--ink); font-size: 18px; } .ld3-lead__src small, .ld3-list__src small { font-size: 12px; color: var(--muted); font-weight: 600; }
.ld3-lead__big { font: 400 clamp(64px, 8vw, 120px)/.9 var(--serif); color: var(--red); letter-spacing: -.02em; }
.ld3-lead h3 { font: 400 clamp(30px, 3.4vw, 48px)/1.08 var(--serif); margin: 0; letter-spacing: -.01em; transition: color .3s; }
.ld3-lead p { margin: 0; color: var(--ink-2); font-size: 17px; } .ld3-lead em { font-style: normal; font-weight: 700; color: var(--red); margin-top: 6px; }
.ld3-lead:hover h3 { color: var(--red); }
.ld3-list { list-style: none; margin: 0; padding: 0; }
.ld3-list li { border-bottom: 1px solid #d9ccb0; } .ld3-list li:first-child { border-top: 1px solid #d9ccb0; }
.ld3-list a { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; padding: 18px 0; } .ld3-list__src { grid-column: 1 / -1; font-size: 15px; }
.ld3-list h3 { font-size: 17px; line-height: 1.35; margin: 0; font-weight: 700; letter-spacing: -.01em; transition: color .3s; }
.ld3-list i { font-style: normal; width: 36px; height: 36px; border-radius: 50%; border: 1px solid #cfc1a3; display: grid; place-content: center; transition: .3s; align-self: center; }
.ld3-list a:hover h3 { color: var(--red); } .ld3-list a:hover i { background: var(--ink); color: #fff; border-color: var(--ink); transform: rotate(45deg); }
@media (max-width: 900px) { .ld3-news__in { grid-template-columns: 1fr; } .ld3-lead { border-right: 0; padding-right: 0; padding-bottom: 24px; border-bottom: 1px solid #d9ccb0; } .ld3-news__mast { grid-template-columns: 1fr; text-align: center; } .ld3-news__mast a { justify-self: center; } .ld3-news__mast b { text-align: center; } }
/* Yelena: match the founder section (light, mirrored) */
.ld3-yel { background: #fff; color: var(--ink); padding: clamp(56px, 7vw, 100px) 0; } .ld3-yel::before { display: none; }
.ld3-yel__in { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
.ld3-yel__ph { order: 2; aspect-ratio: 4 / 5; position: relative; }
.ld3-yel__ph img { border-radius: inherit; }
.ld3-yel__tag { top: 18px; bottom: auto; left: 18px; translate: none; background: rgba(255,255,255,.9); color: var(--ink); }
.ld3-yel__name { font-size: clamp(44px, 5.6vw, 84px); }
.ld3-yel__q { color: var(--ink); font-size: clamp(24px, 2.4vw, 34px); }
.ld3-yel__leads li { background: var(--soft); border-color: transparent; } .ld3-yel__leads li:hover { background: #fff1f0; }
.ld3-yel .btn--ghost { color: var(--ink); }
@media (max-width: 900px) { .ld3-yel__in { grid-template-columns: 1fr; } .ld3-yel__ph { order: -1; } }
@media (min-width: 1001px) { .pm-do__i:nth-child(6) { grid-column: 3 / span 2; grid-row: 3; } .pm-do__i:nth-child(6) p { max-height: 120px; } .pm-do__grid { grid-template-rows: 260px 260px 200px; } .pm-do__i:nth-child(6) ~ * { display: none; } }
@media (min-width: 1001px) { .pm-do__i--big { grid-row: 1 / span 3; } }
/* Awards hero: keep the face clear */
.ap2-hero__ph img { object-position: 50% 0%; }
.ap2-medal--0 { left: -4%; top: auto; bottom: 34%; } .ap2-medal--1 { right: -4%; top: auto; bottom: 18%; } .ap2-medal--2 { left: 2%; bottom: 3%; }
@media (max-width: 600px) { .ap2-hero__ph { aspect-ratio: 4 / 4.8; } }
.sg-paper__sheet { overflow: visible; } @media (max-width: 600px) { .sg-paper__stamp { right: 6px !important; top: -16px !important; } .sg-paper { overflow: clip; } }

/* ---------- Phone country picker ---------- */
.tel { position: relative; display: block; width: 100%; }
.tel > input { width: 100%; padding-left: 104px !important; }
.tel__cc { position: absolute; left: 6px; top: 50%; translate: 0 -50%; z-index: 2; display: inline-flex; align-items: center; gap: 7px; height: calc(100% - 12px); min-height: 32px; max-height: 44px; padding: 0 10px 0 8px; border: 0; border-radius: 10px; background: rgba(13,13,15,.05); color: inherit; font: 700 14px/1 var(--font); cursor: pointer; transition: background .2s; }
.tel__cc:hover, .tel__cc[aria-expanded=true] { background: rgba(13,13,15,.1); }
.tel__cc svg { width: 10px; height: 6px; fill: none; stroke: currentColor; stroke-width: 1.6; opacity: .6; transition: transform .2s; } .tel__cc[aria-expanded=true] svg { transform: rotate(180deg); }
.tel__cc b { font-variant-numeric: tabular-nums; }
.tel-f { flex: none; display: inline-block; width: 20px; height: 15px; border-radius: 3px; background-size: 320px auto; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.tel::after { content: ""; position: absolute; left: 96px; top: 25%; bottom: 25%; width: 1px; background: rgba(13,13,15,.12); pointer-events: none; z-index: 2; }
/* dark surfaces */
.ft2 .tel__cc, .eq .tel__cc, .ct2-hero .tel__cc, .cq-hero .tel__cc, .pt-calc .tel__cc, .sv-zig .tel__cc, .gv-res .tel__cc { background: rgba(255,255,255,.1); }
/* floating-label fields */
.ct2-f--tel label { left: 112px !important; } .ct2-f--tel .tel__cc { top: 50%; height: 36px; }
.tel-pop { position: fixed; z-index: 10000; background: #fff; color: var(--ink); border-radius: 18px; box-shadow: 0 30px 70px -20px rgba(0,0,0,.45), 0 0 0 1px rgba(0,0,0,.06); overflow: hidden; animation: telIn .18s var(--ease); }
@keyframes telIn { from { opacity: 0; transform: translateY(-6px) scale(.98); } }
.tel-pop__s { padding: 10px; border-bottom: 1px solid var(--line); }
.tel-pop__s input { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 11px 14px; font-size: 15px; background: var(--soft); outline: none; } .tel-pop__s input:focus { border-color: var(--red); background: #fff; }
.tel-pop ul { list-style: none; margin: 0; padding: 6px; max-height: 300px; overflow-y: auto; overscroll-behavior: contain; }
.tel-pop li[data-cc] { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; cursor: pointer; font-size: 14.5px; outline: none; }
.tel-pop li[data-cc] span { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .tel-pop li[data-cc] b { color: var(--muted); font-weight: 600; font-variant-numeric: tabular-nums; }
.tel-pop li[data-cc]:hover, .tel-pop li[data-cc]:focus { background: var(--soft); } .tel-pop li[aria-selected=true] { background: #fff1f0; } .tel-pop li[aria-selected=true] b { color: var(--red); }
.tel-pop__sep { height: 1px; background: var(--line); margin: 6px 8px; } .tel-pop__none { padding: 16px; color: var(--muted); text-align: center; }
[dir=rtl] .tel > input { padding-left: 14px !important; padding-right: 104px !important; } [dir=rtl] .tel__cc { left: auto; right: 6px; } [dir=rtl] .tel::after { left: auto; right: 96px; }
.ct2-f--tel:has(input:focus) > label, .ct2-f--tel:has(input:not(:placeholder-shown)) > label { transform: translateY(-9px) scale(.75); color: var(--red); font-weight: 700; }
.ct2-f--tel .tel__cc { height: 38px; }
/* A phone field in a two- or three-up row (project brochure sidebar, review form) gets its own line when the row is narrow,
   so the country button never covers most of the typing area. */
.lead__row:has(.tel), .rcta__row:has(.tel) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.rcta__row:has(.tel) > button { grid-column: 1 / -1; }
/* Conveyancing hub v2: slow orbit */
.cv-orbit__ring { position: absolute; border-radius: 50%; pointer-events: none; }
.cv-orbit__ring--1 { inset: 12.5%; border: 1px dashed rgba(255,255,255,.16); }
.cv-orbit__ring--2 { inset: 0; border: 1px solid rgba(255,255,255,.06); }
.cv-orbit__ring--3 { inset: 28%; border: 1px solid rgba(244,59,47,.22); animation: cvRing 3.6s ease-out infinite; }
@keyframes cvRing { 0% { transform: scale(.85); opacity: 0; } 30% { opacity: 1; } 100% { transform: scale(1.6); opacity: 0; } }
.cv-orbit__spin { position: absolute; inset: 0; animation: abSpin 70s linear infinite; }
.cv-orbit:hover .cv-orbit__spin, .cv-orbit:hover .cv-party > span { animation-play-state: paused; }
.cv-orbit__lines path { stroke: rgba(255,255,255,.16); stroke-width: 1.5; stroke-dasharray: 3 6; fill: none; }
.cv-orbit__lines line { display: none; }
.cv-orbit__pulse { fill: var(--red); filter: drop-shadow(0 0 6px rgba(244,59,47,.9)); }
.cv-party { padding: 0; border: 0; background: none; box-shadow: none !important; scale: 1 !important; }
.cv-party > span { display: inline-flex; align-items: center; gap: 9px; padding: 9px 15px 9px 9px; border-radius: 99px; border: 1px solid rgba(255,255,255,.16); background: rgba(23,23,27,.92); backdrop-filter: blur(8px); color: #fff; font-weight: 700; font-size: 14px; white-space: nowrap; animation: abUnspin 70s linear infinite; transition: background .3s, color .3s, box-shadow .3s, scale .3s var(--ease); }
.cv-party i { width: 30px; height: 30px; border-radius: 50%; display: grid; place-content: center; background: rgba(255,255,255,.1); transition: background .3s; }
.cv-party svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cv-party:hover > span, .cv-party.is-on > span { background: #fff; color: var(--ink); box-shadow: 0 0 0 6px rgba(244,59,47,.28), 0 14px 30px -10px rgba(0,0,0,.6); }
.cv-party.is-on i, .cv-party:hover i { background: var(--red); color: #fff; }
.cv-party.is-on > span { scale: 1.08; }
.cv-orbit__core { z-index: 2; overflow: visible; } .cv-orbit__core > :not(.cv-orbit__beat) { position: relative; }
.cv-orbit__beat { position: absolute; inset: 0; border-radius: 50%; background: rgba(244,59,47,.35); animation: cvBeat 2.4s ease-out infinite; }
@keyframes cvBeat { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(1.7); opacity: 0; } }
@media (max-width: 600px) { .cv-party > span { padding: 6px 10px 6px 6px; font-size: 11px; gap: 6px; } .cv-party i { width: 22px; height: 22px; } .cv-party svg { width: 12px; height: 12px; } }
@media (prefers-reduced-motion: reduce) { .cv-orbit__spin, .cv-party > span, .cv-orbit__ring--3, .cv-orbit__beat { animation: none; } }

/* Awards hero v3: framed portrait, rotating seal, hall-of-honour roll, featured strip */
.ap2-hero__art { position: relative; aspect-ratio: 4 / 4.7; max-width: 560px; justify-self: end; width: 100%; }
.ap2-hero__halo { position: absolute; left: 50%; top: 42%; width: 92%; aspect-ratio: 1; translate: -50% -50%; border-radius: 50%; background: conic-gradient(from 0deg, rgba(212,171,92,0), rgba(212,171,92,.55), rgba(212,171,92,0) 30%, rgba(244,59,47,.25) 55%, rgba(212,171,92,0) 70%); filter: blur(40px); animation: abSpin 18s linear infinite; opacity: .8; }
.ap2-hero__ph { position: absolute; inset: 0 6% 12% 10%; margin: 0; border-radius: 999px 999px 28px 28px; overflow: hidden; box-shadow: 0 60px 120px -40px rgba(0,0,0,.95); }
.ap2-hero__ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,10,12,.7), transparent 38%); }
.ap2-hero__ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 8%; transform: scale(1.04); animation: apZoom 14s ease-in-out infinite alternate; }
@keyframes apZoom { to { transform: scale(1.1); } }
.ap2-hero__frame { position: absolute; inset: 12px; border-radius: inherit; border: 1px solid rgba(248,227,173,.55); z-index: 1; pointer-events: none; }
.ap2-seal { position: absolute; right: -2%; top: 4%; width: 128px; height: 128px; z-index: 3; animation: abSpin 22s linear infinite; }
.ap2-seal text { font: 700 15px/1 var(--font); letter-spacing: .1em; fill: #f2d999; }
.ap2-seal__core { position: absolute; right: calc(-2% + 34px); top: calc(4% + 34px); width: 60px; height: 60px; border-radius: 50%; z-index: 3; display: grid; place-content: center; background: linear-gradient(135deg, #fbe7b2, #c99b4b 60%, #9c7432); box-shadow: 0 10px 30px -8px rgba(212,171,92,.7), inset 0 0 0 3px rgba(255,255,255,.35); }
.ap2-seal__core svg { width: 26px; height: 26px; fill: #3a2a08; }
.ap2-roll { position: absolute; left: 0; right: 14%; bottom: 0; z-index: 4; padding: 16px 18px 14px; border-radius: 22px; background: rgba(16,16,20,.82); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border: 1px solid rgba(212,171,92,.3); box-shadow: 0 30px 60px -25px rgba(0,0,0,.9); }
.ap2-roll__hd { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.ap2-roll__hd small { font: 700 11px/1 var(--font); letter-spacing: .2em; text-transform: uppercase; color: #d4ab5c; }
.ap2-roll__dots { display: flex; gap: 5px; } .ap2-roll__dots i { width: 6px; height: 6px; border-radius: 9px; background: rgba(255,255,255,.22); transition: .4s; } .ap2-roll__dots i.is-on { width: 18px; background: #d4ab5c; }
.ap2-roll__win { position: relative; min-height: 62px; }
.ap2-roll__i { position: absolute; inset: 0; display: flex; gap: 14px; align-items: center; opacity: 0; transform: translateY(14px); transition: opacity .5s, transform .6s var(--ease); }
.ap2-roll__i.is-on { opacity: 1; transform: none; }
.ap2-roll__yr { flex: none; font: 400 44px/1 var(--serif); color: transparent; background: linear-gradient(180deg, #fbe7b2, #b38a43); -webkit-background-clip: text; background-clip: text; }
.ap2-roll__i b { display: block; font-size: 16px; line-height: 1.25; } .ap2-roll__i small { display: block; font-size: 12.5px; color: rgba(255,255,255,.6); margin-top: 3px; }
.ap2-roll__bar { display: block; height: 2px; margin-top: 12px; background: rgba(255,255,255,.1); border-radius: 2px; overflow: hidden; } .ap2-roll__bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #d4ab5c, #f8e3ad); }
.ap2-roll.is-run .ap2-roll__bar i { animation: apBar 4s linear; }
@keyframes apBar { to { width: 100%; } }
.ap2-feat { position: relative; border-top: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.02); }
.ap2-feat__in { display: flex; align-items: center; gap: 32px; padding-top: 22px; padding-bottom: 22px; }
.ap2-feat__k { flex: none; display: flex; align-items: center; gap: 12px; margin: 0; padding-right: 32px; border-right: 1px solid rgba(255,255,255,.12); }
.ap2-feat__k b { font: 400 46px/1 var(--serif); color: #d4ab5c; } .ap2-feat__k span { font-size: 12px; line-height: 1.35; color: rgba(255,255,255,.6); font-weight: 600; text-transform: uppercase; letter-spacing: .12em; }
.ap2-feat__m { flex: 1; min-width: 0; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.ap2-feat__t { display: flex; align-items: center; gap: 56px; width: max-content; animation: apMarq 38s linear infinite; }
.ap2-feat__t a { color: rgba(255,255,255,.62); font-size: 22px; transition: color .3s; } .ap2-feat__t a:hover { color: #fff; }
.ap2-feat__m:hover .ap2-feat__t { animation-play-state: paused; }
@media (max-width: 900px) {
  .ap2-hero__art { justify-self: center; max-width: 440px; }
  .ap2-seal { width: 100px; height: 100px; } .ap2-seal__core { width: 46px; height: 46px; right: calc(-2% + 27px); top: calc(4% + 27px); } .ap2-seal__core svg { width: 20px; height: 20px; }
  .ap2-roll { right: 0; }
  .ap2-feat__in { flex-direction: column; align-items: stretch; gap: 14px; } .ap2-feat__k { border: 0; padding: 0; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .ap2-hero__halo, .ap2-seal, .ap2-hero__ph img, .ap2-feat__t { animation: none; } }
@media (max-width: 600px) { .ap2-seal { right: 4%; top: 2%; width: 92px; height: 92px; } .ap2-seal__core { right: calc(4% + 24px); top: calc(2% + 24px); width: 44px; height: 44px; } }

/* Home hero: client reviews floating over the film, like speech bubbles */
.lx-bubs { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.lx-bub { position: absolute; margin: 0; width: min(330px, 26vw); padding: 14px 16px 12px; border-radius: 18px; background: rgba(255,255,255,.88); backdrop-filter: blur(14px) saturate(1.3); -webkit-backdrop-filter: blur(14px) saturate(1.3); color: var(--ink); box-shadow: 0 24px 50px -20px rgba(0,0,0,.55); opacity: 0; transform: translateY(14px) scale(.94); transform-origin: var(--o, 0 100%); transition: opacity .6s var(--ease), transform .7s var(--ease); }
.lx-bub::after { content: ""; position: absolute; bottom: -9px; width: 20px; height: 20px; background: inherit; clip-path: polygon(0 0, 100% 0, 0 100%); }
.lx-bub--0 { left: 38%; top: 17%; --o: 0 100%; } .lx-bub--0::after { left: 22px; }
.lx-bub--1 { right: 6%; top: 24%; --o: 100% 100%; } .lx-bub--1::after { right: 22px; clip-path: polygon(0 0, 100% 0, 100% 100%); }
.lx-bub.is-on { opacity: 1; transform: none; }
.lx-bub blockquote { margin: 0 0 8px; font-size: 13.5px; line-height: 1.45; font-style: italic; color: #26262b; }
.lx-bub figcaption { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.lx-bub__s { color: #f5a623; letter-spacing: 1px; font-size: 12px; } .lx-bub figcaption b { font-weight: 700; } .lx-bub figcaption img { margin-left: auto; }
@media (max-width: 1100px) { .lx-bub--0 { left: auto; right: 40%; top: 14%; } }
@media (max-width: 900px) { .lx-bubs { display: none; } }
@media (prefers-reduced-motion: reduce) { .lx-bub { transition: opacity .3s; transform: none; } }

/* ===== List your property (lp-): live listing preview ===== */
.lp-hero { position: relative; padding: calc(var(--hdr) + 6px) 0 0; background: linear-gradient(180deg, #f4f2ec 0%, #fff 70%); overflow: clip; }
.lp-hero__glow { position: absolute; width: 900px; height: 900px; right: -260px; top: -320px; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.16), rgba(244,59,47,0) 62%); pointer-events: none; animation: lpGlow 9s ease-in-out infinite alternate; }
@keyframes lpGlow { to { transform: translate(-80px, 60px) scale(1.08); } }
.lp-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 5vw, 80px); align-items: start; padding-bottom: clamp(48px, 6vw, 80px); }
.lp-k { display: inline-flex; align-items: center; gap: 10px; margin: 6px 0 18px; padding: 7px 14px 7px 10px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 13px; font-weight: 700; }
.lp-k__dot { width: 9px; height: 9px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34,197,94,.5); animation: lpPing 2s infinite; }
@keyframes lpPing { 70% { box-shadow: 0 0 0 9px rgba(34,197,94,0); } 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); } }
.lp-hero__h { font-size: clamp(42px, 5.6vw, 84px); line-height: .96; letter-spacing: -.05em; font-weight: 800; margin: 0 0 18px; }
.lp-hero__h em { display: block; font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--red); letter-spacing: -.02em; }
.lp-hero__p { font-size: clamp(16px, 1.3vw, 19px); color: var(--ink-2); max-width: 540px; margin: 0 0 26px; }
.lp-form { background: #fff; border-radius: 26px; padding: 22px 22px 18px; box-shadow: 0 40px 90px -50px rgba(13,13,15,.45), 0 0 0 1px rgba(13,13,15,.06); max-width: 600px; }
.lp-form__h { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 0 0 14px; }
.lp-form__h b { font-size: 17px; }
.lp-form__h span { font-size: 12.5px; color: var(--muted); display: inline-flex; align-items: center; gap: 6px; }
.lp-form__h span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--red); }
.lp-stage { position: sticky; top: calc(var(--hdr) + 24px); padding: 18px 0 40px; }
.lp-card { position: relative; background: #fff; border-radius: 30px; overflow: hidden; box-shadow: 0 60px 120px -50px rgba(13,13,15,.5), 0 0 0 1px rgba(13,13,15,.05); transform: rotate(1.2deg); transition: transform .8s var(--ease); }
.lp-stage:hover .lp-card { transform: rotate(0) translateY(-4px); }
.lp-card__ph { position: relative; aspect-ratio: 4 / 3; background: #ddd; }
.lp-card__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity 1s, transform 6s linear; }
.lp-card__ph img.is-on { opacity: 1; transform: scale(1); }
.lp-card__tag { position: absolute; left: 16px; top: 16px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(13,13,15,.78); color: #fff; font-size: 12.5px; backdrop-filter: blur(8px); }
.lp-card__tag i { width: 8px; height: 8px; border-radius: 50%; background: #9ca3af; transition: background .4s; }
.lp-card.is-live .lp-card__tag i { background: #22c55e; animation: lpPing 2s infinite; }
.lp-card__tag b { font-weight: 700; }
.lp-card__tag b.is-flip { animation: lpFlip .5s var(--ease); }
@keyframes lpFlip { from { opacity: 0; transform: translateY(6px); } }
.lp-card__dots { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); display: flex; gap: 6px; }
.lp-card__dots i { width: 7px; height: 7px; border-radius: 99px; background: rgba(255,255,255,.55); transition: width .4s var(--ease), background .4s; }
.lp-card__dots i.is-on { width: 22px; background: #fff; }
.lp-card__pv { position: absolute; right: 16px; top: 16px; padding: 6px 11px; border-radius: 999px; background: #fff; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lp-card__b { padding: 22px 24px 24px; }
.lp-card__price { display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 6px; gap: 12px; }
.lp-card__price small { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
.lp-card__price b { font-size: 15px; color: var(--muted); font-weight: 600; }
.lp-card__t { font-size: clamp(22px, 2vw, 28px); letter-spacing: -.03em; margin: 0 0 6px; line-height: 1.15; }
.lp-card__loc { display: flex; align-items: center; gap: 6px; color: var(--muted); margin: 0 0 16px; font-size: 14.5px; }
.lp-card__loc svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; flex: none; }
.lp-card__f { list-style: none; margin: 0 0 16px; padding: 14px 0; display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }
.lp-card__f li { display: grid; gap: 2px; padding: 0 12px; border-left: 1px solid var(--line); }
.lp-card__f li:first-child { border: 0; padding-left: 0; }
.lp-card__f b { font-size: 16px; }
.lp-card__f span { font-size: 12px; color: var(--muted); }
.lp-card__ch { display: flex; flex-wrap: wrap; gap: 6px; }
.lp-card__ch span { font-size: 12px; font-weight: 700; padding: 6px 10px; border-radius: 999px; background: #f4f2ec; opacity: .35; transition: opacity .5s, background .5s, color .5s; }
.lp-card__ch span.is-on { opacity: 1; background: var(--ink); color: #fff; }
[data-lp-flash] { transition: color .3s; }
[data-lp-flash].is-flash { color: var(--red); }
.lp-toast { position: absolute; display: flex; align-items: center; gap: 12px; padding: 12px 16px 12px 12px; border-radius: 18px; background: rgba(255,255,255,.94); backdrop-filter: blur(10px); box-shadow: 0 24px 50px -24px rgba(13,13,15,.45); font-size: 13px; line-height: 1.3; }
.lp-toast b { display: block; font-size: 13.5px; }
.lp-toast small { color: var(--muted); }
.lp-toast__ic { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: var(--red); color: #fff; font-size: 14px; flex: none; }
.lp-toast--1 { left: -38px; top: 38%; animation: lpFloat 6s ease-in-out infinite; }
.lp-toast--2 { right: -26px; top: 50%; animation: lpFloat 7s ease-in-out -2s infinite; }
.lp-toast--2 img { width: 30px; height: 30px; padding: 6px; border-radius: 10px; background: #fff; box-shadow: 0 0 0 1px var(--line); }
@keyframes lpFloat { 50% { transform: translateY(-10px); } }
.lp-stage__note { margin: 14px 0 0; text-align: center; font-size: 11.5px; color: var(--muted); letter-spacing: .04em; }
.lp-strip { background: var(--ink); color: #fff; }
.lp-strip__in { display: grid; grid-template-columns: repeat(4, 1fr); }
.lp-strip__in div { padding: 26px 20px; border-left: 1px solid rgba(255,255,255,.1); display: grid; gap: 4px; }
.lp-strip__in div:first-child { border: 0; padding-left: 0; }
.lp-strip b { font-size: clamp(24px, 2.4vw, 34px); letter-spacing: -.03em; }
.lp-strip span { font-size: 13px; color: rgba(255,255,255,.6); }

.lp-days { background: #0d0d0f; color: #fff; padding: clamp(72px, 9vw, 130px) 0; position: relative; overflow: clip; }
.lp-days::before { content: ""; position: absolute; inset: auto -10% -40% auto; width: 70%; height: 80%; background: radial-gradient(circle, rgba(244,59,47,.22), transparent 60%); pointer-events: none; }
.lp-days__head { display: grid; grid-template-columns: 1fr minmax(0, 420px); gap: 40px; align-items: end; margin-bottom: 40px; }
.lp-days__head p { color: rgba(255,255,255,.65); margin: 0; }
.lp-days__track { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; position: relative; }
.lp-days__track button { width: 100%; text-align: left; background: none; border: 0; color: #fff; padding: 0 0 18px; cursor: pointer; opacity: .45; transition: opacity .3s; position: relative; font: inherit; }
.lp-days__track button:hover, .lp-days__track button.is-on { opacity: 1; }
.lp-days__track small { display: block; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.lp-days__track b { display: block; font-size: 15.5px; margin-top: 4px; }
.lp-days__track i { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; border-radius: 3px; background: rgba(255,255,255,.14); overflow: hidden; }
.lp-days__track i::after { content: ""; position: absolute; inset: 0; background: var(--red); transform: scaleX(0); transform-origin: left; }
.lp-days__track button.is-done i::after { transform: scaleX(1); }
.lp-days__track button.is-on i::after { animation: lpBar 5.5s linear forwards; }
.lp-days.is-paused .lp-days__track button.is-on i::after { animation: none; transform: scaleX(1); }
@keyframes lpBar { to { transform: scaleX(1); } }
.lp-days__panes { display: grid; }
.lp-day { grid-area: 1 / 1; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: center; opacity: 0; visibility: hidden; transition: opacity .6s, visibility .6s; }
.lp-day.is-on { opacity: 1; visibility: visible; }
.lp-day figure { margin: 0; position: relative; border-radius: 28px; overflow: hidden; aspect-ratio: 16 / 10; }
.lp-day img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 6s var(--ease); }
.lp-day.is-on img { transform: scale(1); }
.lp-day figcaption { position: absolute; left: 18px; bottom: 18px; }
.lp-day__st { display: inline-flex; align-items: center; gap: 8px; padding: 9px 15px; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--ink); font-size: 13px; font-weight: 800; }
.lp-day__st i { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; }
.lp-day__b { position: relative; }
.lp-day__n { font-family: var(--serif); font-style: italic; font-size: clamp(64px, 8vw, 120px); line-height: .9; color: var(--red); display: block; }
.lp-day.is-on .lp-day__n { animation: lpUp .8s var(--ease) both; }
.lp-day.is-on h3 { animation: lpUp .8s .08s var(--ease) both; }
.lp-day.is-on p { animation: lpUp .8s .16s var(--ease) both; }
@keyframes lpUp { from { opacity: 0; transform: translateY(18px); } }
.lp-day h3 { font-size: clamp(26px, 2.6vw, 38px); letter-spacing: -.03em; margin: 10px 0 10px; }
.lp-day p { color: rgba(255,255,255,.7); font-size: 17px; max-width: 420px; margin: 0; }
.lp-day__of { display: block; margin-top: 26px; font-size: 13px; color: rgba(255,255,255,.4); letter-spacing: .1em; }

.lp-modes__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 36px; }
.lp-seg { position: relative; display: inline-flex; padding: 5px; border-radius: 999px; background: #f1efe9; }
.lp-seg button { position: relative; z-index: 1; border: 0; background: none; font: inherit; font-weight: 700; font-size: 15px; padding: 12px 24px; border-radius: 999px; cursor: pointer; color: var(--ink-2); transition: color .3s; }
.lp-seg button.is-on { color: #fff; }
.lp-seg__ink { position: absolute; top: 5px; bottom: 5px; left: 5px; border-radius: 999px; background: var(--ink); transition: transform .45s var(--ease), width .45s var(--ease); }
.lp-seg--sm button { padding: 10px 18px; font-size: 14px; }
.lp-mode { display: none; }
.lp-mode.is-on { display: block; }
.lp-mode__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.lp-mode__grid li { padding: 26px 26px 28px; border-radius: 24px; border: 1px solid var(--line); background: #fff; transition: transform .45s var(--ease), box-shadow .45s, border-color .45s; animation: lpUp .7s calc(var(--i) * .06s) var(--ease) both; }
.lp-mode__grid li:hover { transform: translateY(-4px); box-shadow: 0 30px 60px -36px rgba(13,13,15,.35); border-color: transparent; }
.lp-mode__grid span { font-family: var(--serif); font-style: italic; font-size: 34px; color: var(--red); line-height: 1; }
.lp-mode__grid h3 { font-size: 19px; margin: 14px 0 6px; letter-spacing: -.02em; }
.lp-mode__grid p { margin: 0; color: var(--muted); font-size: 15px; }
.lp-mode__ft { display: flex; align-items: center; gap: 22px; margin-top: 28px; flex-wrap: wrap; }

.lp-owners { background: #f4f2ec; padding: clamp(72px, 8vw, 120px) 0; overflow: clip; }
.lp-owners__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 32px; }
.lp-owners__g { display: inline-flex; align-items: center; gap: 12px; padding: 12px 18px; border-radius: 18px; background: #fff; color: var(--ink); text-decoration: none; box-shadow: 0 0 0 1px var(--line); }
.lp-owners__g span { color: #f5b301; letter-spacing: .06em; }
.lp-owners__g b { color: var(--ink); font-size: 22px; letter-spacing: -.02em; margin-right: 4px; }
.lp-owners__g small { display: block; color: var(--muted); letter-spacing: 0; font-size: 12.5px; }
.lp-owners__rail { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px max(var(--gut), calc((100vw - var(--max, 1280px)) / 2 + var(--gut))) 24px; scrollbar-width: none; }
.lp-owners__rail::-webkit-scrollbar { display: none; }
.lp-rev { flex: 0 0 min(400px, 82vw); scroll-snap-align: start; margin: 0; background: #fff; border-radius: 26px; padding: 26px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 24px 50px -40px rgba(13,13,15,.4); }
.lp-rev__s { color: #f5b301; letter-spacing: .12em; }
.lp-rev blockquote { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ink-2); flex: 1; }
.lp-rev figcaption { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; }
.lp-rev__av { grid-row: span 2; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: #fff; font-weight: 800; }
.lp-rev figcaption small { color: var(--muted); font-size: 13px; }

.lp-docs__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.lp-docs__in > div:first-child p:not(.eyebrow) { color: var(--muted); max-width: 440px; margin: 0 0 24px; }
.lp-docs__paper { background: #fff; border-radius: 28px; padding: 28px; box-shadow: 0 50px 100px -60px rgba(13,13,15,.5), 0 0 0 1px var(--line); transform: rotate(-1deg); }
.lp-docs__top { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.lp-docs__top b { white-space: nowrap; font-size: 14px; }
.lp-docs__top span { flex: 1; height: 6px; border-radius: 6px; background: #f1efe9; overflow: hidden; }
.lp-docs__top i { display: block; height: 100%; width: 0; background: #22c55e; border-radius: 6px; transition: width .5s var(--ease); }
.lp-docs__paper ul { list-style: none; margin: 0 0 22px; padding: 0; }
.lp-docs__paper li + li { border-top: 1px dashed var(--line); }
.lp-docs__paper label { display: flex; align-items: center; gap: 14px; padding: 14px 4px; cursor: pointer; font-size: 16px; }
.lp-docs__paper input { appearance: none; width: 24px; height: 24px; border-radius: 8px; border: 2px solid #cfcdc6; display: grid; place-items: center; flex: none; margin: 0; transition: background .25s, border-color .25s; cursor: pointer; }
.lp-docs__paper input:checked { background: #22c55e; border-color: #22c55e; }
.lp-docs__paper input:checked::after { content: "✓"; color: #fff; font-size: 14px; font-weight: 800; }
.lp-docs__paper input:checked + span { color: var(--muted); text-decoration: line-through; }

.lp-end { background: var(--red); color: #fff; padding: clamp(64px, 8vw, 110px) 0; position: relative; overflow: clip; }
.lp-end::after { content: ""; position: absolute; right: -6%; top: -60%; width: 46%; aspect-ratio: 1; border-radius: 50%; border: 70px solid rgba(255,255,255,.08); }
.lp-end__in { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 28px; flex-wrap: wrap; }
.lp-end__h { font-size: clamp(36px, 5vw, 72px); line-height: 1; letter-spacing: -.045em; margin: 0; font-weight: 800; }
.lp-end__h em { font-family: var(--serif); font-style: italic; font-weight: 400; }
.lp-end__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.lp-end .btn--red { background: #fff; color: var(--ink); }
.lp-end .btn--red:hover { background: var(--ink); color: #fff; }

@media (max-width: 1100px) {
  .lp-toast--1 { left: -12px; }
  .lp-toast--2 { right: -8px; }
}
@media (max-width: 900px) {
  .lp-hero__in { grid-template-columns: 1fr; }
  .lp-stage { position: relative; top: 0; order: 2; padding: 4px 6px 14px; max-width: 520px; width: 100%; margin: 0 auto; }
  .lp-hero__txt { display: contents; }
  .lp-form { order: 3; max-width: none; }
  .lp-hero__in { gap: 0; }
  .lp-hero__p { margin-bottom: 22px; }
  .lp-strip__in { grid-template-columns: repeat(2, 1fr); }
  .lp-strip__in div:nth-child(3) { border: 0; padding-left: 0; }
  .lp-strip__in div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.1); }
  .lp-days__head { grid-template-columns: 1fr; gap: 14px; }
  .lp-days__track { grid-template-columns: repeat(6, minmax(120px, 1fr)); overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--gut) * -1); padding-inline: var(--gut); }
  .lp-day { grid-template-columns: 1fr; gap: 22px; }
  .lp-mode__grid { grid-template-columns: repeat(2, 1fr); }
  .lp-docs__in { grid-template-columns: 1fr; }
  .lp-docs__paper { transform: none; }
}
@media (max-width: 600px) {
  .lp-hero__h { font-size: 40px; }
  .lp-card { transform: none; }
  .lp-toast { display: none; }
  .lp-mode__grid { grid-template-columns: 1fr; }
  .lp-mode__grid { gap: 10px; }
  .lp-mode__grid li { padding: 18px 20px; display: grid; grid-template-columns: 44px 1fr; column-gap: 8px; }
  .lp-mode__grid span { grid-row: span 2; font-size: 28px; }
  .lp-mode__grid h3 { margin: 2px 0 4px; font-size: 17px; }
  .lp-mode__grid p { font-size: 14.5px; }
  .lp-hero { padding-top: var(--hdr); }
  .lp-seg button { padding: 11px 16px; font-size: 14px; }
  .lp-day__n { font-size: 64px; }
  .lp-end__in { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-hero__glow, .lp-toast, .lp-k__dot { animation: none; }
  .lp-card__ph img { transition: opacity .3s; transform: none; }
}
.rv-wall--clip .rv-card.is-more { display: none; }
.rv-more { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 36px; }
.rv-more small { color: var(--muted); font-size: 13px; }

/* GPTW popup: a moving wall of the team with the badge on a white plate */
.gp__art { position: relative; margin: 0; border-radius: 22px; overflow: hidden; aspect-ratio: 4 / 3.2; background: #1a0303; isolation: isolate; }
.gp__wall { position: absolute; inset: -10px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; z-index: -2; transform: rotate(-6deg) scale(1.12); }
.gp__col { overflow: hidden; }
.gp__track { display: flex; flex-direction: column; gap: 8px; animation: gpUp 26s linear infinite; }
.gp__col--1 .gp__track, .gp__col--3 .gp__track { animation-name: gpDown; animation-duration: 30s; }
.gp__track img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 18%; border-radius: 14px; display: block; }
@keyframes gpUp { to { transform: translateY(calc(-50% - 4px)); } }
@keyframes gpDown { from { transform: translateY(calc(-50% - 4px)); } to { transform: none; } }
.gp__veil { position: absolute; inset: 0; z-index: -1; background: radial-gradient(34% 40% at 50% 42%, rgba(190,20,12,.55), rgba(190,20,12,0) 100%), linear-gradient(180deg, rgba(160,14,8,.28) 0%, rgba(150,12,8,.22) 45%, rgba(30,3,3,.92) 100%); }
.gp__plate { position: absolute; left: 50%; top: 42%; translate: -50% -50%; width: 30%; min-width: 112px; padding: 14px 16px 12px; border-radius: 22px; background: #fff; box-shadow: 0 30px 60px -20px rgba(0,0,0,.7), 0 0 0 6px rgba(255,255,255,.18); animation: gpBob 5s ease-in-out infinite; }
.gp__hero { position: relative; display: block; width: 100%; height: auto; }
.gp__halo { position: absolute; inset: -6px; border-radius: 26px; border: 2px solid rgba(255,255,255,.7); animation: gpHalo 2.8s ease-out infinite; pointer-events: none; }
@keyframes gpHalo { from { transform: scale(1); opacity: .9; } to { transform: scale(1.35); opacity: 0; } }
.gp__shine { position: absolute; inset: 0; border-radius: 22px; overflow: hidden; pointer-events: none; }
.gp__shine::after { content: ""; position: absolute; top: -20%; bottom: -20%; width: 35%; left: -60%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.8), transparent); transform: skewX(-18deg); animation: gpShine 4s ease-in-out infinite; }
@keyframes gpShine { 0%, 55% { left: -60%; } 85%, 100% { left: 130%; } }
@keyframes gpBob { 50% { transform: translateY(-5px); } }
.gp__art figcaption { position: absolute; left: 0; right: 0; bottom: 16px; text-align: center; color: #fff; display: grid; gap: 2px; padding: 0 14px; }
.gp__art figcaption b { font-size: 16px; letter-spacing: -.01em; }
.gp__art figcaption small { font-size: 12px; color: rgba(255,255,255,.78); }
@media (max-width: 600px) { .gp__plate { width: 27%; min-width: 96px; top: 40%; padding: 10px 12px 9px; } .gp__art { aspect-ratio: 4 / 3.5; } }
@media (prefers-reduced-motion: reduce) { .gp__track, .gp__plate, .gp__halo, .gp__shine::after { animation: none; } }

/* ===== Market hub (mk-): live terminal ===== */
.mk-hero { position: relative; background: #0b0b0d; color: #fff; padding: calc(var(--hdr) + 30px) 0 0; overflow: clip; }
.mk-hero::before { content: ""; position: absolute; right: -10%; top: -30%; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.28), transparent 60%); pointer-events: none; }
.mk-hero__grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 48px 48px; -webkit-mask: linear-gradient(180deg, #000 30%, transparent 95%); mask: linear-gradient(180deg, #000 30%, transparent 95%); pointer-events: none; }
.mk-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(32px, 5vw, 72px); align-items: center; padding-bottom: clamp(40px, 5vw, 64px); }
.mk-k { display: inline-flex; align-items: center; gap: 10px; margin: 6px 0 18px; font-size: 13px; font-weight: 700; color: rgba(255,255,255,.75); }
.mk-k__dot { width: 9px; height: 9px; border-radius: 50%; background: #22c55e; animation: lpPing 2s infinite; }
.mk-hero__h { font-size: clamp(44px, 6vw, 92px); line-height: .95; letter-spacing: -.05em; font-weight: 800; margin: 0 0 18px; }
.mk-hero__h em { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--red); letter-spacing: -.02em; }
.mk-hero__p { color: rgba(255,255,255,.7); font-size: clamp(16px, 1.3vw, 19px); max-width: 520px; margin: 0 0 26px; }
.mk-chart { position: relative; padding: 24px 24px 18px; border-radius: 28px; background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); border: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(10px); box-shadow: 0 50px 100px -50px rgba(0,0,0,.8); }
.mk-chart__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 10px; }
.mk-chart__top small { display: block; font-size: 12px; color: rgba(255,255,255,.55); letter-spacing: .08em; text-transform: uppercase; font-weight: 700; }
.mk-chart__top b { font-size: clamp(30px, 3vw, 44px); letter-spacing: -.04em; }
.mk-chart__top b i { font-style: normal; font-size: 15px; color: rgba(255,255,255,.55); margin-left: 4px; font-weight: 600; }
.mk-chart__top em { font-style: normal; font-size: 12.5px; color: rgba(255,255,255,.55); padding: 6px 11px; border-radius: 999px; border: 1px solid rgba(255,255,255,.14); white-space: nowrap; }
.mk-chart__svg { width: 100%; height: clamp(170px, 16vw, 230px); display: block; overflow: visible; }
.mk-chart__gl { stroke: rgba(255,255,255,.08); stroke-dasharray: 3 5; }
.mk-chart__line { fill: none; stroke: #f43b2f; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: mkDraw 2.2s .4s var(--ease) forwards; filter: drop-shadow(0 6px 12px rgba(244,59,47,.5)); }
.mk-chart__area { opacity: 0; animation: mkFade 1.2s 1.4s forwards; }
.mk-chart__pt { fill: #0b0b0d; stroke: #fff; stroke-width: 2; opacity: 0; animation: mkFade .4s 2s forwards; }
@keyframes mkDraw { to { stroke-dashoffset: 0; } }
@keyframes mkFade { to { opacity: 1; } }
.mk-chart__x { display: flex; justify-content: space-between; font-size: 12px; color: rgba(255,255,255,.5); margin-top: 8px; }
.mk-kpis { position: relative; border-top: 1px solid rgba(255,255,255,.08); }
.mk-kpis__in { display: grid; grid-template-columns: repeat(4, 1fr); }
.mk-kpis__in div { padding: 26px 22px; border-left: 1px solid rgba(255,255,255,.08); display: grid; gap: 4px; }
.mk-kpis__in div:first-child { border: 0; padding-left: 0; }
.mk-kpis small { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.mk-kpis b { font-size: clamp(28px, 2.8vw, 40px); letter-spacing: -.04em; }
.mk-kpis span { font-size: 13px; color: rgba(255,255,255,.55); }
.mk-tape { border-top: 1px solid rgba(255,255,255,.08); overflow: hidden; background: rgba(255,255,255,.02); }
.mk-tape__t { display: flex; width: max-content; animation: mkTape 70s linear infinite; }
.mk-tape span { display: inline-flex; align-items: center; gap: 10px; padding: 14px 26px; font-size: 13.5px; color: rgba(255,255,255,.7); white-space: nowrap; border-right: 1px solid rgba(255,255,255,.06); }
.mk-tape b { color: #fff; }
.mk-tape i { font-style: normal; color: #22c55e; font-weight: 700; }
.mk-tape i::before { content: "▲ "; font-size: 9px; }
@keyframes mkTape { to { transform: translateX(-50%); } }

.mk-race__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 30px; }
.mk-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.mk-bars a { display: grid; grid-template-columns: 44px minmax(160px, 260px) 1fr 110px; align-items: center; gap: 18px; padding: 14px 18px; border-radius: 18px; color: var(--ink); text-decoration: none; transition: background .3s; }
.mk-bars a:hover { background: #f4f2ec; }
.mk-bars__n { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--muted); }
.mk-bars__name { font-weight: 700; font-size: 16px; display: grid; line-height: 1.25; }
.mk-bars__name small { font-weight: 500; font-size: 12.5px; color: var(--muted); }
.mk-bars__track { height: 12px; border-radius: 12px; background: #f1efe9; overflow: hidden; }
.mk-bars__track i { display: block; height: 100%; width: 0; border-radius: 12px; background: linear-gradient(90deg, #ff8a7a, var(--red)); transition: width 1s calc(var(--i) * .05s) var(--ease); }
.mk-bars li:first-child .mk-bars__track i { background: linear-gradient(90deg, var(--red), #9f1209); }
.mk-bars__v { text-align: right; font-size: 17px; letter-spacing: -.02em; }
.mk-note { margin-top: 18px; }
.mk-note a { color: var(--ink); font-weight: 700; }

.mk-yield { background: #0b0b0d; color: #fff; padding: clamp(72px, 9vw, 120px) 0; position: relative; overflow: clip; }
.mk-yield::before { content: ""; position: absolute; left: -10%; bottom: -40%; width: 60%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(34,197,94,.16), transparent 60%); }
.mk-yield__in { position: relative; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 6vw, 90px); align-items: center; }
.mk-yield__in > div p:not(.eyebrow) { color: rgba(255,255,255,.65); margin: 0 0 24px; max-width: 420px; }
.mk-podium { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mk-podium a { display: grid; grid-template-columns: 54px 1fr auto; align-items: center; gap: 16px; padding: 18px 22px; border-radius: 22px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); color: #fff; text-decoration: none; transition: background .3s, transform .4s var(--ease); }
.mk-podium a:hover { background: rgba(255,255,255,.1); transform: translateX(6px); }
.mk-podium li:first-child a { background: linear-gradient(90deg, rgba(34,197,94,.22), rgba(255,255,255,.05)); border-color: rgba(34,197,94,.4); }
.mk-podium__r { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; background: rgba(255,255,255,.08); font-weight: 800; font-size: 18px; }
.mk-podium li:first-child .mk-podium__r { background: #22c55e; color: #0b0b0d; }
.mk-podium__b b { display: block; font-size: 17px; }
.mk-podium__b small { color: rgba(255,255,255,.55); font-size: 12.5px; }
.mk-podium__y { font-size: clamp(28px, 3vw, 40px); font-weight: 800; letter-spacing: -.04em; color: #4ade80; }
.mk-podium__y i { font-style: normal; font-size: .55em; }

.mk-tools__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.mk-tool { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 26px; border-radius: 24px; border: 1px solid var(--line); background: #fff; color: var(--ink); text-decoration: none; min-height: 220px; transition: transform .45s var(--ease), box-shadow .45s, background .45s, color .45s; }
.mk-tool:hover { transform: translateY(-5px); box-shadow: 0 30px 60px -36px rgba(13,13,15,.4); background: var(--ink); color: #fff; }
.mk-tool--big { grid-column: span 2; grid-row: span 2; background: var(--red); color: #fff; border-color: transparent; justify-content: flex-end; }
.mk-tool--big h3 { font-size: clamp(26px, 2.6vw, 38px) !important; }
.mk-tool--big p { color: rgba(255,255,255,.85) !important; max-width: 420px; }
.mk-tool__ic { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: #f4f2ec; color: var(--red); transition: background .45s, color .45s; }
.mk-tool--big .mk-tool__ic { position: absolute; top: 26px; left: 26px; width: 64px; height: 64px; background: rgba(255,255,255,.16); color: #fff; }
.mk-tool:hover .mk-tool__ic { background: rgba(255,255,255,.12); color: #fff; }
.mk-tool__ic svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mk-tool h3 { font-size: 19px; letter-spacing: -.02em; margin: 6px 0 0; }
.mk-tool p { margin: 0; font-size: 14.5px; color: var(--muted); transition: color .45s; }
.mk-tool:hover p { color: rgba(255,255,255,.65); }
.mk-tool__go { position: absolute; right: 22px; top: 22px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; border: 1px solid currentColor; font-style: normal; opacity: .4; transition: opacity .3s, transform .4s var(--ease); }
.mk-tool:hover .mk-tool__go { opacity: 1; transform: rotate(-45deg); }
.mk-ask { padding: 0 0 clamp(72px, 8vw, 110px); }
.mk-ask__in { text-align: center; padding: clamp(40px, 5vw, 64px); border-radius: 32px; background: #f4f2ec; display: grid; justify-items: center; gap: 10px; }
.mk-ask__in p { color: var(--muted); max-width: 520px; margin: 0 0 12px; }

@media (max-width: 1000px) {
  .mk-hero__in, .mk-yield__in { grid-template-columns: 1fr; }
  .mk-kpis__in { grid-template-columns: repeat(2, 1fr); }
  .mk-kpis__in div:nth-child(3) { border: 0; padding-left: 0; }
  .mk-kpis__in div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.08); }
  .mk-tools__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .mk-bars a { grid-template-columns: 30px 1fr 84px; gap: 10px; padding: 12px 8px; }
  .mk-bars__track { grid-column: 2 / 4; grid-row: 2; height: 8px; }
  .mk-bars__v { font-size: 15px; }
  .mk-kpis__in div { padding: 20px 14px; }
  .mk-tools__grid { grid-template-columns: 1fr; }
  .mk-tool--big { grid-column: auto; grid-row: auto; min-height: 280px; }
  .mk-chart { padding: 18px 16px 14px; }
  .mk-chart__top em { display: none; }
  .mk-podium a { grid-template-columns: 40px 1fr auto; padding: 14px 16px; gap: 12px; }
  .mk-podium__r { width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) { .mk-tape__t, .mk-chart__line { animation: none; stroke-dashoffset: 0; } .mk-chart__area, .mk-chart__pt { animation: none; opacity: 1; } }
.mk-tool--wide { grid-column: span 2; }
@media (max-width: 640px) { .mk-tool--wide { grid-column: auto; } }

/* ===== Services hub (sx-): life-of-a-property ring ===== */
.sx-hero { position: relative; padding: calc(var(--hdr) + 18px) 0 clamp(56px, 7vw, 96px); background: radial-gradient(70% 80% at 85% 30%, rgba(244,59,47,.12), transparent 60%), linear-gradient(180deg, #f4f2ec, #fff 85%); overflow: clip; }
.sx-hero__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.sx-k { display: inline-flex; align-items: center; gap: 10px; margin: 6px 0 18px; padding: 6px 14px 6px 6px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 13px; font-weight: 700; }
.sx-k span { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--red); color: #fff; font-size: 13px; }
.sx-hero__h { font-size: clamp(46px, 6.4vw, 100px); line-height: .94; letter-spacing: -.055em; font-weight: 800; margin: 0 0 20px; }
.sx-hero__h em { display: block; font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--red); letter-spacing: -.02em; }
.sx-hero__p { font-size: clamp(16px, 1.3vw, 19px); color: var(--ink-2); max-width: 520px; margin: 0 0 28px; }
.sx-who { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 520px; }
.sx-who a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 16px 18px; border-radius: 18px; background: #fff; border: 1px solid var(--line); color: var(--ink); font-weight: 700; text-decoration: none; transition: background .3s, color .3s, transform .4s var(--ease), border-color .3s; }
.sx-who a:hover { background: var(--ink); color: #fff; transform: translateY(-3px); border-color: var(--ink); }
.sx-who i { font-style: normal; color: var(--red); transition: transform .3s; }
.sx-who a:hover i { transform: translateX(4px); }
.sx-ring { position: relative; width: min(100%, 560px); aspect-ratio: 1; margin-inline: auto; }
.sx-ring__svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.sx-ring__track { fill: none; stroke: #e9e6de; stroke-width: 2; }
.sx-ring__prog { fill: none; stroke: var(--red); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 0 100; transition: stroke-dasharray 1s var(--ease); filter: drop-shadow(0 0 6px rgba(244,59,47,.5)); }
.sx-ring__dash { fill: none; stroke: rgba(13,13,15,.1); stroke-width: 1; stroke-dasharray: 2 7; animation: gpSpin 90s linear infinite; transform-origin: 250px 250px; }
.sx-stop { position: absolute; translate: -50% -50%; display: grid; justify-items: center; gap: 6px; color: var(--ink); text-decoration: none; z-index: 2; }
.sx-stop span { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: #fff; box-shadow: 0 14px 30px -14px rgba(13,13,15,.35), 0 0 0 1px var(--line); transition: background .4s, color .4s, transform .5s var(--ease), box-shadow .4s; }
.sx-stop svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sx-stop b { font-size: 13px; padding: 3px 9px; border-radius: 999px; background: rgba(255,255,255,.85); }
.sx-stop.is-done span { color: var(--red); }
.sx-stop.is-on span, .sx-stop:hover span { background: var(--red); color: #fff; transform: scale(1.14); box-shadow: 0 0 0 8px rgba(244,59,47,.14), 0 18px 34px -12px rgba(244,59,47,.6); }
.sx-core { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 50%; aspect-ratio: 1; border-radius: 50%; background: var(--ink); color: #fff; display: grid; align-content: center; justify-items: center; text-align: center; padding: 8%; box-shadow: 0 40px 80px -30px rgba(13,13,15,.6); }
.sx-core small { font-size: 11px; letter-spacing: .14em; color: rgba(255,255,255,.5); font-weight: 700; }
.sx-core b { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: clamp(30px, 3.4vw, 46px); color: var(--red); line-height: 1.05; margin: 4px 0 6px; }
.sx-core p { font-size: clamp(12.5px, 1vw, 14px); line-height: 1.45; color: rgba(255,255,255,.75); margin: 0 0 10px; }
.sx-core a { font-size: 13px; font-weight: 800; color: #fff; text-decoration: none; padding: 7px 14px; border-radius: 999px; background: rgba(255,255,255,.12); }
.sx-core a:hover { background: var(--red); }
.sx-core.is-flip b, .sx-core.is-flip p { animation: lpUp .6s var(--ease) both; }

.sx-pick__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 30px; }
.sx-list { display: none; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.sx-list.is-on { display: grid; }
.sx-item { position: relative; display: flex; flex-direction: column; gap: 16px; padding: 26px; border-radius: 24px; border: 1px solid var(--line); background: #fff; color: var(--ink); text-decoration: none; min-height: 210px; animation: lpUp .6s calc(var(--i) * .06s) var(--ease) both; transition: transform .45s var(--ease), box-shadow .45s, border-color .45s; }
.sx-item:hover { transform: translateY(-5px); box-shadow: 0 34px 60px -38px rgba(13,13,15,.45); border-color: transparent; }
.sx-item__ic { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: #fdecea; color: var(--red); transition: background .4s, color .4s; }
.sx-item:hover .sx-item__ic { background: var(--red); color: #fff; }
.sx-item__ic svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sx-item__b b { display: block; font-size: 19px; letter-spacing: -.02em; margin-bottom: 6px; }
.sx-item__b small { font-size: 14.5px; color: var(--muted); line-height: 1.5; display: block; }
.sx-item__go { position: absolute; right: 22px; top: 26px; font-style: normal; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--line); transition: background .3s, color .3s, transform .4s var(--ease); }
.sx-item:hover .sx-item__go { background: var(--ink); color: #fff; transform: rotate(-45deg); }

.sx-group { background: var(--ink); color: #fff; padding: clamp(72px, 9vw, 130px) 0; position: relative; overflow: clip; }
.sx-group::before { content: ""; position: absolute; right: -15%; top: -40%; width: 60%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.24), transparent 60%); }
.sx-group__head { position: relative; display: grid; grid-template-columns: 1fr minmax(0, 420px); gap: 40px; align-items: end; margin-bottom: 40px; }
.sx-group__head > p { color: rgba(255,255,255,.65); margin: 0; }
.sx-group__grid { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.sx-co { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 28px; border-radius: 26px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09); color: #fff; text-decoration: none; min-height: 230px; overflow: hidden; transition: background .4s, transform .45s var(--ease), border-color .4s; }
.sx-co::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 140px; height: 140px; border-radius: 50%; border: 28px solid rgba(244,59,47,.0); transition: border-color .5s, transform .6s var(--ease); }
.sx-co:hover { background: rgba(255,255,255,.08); transform: translateY(-5px); border-color: rgba(244,59,47,.5); }
.sx-co:hover::after { border-color: rgba(244,59,47,.25); transform: scale(1.2); }
.sx-co__tag { align-self: flex-start; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; padding: 6px 11px; border-radius: 999px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.75); }
.sx-co__n { font-size: clamp(24px, 2.2vw, 32px); letter-spacing: -.03em; line-height: 1.05; margin-top: auto; }
.sx-co__n span { display: block; font-size: 13px; letter-spacing: .3em; color: var(--red); font-weight: 800; margin-bottom: 4px; }
.sx-co p { margin: 0; font-size: 14.5px; color: rgba(255,255,255,.62); max-width: 300px; }
.sx-co > i { position: absolute; right: 24px; top: 24px; font-style: normal; opacity: .4; transition: opacity .3s, transform .4s var(--ease); }
.sx-co:hover > i { opacity: 1; transform: rotate(-45deg); }
.sx-nums { padding: clamp(56px, 7vw, 90px) 0; }
.sx-nums__in { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.sx-nums__in div { padding: 26px; border-radius: 24px; background: #f4f2ec; display: grid; gap: 4px; }
.sx-nums b { font-size: clamp(30px, 3vw, 46px); letter-spacing: -.04em; }
.sx-nums span { color: var(--muted); font-size: 14px; }

@media (max-width: 1000px) {
  .sx-hero__in { grid-template-columns: 1fr; }
  .sx-ring { width: min(100%, 520px); }
  .sx-list, .sx-group__grid { grid-template-columns: repeat(2, 1fr); }
  .sx-group__head { grid-template-columns: 1fr; gap: 14px; }
  .sx-nums__in { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .sx-hero__h { font-size: 44px; }
  .sx-who { grid-template-columns: 1fr 1fr; }
  .sx-who a { padding: 13px 14px; font-size: 14px; }
  .sx-stop span { width: 44px; height: 44px; }
  .sx-stop svg { width: 19px; height: 19px; }
  .sx-stop b { font-size: 11px; padding: 2px 6px; }
  .sx-core { width: 54%; padding: 6%; }
  .sx-core b { font-size: 26px; }
  .sx-core p { font-size: 11.5px; margin-bottom: 6px; }
  .sx-core a { font-size: 11.5px; padding: 5px 10px; }
  .sx-seg { overflow-x: auto; max-width: 100%; scrollbar-width: none; }
  .sx-seg button { white-space: nowrap; }
  .sx-list, .sx-group__grid { grid-template-columns: 1fr; }
  .sx-item { min-height: 0; padding: 20px; flex-direction: row; align-items: flex-start; gap: 14px; }
  .sx-item__ic { width: 44px; height: 44px; flex: none; }
  .sx-item__go { display: none; }
  .sx-co { min-height: 190px; padding: 22px; }
}

/* ===== Areas (ar-) ===== */
.ar-hero { position: relative; min-height: min(78vh, 760px); display: flex; align-items: flex-end; color: #fff; overflow: clip; padding: calc(var(--hdr) + 40px) 0 clamp(48px, 6vw, 80px); background: #0b0b0d; }
.ar-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); animation: arZoom 14s ease-out forwards; }
@keyframes arZoom { to { transform: scale(1); } }
.ar-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,11,13,.88) 0%, rgba(11,11,13,.55) 50%, rgba(11,11,13,.15) 100%), linear-gradient(0deg, rgba(11,11,13,.85), transparent 50%); }
.ar-hero__in { position: relative; z-index: 1; width: 100%; }
.ar-k { display: inline-flex; gap: 6px; font-size: 13px; padding: 7px 14px; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); backdrop-filter: blur(8px); margin: 6px 0 18px; color: rgba(255,255,255,.85); }
.ar-k b { color: #fff; }
.ar-hero__h { font-size: clamp(44px, 6.2vw, 96px); line-height: .95; letter-spacing: -.05em; font-weight: 800; margin: 0 0 18px; max-width: 900px; }
.ar-hero__h em { display: block; font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--red); letter-spacing: -.02em; }
.ar-hero__p { color: rgba(255,255,255,.75); font-size: clamp(16px, 1.3vw, 19px); max-width: 560px; margin: 0 0 26px; }
.ar-search { display: flex; align-items: center; gap: 12px; max-width: 620px; padding: 8px 8px 8px 22px; border-radius: 999px; background: #fff; color: var(--ink); box-shadow: 0 30px 70px -30px rgba(0,0,0,.7); }
.ar-search svg { width: 22px; height: 22px; fill: none; stroke: var(--muted); stroke-width: 2; flex: none; }
.ar-search input { flex: 1; min-width: 0; border: 0; outline: 0; font: inherit; font-size: 17px; padding: 12px 0; background: none; }
.ar-search kbd { font: 800 13px/1 var(--font); padding: 12px 16px; border-radius: 999px; background: var(--red); color: #fff; }
.ar-pop { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 16px; font-size: 13px; }
.ar-pop span { color: rgba(255,255,255,.6); margin-right: 4px; }
.ar-pop a { color: #fff; text-decoration: none; padding: 7px 13px; border-radius: 999px; border: 1px solid rgba(255,255,255,.25); transition: background .3s, color .3s; }
.ar-pop a:hover { background: #fff; color: var(--ink); }

.ar-cards { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 260px; gap: 14px; }
.ar-card { position: relative; border-radius: 26px; overflow: hidden; color: #fff; text-decoration: none; isolation: isolate; }
.ar-card--big { grid-column: span 2; grid-row: span 2; }
.ar-card:nth-child(4) { grid-column: span 2; }
.ar-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.2s var(--ease); }
.ar-card:hover img { transform: scale(1.07); }
.ar-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(11,11,13,.85) 0%, rgba(11,11,13,.1) 55%, rgba(11,11,13,0)); }
.ar-card__rank { position: absolute; left: 20px; top: 18px; font-family: var(--serif); font-style: italic; font-size: 28px; opacity: .9; }
.ar-card__b { position: absolute; left: 20px; right: 20px; bottom: 20px; display: grid; gap: 10px; }
.ar-card__b b { font-size: clamp(22px, 2vw, 30px); letter-spacing: -.03em; line-height: 1.05; }
.ar-card--big .ar-card__b b { font-size: clamp(32px, 3.6vw, 54px); }
.ar-card__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ar-card__chips i { font-style: normal; font-size: 12px; font-weight: 700; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.16); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.18); }
.ar-card__chips .ar-y { background: #22c55e; border-color: transparent; color: #04210f; }
.ar-card__go { position: absolute; right: 18px; top: 18px; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--ink); transform: scale(.6); opacity: 0; transition: transform .4s var(--ease), opacity .3s; }
.ar-card:hover .ar-card__go { transform: scale(1) rotate(-45deg); opacity: 1; }

.ar-all__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 24px; }
.ar-tbl { border-radius: 26px; border: 1px solid var(--line); overflow: hidden; }
.ar-tbl__h, .ar-row { display: grid; grid-template-columns: minmax(0, 2.2fr) .7fr 1fr 1fr 1.4fr; align-items: center; gap: 16px; padding: 12px 22px; }
.ar-tbl__h { background: #f4f2ec; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding-block: 16px; position: sticky; top: var(--hdr); z-index: 2; }
.ar-tbl__h button { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.ar-tbl__h button::after { content: "↕"; opacity: .35; }
.ar-tbl__h button.is-on { color: var(--ink); }
.ar-tbl__h button.is-on::after { content: "↓"; opacity: 1; color: var(--red); }
.ar-tbl__h button.is-on.is-asc::after { content: "↑"; }
.ar-row { color: var(--ink); text-decoration: none; border-top: 1px solid var(--line); transition: background .25s; font-size: 15px; }
.ar-row:hover { background: #faf9f6; }
.ar-row[hidden] { display: none; }
.ar-row__n { display: flex; align-items: center; gap: 14px; min-width: 0; }
.ar-row__n img { width: 64px; height: 48px; border-radius: 12px; object-fit: cover; flex: none; }
.ar-row__n b { display: grid; font-size: 16px; min-width: 0; }
.ar-row__n small { font-weight: 500; font-size: 12.5px; color: var(--muted); }
.ar-row__t { font-weight: 800; font-size: 17px; }
.ar-row__p { display: grid; gap: 6px; }
.ar-row__p em { font-style: normal; font-weight: 700; }
.ar-row__bar { height: 6px; border-radius: 6px; background: #f1efe9; overflow: hidden; }
.ar-row__bar i { display: block; height: 100%; border-radius: 6px; background: linear-gradient(90deg, #ff8a7a, var(--red)); }
.ar-none { padding: 30px 22px; margin: 0; color: var(--muted); text-align: center; }
.ar-none a { color: var(--ink); font-weight: 700; }

@media (max-width: 1000px) {
  .ar-cards { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 220px; }
  .ar-card--big { grid-column: span 2; grid-row: span 1; }
  .ar-card:nth-child(4) { grid-column: auto; }
}
@media (max-width: 700px) {
  .ar-hero { min-height: 0; padding-top: calc(var(--hdr) + 30px); }
  .ar-hero__h { font-size: 42px; }
  .ar-search { padding-left: 16px; }
  .ar-search input { font-size: 15px; }
  .ar-cards { grid-template-columns: 1fr; grid-auto-rows: 230px; }
  .ar-card--big { grid-column: auto; }
  .ar-tbl__h { display: none; }
  .ar-row { grid-template-columns: 1fr auto; row-gap: 6px; padding: 14px 16px; }
  .ar-row__n { grid-column: 1 / -1; }
  .ar-row > span:nth-child(2) { display: none; }
  .ar-row > span:nth-child(3)::before { content: "Buy "; color: var(--muted); font-size: 12px; }
  .ar-row > span:nth-child(4)::before { content: "Rent "; color: var(--muted); font-size: 12px; }
  .ar-row__p { grid-column: 1 / -1; grid-template-columns: auto 1fr; align-items: center; gap: 10px; }
  .ar-row__p em::after { content: " /sqft"; color: var(--muted); font-weight: 500; font-size: 12px; }
}
.ar-card:nth-child(5), .ar-card:nth-child(6) { grid-column: span 2; }
@media (max-width: 1000px) { .ar-card:nth-child(5), .ar-card:nth-child(6) { grid-column: auto; } }
@media (max-width: 700px) { .ar-row__p.is-empty { display: none; } .ar-card:nth-child(n) { grid-column: auto; } }

/* ===== Sell (sl- v2): instant estimate hero ===== */
.sl-hero { position: relative; background: #0b0b0d; color: #fff; padding: calc(var(--hdr) + 30px) 0 0; overflow: clip; }
.sl-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .42; transform: scale(1.05); animation: arZoom 16s ease-out forwards; }
.sl-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,11,13,.92) 0%, rgba(11,11,13,.6) 55%, rgba(11,11,13,.35) 100%), linear-gradient(0deg, #0b0b0d 0%, transparent 30%); pointer-events: none; }
.sl-hero__glow { position: absolute; z-index: 1; right: 0; top: 10%; width: 50%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.3), transparent 62%); pointer-events: none; }
.sl-hero__in { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 5vw, 80px); align-items: center; padding-bottom: clamp(48px, 6vw, 84px); }
.sl-k { display: inline-flex; align-items: center; gap: 10px; margin: 6px 0 18px; padding: 6px 14px 6px 6px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(8px); font-size: 13px; color: rgba(255,255,255,.8); }
.sl-k span { padding: 5px 10px; border-radius: 999px; background: #f5b301; color: #1a1200; font-weight: 800; }
.sl-hero__h { font-size: clamp(44px, 5.8vw, 90px); line-height: .95; letter-spacing: -.05em; font-weight: 800; margin: 0 0 20px; }
.sl-hero__h em { display: block; font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--red); letter-spacing: -.02em; }
.sl-hero__p { color: rgba(255,255,255,.75); font-size: clamp(16px, 1.3vw, 19px); max-width: 540px; margin: 0 0 22px; }
.sl-hero__ticks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.sl-hero__ticks li { display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 600; }
.sl-hero__ticks li::before { content: "✓"; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: rgba(34,197,94,.2); color: #4ade80; font-size: 12px; font-weight: 800; }
.sl-est { background: #fff; color: var(--ink); border-radius: 30px; padding: 26px; box-shadow: 0 60px 120px -50px rgba(0,0,0,.9); }
.sl-est__h { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin: 0 0 16px; }
.sl-est__h b { font-size: 18px; }
.sl-est__h span { font-size: 12.5px; color: var(--muted); display: inline-flex; align-items: center; gap: 6px; }
.sl-est__h span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #22c55e; animation: lpPing 2s infinite; }
.sl-f { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px 12px; margin-bottom: 16px; }
.sl-f > span { font-size: 13px; font-weight: 700; }
.sl-f select { grid-column: 1 / -1; font: inherit; font-size: 16px; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--line); background: #faf9f6; }
.sl-f output { font-weight: 800; font-size: 15px; }
.sl-f input[type=range] { grid-column: 1 / -1; width: 100%; accent-color: var(--red); }
.sl-est__out { padding: 20px; border-radius: 20px; background: var(--ink); color: #fff; margin-bottom: 14px; position: relative; overflow: hidden; }
.sl-est__out::after { content: ""; position: absolute; right: -30px; top: -30px; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.5), transparent 65%); }
.sl-est__out small { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: rgba(255,255,255,.55); }
.sl-est__out > b { display: block; font-size: clamp(26px, 2.6vw, 36px); letter-spacing: -.04em; margin: 4px 0 10px; position: relative; z-index: 1; }
.sl-est__out > b.is-pulse { animation: lpFlip .4s var(--ease); }
.sl-est__meta { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; color: rgba(255,255,255,.65); position: relative; z-index: 1; }
.sl-est__meta i { font-style: normal; font-weight: 800; color: #fff; }
.sl-est__btn { width: 100%; justify-content: center; }
.sl-est__note { font-size: 11.5px; color: var(--muted); margin: 10px 0 0; text-align: center; }
.sl-strip { position: relative; z-index: 2; border-top: 1px solid rgba(255,255,255,.08); }
.sl-strip__in { display: grid; grid-template-columns: repeat(4, 1fr); }
.sl-strip__in div { padding: 26px 20px; border-left: 1px solid rgba(255,255,255,.08); display: grid; gap: 4px; }
.sl-strip__in div:first-child { border: 0; padding-left: 0; }
.sl-strip b { font-size: clamp(24px, 2.4vw, 34px); letter-spacing: -.03em; }
.sl-strip span { font-size: 13px; color: rgba(255,255,255,.55); }

.sl-pil { padding: clamp(72px, 9vw, 130px) 0; }
.sl-pil__head { margin-bottom: 40px; max-width: 760px; }
.sl-pil__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.sl-pil__media { position: sticky; top: calc(var(--hdr) + 30px); aspect-ratio: 4 / 4.4; border-radius: 30px; overflow: hidden; background: #eee; }
.sl-pil__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.08); transition: opacity .9s, transform 1.6s var(--ease); }
.sl-pil__media img.is-on { opacity: 1; transform: scale(1); }
.sl-pil__count { position: absolute; left: 20px; bottom: 20px; padding: 9px 15px; border-radius: 999px; background: rgba(255,255,255,.92); font-size: 13px; color: var(--muted); }
.sl-pil__count b { color: var(--ink); }
.sl-pil__list { list-style: none; margin: 0; padding: 0; }
.sl-pil__i { padding: clamp(36px, 8vh, 90px) 0; border-top: 1px solid var(--line); opacity: .3; transition: opacity .5s; }
.sl-pil__i:first-child { border: 0; padding-top: 10px; }
.sl-pil__i.is-on { opacity: 1; }
.sl-pil__n { font-family: var(--serif); font-style: italic; font-size: clamp(56px, 6vw, 88px); line-height: .9; color: var(--red); display: block; }
.sl-pil__t { margin: 10px 0 0; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.sl-pil__i h3 { font-size: clamp(26px, 2.6vw, 38px); letter-spacing: -.035em; margin: 6px 0 12px; line-height: 1.1; }
.sl-pil__i > p:not(.sl-pil__t) { color: var(--ink-2); font-size: 17px; max-width: 500px; margin: 0 0 18px; }
.sl-pil__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.sl-pil__tags i { font-style: normal; font-size: 13px; font-weight: 700; padding: 8px 13px; border-radius: 999px; background: #f4f2ec; }

.sl-says__grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 14px; }
.sl-say { position: relative; margin: 0; padding: 30px; border-radius: 28px; background: #f4f2ec; display: flex; flex-direction: column; gap: 18px; }
.sl-say--dark { background: var(--ink); color: #fff; }
.sl-say__q { font-family: var(--serif); font-size: 110px; line-height: .6; color: var(--red); height: 40px; }
.sl-say blockquote { margin: 0; font-size: 17px; line-height: 1.6; flex: 1; }
.sl-say--dark blockquote { font-size: 20px; }
.sl-say figcaption { display: grid; gap: 2px; }
.sl-say__s { color: #f5b301; letter-spacing: .12em; font-size: 14px; }
.sl-say figcaption small { color: var(--muted); }
.sl-say--dark figcaption small { color: rgba(255,255,255,.55); }

.sl-val { background: linear-gradient(135deg, #1a0605 0%, #0b0b0d 60%); color: #fff; padding: clamp(72px, 9vw, 120px) 0; position: relative; overflow: clip; }
.sl-val::before { content: ""; position: absolute; left: -10%; top: -40%; width: 55%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.3), transparent 60%); }
.sl-val__in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 90px); align-items: center; }
.sl-next { list-style: none; margin: 26px 0 0; padding: 0; counter-reset: sn; display: grid; gap: 18px; }
.sl-next li { counter-increment: sn; display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; }
.sl-next li::before { content: counter(sn); grid-row: span 2; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); font-weight: 800; }
.sl-next b { font-size: 17px; }
.sl-next span { color: rgba(255,255,255,.6); font-size: 14.5px; }
.sl-val__form { background: #fff; color: var(--ink); border-radius: 28px; padding: 26px; box-shadow: 0 60px 120px -50px rgba(0,0,0,.9); }

@media (max-width: 1000px) {
  .sl-hero__in, .sl-pil__in, .sl-val__in { grid-template-columns: 1fr; }
  .sl-strip__in { grid-template-columns: repeat(2, 1fr); }
  .sl-strip__in div:nth-child(3) { border: 0; padding-left: 0; }
  .sl-strip__in div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.08); }
  .sl-pil__media { position: relative; top: 0; aspect-ratio: 16 / 10; }
  .sl-pil__i { opacity: 1; padding: 30px 0; }
  .sl-says__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .sl-hero__h { font-size: 42px; }
  .sl-est { padding: 20px; border-radius: 24px; }
  .sl-val__form { padding: 18px; }
}

/* ===== Insights (in-): magazine ===== */
.in-hero { padding: calc(var(--hdr) + 18px) 0 clamp(40px, 5vw, 64px); background: linear-gradient(180deg, #f4f2ec, #fff); }
.in-mast { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 40px; align-items: end; padding: 10px 0 30px; border-bottom: 2px solid var(--ink); margin-bottom: 30px; }
.in-mast__h { font-size: clamp(44px, 6vw, 92px); line-height: .95; letter-spacing: -.05em; font-weight: 800; margin: 0; }
.in-mast__h em { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--red); letter-spacing: -.02em; }
.in-mast__p { margin: 0; color: var(--ink-2); font-size: 16px; }
.in-top { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 24px; }
.in-lead { position: relative; display: block; border-radius: 30px; overflow: hidden; color: #fff; text-decoration: none; min-height: 520px; isolation: isolate; }
.in-lead figure { position: absolute; inset: 0; margin: 0; z-index: -2; }
.in-lead img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.in-lead:hover img { transform: scale(1.05); }
.in-lead::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(11,11,13,.92) 0%, rgba(11,11,13,.45) 45%, rgba(11,11,13,.05) 75%); }
.in-lead__b { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(24px, 3vw, 40px); display: grid; gap: 12px; }
.in-lead__b > b { font-size: clamp(26px, 2.8vw, 42px); letter-spacing: -.035em; line-height: 1.08; max-width: 720px; }
.in-lead__p { color: rgba(255,255,255,.78); max-width: 620px; font-size: 15.5px; }
.in-lead__go { font-style: normal; font-weight: 800; font-size: 14px; display: inline-flex; width: fit-content; padding: 11px 18px; border-radius: 999px; background: var(--red); transition: transform .35s var(--ease); }
.in-lead:hover .in-lead__go { transform: translateX(6px); }
.in-tag { justify-self: start; width: fit-content; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; padding: 6px 11px; border-radius: 999px; background: var(--red); color: #fff; }
.in-tag--sm { background: #fdecea; color: var(--red); padding: 5px 9px; font-size: 10.5px; }
.in-meta { font-size: 13px; color: var(--muted); }
.in-lead .in-meta { color: rgba(255,255,255,.6); }
.in-side { display: grid; gap: 24px; }
.in-mini { display: grid; grid-template-columns: 42% 1fr; gap: 18px; align-items: center; padding: 14px; border-radius: 26px; background: #fff; box-shadow: 0 0 0 1px var(--line); color: var(--ink); text-decoration: none; transition: box-shadow .4s, transform .4s var(--ease); }
.in-mini:hover { transform: translateY(-4px); box-shadow: 0 30px 60px -36px rgba(13,13,15,.4), 0 0 0 1px transparent; }
.in-mini figure { margin: 0; aspect-ratio: 1; border-radius: 18px; overflow: hidden; }
.in-mini img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.in-mini:hover img { transform: scale(1.06); }
.in-mini > span { display: grid; gap: 8px; }
.in-mini b { font-size: 17px; letter-spacing: -.02em; line-height: 1.25; }

.in-all__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 28px; }
.in-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.in-chips button { font: inherit; font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; gap: 8px; padding: 11px 16px; border-radius: 999px; border: 1px solid var(--line); background: #fff; cursor: pointer; transition: background .3s, color .3s, border-color .3s; }
.in-chips button small { font-size: 11px; padding: 2px 7px; border-radius: 99px; background: #f1efe9; color: var(--muted); }
.in-chips button.is-on { background: var(--ink); color: #fff; border-color: var(--ink); }
.in-chips button.is-on small { background: rgba(255,255,255,.15); color: #fff; }
.in-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 22px; }
.in-card { display: grid; gap: 10px; align-content: start; color: var(--ink); text-decoration: none; }
.in-card[hidden] { display: none; }
.in-card figure { position: relative; margin: 0 0 6px; aspect-ratio: 16 / 10; border-radius: 22px; overflow: hidden; }
.in-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.in-card:hover img { transform: scale(1.06); }
.in-card__mins { position: absolute; right: 12px; top: 12px; font-size: 12px; font-weight: 800; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.92); }
.in-card b { font-size: 19px; letter-spacing: -.02em; line-height: 1.25; transition: color .3s; }
.in-card:hover b { color: var(--red); }
.in-card__p { color: var(--muted); font-size: 14.5px; line-height: 1.5; }
.in-all.is-all .in-card.is-top { display: none; }

.in-news { padding: 0 0 clamp(72px, 8vw, 110px); }
.in-news__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; padding: clamp(36px, 5vw, 64px); border-radius: 32px; background: var(--ink); color: #fff; position: relative; overflow: hidden; }
.in-news__in::after { content: ""; position: absolute; right: -10%; top: -60%; width: 50%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.35), transparent 62%); }
.in-news__in > div p:not(.eyebrow) { color: rgba(255,255,255,.65); margin: 10px 0 0; max-width: 460px; }
.in-news__f { position: relative; z-index: 1; display: grid; gap: 12px; }
.in-news__row { display: flex; gap: 8px; padding: 6px; border-radius: 999px; background: #fff; }
.in-news__row input { flex: 1; min-width: 0; border: 0; outline: 0; font: inherit; font-size: 16px; padding: 12px 18px; background: none; color: var(--ink); }
.in-news__l { color: rgba(255,255,255,.75); font-weight: 700; font-size: 14px; text-decoration: none; }
.in-news__l:hover { color: #fff; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (max-width: 1000px) {
  .in-mast, .in-top, .in-news__in { grid-template-columns: 1fr; }
  .in-mast { gap: 14px; }
  .in-lead { min-height: 440px; }
  .in-side { grid-template-columns: 1fr 1fr; }
  .in-mini { grid-template-columns: 1fr; }
  .in-mini figure { aspect-ratio: 16 / 10; }
  .in-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .in-mast__h { font-size: 42px; }
  .in-lead { min-height: 420px; border-radius: 24px; }
  .in-side, .in-grid { grid-template-columns: 1fr; }
  .in-mini { grid-template-columns: 110px 1fr; }
  .in-mini figure { aspect-ratio: 1; }
  .in-chips { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--gut) * -1); padding-inline: var(--gut); scrollbar-width: none; }
  .in-chips button { white-space: nowrap; }
}
/* Insights lead: image on top, text below, so infographics stay readable */
.in-lead { display: grid; grid-template-rows: auto 1fr; min-height: 0; background: var(--ink); }
.in-lead figure { position: relative; inset: auto; z-index: auto; aspect-ratio: 16 / 8.2; overflow: hidden; }
.in-lead::after { display: none; }
.in-lead__b { position: relative; padding: clamp(22px, 2.6vw, 34px); }
.in-lead__b > b { font-size: clamp(24px, 2.4vw, 36px); }
@media (min-width: 1001px) { .in-mini { align-items: stretch; grid-template-columns: 48% 1fr; } .in-mini figure { aspect-ratio: auto; min-height: 100%; } .in-mini > span { align-content: center; } .in-mini b { font-size: 19px; } }

/* ===== What can I afford (af-) ===== */
.af-hero { position: relative; background: #0b0b0d; color: #fff; padding: calc(var(--hdr) + 22px) 0 clamp(56px, 7vw, 96px); overflow: clip; }
.af-hero__glow { position: absolute; right: -10%; top: -20%; width: 65%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.26), transparent 62%); pointer-events: none; }
.af-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; margin-top: 10px; }
.af-k { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 16px; font-size: 13px; color: rgba(255,255,255,.65); }
.af-k span { padding: 6px 11px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); color: #fff; font-weight: 700; }
.af-hero__h { font-size: clamp(46px, 6vw, 92px); line-height: .95; letter-spacing: -.05em; font-weight: 800; margin: 0 0 28px; }
.af-hero__h em { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--red); letter-spacing: -.02em; }
.af-ctrl { display: grid; gap: 22px; }
.af-seg { display: inline-flex; padding: 5px; border-radius: 999px; background: rgba(255,255,255,.08); width: fit-content; }
.af-seg button { font: inherit; font-weight: 700; font-size: 14px; color: rgba(255,255,255,.7); background: none; border: 0; padding: 10px 18px; border-radius: 999px; cursor: pointer; transition: background .3s, color .3s; }
.af-seg button.is-on { background: #fff; color: var(--ink); }
.af-sl { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: baseline; }
.af-sl > span { font-size: 14px; color: rgba(255,255,255,.7); }
.af-sl output { font-size: 20px; font-weight: 800; letter-spacing: -.02em; }
.af-sl input { grid-column: 1 / -1; -webkit-appearance: none; appearance: none; width: 100%; height: 8px; border-radius: 8px; background: linear-gradient(90deg, var(--red) var(--v, 30%), rgba(255,255,255,.14) var(--v, 30%)); outline: none; cursor: pointer; }
.af-sl input::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 6px solid var(--red); box-shadow: 0 4px 14px rgba(244,59,47,.5); }
.af-sl input::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 6px solid var(--red); }
.af-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.af-sm { position: relative; display: grid; gap: 6px; }
.af-sm span { font-size: 13px; color: rgba(255,255,255,.6); }
.af-sm input { font: inherit; font-size: 17px; font-weight: 700; color: #fff; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 14px; padding: 13px 64px 13px 16px; outline: none; }
.af-sm input:focus { border-color: var(--red); }
.af-sm i { position: absolute; right: 16px; bottom: 15px; font-style: normal; color: rgba(255,255,255,.5); font-size: 14px; }

.af-out { position: sticky; top: calc(var(--hdr) + 20px); background: #fff; color: var(--ink); border-radius: 32px; padding: clamp(24px, 2.6vw, 34px); box-shadow: 0 60px 120px -50px rgba(0,0,0,.9); }
.af-out > small { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; color: var(--muted); }
.af-out__big { display: block; font-size: clamp(40px, 4.6vw, 66px); letter-spacing: -.05em; line-height: 1; margin: 8px 0 8px; }
.af-out__why { margin: 0 0 18px; color: var(--muted); font-size: 14px; }
.af-out__why b { color: var(--ink); }
.af-gauge { display: grid; grid-template-columns: 150px 1fr; gap: 16px; align-items: center; padding: 16px 18px; border-radius: 20px; background: #f4f2ec; margin-bottom: 14px; }
.af-gauge svg { width: 100%; }
.af-gauge__bg, .af-gauge__fg { fill: none; stroke-width: 16; stroke-linecap: round; }
.af-gauge__bg { stroke: #e3e0d7; }
.af-gauge__fg { stroke: #22c55e; stroke-dasharray: 0 100; transition: stroke-dasharray .6s var(--ease), stroke .4s; }
.af-gauge b { display: block; font-size: 30px; letter-spacing: -.03em; }
.af-gauge small { color: var(--muted); font-size: 12.5px; line-height: 1.4; display: block; }
.af-split { margin-bottom: 14px; }
.af-split__bar { display: flex; height: 14px; border-radius: 14px; overflow: hidden; background: #f1efe9; margin-bottom: 12px; }
.af-split__bar i { display: block; height: 100%; transition: width .6s var(--ease); }
.af-split__loan, .af-dot--loan { background: var(--ink); }
.af-split__down, .af-dot--down { background: var(--red); }
.af-split__fee, .af-dot--fee { background: #f5b301; }
.af-split ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.af-split li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--ink-2); }
.af-split li b { margin-left: auto; color: var(--ink); }
.af-dot { width: 10px; height: 10px; border-radius: 3px; }
.af-out__pay { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0; border-top: 1px solid var(--line); margin-bottom: 12px; }
.af-out__pay span { color: var(--muted); font-size: 14px; }
.af-out__pay b { font-size: 22px; letter-spacing: -.02em; }
.af-out__btn { width: 100%; justify-content: center; }
.is-bump { animation: lpFlip .4s var(--ease); }

.af-buys__head { display: grid; grid-template-columns: 1fr minmax(0, 380px); gap: 30px; align-items: end; margin-bottom: 30px; }
.af-buys__head > p { color: var(--muted); margin: 0; }
.af-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.af-grid a { display: grid; gap: 10px; padding: 20px 22px; border-radius: 22px; border: 1px solid var(--line); color: var(--ink); text-decoration: none; transition: background .3s, color .3s, transform .4s var(--ease); }
.af-grid a:hover { background: var(--ink); color: #fff; transform: translateY(-4px); }
.af-grid__t { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.af-grid__t b { font-size: 16px; }
.af-grid__t em { font-style: normal; font-size: 22px; font-weight: 800; letter-spacing: -.03em; }
.af-grid__t em small { font-size: 12px; font-weight: 600; color: var(--muted); margin-left: 3px; }
.af-grid__bar { height: 8px; border-radius: 8px; background: #f1efe9; overflow: hidden; }
.af-grid__bar i { display: block; height: 100%; border-radius: 8px; background: linear-gradient(90deg, #ff8a7a, var(--red)); transition: width .6s var(--ease); }
.af-grid__m { font-size: 12.5px; color: var(--muted); }
.af-grid a:hover .af-grid__m, .af-grid a:hover .af-grid__t em small { color: rgba(255,255,255,.6); }
.af-rules__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 16px; }
.af-rules__grid article { padding: 28px; border-radius: 26px; background: #f4f2ec; }
.af-rules__grid span { font-family: var(--serif); font-style: italic; font-size: 64px; line-height: 1; color: var(--red); }
.af-rules__grid h3 { font-size: 20px; margin: 10px 0 6px; }
.af-rules__grid p { margin: 0; color: var(--ink-2); }
@media (max-width: 1000px) {
  .af-hero__in, .af-buys__head { grid-template-columns: 1fr; }
  .af-out { position: relative; top: 0; }
  .af-grid { grid-template-columns: repeat(2, 1fr); }
  .af-rules__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .af-hero__h { font-size: 44px; }
  .af-grid { grid-template-columns: 1fr; }
  .af-gauge { grid-template-columns: 110px 1fr; }
}
@media (max-width: 1000px) { .af-hero__in, .af-buys__head { grid-template-columns: minmax(0, 1fr); } }
.af-in, .af-ctrl, .af-sl, .af-out { min-width: 0; }
.af-two { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.af-sm input { width: 100%; box-sizing: border-box; }

/* ===== Home hero reel (rl-): crossfading clips + reviews from the towers ===== */
.rl { position: absolute; inset: 0; overflow: hidden; }
.rl__v { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity 1.2s ease, transform 8s linear; }
.rl__v.is-on { opacity: 1; transform: scale(1); }
.rl__dots { position: absolute; z-index: 3; right: clamp(16px, 4vw, 56px); bottom: clamp(18px, 3vw, 34px); display: flex; gap: 6px; }
.rl__dots i { width: 7px; height: 7px; border-radius: 99px; background: rgba(255,255,255,.45); transition: width .5s var(--ease), background .5s; }
.rl__dots i.is-on { width: 26px; background: #fff; }
.rl-pin { position: absolute; z-index: 2; left: 0; top: 0; width: 0; height: 0; will-change: transform; pointer-events: none; }
.rl-pin__dot { position: absolute; left: -8px; top: -8px; width: 16px; height: 16px; border-radius: 50%; background: var(--red); border: 3px solid #fff; box-shadow: 0 0 0 0 rgba(244,59,47,.6); opacity: 0; transform: scale(.3); transition: opacity .4s, transform .5s cubic-bezier(.3,1.6,.5,1); }
.rl-pin.is-on .rl-pin__dot { opacity: 1; transform: scale(1); animation: rlPing 1.8s .4s infinite; }
@keyframes rlPing { 70% { box-shadow: 0 0 0 16px rgba(244,59,47,0); } 100% { box-shadow: 0 0 0 0 rgba(244,59,47,0); } }
.rl-pin__line { position: absolute; top: -1px; right: 8px; width: 40px; height: 2px; background: linear-gradient(270deg, rgba(255,255,255,.95), rgba(255,255,255,.35)); transform-origin: right; transform: scaleX(0); transition: transform .4s .12s var(--ease); }
.rl-pin--r .rl-pin__line { right: auto; left: 8px; transform-origin: left; background: linear-gradient(90deg, rgba(255,255,255,.95), rgba(255,255,255,.35)); }
.rl-pin.is-on .rl-pin__line { transform: scaleX(1); }
.rl-bub { position: absolute; top: 0; right: 48px; width: min(300px, 24vw); margin: 0; padding: 14px 16px 12px; border-radius: 18px; background: rgba(255,255,255,.95); color: var(--ink); backdrop-filter: blur(12px); box-shadow: 0 26px 50px -22px rgba(0,0,0,.6); opacity: 0; transform: translate(14px, -50%) scale(.6); transform-origin: 100% 50%; transition: opacity .4s .28s, transform .6s .28s cubic-bezier(.3,1.4,.5,1); }
.rl-pin--r .rl-bub { right: auto; left: 48px; transform: translate(-14px, -50%) scale(.6); transform-origin: 0 50%; }
.rl-pin.is-on .rl-bub { opacity: 1; transform: translate(0, -50%); }
.rl-pin.is-out .rl-bub { opacity: 0; transform: translate(0, -50%) scale(.9); transition: opacity .35s, transform .45s; }
.rl-pin.is-out .rl-pin__line { transform: scaleX(0); transition-delay: .15s; }
.rl-pin.is-out .rl-pin__dot { opacity: 0; transform: scale(.3); transition-delay: .3s; }
.rl-bub blockquote { margin: 0 0 8px; font-size: 14px; line-height: 1.45; }
.rl-bub figcaption { display: flex; align-items: center; gap: 8px; font-size: 12.5px; }
.rl-bub__s { color: #f5b301; letter-spacing: .08em; font-size: 11px; }
.rl-bub figcaption img { margin-left: auto; }
@media (max-width: 900px) { .rl-pin { display: none; } .rl__dots { display: none; } }
@media (prefers-reduced-motion: reduce) { .rl__v { transition: opacity .3s; transform: none !important; } }

/* ===== Comparison, sell variant (hh-): head to head, light ===== */
.hh { padding: clamp(72px, 9vw, 120px) 0; background: linear-gradient(180deg, #fff, #f4f2ec); }
.hh__head { display: grid; grid-template-columns: 1fr minmax(0, 420px); gap: 40px; align-items: end; margin-bottom: 40px; }
.hh__head > p { color: var(--muted); margin: 0; }
.hh__duel { display: grid; grid-template-columns: 1fr auto 1fr; gap: 18px; align-items: stretch; }
.hh__side { position: relative; padding: 30px; border-radius: 30px; background: #fff; box-shadow: 0 0 0 1px var(--line); display: flex; flex-direction: column; gap: 22px; }
.hh__side--cba { background: var(--ink); color: #fff; box-shadow: 0 50px 100px -50px rgba(244,59,47,.6); overflow: hidden; }
.hh__side--cba::after { content: ""; position: absolute; right: -60px; top: -60px; width: 240px; height: 240px; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.45), transparent 65%); pointer-events: none; }
.hh__lbl { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; font-weight: 800; font-size: 18px; }
.hh__lbl img { grid-row: span 2; border-radius: 6px; }
.hh__lbl small { grid-column: 1 / -1; font-weight: 500; font-size: 13px; color: var(--muted); }
.hh__side--cba .hh__lbl small { grid-column: 2; color: rgba(255,255,255,.55); }
.hh__crowd { display: grid; grid-template-columns: repeat(15, 1fr); gap: 6px; padding: 18px; border-radius: 20px; background: #f4f2ec; }
.hh__crowd i { aspect-ratio: 1; border-radius: 50%; background: #cfccc3; }
.hh__crowd i:nth-child(23) { background: var(--muted); box-shadow: 0 0 0 3px rgba(108,108,116,.25); }
.hh__one { position: relative; display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: 20px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); min-height: 102px; }
.hh__one i { width: 46px; height: 46px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 10px rgba(244,59,47,.18), 0 0 0 22px rgba(244,59,47,.08); flex: none; margin-left: 12px; animation: rlPing 2.2s infinite; }
.hh__one span { font-weight: 700; margin-left: 18px; }
.hh__side dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: auto; }
.hh__side dl div { padding: 16px; border-radius: 18px; background: #f4f2ec; }
.hh__side--cba dl div { background: rgba(255,255,255,.07); }
.hh__side dt { font-size: 12.5px; color: var(--muted); margin-bottom: 4px; }
.hh__side--cba dt { color: rgba(255,255,255,.55); }
.hh__side dd { margin: 0; font-size: clamp(22px, 2.2vw, 32px); font-weight: 800; letter-spacing: -.03em; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.hh__side dd em { font-style: normal; font-size: 13px; padding: 4px 9px; border-radius: 999px; background: var(--red); color: #fff; letter-spacing: 0; }
.hh__vs { align-self: center; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: #fff; box-shadow: 0 0 0 1px var(--line), 0 14px 30px -14px rgba(0,0,0,.3); font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--red); }
.hh__note { margin: 18px 0 0; font-size: 12px; color: var(--muted); }

/* ===== Comparison, careers variant (rg-): rings on red ===== */
.rg { background: var(--red); color: #fff; padding: clamp(72px, 9vw, 120px) 0; position: relative; overflow: clip; }
.rg::before { content: ""; position: absolute; left: -10%; bottom: -50%; width: 60%; aspect-ratio: 1; border-radius: 50%; border: 90px solid rgba(255,255,255,.07); }
.rg__in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 90px); align-items: center; }
.rg__txt > p { color: rgba(255,255,255,.85); max-width: 460px; }
.rg .h2 em { color: #fff; }
.rg__note { font-size: 12.5px; color: rgba(255,255,255,.65) !important; }
.rg__rings { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.rg__ring { position: relative; margin: 0; padding: 26px; border-radius: 30px; background: rgba(0,0,0,.14); display: grid; justify-items: center; text-align: center; gap: 14px; }
.rg__ring svg { width: min(100%, 190px); transform: rotate(-90deg); }
.rg__bg { fill: none; stroke: rgba(255,255,255,.2); stroke-width: 10; }
.rg__fg { fill: none; stroke: #fff; stroke-width: 10; stroke-linecap: round; stroke-dasharray: 0 100; transition: stroke-dasharray 1.6s calc(var(--i) * .2s) var(--ease); }
.rg__ring.is-in .rg__fg, .rg__ring[style*="opacity: 1"] .rg__fg { stroke-dasharray: var(--p) 100; }
.rg__ring > b { position: absolute; top: calc(26px + min(100%, 190px) / 2); left: 50%; translate: -50% -50%; font-size: clamp(36px, 3.6vw, 52px); letter-spacing: -.04em; }
.rg__ring figcaption span { display: block; font-weight: 800; font-size: 17px; }
.rg__ring figcaption small { color: rgba(255,255,255,.7); font-size: 13px; }

@media (max-width: 900px) {
  .hh__head, .rg__in { grid-template-columns: 1fr; gap: 14px; }
  .hh__duel { grid-template-columns: 1fr; }
  .hh__vs { justify-self: center; margin: -36px 0; position: relative; z-index: 1; }
}
@media (max-width: 560px) {
  .rg__rings { grid-template-columns: 1fr 1fr; gap: 10px; }
  .rg__ring { padding: 18px 12px; }
  .hh__side { padding: 22px; }
  .hh__side dl { grid-template-columns: 1fr; }
}
.rg .eyebrow::before { background: #fff; }
/* Footer: one tidy credentials card */
.ft2-trust { margin-top: 22px; border-radius: 22px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09); overflow: hidden; max-width: 380px; }
.ft2-trust__row { display: grid; }
.ft2-trust__i { display: flex; align-items: center; gap: 14px; padding: 14px 18px; color: #fff; text-decoration: none; transition: background .3s; }
.ft2-trust__i + .ft2-trust__i { border-top: 1px solid rgba(255,255,255,.08); }
a.ft2-trust__i:hover { background: rgba(255,255,255,.05); }
.ft2-trust__i img { width: 30px; height: auto; flex: none; border-radius: 3px; }
.ft2-trust__rera { width: 30px; height: 30px; flex: none; display: grid; place-items: center; border-radius: 9px; background: rgba(34,197,94,.14); color: #4ade80; }
.ft2-trust__rera svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ft2-trust__i b { display: block; font-size: 14px; }
.ft2-trust__i small { display: block; font-size: 12px; color: rgba(255,255,255,.55); }
.ft2-trust__soc { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px 12px 18px; border-top: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.02); }
.ft2-trust__soc > span { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.ft2-trust .ft2-soc { margin: 0; gap: 6px; }
.ft2-trust .ft2-soc a { width: 36px; height: 36px; }

/* ===== Mega menu v3: icons, numbered columns, stagger, help bar ===== */
.nav__mega { background: rgba(255,255,255,.97); backdrop-filter: blur(18px) saturate(1.4); padding: 12px; gap: 12px; border-radius: 28px; box-shadow: 0 50px 100px -40px rgba(13,13,15,.45), 0 0 0 1px rgba(13,13,15,.06); }
.nav__mega.has-ft { grid-template-columns: minmax(0, 1fr) 290px; }
.nav__mega .nav__cols { padding: 18px 14px 8px; gap: 6px 18px; }
.nav__mega p { gap: 10px; margin: 0 0 10px; padding: 0 10px; font-size: 11px; color: var(--muted); }
.nav__mega p::before { display: none; }
.nav__mega p b { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 18px; letter-spacing: 0; color: var(--red); text-transform: none; line-height: 1; }
.nav__mega .nav__cols a { gap: 12px; padding: 7px 10px 7px 7px; border-radius: 14px; font-size: 14.5px; }
.nav__ic { width: 32px; height: 32px; flex: none; display: grid; place-items: center; border-radius: 10px; background: #f4f2ec; color: var(--ink-2); transition: background .25s, color .25s, transform .35s var(--ease); }
.nav__ic svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nav__mega .nav__cols a:hover { background: #faf8f4; }
.nav__mega .nav__cols a:hover .nav__ic { background: var(--red); color: #fff; transform: rotate(-6deg) scale(1.05); }
.nav__dd--mega.open .nav__cols a { animation: navIn .45s calc(var(--c) * .05s + var(--l) * .025s) var(--ease) both; }
@keyframes navIn { from { opacity: 0; transform: translateY(8px); } }
.nav__ft { position: relative; border-radius: 20px; overflow: hidden; min-height: 100%; }
.nav__ft img { transition: transform 1.2s var(--ease); }
.nav__dd--mega.open .nav__ft img { transform: scale(1.06); }
.nav__ft-k { position: absolute; left: 16px; top: 16px; z-index: 2; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #fff; padding: 6px 11px; border-radius: 999px; background: rgba(255,255,255,.16); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.25); }
.nav__bar { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 12px; border-radius: 18px; background: #f4f2ec; font-size: 13.5px; }
.nav__bar > span { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); margin-right: 6px; }
.nav__bar > span i { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; animation: lpPing 2s infinite; }
.nav__bar a { padding: 8px 14px; border-radius: 999px; background: #fff; color: var(--ink); font-weight: 700; text-decoration: none; box-shadow: 0 0 0 1px var(--line); transition: background .25s, color .25s; }
.nav__bar a:hover { background: var(--ink); color: #fff; }
.nav__bar .nav__bar-all { margin-left: auto; background: var(--red); color: #fff; box-shadow: none; }
.nav__bar .nav__bar-all:hover { background: var(--ink); }
.nav__ft-k { font-style: normal; right: auto; bottom: auto; }
.nav__mega { background: #fff; }
.nav__mega.has-ft { grid-template-columns: minmax(0, 1fr) 280px; grid-template-rows: 1fr auto; }
.nav__mega .nav__bar { display: flex !important; flex-direction: row; grid-column: 1 / -1; }
.nav__mega .nav__bar a { display: inline-flex; padding: 8px 14px; font-size: 13.5px; width: auto; }
.nav__mega .nav__bar a::after { display: none; }
.nav__mega .nav__cols a span { line-height: 1.25; }

/* ===== Services hero v2 (sx2-): dark, expanding image panels ===== */
.sx2 { position: relative; background: #0b0b0d; color: #fff; padding: calc(var(--hdr) + 24px) 0 clamp(48px, 6vw, 80px); overflow: clip; }
.sx2::before { content: ""; position: absolute; right: -15%; top: -40%; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.22), transparent 62%); pointer-events: none; }
.sx2__top { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 80px); align-items: end; margin-bottom: clamp(30px, 4vw, 48px); }
.sx2__k { display: inline-flex; align-items: center; gap: 10px; margin: 6px 0 18px; padding: 6px 14px 6px 6px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); font-size: 13px; font-weight: 700; color: rgba(255,255,255,.85); }
.sx2__k span { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--red); color: #fff; }
.sx2__h { font-size: clamp(48px, 7vw, 112px); line-height: .92; letter-spacing: -.055em; font-weight: 800; margin: 0; }
.sx2__h em { display: block; font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--red); letter-spacing: -.02em; }
.sx2__side > p { color: rgba(255,255,255,.7); font-size: 17px; margin: 0 0 18px; }
.sx-who--dark a { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); color: #fff; }
.sx-who--dark a:hover { background: #fff; color: var(--ink); border-color: #fff; }
.sx2__rail { position: relative; display: flex; gap: 10px; height: clamp(380px, 46vw, 540px); }
.sx2__p { position: relative; flex: 1 1 0; min-width: 0; border-radius: 26px; overflow: hidden; color: #fff; text-decoration: none; isolation: isolate; transition: flex-grow .8s var(--ease); }
.sx2__p.is-on { flex-grow: 5; }
.sx2__p img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; filter: grayscale(.6) brightness(.6); transform: scale(1.12); transition: filter .8s, transform 1.4s var(--ease); }
.sx2__p.is-on img { filter: none; transform: scale(1); }
.sx2__p::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(11,11,13,.9) 0%, rgba(11,11,13,.2) 55%, rgba(11,11,13,.35) 100%); }
.sx2__n { position: absolute; left: 50%; top: 18px; translate: -50% 0; font-family: var(--serif); font-style: italic; font-size: 22px; opacity: .8; transition: left .6s var(--ease), translate .6s var(--ease); }
.sx2__p.is-on .sx2__n { left: 24px; translate: 0 0; }
.sx2__ic { position: absolute; left: 50%; bottom: 76px; translate: -50% 0; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.14); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.2); transition: opacity .3s, background .4s; }
.sx2__ic svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sx2__p.is-on .sx2__ic { opacity: 0; }
.sx2__t { position: absolute; left: 50%; bottom: 26px; translate: -50% 0; font-weight: 800; font-size: 14px; white-space: nowrap; writing-mode: vertical-rl; transform: rotate(180deg); bottom: 136px; letter-spacing: .04em; transition: opacity .3s; }
.sx2__p.is-on .sx2__t { opacity: 0; }
.sx2__b { position: absolute; left: 26px; right: 26px; bottom: 30px; display: grid; gap: 8px; opacity: 0; transform: translateY(14px); transition: opacity .4s, transform .6s var(--ease); pointer-events: none; }
.sx2__p.is-on .sx2__b { opacity: 1; transform: none; transition-delay: .35s; }
.sx2__b b { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: clamp(40px, 4.4vw, 64px); line-height: 1; }
.sx2__b small { font-size: 16px; color: rgba(255,255,255,.8); max-width: 420px; line-height: 1.45; }
.sx2__b i { font-style: normal; font-weight: 800; font-size: 14px; width: fit-content; margin-top: 6px; padding: 10px 16px; border-radius: 999px; background: var(--red); }
.sx2__bar { position: absolute; left: 26px; right: 26px; bottom: 14px; height: 3px; border-radius: 3px; background: rgba(255,255,255,.18); overflow: hidden; opacity: 0; }
.sx2__p.is-on .sx2__bar { opacity: 1; }
.sx2__bar i { display: block; height: 100%; width: 0; background: #fff; }
.sx2__p.is-on.is-run .sx2__bar i { animation: sx2Bar 4.2s linear forwards; }
@keyframes sx2Bar { to { width: 100%; } }
@media (max-width: 1000px) { .sx2__top { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .sx2__rail { flex-direction: column; height: auto; gap: 8px; }
  .sx2__p { flex: none; height: 64px; transition: height .7s var(--ease); }
  .sx2__p.is-on { height: 360px; }
  .sx2__t { writing-mode: horizontal-tb; transform: none; left: 70px; translate: 0 0; bottom: auto; top: 20px; font-size: 16px; }
  .sx2__n { left: 22px; translate: 0 0; top: 18px; }
  .sx2__ic { left: auto; right: 12px; translate: 0 0; bottom: auto; top: 9px; }
  .sx2__b { left: 20px; right: 20px; bottom: 26px; }
}
@media (prefers-reduced-motion: reduce) { .sx2__p, .sx2__p img { transition: none; } }
.sx2__rail { height: clamp(340px, 38vw, 460px); } @media (max-width: 760px) { .sx2__rail { height: auto; } }

/* ===== Careers comparison v2 (rg2-): interactive, on red ===== */
.rg2 { background: var(--red); color: #fff; padding: clamp(72px, 9vw, 120px) 0; position: relative; overflow: clip; }
.rg2::before { content: ""; position: absolute; left: -12%; top: -30%; width: 60%; aspect-ratio: 1; border-radius: 50%; border: 90px solid rgba(255,255,255,.07); pointer-events: none; }
.rg2 .eyebrow::before { background: #fff; }
.rg2 .h2 em { color: #fff; }
.rg2__head { position: relative; display: grid; grid-template-columns: 1fr minmax(0, 440px); gap: 40px; align-items: end; margin-bottom: 30px; }
.rg2__head > p { color: rgba(255,255,255,.85); margin: 0; }
.rg2__tabs { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.rg2__tabs button { font: inherit; text-align: left; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 22px; border-radius: 20px; border: 1px solid rgba(255,255,255,.25); background: rgba(0,0,0,.12); color: #fff; cursor: pointer; transition: background .3s, color .3s, transform .3s var(--ease); }
.rg2__tabs button:hover { transform: translateY(-2px); }
.rg2__tabs small { font-size: 14px; font-weight: 700; }
.rg2__tabs b { font-size: 26px; letter-spacing: -.03em; }
.rg2__tabs button.is-on { background: #fff; color: var(--ink); border-color: #fff; }
.rg2__tabs button.is-on b { color: var(--red); }
.rg2__board { position: relative; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 0; border-radius: 30px; background: #fff; color: var(--ink); overflow: hidden; box-shadow: 0 60px 120px -50px rgba(80,0,0,.6); }
.rg2__big { display: grid; align-content: center; justify-items: start; gap: 18px; padding: clamp(26px, 3vw, 40px); background: var(--ink); color: #fff; }
.rg2__ring { position: relative; width: clamp(150px, 15vw, 200px); aspect-ratio: 1; }
.rg2__ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.rg2__rbg { fill: none; stroke: rgba(255,255,255,.12); stroke-width: 9; }
.rg2__rfg { fill: none; stroke: var(--red); stroke-width: 9; stroke-linecap: round; stroke-dasharray: 0 100; transition: stroke-dasharray 1.1s var(--ease); filter: drop-shadow(0 0 8px rgba(244,59,47,.6)); }
.rg2__ring b { position: absolute; inset: 0; display: grid; place-items: center; font-size: clamp(38px, 4vw, 54px); letter-spacing: -.04em; }
.rg2__lbl { margin: 0 0 6px; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.rg2__line { margin: 0; font-size: 17px; line-height: 1.5; color: rgba(255,255,255,.88); max-width: 380px; }
.rg2__rows { list-style: none; margin: 0; padding: clamp(18px, 2.4vw, 30px); display: grid; gap: 6px; align-content: center; }
.rg2__rows li { display: grid; grid-template-columns: minmax(150px, 210px) 1fr 104px; align-items: center; gap: 16px; padding: 14px 14px; border-radius: 18px; transition: background .3s; }
.rg2__rows li:hover { background: #faf8f4; }
.rg2__rows li.is-cba { background: #fdecea; }
.rg2__n { display: flex; align-items: center; gap: 12px; min-width: 0; }
.rg2__n i { width: 34px; height: 34px; flex: none; border-radius: 10px; display: grid; place-items: center; font-style: normal; font-weight: 800; background: #f1efe9; color: var(--muted); }
.rg2__n img { border-radius: 10px; flex: none; }
.rg2__n b { display: block; font-size: 15px; }
.rg2__n small { font-size: 12px; color: var(--muted); }
.rg2__bar { height: 14px; border-radius: 14px; background: #f1efe9; overflow: hidden; }
.rg2__bar i { display: block; height: 100%; width: 0; border-radius: 14px; background: #c9c5bb; transition: width 1s calc(var(--i) * .07s) var(--ease); }
.rg2__rows li.is-cba .rg2__bar i { background: linear-gradient(90deg, #ff7b6c, var(--red)); }
.rg2__v { text-align: right; font-weight: 800; font-size: 16px; letter-spacing: -.02em; }
.rg2__rows li.is-cba .rg2__v { color: var(--red); font-size: 18px; }
.rg2__year { position: relative; margin-top: 14px; padding: 22px 26px; border-radius: 26px; background: rgba(0,0,0,.14); }
.rg2__yh { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
.rg2__yh p { margin: 0; color: rgba(255,255,255,.75); font-size: 14px; }
.rg2__yh p b { color: #fff; font-size: 17px; margin-right: 10px; }
.rg2__yh > span { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: rgba(255,255,255,.8); }
.rg2__key { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.45); }
.rg2__key--cba { background: #fff; margin-left: 10px; }
.rg2__dots { display: grid; gap: 10px; }
.rg2__dots > div { display: grid; grid-template-columns: 120px 1fr 52px; align-items: center; gap: 14px; }
.rg2__dots small { font-size: 13px; font-weight: 700; color: rgba(255,255,255,.8); }
.rg2__dots b { text-align: right; font-size: 20px; }
.rg2__dots span { display: flex; flex-wrap: wrap; gap: 6px; }
.rg2__dots span i { width: 18px; height: 18px; border-radius: 50%; background: rgba(255,255,255,.4); transform: scale(0); transition: transform .4s cubic-bezier(.3,1.6,.5,1); }
.rg2__dots .is-cba span i { background: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.18); }
.rg2__dots.is-in span i { transform: scale(1); }
.rg2__note { position: relative; margin: 16px 0 0; font-size: 12.5px; color: rgba(255,255,255,.7); }
@media (max-width: 1000px) { .rg2__head, .rg2__board { grid-template-columns: 1fr; } .rg2__big { grid-template-columns: auto 1fr; align-items: center; } }
@media (max-width: 640px) {
  .rg2__tabs { grid-template-columns: 1fr; }
  .rg2__tabs button { padding: 14px 18px; }
  .rg2__big { grid-template-columns: 1fr; }
  .rg2__rows li { grid-template-columns: 1fr auto; row-gap: 8px; padding: 12px; }
  .rg2__bar { grid-column: 1 / -1; grid-row: 2; }
  .rg2__dots > div { grid-template-columns: 1fr auto; }
  .rg2__dots span { grid-column: 1 / -1; grid-row: 2; }
  .rg2__dots span i { width: 14px; height: 14px; }
}
.rg2__rfg { filter: none; }
@media (max-width: 640px) {
  .rg2__tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .rg2__tabs button { flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px; border-radius: 16px; }
  .rg2__tabs small { font-size: 11.5px; line-height: 1.2; }
  .rg2__tabs b { font-size: 20px; }
}
/* Careers comparison: dark instead of all-red, red as the accent */
.rg2 { background: #0b0b0d; }
.rg2::before { border-color: rgba(244,59,47,.10); }
.rg2::after { content: ""; position: absolute; right: -10%; top: -30%; width: 55%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.22), transparent 62%); pointer-events: none; }
.rg2 .eyebrow::before { background: var(--red); }
.rg2 .h2 em { color: var(--red); }
.rg2__head > p { color: rgba(255,255,255,.65); }
.rg2__tabs button { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); }
.rg2__tabs button:not(.is-on) b { color: var(--red); }
.rg2__big { background: #151518; border-right: 1px solid rgba(255,255,255,.06); }
.rg2__year { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); }
.rg2__dots span i { background: rgba(255,255,255,.28); }
.rg2__dots .is-cba span i { background: var(--red); box-shadow: 0 0 0 3px rgba(244,59,47,.2); }
.rg2__key { background: rgba(255,255,255,.35); } .rg2__key--cba { background: var(--red); }
.rg2__note { color: rgba(255,255,255,.5); }

/* Home review bubbles v2: faster, springier, with a typing dot, avatar and progress line */
.lx-bub { padding: 14px 16px 14px; border-radius: 20px; background: rgba(255,255,255,.94); box-shadow: 0 30px 60px -24px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.6) inset; transform: translateY(18px) scale(.82); opacity: 0; transform-origin: var(--o); transition: opacity .35s, transform .55s cubic-bezier(.3,1.5,.5,1); overflow: hidden; }
.lx-bub.is-on { opacity: 1; transform: none; }
.lx-bub.is-out { opacity: 0; transform: translateY(-10px) scale(.96); transition: opacity .3s, transform .35s; }
.lx-bub::before { content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: linear-gradient(90deg, var(--red), #ff8a7a); transform-origin: left; transform: scaleX(0); }
.lx-bub.is-on::before { animation: bubBar 4.2s linear forwards; }
@keyframes bubBar { to { transform: scaleX(1); } }
.lx-bub blockquote { font-style: normal; font-size: 14px; color: var(--ink); }
.lx-bub figcaption { gap: 9px; }
.lx-bub__av { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: #fff; font-size: 12px; font-weight: 800; flex: none; }
.lx-bub.is-on blockquote { animation: bubTxt .5s .15s var(--ease) both; }
@keyframes bubTxt { from { opacity: 0; transform: translateY(6px); } }

/* ===== Careers: where are you now (cw-) ===== */
.cw { padding: clamp(72px, 9vw, 120px) 0; background: #f4f2ec; }
.cw__head { display: grid; grid-template-columns: 1fr minmax(0, 400px); gap: 40px; align-items: end; margin-bottom: 28px; }
.cw__head > p { color: var(--muted); margin: 0; }
.cw__pick { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
.cw__pick button { font: inherit; text-align: left; display: grid; gap: 2px; padding: 16px 18px; border-radius: 20px; border: 1px solid var(--line); background: #fff; cursor: pointer; transition: background .3s, color .3s, transform .3s var(--ease), box-shadow .3s; }
.cw__pick button:hover { transform: translateY(-2px); box-shadow: 0 20px 40px -28px rgba(0,0,0,.4); }
.cw__pick b { font-size: 16px; }
.cw__pick small { font-size: 13px; color: var(--muted); }
.cw__pick button.is-on { background: var(--ink); color: #fff; border-color: var(--ink); }
.cw__pick button.is-on small { color: rgba(255,255,255,.6); }
.cw__grid { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: stretch; }
.cw__col { border-radius: 28px; padding: 24px; }
.cw__col--now { background: #fff; box-shadow: 0 0 0 1px var(--line); }
.cw__col--cba { background: var(--ink); color: #fff; position: relative; overflow: hidden; }
.cw__col--cba::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.4), transparent 65%); pointer-events: none; }
.cw__ch { margin: 0 0 14px; display: grid; }
.cw__ch span { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.cw__col--cba .cw__ch span { color: var(--red); }
.cw__ch b { font-size: 22px; letter-spacing: -.02em; }
.cw__col ul { list-style: none; margin: 0; padding: 0; display: grid; }
.cw__col li { position: relative; display: grid; grid-template-columns: 96px 1fr auto; gap: 12px; align-items: start; padding: 14px 0; border-top: 1px solid var(--line); }
.cw__col--cba li { border-color: rgba(255,255,255,.1); }
.cw__col li small { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding-top: 2px; }
.cw__col li > span { font-size: 15px; line-height: 1.45; color: var(--ink-2); }
.cw__col--now li > span { color: var(--muted); }
.cw__col--cba li > span { color: rgba(255,255,255,.7); }
.cw__col--cba li > span b { display: block; color: #fff; font-size: 16px; margin-bottom: 2px; }
.cw__ok { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: #22c55e; color: #04210f; font-style: normal; font-size: 12px; font-weight: 900; }
.cw__col--now.is-swap li > span { animation: cwSwap .5s calc(var(--i) * .05s) var(--ease) both; }
.cw__col--cba.is-swap li { animation: cwPop .6s calc(var(--i) * .06s + .15s) var(--ease) both; }
@keyframes cwSwap { from { opacity: 0; transform: translateX(-10px); } }
@keyframes cwPop { from { opacity: .3; transform: translateX(12px); } }
.cw__arrow { align-self: center; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--red); color: #fff; font-size: 22px; box-shadow: 0 14px 30px -12px rgba(244,59,47,.7); }
.cw__cta { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 22px; }
.cw__cta span { color: var(--muted); font-size: 14px; }
@media (max-width: 1000px) { .cw__head { grid-template-columns: 1fr; gap: 12px; } .cw__pick { grid-template-columns: repeat(2, 1fr); } .cw__grid { grid-template-columns: 1fr; } .cw__arrow { justify-self: center; transform: rotate(90deg); margin: -26px 0; position: relative; z-index: 1; } }
@media (max-width: 560px) { .cw__col li { grid-template-columns: 1fr auto; row-gap: 4px; } .cw__col li small { grid-column: 1 / -1; } .cw__col { padding: 20px; } }
@media (min-width: 561px) { .cw__col li { min-height: 98px; align-items: center; } }
.cw__no { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: #f1efe9; color: var(--muted); font-style: normal; font-weight: 900; }
/* Bubbles v3: one at a time in random top spots, gentle float */
.lx-bub--f { right: auto; width: min(300px, 23vw); translate: -50% 0; --o: 50% 100%; }
.lx-bub--f::after { left: 50%; right: auto; margin-left: -10px; clip-path: polygon(0 0, 100% 0, 50% 100%); }
.lx-bub--f.is-on { animation: bubFloat 4.3s ease-in-out both; }
@keyframes bubFloat { 0% { translate: -50% 0; } 100% { translate: calc(-50% + var(--dx, 0px)) -10px; } }
.lx-bub--f::before { animation-duration: 4.3s !important; }

/* ===== Careers: where are you now v2 (cw2-) — lead rain + flip cards ===== */
.cw2 { position: relative; background: #0b0b0d; color: #fff; padding: clamp(72px, 9vw, 130px) 0; overflow: clip; }
.cw2::before { content: ""; position: absolute; left: 50%; top: 30%; width: 80%; aspect-ratio: 2; translate: -50% 0; background: radial-gradient(closest-side, rgba(244,59,47,.18), transparent); pointer-events: none; }
.cw2__head { position: relative; display: grid; grid-template-columns: 1fr minmax(0, 420px); gap: 40px; align-items: end; margin-bottom: 28px; }
.cw2__head > p { color: rgba(255,255,255,.65); margin: 0; }
.cw2__pick { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
.cw2__pick button { font: inherit; color: #fff; text-align: left; display: grid; grid-template-columns: 46px 1fr; column-gap: 14px; align-items: center; padding: 14px 16px; border-radius: 22px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); cursor: pointer; transition: background .35s, border-color .35s, transform .35s var(--ease), box-shadow .35s; }
.cw2__pick button:hover { transform: translateY(-3px); border-color: rgba(255,255,255,.25); }
.cw2__pic { grid-row: span 2; width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: rgba(255,255,255,.08); transition: background .35s, transform .5s cubic-bezier(.3,1.6,.5,1); }
.cw2__pic svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.cw2__pick b { font-size: 15.5px; }
.cw2__pick small { font-size: 12.5px; color: rgba(255,255,255,.5); }
.cw2__pick button.is-on { background: #fff; color: var(--ink); border-color: #fff; box-shadow: 0 24px 50px -24px rgba(244,59,47,.6); }
.cw2__pick button.is-on small { color: var(--muted); }
.cw2__pick button.is-on .cw2__pic { background: var(--red); color: #fff; transform: rotate(-8deg) scale(1.06); }

.cw2__stage { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; margin-bottom: 26px; }
.cw2__world { position: relative; border-radius: 30px; padding: 22px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.08); overflow: hidden; }
.cw2__world--cba { background: linear-gradient(160deg, rgba(244,59,47,.16), rgba(255,255,255,.03) 60%); border-color: rgba(244,59,47,.35); }
.cw2__wt { margin: 0 0 12px; display: grid; }
.cw2__wt span { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.45); }
.cw2__world--cba .cw2__wt span { color: var(--red); }
.cw2__wt b { font-size: 20px; }
.cw2__field { position: relative; height: 230px; border-radius: 20px; background: radial-gradient(120% 100% at 50% 0%, rgba(255,255,255,.06), transparent 60%); }
.cw2__src { position: absolute; left: 50%; top: 8px; translate: -50% 0; font-size: 10.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.45); padding: 4px 10px; border-radius: 999px; border: 1px dashed rgba(255,255,255,.2); }
.cw2__ag { position: absolute; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: rgba(255,255,255,.22); transition: left .8s var(--ease), top .8s var(--ease), background .3s, transform .3s; }
.cw2__ag.is-you { width: 26px; height: 26px; margin: -13px 0 0 -13px; background: #fff; box-shadow: 0 0 0 6px rgba(255,255,255,.12); z-index: 2; }
.cw2__ag.is-you::after { content: "You"; position: absolute; left: 50%; top: 100%; translate: -50% 6px; font-size: 11px; font-weight: 800; color: #fff; white-space: nowrap; }
.cw2__world--cba .cw2__ag.is-you { background: var(--red); box-shadow: 0 0 0 8px rgba(244,59,47,.2); }
.cw2__ag.is-hit { transform: scale(1.5); background: #4ade80; }
.cw2__ag.is-you.is-hit { transform: scale(1.25); }
.cw2__lead { position: absolute; left: 50%; top: 22px; width: 9px; height: 9px; margin-left: -4.5px; border-radius: 50%; background: #fbbf24; box-shadow: 0 0 12px rgba(251,191,36,.8); pointer-events: none; transition: left .9s cubic-bezier(.4,.1,.3,1), top .9s cubic-bezier(.5,0,.6,1), opacity .3s; z-index: 3; }
.cw2__cap { margin: 12px 0 0; font-size: 14.5px; color: rgba(255,255,255,.7); min-height: 42px; }
.cw2__cap b { color: #fff; }
.cw2__vs { display: grid; justify-items: center; align-content: center; gap: 10px; }
.cw2__vs i { width: 1px; height: 80px; background: linear-gradient(transparent, rgba(255,255,255,.25), transparent); }
.cw2__vs b { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--red); font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 20px; box-shadow: 0 0 0 8px rgba(244,59,47,.15); }

.cw2__flipbar { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 18px; flex-wrap: wrap; margin-bottom: 14px; }
.cw2__flipbar p { margin: 0; color: rgba(255,255,255,.65); font-size: 15px; }
.cw2__flipbar p b { font-size: 26px; color: #fff; margin-right: 2px; }
.cw2__switch { font: inherit; display: inline-flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 999px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.05); color: #fff; cursor: pointer; }
.cw2__switch span { font-weight: 800; font-size: 14px; padding: 0 6px; opacity: .5; transition: opacity .3s; }
.cw2__switch span:first-child { opacity: 1; }
.cw2__switch i { position: relative; width: 64px; height: 34px; border-radius: 999px; background: rgba(255,255,255,.15); transition: background .4s; }
.cw2__switch i::after { content: ""; position: absolute; left: 4px; top: 4px; width: 26px; height: 26px; border-radius: 50%; background: #fff; transition: transform .5s cubic-bezier(.3,1.5,.5,1); }
.cw2__switch[aria-pressed="true"] i { background: var(--red); }
.cw2__switch[aria-pressed="true"] i::after { transform: translateX(30px); }
.cw2__switch[aria-pressed="true"] span:first-child { opacity: .5; }
.cw2__switch[aria-pressed="true"] span:last-child { opacity: 1; }

.cw2__cards { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.cw2__card { font: inherit; color: inherit; text-align: left; border: 0; padding: 0; background: none; cursor: pointer; perspective: 1200px; min-height: 178px; }
.cw2__in { position: relative; display: block; width: 100%; height: 100%; min-height: 178px; transform-style: preserve-3d; transition: transform .8s cubic-bezier(.3,1.2,.4,1); transition-delay: calc(var(--i) * .07s); }
.cw2__card.is-flip .cw2__in { transform: rotateY(180deg); }
.cw2__face { position: absolute; inset: 0; display: flex; flex-direction: column; gap: 8px; padding: 22px; border-radius: 24px; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.cw2__face small { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cw2__face--now { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); }
.cw2__face--now small { color: rgba(255,255,255,.45); }
.cw2__face--now b { font-size: 18px; font-weight: 600; line-height: 1.35; color: rgba(255,255,255,.8); }
.cw2__face--now i { margin-top: auto; font-style: normal; font-size: 12.5px; color: rgba(255,255,255,.4); }
.cw2__face--cba { transform: rotateY(180deg); background: #fff; color: var(--ink); box-shadow: 0 30px 60px -30px rgba(244,59,47,.6); }
.cw2__face--cba small { color: var(--red); }
.cw2__face--cba b { font-size: 20px; letter-spacing: -.02em; }
.cw2__face--cba em { font-style: normal; font-size: 14px; color: var(--ink-2); line-height: 1.45; }
.cw2__ok { position: absolute; right: 18px; top: 18px; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #22c55e; color: #04210f; font-style: normal; font-weight: 900; }
.cw2__card.is-swap .cw2__face--now b { animation: cwSwap .5s var(--ease) both; }
.cw2__cta { position: relative; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 26px; }
.cw2__cta span { color: rgba(255,255,255,.55); font-size: 14px; }
@media (max-width: 1000px) { .cw2__head { grid-template-columns: 1fr; gap: 12px; } .cw2__pick { grid-template-columns: repeat(2, 1fr); } .cw2__cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) {
  .cw2__stage { grid-template-columns: 1fr; }
  .cw2__vs { grid-auto-flow: column; } .cw2__vs i { width: 60px; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent); }
  .cw2__field { height: 190px; }
  .cw2__pick button { grid-template-columns: 1fr; row-gap: 8px; padding: 14px; } .cw2__pic { grid-row: auto; }
  .cw2__cards { grid-template-columns: 1fr; }
  .cw2__card, .cw2__in { min-height: 150px; }
}
@media (prefers-reduced-motion: reduce) { .cw2__in { transition: none; } }
.cw2__cnt { position: absolute; right: 12px; bottom: 12px; font-size: 12.5px; color: rgba(255,255,255,.6); padding: 6px 12px; border-radius: 999px; background: rgba(0,0,0,.35); border: 1px solid rgba(255,255,255,.1); }
.cw2__cnt b { color: #fff; font-size: 15px; margin-right: 3px; }
.cw2__cnt--cba { background: rgba(244,59,47,.18); border-color: rgba(244,59,47,.4); }
.cw2__cnt.is-bump b { display: inline-block; animation: lpFlip .4s var(--ease); }
@media (max-width: 700px) { .cw2__cnt { top: 8px; bottom: auto; right: 8px; font-size: 11.5px; padding: 4px 9px; } .cw2__src { left: 10px; translate: 0 0; } }
.lx-bub::before { display: none !important; }
.lx-bub::after { display: none !important; }
/* Home reviews: equal cards, long reviews clamp with Read more */
.lx-reviews .rail--reviews { align-items: stretch; }
.lx-review { display: flex !important; flex-direction: column; gap: 14px; height: 330px; padding: 24px !important; border-radius: 24px !important; }
.lx-review .stars { display: flex; align-items: center; gap: 2px; }
.lx-review .stars img { margin-left: auto; }
.lx-review blockquote { margin: 0; font-size: 15px; line-height: 1.6; color: var(--ink-2); display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden; }
.lx-review.is-open { height: auto; }
.lx-review.is-open blockquote { -webkit-line-clamp: unset; display: block; }
.lx-review__more { align-self: flex-start; margin-top: -6px; font: inherit; font-size: 13px; font-weight: 800; color: var(--red); background: none; border: 0; padding: 0; cursor: pointer; }
.lx-review figcaption { margin-top: auto; display: grid !important; grid-template-columns: 34px 1fr; column-gap: 10px; align-items: center; }
.lx-review__av { grid-row: span 2; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: #fff; font-weight: 800; font-size: 14px; }
.lx-review figcaption b { font-size: 14.5px; }
.lx-review figcaption > span:last-child { font-size: 12.5px; color: var(--muted); }
/* Card rows fit the page width exactly: whole cards only, no half card hanging off the right edge */
.rail:not(.rail--team) { --rw: calc(min(100vw, 1320px) - 2 * var(--gut)); grid-auto-columns: calc((var(--rw) - 2 * 20px) / 3); }
.rail--team { --rw: calc(min(100vw, 1320px) - 2 * var(--gut)); grid-auto-columns: calc((var(--rw) - 4 * 20px) / 5); }
.lx-areas.rail { grid-auto-columns: calc((var(--rw) - 3 * 16px) / 4); }
@media (max-width: 1100px) { .rail:not(.rail--team), .lx-areas.rail { grid-auto-columns: calc((var(--rw) - 20px) / 2); } .rail--team { grid-auto-columns: calc((var(--rw) - 2 * 20px) / 3); } }
@media (max-width: 700px) { .rail:not(.rail--team), .lx-areas.rail { grid-auto-columns: 84vw; } .rail--team { grid-auto-columns: 62vw; } }
.rail { margin-inline: max(var(--gut), calc((100vw - 1320px) / 2 + var(--gut))); padding-left: 0; padding-right: 0; scroll-padding: 0; }
@media (max-width: 700px) { .rail { margin-inline: 0; padding-left: var(--gut); padding-right: var(--gut); scroll-padding: 0 var(--gut); } }
.cw2__ads { position: absolute; left: 50%; top: 8px; translate: -50% 0; font-size: 10.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #fca5a5; padding: 4px 10px; border-radius: 999px; border: 1px dashed rgba(252,165,165,.5); white-space: nowrap; }
.cw2__coin { position: absolute; margin: -9px 0 0 -18px; font-style: normal; font-size: 10px; font-weight: 900; color: #fff; background: #ef4444; padding: 3px 6px; border-radius: 999px; z-index: 3; pointer-events: none; transition: left .9s cubic-bezier(.4,.1,.3,1), top .9s cubic-bezier(.5,0,.6,1), opacity .3s; box-shadow: 0 0 10px rgba(239,68,68,.7); }
.cw2__lead--bad { background: #6b7280; box-shadow: none; width: 14px; height: 14px; margin-left: -7px; font-style: normal; font-size: 9px; font-weight: 900; color: #fff; display: grid; place-items: center; line-height: 1; }
.cw2__spend { position: absolute; right: 12px; bottom: 12px; display: grid; grid-template-columns: auto auto; column-gap: 10px; align-items: baseline; padding: 8px 12px; border-radius: 14px; background: rgba(0,0,0,.4); border: 1px solid rgba(239,68,68,.4); }
.cw2__spend small { font-size: 11.5px; color: rgba(255,255,255,.6); }
.cw2__spend b { font-size: 15px; text-align: right; }
.cw2__spend b[data-cw2-spend] { color: #fca5a5; }
.cw2__spend[hidden], .cw2__ads[hidden], .cw2__cnt[hidden], .cw2__src[hidden] { display: none; }
@media (max-width: 700px) { .cw2__spend { top: 8px; bottom: auto; right: 8px; padding: 6px 10px; } .cw2__ads { left: 10px; translate: 0 0; } }
.cw2__buyer { position: absolute; width: 16px; height: 16px; margin: -8px 0 0 -8px; border-radius: 50%; background: #9ca3af; z-index: 3; pointer-events: none; transition: left .9s cubic-bezier(.4,.1,.3,1), top .9s cubic-bezier(.5,0,.6,1), opacity .4s, background .3s; }
.cw2__buyer::after { content: "Not qualified"; position: absolute; left: 50%; bottom: 100%; translate: -50% -6px; white-space: nowrap; font-style: normal; font-size: 10.5px; font-weight: 800; color: #fff; background: #4b5563; padding: 3px 8px; border-radius: 999px; opacity: 0; transform: translateY(4px); transition: opacity .25s, transform .3s; }
.cw2__buyer.is-no { background: #6b7280; }
.cw2__buyer.is-no::after { opacity: 1; transform: none; }
.cw2__buyer.is-go { transition-duration: 1.1s; opacity: 0; }
.cw2__spend b[data-cw2-good] { color: #d1d5db; }
/* Leadership letters: photo as tall as the story, stays in view while you read */
.ldr__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: start; }
.ldr__ph { position: sticky; top: calc(var(--hdr) + 24px); aspect-ratio: auto; height: min(calc(100vh - var(--hdr) - 48px), 860px); min-height: 520px; box-shadow: 0 50px 100px -50px rgba(13,13,15,.55); }
.ldr__ph img { transition: transform 1.6s var(--ease); }
.ldr__ph:hover img { transform: scale(1.03); }
.ldr__ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(11,11,13,.55), transparent 40%); pointer-events: none; }
.ldr__ph figcaption { z-index: 1; }
.ldr__sign { height: auto; width: min(300px, 70%); margin: 30px 0 2px; opacity: .92; }
.ldr__who { padding-top: 10px; border-top: 1px solid var(--line); max-width: 420px; }
@media (max-width: 900px) { .ldr__in { grid-template-columns: 1fr; } .ldr__ph { position: relative; top: 0; height: auto; min-height: 0; aspect-ratio: 4 / 5; } .ldr--flip .ldr__ph { order: 0; } }
/* Leadership v4: credentials, letter label, Yelena's story, private clients */
.ld4-creds { list-style: none; padding: 0; margin: 26px 0 30px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ld4-creds li { padding: 20px 22px; border-radius: 20px; background: #f6f5f2; border: 1px solid var(--line); display: flex; flex-direction: column; gap: 6px; }
.ld4-creds li:first-child { background: var(--ink); color: #fff; border-color: var(--ink); }
.ld4-creds b { font-size: clamp(30px, 3vw, 42px); letter-spacing: -.04em; line-height: 1; }
.ld4-creds b small { font-size: 15px; letter-spacing: 0; font-weight: 600; color: var(--red); }
.ld4-creds span { font-size: 14px; line-height: 1.45; color: var(--muted); }
.ld4-creds li:first-child span { color: rgba(255,255,255,.7); }
.ld4-letter { font-size: 12px !important; letter-spacing: .18em; text-transform: uppercase; color: var(--red) !important; font-weight: 700; margin: 8px 0 6px; }
.ld4-since { position: absolute; top: 78px; left: 18px; z-index: 1; background: var(--ink); color: #fff; border-radius: 18px; padding: 12px 16px; display: flex; flex-direction: column; font-size: 12px; line-height: 1.2; }
.ld4-since b { font-size: 34px; letter-spacing: -.04em; line-height: 1; }
.ld4-ystory p { font-size: 17px; line-height: 1.7; color: #3b3b40; margin: 0 0 14px; max-width: 60ch; }
.ld4-chap { list-style: none; padding: 0; margin: 26px 0 30px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 2px solid var(--ink); }
.ld4-chap li { padding: 16px 14px 0 0; position: relative; }
.ld4-chap li::before { content: ""; position: absolute; top: -7px; left: 0; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid var(--ink); }
.ld4-chap li:last-child::before { background: var(--red); border-color: var(--red); box-shadow: 0 0 0 6px rgba(244,59,47,.15); }
.ld4-chap span { font-size: 12px; font-weight: 700; color: var(--red); letter-spacing: .06em; text-transform: uppercase; }
.ld4-chap b { display: block; font-size: 15px; margin: 6px 0 4px; }
.ld4-chap p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--muted); }
.ld4-pc { background: radial-gradient(1200px 500px at 85% 0%, rgba(244,59,47,.16), transparent 60%), #0d0d0f; color: #fff; padding: clamp(64px, 9vw, 120px) 0; }
.ld4-pc__head { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: end; margin-bottom: 44px; }
.ld4-pc__head > p { color: rgba(255,255,255,.7); font-size: 17px; line-height: 1.7; margin: 0; }
.ld4-pc__grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ld4-pc__grid li { padding: 28px 24px; border-radius: 24px; background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); border: 1px solid rgba(255,255,255,.1); transition: transform .5s var(--ease), border-color .5s; }
.ld4-pc__grid li:hover { transform: translateY(-6px); border-color: rgba(244,59,47,.6); }
.ld4-pc__ic { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: rgba(244,59,47,.14); color: #ff6a5f; margin-bottom: 40px; }
.ld4-pc__grid h3 { font-size: 19px; margin: 0 0 8px; letter-spacing: -.01em; }
.ld4-pc__grid p { margin: 0; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.6; }
.ld4-pc__bar { margin-top: 18px; padding: 20px 24px; border-radius: 22px; border: 1px solid rgba(255,255,255,.12); display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.ld4-pc__bar p { margin: 0; color: rgba(255,255,255,.75); }
.ld4-pc__bar b { color: #fff; }
@media (max-width: 1000px) { .ld4-pc__grid { grid-template-columns: 1fr 1fr; } .ld4-pc__head { grid-template-columns: 1fr; } .ld4-chap { grid-template-columns: 1fr 1fr; row-gap: 22px; border-top: 0; } .ld4-chap li { border-top: 2px solid var(--ink); } }
@media (max-width: 560px) { .ld4-pc__grid, .ld4-creds { grid-template-columns: 1fr; } }
/* Private clients v2: tall photo cards, no icons */
.ld4-pc__grid li { position: relative; padding: 0; min-height: 460px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; background: #111; border: 1px solid rgba(255,255,255,.08); }
.ld4-pc__grid li > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) brightness(.85); transition: transform 1.4s var(--ease), filter .8s; }
.ld4-pc__grid li::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,10,12,.15) 0%, rgba(10,10,12,.35) 45%, rgba(10,10,12,.95) 100%); }
.ld4-pc__grid li:hover > img { transform: scale(1.07); filter: saturate(1) brightness(.95); }
.ld4-pc__grid li > div { position: relative; z-index: 1; padding: 26px 24px 28px; }
.ld4-pc__grid li > div::before { content: ""; display: block; width: 34px; height: 2px; background: var(--red); margin-bottom: 18px; transition: width .6s var(--ease); }
.ld4-pc__grid li:hover > div::before { width: 80px; }
.ld4-pc__n { position: absolute; z-index: 1; top: 20px; left: 24px; font-family: var(--serif); font-style: italic; font-size: 44px; line-height: 1; color: rgba(255,255,255,.9); }
.ld4-pc__grid h3 { font-size: 22px; line-height: 1.2; }
.ld4-pc__grid p { color: rgba(255,255,255,.72); }
@media (max-width: 560px) { .ld4-pc__grid li { min-height: 380px; } }
/* Private clients v3: clean numbered columns, no images or icons */
.ld4-pc__grid { gap: 0; border-top: 1px solid rgba(255,255,255,.16); }
.ld4-pc__grid li, .ld4-pc__grid li:hover { min-height: 0; padding: 30px 28px 34px 0; background: none; border: 0; border-radius: 0; transform: none; display: block; overflow: visible; }
.ld4-pc__grid li + li { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.1); }
.ld4-pc__grid li::after { content: none; }
.ld4-pc__n { position: static; display: block; font-family: var(--serif); font-style: italic; font-size: 40px; line-height: 1; color: var(--red); margin-bottom: 34px; }
.ld4-pc__grid h3 { font-size: 20px; line-height: 1.25; margin: 0 0 10px; }
.ld4-pc__grid p { color: rgba(255,255,255,.6); }
.ld4-pc__bar { margin-top: 36px; }
@media (max-width: 1000px) { .ld4-pc__grid li:nth-child(3) { padding-left: 0; border-left: 0; } .ld4-pc__grid li:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.1); } }
@media (max-width: 560px) { .ld4-pc__grid li, .ld4-pc__grid li + li { padding: 24px 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.1); } .ld4-pc__grid li:first-child { border-top: 0; } }
/* Private clients v4: refined line icons in fine rings */
.ld4-pc__top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 40px; }
.ld4-pc__top .ld4-pc__n { margin: 0; font-size: 34px; }
.ld4-pc__ring { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.88); transition: border-color .5s var(--ease), color .5s, background .5s; }
.ld4-pc__grid li:hover .ld4-pc__ring { border-color: var(--red); color: #fff; background: rgba(244,59,47,.12); }
.ld4-pc__grid li > .ld4-pc__top { padding: 0; }
.ld4-pc__grid li > .ld4-pc__top::before { content: none; }
.ld4-pc__grid li { padding-right: 28px; }
/* Private clients v5: big editorial list */
.ld5-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid rgba(255,255,255,.16); }
.ld5-list li { display: grid; grid-template-columns: 70px minmax(0, 1.3fr) minmax(0, 1fr); gap: 24px; align-items: baseline; padding: 30px 0; border-bottom: 1px solid rgba(255,255,255,.12); transition: padding .5s var(--ease); }
.ld5-list__n { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--red); }
.ld5-list h3 { margin: 0; font-size: clamp(24px, 2.6vw, 38px); line-height: 1.1; letter-spacing: -.025em; font-weight: 600; color: #fff; transition: color .4s; }
.ld5-list p { margin: 0; color: rgba(255,255,255,.6); font-size: 16px; line-height: 1.6; }
.ld5-list li:hover { padding-left: 14px; }
.ld5-list li:hover h3 { color: #ff6a5f; }
@media (max-width: 800px) { .ld5-list li { grid-template-columns: 44px 1fr; row-gap: 8px; } .ld5-list p { grid-column: 2; } }
/* Leave a review */
.rcta { margin-top: 34px; display: grid; grid-template-columns: auto auto 1fr; gap: 20px 34px; align-items: center; padding: 22px 28px; border-radius: 24px; background: #fff; border: 1px solid var(--line); box-shadow: 0 24px 60px -40px rgba(13,13,15,.35); }
.rcta__ask { display: flex; gap: 14px; align-items: center; }
.rcta__ask b { display: block; font-size: 17px; } .rcta__ask span { color: var(--muted); font-size: 14px; }
.rcta__stars { display: flex; gap: 2px; }
.rcta__stars button { font-size: 34px; line-height: 1; background: none; border: 0; padding: 2px; cursor: pointer; color: #dcdad5; transition: color .2s, transform .2s; }
.rcta__stars button.is-on { color: #f5b301; }
.rcta__stars button:hover { transform: scale(1.15); }
.rcta__out p { margin: 0 0 10px; color: #3b3b40; font-size: 15px; }
.rcta__btns { display: flex; gap: 10px; flex-wrap: wrap; }
.rcta__link { color: var(--muted); font-size: 14px; text-decoration: none; border-bottom: 1px solid var(--line); }
.rcta__link:hover { color: var(--ink); }
.rcta__step { animation: rctaIn .4s var(--ease); }
@keyframes rctaIn { from { opacity: 0; transform: translateY(6px); } }
@media (max-width: 900px) { .rcta { grid-template-columns: 1fr; padding: 22px; } }
/* Leave a review v2: rate, write, then Google */
.rcta { display: block; max-width: 980px; margin: 34px auto 0; padding: 24px 28px; }
.rcta__top { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.rcta__form { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); animation: rctaIn .4s var(--ease); }
.rcta__lead { margin: 0 0 12px; font-size: 15px; color: #3b3b40; }
.rcta textarea, .rcta__row input { width: 100%; border: 1px solid var(--line); border-radius: 14px; padding: 13px 15px; font: inherit; font-size: 15px; background: #faf9f7; }
.rcta textarea:focus, .rcta__row input:focus { outline: 2px solid rgba(244,59,47,.25); border-color: var(--red); background: #fff; }
.rcta__row { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; margin-top: 10px; }
.rcta__note { margin: 10px 0 0; font-size: 13px; color: var(--muted); }
.rcta__note.bad, .rcta--feature .rcta__note.bad { color: #e5483c; font-weight: 600; }
.rcta [aria-invalid="true"] { border-color: #e5483c !important; }
.rcta__note a, .rcta__done a { color: var(--ink); }
.rcta__done { margin-top: 18px; padding: 18px 20px; border-radius: 16px; background: #f6f5f2; font-size: 15px; animation: rctaIn .4s var(--ease); }
.rcta .hp { position: absolute; inset: 0 auto auto 0; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); opacity: 0; pointer-events: none; }
@media (max-width: 700px) { .rcta__row { grid-template-columns: 1fr; } }
/* Reviews page: write a review, feature version */
.rv-write { position: relative; overflow: hidden; background: #0d0d0f; color: #fff; padding: clamp(64px, 9vw, 120px) 0; }
.rv-write__glow { position: absolute; inset: auto -10% -40% auto; width: 760px; height: 760px; border-radius: 50%; background: radial-gradient(circle, rgba(245,179,1,.18), transparent 62%); pointer-events: none; }
.rv-write__in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 90px); align-items: center; }
.rv-write__copy > p:not(.eyebrow) { color: rgba(255,255,255,.7); font-size: 17px; line-height: 1.7; max-width: 46ch; }
.rv-pv { margin: 34px 0 0; perspective: 900px; }
.rv-pv__card { background: #fff; color: var(--ink); border-radius: 22px; padding: 22px 24px; max-width: 420px; transform: rotate(-2.5deg); box-shadow: 0 40px 80px -40px rgba(0,0,0,.8); transition: transform .6s var(--ease); }
.rv-write:hover .rv-pv__card { transform: rotate(0deg) translateY(-4px); }
.rv-pv__top { display: flex; justify-content: space-between; align-items: center; color: #f5b301; font-size: 18px; letter-spacing: 2px; }
.rv-pv__card blockquote { margin: 12px 0 16px; font-size: 15px; line-height: 1.6; color: #3b3b40; min-height: 48px; white-space: pre-wrap; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.rv-pv__card figcaption { display: flex; gap: 10px; align-items: center; }
.rv-pv__card figcaption small { display: block; color: var(--muted); font-size: 12px; }
.rcta--feature { margin: 0; max-width: none; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); color: #fff; box-shadow: none; padding: clamp(22px, 3vw, 36px); border-radius: 28px; backdrop-filter: blur(6px); }
.rcta--feature .rcta__top { flex-direction: column; align-items: flex-start; gap: 6px; }
.rcta--feature .rcta__ask { display: none; }
.rcta--feature .rcta__label { font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: #f5b301; font-weight: 700; min-height: 1.2em; }
.rcta--feature .rcta__stars { gap: 6px; }
.rcta--feature .rcta__stars button { font-size: clamp(46px, 5.4vw, 72px); color: rgba(255,255,255,.16); }
.rcta--feature .rcta__stars button.is-on { color: #f5b301; text-shadow: 0 0 28px rgba(245,179,1,.55); }
.rcta--feature.is-picked .rcta__stars button.is-on { animation: rctaPop .45s var(--ease) both; }
.rcta--feature .rcta__stars button:nth-child(2) { animation-delay: .04s; } .rcta--feature .rcta__stars button:nth-child(3) { animation-delay: .08s; } .rcta--feature .rcta__stars button:nth-child(4) { animation-delay: .12s; } .rcta--feature .rcta__stars button:nth-child(5) { animation-delay: .16s; }
@keyframes rctaPop { 50% { transform: scale(1.22); } }
.rcta--feature .rcta__form { border-top-color: rgba(255,255,255,.12); }
.rcta--feature .rcta__lead, .rcta--feature .rcta__note { color: rgba(255,255,255,.7); }
.rcta--feature textarea, .rcta--feature .rcta__row input { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); color: #fff; }
.rcta--feature textarea::placeholder, .rcta--feature .rcta__row input::placeholder { color: rgba(255,255,255,.42); }
.rcta--feature textarea:focus, .rcta--feature .rcta__row input:focus { background: rgba(255,255,255,.1); border-color: #f5b301; outline-color: rgba(245,179,1,.25); }
.rcta--feature .rcta__done { background: rgba(255,255,255,.07); color: #fff; }
.rcta--feature .rcta__done a { color: #f5b301; }
@media (max-width: 900px) { .rv-write__in { grid-template-columns: 1fr; } .rv-pv { display: none; } }
/* Free-text area fields with suggestions */
.area-in { width: 100%; }
.fld .area-in, .lead .area-in { appearance: none; border: 1px solid var(--line); border-radius: 12px; padding: 13px 14px; font: inherit; background: #fff; }
/* Advisors they mention v2: heading on top, one even row */
.rv-loved__head { display: grid; grid-template-columns: 1.2fr 1fr; gap: 30px; align-items: end; margin-bottom: 40px; }
.rv-loved__head > p { margin: 0; color: rgba(255,255,255,.62); font-size: 16px; line-height: 1.7; max-width: 44ch; justify-self: end; }
.rv-loved__row { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 14px; }
.rv-lv { color: #fff; text-decoration: none; display: flex; flex-direction: column; min-width: 0; }
.rv-lv__ph { position: relative; display: block; border-radius: 16px; overflow: hidden; margin-bottom: 12px; aspect-ratio: 3 / 4; background: #1b1b1f; }
.rv-lv__ph img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; filter: grayscale(.25); transition: transform .6s var(--ease), filter .6s; }
.rv-lv:hover .rv-lv__ph img { transform: scale(1.05); filter: none; }
.rv-lv__ph em { position: absolute; left: 8px; bottom: 8px; font-style: normal; font-size: 11px; font-weight: 600; padding: 4px 8px; border-radius: 999px; background: rgba(13,13,15,.72); backdrop-filter: blur(6px); color: #fff; }
.rv-lv b { font-size: 14px; line-height: 1.3; }
.rv-lv small { color: rgba(255,255,255,.55); font-size: 12px; line-height: 1.4; margin-top: 2px; }
@media (max-width: 1100px) { .rv-loved__row { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 168px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; } .rv-lv { scroll-snap-align: start; } }
@media (max-width: 800px) { .rv-loved__head { grid-template-columns: 1fr; } .rv-loved__head > p { justify-self: start; } }
/* Service form section v2: one clean "what happens next" panel + proper sent state */
.sv-split__in { align-items: stretch; }
.sv-next { height: 100%; display: flex; flex-direction: column; gap: 22px; padding: clamp(24px, 3vw, 36px); border-radius: 28px; background: #fff; border: 1px solid #ece7de; }
.sv-next .eyebrow { margin: 0; }
.sv-next__h { margin: -10px 0 0; font-size: clamp(26px, 2.6vw, 34px); letter-spacing: -.03em; line-height: 1.1; }
.sv-next__steps { list-style: none; padding: 0; margin: 0; counter-reset: s; display: grid; gap: 0; }
.sv-next__steps li { counter-increment: s; display: grid; grid-template-columns: 34px 1fr; column-gap: 14px; padding: 14px 0; border-top: 1px solid #f0ebe3; }
.sv-next__steps li::before { content: counter(s); grid-row: span 2; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-size: 13px; font-weight: 700; background: var(--ink); color: #fff; }
.sv-next__steps b { font-size: 15px; } .sv-next__steps span { color: var(--muted); font-size: 14px; }
.sv-rv { margin: 0; padding: 18px 20px; border-radius: 18px; background: #faf7f2; }
.sv-rv__top { display: flex; justify-content: space-between; align-items: center; color: #f5a623; letter-spacing: 2px; font-size: 14px; }
.sv-rv blockquote { margin: 10px 0 12px; font-size: 15px; line-height: 1.6; color: #3b3b40; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sv-rv figcaption { display: flex; align-items: center; gap: 8px; font-size: 14px; } .sv-rv figcaption small { color: var(--muted); }
.sv-rv .rv-av { width: 28px; height: 28px; font-size: 12px; }
.sv-next__talk { margin-top: auto; display: flex; align-items: center; gap: 12px; padding-top: 18px; border-top: 1px solid #f0ebe3; flex-wrap: wrap; }
.sv-next__talk .sv-contact__faces img { border-color: #fff; width: 36px; height: 36px; }
.sv-next__t { flex: 1; min-width: 140px; } .sv-next__t b { display: block; font-size: 15px; }
.sv-next__t small { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--muted); font-weight: 600; }
.sv-next__t small i { width: 7px; height: 7px; border-radius: 50%; background: #25d366; }
.sv-next__wa, .sv-next__tel { padding: 10px 18px; border-radius: 999px; font-weight: 700; font-size: 14px; text-decoration: none; transition: transform .25s; }
.sv-next__wa { background: #25d366; color: #fff; } .sv-next__tel { border: 1px solid var(--line); color: var(--ink); }
.sv-next__wa:hover, .sv-next__tel:hover { transform: translateY(-2px); }
.sv-form { position: relative; }
.sv-done { display: none; text-align: center; padding: 40px 10px 20px; }
.sv-form:has(form.is-sent) .sv-done { display: block; animation: rctaIn .5s var(--ease); }
.sv-form:has(form.is-sent) form, .sv-form:has(form.is-sent) > h2, .sv-form:has(form.is-sent) > .sv-form__k { display: none; }
.sv-done__ic { width: 64px; height: 64px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center; background: rgba(37,211,102,.12); color: #1a9c4b; }
.sv-done h3 { margin: 0 0 8px; font-size: 26px; letter-spacing: -.02em; }
.sv-done p { margin: 0 auto 22px; color: var(--muted); max-width: 34ch; }
.sv-form:has(form.is-sent) { display: flex; align-items: center; justify-content: center; }
/* FAQ: long lists show 8, then "Show all" */
.fq__i.is-more { display: none; }
.fq__list.is-all .fq__i.is-more { display: block; }
.fq__more { margin-top: 14px; justify-self: start; background: none; border: 1px solid var(--line); border-radius: 999px; padding: 11px 20px; font: inherit; font-weight: 700; font-size: 14px; cursor: pointer; transition: background .25s, color .25s; }
.fq__more:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.fq__list.is-all .fq__more { display: none; }
/* FAQ hub */
.fh { padding: 10px 0 clamp(60px, 8vw, 110px); }
.fh__bar { position: sticky; top: calc(var(--hdr) + 10px); z-index: 5; background: rgba(255,255,255,.92); backdrop-filter: blur(12px); border: 1px solid var(--line); border-radius: 24px; padding: 14px; display: grid; gap: 12px; box-shadow: 0 24px 50px -40px rgba(13,13,15,.4); margin-bottom: 34px; }
.fh__search { display: flex; align-items: center; gap: 10px; padding: 0 16px; border-radius: 16px; background: #f6f5f2; color: var(--muted); }
.fh__search input { flex: 1; border: 0; background: none; padding: 15px 0; font: inherit; font-size: 16px; color: var(--ink); outline: none; }
.fh__chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.fh__chips button { flex: none; display: inline-flex; align-items: center; gap: 7px; padding: 9px 15px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .2s, color .2s; }
.fh__chips button small { font-size: 11px; color: var(--muted); font-weight: 700; }
.fh__chips button.is-on { background: var(--ink); color: #fff; border-color: var(--ink); } .fh__chips button.is-on small { color: rgba(255,255,255,.6); }
.fh__g { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 2fr); gap: clamp(20px, 4vw, 60px); padding: 34px 0; border-top: 1px solid var(--line); scroll-margin-top: 220px; }
.fh__gh { position: sticky; top: calc(var(--hdr) + 170px); align-self: start; display: flex; flex-direction: column; gap: 12px; }
.fh__gh h2 { margin: 0; font-size: clamp(24px, 2.4vw, 32px); letter-spacing: -.03em; }
.fh__gh p { margin: 4px 0 0; color: var(--muted); font-size: 15px; }
.fh__gh a { font-size: 14px; font-weight: 700; color: var(--red); text-decoration: none; }
.fh__list { display: grid; gap: 8px; }
.fh__i { border-radius: 18px; background: #faf9f7; border: 1px solid transparent; transition: background .25s, border-color .25s; }
.fh__i[open] { background: #fff; border-color: var(--line); box-shadow: 0 20px 40px -34px rgba(13,13,15,.4); }
.fh__i summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; padding: 17px 20px; font-weight: 600; font-size: 16px; }
.fh__i summary::-webkit-details-marker { display: none; }
.fh__i summary span { flex: 1; }
.fh__i summary em { font-style: normal; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); background: #efede8; padding: 4px 9px; border-radius: 999px; }
.fh__i summary i { width: 26px; height: 26px; flex: none; border-radius: 50%; border: 1px solid var(--line); position: relative; transition: transform .3s, background .3s; }
.fh__i summary i::before, .fh__i summary i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 1.6px; background: currentColor; transform: translate(-50%, -50%); }
.fh__i summary i::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s; }
.fh__i[open] summary i { background: var(--ink); color: #fff; border-color: var(--ink); } .fh__i[open] summary i::after { transform: translate(-50%, -50%) rotate(0); }
.fh__a { padding: 0 20px 20px; color: #3b3b40; line-height: 1.7; font-size: 15.5px; max-width: 72ch; }
.fh__a p { margin: 0 0 10px; } .fh__a a { font-weight: 700; color: var(--red); text-decoration: none; font-size: 14px; }
.fh mark { background: rgba(245,179,1,.35); color: inherit; border-radius: 3px; }
.fh__none { text-align: center; padding: 40px 0; color: var(--muted); }
@media (max-width: 900px) { .fh__g { grid-template-columns: 1fr; } .fh__gh { position: static; flex-direction: row; justify-content: space-between; align-items: end; } }
/* Mortgage calculator */
.mg { background: #f5f1ea; padding: calc(var(--hdr) + 30px) 0 clamp(60px, 8vw, 100px); }
.mg__top { display: grid; grid-template-columns: 1.1fr 1fr; gap: 30px; align-items: end; margin: 18px 0 34px; }
.mg__h { margin: 8px 0 0; font-size: clamp(42px, 6vw, 88px); line-height: .95; letter-spacing: -.045em; }
.mg__h em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.mg__big { justify-self: end; text-align: right; }
.mg__big small { display: block; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.mg__big b { display: block; font-size: clamp(48px, 7vw, 104px); letter-spacing: -.05em; line-height: 1; font-variant-numeric: tabular-nums; }
.mg__big span { color: var(--muted); font-size: 15px; }
.mg__board { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); grid-template-areas: "ctrl viz" "chart chart"; gap: 16px; }
.mg__ctrl, .mg__viz, .mg__chart { background: #fff; border-radius: 28px; padding: clamp(22px, 2.6vw, 32px); box-shadow: 0 30px 60px -50px rgba(13,13,15,.4); }
.mg__ctrl { grid-area: ctrl; display: grid; gap: 22px; } .mg__viz { grid-area: viz; display: grid; grid-template-columns: auto 1fr; gap: 26px; align-items: center; } .mg__chart { grid-area: chart; }
.mg-f { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; align-items: baseline; }
.mg-f span { font-weight: 600; font-size: 15px; } .mg-f output { font-size: 20px; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.mg-f input { grid-column: 1 / -1; width: 100%; accent-color: var(--red); height: 26px; }
.mg__rule { margin: 0; font-size: 13px; color: var(--muted); padding: 12px 14px; border-radius: 14px; background: #f8f6f2; }
.mg__rule.is-warn { color: #9a3b12; background: #fff1e8; }
.mg__ring { position: relative; width: 190px; height: 190px; }
.mg__ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.mg__rbg { fill: none; stroke: #e8e3da; stroke-width: 14; } .mg__rp { fill: none; stroke: var(--red); stroke-width: 14; stroke-linecap: round; stroke-dasharray: 0 100; transition: stroke-dasharray .7s var(--ease); }
.mg__ring > div { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.mg__ring b { font-size: 36px; letter-spacing: -.04em; } .mg__ring small { font-size: 12px; color: var(--muted); line-height: 1.3; }
.mg__dl { margin: 0; display: grid; gap: 0; }
.mg__dl div { display: flex; justify-content: space-between; gap: 10px; padding: 12px 0; border-bottom: 1px solid #f0ebe3; }
.mg__dl div:last-child { border-bottom: 0; font-weight: 700; } .mg__dl dt { display: flex; align-items: center; gap: 8px; color: var(--muted); } .mg__dl dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.mg__dl div:last-child dt { color: var(--ink); }
.mg-k { width: 10px; height: 10px; border-radius: 3px; display: inline-block; } .mg-k--p { background: var(--ink); } .mg-k--i { background: var(--red); } .mg-k--d { background: #c9bfae; }
.mg__ch { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 12px; font-size: 15px; } .mg__ch span { color: var(--muted); font-variant-numeric: tabular-nums; }
.mg__svgw { position: relative; height: 220px; cursor: crosshair; }
.mg__svgw svg { width: 100%; height: 100%; display: block; overflow: visible; }
.mg__cur { position: absolute; top: 0; bottom: 0; width: 1px; background: var(--ink); opacity: 0; pointer-events: none; }
.mg__cur::after { content: ""; position: absolute; left: -5px; width: 11px; height: 11px; border-radius: 50%; background: var(--red); top: var(--y, 50%); transform: translateY(-50%); box-shadow: 0 0 0 4px rgba(244,59,47,.2); }
.mg__svgw:hover .mg__cur { opacity: 1; }
.mg__ax { display: flex; justify-content: space-between; font-size: 12px; color: var(--muted); margin-top: 8px; }
.mg__rates { margin-top: 16px; background: var(--ink); color: #fff; border-radius: 28px; padding: clamp(22px, 2.6vw, 30px); }
.mg__rk { margin: 0 0 14px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.55); font-weight: 700; }
.mg__rrow { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.mg__rrow button { text-align: left; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: #fff; border-radius: 18px; padding: 14px 16px; font: inherit; cursor: pointer; transition: background .25s, border-color .25s; }
.mg__rrow button:hover { border-color: rgba(255,255,255,.35); }
.mg__rrow button.is-on { background: var(--red); border-color: var(--red); }
.mg__rrow small { display: block; font-size: 13px; color: rgba(255,255,255,.65); } .mg__rrow b { display: block; font-size: 18px; margin-top: 4px; font-variant-numeric: tabular-nums; } .mg__rrow em { font-style: normal; font-size: 12px; color: rgba(255,255,255,.6); }
.mg__rrow button.is-on small, .mg__rrow button.is-on em { color: rgba(255,255,255,.85); }
.mg__cta { margin-top: 16px; display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; padding: 22px 28px; border-radius: 24px; border: 1px solid #e4ddd1; }
.mg__cta p { margin: 0; } .mg__cta > div { display: flex; gap: 10px; flex-wrap: wrap; }
.mg__fine { font-size: 12.5px; color: var(--muted); margin: 14px 0 0; }
@media (max-width: 980px) { .mg__top { grid-template-columns: 1fr; } .mg__big { justify-self: start; text-align: left; } .mg__board { grid-template-columns: 1fr; grid-template-areas: "ctrl" "viz" "chart"; } .mg__rrow { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .mg__viz { grid-template-columns: 1fr; justify-items: center; } .mg__rrow { grid-template-columns: repeat(2, 1fr); } }
/* Buying costs: receipt */
.bc { background: radial-gradient(900px 500px at 85% 20%, rgba(244,59,47,.08), transparent 60%), #fbfaf8; padding: calc(var(--hdr) + 30px) 0 clamp(60px, 8vw, 110px); }
.bc__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); gap: clamp(30px, 6vw, 90px); align-items: start; margin-top: 18px; }
.bc__h { margin: 8px 0 16px; font-size: clamp(44px, 6vw, 88px); line-height: .95; letter-spacing: -.045em; }
.bc__h em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.bc__p { color: var(--muted); font-size: 17px; line-height: 1.7; max-width: 48ch; margin: 0 0 30px; }
.bc__ctrl { display: grid; gap: 24px; padding: 28px; border-radius: 28px; background: #fff; border: 1px solid #eee9e1; }
.bc-seg { display: grid; gap: 10px; } .bc-seg > span { font-weight: 600; font-size: 15px; }
.bc-seg > div { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; padding: 4px; border-radius: 999px; background: #f3f0ea; }
.bc-seg button { border: 0; background: none; padding: 11px 14px; border-radius: 999px; font: inherit; font-size: 14px; font-weight: 600; color: var(--muted); cursor: pointer; transition: background .25s, color .25s, box-shadow .25s; }
.bc-seg button.is-on { background: #fff; color: var(--ink); box-shadow: 0 6px 16px -8px rgba(13,13,15,.35); }
.bc__r { position: sticky; top: calc(var(--hdr) + 20px); }
.bc-rc { position: relative; background: #fff; padding: 30px 30px 40px; border-radius: 6px 6px 0 0; box-shadow: 0 50px 90px -50px rgba(13,13,15,.5); transform: rotate(.6deg); font-variant-numeric: tabular-nums; }
.bc-rc::after { content: ""; position: absolute; left: 0; right: 0; bottom: -14px; height: 14px; background: linear-gradient(-45deg, transparent 7px, #fff 0) 0 0 / 14px 14px repeat-x, linear-gradient(45deg, transparent 7px, #fff 0) 0 0 / 14px 14px repeat-x; filter: drop-shadow(0 6px 4px rgba(13,13,15,.06)); }
.bc-rc__hd { display: flex; justify-content: space-between; align-items: center; padding-bottom: 16px; border-bottom: 2px dashed #e5e0d7; }
.bc-rc__hd span { text-align: right; font-weight: 700; font-size: 14px; line-height: 1.3; } .bc-rc__hd small { color: var(--muted); font-weight: 500; }
.bc-rc__k { margin: 16px 0 6px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.bc-rc__items { list-style: none; padding: 0; margin: 0; }
.bc-rc__items li { display: flex; justify-content: space-between; gap: 14px; padding: 11px 0; font-size: 14.5px; border-bottom: 1px dotted #e5e0d7; animation: bcIn .45s var(--ease) both; animation-delay: calc(var(--i) * 50ms); }
.bc-rc__items li span small { display: block; color: var(--muted); font-size: 12px; } .bc-rc__items li b { white-space: nowrap; }
@keyframes bcIn { from { opacity: 0; transform: translateX(-8px); } }
.bc-rc__tot { display: flex; justify-content: space-between; align-items: baseline; padding: 18px 0 4px; } .bc-rc__tot span { font-weight: 700; }
.bc-rc__tot b { font-size: 34px; letter-spacing: -.04em; color: var(--red); }
.bc-rc__pct { margin: 0 0 18px; text-align: right; color: var(--muted); font-size: 13px; }
.bc-rc__cash { padding: 18px; border-radius: 16px; background: var(--ink); color: #fff; }
.bc-rc__cash > span { font-size: 13px; color: rgba(255,255,255,.65); } .bc-rc__cash > b { display: block; font-size: 30px; letter-spacing: -.03em; margin: 4px 0 12px; }
.bc-bar { display: flex; height: 10px; border-radius: 999px; overflow: hidden; background: rgba(255,255,255,.1); } .bc-bar i { display: block; height: 100%; transition: width .6s var(--ease); }
.bc-bar__d { background: #fff; } .bc-bar__f { background: var(--red); } .bc-bar__l { background: rgba(255,255,255,.22); }
.bc-bar__key { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 10px; font-size: 12px; color: rgba(255,255,255,.7); } .bc-bar__key span { display: inline-flex; align-items: center; gap: 6px; } .bc-bar__key i { width: 9px; height: 9px; border-radius: 3px; display: inline-block; } .bc-bar__key em { font-style: normal; }
.bc-rc__fine { margin: 14px 0 0; font-size: 12px; color: var(--muted); }
.bc__btns { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 34px; }
@media (max-width: 980px) { .bc__in { grid-template-columns: 1fr; } .bc__r { position: static; } .bc-rc { transform: none; } }
/* Rental yield */
.yl { position: relative; overflow: hidden; background: #0b0d0c; color: #fff; padding: calc(var(--hdr) + 30px) 0 clamp(60px, 8vw, 110px); }
.yl__glow { position: absolute; top: -20%; right: -10%; width: 900px; height: 900px; border-radius: 50%; background: radial-gradient(circle, rgba(37,211,102,.14), transparent 60%); pointer-events: none; }
.yl .wrap { position: relative; }
.yl__head { display: grid; grid-template-columns: 1.2fr 1fr; gap: 30px; align-items: end; margin: 18px 0 34px; }
.yl__h { margin: 8px 0 0; font-size: clamp(42px, 6vw, 88px); line-height: .95; letter-spacing: -.045em; }
.yl__h em { font-family: var(--serif); font-weight: 400; color: #5fe39a; }
.yl__head > p { margin: 0; color: rgba(255,255,255,.65); font-size: 17px; line-height: 1.7; }
.yl__board { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 16px; }
.yl__ctrl, .yl__out { border-radius: 28px; padding: clamp(22px, 2.6vw, 32px); background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09); }
.yl__ctrl { display: grid; gap: 20px; }
.yl-f { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; align-items: baseline; } .yl-f span { font-weight: 600; font-size: 15px; color: rgba(255,255,255,.8); }
.yl-f output { font-size: 19px; font-weight: 700; font-variant-numeric: tabular-nums; } .yl-f input { grid-column: 1 / -1; width: 100%; accent-color: #5fe39a; height: 26px; }
.yl__small { margin: 0; font-size: 13px; color: rgba(255,255,255,.5); }
.yl__nums { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 12px; align-items: end; padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,.1); }
.yl__nums small { display: block; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); font-weight: 700; margin-bottom: 6px; }
.yl__net b { font-size: clamp(56px, 6.5vw, 96px); letter-spacing: -.05em; line-height: .9; color: #5fe39a; font-variant-numeric: tabular-nums; }
.yl__gross b { font-size: clamp(24px, 2.4vw, 32px); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.yl-wf { padding-top: 22px; display: grid; gap: 12px; }
.yl-wf__k { margin: 0 0 4px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); font-weight: 700; }
.yl-wf__row { display: grid; grid-template-columns: 120px 1fr 120px; gap: 14px; align-items: center; font-size: 14px; }
.yl-wf__row span { color: rgba(255,255,255,.75); } .yl-wf__row b { text-align: right; font-variant-numeric: tabular-nums; }
.yl-wf__t { position: relative; height: 26px; border-radius: 8px; background: rgba(255,255,255,.05); overflow: hidden; }
.yl-wf__t i { position: absolute; top: 0; bottom: 0; border-radius: 8px; transition: left .6s var(--ease), width .6s var(--ease); }
.yl-wf__t i.is-rent { background: rgba(255,255,255,.85); } .yl-wf__t i.is-cost { background: #f43b2f; } .yl-wf__t i.is-net { background: #5fe39a; }
.yl-wf__row.is-net span, .yl-wf__row.is-net b { color: #5fe39a; font-weight: 700; }
.yl__verdict { margin: 22px 0 0; padding: 14px 16px; border-radius: 16px; background: rgba(95,227,154,.08); color: rgba(255,255,255,.85); font-size: 14.5px; }
.yl__verdict.is-low { background: rgba(244,59,47,.1); }
.yl__live { margin-top: 16px; border-radius: 28px; padding: clamp(22px, 2.6vw, 30px); background: #fff; color: var(--ink); }
.yl__lh { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; } .yl__lh span { color: var(--muted); font-size: 14px; }
.yl__chips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.yl__chips button { position: relative; overflow: hidden; text-align: left; display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 16px 18px; border-radius: 18px; border: 1px solid var(--line); background: #faf9f7; font: inherit; cursor: pointer; transition: border-color .25s, transform .25s; }
.yl__chips button:hover { transform: translateY(-2px); border-color: var(--ink); } .yl__chips button.is-on { border-color: #1a9c4b; background: #f0fbf4; }
.yl__chips span { font-weight: 600; font-size: 14px; position: relative; } .yl__chips b { font-size: 18px; color: #1a9c4b; position: relative; }
.yl__chips i { position: absolute; left: 0; bottom: 0; height: 3px; width: var(--w); background: #5fe39a; }
.yl__cta { margin-top: 16px; display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; padding: 22px 28px; border-radius: 24px; border: 1px solid rgba(255,255,255,.12); }
.yl__cta p { margin: 0; color: rgba(255,255,255,.8); }
.yl__fine { font-size: 12.5px; color: rgba(255,255,255,.45); margin: 14px 0 0; }
@media (max-width: 980px) { .yl__head, .yl__board { grid-template-columns: 1fr; } .yl__chips { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .yl__nums { grid-template-columns: 1fr 1fr; } .yl__net { grid-column: 1 / -1; } .yl-wf__row { grid-template-columns: 90px 1fr 90px; } .yl__chips { grid-template-columns: 1fr; } }
/* Tools hub */
.th { background: #0d0d0f; color: #fff; padding: calc(var(--hdr) + 30px) 0 clamp(60px, 8vw, 110px); position: relative; overflow: hidden; }
.th::before { content: ""; position: absolute; top: -30%; left: 30%; width: 900px; height: 900px; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.14), transparent 60%); pointer-events: none; }
.th .wrap { position: relative; }
.th__head { display: grid; grid-template-columns: 1.3fr 1fr; gap: 30px; align-items: end; margin: 18px 0 40px; }
.th__h { margin: 8px 0 0; font-size: clamp(44px, 6.5vw, 96px); line-height: .92; letter-spacing: -.05em; } .th__h em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.th__head > p { margin: 0; color: rgba(255,255,255,.65); font-size: 17px; line-height: 1.7; }
.th__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 240px; gap: 14px; }
.th-t { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 22px; border-radius: 26px; background: #17171a; border: 1px solid rgba(255,255,255,.08); color: #fff; text-decoration: none; overflow: hidden; transition: transform .45s var(--ease), border-color .45s, background .45s; }
.th-t:hover { transform: translateY(-5px); border-color: rgba(255,255,255,.25); background: #1c1c20; }
.th-t--0 { grid-column: span 2; grid-row: span 2; background: linear-gradient(160deg, #2a0f0d, #17171a 60%); }
.th-t--1 { grid-column: span 2; } .th-t--2, .th-t--3 { grid-row: span 1; }
.th-t__tag { align-self: flex-start; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.8); }
.th-t__txt b { display: block; font-size: 20px; letter-spacing: -.02em; } .th-t--0 .th-t__txt b { font-size: clamp(28px, 3vw, 40px); }
.th-t__txt small { display: block; margin-top: 6px; color: rgba(255,255,255,.55); font-size: 13.5px; line-height: 1.5; max-width: 40ch; }
.th-t__go { position: absolute; right: 20px; bottom: 20px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-style: normal; background: #fff; color: var(--ink); transform: scale(.8); opacity: 0; transition: transform .35s var(--ease), opacity .35s; }
.th-t:hover .th-t__go { transform: none; opacity: 1; }
.th-a { flex: 1; display: grid; place-content: center; text-align: center; padding: 10px 0; }
.th-a b { font-size: 26px; letter-spacing: -.03em; } .th-a small { display: block; font-size: 12px; color: rgba(255,255,255,.55); }
.th-a--gauge svg { width: min(340px, 90%); margin: 0 auto; } .th-a--gauge .g0 { fill: none; stroke: rgba(255,255,255,.1); stroke-width: 14; stroke-linecap: round; } .th-a--gauge .g1 { fill: none; stroke: var(--red); stroke-width: 14; stroke-linecap: round; stroke-dasharray: 62 100; }
.th-a--gauge b { font-size: clamp(34px, 4vw, 54px); margin-top: -40px; } .th-t:hover .th-a--gauge .g1 { animation: thG 1.2s var(--ease); } @keyframes thG { from { stroke-dasharray: 0 100; } }
.th-a--chart { place-content: stretch; text-align: left; } .th-a--chart b small { display: inline; font-size: 13px; margin-left: 4px; } .th-a--chart svg { width: 100%; height: 70px; margin-top: 8px; } .th-a--chart .c0 { fill: rgba(244,59,47,.18); } .th-a--chart .c1 { fill: none; stroke: var(--red); stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.th-a--rc { place-content: stretch; gap: 7px; padding: 8px 12px; margin: 10px 0; background: #fff; border-radius: 8px; text-align: left; transform: rotate(-2deg); } .th-a--rc i { display: block; height: 5px; width: var(--w); border-radius: 3px; background: #e7e2d9; } .th-a--rc span { font-size: 12px; color: var(--muted); display: flex; justify-content: space-between; border-top: 1px dashed #e7e2d9; padding-top: 6px; } .th-a--rc span b { font-size: 13px; color: var(--red); letter-spacing: 0; }
.th-a--yl b { color: #5fe39a; font-size: 34px; } .th-a--yl div { display: grid; gap: 4px; width: 160px; margin: 10px auto 0; } .th-a--yl i { display: block; height: 6px; border-radius: 3px; width: var(--w); background: rgba(255,255,255,.8); } .th-a--yl i.r { background: var(--red); margin-left: auto; } .th-a--yl i.g { background: #5fe39a; }
.th-a--vs { grid-auto-flow: column; gap: 10px; align-items: center; } .th-a--vs span { padding: 10px 14px; border-radius: 14px; background: rgba(255,255,255,.07); font-weight: 700; font-size: 14px; } .th-a--vs em { font-family: var(--serif); color: var(--red); font-size: 22px; }
.th-a--num b { font-size: 30px; } .th-a--quiz { grid-auto-flow: column; gap: 6px; } .th-a--quiz i { width: 26px; height: 6px; border-radius: 3px; background: rgba(255,255,255,.15); } .th-a--quiz i.on { background: var(--red); }
.th__note { margin-top: 16px; display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; padding: 22px 28px; border-radius: 24px; border: 1px solid rgba(255,255,255,.12); } .th__note p { margin: 0; color: rgba(255,255,255,.75); max-width: 70ch; }
@media (max-width: 1000px) { .th__head { grid-template-columns: 1fr; } .th__grid { grid-template-columns: 1fr 1fr; } .th-t--0 { grid-column: span 2; grid-row: span 1; } .th-t--1 { grid-column: span 2; } }
@media (max-width: 560px) { .th__grid { grid-template-columns: 1fr; grid-auto-rows: auto; } .th-t, .th-t--0, .th-t--1 { grid-column: auto; min-height: 220px; } }
.th__grid { grid-auto-rows: minmax(270px, auto); }
.th-t__txt small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; padding-right: 30px; }
.th-t--0 .th-t__txt small { -webkit-line-clamp: 3; }
.th-a { min-height: 110px; }
/* Balance: Tools hub and Rental yield on light backgrounds, one dark accent each */
.th { background: #f5f1ea; color: var(--ink); }
.th::before { background: radial-gradient(circle, rgba(244,59,47,.08), transparent 60%); }
.th__head > p { color: var(--muted); }
.th-t { background: #fff; border-color: #ebe5db; color: var(--ink); box-shadow: 0 24px 50px -44px rgba(13,13,15,.45); }
.th-t:hover { background: #fff; border-color: #d9d1c4; }
.th-t__tag { background: #f3efe8; color: #4a4a52; }
.th-t__txt small, .th-a small { color: var(--muted); }
.th-t__go { background: var(--ink); color: #fff; }
.th-t--0 { background: var(--ink); color: #fff; border-color: var(--ink); }
.th-t--0 .th-t__tag { background: rgba(255,255,255,.1); color: rgba(255,255,255,.85); } .th-t--0 .th-t__txt small, .th-t--0 .th-a small { color: rgba(255,255,255,.6); } .th-t--0 .th-t__go { background: #fff; color: var(--ink); }
.th-a--chart .c0 { fill: rgba(244,59,47,.12); }
.th-a--rc { background: #faf8f4; box-shadow: 0 10px 20px -14px rgba(13,13,15,.4); }
.th-a--yl b { color: #128a46; } .th-a--yl i { background: #d8d2c6; } .th-a--yl i.g { background: #2fbf71; }
.th-a--vs span { background: #f3efe8; }
.th-a--quiz i { background: #e6e0d6; }
.th__note { border-color: #e4ddd1; background: #fff; } .th__note p { color: #3b3b40; }
.yl { background: #f2f6f1; color: var(--ink); }
.yl__glow { background: radial-gradient(circle, rgba(47,191,113,.16), transparent 60%); }
.yl__h em { color: #128a46; } .yl__head > p { color: var(--muted); }
.yl__ctrl { background: #fff; border-color: #e3ebe2; } .yl-f span { color: var(--ink); } .yl-f input { accent-color: #128a46; }
.yl__small { color: var(--muted); }
.yl__out { background: #0f1a14; border-color: #0f1a14; color: #fff; }
.yl__live { background: #fff; border: 1px solid #e3ebe2; }
.yl__cta { border-color: #d9e4d8; background: #fff; } .yl__cta p { color: #3b3b40; }
.yl__fine { color: var(--muted); }
/* Tool pages: notes as cards + more-tools chips (replaces prose + sidebar form) */
.tn { padding: clamp(50px, 6vw, 80px) 0; background: #fff; }
.tn__grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tn__grid--1 { grid-template-columns: minmax(0, 760px); } .tn__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tn__c { padding: clamp(22px, 2.6vw, 32px); border-radius: 24px; background: #f7f5f1; }
.tn__n { font-family: var(--serif); font-style: italic; color: var(--red); font-size: 22px; }
.tn__c h2 { margin: 10px 0 12px; font-size: clamp(20px, 2vw, 26px); letter-spacing: -.02em; }
.tn__b { color: #3b3b40; line-height: 1.7; font-size: 15.5px; }
.tn__b p { margin: 0 0 10px; } .tn__b ul { margin: 0 0 10px; padding-left: 18px; } .tn__b li { margin-bottom: 6px; } .tn__b a { color: var(--red); }
.tn__more { margin-top: 34px; display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.tn__more .eyebrow { margin: 0; }
.tn__chips { display: flex; gap: 8px; flex-wrap: wrap; }
.tn__chips a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; border: 1px solid var(--line); color: var(--ink); text-decoration: none; font-weight: 600; font-size: 14px; transition: background .25s, color .25s, border-color .25s; }
.tn__chips a i { font-style: normal; opacity: .5; } .tn__chips a:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
@media (max-width: 800px) { .tn__grid, .tn__grid--3 { grid-template-columns: 1fr; } }
.tn__more { display: grid; gap: 14px; }
/* Long CMS pages: TOC + one clean reading column, advisor bar instead of sidebar form */
.cx__in { display: grid; grid-template-columns: 230px minmax(0, 760px); gap: clamp(30px, 6vw, 90px); justify-content: center; }
.cx__in--plain { grid-template-columns: minmax(0, 760px); }
.cx__toc { position: sticky; top: calc(var(--hdr) + 24px); align-self: start; }
.cx__ask { margin: 40px 0 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 20px 24px; border-radius: 22px; background: #f7f5f1; }
.cx__ask b { display: block; font-size: 16px; } .cx__ask span { color: var(--muted); font-size: 14px; }
.cx__btns { display: flex; gap: 8px; align-items: center; }
.cx__wa { padding: 10px 18px; border-radius: 999px; background: #25d366; color: #fff; font-weight: 700; font-size: 14px; text-decoration: none; }
.cx .tn__more { margin-top: 28px; }
@media (max-width: 900px) { .cx__in { grid-template-columns: 1fr; } .cx__toc { position: static; } }
/* ====== Tools: one shared look that matches the rest of the site ======
   Cream page (#faf7f2, as on service pages), white cards, red accent, one ink panel per page. */
.mg, .bc, .yl, .th, .af-hero { background: #faf7f2; color: var(--ink); }
.yl__glow, .th::before, .af-hero__glow { background: radial-gradient(circle, rgba(244,59,47,.07), transparent 62%); }
.mg__ctrl, .mg__viz, .mg__chart, .bc__ctrl, .yl__ctrl, .yl__live, .th-t, .tn__c { background: #fff; border: 1px solid #ece7de; box-shadow: 0 30px 60px -50px rgba(13,13,15,.4); }
.mg__cta, .yl__cta, .th__note { background: #fff; border: 1px solid #ece7de; }
/* rental yield: brand red instead of green */
.yl__h em { color: var(--red); } .yl-f input { accent-color: var(--red); }
.yl__out { background: var(--ink); border-color: var(--ink); }
.yl__net b { color: #fff; } .yl-wf__t i.is-net { background: #fff; } .yl-wf__row.is-net span, .yl-wf__row.is-net b { color: #fff; }
.yl__verdict { background: rgba(255,255,255,.07); } .yl__verdict.is-low { background: rgba(244,59,47,.18); }
.yl__chips b { color: var(--red); } .yl__chips i { background: var(--red); } .yl__chips button.is-on { border-color: var(--red); background: #fff5f4; }
.th-a--yl b { color: var(--red); } .th-a--yl i.g { background: var(--ink); }
/* affordability: light, controls in a white card */
.af-k { color: var(--muted); } .af-k span { background: #fff; border-color: #ece7de; color: var(--ink); }
.af-in .af-ctrl { background: #fff; border: 1px solid #ece7de; border-radius: 28px; padding: clamp(22px, 2.6vw, 30px); box-shadow: 0 30px 60px -50px rgba(13,13,15,.4); }
.af-seg { background: #f3f0ea; } .af-seg button { color: var(--muted); } .af-seg button.is-on { background: #fff; color: var(--ink); box-shadow: 0 6px 16px -8px rgba(13,13,15,.35); }
.af-sl > span { color: var(--ink); font-weight: 600; } .af-sl input { background: linear-gradient(90deg, var(--red) var(--v, 30%), #ebe6dd var(--v, 30%)); }
.af-sm span { color: var(--muted); } .af-sm input { color: var(--ink); background: #faf8f4; border-color: #ebe6dd; } .af-sm i { color: var(--muted); }
.af-out { background: var(--ink); color: #fff; box-shadow: 0 50px 100px -50px rgba(13,13,15,.6); }
.af-out > small, .af-out__why, .af-out__pay span { color: rgba(255,255,255,.6); } .af-out__why b { color: #fff; }
.af-gauge { background: rgba(255,255,255,.06); } .af-gauge__bg { stroke: rgba(255,255,255,.12); } .af-gauge small { color: rgba(255,255,255,.6); }
.af-split__bar { background: rgba(255,255,255,.1); } .af-split__loan, .af-dot--loan { background: #fff; } .af-split li { color: rgba(255,255,255,.8); } .af-split li b { color: #fff; }
.af-out__pay { border-top-color: rgba(255,255,255,.12); }
/* single note card: heading left, text right */
.tn__grid--1 { grid-template-columns: 1fr; } .tn__grid--1 .tn__c { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 10px 40px; align-items: start; } .tn__grid--1 .tn__n { grid-column: 1 / -1; } .tn__grid--1 .tn__c h2 { margin-top: 0; }
@media (max-width: 800px) { .tn__grid--1 .tn__c { grid-template-columns: 1fr; } }
/* Tools hub v2 */
.tz { background: #faf7f2; padding: calc(var(--hdr) + 30px) 0 clamp(50px, 6vw, 80px); position: relative; overflow: hidden; }
.tz::before { content: ""; position: absolute; right: -10%; top: -30%; width: 900px; height: 900px; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.07), transparent 62%); pointer-events: none; }
.tz .wrap { position: relative; }
.tz__hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(30px, 5vw, 80px); align-items: center; margin-top: 18px; }
.tz__h { margin: 8px 0 18px; font-size: clamp(44px, 6.4vw, 96px); line-height: .92; letter-spacing: -.05em; } .tz__h em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.tz__p { margin: 0 0 22px; color: var(--muted); font-size: 17px; line-height: 1.7; max-width: 48ch; }
.tz__ticks { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tz__ticks li { padding: 8px 14px 8px 30px; border-radius: 999px; background: #fff; border: 1px solid #ece7de; font-size: 13.5px; font-weight: 600; position: relative; }
.tz__ticks li::before { content: ""; position: absolute; left: 12px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: #22c55e; }
.tz-f { display: grid; gap: 18px; padding: clamp(24px, 3vw, 34px); border-radius: 32px; background: var(--ink); color: #fff; text-decoration: none; box-shadow: 0 60px 100px -60px rgba(13,13,15,.7); transition: transform .5s var(--ease); }
.tz-f:hover { transform: translateY(-6px); }
.tz-f__tag { justify-self: start; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding: 7px 12px; border-radius: 999px; background: var(--red); }
.tz-f__g { position: relative; } .tz-f__g svg { width: 100%; max-width: 380px; display: block; margin: 0 auto; }
.tz-f__g .g0 { fill: none; stroke: rgba(255,255,255,.1); stroke-width: 14; stroke-linecap: round; } .tz-f__g .g1 { fill: none; stroke: var(--red); stroke-width: 14; stroke-linecap: round; stroke-dasharray: 64 100; animation: thG 1.6s var(--ease) .3s both; }
.tz-f__g > div { position: absolute; left: 0; right: 0; bottom: 4px; text-align: center; } .tz-f__g small { display: block; font-size: 12px; color: rgba(255,255,255,.55); } .tz-f__g b { font-size: clamp(36px, 4vw, 52px); letter-spacing: -.04em; }
.tz-f__t b { display: block; font-size: 24px; letter-spacing: -.02em; } .tz-f__t span { display: block; margin-top: 6px; color: rgba(255,255,255,.6); font-size: 14.5px; line-height: 1.55; }
.tz-f__go, .tz-c__go, .tz-fm em { font-style: normal; font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; gap: 8px; }
.tz-f__go i, .tz-c__go i, .tz-fm em i { font-style: normal; transition: transform .3s var(--ease); }
.tz-f:hover .tz-f__go i, .tz-c:hover .tz-c__go i, .tz-fm:hover em i { transform: translateX(5px); }
.tz-list { padding: clamp(56px, 7vw, 100px) 0; background: #fff; }
.tz-list__head { display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; margin-bottom: 30px; } .tz-list__head p { margin: 0; color: var(--muted); }
.tz-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tz-c { display: flex; flex-direction: column; gap: 16px; padding: 14px 14px 22px; border-radius: 28px; background: #fff; border: 1px solid #ece7de; color: var(--ink); text-decoration: none; transition: transform .45s var(--ease), box-shadow .45s; }
.tz-c:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -50px rgba(13,13,15,.5); }
.tz-c__art { position: relative; height: 170px; border-radius: 20px; background: #faf7f2; display: grid; place-items: center; overflow: hidden; }
.tz-c__tag { position: absolute; left: 12px; top: 12px; font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: 5px 9px; border-radius: 999px; background: #fff; color: #4a4a52; }
.tz-c__t, .tz-c__go { padding: 0 8px; }
.tz-c__t b { display: block; font-size: 20px; letter-spacing: -.02em; } .tz-c__t span { display: block; margin-top: 6px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.tz-c__go { margin-top: auto; color: var(--red); }
.tz-a { width: 78%; }
.tz-a--chart b { font-size: 22px; letter-spacing: -.03em; } .tz-a--chart b small { font-size: 12px; color: var(--muted); font-weight: 600; } .tz-a--chart svg { width: 100%; height: 60px; margin-top: 8px; display: block; } .tz-a--chart .c0 { fill: rgba(244,59,47,.12); } .tz-a--chart .c1 { fill: none; stroke: var(--red); stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.tz-a--rc { background: #fff; border-radius: 8px; padding: 12px 14px; box-shadow: 0 14px 26px -18px rgba(13,13,15,.45); transform: rotate(-2deg); display: grid; gap: 6px; font-size: 11.5px; }
.tz-a--rc span { display: flex; justify-content: space-between; color: var(--muted); border-bottom: 1px dotted #e7e2d9; padding-bottom: 5px; } .tz-a--rc span em { font-style: normal; } .tz-a--rc span.t { border: 0; color: var(--ink); font-weight: 700; } .tz-a--rc span.t em:last-child { color: var(--red); }
.tz-a--yl { text-align: center; } .tz-a--yl b { font-size: 40px; letter-spacing: -.04em; } .tz-a--yl small { display: block; color: var(--muted); font-size: 12px; } .tz-a--yl div { display: grid; gap: 5px; margin-top: 10px; } .tz-a--yl i { display: block; height: 7px; border-radius: 4px; width: var(--w); background: #ddd6ca; } .tz-a--yl i.r { background: var(--red); margin-left: auto; } .tz-a--yl i.k { background: var(--ink); }
.tz-a--vs { display: flex; justify-content: center; align-items: center; gap: 10px; } .tz-a--vs span { padding: 12px 16px; border-radius: 14px; background: #fff; font-weight: 700; font-size: 14px; box-shadow: 0 10px 20px -16px rgba(13,13,15,.5); } .tz-a--vs span.on { background: var(--ink); color: #fff; } .tz-a--vs em { font-family: var(--serif); color: var(--red); font-size: 24px; }
.tz-a--cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; } .tz-a--cal i { height: 34px; border-radius: 8px; background: #fff; } .tz-a--cal i.on { background: var(--red); } .tz-a--cal small { grid-column: 1 / -1; text-align: center; color: var(--muted); font-size: 12px; margin-top: 4px; }
.tz-fm { margin-top: 16px; display: grid; grid-template-columns: auto 1fr auto; gap: 24px; align-items: center; padding: 24px 30px; border-radius: 28px; background: var(--ink); color: #fff; text-decoration: none; transition: transform .45s var(--ease); }
.tz-fm:hover { transform: translateY(-4px); }
.tz-fm__dots { display: flex; gap: 6px; } .tz-fm__dots i { width: 22px; height: 6px; border-radius: 3px; background: rgba(255,255,255,.18); } .tz-fm__dots i.on { background: var(--red); }
.tz-fm b { display: block; font-size: 19px; } .tz-fm span { color: rgba(255,255,255,.6); font-size: 14.5px; }
.tz-fm em { padding: 12px 18px; border-radius: 999px; background: #fff; color: var(--ink); }
@media (max-width: 1000px) { .tz__hero { grid-template-columns: 1fr; } .tz-grid { grid-template-columns: 1fr 1fr; } .tz-fm { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .tz-grid { grid-template-columns: 1fr; } }
.tz-a--rc { width: 66%; margin-top: 22px; }
/* Tool pages: colour + motion */
.mg, .bc, .yl, .af-hero, .tz { position: relative; overflow: hidden; isolation: isolate; }
.mg > .wrap, .bc > .wrap, .yl > .wrap, .af-hero > .wrap, .tz > .wrap { position: relative; z-index: 1; }
.t-aura { position: absolute; inset: 0 0 auto 0; height: 760px; z-index: 0; pointer-events: none; overflow: hidden; }
.t-aura i { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; animation: tAura 18s ease-in-out infinite alternate; }
.t-aura i:nth-child(1) { width: 520px; height: 520px; right: -80px; top: -160px; background: #ffb3a6; }
.t-aura i:nth-child(2) { width: 420px; height: 420px; right: 26%; top: -120px; background: #ffd9b8; animation-duration: 22s; animation-delay: -6s; }
.t-aura i:nth-child(3) { width: 360px; height: 360px; right: 8%; top: 220px; background: #f9c6d3; animation-duration: 26s; animation-delay: -12s; opacity: .4; }
@keyframes tAura { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-60px, 40px) scale(1.12); } 100% { transform: translate(40px, -20px) scale(.95); } }
@media (prefers-reduced-motion: reduce) { .t-aura i { animation: none; } }
.tsw { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 14px 0 6px; padding: 4px 0; }
.tsw__i { flex: none; display: inline-flex; align-items: center; gap: 9px; padding: 6px 14px 6px 6px; border-radius: 999px; background: rgba(255,255,255,.75); backdrop-filter: blur(8px); border: 1px solid rgba(13,13,15,.06); color: var(--ink); text-decoration: none; font-size: 13.5px; font-weight: 600; transition: transform .3s var(--ease), box-shadow .3s, background .3s; }
.tsw__i:hover { transform: translateY(-2px); box-shadow: 0 14px 24px -16px rgba(13,13,15,.45); background: #fff; }
.tsw__i i { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--tb); color: var(--tc); }
.tsw__i svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.tsw__i--ink { --tb: #ececea; --tc: #0d0d0f; } .tsw__i--red { --tb: #ffe1dd; --tc: #e2321f; } .tsw__i--coral { --tb: #ffe6d6; --tc: #e25b1b; } .tsw__i--amber { --tb: #fff0c7; --tc: #b07a00; } .tsw__i--mint { --tb: #d9f5e6; --tc: #128a46; } .tsw__i--sky { --tb: #dcecff; --tc: #1d5fd1; }
.tsw__i.is-on { background: var(--ink); color: #fff; border-color: var(--ink); } .tsw__i.is-on i { background: #fff; }
/* colour accents inside the tools */
.mg__viz { background: linear-gradient(150deg, #fff 55%, #fff3f0); }
.mg__chart { background: linear-gradient(180deg, #fff, #fffaf8); }
.mg__rates { background: linear-gradient(120deg, #0d0d0f 60%, #3a1410); }
.bc__ctrl { background: linear-gradient(160deg, #fff 60%, #fff7ec); }
.bc-rc__cash { background: linear-gradient(120deg, #0d0d0f 55%, #3a1410); }
.yl__out { background: linear-gradient(140deg, #0d0d0f 55%, #2b1512); }
.yl__live { background: linear-gradient(160deg, #fff 60%, #fff4f1); }
.af-out { background: linear-gradient(140deg, #0d0d0f 55%, #3a1410); }
.tz-c__art { background: linear-gradient(150deg, #faf7f2, #fff0ec); }
.tz-c:nth-child(2) .tz-c__art { background: linear-gradient(150deg, #faf7f2, #fff3dc); }
.tz-c:nth-child(3) .tz-c__art { background: linear-gradient(150deg, #faf7f2, #e5f7ee); }
.tz-c:nth-child(4) .tz-c__art { background: linear-gradient(150deg, #faf7f2, #e6f0ff); }
.tz-c:nth-child(5) .tz-c__art { background: linear-gradient(150deg, #faf7f2, #f8e8f1); }
.tz-c:nth-child(6) .tz-c__art { background: linear-gradient(150deg, #faf7f2, #fdeede); }
.tz-f { background: linear-gradient(140deg, #0d0d0f 50%, #3a1410); }
/* big numbers pop when they change */
.is-bump { animation: tBump .45s var(--ease); }
@keyframes tBump { 40% { transform: scale(1.04); color: var(--red); } }
.yl__net b.is-bump, .af-out__big.is-bump, .bc-rc__cash b.is-bump { animation-name: tBumpD; } @keyframes tBumpD { 40% { transform: scale(1.04); color: #ff8a7a; } }
.mg__big b, .yl__net b, .bc-rc__tot b, .af-out__big, .bc-rc__cash b { display: inline-block; transform-origin: left center; }
.mg__big b { transform-origin: right center; }
/* Tools: calmer and more comfortable */
.mg__big b, .yl__net b, .bc-rc__tot b, .af-out__big, .bc-rc__cash b { display: block; }
.bc-rc__tot b { display: inline-block; }
.t-aura i { opacity: .26; filter: blur(90px); }
.t-aura i:nth-child(1) { background: #ffc9bd; } .t-aura i:nth-child(2) { background: #ffe6cf; } .t-aura i:nth-child(3) { background: #f7dbe3; opacity: .2; }
.mg__ctrl, .mg__viz, .mg__chart, .bc__ctrl, .yl__ctrl, .yl__live, .tz-c, .af-in .af-ctrl { box-shadow: 0 24px 50px -44px rgba(13,13,15,.28); border-color: #efeae2; }
.mg__viz, .mg__chart, .bc__ctrl, .yl__live { background: #fff; }
/* one comfortable slider style for every tool */
.mg-f input, .yl-f input { -webkit-appearance: none; appearance: none; height: 6px; border-radius: 6px; background: linear-gradient(90deg, var(--red) var(--v, 30%), #ebe6dd var(--v, 30%)); margin: 10px 0 4px; cursor: pointer; }
.mg-f input::-webkit-slider-thumb, .yl-f input::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 5px solid var(--red); box-shadow: 0 4px 12px rgba(244,59,47,.35); transition: transform .2s; }
.mg-f input:active::-webkit-slider-thumb, .yl-f input:active::-webkit-slider-thumb { transform: scale(1.15); }
.mg-f input::-moz-range-thumb, .yl-f input::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 5px solid var(--red); }
.mg-f output, .yl-f output { transition: color .3s; }
.tsw__i { background: rgba(255,255,255,.9); }
/* ====== Warm palette: service pages + tools (not white everywhere) ======
   sand #f2e8da · blush #fbebe5 · cream #fbf6ef · wine #2a1210 · ink #0d0d0f · red */
:root { --sand: #f2e8da; --sand-2: #ead9c4; --blush: #fbebe5; --cream: #fbf6ef; --wine: #2a1210; }
/* service hero: warm sand with a soft red glow */
.sv-hero--split { background: radial-gradient(900px 520px at 85% 20%, rgba(244,59,47,.12), transparent 60%), linear-gradient(180deg, #f6ecdf, #fbf6ef); }
.page-service .sec.sv-list, .page-service .sv-list { background: var(--blush); }
.page-service .sv-list .sv-li, .page-service .sv-list article { background: #fff; }
.page-service .sv-scards { background: var(--cream); }
.page-service .sv-split { background: linear-gradient(180deg, var(--sand), #f6eee3); }
.page-service .sv-next { border-color: #eadfcf; }
.page-service .fq { background: var(--cream); }
.page-service .fq__i { background: #fff; }
.sv-relsec { background: var(--wine); color: #fff; }
.sv-relsec .eyebrow, .sv-relsec .h2 { color: #fff; } .sv-relsec .sec__head a { color: #ffb3a6; }
/* tools: warm sand base, blush notes, wine dark panels */
.mg, .bc, .yl, .af-hero, .tz { background: linear-gradient(180deg, #f5eadc 0%, #fbf6ef 70%); }
.t-aura i:nth-child(1) { background: #ffb8a8; opacity: .35; } .t-aura i:nth-child(2) { background: #ffd8b5; opacity: .35; }
.mg__rates, .bc-rc__cash, .yl__out, .af-out, .tz-f, .tz-fm { background: linear-gradient(135deg, #0d0d0f 30%, var(--wine)); }
.tz-list { background: var(--blush); }
.tz-c { border-color: #f0dcd4; }
.tn { background: linear-gradient(180deg, var(--blush), var(--cream)); }
.tn__c { background: #fff; border-color: #f0dcd4; }
.tn__grid--1 .tn__c { background: linear-gradient(120deg, #fff 55%, #fff4ef); }
.tn__chips a { background: #fff; border-color: #f0dcd4; }
.tn__chips a:hover { background: var(--red); border-color: var(--red); color: #fff; }
.cx { background: var(--cream); } .cx__ask { background: #fff; border: 1px solid #efe3d6; }
/* service pages: warm base + rhythm */
body.page-service { background: var(--cream); }
.page-service .sn-hero, .page-service .pm-hero, .page-service .cv-hero, .page-service .sv-hero--split { background: radial-gradient(900px 520px at 85% 15%, rgba(244,59,47,.11), transparent 60%), linear-gradient(180deg, #f4e7d6, var(--cream)) !important; }
.page-service .sn-lib, .page-service .sv-rings, .page-service .cv-docs, .page-service .pm-do, .page-service .sn-get { background: var(--blush); }
.page-service .sg-paper, .page-service .sv-track, .page-service .pm-keys, .page-service .cv-route, .page-service .cv-feat { background: var(--sand); }
.page-service .sg-pm { background: linear-gradient(180deg, var(--cream), var(--sand)); }
.page-service .pt-hero { background: radial-gradient(900px 520px at 85% 15%, rgba(244,59,47,.11), transparent 60%), linear-gradient(180deg, #f4e7d6, var(--cream)) !important; }
.page-service .sg-cal, .page-service .pt-lang, .page-service .iv-sim { background: var(--sand); }
.page-service .iv-why { background: var(--blush); }
/* older tools (rent vs buy, off-plan vs ready, service charge refund): same warm look */
.page-cms .ph:has(+ .sec .tool), .page-cms .ph:has(+ .tsw-wrap) { background: radial-gradient(900px 520px at 85% 15%, rgba(244,59,47,.11), transparent 60%), linear-gradient(180deg, #f4e7d6, var(--cream)); }
.page-cms .ph + .sec:has(.tool) { background: var(--cream); }
.tool { border-color: #efe3d6; box-shadow: 0 30px 60px -50px rgba(13,13,15,.35); }
.tool__in input:not([type=range]), .tool__in select { background: #fbf8f3; border-color: #ebe1d3; transition: border-color .2s, background .2s; }
.tool__in input:not([type=range]):focus, .tool__in select:focus { border-color: var(--red); background: #fff; outline: none; }
.tool__out { background: linear-gradient(160deg, #f7ede1, #fbebe5); }
.tool__big { background: linear-gradient(135deg, #0d0d0f 30%, var(--wine)); }
.tool__big b { transition: transform .3s; }
.mg-f[hidden], .yl-f[hidden] { display: none !important; }
/* Newsroom */
.nw-hero { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(180deg, #f5eadc, var(--cream)); padding: calc(var(--hdr) + 30px) 0 30px; }
.nw-hero > .wrap { position: relative; z-index: 1; }
.nw-hero__in { display: grid; grid-template-columns: 1.3fr 1fr; gap: 30px; align-items: end; margin: 18px 0 36px; }
.nw-hero__h { margin: 8px 0 16px; font-size: clamp(48px, 7vw, 104px); line-height: .92; letter-spacing: -.05em; } .nw-hero__h em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.nw-hero__p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.7; max-width: 46ch; }
.nw-hero__n { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; background: #fff; border: 1px solid #efe3d6; border-radius: 24px; overflow: hidden; }
.nw-hero__n div { padding: 20px; border-left: 1px solid #f1e8dc; } .nw-hero__n div:first-child { border-left: 0; }
.nw-hero__n dt { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 700; } .nw-hero__n dd { margin: 6px 0 0; font-size: clamp(32px, 3.4vw, 48px); letter-spacing: -.04em; font-weight: 800; }
.nw-marq { overflow: hidden; border-top: 1px solid #eadfcf; border-bottom: 1px solid #eadfcf; padding: 18px 0; mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.nw-marq > div { display: flex; gap: 56px; width: max-content; animation: nwM 40s linear infinite; } .nw-marq span { opacity: .7; font-size: 20px; white-space: nowrap; }
@keyframes nwM { to { transform: translateX(-50%); } }
.nw-top { background: var(--cream); padding: 40px 0 70px; }
.nw-top__in { display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px; }
.nw-lead { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 14px; padding: clamp(26px, 3.4vw, 44px); border-radius: 32px; background: linear-gradient(140deg, #0d0d0f 40%, var(--wine)); color: #fff; text-decoration: none; min-height: 460px; justify-content: flex-end; transition: transform .5s var(--ease); }
.nw-lead:hover { transform: translateY(-5px); }
.nw-lead::after { content: ""; position: absolute; right: -120px; top: -120px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.35), transparent 65%); }
.nw-lead__src { position: absolute; top: 30px; left: clamp(26px, 3.4vw, 44px); display: flex; gap: 12px; align-items: center; z-index: 1; } .nw-lead__src small { color: rgba(255,255,255,.6); }
.nw-lead__big { position: relative; z-index: 1; font-size: clamp(50px, 6vw, 92px); letter-spacing: -.05em; line-height: .9; color: #ff8a7a; }
.nw-lead h2 { position: relative; z-index: 1; margin: 0; font-size: clamp(24px, 2.6vw, 36px); letter-spacing: -.025em; line-height: 1.15; max-width: 26ch; }
.nw-lead p { position: relative; z-index: 1; margin: 0; color: rgba(255,255,255,.7); max-width: 54ch; }
.nw-lead em, .nw-sc em { position: relative; z-index: 1; font-style: normal; font-weight: 700; font-size: 14px; }
.nw-lead .pw { color: #fff; }
.nw-side { display: grid; gap: 16px; }
.nw-sc { display: flex; flex-direction: column; gap: 10px; padding: 26px; border-radius: 28px; background: #fff; border: 1px solid #efe3d6; color: var(--ink); text-decoration: none; transition: transform .45s var(--ease), box-shadow .45s; }
.nw-sc:hover { transform: translateY(-4px); box-shadow: 0 30px 60px -44px rgba(13,13,15,.45); }
.nw-sc__src { display: flex; gap: 10px; align-items: center; } .nw-sc__src small { color: var(--muted); }
.nw-sc b { font-size: 30px; letter-spacing: -.04em; color: var(--red); } .nw-sc h3 { margin: 0; font-size: 19px; line-height: 1.3; letter-spacing: -.01em; } .nw-sc em { margin-top: auto; color: var(--red); }
.nw-feed { background: var(--blush); padding: clamp(56px, 7vw, 100px) 0; }
.nw-feed__head { display: grid; gap: 18px; margin-bottom: 28px; }
.nw-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.nw-chips button { padding: 9px 16px; border-radius: 999px; border: 1px solid #efd9d0; background: #fff; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .2s, color .2s; }
.nw-chips button.is-on { background: var(--ink); color: #fff; border-color: var(--ink); }
.nw-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.nw-c { display: flex; flex-direction: column; gap: 14px; min-height: 220px; padding: 24px; border-radius: 24px; background: #fff; border: 1px solid #f1ddd5; color: var(--ink); text-decoration: none; transition: transform .4s var(--ease), box-shadow .4s; }
.nw-c:hover { transform: translateY(-4px); box-shadow: 0 30px 60px -46px rgba(13,13,15,.5); }
.nw-c.is-more { display: none; } .nw-grid.is-all .nw-c.is-more { display: flex; } .nw-c[hidden] { display: none !important; }
.nw-c__src { display: flex; gap: 10px; align-items: center; } .nw-c__src small { color: var(--muted); font-size: 13px; }
.nw-c h3 { margin: 0; font-size: 17px; line-height: 1.35; letter-spacing: -.01em; }
.nw-c__ft { margin-top: auto; display: flex; justify-content: space-between; align-items: center; } .nw-c__ft b { font-size: 14px; color: var(--red); background: #fff1ee; padding: 5px 10px; border-radius: 999px; } .nw-c__ft i { font-style: normal; margin-left: auto; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #f6efe6; transition: background .3s, color .3s; }
.nw-c:hover .nw-c__ft i { background: var(--red); color: #fff; }
.nw-more { margin-top: 18px; padding: 12px 22px; border-radius: 999px; border: 1px solid #efd9d0; background: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.nw-aw { background: linear-gradient(140deg, #0d0d0f 40%, var(--wine)); color: #fff; padding: clamp(60px, 8vw, 110px) 0; }
.nw-aw__in { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(30px, 6vw, 90px); align-items: start; } .nw-aw__in .btn { margin-top: 20px; }
.nw-aw__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.nw-aw__list li { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; padding: 18px 20px; border-radius: 20px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); }
.nw-aw__ic { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: rgba(245,179,1,.14); color: #f5c542; } .nw-aw__ic svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.nw-aw__list b { display: block; font-size: 16px; } .nw-aw__list small { color: rgba(255,255,255,.6); } .nw-aw__list em { font-style: normal; font-weight: 800; font-size: 18px; color: #f5c542; }
.nw-tl { background: var(--sand); padding: clamp(56px, 7vw, 100px) 0; }
.nw-tl__head { margin-bottom: 30px; }
.nw-tl__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.nw-tl__list li { padding: 22px 18px; border-radius: 22px; background: #fff; border: 1px solid #eadfcf; position: relative; }
.nw-tl__list li:last-child { background: var(--ink); color: #fff; border-color: var(--ink); }
.nw-tl__list span { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--red); } .nw-tl__list b { display: block; margin: 8px 0 6px; font-size: 17px; letter-spacing: -.01em; } .nw-tl__list p { margin: 0; font-size: 13.5px; color: var(--muted); line-height: 1.5; } .nw-tl__list li:last-child p { color: rgba(255,255,255,.65); }
.nw-media { background: var(--cream); padding: clamp(50px, 6vw, 90px) 0; }
.nw-media__in { display: flex; justify-content: space-between; align-items: center; gap: 30px; flex-wrap: wrap; padding: clamp(26px, 3.4vw, 44px); border-radius: 32px; background: #fff; border: 1px solid #efe3d6; }
.nw-media__in > div:first-child { max-width: 620px; } .nw-media__in p:not(.eyebrow) { color: var(--muted); margin: 10px 0 0; } .nw-media__btns { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 1000px) { .nw-hero__in, .nw-top__in, .nw-aw__in { grid-template-columns: 1fr; } .nw-grid { grid-template-columns: 1fr 1fr; } .nw-tl__list { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .nw-grid, .nw-tl__list { grid-template-columns: 1fr; } .nw-lead { min-height: 380px; } }
/* 3D map, full screen */
.at-full .at-hero { height: calc(100svh - var(--hdr)); min-height: 620px; margin-top: var(--hdr); }
.at-full .at-ui { padding-top: 34px; }
.at-full .at-h1 { font-size: clamp(44px, 5.6vw, 84px); }
.at-below { background: linear-gradient(180deg, var(--cream), var(--sand)); padding: clamp(56px, 7vw, 100px) 0; }
.at-below__head { display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; margin-bottom: 28px; }
.at-below__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.at-c { display: flex; flex-direction: column; gap: 6px; padding: 22px; border-radius: 24px; background: #fff; border: 1px solid #eadfcf; color: var(--ink); text-decoration: none; transition: transform .4s var(--ease), box-shadow .4s, background .3s, color .3s; }
.at-c:hover { transform: translateY(-4px); background: var(--ink); color: #fff; box-shadow: 0 30px 60px -40px rgba(13,13,15,.55); }
.at-c__n { font-family: var(--serif); font-style: italic; color: var(--red); font-size: 22px; } .at-c b { font-size: 18px; letter-spacing: -.01em; }
.at-c__m { color: var(--muted); font-size: 14px; } .at-c__m i { font-style: normal; font-weight: 800; color: var(--red); font-size: 18px; } .at-c small { color: var(--muted); } .at-c:hover .at-c__m, .at-c:hover small { color: rgba(255,255,255,.7); }
@media (max-width: 900px) { .at-below__grid { grid-template-columns: 1fr 1fr; } }
.at-full .at-hero { margin-top: 0; height: calc(100svh - var(--hdr)); }
/* ===== Guides: magazine reading layout ===== */
.gd-prog { position: fixed; top: var(--hdr); left: 0; right: 0; height: 3px; z-index: 60; background: transparent; pointer-events: none; }
.gd-prog i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--red), #ff8a5c); transition: width .1s linear; }
.gd-hero { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(180deg, #f4e7d6, var(--cream)); padding: calc(var(--hdr) + 28px) 0 clamp(40px, 5vw, 70px); }
.gd-hero__in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(30px, 5vw, 80px); align-items: end; }
.gd-k { display: inline-flex; align-items: center; gap: 10px; margin: 18px 0 14px; font-size: 13px; color: var(--muted); font-weight: 600; }
.gd-k span { padding: 5px 11px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
.gd-h { margin: 0 0 18px; font-size: clamp(42px, 6vw, 86px); line-height: .95; letter-spacing: -.045em; } .gd-h em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.gd-intro { margin: 0 0 24px; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.6; color: #3b3b40; max-width: 56ch; }
.gd-by { display: inline-flex; align-items: center; gap: 12px; padding: 8px 16px 8px 8px; border-radius: 999px; background: rgba(255,255,255,.7); border: 1px solid #eadfcf; font-size: 13px; color: var(--muted); }
.gd-by img { border-radius: 50%; background: #fff; } .gd-by b { display: block; color: var(--ink); font-size: 14px; }
.gd-card { padding: 26px; border-radius: 28px; background: linear-gradient(150deg, #0d0d0f 45%, var(--wine)); color: #fff; box-shadow: 0 50px 90px -50px rgba(13,13,15,.6); }
.gd-card > p { margin: 0 0 12px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.55); font-weight: 700; }
.gd-card ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; }
.gd-card a { display: flex; gap: 12px; align-items: baseline; padding: 9px 10px; border-radius: 12px; color: #fff; text-decoration: none; font-size: 15px; line-height: 1.35; transition: background .25s; }
.gd-card a:hover { background: rgba(255,255,255,.07); } .gd-card a i { font-style: normal; font-family: var(--serif); color: #ff8a7a; font-size: 16px; min-width: 22px; }
.gd-card li.more { padding: 8px 10px; color: rgba(255,255,255,.5); font-size: 13px; }
.cx--guide { background: var(--cream); padding-top: clamp(40px, 5vw, 70px); }
.cx--guide .cx__in { grid-template-columns: 240px minmax(0, 720px); }
.cx--guide .cx__toc nav a { position: relative; padding-left: 14px; transition: color .25s; }
.cx--guide .cx__toc nav a::before { content: ""; position: absolute; left: 0; top: 50%; width: 3px; height: 0; border-radius: 3px; background: var(--red); transform: translateY(-50%); transition: height .3s var(--ease); }
.cx--guide .cx__toc nav a.is-on { color: var(--ink); font-weight: 700; } .cx--guide .cx__toc nav a.is-on::before { height: 70%; }
.prose--guide { counter-reset: gh; font-size: 17px; }
.prose--guide > p:first-child { font-size: 20px; line-height: 1.6; color: var(--ink); }
.prose--guide h2 { counter-increment: gh; position: relative; margin-top: 2.2em; padding-top: 28px; border-top: 1px solid #eadfcf; font-size: clamp(26px, 2.6vw, 34px); letter-spacing: -.025em; scroll-margin-top: calc(var(--hdr) + 30px); }
.prose--guide h2::before { content: counter(gh, decimal-leading-zero); display: block; margin-bottom: 8px; font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 20px; color: var(--red); }
.prose--guide h3 { margin-top: 1.6em; font-size: 20px; letter-spacing: -.01em; padding-left: 14px; border-left: 3px solid var(--red); }
.prose--guide ul { list-style: none; padding-left: 0; } .prose--guide ul li { position: relative; padding-left: 26px; margin-bottom: 10px; }
.prose--guide ul li::before { content: ""; position: absolute; left: 4px; top: .6em; width: 9px; height: 9px; border-radius: 3px; background: var(--red); transform: rotate(45deg); }
.prose--guide ol { padding-left: 0; list-style: none; counter-reset: go; } .prose--guide ol li { counter-increment: go; position: relative; padding-left: 40px; margin-bottom: 12px; }
.prose--guide ol li::before { content: counter(go); position: absolute; left: 0; top: 0; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: #fff; font-size: 13px; font-weight: 700; }
.prose--guide table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 24px 0; background: #fff; border: 1px solid #eadfcf; border-radius: 18px; overflow: hidden; font-size: 15px; box-shadow: 0 24px 50px -44px rgba(13,13,15,.35); }
.prose--guide th { background: var(--ink); color: #fff; text-align: left; font-weight: 700; padding: 13px 16px; font-size: 13px; letter-spacing: .02em; }
.prose--guide td { padding: 12px 16px; border-top: 1px solid #f1e8dc; } .prose--guide tbody tr:nth-child(even) td { background: #fcf8f3; }
.prose--guide tbody tr:last-child td { font-weight: 700; }
.prose--guide strong { color: var(--ink); } .prose--guide a { color: var(--red); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.prose--guide blockquote { margin: 26px 0; padding: 20px 24px; border-radius: 18px; background: var(--blush); border: 0; font-size: 17px; }
@media (max-width: 1000px) { .gd-hero__in { grid-template-columns: 1fr; } .cx--guide .cx__in { grid-template-columns: 1fr; } }
/* Guides hub */
.gh { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(180deg, #f4e7d6, var(--cream)); padding: calc(var(--hdr) + 30px) 0 clamp(50px, 6vw, 80px); }
.gh > .wrap { position: relative; z-index: 1; }
.gh__in { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(30px, 5vw, 80px); align-items: center; margin-top: 18px; }
.gh__h { margin: 8px 0 16px; font-size: clamp(46px, 6.6vw, 98px); line-height: .92; letter-spacing: -.05em; } .gh__h em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.gh__p { margin: 0 0 22px; color: var(--muted); font-size: 17px; line-height: 1.7; max-width: 50ch; }
.gh__s { display: flex; align-items: center; gap: 10px; max-width: 560px; padding: 0 18px; border-radius: 18px; background: #fff; border: 1px solid #eadfcf; color: var(--muted); box-shadow: 0 20px 40px -34px rgba(13,13,15,.4); }
.gh__s input { flex: 1; border: 0; background: none; padding: 16px 0; font: inherit; font-size: 16px; color: var(--ink); outline: none; }
.gh__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.gh-start { display: grid; gap: 12px; padding: clamp(24px, 3vw, 34px); border-radius: 32px; background: linear-gradient(140deg, #0d0d0f 45%, var(--wine)); color: #fff; text-decoration: none; box-shadow: 0 60px 100px -60px rgba(13,13,15,.7); transition: transform .5s var(--ease); }
.gh-start:hover { transform: translateY(-6px); }
.gh-start__tag { justify-self: start; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding: 7px 12px; border-radius: 999px; background: var(--red); }
.gh-start b { font-size: clamp(28px, 3vw, 40px); letter-spacing: -.03em; } .gh-start > span { color: rgba(255,255,255,.65); line-height: 1.55; }
.gh-start ol { list-style: none; counter-reset: s; padding: 0; margin: 6px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.gh-start ol li { counter-increment: s; padding: 10px 12px; border-radius: 14px; background: rgba(255,255,255,.06); font-size: 14px; } .gh-start ol li::before { content: counter(s, decimal-leading-zero) "  "; font-family: var(--serif); font-style: italic; color: #ff8a7a; }
.gh-start em { font-style: normal; font-weight: 700; font-size: 14px; display: inline-flex; gap: 8px; } .gh-start em i { font-style: normal; transition: transform .3s; } .gh-start:hover em i { transform: translateX(5px); }
.gh-list { background: var(--cream); padding: 30px 0 clamp(60px, 8vw, 110px); }
.gh-g { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(20px, 4vw, 50px); padding: 34px 0; border-top: 1px solid #eadfcf; scroll-margin-top: calc(var(--hdr) + 20px); }
.gh-g__h { position: sticky; top: calc(var(--hdr) + 30px); align-self: start; }
.gh-g__h h2 { margin: 0; font-size: clamp(24px, 2.4vw, 32px); letter-spacing: -.03em; display: flex; align-items: center; gap: 12px; }
.gh-g__h h2::before { content: ""; width: 12px; height: 12px; border-radius: 4px; background: var(--tc); transform: rotate(45deg); }
.gh-g__h p { margin: 8px 0 0; color: var(--muted); }
.gh-g--red { --tb: #ffe1dd; --tc: #e2321f; } .gh-g--amber { --tb: #fff0c7; --tc: #b07a00; } .gh-g--coral { --tb: #ffe6d6; --tc: #e25b1b; } .gh-g--sky { --tb: #dcecff; --tc: #1d5fd1; } .gh-g--mint { --tb: #d9f5e6; --tc: #128a46; }
.gh-g__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.gh-c { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 8px; min-height: 210px; padding: 22px; border-radius: 24px; background: #fff; border: 1px solid #eee2d4; color: var(--ink); text-decoration: none; transition: transform .4s var(--ease), box-shadow .4s; }
.gh-c::after { content: ""; position: absolute; right: -40px; top: -40px; width: 140px; height: 140px; border-radius: 50%; background: var(--tb); opacity: .8; transition: transform .6s var(--ease); }
.gh-c:hover { transform: translateY(-5px); box-shadow: 0 34px 60px -44px rgba(13,13,15,.5); } .gh-c:hover::after { transform: scale(1.4); }
.gh-c > * { position: relative; z-index: 1; }
.gh-c__n { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--tc); }
.gh-c b { font-size: 19px; letter-spacing: -.02em; } .gh-c__d { color: var(--muted); font-size: 14px; line-height: 1.55; }
.gh-c__ft { margin-top: auto; display: flex; justify-content: space-between; align-items: center; } .gh-c__ft small { color: var(--muted); font-weight: 600; } .gh-c__ft i { font-style: normal; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--tb); color: var(--tc); transition: background .3s, color .3s; }
.gh-c:hover .gh-c__ft i { background: var(--tc); color: #fff; }
.gh-c[hidden], .gh-g[hidden] { display: none !important; } .gh-none { text-align: center; color: var(--muted); padding: 30px 0; }
@media (max-width: 1000px) { .gh__in, .gh-g { grid-template-columns: 1fr; } .gh-g__h { position: static; } .gh-g__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .gh-g__grid { grid-template-columns: 1fr; } .gh-start ol { grid-template-columns: 1fr; } }
/* List your property: a live visual for each of the first 14 days */
.lp-day figure.lp-mk { background: radial-gradient(600px 400px at 70% 20%, rgba(244,59,47,.22), transparent 60%), linear-gradient(150deg, #1b1b1f, #2a1210); display: grid; place-items: center; padding: clamp(16px, 2.4vw, 30px); }
.lp-mk img { transform: none !important; }
.lp-mk figcaption { z-index: 3; }
.lp-mk > div { width: 100%; max-width: 560px; position: relative; }
.mk-note { margin: 10px 0 0; font-size: 11px; color: rgba(255,255,255,.45); text-align: right; letter-spacing: .04em; }
.lp-day.is-on .lp-mk > div > * { animation: lpUp .7s var(--ease) both; } .lp-day.is-on .lp-mk > div > *:nth-child(2) { animation-delay: .1s; } .lp-day.is-on .lp-mk > div > *:nth-child(3) { animation-delay: .2s; } .lp-day.is-on .lp-mk > div > *:nth-child(4) { animation-delay: .3s; }
/* day 0 valuation */
.mk-val { display: grid; gap: 10px; }
.mk-val__home { display: flex; gap: 12px; align-items: center; padding: 10px; border-radius: 18px; background: rgba(255,255,255,.08); color: #fff; }
.mk-val__home img { width: 70px; height: 56px; object-fit: cover; border-radius: 12px; } .mk-val__home b { display: block; } .mk-val__home span { font-size: 13px; color: rgba(255,255,255,.6); }
.mk-val__est { padding: 18px; border-radius: 18px; background: #fff; color: var(--ink); }
.mk-val__est small { font-size: 12px; color: var(--muted); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; } .mk-val__est > b { display: block; font-size: clamp(28px, 3vw, 40px); letter-spacing: -.04em; margin: 4px 0 14px; }
.mk-val__rng { position: relative; height: 34px; } .mk-val__rng::before { content: ""; position: absolute; left: 0; right: 0; top: 6px; height: 8px; border-radius: 8px; background: #efe9e1; }
.mk-val__rng i { position: absolute; top: 6px; height: 8px; border-radius: 8px; background: linear-gradient(90deg, #ff8a7a, var(--red)); }
.mk-val__rng span { position: absolute; top: 18px; font-size: 12px; color: var(--muted); font-weight: 600; } .mk-val__rng span:last-child { transform: translateX(50%); } .mk-val__rng span:first-of-type { transform: translateX(-50%); }
.mk-val__comps { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.mk-val__comps li { display: flex; justify-content: space-between; padding: 10px 14px; border-radius: 14px; background: rgba(255,255,255,.06); color: #fff; font-size: 13.5px; } .mk-val__comps span { color: rgba(255,255,255,.65); }
/* day 1 photo and video */
.mk-ph { aspect-ratio: 16 / 11; }
.mk-ph__main { width: 100%; height: 100%; object-fit: cover; border-radius: 20px; display: block; }
.mk-ph__vid { position: absolute; right: -10px; top: -10px; width: 46%; border-radius: 16px; overflow: hidden; box-shadow: 0 24px 40px -16px rgba(0,0,0,.6); border: 3px solid #fff; }
.mk-ph__vid video { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.mk-ph__vid span { position: absolute; left: 8px; bottom: 8px; display: inline-flex; gap: 6px; align-items: center; font-size: 11.5px; font-weight: 700; color: #fff; background: rgba(0,0,0,.55); padding: 4px 8px; border-radius: 999px; } .mk-ph__vid span i { width: 7px; height: 7px; border-radius: 50%; background: var(--red); animation: fqPulse 1.6s infinite; }
.mk-ph__strip { position: absolute; left: 12px; bottom: -14px; display: flex; gap: 6px; align-items: center; } .mk-ph__strip img { width: 56px; height: 42px; object-fit: cover; border-radius: 10px; border: 2px solid #fff; } .mk-ph__strip span { font-size: 12px; font-weight: 700; color: #fff; background: var(--ink); padding: 6px 10px; border-radius: 999px; }
.mk-ph__fp { position: absolute; right: 12px; bottom: 12px; font-size: 12px; font-weight: 700; padding: 6px 10px; border-radius: 999px; background: #fff; color: var(--ink); }
.lp-mk--1 figcaption { bottom: auto; top: 18px; }
/* day 2 live + permit */
.mk-live { display: grid; gap: 10px; }
.mk-live__card { display: grid; grid-template-columns: 1fr 1.1fr; border-radius: 20px; overflow: hidden; background: #fff; color: var(--ink); }
.mk-live__card img { width: 100%; height: 100%; object-fit: cover; min-height: 150px; }
.mk-live__b { padding: 16px; display: flex; flex-direction: column; gap: 4px; } .mk-live__b b { font-size: 24px; letter-spacing: -.03em; } .mk-live__b small { color: var(--muted); }
.mk-live__on { display: inline-flex; gap: 6px; align-items: center; align-self: flex-start; font-size: 11.5px; font-weight: 800; color: #128a46; background: #e3f7ec; padding: 5px 9px; border-radius: 999px; } .mk-live__on i { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; animation: fqPulse 1.6s infinite; }
.mk-live__also { margin-top: auto; font-size: 12px; color: var(--muted); }
.mk-live__permit { display: flex; gap: 14px; align-items: center; padding: 12px; border-radius: 18px; background: rgba(255,255,255,.08); color: #fff; }
.mk-qr { width: 78px; height: 78px; flex: none; background: #fff; padding: 5px; border-radius: 10px; fill: #0d0d0f; shape-rendering: crispEdges; }
.mk-live__permit small { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.55); font-weight: 700; } .mk-live__permit b { display: block; font-size: 17px; } .mk-live__permit span { font-size: 12.5px; color: rgba(255,255,255,.65); }
/* day 3 whatsapp */
.mk-wa { border-radius: 22px; overflow: hidden; background: #efe7dd; }
.mk-wa__top { display: flex; gap: 10px; align-items: center; padding: 10px 14px; background: #075e54; color: #fff; } .mk-wa__av { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--ink); font-size: 10px; font-weight: 800; } .mk-wa__top small { display: block; font-size: 11.5px; opacity: .75; }
.mk-wa__chat { padding: 14px; display: grid; gap: 8px; background: #ece5dd; }
.mk-wa__m { max-width: 78%; padding: 8px 10px 4px; border-radius: 12px; font-size: 13px; line-height: 1.4; color: #111; position: relative; box-shadow: 0 1px 1px rgba(0,0,0,.08); } .mk-wa__m p { margin: 0; }
.mk-wa__m--out { justify-self: end; background: #dcf8c6; border-top-right-radius: 4px; } .mk-wa__m--in { justify-self: start; background: #fff; border-top-left-radius: 4px; }
.mk-wa__m img { width: 100%; height: 90px; object-fit: cover; border-radius: 8px; margin-bottom: 6px; display: block; }
.mk-wa__m time { display: block; text-align: right; font-size: 10.5px; color: #667; margin-top: 2px; }
.lp-day.is-on .mk-wa__m { animation: mkIn .5s var(--ease) both; } .lp-day.is-on .mk-wa__m:nth-child(2) { animation-delay: .5s; } .lp-day.is-on .mk-wa__m:nth-child(3) { animation-delay: 1s; } .lp-day.is-on .mk-wa__m:nth-child(4) { animation-delay: 1.6s; }
@keyframes mkIn { from { opacity: 0; transform: translateY(8px) scale(.97); } }
.mk-wa__typing { justify-self: start; display: flex; gap: 4px; padding: 10px 12px; border-radius: 12px; background: #fff; } .mk-wa__typing i { width: 6px; height: 6px; border-radius: 50%; background: #999; animation: mkDot 1.2s infinite; } .mk-wa__typing i:nth-child(2) { animation-delay: .2s; } .mk-wa__typing i:nth-child(3) { animation-delay: .4s; }
@keyframes mkDot { 0%, 60%, 100% { opacity: .3; transform: none; } 30% { opacity: 1; transform: translateY(-3px); } }
.mk-wa .mk-note { color: #8a7f72; padding: 0 14px 10px; background: #ece5dd; margin: 0; }
/* day 7 report */
.mk-rep { padding: 18px; border-radius: 22px; background: #fff; color: var(--ink); }
.mk-rep__h { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; } .mk-rep__h small { color: var(--muted); }
.mk-rep__k { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .mk-rep__k div { padding: 12px; border-radius: 14px; background: #faf6f0; }
.mk-rep__k small { font-size: 11.5px; color: var(--muted); font-weight: 700; } .mk-rep__k b { display: block; font-size: 26px; letter-spacing: -.03em; } .mk-rep__k em { font-style: normal; font-size: 11.5px; color: #128a46; font-weight: 700; }
.mk-rep__ch { display: flex; gap: 8px; align-items: flex-end; height: 90px; margin: 14px 0 10px; }
.mk-rep__ch span { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 4px; } .mk-rep__ch i { width: 100%; height: var(--h); border-radius: 6px 6px 3px 3px; background: linear-gradient(180deg, #ff8a7a, var(--red)); transform-origin: bottom; } .mk-rep__ch small { font-size: 10px; color: var(--muted); }
.lp-day.is-on .mk-rep__ch i { animation: mkBar .8s var(--ease) both; } @keyframes mkBar { from { transform: scaleY(0); } }
.mk-rep blockquote { margin: 0; padding: 10px 12px; border-radius: 12px; background: #fbebe5; font-size: 13px; } .mk-rep .mk-note { color: var(--muted); }
/* day 14 offers */
.mk-off { padding: 18px; border-radius: 22px; background: #fff; color: var(--ink); }
.mk-off__h { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; } .mk-off__h small { color: var(--muted); }
.mk-off ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.mk-off li { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; border-radius: 14px; border: 1px solid #efe7dc; } .mk-off li b { display: block; font-size: 18px; letter-spacing: -.02em; } .mk-off li span { font-size: 12.5px; color: var(--muted); }
.mk-off li.is-best { border-color: #22c55e; background: #f0fbf4; } .mk-off li em { font-style: normal; font-size: 12px; font-weight: 800; padding: 5px 10px; border-radius: 999px; background: #22c55e; color: #fff; } .mk-off li em.c { background: #fff0c7; color: #8a5a00; } .mk-off li em.d { background: #f1efe9; color: var(--muted); }
.mk-off__ft { margin-top: 12px; display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; background: var(--ink); color: #fff; font-size: 13px; } .mk-off__ft b { padding: 8px 16px; border-radius: 999px; background: var(--red); font-size: 13px; }
.mk-off .mk-note { color: var(--muted); }
@media (max-width: 600px) { .mk-live__card { grid-template-columns: 1fr; } .mk-ph__vid { width: 55%; } }
/* "One advisor. Either way." richer cards */
.lp-modes { background: linear-gradient(180deg, var(--blush), var(--cream)); }
.lp-mode__grid li { position: relative; overflow: hidden; background: #fff; border-color: #f1ddd5; padding: 24px 24px 22px; display: flex; flex-direction: column; }
.lp-mode__grid li > span { position: absolute; right: 18px; top: 12px; font-size: 64px; color: rgba(244,59,47,.12); }
.lp-mode__ic { width: 50px; height: 50px; border-radius: 16px; display: grid; place-items: center; background: linear-gradient(140deg, #ffe1dd, #fff0e6); color: var(--red); margin-bottom: 6px; transition: transform .4s var(--ease), background .4s, color .4s; }
.lp-mode__ic svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.lp-mode__grid li:hover .lp-mode__ic { background: var(--red); color: #fff; transform: rotate(-6deg) scale(1.06); }
.lp-mode__ok { margin-top: 16px; align-self: flex-start; font-style: normal; font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #128a46; background: #e3f7ec; padding: 5px 10px; border-radius: 999px; }
.lp-mode[data-lpm-p="rent"] .lp-mode__ic { background: linear-gradient(140deg, #dcecff, #eef5ff); color: #1d5fd1; } .lp-mode[data-lpm-p="rent"] li > span { color: rgba(29,95,209,.12); } .lp-mode[data-lpm-p="rent"] li:hover .lp-mode__ic { background: #1d5fd1; color: #fff; }
@media (max-width: 700px) { .lp-mode__grid li { display: flex; } .lp-mode__grid li > span { font-size: 44px; } }
.lp-day figure.lp-mk { aspect-ratio: auto; min-height: 420px; overflow: visible; }
.lp-mk p { max-width: none; }
.lp-mk .mk-note { font-size: 11px !important; color: rgba(255,255,255,.45) !important; text-align: right; }
.lp-mk .mk-wa__m p { color: #111; font-size: 13px; }
.lp-mk .mk-wa .mk-note, .lp-mk .mk-rep .mk-note, .lp-mk .mk-off .mk-note { color: #8a7f72 !important; }
.lp-mk figcaption { left: 14px; bottom: 14px; }
.prose--guide h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.gd-h { font-size: clamp(38px, 5vw, 72px); }
/* News story pages */
.ns-hero { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(180deg, #f4e7d6, var(--cream)); padding: calc(var(--hdr) + 28px) 0 clamp(40px, 5vw, 64px); }
.ns-hero__in { position: relative; z-index: 1; max-width: 1000px; }
.ns-k { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 18px 0 16px; font-size: 14px; color: var(--muted); }
.ns-k > span { padding: 5px 11px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; } .ns-k i { font-style: normal; }
.ns-h { margin: 0; font-size: clamp(34px, 4.6vw, 66px); line-height: 1.02; letter-spacing: -.04em; }
.ns-big { margin: 22px 0 0; font-size: clamp(54px, 8vw, 120px); line-height: .9; letter-spacing: -.05em; font-weight: 800; color: var(--red); }
.ns-body { background: var(--cream); padding: clamp(40px, 5vw, 70px) 0; }
.ns-body__in { display: grid; grid-template-columns: minmax(0, 720px) 320px; gap: clamp(30px, 6vw, 90px); justify-content: center; }
.ns-art > p:first-child { font-size: 21px; } .ns-art .btn { text-decoration: none; color: #fff; }
.ns-side { position: sticky; top: calc(var(--hdr) + 24px); align-self: start; display: grid; gap: 12px; }
.ns-card { padding: 24px; border-radius: 24px; background: linear-gradient(140deg, #0d0d0f 45%, var(--wine)); color: #fff; display: grid; gap: 8px; }
.ns-card > p { margin: 0; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); font-weight: 700; } .ns-card b { font-size: 20px; } .ns-card span { color: rgba(255,255,255,.65); font-size: 14px; margin-bottom: 8px; }
.ns-card__wa { text-align: center; padding: 12px; border-radius: 999px; background: #25d366; color: #fff; font-weight: 700; text-decoration: none; }
.ns-next { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: center; padding: 18px 20px; border-radius: 20px; background: #fff; border: 1px solid #eadfcf; color: var(--ink); text-decoration: none; }
.ns-next small { color: var(--muted); font-size: 12px; } .ns-next b { grid-column: 1; } .ns-next i { grid-row: 1 / 3; grid-column: 2; font-style: normal; color: var(--red); font-size: 20px; }
.ns-more { background: var(--blush); padding: clamp(50px, 6vw, 90px) 0; }
.ns-more__head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 24px; } .ns-more__head a { color: var(--red); font-weight: 700; text-decoration: none; }
@media (max-width: 1000px) { .ns-body__in { grid-template-columns: 1fr; } .ns-side { position: static; } }
/* How we market: four live tiles */
.mk2 { background: var(--blush); padding: clamp(56px, 7vw, 100px) 0; }
.mk2__head { display: grid; grid-template-columns: 1.2fr 1fr; gap: 30px; align-items: end; margin-bottom: 30px; } .mk2__head > p { margin: 0; color: var(--muted); font-size: 17px; }
.mk2__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.mk2__t { border-radius: 30px; overflow: hidden; background: #fff; border: 1px solid #f1ddd5; display: flex; flex-direction: column; transition: transform .45s var(--ease), box-shadow .45s; }
.mk2__t:hover { transform: translateY(-5px); box-shadow: 0 40px 70px -50px rgba(13,13,15,.55); }
.mk2__v.lp-mk { position: relative; display: grid; place-items: center; min-height: 360px; padding: 30px; background: radial-gradient(600px 400px at 70% 20%, rgba(244,59,47,.22), transparent 60%), linear-gradient(150deg, #1b1b1f, #2a1210); }
.mk2__v .mk-note { display: none; }
.mk2__b { padding: 24px 26px 28px; display: grid; grid-template-columns: auto 1fr; column-gap: 16px; }
.mk2__b span { grid-row: span 2; font-family: var(--serif); font-style: italic; font-size: 34px; color: var(--red); line-height: 1; }
.mk2__b h3 { margin: 0 0 6px; font-size: 21px; letter-spacing: -.02em; } .mk2__b p { margin: 0; color: var(--muted); }
.mk2 .mk-wa__m, .mk2 .mk-ph > *, .mk2 .mk-live > * { animation: none !important; }
.mk-web { width: 100%; max-width: 460px; border-radius: 16px; overflow: hidden; background: #fff; color: var(--ink); box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); }
.mk-web__bar { display: flex; align-items: center; gap: 6px; padding: 10px 12px; background: #f1eee9; } .mk-web__bar i { width: 9px; height: 9px; border-radius: 50%; background: #ddd5ca; } .mk-web__bar i:first-child { background: #ff6159; } .mk-web__bar i:nth-child(2) { background: #ffbd2e; } .mk-web__bar i:nth-child(3) { background: #28c941; }
.mk-web__bar span { margin-left: 8px; flex: 1; font-size: 11.5px; color: var(--muted); background: #fff; padding: 5px 10px; border-radius: 8px; }
.mk-web img { width: 100%; height: 170px; object-fit: cover; display: block; }
.mk-web__b { padding: 14px 16px; display: grid; gap: 4px; } .mk-web__b strong { font-size: 24px; letter-spacing: -.03em; } .mk-web__b small { color: var(--muted); }
.mk-web__l { display: flex; gap: 4px; margin-bottom: 4px; } .mk-web__l b { font-size: 11px; padding: 4px 9px; border-radius: 999px; background: #f3efe8; } .mk-web__l b.is-on { background: var(--ink); color: #fff; }
.mk-web__b em { font-style: normal; font-size: 12px; font-weight: 700; color: #128a46; display: inline-flex; gap: 6px; align-items: center; } .mk-web__b em i { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; }
@media (max-width: 900px) { .mk2__head, .mk2__grid { grid-template-columns: 1fr; } }
/* Service "The details": dark cards instead of a grey text block */
.sv-dt { background: linear-gradient(140deg, #0d0d0f 40%, var(--wine)); color: #fff; padding: clamp(56px, 7vw, 100px) 0; }
.sv-dt__head { margin-bottom: 28px; }
.sv-dt__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .sv-dt__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .sv-dt__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sv-dt__c { padding: 26px; border-radius: 24px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); transition: border-color .4s, transform .4s var(--ease); }
.sv-dt__c:hover { border-color: rgba(244,59,47,.6); transform: translateY(-4px); }
.sv-dt__c > span { font-family: var(--serif); font-style: italic; color: #ff8a7a; font-size: 26px; } .sv-dt__c h3 { margin: 8px 0 14px; font-size: 21px; letter-spacing: -.02em; }
.sv-dt__c ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; } .sv-dt__c li { position: relative; padding-left: 26px; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.5; }
.sv-dt__c li::before { content: ""; position: absolute; left: 0; top: .25em; width: 16px; height: 16px; border-radius: 50%; background: rgba(244,59,47,.2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' fill='none' stroke='%23ff8a7a' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center / 11px no-repeat; }
.sv-dt__c p { color: rgba(255,255,255,.72); margin: 10px 0 0; } .sv-dt__c a { color: #ff8a7a; }
@media (max-width: 1000px) { .sv-dt__grid, .sv-dt__grid--3, .sv-dt__grid--4 { grid-template-columns: 1fr 1fr; } } @media (max-width: 600px) { .sv-dt__grid, .sv-dt__grid--3, .sv-dt__grid--4 { grid-template-columns: 1fr; } }
/* List your property: live asking prices */
.lp-ask { background: linear-gradient(180deg, var(--sand), var(--cream)); padding: clamp(56px, 7vw, 100px) 0; }
.lp-ask__in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(30px, 6vw, 90px); align-items: center; }
.lp-ask__side p:not(.eyebrow) { color: var(--muted); font-size: 16px; line-height: 1.7; margin: 14px 0 22px; max-width: 42ch; }
.lp-ask__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.lp-ask__list a { display: grid; grid-template-columns: 34px minmax(0, 1.1fr) minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 18px 22px; border-radius: 20px; background: #fff; border: 1px solid #eadfcf; color: var(--ink); text-decoration: none; transition: transform .35s var(--ease), box-shadow .35s; }
.lp-ask__list a:hover { transform: translateX(6px); box-shadow: 0 24px 50px -40px rgba(13,13,15,.5); }
.lp-ask__n { font-family: var(--serif); font-style: italic; color: var(--red); font-size: 20px; }
.lp-ask__t b { display: block; font-size: 16px; } .lp-ask__t small { color: var(--muted); font-size: 13px; }
.lp-ask__bar { height: 8px; border-radius: 8px; background: #f1ebe2; overflow: hidden; } .lp-ask__bar i { display: block; height: 100%; width: var(--w); border-radius: 8px; background: linear-gradient(90deg, #ff9a8a, var(--red)); }
.lp-ask__v { font-size: 20px; font-weight: 800; letter-spacing: -.02em; white-space: nowrap; } .lp-ask__v small { font-size: 12px; color: var(--muted); font-weight: 600; margin-left: 2px; }
@media (max-width: 900px) { .lp-ask__in { grid-template-columns: 1fr; } .lp-ask__list a { grid-template-columns: 28px 1fr auto; } .lp-ask__bar { display: none; } }
.ns-src { margin-top: 30px; } .ns-art .btn--ghost { color: var(--ink); }
/* Day 0: full photo with a floating valuation card */
.lp-day figure.lp-mk--0 { padding: 0; overflow: hidden; display: block; min-height: 0; aspect-ratio: 16 / 10; }
.lp-mk--0 > .mk-val2 { max-width: none; height: 100%; }
.mk-val2 img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mk-val2__card { position: absolute; right: 18px; top: 18px; width: min(300px, 70%); padding: 18px 20px; border-radius: 20px; background: rgba(255,255,255,.95); backdrop-filter: blur(8px); color: var(--ink); box-shadow: 0 30px 50px -24px rgba(0,0,0,.55); }
.mk-val2__card small { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 700; } .mk-val2__card b { display: block; font-size: 30px; letter-spacing: -.04em; margin: 4px 0; } .mk-val2__card span { display: block; font-size: 13px; color: var(--muted); } .mk-val2__card em { display: block; margin-top: 10px; font-style: normal; font-size: 12px; font-weight: 700; color: #128a46; }
.lp-day.is-on .mk-val2__card { animation: lpUp .8s .2s var(--ease) both; }
/* FAQ hub v2 */
.fqh { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(180deg, #f4e7d6, var(--cream)); padding: calc(var(--hdr) + 28px) 0 clamp(40px, 5vw, 64px); }
.fqh__in { position: relative; z-index: 1; text-align: center; }
.fqh__in .crumbs { justify-content: center; }
.fqh__h { margin: 10px 0 14px; font-size: clamp(48px, 7vw, 104px); line-height: .92; letter-spacing: -.05em; } .fqh__h em { font-family: var(--serif); font-weight: 400; color: var(--red); }
.fqh__p { margin: 0 auto 28px; max-width: 56ch; color: var(--muted); font-size: 17px; line-height: 1.7; }
.fqh__s { display: flex; align-items: center; gap: 12px; max-width: 720px; margin: 0 auto; padding: 0 22px; border-radius: 22px; background: #fff; border: 1px solid #eadfcf; color: var(--muted); box-shadow: 0 30px 60px -40px rgba(13,13,15,.45); transition: box-shadow .3s, border-color .3s; }
.fqh__s:focus-within { border-color: var(--red); box-shadow: 0 30px 60px -36px rgba(244,59,47,.45); }
.fqh__s input { flex: 1; border: 0; background: none; padding: 20px 0; font: inherit; font-size: 18px; color: var(--ink); outline: none; }
.fqh__s kbd { font: inherit; font-size: 12px; padding: 3px 8px; border-radius: 6px; border: 1px solid #e6ded2; color: var(--muted); }
.fqh__tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-top: 30px; text-align: left; }
.fqh__t { display: grid; gap: 6px; padding: 16px; border-radius: 20px; background: rgba(255,255,255,.85); border: 1px solid #efe5d8; color: var(--ink); text-decoration: none; transition: transform .35s var(--ease), box-shadow .35s; }
.fqh__t:hover { transform: translateY(-4px); box-shadow: 0 24px 44px -32px rgba(13,13,15,.5); }
.fqh__t i { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: var(--tb); color: var(--tc); } .fqh__t svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fqh__t b { font-size: 15px; } .fqh__t small { color: var(--muted); font-size: 12.5px; }
.fqp { background: linear-gradient(140deg, #0d0d0f 40%, var(--wine)); padding: 34px 0; }
.fqp__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.fqp__q { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; text-align: left; padding: 16px 18px; border-radius: 18px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: #fff; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; transition: background .3s, border-color .3s; }
.fqp__q:hover { background: rgba(255,255,255,.1); border-color: rgba(244,59,47,.6); } .fqp__q span { font-family: var(--serif); font-style: italic; color: #ff8a7a; } .fqp__q i { font-style: normal; opacity: .6; }
.page-cms .fh { background: var(--cream); padding-top: 40px; }
.fh__g:nth-of-type(even) .fh__i { background: #fff; }
.fh__i { background: #fff; border-color: #f0e6da; }
.fh__i[open] { border-color: rgba(244,59,47,.35); box-shadow: 0 24px 50px -40px rgba(244,59,47,.5); }
.fh__i[open] summary { color: var(--red); }
.fqx { background: var(--blush); padding: clamp(50px, 6vw, 80px) 0; }
.fqx__in { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; padding: clamp(24px, 3vw, 40px); border-radius: 30px; background: #fff; border: 1px solid #f1ddd5; } .fqx__in p { color: var(--muted); margin: 8px 0 0; } .fqx__b { display: flex; gap: 10px; align-items: center; }
@media (max-width: 900px) { .fqp__row { grid-template-columns: 1fr; } }
.fqh__in > .eyebrow { justify-content: center; display: flex; }
.nw-c__l { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.prose--guide h2::before { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 46px; line-height: 1; color: var(--red); letter-spacing: -.02em; } .prose--guide h2::after { content: ""; display: none; } .prose--guide h2 { display: block; } .prose--guide h2::before { background: linear-gradient(90deg, rgba(244,59,47,.35), rgba(244,59,47,0)) no-repeat 64px 50% / calc(100% - 64px) 1px; } .ns-art h2::before { font-size: 40px; }
.prose--guide h2 { border-top: 0; padding-top: 10px; margin-top: 2.4em; }
.ns-img { margin: 30px 0 0; border-radius: 28px; overflow: hidden; aspect-ratio: 16 / 8; } .ns-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* ===== Header v2: floating glass bar ===== */
.hdr { transition: background .35s, box-shadow .35s, transform .45s var(--ease), top .45s var(--ease), left .45s var(--ease), right .45s var(--ease), border-radius .45s var(--ease), height .45s var(--ease); }
.hdr.is-solid { top: 10px; left: max(12px, calc((100vw - 1400px) / 2)); right: max(12px, calc((100vw - 1400px) / 2)); height: calc(var(--hdr) - 12px); border-radius: 22px; background: rgba(255,255,255,.82) !important; backdrop-filter: saturate(1.6) blur(18px); -webkit-backdrop-filter: saturate(1.6) blur(18px); box-shadow: 0 1px 0 rgba(255,255,255,.6) inset, 0 20px 50px -24px rgba(13,13,15,.35), 0 0 0 1px rgba(13,13,15,.06); }
.hdr.is-solid .hdr__in { padding-inline: 22px; max-width: none; }
.hdr.is-hidden { transform: translateY(calc(-100% - 20px)); }
.nav { gap: 2px; }
.nav__a { position: relative; padding: 9px 14px; border-radius: 999px; font-weight: 600; font-size: 15px; transition: background .25s, color .25s; }
.nav__a:hover { background: rgba(13,13,15,.06); }
.nav__a.on::after, .nav__a[aria-current]::after { content: ""; position: absolute; left: 50%; bottom: 2px; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: var(--red); }
.prefs__btn { border: 1px solid rgba(13,13,15,.12); background: rgba(255,255,255,.6); border-radius: 999px; padding: 7px 14px; transition: background .25s, border-color .25s; }
.prefs__btn:hover { background: #fff; border-color: rgba(13,13,15,.25); }
.hdr__fav { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; transition: background .25s, color .25s; }
.hdr__fav:hover { background: rgba(244,59,47,.1); color: var(--red); }
.hdr__tel { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14.5px; text-decoration: none; }
.hdr__tel i { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #e9f9ef; color: #128a46; transition: transform .3s var(--ease); }
.hdr__tel:hover i { transform: rotate(-12deg) scale(1.08); }
.hdr__list { display: inline-flex; align-items: center; gap: 8px; padding-right: 14px; }
.hdr__list i { font-style: normal; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.22); font-size: 13px; transition: transform .3s var(--ease); }
.hdr__list:hover i { transform: translateX(3px); }
.page-home .hdr:not(.is-solid) .prefs__btn, .has-dark-hero .hdr:not(.is-solid) .prefs__btn { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.08); }
.page-home .hdr:not(.is-solid) .hdr__tel i, .has-dark-hero .hdr:not(.is-solid) .hdr__tel i { background: rgba(255,255,255,.14); color: #fff; }
.page-home .hdr:not(.is-solid) .hdr__fav:hover, .has-dark-hero .hdr:not(.is-solid) .hdr__fav:hover { background: rgba(255,255,255,.12); color: #fff; }
@media (max-width: 1100px) { .hdr__tel span { display: none; } }
@media (max-width: 760px) { .hdr.is-solid { top: 8px; left: 8px; right: 8px; } .hdr__list i { display: none; } }
/* Header v3: always a floating glass bar; menu grouped in its own pill */
.hdr, .hdr.is-solid { top: 12px; left: max(12px, calc((100vw - 1400px) / 2)); right: max(12px, calc((100vw - 1400px) / 2)); height: calc(var(--hdr) - 14px); border-radius: 24px; }
.hdr:not(.is-solid) { background: rgba(255,255,255,.62); backdrop-filter: saturate(1.5) blur(16px); -webkit-backdrop-filter: saturate(1.5) blur(16px); box-shadow: 0 0 0 1px rgba(13,13,15,.06), 0 18px 40px -30px rgba(13,13,15,.35); }
.page-home .hdr:not(.is-solid), .has-dark-hero .hdr:not(.is-solid) { background: rgba(13,13,15,.28); box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 18px 40px -30px rgba(0,0,0,.6); }
.hdr .hdr__in { padding-inline: 18px 10px; max-width: none; gap: 18px; }
.hdr .nav { margin-inline: auto; padding: 4px; border-radius: 999px; background: rgba(13,13,15,.045); box-shadow: inset 0 0 0 1px rgba(13,13,15,.05); }
.page-home .hdr:not(.is-solid) .nav, .has-dark-hero .hdr:not(.is-solid) .nav { background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.hdr .nav__a { padding: 8px 15px; font-size: 14.5px; }
.hdr .nav__a:hover, .hdr .nav__a.is-active { background: #fff; box-shadow: 0 6px 16px -10px rgba(13,13,15,.45); }
.page-home .hdr:not(.is-solid) .nav__a:hover, .has-dark-hero .hdr:not(.is-solid) .nav__a:hover, .page-home .hdr:not(.is-solid) .nav__a.is-active, .has-dark-hero .hdr:not(.is-solid) .nav__a.is-active { background: rgba(255,255,255,.16); box-shadow: none; }
.hdr .logo img { height: 34px; width: auto; }
.hdr .btn.hdr__list { border-radius: 16px; padding-block: 11px; }
@media (max-width: 1180px) { .hdr .nav { background: none; box-shadow: none; } }
@media (max-width: 760px) { .hdr, .hdr.is-solid { top: 8px; left: 8px; right: 8px; border-radius: 18px; } }

/* Transactions search suggestions */
.tx-search { position: relative; z-index: 5; transition: border-radius .2s, box-shadow .2s; }
.tx-search.is-open { box-shadow: 0 24px 60px -20px rgba(0,0,0,.55); }
.txs { position: absolute; left: 0; right: 0; top: calc(100% + 10px); background: #fff; color: var(--ink); border-radius: 22px; padding: 8px; box-shadow: 0 30px 70px -18px rgba(0,0,0,.5), 0 0 0 1px rgba(13,13,15,.06); max-height: min(440px, 60vh); overflow: auto; animation: txsIn .18s ease-out; }
@keyframes txsIn { from { opacity: 0; transform: translateY(-6px); } }
.txs__h { margin: 8px 12px 4px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #8a8a92; }
.txs__i { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; color: inherit; text-decoration: none; }
.txs__i.is-on, .txs__i:hover { background: #f6efe6; }
.txs__ic { flex: none; width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; }
.txs__ic--a { background: #fde9e6; color: var(--red); }
.txs__ic--b { background: #eef0f4; color: #3b3f4a; }
.txs__t { flex: 1; min-width: 0; display: grid; }
.txs__t b { font-weight: 700; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.txs__t b mark { background: none; color: var(--red); }
.txs__t small { font-size: 12.5px; color: #7a7a82; }
.txs__go { opacity: 0; transform: translateX(-4px); transition: .15s; color: var(--red); font-weight: 700; }
.txs__i.is-on .txs__go, .txs__i:hover .txs__go { opacity: 1; transform: none; }
.txs__none { margin: 0; padding: 16px 14px; color: #6c6c74; font-size: 14px; }

/* Header stays visible while scrolling */
.hdr.is-hidden { transform: none !important; }
.hdr ~ main .filters-wrap { top: var(--hdr); }
.tx-hero { position: relative; z-index: 25; }
.tx-hero:has(.tx-search.is-open) { overflow-x: clip; overflow-y: visible; }

/* Property of the week: reasons as tags */
ul.potw__why { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; line-height: 1; color: inherit; }
ul.potw__why li { padding: 6px 10px; border-radius: 999px; background: #f4efe8; color: #4a4a52; font-weight: 600; white-space: nowrap; }
ul.potw__why li.is-deal { background: #e7f6ec; color: #17803d; }
ul.potw__why li.is-deal::before { content: "↓ "; font-weight: 800; }

/* ================= HOME v4: rhythm + distinct sections ================= */
.page-home { --sand: #f2e8da; --cream: #fbf6ef; --blush: #fbebe5; }
/* trust strip: bold numbers */
.page-home .lx-trust { background: #fff; border: 0; position: relative; z-index: 2; }
.page-home .lx-trust__in { margin-top: -46px; background: #fff; border-radius: 24px; box-shadow: 0 30px 70px -30px rgba(13,13,15,.35), 0 0 0 1px rgba(13,13,15,.05); }
.page-home .lx-trust__in > div { padding: 26px 18px 24px; }
.page-home .lx-trust b { font-size: clamp(24px, 2.2vw, 32px); font-weight: 800; letter-spacing: -.04em; }
.page-home .lx-trust__in > div:nth-child(2) b { color: #e9a400; }
.page-home .lx-trust span { font-size: 12.5px; }
.page-home .lx-hero--prestige { padding-bottom: 46px; }

/* signature: dark luxury */
.hm-sig { background: radial-gradient(1000px 500px at 85% -10%, rgba(244,59,47,.22), transparent 60%), #0d0b0b; color: #fff; }
.hm-sig .lx-head .link-arrow { color: #fff; }
.hm-sig .lx-h2 em { color: #f0c9a0; }
.hm-sig .lx-sig__i { box-shadow: 0 40px 80px -40px rgba(0,0,0,.8); }
.hm-sig .lx-rail-head h3 { color: #fff; }
.hm-sig .lx-rail-head .arrows button { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.15); }
.hm-sig .card { background: #17141399; border-color: rgba(255,255,255,.08); color: #fff; backdrop-filter: blur(6px); }
.hm-sig .card * { color: inherit; }
.hm-sig .card__body small, .hm-sig .card__body p { color: rgba(255,255,255,.7); }

/* band: warm sand + WhatsApp chat */
.hm-band { background: linear-gradient(160deg, #f6eee2, #efe2cf); color: var(--ink); }
.hm-band .lx-band__bg { display: none; }
.hm-band .lx-band__copy p { color: #4b4440; }
.hm-band .lx-h2 em { color: var(--red); }
.hm-band .lx-band__f { box-shadow: 0 40px 80px -36px rgba(80,50,20,.45); }
.hm-chat { margin-top: 30px; max-width: 440px; background: #efe7dc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Ccircle cx='20' cy='20' r='1.2' fill='%23d9cbb8'/%3E%3C/svg%3E"); border-radius: 22px; padding: 0 14px 16px; box-shadow: 0 30px 60px -30px rgba(80,50,20,.45), inset 0 0 0 1px rgba(80,50,20,.08); overflow: hidden; transform: rotate(-1.5deg); }
.hm-chat__top { display: flex; align-items: center; gap: 10px; margin: 0 -14px 14px; padding: 12px 16px; background: #075e54; color: #fff; }
.hm-chat__top img { border-radius: 50%; background: #fff; padding: 3px; }
.hm-chat__top span { display: grid; line-height: 1.15; } .hm-chat__top b { font-size: 14px; } .hm-chat__top small { font-size: 11.5px; opacity: .8; }
.hm-chat__m { position: relative; margin: 0 0 8px; max-width: 82%; padding: 9px 12px 18px; background: #fff; border-radius: 4px 14px 14px 14px; font-size: 13.5px !important; line-height: 1.4; color: #1f1f22 !important; box-shadow: 0 1px 1px rgba(0,0,0,.08); }
.hm-chat__m small { position: absolute; right: 9px; bottom: 4px; font-size: 10px; color: #8a8a8a; }
.hm-chat__m--me { margin-left: auto; background: #dcf8c6; border-radius: 14px 4px 14px 14px; }
.hm-chat__card { display: grid; padding: 5px 5px 18px; width: 230px; }
.hm-chat__card img { width: 100%; height: 120px; object-fit: cover; border-radius: 10px; margin-bottom: 6px; }
.hm-chat__card b { font-size: 13px; padding: 0 6px; } .hm-chat__card span { font-size: 12.5px; color: #17803d; font-weight: 700; padding: 0 6px; }

/* sell: cream */
.page-home .lx-sell { background: var(--cream); }

/* rent: horizontal cards */
.hm-rent { background: #fff; }
.hm-rent__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.hm-rc { display: grid; grid-template-columns: 44% 1fr; background: #fff; border-radius: 24px; overflow: hidden; box-shadow: 0 0 0 1px rgba(13,13,15,.07); transition: box-shadow .3s, transform .3s var(--ease); }
.hm-rc:hover { transform: translateY(-3px); box-shadow: 0 30px 60px -30px rgba(13,13,15,.35), 0 0 0 1px rgba(13,13,15,.07); }
.hm-rc__img { position: relative; display: block; min-height: 250px; overflow: hidden; }
.hm-rc__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.hm-rc:hover .hm-rc__img img { transform: scale(1.05); }
.hm-rc__now { position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border-radius: 999px; background: rgba(255,255,255,.92); font-size: 12px; font-weight: 700; color: var(--ink); }
.hm-rc__now i { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.2); }
.hm-rc__b { padding: 24px 24px 22px; display: flex; flex-direction: column; }
.hm-rc__loc { margin: 0 0 6px; font-size: 13px; color: var(--muted); font-weight: 600; }
.hm-rc h3 { margin: 0 0 10px; font-size: 19px; line-height: 1.2; letter-spacing: -.02em; } .hm-rc h3 a { color: inherit; text-decoration: none; }
.hm-rc__specs { margin: 0; font-size: 13.5px; color: #55555c; } .hm-rc__specs i { font-style: normal; margin: 0 6px; opacity: .5; }
.hm-rc__f { margin-top: auto; padding-top: 18px; border-top: 1px dashed rgba(13,13,15,.12); display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.hm-rc__f p { margin: 0; display: grid; } .hm-rc__f b { font-size: 22px; letter-spacing: -.03em; } .hm-rc__f small { font-size: 12px; color: var(--muted); }

/* advisors: blush */
.hm-adv { background: linear-gradient(180deg, var(--blush), #fdf4ef); }
.hm-adv .lx-adv { border: 0; box-shadow: 0 24px 50px -30px rgba(120,40,20,.35); }

/* pulse: dark data */
.hm-pulse { background: #0f0d0d; color: #fff; padding: clamp(72px, 9vw, 120px) 0 !important; }
.hm-pulse .h2, .hm-pulse .link-arrow { color: #fff; } .hm-pulse .h2 em { color: #f0c9a0; }
.hm-pulse .eyebrow { color: rgba(255,255,255,.7); }
.hm-pulse .pulse__k { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); }
.hm-pulse .pulse__k span, .hm-pulse .pulse__k small { color: rgba(255,255,255,.6); }
.hm-pulse .pulse__k--red { background: linear-gradient(160deg, #f43b2f, #c4231a); border: 0; } .hm-pulse .pulse__k--red span, .hm-pulse .pulse__k--red small { color: rgba(255,255,255,.85); }
.hm-pulse .pulse__chart { border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.03); }
.hm-pulse .pulse__chart p { color: rgba(255,255,255,.6); }
.hm-pulse .pulse__bar { color: #fff; } .hm-pulse .pulse__bar i { background: rgba(255,255,255,.08); } .hm-pulse .pulse__bar i::after { background: linear-gradient(90deg, #f0c9a0, #f43b2f); }

/* fresh: compact tiles with time stamps */
.hm-fresh { padding: clamp(72px, 9vw, 120px) 0 40px; }
.hm-fresh__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.hm-fc { display: grid; gap: 12px; color: inherit; text-decoration: none; }
.hm-fc__img { position: relative; display: block; aspect-ratio: 1 / 1; border-radius: 22px; overflow: hidden; }
.hm-fc__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.hm-fc:hover .hm-fc__img img { transform: scale(1.06); }
.hm-fc__ago { position: absolute; left: 10px; top: 10px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; background: rgba(13,13,15,.72); color: #fff; font-size: 11.5px; font-weight: 700; backdrop-filter: blur(8px); }
.hm-fc__ago i { width: 6px; height: 6px; border-radius: 50%; background: #f43b2f; animation: hmPing 1.6s infinite; }
@keyframes hmPing { 50% { box-shadow: 0 0 0 5px rgba(244,59,47,.25); } }
.hm-fc__p { position: absolute; right: 10px; top: 10px; padding: 6px 10px; border-radius: 999px; background: #fff; font-size: 11.5px; font-weight: 800; }
.hm-fc__b { display: grid; gap: 2px; padding: 0 4px; }
.hm-fc__b b { font-size: 18px; letter-spacing: -.02em; } .hm-fc__b b small { font-size: 12px; color: var(--muted); font-weight: 600; }
.hm-fc__b span { font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hm-fc__b > small { font-size: 12.5px; color: var(--muted); }

/* alerts: cream panel */
.hm-alerts { padding-top: 40px; }
.hm-alerts .alerts__in { background: linear-gradient(120deg, var(--cream), #f6ecdf); box-shadow: inset 0 0 0 1px rgba(120,80,40,.1); }
.hm-alerts__ic { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--red); color: #fff; margin-bottom: 14px; box-shadow: 0 14px 30px -12px rgba(244,59,47,.7); }

/* founder */
.page-home .lx-founder__ph img { object-position: 50% 25%; }
.lx-founder__sig { display: block; height: 54px; width: auto; margin: 0 0 10px; filter: invert(1); opacity: .9; }

/* fewer red accents */


@media (max-width: 1000px) { .hm-rent__grid { grid-template-columns: 1fr; } .hm-fresh__grid { grid-template-columns: 1fr 1fr; } .page-home .lx-trust__in { margin-top: -30px; } }
@media (max-width: 560px) { .hm-rc { grid-template-columns: 1fr; } .hm-rc__img { min-height: 200px; } .hm-chat { transform: none; } .page-home .lx-trust__in { grid-template-columns: 1fr 1fr; } }
.hm-sig .card .tag { color: #fff; } .hm-sig .card .tag--sale, .hm-sig .card .tag--rent { color: var(--ink); }
.hm-rc__f { flex-wrap: wrap; } .hm-rc__f small { white-space: nowrap; }
.hm-pulse .pulse__k b { font-size: clamp(30px, 2.7vw, 42px); white-space: nowrap; }
.hm-fc__b { grid-template-columns: auto 1fr; align-items: baseline; column-gap: 6px; } .hm-fc__b > *:not(b):not(.hm-fc__yr) { grid-column: 1 / -1; }
.hm-fc__yr { font-style: normal; font-size: 12px; color: var(--muted); font-weight: 600; }
@media (max-width: 560px) { .hm-fc__p { display: none; } .hm-fc__ago { font-size: 10.5px; padding: 5px 8px; } .hm-rent__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin: 0 -16px; padding: 0 16px 6px; } .hm-rc { flex: 0 0 82%; scroll-snap-align: start; } }

/* Listing rails: whole cards only, no half-cut card at the edge */
@media (min-width: 1000px) { .rail:has(> .card) { grid-auto-columns: calc((100% - 40px) / 3); } }
@media (min-width: 640px) and (max-width: 999px) { .rail:has(> .card) { grid-auto-columns: calc((100% - 20px) / 2); } }
.hm-sig .card, .hm-sig .card * { border-color: rgba(255,255,255,.12) !important; }

/* WhatsApp band v2: steps + chat overlapping the form */
.hm-band .lx-band__in { grid-template-columns: 1fr 1.05fr; gap: clamp(32px, 5vw, 80px); }
.hm-steps { list-style: none; margin: 30px 0 0; padding: 0; display: grid; gap: 4px; max-width: 520px; }
.hm-steps li { display: grid; grid-template-columns: 56px 1fr; gap: 14px; align-items: start; padding: 16px 0; border-top: 1px solid rgba(80,50,20,.14); }
.hm-steps li:last-child { border-bottom: 1px solid rgba(80,50,20,.14); }
.hm-steps b { font-family: var(--serif, Georgia, serif); font-style: italic; font-weight: 400; font-size: 34px; line-height: 1; color: var(--red); }
.hm-steps span { display: grid; gap: 3px; font-size: 14.5px; color: #5c534c; line-height: 1.45; }
.hm-steps strong { font-size: 16.5px; color: var(--ink); letter-spacing: -.01em; }
.hm-band__stage { position: relative; display: flex; justify-content: flex-end; align-items: center; min-height: 560px; }
.hm-band__stage .hm-chat { position: absolute; left: 0; top: 50%; width: 300px; margin: 0; transform: translateY(-46%) rotate(-4deg); z-index: 1; transition: transform .6s var(--ease); }
.hm-band__stage:hover .hm-chat { transform: translateY(-48%) rotate(-2deg); }
.hm-band__stage .lx-band__f { position: relative; z-index: 2; width: min(420px, 100%); }
.hm-band__stage::before { content: ""; position: absolute; width: 420px; height: 420px; right: 8%; top: 50%; transform: translateY(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(244,59,47,.14), transparent 65%); z-index: 0; }
.hm-chat__card { width: auto; }
@media (max-width: 1180px) { .hm-band__stage .hm-chat { width: 260px; left: -20px; } .hm-band__stage .lx-band__f { width: min(380px, 100%); } }
@media (max-width: 1000px) { .hm-band .lx-band__in { grid-template-columns: 1fr; } .hm-band__stage { flex-direction: column; align-items: stretch; gap: 20px; min-height: 0; } .hm-band__stage .hm-chat { position: relative; left: 0; top: 0; transform: rotate(-1.5deg); width: auto; max-width: 420px; } .hm-band__stage .lx-band__f { width: 100%; } }
.hm-band .lx-band__in { grid-template-columns: minmax(0, 1fr) auto; gap: clamp(28px, 4vw, 56px); }
.hm-band__stage { display: grid; grid-template-columns: 290px 400px; gap: 22px; align-items: center; min-height: 0; justify-content: end; }
.hm-band__stage .hm-chat { position: relative; left: auto; top: auto; width: auto; transform: rotate(-3deg) translateY(10px); }
.hm-band__stage:hover .hm-chat { transform: rotate(-1deg) translateY(4px); }
.hm-band__stage .lx-band__f { width: auto; }
.hm-band .lx-h2 { font-size: clamp(34px, 4vw, 60px); }
@media (max-width: 1240px) { .hm-band__stage { grid-template-columns: 260px 360px; } }
@media (max-width: 1080px) { .hm-band .lx-band__in { grid-template-columns: 1fr; } .hm-band__stage { grid-template-columns: 1fr 1.3fr; justify-content: stretch; } }
@media (max-width: 680px) { .hm-band__stage { grid-template-columns: 1fr; } .hm-band__stage .hm-chat { transform: rotate(-1.5deg); max-width: 420px; } }
.hm-band .lx-h2 em { white-space: nowrap; }
/* Rails: columns sized from the rail's real width so cards always land whole */
@media (min-width: 1101px) { .rail:not(.rail--team) { grid-auto-columns: calc((100% - 2 * 20px) / 3); } .lx-areas.rail { grid-auto-columns: calc((100% - 3 * 16px) / 4); } .rail--team { grid-auto-columns: calc((100% - 4 * 20px) / 5); } }
@media (min-width: 701px) and (max-width: 1100px) { .rail:not(.rail--team), .lx-areas.rail { grid-auto-columns: calc((100% - 20px) / 2); } }
.lx-areas.rail { column-gap: 16px; }

/* Mega menu v3: clean text links with live counts, bedroom chips */
.nav__mega .nav2 { gap: 4px 28px; padding: 18px 14px 14px; }
.nav__mega .nav2 p { margin: 0 0 10px; padding: 0 10px; font-size: 11px; letter-spacing: .14em; color: #8a8a92; }
.nav__mega .nav2 p::before { display: none; }
.nav__mega .nav2 > div > a { padding: 9px 10px; font-size: 15px; font-weight: 600; white-space: nowrap; gap: 10px; }
.nav__mega .nav2 > div > a small { margin-left: auto; min-width: 26px; padding: 2px 7px; border-radius: 999px; background: #f4efe8; color: #6b6259; font-size: 11.5px; font-weight: 700; text-align: center; font-variant-numeric: tabular-nums; transition: opacity .2s; }
.nav__mega .nav2 > div > a::after { display: none; }
.nav__mega .nav2 > div > a:hover { background: #faf5ef; color: var(--red); }
.nav__mega .nav2 > div > a:hover small { background: var(--red); color: #fff; }
.nav__mega .nav2 .nav2__sub { margin-top: 18px; }
.nav2__chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 10px; }
.nav__mega .nav2__chips a { display: inline-grid; place-items: center; min-width: 42px; height: 36px; padding: 0 12px; border-radius: 999px; border: 1px solid rgba(13,13,15,.12); font-size: 13.5px; font-weight: 700; background: #fff; transition: background .2s, color .2s, border-color .2s; }
.nav__mega .nav2__chips a:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.nav__mega.has-ft { grid-template-columns: minmax(0, 1fr) 280px; }
.nav__mega .nav2 > div > a { min-height: 40px; }
.nav__mega .nav2__chips a { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 34px; padding: 0 11px; line-height: 1; }
.nav2__chips { gap: 5px; }
.nav2__ic { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: #f6f1ea; color: #3b3530; transition: background .25s, color .25s, transform .3s var(--ease); }
.nav2__ic svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.nav__mega .nav2 > div > a { gap: 12px; padding: 6px 8px; min-height: 44px; }
.nav__mega .nav2 > div > a:hover .nav2__ic { background: var(--red); color: #fff; transform: scale(1.06) rotate(-4deg); }
.nav__mega .nav2 > div > a:hover span { transform: none; }
.nav__mega .nav2 p, .nav__mega .nav2 .nav2__chips { padding-left: 8px; }
.nav__mega .nav2 > div > a span { overflow: hidden; text-overflow: ellipsis; }

/* Search results toolbar: sort + view sit with the results, filter bar no longer overflows */
.rbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 22px; }
.rbar p { margin: 0; font-size: 15px; color: var(--muted); } .rbar p b { color: var(--ink); font-size: 18px; }
.rbar__r { display: flex; align-items: center; gap: 10px; }
.rbar .fsel--sort { display: flex; align-items: center; gap: 8px; padding-left: 14px; border: 1px solid var(--line); border-radius: 999px; background: #fff; height: 42px; }
.rbar .fsel--sort span { font-size: 13px; color: var(--muted); font-weight: 600; }
.rbar .fsel--sort select { border: 0; background-color: transparent; height: 40px; font-weight: 700; padding-left: 0; }
.rbar .view-toggle { display: inline-flex; padding: 3px; border-radius: 999px; background: #f2ede6; }
.rbar .view-toggle button { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border: 0; border-radius: 999px; background: none; font: inherit; font-size: 13.5px; font-weight: 700; color: #6b6259; cursor: pointer; }
.rbar .view-toggle button.on { background: #fff; color: var(--ink); box-shadow: 0 2px 8px rgba(13,13,15,.08); }
.filters .fsel--q { flex: 1 1 200px; } .filters .fsel--q input { width: 100%; }
@media (max-width: 640px) { .rbar { flex-wrap: wrap; } .rbar .fsel--sort span { display: none; } }

/* Listing: Life around here */
.nb { --c-school: #2563eb; --c-health: #e11d48; --c-shop: #d97706; --c-transport: #7c3aed; --c-leisure: #0d9488; }
.nb__head { display: flex; justify-content: space-between; gap: 24px; align-items: end; flex-wrap: wrap; margin-bottom: 22px; }
.nb__head h2 em { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--red); }
.nb__addr { display: flex; align-items: center; gap: 6px; margin: 6px 0 0; color: var(--muted); font-size: 14.5px; }
.nb__stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, auto); gap: 6px; }
.nb__stats li { padding: 10px 14px; border-radius: 14px; background: #f7f2ec; display: grid; }
.nb__stats b { font-size: 17px; letter-spacing: -.02em; } .nb__stats span { font-size: 11.5px; color: #6b6259; white-space: nowrap; }
.nb__map { position: relative; border-radius: 26px; overflow: hidden; background: #f4e9dc; padding: 10px; }
.nb__radar { display: block; width: 100%; height: auto; max-height: 520px; margin: 0 auto; font-family: inherit; }
.nb__ring { fill: none; stroke: rgba(120,80,40,.22); stroke-dasharray: 4 6; }
.nb__rl { font-size: 11px; fill: #9b8b7a; font-weight: 700; }
.nb__ax { stroke: rgba(120,80,40,.1); } .nb__cmp { font-size: 12px; font-weight: 800; fill: #9b8b7a; text-anchor: middle; }
.nb__p circle { fill: #fff; stroke-width: 3.5; transition: r .3s, opacity .3s; }
.nb__p text { font-size: 12px; font-weight: 700; fill: #2b2420; text-anchor: middle; paint-order: stroke; stroke: #fdf6ee; stroke-width: 4px; stroke-linejoin: round; opacity: 0; transition: opacity .3s; pointer-events: none; }
.nb__p { opacity: .35; transition: opacity .3s; cursor: default; }
.nb__p.is-on { opacity: 1; } .nb__p.is-on text { opacity: 1; } .nb__p.is-on circle { r: 9; }
.nb__p:hover text { opacity: 1; }
.nb__p.is-far circle { stroke-dasharray: 3 3; }
.nb__p--school circle { stroke: var(--c-school); } .nb__p--health circle { stroke: var(--c-health); } .nb__p--shop circle { stroke: var(--c-shop); } .nb__p--transport circle { stroke: var(--c-transport); } .nb__p--leisure circle { stroke: var(--c-leisure); }
.nb__p.is-on.nb__p--school circle { fill: var(--c-school); } .nb__p.is-on.nb__p--health circle { fill: var(--c-health); } .nb__p.is-on.nb__p--shop circle { fill: var(--c-shop); } .nb__p.is-on.nb__p--transport circle { fill: var(--c-transport); } .nb__p.is-on.nb__p--leisure circle { fill: var(--c-leisure); }
.nb__home circle { fill: var(--red); } .nb__home .nb__pulse { fill: rgba(244,59,47,.18); animation: nbPulse 2.2s infinite; transform-origin: center; }
@keyframes nbPulse { 0% { transform: scale(.6); opacity: 1; } 100% { transform: scale(2.2); opacity: 0; } }
.nb__legend { position: absolute; left: 18px; bottom: 16px; display: flex; flex-wrap: wrap; gap: 6px; max-width: calc(100% - 200px); }
.nb__lg { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: rgba(255,255,255,.85); font-size: 12px; font-weight: 700; cursor: pointer; }
.nb__lg i { width: 9px; height: 9px; border-radius: 50%; }
.nb__lg--school i { background: var(--c-school); } .nb__lg--health i { background: var(--c-health); } .nb__lg--shop i { background: var(--c-shop); } .nb__lg--transport i { background: var(--c-transport); } .nb__lg--leisure i { background: var(--c-leisure); }
.nb__gm { position: absolute; right: 16px; bottom: 16px; padding: 8px 14px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; }
.nb__commute { margin: 18px 0 8px; }
.nb__lbl { margin: 0 0 10px; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #8a8a92; }
.nb__commute ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.nb__commute li { display: grid; gap: 2px; padding: 14px; border-radius: 18px; background: #0f0d0d; color: #fff; }
.nb__commute li b { font-size: 26px; letter-spacing: -.03em; line-height: 1; } .nb__commute li b small { font-size: 12px; margin-left: 3px; color: #f0c9a0; font-weight: 700; }
.nb__commute li span { font-size: 13px; font-weight: 600; line-height: 1.25; } .nb__commute li > small { font-size: 11.5px; color: rgba(255,255,255,.55); }
.nb__tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 22px 0 10px; }
.nb__tabs button { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 14px 0 6px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; transition: .2s; }
.nb__tabs button i { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #f4efe8; }
.nb__tabs svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nb__tabs button.is-on { background: var(--ink); color: #fff; border-color: var(--ink); } .nb__tabs button.is-on i { background: rgba(255,255,255,.14); }
.nb__list { list-style: none; margin: 0; padding: 0; border-radius: 20px; border: 1px solid var(--line); overflow: hidden; }
.nb__list li { display: grid; grid-template-columns: 34px 1fr auto; gap: 14px; align-items: center; padding: 14px 18px; border-top: 1px solid var(--line); }
.nb__list li:first-child { border-top: 0; }
.nb__n { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-size: 13px; font-weight: 800; background: #f4efe8; }
.nb[data-k=school] .nb__n { background: color-mix(in srgb, var(--c-school) 14%, #fff); color: var(--c-school); }
.nb[data-k=health] .nb__n { background: color-mix(in srgb, var(--c-health) 14%, #fff); color: var(--c-health); }
.nb[data-k=shop] .nb__n { background: color-mix(in srgb, var(--c-shop) 14%, #fff); color: var(--c-shop); }
.nb[data-k=transport] .nb__n { background: color-mix(in srgb, var(--c-transport) 14%, #fff); color: var(--c-transport); }
.nb[data-k=leisure] .nb__n { background: color-mix(in srgb, var(--c-leisure) 14%, #fff); color: var(--c-leisure); }
.nb__t { display: grid; } .nb__t b { font-size: 15px; } .nb__t small { font-size: 12.5px; color: var(--muted); }
.nb__d { display: grid; text-align: right; } .nb__d b { font-size: 15px; } .nb__d small { font-size: 12px; color: var(--muted); white-space: nowrap; }
@media (max-width: 760px) { .nb__stats { grid-template-columns: 1fr 1fr; width: 100%; } .nb__commute ol { grid-template-columns: repeat(5, 72%); overflow-x: auto; scroll-snap-type: x mandatory; } .nb__commute li { scroll-snap-align: start; } .nb__legend { position: static; max-width: none; margin-top: 8px; } .nb__gm { position: static; display: inline-block; margin-top: 10px; } }
.nb__p.is-on text.nb__xl { opacity: 0; } .nb__p.is-on:hover text.nb__xl { opacity: 1; }

/* Listing page v2 */
.pdp__specs--tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; padding: 0; border: 0; margin: 6px 0 0; }
.pdp__specs--tiles li { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 18px; background: #f8f4ee; }
.pdp__specs--tiles i { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #fff; box-shadow: 0 4px 12px -6px rgba(80,50,20,.3); }
.pdp__specs--tiles svg { width: 20px; height: 20px; fill: none; stroke: var(--ink); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pdp__specs--tiles span { display: grid; font-size: 12.5px; color: #6b6259; line-height: 1.25; } .pdp__specs--tiles b { font-size: 18px; color: var(--ink); letter-spacing: -.02em; }
.pdp__hl { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin: 12px 0 0; }
.pdp__hl-i { display: grid; padding: 16px 18px; border-radius: 18px; background: #0f0d0d; color: #fff; text-decoration: none; }
.pdp__hl-i span { font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.pdp__hl-i b { font-size: 24px; letter-spacing: -.03em; margin: 4px 0 2px; } .pdp__hl-i small { font-size: 12.5px; color: rgba(255,255,255,.65); }
.pdp__hl-i.is-good b { color: #6ee7a1; }
a.pdp__hl-i { background: linear-gradient(140deg, #f43b2f, #c4231a); } a.pdp__hl-i span, a.pdp__hl-i small { color: rgba(255,255,255,.85); }
.gal { position: relative; }
.gal__acts { position: absolute; top: 16px; right: 16px; display: flex; gap: 8px; z-index: 3; }
.gal__act { display: inline-flex; align-items: center; gap: 7px; height: 40px; padding: 0 14px; border: 0; border-radius: 999px; background: rgba(255,255,255,.92); backdrop-filter: blur(8px); font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; color: var(--ink); box-shadow: 0 8px 20px -10px rgba(0,0,0,.4); }
.gal__act[aria-pressed=true] svg { color: var(--red); }
.agent-card { border: 0; box-shadow: 0 40px 80px -40px rgba(13,13,15,.35), 0 0 0 1px rgba(13,13,15,.06); }
.agent-card__live { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; padding: 9px 12px; border-radius: 12px; background: #eefaf2; color: #17803d; font-size: 13px; font-weight: 700; }
.agent-card__live i { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 4px rgba(34,197,94,.18); }
.vdays { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin: 0 0 14px; }
.vdays button { display: grid; justify-items: center; gap: 1px; padding: 8px 0; border-radius: 14px; border: 1px solid var(--line); background: #fff; font: inherit; cursor: pointer; transition: .2s; }
.vdays small { font-size: 10.5px; font-weight: 700; color: var(--muted); text-transform: uppercase; } .vdays b { font-size: 17px; line-height: 1.1; }
.vdays button:hover { border-color: var(--ink); } .vdays button.is-on { background: var(--ink); color: #fff; border-color: var(--ink); } .vdays button.is-on small { color: rgba(255,255,255,.7); }
.pdp__specs--tiles b { white-space: nowrap; }
/* Card enquire as a real button */
.card__enq { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(244,59,47,.3); background: #fff3f1; color: var(--red); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.card__enq:hover { background: var(--red); color: #fff; border-color: var(--red); transform: translateY(-1px); }
.hm-sig .card__enq { background: rgba(244,59,47,.15); border-color: rgba(244,59,47,.4); color: #ff7a6e !important; }
.hm-sig .card__enq:hover { background: var(--red); color: #fff !important; }
/* Bedroom chips: even 3 x 2 grid */
.nav__mega .nav2__chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 0 8px; max-width: 230px; }
.nav__mega .nav2__chips a { min-width: 0; width: 100%; height: 36px; padding: 0; border-radius: 12px; }
.nav__mega .nav__cols .nav2__chips a { display: flex; justify-content: center; align-items: center; padding: 0; text-align: center; }
.nav__mega .nav__cols .nav2__chips a::after { display: none; }
.pdp__specs--tiles { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; }
.pdp__specs--tiles li { gap: 10px; padding: 12px; min-width: 0; }
.pdp__specs--tiles i { width: 34px; height: 34px; border-radius: 10px; }
.pdp__specs--tiles i svg { width: 18px; height: 18px; }
.pdp__specs--tiles span { min-width: 0; } .pdp__specs--tiles b { font-size: 16px; overflow: hidden; text-overflow: ellipsis; }

/* Styled dropdown lists (desktop) */
select { cursor: pointer; }
select.is-dd-open { outline: none; border-color: var(--ink) !important; }
.search__f select.is-dd-open { color: var(--red); }
.filters select.is-set { background-color: var(--ink) !important; color: #fff !important; border-color: var(--ink) !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%23ffffff' stroke-width='1.5'/%3E%3C/svg%3E") !important; }
.dd__pop { position: fixed; z-index: 200; max-width: calc(100vw - 24px); background: #fff; color: var(--ink); border-radius: 18px; padding: 6px; box-shadow: 0 30px 70px -20px rgba(13,13,15,.35), 0 0 0 1px rgba(13,13,15,.06); animation: ddIn .16s ease-out; font-family: inherit; }
@keyframes ddIn { from { opacity: 0; transform: translateY(-4px); } }
.dd__pop ul { list-style: none; margin: 0; padding: 0; max-height: min(360px, 52vh); overflow: auto; overscroll-behavior: contain; }
.dd__pop li { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 11px; font-size: 14.5px; font-weight: 600; cursor: pointer; }
.dd__pop li[hidden] { display: none; }
.dd__pop li:hover { background: #f8f3ed; }
.dd__pop li span { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dd__pop li em { font-style: normal; min-width: 28px; padding: 2px 8px; border-radius: 999px; background: #f4efe8; color: #6b6259; font-size: 12px; font-weight: 700; text-align: center; }
.dd__pop li b { color: var(--red); font-size: 13px; }
.dd__pop li.is-on { background: #fff3f1; color: var(--red); } .dd__pop li.is-on em { background: var(--red); color: #fff; }
.dd__pop li.is-any { color: #8a8a92; }
.dd__pop li.is-off { opacity: .4; cursor: default; }
.dd__q { display: flex; align-items: center; gap: 8px; margin: 2px 2px 6px; padding: 0 12px; height: 40px; border-radius: 12px; background: #f6f1ea; color: #8a8a92; }
.dd__q input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: inherit; font-size: 14.5px; color: var(--ink); }

/* Hero concierge: Sell and Call me panes */
.cq { display: grid; gap: 12px; padding: 14px 4px 2px; }
.cq__head { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: linear-gradient(120deg, #fbf3ea, #f6ebdd); }
.cq__head b { display: block; font-size: 16px; letter-spacing: -.01em; } .cq__head small { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: #6b6259; line-height: 1.35; }
.cq__ic { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--red); color: #fff; box-shadow: 0 10px 20px -10px rgba(244,59,47,.8); }
.cq__ic svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.cq__faces { flex: none; display: flex; } .cq__faces img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; object-position: top; border: 2px solid #fff; margin-left: -10px; } .cq__faces img:first-child { margin-left: 0; }
.cq__lbl { font-size: 12px; font-weight: 700; color: var(--ink); margin: 2px 0 -4px; }
.cq__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.cq__chips label span { height: 36px; padding: 0 14px; font-size: 13.5px; }
.cq__row { display: grid; grid-template-columns: 1fr 1.25fr; gap: 10px; }
.cq .fld { margin: 0; } .cq .fld label { font-size: 12px; }
.cq .btn--block span { margin-left: 6px; transition: transform .25s var(--ease); display: inline-block; } .cq .btn--block:hover span { transform: translateX(4px); }
.cq__ticks { list-style: none; display: flex; justify-content: center; gap: 16px; margin: -2px 0 0; padding: 0; font-size: 12px; font-weight: 600; color: #6b6259; }
.cq__ticks li::before { content: "✓"; color: #17803d; font-weight: 800; margin-right: 5px; }
@media (max-width: 560px) { .cq__row { grid-template-columns: 1fr; } }
.cq__chips label span { display: inline-flex; align-items: center; justify-content: center; padding: 0 14px; min-width: 40px; }
/* FAQ topic chips: wrap neatly, nothing cut off */
.fh__chips { flex-wrap: wrap !important; overflow: visible !important; gap: 8px !important; mask-image: none !important; -webkit-mask-image: none !important; }
.fh__chips button { flex: none; }
.dd__pop--ac li i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: #f6f1ea; color: #8a7a6a; flex: none; }
.dd__pop--ac li.is-hi, .dd__pop--ac li:hover { background: #f8f3ed; }
.dd__pop--ac li.is-hi i, .dd__pop--ac li:hover i { background: var(--red); color: #fff; }
.dd__pop--ac mark { background: none; color: var(--red); font-weight: 800; }
.dd__pop--ac li.is-any { cursor: default; white-space: normal; } .dd__pop--ac li.is-any span { white-space: normal; }

/* Context popups: extra fields */
.eq__x2 { display: grid; gap: 10px; margin-bottom: 12px; }
.eq__x2[hidden] { display: none; }
.eq__x2 .fld { margin: 0; } .eq__x2 .fld > label { display: block; font-size: 12.5px; font-weight: 700; margin-bottom: 6px; } .eq__x2 label small { color: var(--muted); font-weight: 500; }
.eq__x2 input, .eq__x2 select, .eq__x2 textarea { width: 100%; }
.eq__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.eq__chips label { cursor: pointer; } .eq__chips input { position: absolute; opacity: 0; pointer-events: none; width: auto; }
.eq__chips span { display: inline-flex; align-items: center; justify-content: center; gap: 2px; min-width: 42px; height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font-size: 13.5px; font-weight: 700; transition: .2s; }
.eq__chips input:checked + span { background: var(--ink); color: #fff; border-color: var(--ink); }
.eq__chips label:hover span { border-color: var(--ink); }
.eq__days span { flex-direction: column; height: 52px; min-width: 54px; border-radius: 14px; line-height: 1.1; } .eq__days small { font-size: 10.5px; font-weight: 700; color: var(--muted); text-transform: uppercase; } .eq__days b { font-size: 17px; }
.eq__days input:checked + span small { color: rgba(255,255,255,.7); }
.eq[data-kind=question] .eq__msg, .eq[data-kind=press] .eq__msg { display: block; }
.seg--cat a { display: inline-flex; align-items: center; gap: 6px; }
@media (max-width: 1360px) { .filters .fsel--q { flex-basis: 150px; min-width: 130px; } .filters .seg--cat a { padding-left: 12px; padding-right: 12px; } }
@media (max-width: 1360px) and (min-width: 900px) { .filters .seg--cat svg { display: none; } }
@media (min-width: 900px) { .filters { flex-wrap: wrap; overflow: visible; row-gap: 8px; } .filters .fsel--q { flex: 1 1 180px; } }
.more summary { gap: 8px; padding-right: 14px; white-space: nowrap; }
.more summary::after { content: ""; width: 10px; height: 10px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%236c6c74' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center; }
.more[open] summary { border-color: var(--ink); } .more[open] summary::after { transform: rotate(180deg); }
.more.is-set summary { background: var(--ink); color: #fff; border-color: var(--ink); }
.more.is-set summary::after { filter: invert(1); }
.more__pop { border-radius: 18px; padding: 14px; box-shadow: 0 30px 70px -20px rgba(13,13,15,.35), 0 0 0 1px rgba(13,13,15,.06); }
.more__pop label { display: grid; gap: 6px; font-size: 12.5px; font-weight: 700; }
.more__pop select { height: 42px; border-radius: 12px; padding: 0 34px 0 12px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%236c6c74' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center; appearance: none; -webkit-appearance: none; font: inherit; font-weight: 600; }
.more--price .more__pop { grid-template-columns: 1fr 1fr; min-width: 280px; }
.filters .fsel select[name=community] { max-width: 220px; }
.filters .fsel--q { flex: 1 1 150px !important; min-width: 0 !important; }
.filters .fsel select[name=community] { max-width: 200px; } .filters .fsel select[name=type] { max-width: 150px; }
/* 8 menu items: keep the header on one line on smaller laptops */
@media (max-width: 1400px) { .hdr__tel span { display: none; } .hdr__tel { padding: 0 !important; width: 40px; justify-content: center; } }
@media (max-width: 1320px) { .hdr .nav__a { padding-left: 11px !important; padding-right: 11px !important; font-size: 14px; } .prefs__btn span { display: none; } }
@media (max-width: 1320px) { .prefs__btn .prefs__lang { border: 0 !important; padding-right: 0 !important; margin-right: 0 !important; } .prefs__btn .prefs__lang::after { display: none !important; } }

/* Empty search results */
.empty2 { background: radial-gradient(600px 260px at 50% -20%, rgba(244,59,47,.12), transparent 70%), linear-gradient(160deg, #fbf6ef, #f3e8da); }
.empty2__ic { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 20px; background: #fff; color: var(--red); box-shadow: 0 20px 40px -20px rgba(120,60,20,.5); margin-bottom: 16px; }
.empty2__ic svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.empty2 .h2 { margin: 6px 0 12px; } .empty2 > p:not(.eyebrow) { max-width: 560px; margin: 0 auto; color: #5c534c; font-size: 16px; line-height: 1.55; }
.empty2__btns { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; margin: 24px 0 18px; }
.empty2__ticks { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 20px; font-size: 13px; font-weight: 600; color: #6b6259; }
.empty2__ticks li::before { content: "✓"; color: #17803d; font-weight: 800; margin-right: 6px; }
.empty2__alt { display: flex; justify-content: space-between; align-items: baseline; margin: 48px 0 18px; } .empty2__alt h3 { margin: 0; font-size: 22px; letter-spacing: -.02em; }
.empty2 { position: relative; overflow: hidden; text-align: center; max-width: 820px; margin: 10px auto 0; padding: clamp(36px, 5vw, 60px) clamp(20px, 4vw, 56px); border-radius: 32px; }
.empty2 .eyebrow { justify-content: center; }

/* Popup: compact and even spacing so everything fits, every kind */
.eq { max-height: min(760px, calc(100dvh - 24px)); }
.eq__who small em { font-style: normal; }
.eq__main { padding: 24px 30px 22px; display: flex; flex-direction: column; }
.eq__who { margin-bottom: 12px; }
.eq__h { margin-bottom: 12px; font-size: clamp(26px, 2.6vw, 32px); }
.eq__intent { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.eq__intent button { flex: 1 1 auto; padding: 10px 14px; font-size: 13px; white-space: nowrap; border-radius: 12px; }
.eq__form .fld { margin: 0 0 10px; }
.eq__form .fld > label, .eq__x2 .fld > label { margin-bottom: 5px; font-size: 12.5px; }
.eq__form .fld input, .eq__form select { height: 46px; }
.eq__x2 { gap: 10px; margin-bottom: 10px; }
.eq__x2 .eq__grid, .eq__form .eq__grid { gap: 0 10px; }
.eq__x2 .eq__grid .fld { margin: 0; }
.eq__by { margin: 0 0 10px; }
.eq__msg { margin: 0 0 12px; }
.eq__or { margin: 12px 0; }
.eq__fine { margin-top: 8px; }
.eq__email { margin-top: 0; }
@media (max-height: 820px) { .eq__or, .eq__fine { display: none; } .eq__wa { margin-top: 10px; } }
/* Popup rhythm: one 12px step between every row */
.eq__form .fld, .eq__x2, .eq__by, .eq__msg { margin-bottom: 12px !important; }
.eq__x2 { gap: 12px; } .eq__x2 .fld, .eq__x2 .eq__grid .fld { margin-bottom: 0 !important; }
.eq__chips span { height: 34px; }
.eq__days span { height: 46px; }
.eq__form .eq__send { margin-top: 2px; }
@media (max-height: 760px) { .eq__main { padding: 18px 26px 16px; } .eq__who { margin-bottom: 8px; } .eq__h { font-size: 26px; margin-bottom: 10px; } .eq__intent { margin-bottom: 10px; } .eq__intent button { padding: 8px 12px; } .eq__form .fld input, .eq__form select { height: 42px; } .eq__form .fld, .eq__x2, .eq__by, .eq__msg { margin-bottom: 10px !important; } }

/* Developers directory and profile */
.dvh, .dvp { position: relative; overflow: hidden; background: linear-gradient(180deg, #fbf3ea, #fff); padding: calc(var(--hdr) + 30px) 0 50px; }
.dvh__in, .dvp .wrap { position: relative; }
.dvh__h, .dvp__h { margin: 10px 0 14px; font-size: clamp(40px, 6vw, 84px); line-height: .95; letter-spacing: -.05em; font-weight: 800; }
.dvh__h em, .dvp__h em { font-family: var(--serif); font-weight: 400; font-style: italic; color: var(--red); }
.dvh__p, .dvp__p { max-width: 620px; font-size: 18px; color: #4b4440; line-height: 1.55; margin: 0; }
.dvh__stats { display: flex; gap: 12px; margin: 28px 0 22px; flex-wrap: wrap; }
.dvh__stats div { padding: 14px 20px; border-radius: 18px; background: #fff; box-shadow: 0 16px 40px -28px rgba(120,60,20,.5); }
.dvh__stats b { display: block; font-size: 28px; letter-spacing: -.03em; } .dvh__stats span { font-size: 13px; color: #6b6259; font-weight: 600; }
.dvh__search { display: flex; align-items: center; gap: 12px; max-width: 640px; height: 60px; padding: 0 22px; border-radius: 999px; background: #fff; box-shadow: 0 24px 60px -30px rgba(80,40,10,.45), 0 0 0 1px rgba(13,13,15,.06); color: #8a8a92; }
.dvh__search input { flex: 1; border: 0; outline: 0; background: none; font: inherit; font-size: 16px; color: var(--ink); }
.dvt__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.dvt__c { position: relative; display: grid; gap: 4px; padding: 18px; border-radius: 22px; background: #fff; box-shadow: 0 0 0 1px rgba(13,13,15,.07); color: inherit; text-decoration: none; transition: transform .3s var(--ease), box-shadow .3s; }
.dvt__c:hover { transform: translateY(-4px); box-shadow: 0 30px 60px -30px rgba(13,13,15,.35), 0 0 0 1px rgba(13,13,15,.07); }
.dvt__logo, .dvx__logo { display: grid; place-items: center; height: 110px; border-radius: 16px; background: #faf6f0; margin-bottom: 10px; padding: 14px; }
.dvt__logo img, .dvx__logo img { max-width: 80%; max-height: 72px; object-fit: contain; }
.dvt__logo.is-dark, .dvx__logo.is-dark, .dvp__logo.is-dark { background: #141212; }
.dvt__c b { font-size: 16px; } .dvt__c small { font-size: 13px; color: var(--muted); }
.dvt__c i { position: absolute; right: 18px; bottom: 18px; font-style: normal; color: var(--red); opacity: 0; transition: .25s; } .dvt__c:hover i { opacity: 1; }
.dvx { padding-top: 10px; }
.dvx__az { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 22px; position: sticky; top: calc(var(--hdr) + 4px); z-index: 5; padding: 8px; border-radius: 18px; background: rgba(255,255,255,.92); backdrop-filter: blur(10px); box-shadow: 0 0 0 1px rgba(13,13,15,.06); }
.dvx__az button { min-width: 38px; height: 36px; padding: 0 10px; border-radius: 10px; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; color: #4b4440; }
.dvx__az button:hover { background: #f4efe8; } .dvx__az button.is-on { background: var(--ink); color: #fff; }
.dvx__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.dvx__grid--sm { grid-template-columns: repeat(4, 1fr); }
.dvx__c { display: grid; padding: 10px 10px 14px; border-radius: 20px; background: #fff; box-shadow: 0 0 0 1px rgba(13,13,15,.07); color: inherit; text-decoration: none; transition: transform .25s var(--ease), box-shadow .25s; }
.dvx__c[hidden] { display: none; }
.dvx__c:hover { transform: translateY(-3px); box-shadow: 0 24px 50px -28px rgba(13,13,15,.35), 0 0 0 1px rgba(13,13,15,.07); }
.dvx__logo { height: 96px; margin-bottom: 10px; }
.dvx__mono { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--ink); color: #fff; font-size: 22px; }
.dvx__t { display: grid; padding: 0 4px; } .dvx__t b { font-size: 14px; line-height: 1.3; } .dvx__t small { font-size: 12px; color: var(--red); font-weight: 700; margin-top: 2px; }
.dvx__none { text-align: center; color: var(--muted); margin: 30px 0 0; }
.dvcta__in { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: clamp(30px, 5vw, 56px); border-radius: 32px; background: radial-gradient(700px 300px at 90% 0, rgba(244,59,47,.3), transparent 60%), #0f0d0d; color: #fff; }
.dvcta__in p:not(.eyebrow) { color: rgba(255,255,255,.75); max-width: 560px; margin: 12px 0 0; }
.dvp__in { display: grid; grid-template-columns: 300px 1fr; gap: clamp(28px, 4vw, 60px); align-items: center; margin-top: 18px; }
.dvp__logo { display: grid; place-items: center; aspect-ratio: 1; border-radius: 32px; background: #fff; box-shadow: 0 40px 80px -40px rgba(120,60,20,.5), 0 0 0 1px rgba(13,13,15,.05); padding: 34px; }
.dvp__logo img { max-width: 100%; max-height: 160px; object-fit: contain; } .dvp__logo b { font-size: 90px; }
.dvp__h { font-size: clamp(38px, 5vw, 68px); }
.dvp__stats { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 22px 0; }
.dvp__stats li { padding: 12px 18px; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px rgba(13,13,15,.07); display: grid; }
.dvp__stats b { font-size: 24px; letter-spacing: -.03em; } .dvp__stats span { font-size: 12.5px; color: #6b6259; font-weight: 600; }
.dvp__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.dvp__empty { background: linear-gradient(120deg, #fbf6ef, #f3e8da); }
.dvp__empty div { display: grid; gap: 4px; } .dvp__empty b { font-size: 18px; } .dvp__empty span { color: #5c534c; max-width: 620px; }
.dvp__wg { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; padding: 0; margin: 0; }
.dvp__wg li { padding: 26px; border-radius: 24px; background: #0f0d0d; color: #fff; }
.dvp__wg b { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 40px; color: #f0c9a0; } .dvp__wg h3 { margin: 10px 0 6px; font-size: 19px; } .dvp__wg p { margin: 0; color: rgba(255,255,255,.7); font-size: 14.5px; }
@media (max-width: 1100px) { .dvx__grid { grid-template-columns: repeat(4, 1fr); } .dvt__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) { .dvx__grid, .dvx__grid--sm { grid-template-columns: repeat(2, 1fr); } .dvp__in { grid-template-columns: 1fr; } .dvp__logo { max-width: 220px; } .dvp__wg { grid-template-columns: 1fr; } .dvcta__in, .dvp__empty { flex-direction: column; align-items: flex-start; } }
.dvx__word { font-family: var(--serif); font-weight: 400; font-size: 26px; letter-spacing: .02em; color: var(--ink); text-transform: uppercase; text-align: center; line-height: 1; }
.dvx__word--xl { font-size: 44px; }
.sec__head .h2 { opacity: 1; }
.dvt__logo b.dvx__word, .dvx__logo b.dvx__word { font-size: 24px; font-weight: 400; letter-spacing: .06em; }
.dvp__logo b.dvx__word--xl { font-size: 46px; }
/* Listing: DLD permit card */
.permit { display: flex; align-items: center; gap: 16px; margin-top: 14px; padding: 16px; border-radius: 20px; background: #fff; box-shadow: 0 0 0 1px rgba(13,13,15,.08); }
.permit__qr { flex: none; display: grid; place-items: center; width: 124px; height: 124px; padding: 6px; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px rgba(13,13,15,.1); }
.permit__qr img, .permit__qr canvas { width: 112px !important; height: 112px !important; }
.permit div { display: grid; gap: 2px; }
.permit small { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #8a8a92; }
.permit b { font-size: 20px; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.permit span { font-size: 12.5px; color: #6b6259; line-height: 1.4; } .permit em { font-style: normal; font-size: 12px; color: var(--muted); margin-top: 4px; }
.agent-card + .permit { position: static; }
.agent-card .permit { margin-top: 16px; box-shadow: none; background: #f8f4ee; padding: 12px; } .agent-card .permit__qr { width: 96px; height: 96px; } .agent-card .permit__qr img, .agent-card .permit__qr canvas { width: 84px !important; height: 84px !important; }
.agent-card__brn { display: inline-block; margin-top: 4px; padding: 2px 8px; border-radius: 999px; background: #f4efe8; color: #6b6259 !important; font-size: 11px !important; font-weight: 700; }
.permit__qr img { width: 100%; height: 100%; object-fit: contain; border-radius: 8px; }
.agent-card .permit__qr { width: 120px; height: 120px; padding: 4px; }

/* Listing: recent DLD sales */
.lsx__head { display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; margin-bottom: 16px; }
.lsx__head h2 { margin: 4px 0; } .lsx__sub { margin: 0; color: var(--muted); font-size: 14.5px; }
.lsx__kpi { display: flex; gap: 8px; }
.lsx__kpi > div { display: grid; padding: 12px 16px; border-radius: 16px; background: #0f0d0d; color: #fff; min-width: 150px; }
.lsx__kpi small { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.lsx__kpi b { font-size: 22px; letter-spacing: -.02em; } .lsx__kpi span { font-size: 12px; color: rgba(255,255,255,.65); }
.lsx__kpi .is-good b { color: #6ee7a1; }
.lsx__t { border-radius: 18px; border: 1px solid var(--line); overflow: auto; }
.lsx__t table { width: 100%; border-collapse: collapse; font-size: 14px; }
.lsx__t th { text-align: left; padding: 12px 16px; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #8a8a92; background: #faf6f0; }
.lsx__t td { padding: 12px 16px; border-top: 1px solid var(--line); white-space: nowrap; }
.lsx__t tbody tr:hover { background: #fcfaf7; }
.lsx__split { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 12px; }
.lsx__split > div { display: grid; gap: 2px; padding: 14px 16px; border-radius: 16px; background: #f8f4ee; }
.lsx__split span { font-size: 12px; font-weight: 700; color: #6b6259; } .lsx__split b { font-size: 19px; letter-spacing: -.02em; } .lsx__split small { font-size: 12px; color: var(--muted); }
.lsx__split b.up { color: #17803d; } .lsx__split b.down { color: #c4231a; }
.lsx__tag { display: inline-block; padding: 3px 9px; border-radius: 999px; background: #f4efe8; font-size: 12px; font-weight: 700; color: #6b6259; } .lsx__tag.is-new { background: #e7f6ec; color: #17803d; }
@media (max-width: 640px) { .lsx__split { grid-template-columns: 1fr; } .lsx__kpi { width: 100%; } .lsx__kpi > div { flex: 1; min-width: 0; } }
.agent-card__more { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 10px 0 4px; }
.agent-card__more--one { grid-template-columns: 1fr; }
.agent-card__more button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; border-radius: 14px; border: 1px solid var(--line); background: #faf6f0; font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; transition: .2s; }
.agent-card__more svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linejoin: round; stroke-linecap: round; }
.agent-card__more button:hover { background: var(--ink); color: #fff; border-color: var(--ink); }

.eq__main { padding-bottom: 28px; } .eq__wa { margin-bottom: 4px; }
/* Offer + video buttons: clear, bold */
.agent-card__more { gap: 8px; margin: 12px 0 18px; }
.agent-card__more button { justify-content: flex-start; gap: 10px; height: auto; min-height: 58px; padding: 10px 12px; border-radius: 16px; text-align: left; border: 0; }
.agent-card__more button span { display: grid; line-height: 1.2; } .agent-card__more button b { font-size: 14px; } .agent-card__more button small { font-size: 11px; font-weight: 600; opacity: .7; }
.agent-card__more button svg { flex: none; width: 34px; height: 34px; padding: 8px; border-radius: 10px; stroke-width: 2; }
.agent-card__more button:first-child { background: var(--ink); color: #fff; box-shadow: 0 14px 28px -16px rgba(13,13,15,.8); }
.agent-card__more button:first-child svg { background: rgba(255,255,255,.14); }
.agent-card__more button:last-child { background: #fff1ef; color: var(--ink); box-shadow: inset 0 0 0 1.5px rgba(244,59,47,.35); }
.agent-card__more button:last-child svg { background: var(--red); color: #fff; }
.agent-card__more--one button:last-child { justify-content: center; }
.agent-card__more button:hover { transform: translateY(-2px); background: var(--ink); color: #fff; } .agent-card__more button:last-child:hover { background: var(--red); color: #fff; } .agent-card__more button:last-child:hover svg { background: rgba(255,255,255,.2); }
.agent-card__more button small { white-space: nowrap; }
/* Offer + video: slim, in keeping with the card, with a touch of colour */
.agent-card__more { gap: 8px; margin: 10px 0 16px; }
.agent-card__more button, .agent-card__more button:first-child, .agent-card__more button:last-child { justify-content: center; gap: 8px; min-height: 0; height: 44px; padding: 0 12px; border-radius: 14px; background: #fff; color: var(--ink); border: 1px solid rgba(244,59,47,.28); box-shadow: none; font-size: 13.5px; font-weight: 700; }
.agent-card__more button svg, .agent-card__more button:first-child svg, .agent-card__more button:last-child svg { width: 17px; height: 17px; padding: 0; border-radius: 0; background: none; color: var(--red); stroke-width: 2; }
.agent-card__more button:hover, .agent-card__more button:last-child:hover { transform: none; background: #fff3f1; color: var(--ink); border-color: var(--red); }
.agent-card__more button:last-child:hover svg { background: none; }
.dvp__hq { font-size: 16px !important; }
.dvp__sg { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(28px, 5vw, 70px); align-items: start; }
.dvp__prose p { font-size: 17px; line-height: 1.7; color: #3b3530; }
.dvp__facts { position: sticky; top: calc(var(--hdr) + 20px); padding: 26px; border-radius: 26px; background: linear-gradient(160deg, #fbf6ef, #f3e8da); }
.dvp__facts h3 { margin: 0 0 12px; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #8a7a6a; }
.dvp__facts dl { margin: 0 0 20px; display: grid; gap: 0; }
.dvp__facts dl div { display: flex; justify-content: space-between; gap: 14px; padding: 11px 0; border-bottom: 1px solid rgba(120,80,40,.14); font-size: 14.5px; }
.dvp__facts dt { color: #6b6259; } .dvp__facts dd { margin: 0; font-weight: 700; text-align: right; } .dvp__facts dd a { color: var(--red); }
.dvp__nt { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.dvp__nt li { padding: 7px 12px; border-radius: 999px; background: #fff; font-size: 13px; font-weight: 700; box-shadow: 0 0 0 1px rgba(120,80,40,.12); }
@media (max-width: 900px) { .dvp__sg { grid-template-columns: 1fr; } .dvp__facts { position: static; } }
.dvx__rg { display: inline-flex; gap: 2px; padding: 3px; margin-right: 8px; border-radius: 12px; background: #f4efe8; }
.dvx__rg button { min-width: 0 !important; height: 30px !important; padding: 0 12px !important; font-size: 13px !important; }
.dvx__rg button.is-on { background: #fff !important; color: var(--ink) !important; box-shadow: 0 2px 6px rgba(13,13,15,.1); }
.dvx__t em { font-style: normal; font-size: 12px; color: var(--muted); margin-top: 2px; }
.dvp__story .h2 { margin-bottom: 18px; }

/* ---------------------------------------------------------------- developer profile v2 (dvq/dvn/dvs/dvf/dvj) */
.dvq { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: #0b0a0a; padding: calc(var(--hdr) + 34px) 0 0; }
.dvq__bg { position: absolute; inset: 0; z-index: -1; }
.dvq__bg img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); animation: kenburns 26s ease-in-out infinite alternate; }
.dvq__bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(90% 70% at 85% 30%, rgba(244,59,47,.18), transparent 60%), linear-gradient(90deg, rgba(8,7,7,.94) 0%, rgba(8,7,7,.78) 45%, rgba(8,7,7,.42) 100%), linear-gradient(0deg, #0b0a0a 0%, transparent 40%); }
.dvq .crumbs--light, .dvq .crumbs--light a { color: rgba(255,255,255,.62); } .dvq .crumbs li + li::before { color: rgba(255,255,255,.28); }
.dvq__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: clamp(30px, 5vw, 80px); align-items: center; padding: clamp(18px, 3vw, 40px) 0 clamp(48px, 6vw, 84px); }
.dvq__eye { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 18px; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #f3c9a3; }
.dvq__eye i { width: 8px; height: 8px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 0 rgba(244,59,47,.6); animation: pulse 2.2s infinite; }
.dvq__h { margin: 0 0 20px; font-size: clamp(44px, 7vw, 104px); line-height: .92; letter-spacing: -.055em; font-weight: 800; text-wrap: balance; }
.dvq__h em { font-family: var(--serif); font-weight: 400; font-style: italic; color: #f3c9a3; }
.dvq__p { max-width: 640px; margin: 0 0 30px; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.6; color: rgba(255,255,255,.78); }
.dvq__btns, .dvf__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.dvq__glass { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.dvq__glass:hover { background: rgba(255,255,255,.16); }
.dvq__card { justify-self: end; width: 100%; max-width: 380px; padding: 14px; border-radius: 34px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); box-shadow: 0 60px 120px -50px rgba(0,0,0,.9); }
.dvq__logo { display: grid; place-items: center; aspect-ratio: 1.25; border-radius: 24px; background: #fff; padding: 34px; }
.dvq__logo.is-dark { background: #141212; }
.dvq__logo img { max-width: 100%; max-height: 150px; object-fit: contain; }
.dvq__logo b { font-size: 40px; letter-spacing: -.04em; color: var(--ink); text-align: center; line-height: 1; }
.dvq__meta { margin: 0; padding: 14px 10px 4px; display: grid; }
.dvq__meta div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 4px; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 14px; }
.dvq__meta div:last-child { border-bottom: 0; }
.dvq__meta dt { color: rgba(255,255,255,.58); } .dvq__meta dd { margin: 0; font-weight: 700; text-align: right; }
.dvq__web { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 4px 0 0; padding: 12px; border-radius: 16px; background: rgba(255,255,255,.07); font-size: 14px; font-weight: 700; color: #fff; transition: background .2s; }
.dvq__web:hover { background: rgba(255,255,255,.15); }
.dvq__mq { position: relative; border-top: 1px solid rgba(255,255,255,.1); padding: 20px 0; overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.dvq__mqt { display: flex; width: max-content; animation: tmreel 38s linear infinite; }
.dvq__mq:hover .dvq__mqt { animation-play-state: paused; }
.dvq__mqt span { display: flex; align-items: center; flex-shrink: 0; }
.dvq__mqt b { font-size: clamp(22px, 2.6vw, 34px); font-weight: 800; letter-spacing: -.03em; white-space: nowrap; color: rgba(255,255,255,.34); padding: 0 26px; transition: color .3s; }
.dvq__mqt b:hover { color: #fff; }
.dvq__mqt i { font-style: normal; color: var(--red); font-size: 16px; }

.dvn { background: #0b0a0a; color: #fff; padding: 0 0 clamp(50px, 6vw, 80px); }
.dvn__g { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 4), 1fr); border-radius: 28px; overflow: hidden; background: rgba(255,255,255,.1); gap: 1px; }
.dvn__g--2 { --n: 2; } .dvn__g--3 { --n: 3; } .dvn__g--4 { --n: 4; }
.dvn__g li { background: linear-gradient(160deg, #1a1716, #111010); padding: clamp(22px, 3vw, 36px); display: grid; gap: 4px; }
.dvn__g b { font-size: clamp(40px, 5vw, 68px); line-height: 1; letter-spacing: -.05em; font-weight: 800; background: linear-gradient(180deg, #fff, #f3c9a3); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dvn__g span { margin-top: 10px; font-weight: 700; font-size: 15px; }
.dvn__g small { color: rgba(255,255,255,.5); font-size: 13px; }

.dvs { position: relative; }
.dvs__h { margin: 8px 0 clamp(26px, 4vw, 46px); font-size: clamp(38px, 5.2vw, 76px); line-height: .95; letter-spacing: -.05em; font-weight: 800; }
.dvs__h em { font-family: var(--serif); font-weight: 400; font-style: italic; color: var(--red); }
.dvs__g { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); gap: clamp(30px, 6vw, 90px); align-items: start; }
.dvs__lead { margin: 0 0 26px; font-family: var(--serif); font-size: clamp(24px, 2.6vw, 36px); line-height: 1.25; letter-spacing: -.01em; color: var(--ink); }
.dvs__lead::first-letter { float: left; font-size: 3.1em; line-height: .82; padding: .06em .1em 0 0; color: var(--red); }
.dvs__prose p { margin: 0 0 18px; font-size: 17px; line-height: 1.75; color: #3d3733; }
.dvs__known { margin-top: 34px; }
.dvs__known h3, .dvs__facts h3 { margin: 0 0 12px; font-size: 12.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #8a7a6a; }
.dvs__known ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.dvs__known li { display: grid; grid-template-columns: 54px 1fr auto; align-items: center; gap: 12px; padding: 18px 4px; border-bottom: 1px solid var(--line); transition: background .25s, padding .25s; }
.dvs__known li:hover { background: linear-gradient(90deg, #fbf4ec, transparent); padding-left: 14px; }
.dvs__known li span { font-family: var(--serif); font-style: italic; font-size: 26px; color: #c9a27a; }
.dvs__known li b { font-size: clamp(18px, 1.8vw, 23px); letter-spacing: -.02em; }
.dvs__ask { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; padding: 8px 0; font-size: 13.5px; font-weight: 800; color: var(--red); opacity: .0; transform: translateX(-6px); transition: .25s; }
.dvs__known li:hover .dvs__ask, .dvs__ask:focus-visible { opacity: 1; transform: none; }
@media (hover: none) { .dvs__ask { opacity: 1; transform: none; } }
.dvs__side { position: sticky; top: calc(var(--hdr) + 20px); display: grid; gap: 14px; }
.dvs__facts { padding: 26px; border-radius: 28px; background: linear-gradient(160deg, #fbf6ef, #f1e4d4); }
.dvs__facts dl { margin: 0; display: grid; }
.dvs__facts dl div { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid rgba(120,80,40,.14); font-size: 14.5px; }
.dvs__facts dl div:last-child { border-bottom: 0; }
.dvs__facts dt { display: flex; align-items: center; gap: 10px; color: #6b6259; }
.dvs__facts dt svg { width: 30px; height: 30px; padding: 6px; border-radius: 10px; background: #fff; fill: none; stroke: var(--red); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.dvs__facts dd { margin: 0; font-weight: 700; text-align: right; } .dvs__facts dd a { color: var(--red); }
.dvs__desk { padding: 24px; border-radius: 28px; background: #0f0d0d; color: #fff; box-shadow: 0 30px 60px -36px rgba(13,13,15,.6); }
.dvs__live { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #86efac; }
.dvs__live i { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; animation: livepulse 2s infinite; }
.dvs__desk b { display: block; font-size: 21px; letter-spacing: -.02em; }
.dvs__desk p { margin: 6px 0 18px; color: rgba(255,255,255,.66); font-size: 14.5px; line-height: 1.55; }
.dvs__deskb { display: flex; gap: 8px; flex-wrap: wrap; }

.dvf-sec { padding-top: 0; }
.dvf { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 4vw, 60px); padding: clamp(30px, 5vw, 64px); border-radius: 36px; background: #0b0a0a; color: #fff; }
.dvf__img { position: absolute; inset: 0; z-index: -1; }
.dvf__img img { width: 100%; height: 100%; object-fit: cover; opacity: .38; }
.dvf__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, #0b0a0a 30%, rgba(11,10,10,.55)), radial-gradient(60% 80% at 100% 0, rgba(244,59,47,.25), transparent 60%); }
.dvf h2 { margin: 0 0 14px; font-size: clamp(30px, 3.6vw, 52px); line-height: 1; letter-spacing: -.045em; font-weight: 800; text-wrap: balance; }
.dvf h2 em { font-family: var(--serif); font-weight: 400; font-style: italic; color: #f3c9a3; }
.dvf__l > p:not(.dvq__eye) { max-width: 520px; margin: 0 0 26px; color: rgba(255,255,255,.72); font-size: 16.5px; line-height: 1.6; }
.dvf__r { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; align-content: center; }
.dvf__r li { display: grid; grid-template-columns: 46px 1fr; column-gap: 12px; padding: 18px 20px; border-radius: 20px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.dvf__r span { grid-row: span 2; font-family: var(--serif); font-style: italic; font-size: 30px; line-height: 1; color: #f3c9a3; }
.dvf__r b { font-size: 16.5px; } .dvf__r p { margin: 2px 0 0; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.5; }

.dvj { background: #0f0d0d; color: #fff; overflow: hidden; }
.dvj__head { max-width: 640px; margin-bottom: clamp(30px, 4vw, 50px); }
.dvj__head p:not(.eyebrow) { color: rgba(255,255,255,.66); font-size: 16.5px; margin: 12px 0 0; }
.dvj__t { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; position: relative; counter-reset: s; }
.dvj__t::before { content: ""; position: absolute; left: 0; right: 0; top: 27px; height: 1px; background: linear-gradient(90deg, var(--red), rgba(243,201,163,.5) 60%, transparent); }
.dvj__t li { position: relative; padding-top: 70px; }
.dvj__t span { position: absolute; top: 0; left: 0; width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: #1a1716; border: 1px solid rgba(255,255,255,.16); font-family: var(--serif); font-style: italic; font-size: 22px; color: #f3c9a3; transition: background .3s, color .3s; }
.dvj__t li:hover span { background: var(--red); color: #fff; border-color: var(--red); }
.dvj__t b { display: block; font-size: 18px; letter-spacing: -.01em; margin-bottom: 6px; }
.dvj__t p { margin: 0; color: rgba(255,255,255,.62); font-size: 14.5px; line-height: 1.55; }

@media (max-width: 1000px) { .dvj__t { grid-template-columns: 1fr 1fr; row-gap: 30px; } .dvj__t::before { display: none; } }
@media (max-width: 900px) {
  .dvq__grid, .dvs__g, .dvf { grid-template-columns: 1fr; }
  .dvq__card { justify-self: start; max-width: 420px; }
  .dvs__side { position: static; }
  .dvn__g { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .dvj__t { grid-template-columns: 1fr; }
  .dvn__g b { font-size: 40px; }
  .dvs__known li { grid-template-columns: 40px 1fr; } .dvs__ask { grid-column: 2; padding-top: 0; }
  .dvq__btns .btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .dvq__bg img, .dvq__mqt { animation: none; } }
img[src*="gptw-badge"] { object-fit: contain; }
.dvn__g b { min-height: clamp(40px, 5vw, 68px); display: flex; align-items: flex-end; }
.dvn__g b.dvn__w { font-size: clamp(26px, 2.6vw, 38px); padding-bottom: .08em; }
.dvn__g li { align-content: start; }

/* ---------------------------------------------------------------- advisor profile v2 (agp/agc/agl/agr/agw/agt) */
.agp { position: relative; overflow: hidden; isolation: isolate; padding: calc(var(--hdr) + 26px) 0 clamp(50px, 6vw, 90px); background: radial-gradient(70% 90% at 15% 20%, #f6e9da 0%, transparent 60%), linear-gradient(180deg, #fbf7f2, #f4ece2); }
.agp::after { content: ""; position: absolute; right: -10%; top: -30%; width: 60%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(244,59,47,.12), transparent); z-index: -1; }
.agp__ghost { position: absolute; left: 50%; bottom: -.18em; transform: translateX(-50%); z-index: -1; font-size: clamp(140px, 24vw, 380px); font-weight: 800; letter-spacing: -.07em; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(120,80,40,.12); white-space: nowrap; pointer-events: none; text-transform: uppercase; }
.agp__g { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: clamp(30px, 6vw, 96px); align-items: center; }
.agp__ph { position: relative; max-width: 460px; width: 100%; justify-self: center; }
.agp__arch { aspect-ratio: 4 / 5; border-radius: 240px 240px 36px 36px; overflow: hidden; background: linear-gradient(170deg, #e9dccd, #d8c7b4); box-shadow: 0 60px 100px -50px rgba(80,50,20,.55), inset 0 0 0 1px rgba(255,255,255,.6); }
.agp__arch img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.agp__chip { position: absolute; display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 18px; background: rgba(255,255,255,.88); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 20px 40px -20px rgba(60,40,20,.4); font-size: 13.5px; color: #4a423b; animation: floaty 6s ease-in-out infinite; }
.agp__chip b { color: var(--ink); }
.agp__chip svg { color: var(--red); flex-shrink: 0; }
.agp__chip--l { left: -8%; bottom: 14%; }
.agp__chip--r { right: -6%; top: 12%; flex-direction: column; align-items: flex-start; gap: 2px; animation-delay: -3s; }
@keyframes floaty { 50% { transform: translateY(-8px); } }
.agp__stars { color: #f5a623; letter-spacing: 1px; }
.agp__eye { display: inline-flex; align-items: center; gap: 10px; margin: 18px 0 14px; font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; color: #8a6a4a; }
.agp__eye i { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; animation: livepulse 2s infinite; }
.agp__h { margin: 0 0 18px; font-size: clamp(52px, 7.6vw, 116px); line-height: .9; letter-spacing: -.055em; font-weight: 800; }
.agp__h em { display: block; font-family: var(--serif); font-weight: 400; font-style: italic; color: var(--red); letter-spacing: -.03em; }
.agp__lead { max-width: 560px; margin: 0 0 28px; font-size: clamp(16px, 1.35vw, 18.5px); line-height: 1.6; color: #5b524a; }
.agp__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.agp__btns .btn--wa { display: inline-flex; align-items: center; gap: 8px; }
.agp__k { list-style: none; margin: clamp(28px, 3vw, 42px) 0 0; padding: 22px 0 0; border-top: 1px solid rgba(120,80,40,.18); display: flex; flex-wrap: wrap; gap: clamp(20px, 3.5vw, 54px); }
.agp__k b { display: block; font-size: clamp(32px, 3.4vw, 48px); line-height: 1; letter-spacing: -.045em; font-weight: 800; }
.agp__k span { display: block; margin-top: 6px; font-size: 13px; color: #8a7a6a; font-weight: 600; }

.agc__note { margin: 0; color: var(--muted); font-size: 14.5px; max-width: 280px; }
.agc__g { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 210px; gap: 14px; }
.agc__c { position: relative; overflow: hidden; border-radius: 26px; color: #fff; isolation: isolate; display: flex; align-items: flex-end; padding: 20px; }
.agc__c--big { grid-column: span 2; grid-row: span 2; }
.agc__c img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.agc__c::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(10,8,8,.82), rgba(10,8,8,.05) 60%); }
.agc__c:hover img { transform: scale(1.07); }
.agc__t b { display: block; font-size: clamp(18px, 1.7vw, 22px); letter-spacing: -.02em; }
.agc__c--big .agc__t b { font-size: clamp(26px, 2.8vw, 38px); }
.agc__t small { color: rgba(255,255,255,.78); font-size: 13.5px; }
.agc__go { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.16); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: background .25s, transform .25s; }
.agc__c:hover .agc__go { background: var(--red); transform: rotate(-45deg); }

.agl__tabs { display: inline-flex; gap: 4px; padding: 5px; border-radius: 999px; background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,.04), inset 0 0 0 1px var(--line); }
.agl__tabs button { border: 0; background: none; padding: 9px 16px; border-radius: 999px; font: inherit; font-size: 14px; font-weight: 700; color: var(--muted); cursor: pointer; }
.agl__tabs button span { opacity: .55; font-weight: 600; margin-left: 2px; }
.agl__tabs button.is-on { background: var(--ink); color: #fff; }
.agl__i[hidden] { display: none; }

.agr__g { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.agr__c { position: relative; margin: 0; padding: 28px 26px 24px; border-radius: 26px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); display: flex; flex-direction: column; gap: 18px; }
.agr__c--big { grid-row: span 2; background: linear-gradient(160deg, #fbf3ea, #f1e2d1); box-shadow: none; }
.agr__q { position: absolute; top: 6px; right: 22px; font-family: var(--serif); font-size: 90px; line-height: 1; color: rgba(244,59,47,.18); }
.agr__c blockquote { margin: 0; font-size: 15.5px; line-height: 1.65; color: #3d3733; flex: 1; }
.agr__c--big blockquote { font-family: var(--serif); font-size: clamp(20px, 1.9vw, 26px); line-height: 1.4; color: var(--ink); }
.agr__c figcaption { display: flex; align-items: center; gap: 12px; }
.agr__av { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: #fff; font-weight: 800; }
.agr__c figcaption b { display: block; font-size: 15px; } .agr__c figcaption small { color: var(--muted); font-size: 12.5px; }

.agw { background: #0f0d0d; color: #fff; overflow: hidden; }
.agw__g { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(30px, 6vw, 90px); align-items: center; }
.agw__p { color: rgba(255,255,255,.68); font-size: 16.5px; line-height: 1.6; margin: 14px 0 28px; max-width: 460px; }
.agw__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.agw__glass { background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.2); }
.agw__glass:hover { background: rgba(255,255,255,.16); }
.agw__s { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.agw__s li { padding: 24px; border-radius: 24px; background: linear-gradient(160deg, #1b1817, #141211); border: 1px solid rgba(255,255,255,.08); transition: border-color .3s, transform .3s; }
.agw__s li:hover { border-color: rgba(244,59,47,.5); transform: translateY(-3px); }
.agw__s span { font-family: var(--serif); font-style: italic; font-size: 28px; color: #f3c9a3; }
.agw__s b { display: block; margin: 10px 0 6px; font-size: 18px; }
.agw__s p { margin: 0; color: rgba(255,255,255,.6); font-size: 14.5px; line-height: 1.55; }

.agt .rail { padding-bottom: 8px; }
.agt__c { flex: 0 0 220px; display: grid; gap: 4px; color: inherit; }
.agt__ph { display: block; aspect-ratio: 4 / 5; border-radius: 120px 120px 22px 22px; overflow: hidden; background: linear-gradient(170deg, #efe4d8, #ddd0c1); margin-bottom: 10px; }
.agt__ph img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .6s; }
.agt__c:hover img { transform: scale(1.05); }
.agt__c b { font-size: 16px; } .agt__c small { color: var(--muted); font-size: 13.5px; }

@media (max-width: 1000px) { .agc__g { grid-template-columns: 1fr 1fr; } .agr__g { grid-template-columns: 1fr 1fr; } .agr__c--big { grid-column: span 2; grid-row: auto; } }
@media (max-width: 860px) {
  .agp__g, .agw__g { grid-template-columns: 1fr; }
  .agp__ph { max-width: 340px; }
  .agp__chip--l { left: -4%; } .agp__chip--r { right: -4%; }
}
@media (max-width: 560px) {
  .agc__g { grid-template-columns: 1fr; grid-auto-rows: 190px; } .agc__c--big { grid-column: auto; grid-row: span 1; }
  .agr__g, .agw__s { grid-template-columns: 1fr; } .agr__c--big { grid-column: auto; }
  .agp__btns .btn { flex: 1 1 auto; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .agp__chip { animation: none; } }
.agc__c--solo { grid-column: 1 / -1; grid-row: span 2; }
.agt .rail { grid-auto-columns: min(220px, 60vw); }
.agr__g:has(> :nth-child(2):last-child) { grid-template-columns: 1fr 1fr; }
.agr__g:has(> :only-child) { grid-template-columns: 1fr; max-width: 720px; }

/* ---------------------------------------------------------------- CBA Luxé (lxh/lxc/lxa/lxp) */
.btn--lux { background: linear-gradient(135deg, #e9cf95, #c99c52); color: #1a1408; box-shadow: 0 18px 40px -18px rgba(201,156,82,.8); }
.btn--lux:hover { filter: brightness(1.06); }
.lxh { position: relative; isolation: isolate; overflow: hidden; background: #0a0908; color: #fff; padding: calc(var(--hdr) + 30px) 0 0; }
.lxh__bg { position: absolute; inset: 0; z-index: -1; }
.lxh__bg img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.05); animation: kenburns 30s ease-in-out infinite alternate; }
.lxh__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,7,6,.95) 0%, rgba(8,7,6,.75) 45%, rgba(8,7,6,.35) 100%), linear-gradient(0deg, #0a0908 2%, transparent 45%), radial-gradient(60% 60% at 80% 20%, rgba(216,180,106,.18), transparent 60%); }
.lxh .crumbs--light, .lxh .crumbs--light a { color: rgba(255,255,255,.6); }
.lxh__in { padding-top: clamp(24px, 4vw, 60px); padding-bottom: clamp(40px, 5vw, 70px); }
.lxh__brand { margin: 0 0 18px; font-size: 13px; font-weight: 800; letter-spacing: .32em; text-transform: uppercase; color: #d8b46a; display: flex; align-items: center; gap: 14px; }
.lxh__brand::after { content: ""; width: 60px; height: 1px; background: linear-gradient(90deg, #d8b46a, transparent); }
.lxh__brand em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: .05em; text-transform: none; font-size: 18px; }
.lxh__h { max-width: 900px; margin: 0 0 22px; font-size: clamp(44px, 6.6vw, 100px); line-height: .95; letter-spacing: -.05em; font-weight: 800; text-wrap: balance; }
.lxh__h em { font-family: var(--serif); font-weight: 400; font-style: italic; color: #e9cf95; letter-spacing: -.02em; }
.lxh__p { max-width: 600px; margin: 0 0 30px; font-size: clamp(16px, 1.35vw, 18.5px); line-height: 1.65; color: rgba(255,255,255,.74); }
.lxh__btns, .lxp__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.lxh__glass { background: rgba(255,255,255,.07); color: #fff; border: 1px solid rgba(233,207,149,.35); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.lxh__glass:hover { background: rgba(233,207,149,.14); }
.lxh__k { list-style: none; margin: clamp(36px, 4vw, 56px) 0 0; padding: 24px 0 0; border-top: 1px solid rgba(233,207,149,.22); display: flex; flex-wrap: wrap; gap: clamp(24px, 4.5vw, 70px); }
.lxh__k b { display: block; font-size: clamp(30px, 3.4vw, 48px); line-height: 1; letter-spacing: -.045em; font-weight: 800; background: linear-gradient(180deg, #fff 30%, #e9cf95); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lxh__k span { display: block; margin-top: 8px; font-size: 13px; color: rgba(255,255,255,.55); font-weight: 600; }
.lxh__nav { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; padding-bottom: 26px; }
.lxh__nav a { flex: none; padding: 10px 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.82); font-size: 13.5px; font-weight: 700; transition: .2s; }
.lxh__nav a:hover { border-color: #d8b46a; color: #e9cf95; }
.lxh + .filters-wrap, .lxc + #results + .filters-wrap { margin-top: 0; }

.lxc { background: #0a0908; color: #fff; padding-top: clamp(30px, 4vw, 56px); }
.lxc .h2 { color: #fff; } .lxc .h2 em { color: #e9cf95; } .lxc .link-arrow { color: #e9cf95; }
.lxc__g { display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: repeat(2, minmax(240px, 300px)); gap: 14px; }
.lxc__c { position: relative; isolation: isolate; overflow: hidden; border-radius: 28px; display: flex; align-items: flex-end; padding: clamp(20px, 2.4vw, 32px); color: #fff; }
.lxc__c--big { grid-row: span 2; }
.lxc__c img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.lxc__c::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(8,7,6,.88), rgba(8,7,6,.0) 62%); }
.lxc__c:hover img { transform: scale(1.06); }
.lxc__no { position: absolute; top: 20px; left: 24px; font-family: var(--serif); font-style: italic; font-size: 30px; color: #e9cf95; }
.lxc__t small { display: block; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.66); font-weight: 700; margin-bottom: 8px; }
.lxc__t b { display: block; font-size: clamp(19px, 1.7vw, 24px); letter-spacing: -.02em; line-height: 1.2; max-width: 520px; }
.lxc__c--big .lxc__t b { font-size: clamp(26px, 2.8vw, 40px); }
.lxc__m { display: block; margin-top: 10px; color: rgba(255,255,255,.8); font-size: 14.5px; }
.lxc__m em { font-style: normal; font-weight: 800; color: #e9cf95; font-size: 1.15em; }

.lxa__g { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.lxa__c { display: flex; align-items: center; gap: 16px; padding: 12px; border-radius: 24px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); color: inherit; transition: box-shadow .3s, transform .3s; }
.lxa__c:hover { box-shadow: inset 0 0 0 1px #d8b46a, 0 20px 40px -26px rgba(120,90,30,.5); transform: translateY(-2px); }
.lxa__ph { width: 96px; height: 96px; border-radius: 18px; overflow: hidden; flex: none; }
.lxa__ph img { width: 100%; height: 100%; object-fit: cover; }
.lxa__t { flex: 1; } .lxa__t b { display: block; font-size: 17.5px; letter-spacing: -.01em; } .lxa__t small { color: var(--muted); font-size: 13.5px; }
.lxa__go { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #f6efe2; color: #9a7434; margin-right: 6px; transition: .25s; }
.lxa__c:hover .lxa__go { background: #c99c52; color: #fff; }

.lxp { background: radial-gradient(80% 120% at 0% 0%, #2a2216 0%, #0a0908 55%); color: #fff; }
.lxp__g { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(30px, 6vw, 90px); align-items: center; }
.lxp .h2 em { color: #e9cf95; }
.lxp__p { color: rgba(255,255,255,.7); font-size: 16.5px; line-height: 1.65; margin: 14px 0 28px; max-width: 520px; }
.lxp__l { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid rgba(233,207,149,.2); }
.lxp__l li { padding: 20px 4px; border-bottom: 1px solid rgba(233,207,149,.2); display: grid; grid-template-columns: 200px 1fr; gap: 16px; align-items: baseline; }
.lxp__l b { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 22px; color: #e9cf95; }
.lxp__l p { margin: 0; color: rgba(255,255,255,.66); font-size: 15px; line-height: 1.55; }

@media (max-width: 900px) { .lxc__g { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-rows: 260px; } .lxc__c--big { grid-row: auto; } .lxa__g { grid-template-columns: 1fr 1fr; } .lxp__g { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .lxa__g { grid-template-columns: 1fr; } .lxp__l li { grid-template-columns: 1fr; gap: 4px; } .lxh__btns .btn { width: 100%; justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .lxh__bg img { animation: none; } }
.lxc { padding-bottom: clamp(36px, 4vw, 56px); }

/* ---------------------------------------------------------------- sitemap */
.smx__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 26px; }
.smx__s { flex: 1 1 360px; max-width: 560px; display: flex; align-items: center; gap: 10px; padding: 0 18px; height: 54px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--line), 0 10px 30px -20px rgba(0,0,0,.2); color: var(--muted); }
.smx__s:focus-within { box-shadow: inset 0 0 0 2px var(--ink); }
.smx__s input { flex: 1; border: 0; outline: 0; background: none; font: inherit; font-size: 15.5px; color: var(--ink); }
.smx__n { margin: 0; color: var(--muted); } .smx__n b { color: var(--ink); }
.smx__g { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; align-items: start; }
.smx__c { padding: 22px 22px 18px; border-radius: 24px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.smx__c--wide { grid-column: span 3; }
.smx__c h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 17px; letter-spacing: -.01em; }
.smx__c h2 small { margin-left: auto; padding: 3px 10px; border-radius: 999px; background: var(--soft); font-size: 12px; color: var(--muted); font-weight: 700; }
.smx__i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: #fdf0ee; }
.smx__i svg { width: 18px; height: 18px; fill: none; stroke: var(--red); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.smx__c ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.smx__cols { grid-template-columns: repeat(4, 1fr); column-gap: 20px; }
.smx__c a { display: block; padding: 6px 8px; margin: 0 -8px; border-radius: 9px; font-size: 14.5px; color: #3d3733; transition: background .15s, color .15s; }
.smx__c a:hover { background: var(--soft); color: var(--red); }
.smx__c li[hidden], .smx__c[hidden] { display: none; }
.smx__none { margin: 30px 0; color: var(--muted); text-align: center; }
@media (max-width: 1000px) { .smx__g { grid-template-columns: 1fr 1fr; } .smx__c--wide { grid-column: span 2; } .smx__cols { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 620px) { .smx__g { grid-template-columns: 1fr; } .smx__c--wide { grid-column: auto; } .smx__cols { grid-template-columns: 1fr 1fr; } }
/* advisor portrait v2: editorial card */
.agp__ph { position: relative; max-width: 440px; width: 100%; justify-self: center; padding: 0 0 18px 18px; }
.agp__back { position: absolute; inset: 18px 18px 0 0; border-radius: 30px; background: linear-gradient(150deg, #f43b2f 0%, #e9a37c 55%, #ecd9c2 100%); transform: rotate(-3.5deg); opacity: .9; }
.agp__card { position: relative; margin: 0; aspect-ratio: 4 / 5; border-radius: 30px; overflow: hidden; background: #2a2523; box-shadow: 0 50px 90px -40px rgba(60,30,15,.6); }
.agp__card img { width: 100%; height: 100%; object-fit: cover; object-position: top center; filter: saturate(1.04) contrast(1.03); }
.agp__card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(18,14,12,.72) 0%, rgba(18,14,12,0) 38%); pointer-events: none; }
.agp__strip { position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 1; display: flex; border-radius: 20px; background: rgba(255,255,255,.14); backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3); border: 1px solid rgba(255,255,255,.22); color: #fff; overflow: hidden; }
.agp__strip span { flex: 1; padding: 12px 16px; display: grid; gap: 2px; }
.agp__strip span + span { border-left: 1px solid rgba(255,255,255,.2); }
.agp__strip small { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.7); font-weight: 700; }
.agp__strip small i { font-style: normal; letter-spacing: 1px; text-transform: none; }
.agp__strip b { font-size: 14.5px; font-weight: 700; }
.agp__arch, .agp__chip, .agp__ghost { display: none; }
@media (max-width: 860px) { .agp__ph { max-width: 340px; } }
.agr__c[hidden] { display: none; }
.agr__more { display: flex; justify-content: center; margin-top: 24px; }
/* portrait strip v3: language pills + reviews */
.agp__strip { align-items: stretch; }
.agp__strip > span { padding: 12px 14px; }
.agp__lg { flex: 1 1 auto; min-width: 0; }
.agp__rv { flex: 0 0 auto; display: grid; align-content: center; gap: 3px; min-width: 118px; }
.agp__rv .agp__stars { font-size: 13px; letter-spacing: 1.5px; text-transform: none; color: #f5b74a; }
.agp__pills { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 4px; }
.agp__pills em { font-style: normal; font-size: 12.5px; font-weight: 700; padding: 4px 9px; border-radius: 999px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.18); white-space: nowrap; }
.agp__pills .agp__plus { background: #fff; color: var(--ink); cursor: help; }
.agp__strip .agp__pills { display: flex; flex-wrap: wrap; flex: none; padding: 0; gap: 5px; border: 0; }
.agp__strip .agp__pills em { display: inline-block; }
.agp__focus { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -8px 0 26px; }
.agp__focus small { font-size: 11.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #8a6a4a; margin-right: 4px; }
.agp__focus a { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.75); box-shadow: inset 0 0 0 1px rgba(120,80,40,.16); font-size: 13.5px; font-weight: 700; color: var(--ink); transition: .2s; }
.agp__focus a svg { color: var(--red); }
.agp__focus a:hover { background: var(--ink); color: #fff; }
.agp__focus a:hover svg { color: #fff; }
@media (max-width: 560px) {
  .agp__strip { flex-direction: column; }
  .agp__strip > span + span { border-left: 0; border-top: 1px solid rgba(255,255,255,.2); }
  .agp__strip > span { padding: 10px 14px; }
  .agp__rv { display: flex; align-items: center; gap: 10px; min-width: 0; }
  .agp__pills em { font-size: 12px; padding: 3px 8px; }
}

/* ---------------------------------------------------------------- advisor hero v3: dark editorial */
.agx { position: relative; isolation: isolate; overflow: hidden; background: #0e0c0b; color: #fff; padding-top: calc(var(--hdr) + 26px); min-height: min(860px, 100svh); display: flex; flex-direction: column; }
.agx::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(60% 80% at 78% 30%, rgba(244,59,47,.22), transparent 60%), radial-gradient(50% 60% at 10% 100%, rgba(233,163,124,.12), transparent 70%); }
.agx__ph { position: absolute; z-index: -1; top: 0; right: 0; bottom: 0; width: min(54vw, 820px); }
.agx__ph img { width: 100%; height: 100%; object-fit: cover; object-position: center 12%; filter: saturate(1.02) contrast(1.04); -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 34%), linear-gradient(0deg, transparent 0%, #000 30%); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent 0%, #000 34%), linear-gradient(0deg, transparent 0%, #000 30%); mask-composite: intersect; animation: agxin 1.4s cubic-bezier(.2,.7,.2,1) both; }
@keyframes agxin { from { opacity: 0; transform: scale(1.06); } to { opacity: 1; transform: none; } }
.agx .crumbs--light, .agx .crumbs--light a { color: rgba(255,255,255,.55); }
.agx__in { flex: 1; display: flex; flex-direction: column; }
.agx__txt { margin: auto 0; padding: clamp(30px, 5vw, 70px) 0 clamp(40px, 5vw, 70px); max-width: 640px; }
.agx__eye { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 18px; padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #f3c9a3; }
.agx__eye i { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; animation: livepulse 2s infinite; }
.agx__h { margin: 0 0 22px; font-size: clamp(56px, 8.4vw, 128px); line-height: .88; letter-spacing: -.06em; font-weight: 800; }
.agx__h em { display: block; font-family: var(--serif); font-weight: 400; font-style: italic; letter-spacing: -.03em; background: linear-gradient(90deg, #ff6a5c, #f3c9a3); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .08em; }
.agx__lead { margin: 0 0 30px; font-size: clamp(16px, 1.35vw, 18.5px); line-height: 1.65; color: rgba(255,255,255,.72); max-width: 520px; }
.agx__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.agx__btns .btn--wa { display: inline-flex; align-items: center; gap: 8px; }
.agx__glass { background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.agx__glass:hover { background: rgba(255,255,255,.16); }
.agx__call { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(255,255,255,.22); color: #fff; transition: .25s; }
.agx__call:hover { background: #fff; color: var(--ink); }
.agx__bar { position: relative; border-top: 1px solid rgba(255,255,255,.1); background: rgba(14,12,11,.55); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.agx__barin { display: flex; flex-wrap: wrap; }
.agx__cell { padding: 20px 28px 20px 0; margin-right: 28px; border-right: 1px solid rgba(255,255,255,.1); display: grid; gap: 8px; align-content: start; }
.agx__cell:last-child { border-right: 0; margin-right: 0; }
.agx__cell--end { margin-left: auto; padding-right: 0; border-right: 0; text-align: left; }
.agx__cell small { font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.45); }
.agx__pills { display: flex; flex-wrap: wrap; gap: 6px; }
.agx__pills em, .agx__pills a { font-style: normal; font-size: 13px; font-weight: 700; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); color: #fff; white-space: nowrap; transition: .2s; }
.agx__pills a:hover { background: #fff; color: var(--ink); }
.agx__rv { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 14px; }
.agx__rv i { font-style: normal; color: #f5b74a; letter-spacing: 2px; }
.agx__rv a { color: #fff; border-bottom: 1px solid rgba(255,255,255,.35); }
.agx__rv a:hover { border-color: #fff; }
@media (max-width: 900px) {
  .agx { min-height: 0; }
  .agx__ph { position: relative; width: 100%; height: 62vw; max-height: 460px; margin-top: -10px; order: -1; }
  .agx__ph img { -webkit-mask-image: linear-gradient(0deg, transparent 0%, #000 45%); mask-image: linear-gradient(0deg, transparent 0%, #000 45%); -webkit-mask-composite: source-over; mask-composite: add; }
  .agx { padding-top: var(--hdr); }
  .agx__in { margin-top: -120px; }
  .agx__txt { padding-top: 0; }
  .agx .crumbs { display: none; }
}
@media (max-width: 560px) {
  .agx__ph { height: 108vw; max-height: none; }
  .agx__in { margin-top: -150px; }
  .agx__cell { margin-right: 0; padding: 16px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); width: 100%; }
  .agx__cell:last-child { border-bottom: 0; }
  .agx__cell--end { margin-left: 0; }
  .agx__btns .btn--wa { flex: 1; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .agx__ph img { animation: none; } }

/* advisor spotlight listing */
.ags { padding-top: clamp(50px, 6vw, 90px); padding-bottom: 0; }
.ags__c { display: grid; grid-template-columns: 1.35fr 1fr; gap: 0; border-radius: 34px; overflow: hidden; background: #fff; box-shadow: 0 50px 100px -60px rgba(40,25,15,.55), inset 0 0 0 1px var(--line); color: inherit; }
.ags__im { position: relative; display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 6px; min-height: 440px; padding: 6px; }
.ags__im img { width: 100%; height: 100%; object-fit: cover; border-radius: 26px; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.ags__a { grid-row: span 2; }
.ags__im:not(:has(.ags__b)) { grid-template-columns: 1fr; }
.ags__c:hover .ags__a { transform: scale(1.03); }
.ags__t { padding: clamp(26px, 3.4vw, 48px); display: flex; flex-direction: column; gap: 12px; justify-content: center; }
.ags__k { align-self: flex-start; padding: 7px 13px; border-radius: 999px; background: #fdf0ee; color: var(--red); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ags__t > b { font-size: clamp(24px, 2.4vw, 34px); line-height: 1.1; letter-spacing: -.03em; }
.ags__loc { color: var(--muted); font-size: 15px; }
.ags__sp { display: flex; flex-wrap: wrap; gap: 6px; }
.ags__sp em { font-style: normal; padding: 6px 12px; border-radius: 999px; background: var(--soft); font-size: 13.5px; font-weight: 700; }
.ags__pr { display: flex; align-items: baseline; gap: 6px; margin-top: 6px; }
.ags__pr b { font-size: clamp(28px, 2.8vw, 40px); letter-spacing: -.04em; }
.ags__pr small { color: var(--muted); }
.ags__go { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; font-weight: 800; color: var(--red); }
.ags__go i { font-style: normal; transition: transform .25s; } .ags__c:hover .ags__go i { transform: translateX(5px); }
@media (max-width: 900px) { .ags__c { grid-template-columns: 1fr; } .ags__im { min-height: 300px; } }
@media (max-width: 560px) { .ags__im { grid-template-columns: 1fr; grid-template-rows: auto; min-height: 0; } .ags__a { grid-row: auto; aspect-ratio: 4/3; } .ags__b, .ags__d { display: none; } }
@media (max-width: 560px) { .agc__g > .agc__c { grid-column: auto !important; grid-row: auto !important; } .agc__c--big .agc__t b { font-size: 24px; } }
.ags__why { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 16px; background: linear-gradient(135deg, #fff7ef, #fdeee7); color: #5b3a2a; font-size: 14.5px; line-height: 1.45; font-weight: 600; }
.ags__why svg { color: #e9a23b; flex: none; margin-top: 2px; }
html[data-motion="off"] *, html[data-motion="off"] *::before, html[data-motion="off"] *::after { animation: none !important; transition: none !important; }

/* ---------------------------------------------------------------- on-page editor (admins) */
.edbar { position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 9999; display: flex; align-items: center; gap: 8px; padding: 8px; border-radius: 999px; background: #0d0d0f; color: #fff; box-shadow: 0 20px 50px -15px rgba(0,0,0,.6); font-size: 14px; }
.edbar__b { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; border: 0; background: rgba(255,255,255,.1); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.edbar__b:hover { background: rgba(255,255,255,.2); }
.edbar__b--go, .edbar__b--save { background: var(--red); } .edbar__b--save:disabled { opacity: .45; cursor: default; }
.edbar__s { display: inline-flex; align-items: center; gap: 8px; padding: 0 10px; font-weight: 700; } .edbar__s i { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; }
.edbar__n { color: rgba(255,255,255,.6); padding-right: 6px; }
[data-ck] { outline: 1.5px dashed rgba(244,59,47,.55); outline-offset: 3px; border-radius: 4px; cursor: text; transition: outline-color .2s; }
[data-ck]:hover, [data-ck]:focus { outline: 2px solid var(--red); background: rgba(244,59,47,.06); }
.edimg { position: absolute; top: 12px; left: 12px; z-index: 50; display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 999px; border: 0; background: #fff; color: #0d0d0f; font: 700 13px/1 Manrope, sans-serif; box-shadow: 0 10px 25px -10px rgba(0,0,0,.5); cursor: pointer; }
.edimg:hover { background: var(--red); color: #fff; }
.edtoast { position: fixed; left: 50%; bottom: 84px; transform: translateX(-50%); z-index: 10000; padding: 12px 18px; border-radius: 12px; background: #0d0d0f; color: #fff; font-weight: 700; font-size: 14px; }
.edtoast.is-bad { background: #b91c1c; }
.ts-box{flex-basis:100%;width:100%;order:99;margin:0;border-radius:14px;overflow:hidden}.ts-box:has(iframe:not([style*="none"])){margin-top:12px}.ts-box:empty{display:none}
/* Security check (captcha) — sits above the send button like any other field */
.cap { margin: 2px 0 14px; grid-column: 1 / -1; flex-basis: 100%; width: 100%; container-type: inline-size; }
.cap[hidden] { display: none !important; }
.cap--fold { display: grid; grid-template-rows: 0fr; opacity: 0; margin: 0; transition: grid-template-rows .45s var(--ease, ease), opacity .35s, margin .45s; }
.cap--fold > * { min-height: 0; overflow: hidden; }
.cap--fold.is-open { grid-template-rows: 1fr; opacity: 1; margin: 10px 0 4px; }
.cap__box { display: flex; gap: 10px; align-items: stretch; }
.cap__pic { position: relative; flex: 0 0 auto; display: flex; height: 52px; border-radius: min(var(--cap-r, 12px), 14px); overflow: hidden; border: 1px solid var(--cap-bd, var(--line)); background: #fff; }
.cap__pic img { display: block; width: 170px; height: 52px; transition: opacity .25s; }
.cap__pic img.is-loading { opacity: .25; }
.cap__new { flex: 0 0 38px; padding: 0; border: 0; border-left: 1px solid var(--line); background: #fafaf8; color: var(--ink); display: grid; place-items: center; cursor: pointer; }
.cap__new svg { transition: transform .4s; } .cap__new:hover svg { transform: rotate(-140deg); } .cap__new:hover { background: #f1f0ec; }
.cap__f { position: relative; flex: 1; min-width: 0; margin: 0; }
.cap__l { position: absolute; top: 7px; left: 14px; font-size: 11px; font-weight: 700; color: var(--muted, #6c6c74); pointer-events: none; z-index: 1; }
.cap .cap__f input { height: 52px; padding: 20px 14px 5px; letter-spacing: .32em; font-weight: 800; text-transform: uppercase; background: var(--cap-bg, #fff); border: 1px solid var(--cap-bd, var(--line)); border-radius: min(var(--cap-r, 12px), 14px); color: var(--cap-c, var(--ink)); width: 100%; outline: none; transition: border-color .25s, box-shadow .25s; }
.cap .cap__f input:focus { border-color: var(--red); box-shadow: 0 0 0 4px rgba(244,59,47,.12); }
.cap .cap__f input::placeholder { letter-spacing: 0; font-weight: 500; text-transform: none; color: #a3a3aa; }
.cap.has-err .cap__f input { border-color: var(--red); }
.cap .err:empty { display: none; }
.cap--dark .cap__pic { border-color: var(--cap-bd, rgba(255,255,255,.16)); } .cap--dark .cap__new { background: #f4f4f2; }
.cap--dark .cap__f input { color: #fff; }
.cap--dark .cap__l { color: rgba(255,255,255,.6); }
@container (max-width: 400px) { .cap__box { flex-wrap: wrap; } .cap__f { flex-basis: 100%; } }
@media (max-width: 400px) { .cap__box { flex-wrap: wrap; } .cap__f { flex-basis: 100%; } }
.ct2-f label { white-space: nowrap; max-width: calc(100% - 30px); overflow: hidden; text-overflow: ellipsis; } .ct2-f--tel label { max-width: calc(100% - 124px); }
/* ------------------------------------------------ listing no longer available */
.lg { padding: 18px 0 8px; }
.lg__stage { position: relative; margin-top: 14px; border-radius: 28px; overflow: hidden; min-height: 520px; display: grid; place-items: center; padding: 48px 20px; isolation: isolate; background: #eceae5; }
.lg__pics { position: absolute; inset: 0; display: grid; gap: 6px; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; z-index: -1; }
.lg__pics img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.85) contrast(.9) brightness(1.08); }
.lg__pics img:first-child { grid-row: 1 / 3; }
.lg__pics--1 { grid-template-columns: 1fr; } .lg__pics--2 img:nth-child(2) { grid-row: 1 / 3; }
.lg__stage::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(120% 90% at 50% 50%, rgba(250,249,246,.82), rgba(250,249,246,.55) 60%, rgba(250,249,246,.35)); backdrop-filter: blur(2px); }
.lg__card { max-width: 640px; text-align: center; background: rgba(255,255,255,.86); backdrop-filter: blur(18px) saturate(1.2); -webkit-backdrop-filter: blur(18px) saturate(1.2); border: 1px solid rgba(255,255,255,.9); border-radius: 26px; padding: 40px 40px 34px; box-shadow: 0 40px 80px -40px rgba(13,13,15,.35); animation: lgIn .7s var(--ease, ease) both; }
@keyframes lgIn { from { opacity: 0; transform: translateY(14px) scale(.98); } }
.lg__stamp { position: relative; display: inline-grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: linear-gradient(160deg, #fff, #f3f1ec); box-shadow: inset 0 0 0 1px rgba(13,13,15,.08), 0 14px 30px -18px rgba(13,13,15,.5); color: var(--ink); }
.lg__stamp svg { width: 40px; height: 40px; }
.lg__stamp b { position: absolute; right: -10px; bottom: 12px; background: var(--red); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 4px 9px; border-radius: 6px; transform: rotate(-8deg); box-shadow: 0 6px 14px -6px rgba(244,59,47,.7); }
.lg__eye { margin: 18px 0 6px; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.lg__h { margin: 0; font-size: clamp(24px, 3.2vw, 36px); line-height: 1.15; letter-spacing: -.02em; font-weight: 800; }
.lg__h em { font-family: "Instrument Serif", serif; font-style: italic; font-weight: 400; }
.lg__p { margin: 14px auto 0; max-width: 500px; color: var(--muted); font-size: 16px; line-height: 1.6; }
.lg__btns { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 24px; }
.lg__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 0; margin: 18px 0 0; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; background: #fff; }
.lg__facts div { padding: 16px 18px; border-right: 1px solid var(--line); }
.lg__facts div:last-child { border-right: 0; }
.lg__facts dt { font-size: 12px; color: var(--muted); font-weight: 600; }
.lg__facts dd { margin: 4px 0 0; font-weight: 800; font-size: 15px; color: #8a8a92; text-decoration-color: rgba(13,13,15,.25); }
.lg-m .grid { margin-top: 24px; }
.lg-more { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin-top: 40px; }
.lg-more a { display: grid; gap: 4px; padding: 22px 24px; border-radius: 20px; background: var(--soft, #f6f5f2); border: 1px solid var(--line); color: inherit; transition: transform .3s var(--ease, ease), box-shadow .3s; }
.lg-more a:hover { transform: translateY(-3px); box-shadow: 0 20px 40px -26px rgba(13,13,15,.4); }
.lg-more small { font-size: 12px; font-weight: 700; color: var(--red); text-transform: uppercase; letter-spacing: .08em; }
.lg-more b { font-size: 19px; } .lg-more span { color: var(--muted); font-size: 14px; }
@media (max-width: 720px) {
  .lg__stage { min-height: 0; padding: 150px 12px 14px; border-radius: 22px; place-items: end center; }
  .lg__pics { grid-template-columns: 1fr; grid-template-rows: 200px; } .lg__pics img:not(:first-child) { display: none; } .lg__pics img:first-child { grid-row: auto; }
  .lg__stage::before { background: linear-gradient(180deg, rgba(250,249,246,0) 0, rgba(250,249,246,.6) 140px, #f7f6f2 200px); }
  .lg__card { padding: 28px 20px 22px; }
  .lg__btns .btn { width: 100%; }
  .lg__facts { grid-template-columns: repeat(2, 1fr); } .lg__facts div { border-bottom: 1px solid var(--line); }
}
/* ================================================= off-plan hub (opx) */
.opx { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: #0b0a0a; padding: calc(var(--hdr) + 26px) 0 0; }
.opx__bg { position: absolute; inset: 0; z-index: -1; }
.opx__bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; animation: opxFade calc(var(--n) * 7s) infinite; animation-delay: calc(var(--i) * 7s); transform: scale(1.08); }
.opx__bg img:only-child { opacity: 1; animation: kenburns 26s ease-in-out infinite alternate; }
@keyframes opxFade { 0% { opacity: 0; transform: scale(1.12); } 6% { opacity: 1; } 25% { opacity: 1; } 32% { opacity: 0; transform: scale(1.02); } 100% { opacity: 0; } }
.opx__bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(80% 70% at 80% 20%, rgba(244,59,47,.22), transparent 60%), linear-gradient(90deg, rgba(8,7,7,.92) 0%, rgba(8,7,7,.7) 50%, rgba(8,7,7,.35) 100%), linear-gradient(0deg, #0b0a0a 2%, transparent 45%); }
.opx .crumbs--light, .opx .crumbs--light a { color: rgba(255,255,255,.62); } .opx .crumbs li + li::before { color: rgba(255,255,255,.28); }
.opx__in { padding: clamp(18px, 3vw, 44px) 0 clamp(28px, 4vw, 48px); max-width: 1000px; margin-left: 0; }
.wrap.opx__in { margin-left: auto; margin-right: auto; max-width: var(--wrap, 1240px); }
.opx__eye { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 18px; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #f3c9a3; }
.opx__eye i { width: 8px; height: 8px; border-radius: 50%; background: var(--red); animation: pulse 2.2s infinite; }
.opx__h { margin: 0 0 20px; max-width: 900px; font-size: clamp(44px, 7.2vw, 108px); line-height: .92; letter-spacing: -.055em; font-weight: 800; text-wrap: balance; }
.opx__h em { font-family: var(--serif); font-weight: 400; font-style: italic; color: #f3c9a3; }
.opx__p { max-width: 640px; margin: 0 0 30px; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.6; color: rgba(255,255,255,.78); }
.opx__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.opx__glass { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.opx__glass:hover { background: rgba(255,255,255,.16); color: #fff; }
.opx__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.opx__chips a { padding: 9px 15px; border-radius: 999px; font-size: 13.5px; font-weight: 700; color: rgba(255,255,255,.88); background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(10px); transition: background .25s, border-color .25s; }
.opx__chips a:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.3); }
.opx__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); margin: 0; border-top: 1px solid rgba(255,255,255,.14); }
.opx__stats div { padding: 22px 0 30px; }
.opx__stats div + div { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.12); }
.opx__stats dt { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.opx__stats dd { margin: 6px 0 0; font-size: clamp(28px, 3.4vw, 44px); font-weight: 800; letter-spacing: -.04em; }
/* spotlight */
.opx-spot__card { display: grid; grid-template-columns: 1.25fr 1fr; gap: 0; border-radius: 32px; overflow: hidden; background: #fff; border: 1px solid var(--line); box-shadow: 0 50px 100px -60px rgba(13,13,15,.45); }
.opx-spot__img { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 4px; min-height: 440px; background: var(--soft); }
.opx-spot__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.opx-spot__img img:first-child { grid-row: 1 / 3; }
.opx-spot__img img:only-child { grid-column: 1 / 3; }
.opx-spot__card:hover .opx-spot__img img:first-child { transform: scale(1.03); }
.opx-spot__b { padding: clamp(28px, 4vw, 52px); display: flex; flex-direction: column; justify-content: center; }
.opx-spot__h { margin: 6px 0 6px; font-size: clamp(32px, 3.6vw, 52px); line-height: 1; letter-spacing: -.045em; font-weight: 800; }
.opx-spot__w { margin: 0; color: var(--muted); font-weight: 600; }
.opx-spot__f { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; margin: 28px 0; padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.opx-spot__f dt { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.opx-spot__f dd { margin: 4px 0 0; font-weight: 800; font-size: 17px; }
.opx-spot__btns { display: flex; gap: 10px; flex-wrap: wrap; }
.opx-area { display: inline-flex; align-items: center; gap: 10px; padding: 6px 6px 6px 16px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 13px; font-weight: 700; color: var(--muted); }
.opx-area select { border: 0; background: var(--soft, #f4f3ef); border-radius: 999px; padding: 9px 14px; font-weight: 700; font-size: 14px; color: var(--ink); }
.opx-cta { border-radius: 24px; padding: 30px; display: flex; flex-direction: column; justify-content: flex-end; gap: 14px; color: #fff; background: radial-gradient(120% 80% at 100% 0%, rgba(244,59,47,.5), transparent 55%), #121010; min-height: 320px; }
.opx-cta h3 { margin: 0; font-size: 24px; line-height: 1.2; letter-spacing: -.02em; }
.opx-cta .btn { align-self: flex-start; }
.opx-empty { text-align: center; padding: 40px 0; } .opx-empty p { color: var(--muted); max-width: 520px; margin: 10px auto 20px; }
.opx-devs__g { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; margin-top: 26px; }
.opx-devs__c { display: grid; gap: 4px; padding: 14px 14px 16px; border-radius: 20px; border: 1px solid var(--line); background: #fff; color: inherit; transition: transform .35s var(--ease), box-shadow .35s; }
.opx-devs__c:hover { transform: translateY(-3px); box-shadow: 0 24px 50px -30px rgba(13,13,15,.35); }
.opx-devs__l { display: grid; place-items: center; height: 92px; border-radius: 14px; background: var(--soft, #f6f5f2); padding: 16px; margin-bottom: 8px; }
.opx-devs__l.is-dark { background: #141212; }
.opx-devs__l img { max-width: 100%; max-height: 52px; object-fit: contain; }
.opx-devs__c b { font-size: 14.5px; } .opx-devs__c small { color: var(--muted); font-size: 12.5px; }
/* project card (shared) */
.pcard__img { aspect-ratio: 4 / 4.2; }
.pcard__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,7,7,.85) 0%, rgba(8,7,7,.25) 42%, transparent 62%); pointer-events: none; }
.pcard__ph { position: absolute; inset: 0; display: grid; place-items: center; font-size: 120px; font-weight: 800; color: rgba(255,255,255,.12); background: radial-gradient(90% 90% at 80% 10%, rgba(244,59,47,.35), transparent 60%), #151313; }
.pcard__over { position: absolute; left: 20px; right: 20px; bottom: 18px; z-index: 1; display: grid; gap: 4px; color: #fff; }
.pcard__over small { font-size: 12.5px; font-weight: 700; color: rgba(255,255,255,.78); }
.pcard__over b { font-size: 26px; line-height: 1.05; letter-spacing: -.035em; text-wrap: balance; }
.pcard__tags { z-index: 1; }
.pcard__b { padding: 6px 20px 18px; gap: 6px; }
.pcard__facts { border-top: 0; }
.pcard__meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pcard__meta span { flex: 1; min-width: 0; }
.pcard__meta em { font-style: normal; font-weight: 800; color: var(--red); font-size: 12.5px; }
.pcard__meta i { font-style: normal; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--soft, #f4f3ef); color: var(--ink); transition: background .3s, color .3s, transform .3s; }
.pcard:hover .pcard__meta i { background: var(--red); color: #fff; transform: translateX(3px); }
@media (max-width: 900px) {
  .opx-spot__card { grid-template-columns: 1fr; }
  .opx-spot__img { min-height: 280px; }
  .opx__stats { grid-template-columns: 1fr 1fr; } .opx__stats div:nth-child(3) { padding-left: 0; border-left: 0; } .opx__stats div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.12); }
}
@media (max-width: 560px) { .opx__btns .btn { width: 100%; justify-content: center; } .opx-spot__img { grid-template-columns: 1fr; } .opx-spot__img img:not(:first-child) { display: none; } .opx-spot__img img:first-child { grid-row: auto; } }
/* ================================================= project page (pjx) */
.pjx { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: #0b0a0a; padding: calc(var(--hdr) + 26px) 0 0; min-height: min(92vh, 860px); display: flex; flex-direction: column; }
.pjx__bg { position: absolute; inset: 0; z-index: -1; }
.pjx__bg img { width: 100%; height: 100%; object-fit: cover; animation: kenburns 28s ease-in-out infinite alternate; }
.pjx__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,7,7,.55) 0%, rgba(8,7,7,.1) 32%, rgba(8,7,7,.35) 55%, rgba(8,7,7,.94) 100%); }
.pjx .crumbs--light, .pjx .crumbs--light a { color: rgba(255,255,255,.72); } .pjx .crumbs li + li::before { color: rgba(255,255,255,.35); }
.pjx__in { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 0; }
.pjx__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; flex-wrap: wrap; margin-top: auto; padding-top: 18vh; }
.pjx__eye { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 16px; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #f3c9a3; }
.pjx__eye i { width: 8px; height: 8px; border-radius: 50%; background: var(--red); animation: pulse 2.2s infinite; }
.pjx__h { margin: 0 0 20px; max-width: 960px; font-size: clamp(44px, 7.5vw, 116px); line-height: .9; letter-spacing: -.055em; font-weight: 800; text-wrap: balance; text-shadow: 0 10px 60px rgba(0,0,0,.35); }
.pjx__dev { display: inline-flex; align-items: center; gap: 10px; padding: 6px 16px 6px 6px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); color: #fff; }
.pjx__dev span { display: grid; place-items: center; width: 62px; height: 38px; border-radius: 999px; background: #fff; padding: 6px 10px; } .pjx__dev span.is-dark { background: #141212; }
.pjx__dev span img { max-width: 100%; max-height: 26px; object-fit: contain; }
.pjx__dev small { color: rgba(255,255,255,.6); font-size: 12px; } .pjx__dev b { font-size: 14px; }
.pjx__cta { display: flex; gap: 10px; flex-wrap: wrap; padding-bottom: 6px; }
.pjx__glass { background: rgba(255,255,255,.1); color: #fff; border: 1px solid rgba(255,255,255,.24); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } .pjx__glass:hover { background: rgba(255,255,255,.18); color: #fff; }
.pjx__facts { display: flex; flex-wrap: wrap; margin: 34px 0 0; border-top: 1px solid rgba(255,255,255,.16); }
.pjx__facts > div { flex: 1 1 160px; padding: 20px 24px 28px 0; }
.pjx__facts > div + div { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.12); }
.pjx__facts dt { font-size: 11.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.pjx__facts dd { margin: 6px 0 0; font-size: clamp(18px, 1.8vw, 24px); font-weight: 800; letter-spacing: -.02em; }
.pjx__ph { flex: 0 0 auto !important; display: flex; align-items: center; }
.pjx__ph button { display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.08); color: #fff; font-weight: 700; cursor: pointer; }
.pjx__ph button:hover { background: rgba(255,255,255,.18); }
.pjx-gal { background: #0b0a0a; padding: 0 0 6px; }
.pjx-gal__r { display: flex; gap: 6px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 6px; scrollbar-width: none; }
.pjx-gal__r::-webkit-scrollbar { display: none; }
.pjx-gal__i { flex: 0 0 auto; width: clamp(240px, 24vw, 360px); aspect-ratio: 4 / 3; border: 0; padding: 0; border-radius: 14px; overflow: hidden; cursor: zoom-in; scroll-snap-align: start; background: #1a1818; }
.pjx-gal__i img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease), opacity .3s; opacity: .9; }
.pjx-gal__i:hover img { transform: scale(1.05); opacity: 1; }
.pjx-main__g { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: clamp(30px, 5vw, 72px); align-items: start; }
.pjx-spec { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 0; margin: 26px 0 0; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; }
.pjx-spec div { padding: 18px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 0 -1px -1px 0; }
.pjx-spec dt { font-size: 12px; font-weight: 700; color: var(--muted); }
.pjx-spec dd { margin: 4px 0 0; font-weight: 800; font-size: 17px; letter-spacing: -.01em; }
.pjx-plan { margin-top: 34px; }
.pjx-plan__bar { display: flex; gap: 6px; margin-top: 14px; }
.pjx-plan__bar span { display: grid; gap: 4px; padding: 18px 16px; border-radius: 16px; background: var(--ink); color: #fff; min-width: 0; }
.pjx-plan__bar span:nth-child(2) { background: var(--red); } .pjx-plan__bar span:nth-child(3) { background: #f3c9a3; color: var(--ink); }
.pjx-plan__bar b { font-size: 26px; letter-spacing: -.03em; } .pjx-plan__bar small { font-size: 12px; opacity: .8; }
.pjx-about { margin-top: 30px; font-size: 17px; }
.pjx-why { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin-top: 34px; }
.pjx-why div { padding: 22px; border-radius: 20px; background: var(--soft, #f6f5f2); border: 1px solid var(--line); }
.pjx-why span { font-size: 12px; font-weight: 800; color: var(--red); letter-spacing: .08em; }
.pjx-why b { display: block; margin: 8px 0 6px; font-size: 18px; letter-spacing: -.02em; }
.pjx-why p { margin: 0; color: var(--muted); font-size: 14.5px; line-height: 1.55; }
.pjx-side { position: sticky; top: calc(var(--hdr) + 20px); }
.pjx-side__c { padding: 28px; border-radius: 28px; background: #fff; border: 1px solid var(--line); box-shadow: 0 40px 80px -50px rgba(13,13,15,.45); }
.pjx-side__c h3 { margin: 4px 0 6px; font-size: 26px; letter-spacing: -.03em; }
.pjx-devb__c { display: grid; grid-template-columns: auto 1fr auto; gap: 24px; align-items: center; padding: 26px 30px; border-radius: 28px; background: #121010; color: #fff; transition: transform .4s var(--ease); }
.pjx-devb__c:hover { transform: translateY(-3px); color: #fff; }
.pjx-devb__l { display: grid; place-items: center; width: 150px; height: 96px; border-radius: 18px; background: #fff; padding: 18px; } .pjx-devb__l.is-dark { background: #1d1b1b; }
.pjx-devb__l img { max-width: 100%; max-height: 58px; object-fit: contain; }
.pjx-devb__t { display: grid; gap: 4px; } .pjx-devb__t small { color: #f3c9a3; font-weight: 800; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.pjx-devb__t b { font-size: 24px; letter-spacing: -.03em; } .pjx-devb__t span { color: rgba(255,255,255,.7); font-size: 14.5px; line-height: 1.55; max-width: 760px; }
.pjx-devb__c > i { font-style: normal; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--red); font-size: 20px; }
@media (max-width: 1000px) { .pjx-main__g { grid-template-columns: 1fr; } .pjx-side { position: static; } }
@media (max-width: 640px) {
  .pjx { min-height: 0; } .pjx__top { padding-top: 34vh; }
  .pjx__cta { width: 100%; } .pjx__cta .btn { flex: 1; justify-content: center; }
  .pjx__facts > div { flex-basis: 45%; padding-right: 12px; } .pjx__facts > div + div { padding-left: 0; border-left: 0; } .pjx__facts > div:nth-child(even) { padding-left: 16px; border-left: 1px solid rgba(255,255,255,.12); }
  .pjx-plan__bar { flex-direction: column; } .pjx-plan__bar span { flex: none !important; }
  .pjx-devb__c { grid-template-columns: 1fr; } .pjx-devb__c > i { display: none; }
}
.pjx-spec { display: flex; flex-wrap: wrap; }
.pjx-spec div { flex: 1 1 180px; }
.pjx-why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pjx-why div:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 560px) { .pjx-why { grid-template-columns: 1fr; } }
.lg__agent { display: flex; align-items: center; gap: 16px; margin-top: 18px; padding: 16px 18px; border-radius: 20px; background: #121010; color: #fff; }
.lg__agent img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; object-position: top; }
.lg__agent div { flex: 1; display: grid; gap: 2px; } .lg__agent small { color: #f3c9a3; font-size: 12px; font-weight: 700; } .lg__agent b { font-size: 17px; } .lg__agent span { color: rgba(255,255,255,.65); font-size: 14px; }
@media (max-width: 640px) { .lg__agent { flex-wrap: wrap; } .lg__agent .btn { width: 100%; } }
.ix-plan__f > *, .ix-plan__f select, .ix-plan__f input { min-width: 0; max-width: 100%; width: 100%; } .ix-plan__f { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } @media (max-width: 600px) { .ix-plan__f { grid-template-columns: minmax(0, 1fr); } }
/* ================================================= building page (bdx) */
.bdx { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: #0b0a0a; padding: calc(var(--hdr) + 26px) 0 0; }
.bdx__bg { position: absolute; inset: 0; z-index: -1; }
.bdx__bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; animation: opxFade calc(var(--n) * 7s) infinite; animation-delay: calc(var(--i) * 7s); }
.bdx__bg img:only-child { opacity: 1; animation: kenburns 26s ease-in-out infinite alternate; }
.bdx__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,7,7,.9) 0%, rgba(8,7,7,.62) 55%, rgba(8,7,7,.3) 100%), linear-gradient(0deg, #0b0a0a 4%, transparent 50%); }
.bdx .crumbs--light, .bdx .crumbs--light a { color: rgba(255,255,255,.65); } .bdx .crumbs li + li::before { color: rgba(255,255,255,.3); }
.bdx__in { padding-top: clamp(30px, 6vw, 90px); }
.bdx__eye { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 16px; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #f3c9a3; }
.bdx__eye i { width: 8px; height: 8px; border-radius: 50%; background: var(--red); animation: pulse 2.2s infinite; }
.bdx__h { margin: 0 0 18px; max-width: 980px; font-size: clamp(42px, 6.8vw, 100px); line-height: .92; letter-spacing: -.055em; font-weight: 800; text-wrap: balance; }
.bdx__p { max-width: 620px; margin: 0 0 28px; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.6; color: rgba(255,255,255,.78); }
.bdx__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.bdx__glass { background: rgba(255,255,255,.1); color: #fff; border: 1px solid rgba(255,255,255,.24); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } .bdx__glass:hover { background: rgba(255,255,255,.18); color: #fff; }
.bdx__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin: clamp(40px, 6vw, 80px) 0 0; border-top: 1px solid rgba(255,255,255,.15); }
.bdx__stats div { padding: 22px 22px 30px 0; display: grid; gap: 4px; }
.bdx__stats div + div { padding-left: 22px; border-left: 1px solid rgba(255,255,255,.12); }
.bdx__stats dt { font-size: 11.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.bdx__stats dd { margin: 0; font-size: clamp(28px, 3.2vw, 42px); font-weight: 800; letter-spacing: -.04em; }
.bdx__stats small { color: rgba(255,255,255,.6); font-size: 13px; }
.bdx-size__n { margin: 0; max-width: 280px; }
.bdx-size__g { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; margin-top: 26px; }
.bdx-size__c { padding: 22px; border-radius: 22px; border: 1px solid var(--line); background: #fff; display: grid; gap: 10px; align-content: start; transition: transform .35s var(--ease), box-shadow .35s; }
.bdx-size__c:hover { transform: translateY(-3px); box-shadow: 0 26px 50px -34px rgba(13,13,15,.4); }
.bdx-size__t { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.bdx-size__t b { font-size: 24px; letter-spacing: -.03em; } .bdx-size__t small { color: var(--muted); font-weight: 600; }
.bdx-size__r { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.bdx-size__r span { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.bdx-size__r b { font-size: 17px; } .bdx-size__r b small { font-weight: 600; color: var(--muted); }
.bdx-size__bar { position: relative; display: block; height: 6px; border-radius: 6px; background: var(--soft, #f1efea); }
.bdx-size__bar em { position: absolute; top: 0; bottom: 0; border-radius: 6px; background: linear-gradient(90deg, var(--red), #f3a37a); }
.bdx-size__psf { margin: 0; font-weight: 700; font-size: 14px; }
.bdx-size__c .bdx-size__n { color: var(--muted); font-size: 13px; }
.bdx-proj { display: flex; align-items: center; gap: 18px; margin-top: 26px; padding: 20px 24px; border-radius: 22px; background: #121010; color: #fff; }
.bdx-proj span { flex: 1; display: grid; gap: 3px; } .bdx-proj small { color: #f3c9a3; font-weight: 800; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; } .bdx-proj b { font-size: 18px; }
.bdx-proj i { font-style: normal; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--red); }
.bdx-proj:hover { color: #fff; } .bdx-proj:hover i { transform: translateX(3px); }
.bdx-own__g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(30px, 5vw, 70px); align-items: start; }
.bdx-own__c { padding: clamp(28px, 4vw, 44px); border-radius: 30px; color: #fff; background: radial-gradient(110% 80% at 100% 0%, rgba(244,59,47,.4), transparent 55%), #121010; }
.bdx-own__c > p { color: rgba(255,255,255,.72); }
.bdx-own__f { margin-top: 18px; background: #fff; color: var(--ink); border-radius: 22px; padding: 22px; }
.bdx-near { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; margin-top: 24px; }
.bdx-near a { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 18px 20px; border-radius: 18px; border: 1px solid var(--line); background: #fff; color: inherit; transition: border-color .25s, transform .3s var(--ease); }
.bdx-near a:hover { border-color: var(--ink); transform: translateY(-2px); }
.bdx-near b { font-size: 16px; } .bdx-near span { grid-column: 1; color: var(--muted); font-size: 13.5px; }
.bdx-near i { grid-row: 1 / 3; grid-column: 2; align-self: center; font-style: normal; color: var(--red); font-weight: 800; }
@media (max-width: 900px) { .bdx-own__g { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .bdx__stats { grid-template-columns: 1fr 1fr; } .bdx__stats div + div { padding-left: 0; border-left: 0; } .bdx__stats div:nth-child(even) { padding-left: 16px; border-left: 1px solid rgba(255,255,255,.12); } .bdx__stats div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.12); } .bdx__btns .btn { flex: 1 1 100%; justify-content: center; } }
/* ================================================= area guide (agd) */
.agd__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.agd__tag { margin: 10px 0 0; font-size: clamp(17px, 1.5vw, 20px); color: var(--muted); max-width: 640px; }
.agd__suits { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.agd__suits span { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-right: 4px; }
.agd__suits b { padding: 8px 14px; border-radius: 999px; background: var(--soft, #f4f3ef); font-size: 13.5px; }
.agd__story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 56px); margin-top: 34px; }
.agd__story h3, .agd__move h3, .agd__pc h3 { margin: 0 0 10px; font-size: 20px; letter-spacing: -.02em; }
.agd__story p { margin: 0; font-size: 16.5px; line-height: 1.7; color: #3a3a40; }
.agd__facts { display: flex; flex-wrap: wrap; margin: 34px 0 0; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; background: #fff; }
.agd__facts div { flex: 1 1 240px; padding: 20px 22px; border-right: 1px solid var(--line); margin-right: -1px; }
.agd__facts dt { font-size: 12px; font-weight: 700; color: var(--muted); letter-spacing: .04em; }
.agd__facts dd { margin: 6px 0 0; font-weight: 700; line-height: 1.45; }
.agd__facts small { display: block; margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.agd__move { margin-top: 36px; padding: clamp(22px, 3vw, 34px); border-radius: 28px; background: #121010; color: #fff; }
.agd__move .muted { color: rgba(255,255,255,.7); max-width: 820px; }
.agd__drive { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin-top: 18px; }
.agd__drive span { display: grid; gap: 2px; padding: 16px 18px; border-radius: 18px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); }
.agd__drive b { font-size: 26px; letter-spacing: -.03em; color: #f3c9a3; } .agd__drive small { color: rgba(255,255,255,.65); font-size: 13px; }
.agd__move .agd__fine { color: rgba(255,255,255,.45); }
.agd__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin-top: 30px; }
.agd__c { padding: 22px; border-radius: 22px; border: 1px solid var(--line); background: #fff; }
.agd__c h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 17px; }
.agd__c h3 span { width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; background: #fde8e6; color: var(--red); flex: none; }
.agd__c h3 svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.agd__c ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.agd__c li { display: grid; gap: 2px; padding-bottom: 10px; border-bottom: 1px solid var(--line); } .agd__c li:last-child { border-bottom: 0; padding-bottom: 0; }
.agd__c li b { font-size: 14.5px; } .agd__c li small { color: var(--muted); font-size: 13px; line-height: 1.45; }
.agd__pc { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 30px; }
.agd__pc > div { padding: 24px; border-radius: 22px; }
.agd__pros { background: #eef7f1; } .agd__cons { background: var(--soft, #f6f5f2); }
.agd__pc ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.agd__pc li { position: relative; padding-left: 26px; line-height: 1.55; }
.agd__pros li::before { content: "✓"; position: absolute; left: 0; color: #1f8a4c; font-weight: 800; }
.agd__cons li::before { content: "!"; position: absolute; left: 4px; color: var(--red); font-weight: 800; }
.agd__fine { margin: 14px 0 0; font-size: 12.5px; color: var(--muted); }
@media (max-width: 760px) { .agd__story, .agd__pc { grid-template-columns: 1fr; } .agd__facts div { border-right: 0; border-bottom: 1px solid var(--line); } }
.pdp__main, .pdp__grid > * { min-width: 0; } .lsx__t, .table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.bdx-own__g { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } @media (max-width: 900px) { .bdx-own__g { grid-template-columns: minmax(0, 1fr); } } .pdp__grid { grid-template-columns: minmax(0, 1fr) 400px; } @media (max-width: 1100px) { .pdp__grid { grid-template-columns: minmax(0, 1fr) 340px; } } @media (max-width: 900px) { .pdp__grid { grid-template-columns: minmax(0, 1fr); } } .hp { position: absolute !important; inset-inline-start: 0 !important; left: 0; top: 0; width: 1px !important; height: 1px !important; overflow: hidden; clip-path: inset(50%); }

/* Listing marketing line under the SEO title */
.pdp__tagline{margin:.35rem 0 0;font-size:clamp(.95rem,1.4vw,1.08rem);line-height:1.45;max-width:60ch}

/* ---- Complaint tracker (/complaint, app/views/complaint-track.php): the complaints page hero with the real case card ---- */
.ctk-hero .cq-hero__h em { white-space: nowrap; }
.ctk-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.ctk-meta span { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 12px 16px; min-width: 0; }
.ctk-meta small { display: block; font: 700 10.5px/1 var(--font); letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); margin-bottom: 6px; }
.ctk-meta b { font-size: 15px; }
.ctk-card { transform: rotate(0); }
.ctk-find { background: #fff; color: var(--ink); border-radius: 28px; padding: 28px; display: grid; gap: 14px; box-shadow: 0 60px 120px -40px rgba(0,0,0,.7); align-self: center; }
.ctk-find__h { font-size: 22px; letter-spacing: -.01em; }
.ctk-find label { display: grid; gap: 6px; font-weight: 700; font-size: 13.5px; }
.ctk-find input { height: 52px; border: 1px solid var(--line); border-radius: 14px; padding: 0 16px; font: inherit; font-size: 16px; background: #faf9f6; }
.ctk-find input:focus { outline: none; border-color: var(--ink); background: #fff; }
.ctk-find__n { margin: 0; font-size: 13px; color: var(--muted); } .ctk-find__n a { color: var(--ink); font-weight: 700; }
.ctk-err { margin: 0; background: #fff1ef; color: #a1170d; border-radius: 12px; padding: 10px 14px; font-size: 14px; }
.ctk-body { padding: clamp(56px, 7vw, 96px) 0; background: var(--bg); }
.ctk-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(28px, 4vw, 56px); align-items: start; }
.ctk-main { min-width: 0; }
.ctk-tl { list-style: none; margin: 28px 0 0; padding: 0; position: relative; }
.ctk-tl::before { content: ""; position: absolute; left: 9px; top: 12px; bottom: 12px; width: 2px; background: linear-gradient(var(--line), transparent); }
.ctk-tl__i { position: relative; padding: 0 0 18px 38px; }
.ctk-tl__dot { position: absolute; left: 0; top: 18px; width: 20px; height: 20px; border-radius: 50%; background: #2bb673; box-shadow: 0 0 0 5px rgba(43,182,115,.14); }
.ctk-tl__i.is-client .ctk-tl__dot { background: #1e508c; box-shadow: 0 0 0 5px rgba(30,80,140,.12); }
.ctk-tl__i:first-child .ctk-tl__dot { animation: snPulse 1.8s infinite; }
.ctk-tl__card { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 18px 20px; box-shadow: 0 18px 40px -30px rgba(13,22,38,.4); }
.ctk-tl__i.is-client .ctk-tl__card { background: #f4f7fb; }
.ctk-tl__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; align-items: baseline; }
.ctk-tl__top b { font-size: 16px; } .ctk-tl__top time { font-size: 12.5px; color: var(--muted); }
.ctk-tl__card p { margin: 8px 0 6px; white-space: normal; overflow-wrap: anywhere; line-height: 1.6; }
.ctk-tl__card small { font-size: 12px; color: var(--muted); font-weight: 700; }
.ctk-side { display: grid; gap: 16px; position: sticky; top: calc(var(--hdr) + 16px); }
.ctk-add, .ctk-help { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 22px; display: grid; gap: 10px; }
.ctk-add b, .ctk-help b { font-size: 18px; letter-spacing: -.01em; }
.ctk-add p { margin: 0; font-size: 14px; color: var(--muted); line-height: 1.55; }
.ctk-add textarea { border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; font: inherit; font-size: 16px; resize: vertical; background: #faf9f6; }
.ctk-add textarea:focus { outline: none; border-color: var(--ink); background: #fff; }
.ctk-ok { background: #eaf8f0 !important; color: #136b42 !important; border-radius: 12px; padding: 10px 14px; }
.ctk-help { background: #0d1626; color: #fff; border: 0; }
.ctk-help a { color: #fff; font-weight: 800; font-size: 17px; }
.ctk-help small { color: rgba(255,255,255,.6); font-size: 12.5px; line-height: 1.5; }
@media (max-width: 1000px) { .ctk-grid { grid-template-columns: 1fr; } .ctk-side { position: static; } }
@media (max-width: 600px) { .ctk-meta span { flex: 1 1 40%; } .ctk-find { padding: 22px; border-radius: 22px; } .ctk-tl__i { padding-left: 32px; } }
.ctk-card .cq-track__list li.is-cur { opacity: 1; }
.ctk-main .h2 { color: var(--ink); }
.ctk-link { font-size: 15px; margin-top: 18px; } .ctk-link a { color: #fff; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

/* ---- Insights, "The CBA Journal" (app/views/hub-insights.php): newspaper masthead, live DLD ticker, front page, numbers ---- */
.jn-hero { background: #0d0d0f; color: #fff; padding: calc(var(--hdr) + 22px) 0 0; position: relative; overflow: hidden; }
.jn-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 80% at 85% 0%, rgba(244,59,47,.22), transparent 60%), radial-gradient(50% 60% at 0% 100%, rgba(201,162,122,.14), transparent 70%); pointer-events: none; }
.jn-hero .wrap { position: relative; }
.jn-rule { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 18px; margin: 22px 0 0; padding: 12px 0; border-top: 3px double rgba(255,255,255,.35); border-bottom: 1px solid rgba(255,255,255,.18); font: 700 11.5px/1.2 var(--font); letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.65); }
.jn-rule span:first-child { color: #fff; }
.jn-h { font-size: clamp(48px, 8.6vw, 132px); line-height: .9; letter-spacing: -.045em; margin: clamp(28px, 4vw, 52px) 0 0; max-width: 14ch; text-wrap: balance; }
.jn-h em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.02em; color: #f3c9a3; }
.jn-p { max-width: 56ch; margin: 22px 0 clamp(40px, 5vw, 64px); color: rgba(255,255,255,.72); font-size: 17px; }
.jn-tick { position: relative; border-top: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.03); overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.jn-tick__in { display: flex; width: max-content; animation: jnTick 38s linear infinite; }
.jn-tick:hover .jn-tick__in { animation-play-state: paused; }
.jn-tick__run { display: flex; }
.jn-tick__run > span { display: inline-flex; align-items: baseline; gap: 10px; padding: 18px 34px; border-right: 1px solid rgba(255,255,255,.1); white-space: nowrap; }
.jn-tick small { font: 700 11px/1 var(--font); letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.jn-tick b { font-size: 17px; }
.jn-tick i, .jn-stat i { font-style: normal; font-weight: 800; font-size: 13px; } .jn-tick i.up, .jn-stat i.up { color: #4ad18f; } .jn-tick i.dn, .jn-stat i.dn { color: #ff8a7a; }
.jn-tick__src { color: rgba(255,255,255,.45); font-size: 12px; }
@keyframes jnTick { to { transform: translateX(-50%); } }
.jn-front { padding: clamp(48px, 6vw, 88px) 0; background: var(--bg); }
.jn-front__in { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
.jn-lead { display: grid; gap: 14px; color: var(--ink); text-decoration: none; }
.jn-lead figure { position: relative; margin: 0 0 6px; border-radius: 28px; overflow: hidden; aspect-ratio: 16 / 10; max-width: 100%; background: #e9e5df; }
.jn-lead img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.jn-lead:hover img { transform: scale(1.04); }
.jn-no { position: absolute; left: 22px; bottom: 6px; font-family: var(--serif); font-style: italic; font-size: clamp(64px, 8vw, 120px); line-height: 1; color: #fff; text-shadow: 0 10px 40px rgba(0,0,0,.45); }
.jn-lead__h { font-size: clamp(28px, 3.4vw, 46px); line-height: 1.05; letter-spacing: -.03em; text-wrap: balance; }
.jn-lead__p { color: var(--ink-2); font-size: 17px; line-height: 1.6; max-width: 60ch; }
.jn-by { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; align-items: center; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }
.jn-by i { font-style: normal; font-weight: 800; color: var(--red); }
.jn-also { display: grid; gap: 0; border-top: 3px double var(--ink); }
.jn-also__k { margin: 0; padding: 14px 0; font: 800 11.5px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.jn-item { display: grid; grid-template-columns: auto minmax(0, 1fr) 96px; gap: 16px; align-items: center; padding: 20px 0; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.jn-item__n { font-family: var(--serif); font-style: italic; font-size: 44px; line-height: 1; color: var(--red); min-width: 52px; }
.jn-item__b { display: grid; gap: 6px; min-width: 0; } .jn-item b { font-size: 17.5px; line-height: 1.3; letter-spacing: -.01em; }
.jn-item figure { margin: 0; width: 96px; height: 96px; border-radius: 18px; overflow: hidden; }
.jn-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.jn-item:hover img { transform: scale(1.08); } .jn-item:hover b { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.jn-num { background: #0d0d0f; color: #fff; padding: clamp(56px, 7vw, 100px) 0; }
.jn-num__in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.jn-num__t p { color: rgba(255,255,255,.7); max-width: 44ch; margin: 14px 0 24px; }
.jn-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; min-width: 0; }
.jn-stat { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: 22px; padding: 20px 22px; display: grid; gap: 6px; }
.jn-stat small { font: 700 11px/1.2 var(--font); letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.jn-stat b { font-size: clamp(28px, 3.4vw, 44px); letter-spacing: -.03em; line-height: 1.05; }
.jn-chart { grid-column: 1 / -1; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 12px; align-items: end; height: 200px; padding: 20px 22px 12px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: 22px; }
.jn-chart span { position: relative; height: var(--h); min-height: 6px; background: linear-gradient(180deg, #f43b2f, rgba(244,59,47,.35)); border-radius: 10px 10px 4px 4px; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; }
.jn-chart span:last-child { background: linear-gradient(180deg, #f3c9a3, rgba(243,201,163,.3)); }
.jn-chart i { position: absolute; top: -20px; font-style: normal; font-size: 11.5px; font-weight: 700; color: rgba(255,255,255,.75); white-space: nowrap; }
.jn-chart small { position: absolute; bottom: -22px; font-size: 11px; color: rgba(255,255,255,.55); }
.jn-chart { margin-bottom: 14px; }
.jn-src { grid-column: 1 / -1; margin: 6px 0 0; font-size: 12px; color: rgba(255,255,255,.45); }
.in-grid .in-card.is-wide { grid-column: span 2; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 4px 20px; align-content: start; }
.in-grid .in-card.is-wide figure { grid-row: span 5; margin: 0; }
@media (max-width: 1000px) { .jn-front__in, .jn-num__in { grid-template-columns: 1fr; } .in-grid .in-card.is-wide { grid-column: auto; display: block; } }
@media (max-width: 600px) { .jn-item { grid-template-columns: auto minmax(0, 1fr); } .jn-item figure { display: none; } .jn-stats { grid-template-columns: 1fr; } .jn-tick__run > span { padding: 14px 22px; } .jn-rule span:last-child { display: none; } }
@media (prefers-reduced-motion: reduce) { .jn-tick__in { animation: none; } }
.jn-lead figure::after { content: ""; position: absolute; inset: 50% 50% 0 0; background: radial-gradient(80% 90% at 0% 100%, rgba(0,0,0,.55), transparent 70%); pointer-events: none; } .jn-no { z-index: 1; }
/* Property page: "About this area" strip (partials/area-strip.php) */
.ast__in { display: grid; grid-template-columns: 240px minmax(0, 1fr); background: #0d0d0f; color: #fff; border-radius: 26px; overflow: hidden; text-decoration: none; transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.ast__in:hover { transform: translateY(-3px); box-shadow: 0 30px 60px -30px rgba(13,13,15,.6); }
.ast__img { margin: 0; min-height: 100%; } .ast__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1s var(--ease); }
.ast__in:hover .ast__img img { transform: scale(1.06); }
.ast__b { padding: 24px 26px; display: grid; gap: 8px; min-width: 0; }
.ast__h { font-size: clamp(24px, 2.6vw, 32px); letter-spacing: -.02em; line-height: 1.1; }
.ast__p { margin: 0; color: rgba(255,255,255,.7); font-size: 14.5px; line-height: 1.55; }
.ast__k { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 4px; }
.ast__k span { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 10px 12px; display: grid; gap: 2px; }
.ast__k b { font-size: 16px; } .ast__k small { font-size: 11.5px; color: rgba(255,255,255,.55); }
.ast__go { font-weight: 800; color: #f3c9a3; } .ast__go i { font-style: normal; display: inline-block; transition: transform .3s; } .ast__in:hover .ast__go i { transform: translateX(4px); }
@media (max-width: 700px) { .ast__in { grid-template-columns: 1fr; } .ast__img { height: 180px; } }
