/* JP World — Real Estate Intelligence
   Matches the JP World explainer: deep navy-black, gold glow, Cormorant serif, Jarvis HUD. */

:root {
  --bg: #080d10;
  --bg-2: #0d1418;
  --panel: var(--panel);
  --panel-2: #141e24;
  --line: #1f2b32;
  --line-2: var(--line-2);
  --text: #e9e6df;
  --muted: #8b9196;
  --dim: #5b6368;
  --gold: #c9a46a;
  --gold-2: #e3c58e;
  --gold-glow: rgba(201,164,106,.22);
  --green: #3ecf8e;
  --wa: #1d4a39;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Inter", system-ui, -apple-system, Segoe UI, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --ease: cubic-bezier(.16,1,.3,1);
  --wrap: min(1200px, 92vw);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font-family: var(--sans); font-size: 16px; line-height: 1.6; font-weight: 300;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
body.booting { overflow: hidden; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; line-height: 1.08; margin: 0; letter-spacing: -.005em; }
h2 { font-size: clamp(2.3rem, 4.6vw, 3.6rem); }
p { margin: 0; }
em { font-style: italic; }
.gold { color: var(--gold); }
.mono { font-family: var(--mono); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow { font-family: var(--sans); font-size: .72rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.1rem; }
.rule { display: block; width: 56px; height: 1px; background: var(--gold); margin: 1.6rem auto; transform-origin: center; }
.lede { color: var(--muted); font-size: 1.05rem; }
.lede em { font-family: var(--serif); font-size: 1.45rem; }
.tiny { font-size: .62rem; color: var(--dim); margin-top: .5rem; }

/* ---------- Background ---------- */
#field { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.glow {
  position: fixed; width: 720px; height: 720px; left: 0; top: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(circle, rgba(201,164,106,.11), transparent 62%);
  transform: translate(-50%,-50%); transition: opacity .4s; will-change: transform;
}
main, .nav, .footer { position: relative; z-index: 1; }

/* ---------- Boot ---------- */
.boot {
  position: fixed; inset: 0; z-index: 100; display: grid; place-items: center;
  background: radial-gradient(60% 50% at 50% 50%, #1a1712 0%, var(--bg) 70%);
  transition: opacity .7s var(--ease), visibility .7s;
}
.boot.done { opacity: 0; visibility: hidden; }
.boot__inner { text-align: center; }
.boot__logo {
  font-family: var(--serif); font-size: clamp(3rem, 9vw, 6rem); letter-spacing: .06em; font-weight: 400;
  background: linear-gradient(90deg, var(--gold-2), #fff 50%, var(--gold-2)); background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: bootIn 1s var(--ease) both, shine 2.4s linear infinite;
}
.boot__rule { display: block; height: 1px; width: 180px; margin: 1rem auto; background: var(--gold); transform: scaleX(0); animation: draw .9s .35s var(--ease) forwards; }
.boot__sub { color: var(--gold); font-size: .78rem; letter-spacing: .3em; text-transform: uppercase; opacity: 0; animation: fade .6s .6s forwards; }
.boot__status { color: var(--dim); margin-top: 2rem; opacity: 0; animation: fade .4s .8s forwards; }
@keyframes bootIn { from { opacity: 0; letter-spacing: .5em; filter: blur(8px); } to { opacity: 1; filter: blur(0); } }
@keyframes shine { to { background-position: -200% 0; } }
@keyframes draw { to { transform: scaleX(1); } }
@keyframes fade { to { opacity: 1; } }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; padding: .85rem 1.6rem; border-radius: 999px;
  font: 500 .9rem var(--sans); letter-spacing: .02em; border: 1px solid transparent; cursor: pointer;
  transition: transform .3s var(--ease), box-shadow .3s, background .3s, color .3s, border-color .3s;
}
.btn:hover { transform: translateY(-2px); }
.btn--gold { background: var(--gold); color: #120f0a; box-shadow: 0 0 0 0 var(--gold-glow); }
.btn--gold:hover { background: var(--gold-2); box-shadow: 0 10px 40px -6px rgba(201,164,106,.5); }
.btn--ghost { border-color: var(--line-2); color: var(--text); }
.btn--ghost:hover { border-color: var(--gold); color: var(--gold-2); }
.btn--wide { width: 100%; padding: 1rem; }

/* ---------- Nav ---------- */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 60; display: flex; align-items: center; gap: 2rem;
  padding: 1rem max(4vw, calc((100vw - 1200px)/2)); transition: background .4s, border-color .4s, padding .4s;
  border-bottom: 1px solid transparent;
}
.nav.scrolled { background: rgba(8,13,16,.78); backdrop-filter: blur(14px); border-color: var(--line); padding-block: .7rem; }
.brand { display: flex; flex-direction: column; line-height: 1; }
.brand__name { font-family: var(--serif); font-size: 1.45rem; letter-spacing: .05em; }
.brand__tag { font-size: .55rem; letter-spacing: .26em; text-transform: uppercase; color: var(--gold); margin-top: .35rem; }
.nav__links { display: flex; align-items: center; gap: 1.8rem; margin-left: auto; font-size: .86rem; color: var(--muted); }
.nav__links a:not(.btn) { position: relative; transition: color .3s; }
.nav__links a:not(.btn):hover { color: var(--text); }
.nav__links a:not(.btn)::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: -6px; height: 1px; background: var(--gold); transition: left .3s var(--ease), right .3s var(--ease); }
.nav__links a:not(.btn):hover::after { left: 0; right: 0; }
.nav__links .btn { padding: .6rem 1.2rem; font-size: .82rem; }
.nav__live { color: var(--muted); display: flex; align-items: center; gap: .45rem; font-size: .6rem; }
.nav__live i, .app__live i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px var(--green); animation: pulse 1.8s infinite; }
@keyframes pulse { 50% { opacity: .35; } }
.sound { display: flex; align-items: center; gap: .5rem; background: none; border: 1px solid var(--line-2); border-radius: 999px; padding: .45rem .8rem; color: var(--muted); cursor: pointer; font-size: .58rem; transition: border-color .3s, color .3s; }
.sound:hover, .sound[aria-pressed="true"] { border-color: var(--gold); color: var(--gold-2); }
.sound__bars { display: flex; gap: 2px; align-items: flex-end; height: 12px; }
.sound__bars i { width: 2px; height: 30%; background: currentColor; border-radius: 1px; }
.sound[aria-pressed="true"] .sound__bars i { animation: eq 1.1s ease-in-out infinite; }
.sound__bars i:nth-child(2) { animation-delay: -.3s; } .sound__bars i:nth-child(3) { animation-delay: -.6s; } .sound__bars i:nth-child(4) { animation-delay: -.85s; }
@keyframes eq { 0%, 100% { height: 30%; } 50% { height: 100%; } }
.nav__toggle { display: none; margin-left: auto; width: 40px; height: 40px; background: none; border: 1px solid var(--line-2); border-radius: 50%; cursor: pointer; flex-direction: column; justify-content: center; align-items: center; gap: 5px; }
.nav__toggle span { width: 16px; height: 1px; background: var(--text); transition: transform .3s; }
.nav__toggle[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
.nav__toggle[aria-expanded="true"] span:last-child { transform: translateY(-3px) rotate(-45deg); }

/* ---------- Reveal system ---------- */
[data-anim] { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--ease), transform .9s var(--ease); transition-delay: var(--delay, 0s); }
[data-anim].in { opacity: 1; transform: none; }
.rule[data-anim] { transform: scaleX(0); }
.rule[data-anim].in { transform: scaleX(1); }

/* ---------- Hero ---------- */
.hero {
  min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  padding: 8rem 4vw 5rem; position: relative; overflow: hidden;
}
.hero::before {
  content: ""; position: absolute; width: 900px; height: 900px; left: 50%; top: 52%; transform: translate(-50%,-50%);
  background: radial-gradient(circle, rgba(201,164,106,.16), transparent 60%); pointer-events: none;
}
.hero__title { font-size: clamp(2.6rem, 6.4vw, 5.4rem); font-weight: 300; margin-bottom: 2.4rem; position: relative; }
.hero__title .line { display: block; }
.hero__title em { font-weight: 300; }
.line--gold { color: var(--gold); font-weight: 400; }

/* Orb */
.orb { position: relative; width: 240px; height: 240px; margin-bottom: 1.6rem; }
.orb__rings { position: absolute; inset: -40px; width: calc(100% + 80px); height: calc(100% + 80px); overflow: visible; }
.orb__rings .r { fill: none; stroke: var(--gold); transform-origin: 200px 200px; }
.r1 { stroke-opacity: .12; stroke-dasharray: 2 10; animation: spin 40s linear infinite; }
.r2 { stroke-opacity: .28; stroke-dasharray: 120 40 10 40; animation: spin 18s linear infinite reverse; }
.r3 { stroke-opacity: .22; stroke-dasharray: 4 6; animation: spin 26s linear infinite; }
.r4 { stroke-opacity: .5; stroke-dasharray: 60 260; stroke-width: 2; animation: spin 6s linear infinite; }
.ticks line { stroke: var(--gold); stroke-opacity: .35; }
.ticks { transform-origin: 200px 200px; animation: spin 60s linear infinite reverse; }
@keyframes spin { to { transform: rotate(360deg); } }
.orb__mic {
  position: absolute; left: 50%; top: 50%; width: 92px; height: 92px; transform: translate(-50%,-50%); border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, var(--gold-2), var(--gold) 60%, #8d6f3f); border: 0; cursor: pointer;
  display: grid; place-items: center; box-shadow: 0 0 0 10px rgba(201,164,106,.08), 0 0 60px rgba(201,164,106,.45);
  animation: breathe 3s ease-in-out infinite;
}
.orb__mic svg { width: 34px; height: 34px; fill: none; stroke: #1a140b; stroke-width: 1.8; stroke-linecap: round; }
.orb__mic svg rect { fill: #1a140b; }
.orb__mic::before, .orb__mic::after {
  content: ""; position: absolute; inset: 0; border-radius: 50%; border: 1px solid var(--gold); animation: ripple 2.6s var(--ease) infinite;
}
.orb__mic::after { animation-delay: 1.3s; }
@keyframes ripple { from { transform: scale(1); opacity: .7; } to { transform: scale(2.6); opacity: 0; } }
@keyframes breathe { 50% { box-shadow: 0 0 0 16px rgba(201,164,106,.05), 0 0 90px rgba(201,164,106,.6); } }
.wave { position: absolute; left: 50%; bottom: -26px; transform: translateX(-50%); display: flex; gap: 4px; align-items: center; height: 22px; }
.wave i { width: 3px; height: 100%; background: var(--gold); border-radius: 2px; animation: wave 1s ease-in-out infinite; transform-origin: center; }
.wave i:nth-child(2n) { animation-delay: -.2s; } .wave i:nth-child(3n) { animation-delay: -.45s; } .wave i:nth-child(4n) { animation-delay: -.7s; }
@keyframes wave { 0%, 100% { transform: scaleY(.2); } 50% { transform: scaleY(1); } }
.orb.listening .wave i { animation-duration: .45s; }

.ayat { margin-top: 2.6rem; display: flex; flex-direction: column; align-items: center; gap: .3rem; }
.ayat__name { font-family: var(--serif); font-size: 1.6rem; letter-spacing: .42em; padding-left: .42em; color: var(--gold-2); text-shadow: 0 0 24px rgba(201,164,106,.45); }
.ayat__tag { font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--dim); }
.orb.speaking .orb__mic { animation-duration: .9s; }
.orb.speaking .wave i { animation-duration: .38s; }
.ask { min-height: 2.2rem; margin: 1.2rem 0 2rem; font-family: var(--serif); font-style: italic; font-size: clamp(1.25rem, 2.4vw, 1.7rem); color: var(--text); }
.ask::before { content: "“"; color: var(--gold); }
.caret { display: inline-block; width: 2px; height: 1em; background: var(--gold); margin-left: 3px; vertical-align: -3px; animation: blink 1s steps(1) infinite; }
@keyframes blink { 50% { opacity: 0; } }
.hero__cta { display: flex; gap: .8rem; flex-wrap: wrap; justify-content: center; margin-bottom: 3.5rem; }
.proof { display: grid; grid-template-columns: repeat(3, auto); gap: 0; border-top: 1px solid var(--line); padding-top: 1.6rem; }
.proof > div { padding: 0 2.4rem; display: flex; flex-direction: column; gap: .25rem; }
.proof > div + div { border-left: 1px solid var(--line); }
.proof__n { font-family: var(--serif); font-size: 2rem; color: var(--gold-2); line-height: 1; }
.proof__l { font-size: .74rem; color: var(--muted); }
.scroll-cue { position: absolute; bottom: 1.6rem; left: 50%; transform: translateX(-50%); color: var(--dim); display: flex; flex-direction: column; align-items: center; gap: .5rem; font-size: .55rem; }
.scroll-cue span { width: 1px; height: 36px; background: linear-gradient(var(--gold), transparent); animation: drip 1.8s var(--ease) infinite; transform-origin: top; }
@keyframes drip { 0% { transform: scaleY(0); } 60% { transform: scaleY(1); opacity: 1; } 100% { opacity: 0; } }

/* ---------- Marquee ---------- */
.marquee { overflow: hidden; border-block: 1px solid var(--line); background: rgba(13,20,24,.7); position: relative; z-index: 1; }
.marquee__track { display: flex; width: max-content; animation: slide 36s linear infinite; }
.marquee__track span { font-family: var(--serif); font-style: italic; font-size: 1.5rem; color: var(--muted); padding: 1.1rem 2.2rem; white-space: nowrap; }
.marquee__track span::after { content: "◆"; font-style: normal; font-size: .5rem; color: var(--gold); margin-left: 4.4rem; vertical-align: middle; }
@keyframes slide { to { transform: translateX(-50%); } }

/* ---------- Chapters ---------- */
.chapter { width: var(--wrap); margin: 0 auto; padding: clamp(6rem, 12vw, 10rem) 0; display: grid; grid-template-columns: 1fr 1.15fr; gap: 5rem; align-items: center; }
.chapter--alt { grid-template-columns: 1.15fr 1fr; }
.chapter--alt .chapter__head { order: 2; }
.chapter__head { text-align: center; }
.chapter__head h2 { margin-bottom: 0; }

/* App mock */
.screen { position: relative; }
.screen::before { content: ""; position: absolute; inset: -12%; background: radial-gradient(circle, var(--gold-glow), transparent 65%); z-index: -1; }
.screen__label { color: var(--gold); text-align: center; margin-bottom: 1rem; }
.app {
  display: grid; grid-template-columns: 150px 1fr; min-height: 440px; border: 1px solid var(--line-2); border-radius: 18px; overflow: hidden;
  background: linear-gradient(180deg, var(--panel-2), var(--panel)); box-shadow: 0 50px 120px -40px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.04);
}
.app__side { border-right: 1px solid var(--line); padding: 1.2rem .9rem; }
.app__logo { font-family: var(--serif); font-size: 1rem; letter-spacing: .06em; display: block; margin-bottom: 1.4rem; }
.app__side ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .2rem; font-size: .78rem; color: var(--muted); }
.app__side li { padding: .4rem .6rem; border-radius: 6px; transition: background .3s, color .3s; }
.app__side li.on { background: rgba(201,164,106,.14); color: var(--gold-2); }
.app__main { padding: 1.2rem 1.4rem; display: flex; flex-direction: column; }
.app__top { display: flex; justify-content: flex-end; }
.app__live { color: var(--muted); display: flex; align-items: center; gap: .4rem; font-size: .55rem; }
.app__hi { font-family: var(--serif); font-style: italic; font-size: 1.5rem; margin-top: .6rem; }
.app__sub { font-size: .74rem; color: var(--muted); margin-bottom: 1rem; }
.app__ask { display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--line-2); border-radius: 999px; padding: .55rem .6rem .55rem 1rem; font-size: .85rem; min-height: 44px; margin-bottom: 1.1rem; }
.app__mic { width: 28px; height: 28px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 16px var(--gold-glow); flex: none; }
.app__cards { display: grid; gap: .6rem; }
.tile {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; border-radius: 10px;
  background: rgba(255,255,255,.035); border: 1px solid var(--line); opacity: 0; transform: translateX(24px);
  transition: opacity .6s var(--ease), transform .6s var(--ease), border-color .3s;
}
.tile:hover { border-color: var(--gold); }
.tile b { display: block; font-weight: 500; font-size: .88rem; }
.tile small { color: var(--muted); font-size: .72rem; }
.screen.play .tile { opacity: 1; transform: none; }
.screen.play .tile:nth-child(2) { transition-delay: .18s; } .screen.play .tile:nth-child(3) { transition-delay: .36s; }
.pill { font-size: .68rem; border: 1px solid var(--line-2); padding: .25rem .7rem; border-radius: 999px; color: var(--muted); flex: none; }
.pill--gold { border-color: var(--gold); color: var(--gold-2); }
.app__note { margin-top: auto; padding-top: 1rem; font-size: .6rem; color: var(--dim); }

/* Search */
.search { border: 1px solid var(--line-2); border-radius: 18px; padding: 1.4rem; background: rgba(16,24,29,.8); box-shadow: 0 40px 100px -40px rgba(0,0,0,.9); }
.search__bar { display: flex; align-items: center; gap: .7rem; border: 1px solid var(--gold); border-radius: 999px; padding: .8rem 1.1rem; margin-bottom: 1.1rem; box-shadow: 0 0 30px -8px var(--gold-glow); min-height: 50px; }
.search__bar svg { width: 18px; height: 18px; fill: none; stroke: var(--text); stroke-width: 1.8; flex: none; }
.search__rows { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.search__rows li {
  display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 1rem; padding: .9rem 1rem; border-radius: 10px;
  background: rgba(255,255,255,.035); border: 1px solid var(--line); font-size: .9rem;
  opacity: 0; transform: translateY(10px); transition: opacity .5s var(--ease), transform .5s var(--ease), border-color .3s, background .3s;
}
.search__rows li:hover { border-color: var(--gold); background: rgba(201,164,106,.06); }
.search.play .search__rows li { opacity: 1; transform: none; }
.search__rows .k { font-family: var(--mono); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.search__rows .s { font-size: .68rem; color: var(--dim); }

/* ---------- Duo ---------- */
.duo, .trio { width: var(--wrap); margin: 0 auto; display: grid; gap: 1.4rem; padding-bottom: 1.4rem; }
.duo { grid-template-columns: 1fr 1fr; }
.trio { grid-template-columns: repeat(3, 1fr); padding-bottom: clamp(6rem, 12vw, 10rem); }
.duo__item, .trio__item {
  text-align: center; border: 1px solid var(--line); border-radius: 22px; padding: 3rem 2.2rem 2.6rem;
  background: radial-gradient(80% 60% at 50% 0%, rgba(201,164,106,.08), transparent 70%), rgba(13,20,24,.75);
  transition: border-color .4s, transform .5s var(--ease), opacity .9s var(--ease);
}
.duo__item:hover, .trio__item:hover { border-color: var(--line-2); }
.duo__item h2, .trio__item h2 { font-size: clamp(1.9rem, 3vw, 2.5rem); }
.trio__item h2 { font-size: clamp(1.7rem, 2.4vw, 2.1rem); }
.duo__item .rule, .trio__item .rule { transform: scaleX(0); transition: transform .9s .3s var(--ease); }
.duo__item.in .rule, .trio__item.in .rule { transform: scaleX(1); }
.duo__cap { font-size: .95rem; margin-top: 1.6rem; }
.duo__sub { font-size: .82rem; color: var(--muted); margin-top: .2rem; }

.bars { height: 200px; display: flex; align-items: flex-end; gap: 10px; padding: 0 1rem; border-bottom: 1px solid var(--line-2); }
.bars i { flex: 1; height: var(--h); background: linear-gradient(180deg, #5a4b33, #3a3226); border-radius: 2px 2px 0 0; transform: scaleY(0); transform-origin: bottom; transition: transform 1s var(--ease); }
.bars i:last-child { background: linear-gradient(180deg, var(--gold-2), var(--gold)); box-shadow: 0 0 30px var(--gold-glow); }
.duo__item.in .bars i { transform: scaleY(1); }
.bars i:nth-child(1){transition-delay:.05s}.bars i:nth-child(2){transition-delay:.1s}.bars i:nth-child(3){transition-delay:.15s}.bars i:nth-child(4){transition-delay:.2s}.bars i:nth-child(5){transition-delay:.25s}.bars i:nth-child(6){transition-delay:.3s}.bars i:nth-child(7){transition-delay:.35s}.bars i:nth-child(8){transition-delay:.4s}.bars i:nth-child(9){transition-delay:.45s}.bars i:nth-child(10){transition-delay:.55s}

.radar { position: relative; width: min(280px, 100%); aspect-ratio: 1; margin: 0 auto; }
.radar svg { width: 100%; height: 100%; }
.radar svg circle, .radar svg line { fill: none; stroke: var(--line-2); }
.radar__sweep {
  position: absolute; inset: 3%; border-radius: 50%;
  background: conic-gradient(from 0deg, rgba(201,164,106,.55), rgba(201,164,106,.08) 40deg, transparent 70deg);
  animation: spin 3.6s linear infinite; mask: radial-gradient(circle, #000 69%, transparent 70%);
}
.blip { position: absolute; left: var(--x); top: var(--y); font-size: .66rem; color: var(--text); white-space: nowrap; display: flex; align-items: center; gap: .4rem; transform: translate(-6px,-50%); }
.blip::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 0 var(--gold); animation: ping 3.6s var(--d) infinite; }
.blip--r { flex-direction: row-reverse; transform: translate(calc(-100% + 6px), -50%); }
@keyframes ping { 0% { box-shadow: 0 0 0 0 rgba(201,164,106,.7); } 20% { box-shadow: 0 0 0 10px rgba(201,164,106,0); } 100% { box-shadow: 0 0 0 0 rgba(201,164,106,0); } }

/* ---------- Trio ---------- */
.stack { display: grid; gap: .7rem; text-align: left; }
.stack__c { border: 1px solid var(--line-2); border-radius: 10px; padding: .9rem 1.1rem; background: rgba(255,255,255,.02); opacity: 0; transform: translateY(16px) scale(.97); transition: all .6s var(--ease); }
.stack__c b { display: block; font-weight: 500; font-size: .92rem; }
.stack__c small { color: var(--muted); font-size: .74rem; }
.trio__item.in .stack__c { opacity: 1; transform: none; }
.trio__item.in .stack__c:nth-child(2) { transition-delay: .15s; } .trio__item.in .stack__c:nth-child(3) { transition-delay: .3s; }
.stack__c:hover { border-color: var(--gold); }

.match { width: 100%; max-width: 300px; display: block; margin: 0 auto; overflow: visible; }
.match text { fill: var(--dim); font: 500 8px var(--sans); letter-spacing: .12em; }
.match__inv circle { fill: none; stroke: var(--text); stroke-opacity: .7; }
.match__home rect { fill: none; stroke: var(--gold); }
.match__lines path { fill: none; stroke: var(--gold); stroke-width: 1.2; stroke-dasharray: 260; stroke-dashoffset: 260; transition: stroke-dashoffset 1.4s var(--ease); filter: drop-shadow(0 0 4px rgba(201,164,106,.6)); }
.trio__item.in .match__lines path { stroke-dashoffset: 0; }
.trio__item.in .match__lines path:nth-child(2) { transition-delay: .5s; } .trio__item.in .match__lines path:nth-child(3) { transition-delay: 1s; }
.match__home rect { transition: fill .4s 1.4s; }
.trio__item.in .match__home rect { fill: rgba(201,164,106,.3); }

.checks { list-style: none; margin: 0 0 1.2rem; padding: 0; display: grid; gap: .55rem; text-align: left; }
.checks li { display: flex; justify-content: space-between; align-items: center; padding: .8rem 1rem; border-radius: 10px; background: rgba(255,255,255,.035); border: 1px solid var(--line); font-size: .84rem; }
.checks em { font-style: normal; font-size: .66rem; color: var(--green); display: flex; align-items: center; gap: .5rem; opacity: 0; transform: translateX(-6px); transition: all .5s var(--ease); }
.checks em::after { content: "✓"; font-size: .85rem; }
.trio__item.in .checks em { opacity: 1; transform: none; }
.trio__item.in .checks li:nth-child(1) em { transition-delay: .4s; } .trio__item.in .checks li:nth-child(2) em { transition-delay: .9s; }
.trio__item.in .checks li:nth-child(3) em { transition-delay: 1.4s; } .trio__item.in .checks li:nth-child(4) em { transition-delay: 1.9s; }

/* ---------- Developers ---------- */
.devs { width: var(--wrap); margin: 0 auto; padding-bottom: clamp(6rem, 12vw, 10rem); }
.devs__grid { list-style: none; margin: 3rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.devs__grid li {
  display: grid; place-items: center; text-align: center; min-height: 104px; padding: 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line);
  font-family: var(--serif); font-size: 1.35rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
  transition: color .4s, background .4s, letter-spacing .5s var(--ease);
}
.devs__grid li:hover { color: var(--gold-2); background: radial-gradient(circle, rgba(201,164,106,.1), transparent 70%); letter-spacing: .14em; }
.devs__also { margin-top: 1.4rem; text-align: center; font-size: .82rem; color: var(--muted); letter-spacing: .04em; }
.devs__grid img { max-width: 70%; max-height: 46px; filter: grayscale(1) brightness(1.6); opacity: .75; transition: filter .4s, opacity .4s; }
.devs__grid li:hover img { filter: none; opacity: 1; }
.devs__note { margin-top: 1rem; font-size: .7rem; color: var(--dim); text-align: center; }

/* ---------- Doors ---------- */
.doors { width: var(--wrap); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; padding-bottom: clamp(6rem, 12vw, 10rem); }
.door { text-align: center; border: 1px solid var(--line); border-radius: 26px; padding: 3.2rem 2.4rem; background: radial-gradient(70% 50% at 50% 0%, rgba(201,164,106,.1), transparent 70%), rgba(13,20,24,.8); scroll-margin-top: 90px; }
.door h2 { font-size: clamp(1.9rem, 3vw, 2.5rem); font-weight: 300; margin-bottom: 2rem; }
.phone { max-width: 320px; margin: 0 auto 2.2rem; border: 1px solid var(--line-2); border-radius: 32px; background: #0b1216; padding: 1rem 1rem 1.4rem; text-align: left; box-shadow: 0 30px 80px -30px rgba(0,0,0,.9); }
.phone__head { display: flex; align-items: center; gap: .7rem; padding: .4rem .3rem 1rem; border-bottom: 1px solid var(--line); margin-bottom: 1rem; }
.phone__head b { display: block; font-size: .85rem; font-weight: 500; }
.phone__head small { font-size: .66rem; color: var(--green); }
.av { width: 32px; height: 32px; border-radius: 50%; background: var(--gold); color: #1a140b; font: 600 .7rem var(--serif); display: grid; place-items: center; }
.chat { display: flex; flex-direction: column; gap: .55rem; min-height: 290px; }
.msg { max-width: 82%; padding: .6rem .85rem; border-radius: 12px; font-size: .78rem; line-height: 1.45; animation: pop .45s var(--ease) both; }
.msg--me { align-self: flex-end; background: var(--wa); color: #e6f2ec; border-bottom-right-radius: 4px; }
.msg--bot { align-self: flex-start; background: var(--panel-2); border: 1px solid var(--line); border-bottom-left-radius: 4px; }
.typing { align-self: flex-start; display: flex; gap: 4px; padding: .7rem .85rem; background: var(--panel-2); border-radius: 12px; animation: pop .3s var(--ease) both; }
.typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--muted); animation: bounce 1s infinite; }
.typing i:nth-child(2) { animation-delay: .15s; } .typing i:nth-child(3) { animation-delay: .3s; }
@keyframes bounce { 0%, 60%, 100% { transform: none; opacity: .4; } 30% { transform: translateY(-4px); opacity: 1; } }
@keyframes pop { from { opacity: 0; transform: translateY(8px) scale(.97); } to { opacity: 1; transform: none; } }
.feats { list-style: none; padding: 0; margin: 0 auto 2.2rem; max-width: 380px; text-align: left; display: grid; gap: .7rem; }
.feats li { position: relative; padding-left: 1.4rem; font-size: .9rem; color: var(--muted); }
.feats li::before { content: "◆"; position: absolute; left: 0; top: .1rem; font-size: .5rem; color: var(--gold); }

/* ---------- Ledger ---------- */
.ledger { width: var(--wrap); margin: 0 auto; padding-bottom: clamp(6rem, 12vw, 10rem); }
.ledger__mast { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 3px double var(--gold); border-bottom: 1px solid var(--line-2); padding: 1.2rem 0; color: var(--dim); }
.ledger__mast h2 { font-size: clamp(2.2rem, 6vw, 4.6rem); font-weight: 500; text-align: center; }
.ledger__deck { text-align: center; font-family: var(--serif); font-style: italic; font-size: 1.25rem; color: var(--muted); padding: 1rem 0; border-bottom: 1px solid var(--line); margin-bottom: 2.6rem; }
.ledger__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; grid-template-rows: auto auto; }
.story { padding: 0 1.8rem 2rem; border-left: 1px solid var(--line); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.story:hover h3 { color: var(--gold-2); }
.story h3 { font-size: 1.5rem; margin-bottom: .8rem; transition: color .3s; }
.story--lead { grid-row: span 2; border-left: 0; padding-left: 0; }
.story--lead h3 { font-size: clamp(2rem, 3.2vw, 2.8rem); }
.story--lead p:not(.story__tag) { color: var(--muted); margin-bottom: 1.2rem; }
.story:nth-child(4) { grid-column: 2 / span 2; border-top: 1px solid var(--line); padding-top: 2rem; }
.story__tag { color: var(--gold); margin-bottom: .8rem; font-size: .6rem; }
.soon { color: var(--dim); font-size: .58rem; border-bottom: 1px solid var(--gold); padding-bottom: 2px; }

/* ---------- FAQ ---------- */
.faq { width: min(860px, 92vw); margin: 0 auto; padding-bottom: clamp(6rem, 12vw, 9rem); }
.faq__list { border-top: 1px solid var(--line-2); }
.faq details { border-bottom: 1px solid var(--line); padding: 1.4rem 0; }
.faq summary { font-family: var(--serif); font-size: 1.5rem; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; transition: color .3s; }
.faq summary:hover { color: var(--gold-2); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-family: var(--sans); font-weight: 300; color: var(--gold); transition: transform .3s var(--ease); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { color: var(--muted); padding-top: .8rem; max-width: 720px; animation: pop .4s var(--ease); }

/* ---------- Access ---------- */
.access { width: var(--wrap); margin: 0 auto; padding-bottom: clamp(6rem, 12vw, 9rem); display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; scroll-margin-top: 90px; }
.access__copy { text-align: center; }
.brandmark { font-family: var(--serif); font-size: clamp(3rem, 6vw, 4.8rem); letter-spacing: .05em; line-height: 1; }
.access__copy .rule { width: 180px; margin: 1rem auto; }
.access__copy h2 { font-size: clamp(1.7rem, 2.6vw, 2.2rem); font-weight: 300; margin: 1.8rem 0 .8rem; }
.access__copy a { color: var(--gold-2); border-bottom: 1px solid var(--gold); }
.access__copy b { color: var(--text); font-weight: 600; }
.form { display: grid; gap: 1rem; border: 1px solid var(--line-2); border-radius: 24px; padding: 2rem; background: rgba(13,20,24,.85); box-shadow: 0 40px 100px -40px rgba(0,0,0,.9); }
.seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: .3rem; background: var(--bg); padding: .3rem; border-radius: 999px; border: 1px solid var(--line); }
.seg input { position: absolute; opacity: 0; pointer-events: none; }
.seg span { display: block; text-align: center; padding: .6rem; border-radius: 999px; cursor: pointer; font-size: .86rem; color: var(--muted); transition: all .3s var(--ease); }
.seg input:checked + span { background: var(--gold); color: #120f0a; font-weight: 500; }
.seg input:focus-visible + span { outline: 2px solid var(--gold-2); }
.field { display: grid; gap: .35rem; }
.field span { font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--dim); }
.field input, .field textarea { font: inherit; font-weight: 400; color: var(--text); background: var(--bg); border: 1px solid var(--line); border-radius: 12px; padding: .8rem 1rem; resize: vertical; transition: border-color .3s, box-shadow .3s; }
.field input:focus, .field textarea:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,164,106,.12); }
.form__status { min-height: 1.2em; color: var(--green); font-size: .82rem; }
.form__status.err { color: #e98b7b; }
.row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.field select { font: inherit; font-weight: 400; color: var(--text); background: var(--bg); border: 1px solid var(--line); border-radius: 12px; padding: .8rem 1rem; appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--gold) 50%), linear-gradient(135deg, var(--gold) 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.field select:focus { outline: none; border-color: var(--gold); }
.form.agent .inv-only { display: none; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.check { display: flex; align-items: center; gap: .6rem; font-size: .85rem; color: var(--muted); cursor: pointer; }
.check input { accent-color: var(--gold); width: 16px; height: 16px; }
.btn[disabled] { opacity: .6; pointer-events: none; }
.booking { border-top: 1px solid var(--line); padding-top: 1.2rem; display: grid; gap: .9rem; animation: pop .5s var(--ease); }
.booking__t { font-family: var(--serif); font-size: 1.4rem; }
.seg--sm { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); }
.slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .5rem; max-height: 240px; overflow: auto; }
.slots button { font: 400 .78rem var(--sans); color: var(--text); background: var(--bg); border: 1px solid var(--line-2); border-radius: 10px; padding: .6rem .4rem; cursor: pointer; transition: border-color .2s, background .2s; }
.slots button:hover { border-color: var(--gold); background: rgba(201,164,106,.08); }
@media (max-width: 520px) { .row2 { grid-template-columns: 1fr; } }

/* ---------- Footer ---------- */
.footer { width: var(--wrap); margin: 0 auto; padding: 2rem 0 2.4rem; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--dim); }
.footer i { color: var(--gold); font-style: normal; margin: 0 .4rem; }
.footer a { color: var(--muted); transition: color .3s; }
.footer a:hover { color: var(--gold-2); }
.footer__note { letter-spacing: .04em; text-transform: none; font-size: .75rem; }
.footer__note b { color: var(--gold-2); font-weight: 500; }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .nav__links { gap: 1.2rem; }
  .nav__live { display: none; }
  .chapter, .chapter--alt { grid-template-columns: 1fr; gap: 3rem; }
  .chapter--alt .chapter__head { order: 0; }
  .trio { grid-template-columns: 1fr 1fr; }
  .trio__item:last-child { grid-column: span 2; }
  .access { grid-template-columns: 1fr; }
  .ledger__grid { grid-template-columns: 1fr 1fr; }
  .story--lead { grid-column: span 2; grid-row: auto; border-bottom: 1px solid var(--line); margin-bottom: 2rem; }
  .story:nth-child(2) { border-left: 0; padding-left: 0; }
  .story:nth-child(4) { grid-column: span 2; border-left: 0; padding-left: 0; }
}
@media (max-width: 820px) {
  .nav__toggle { display: flex; }
  .nav__links {
    position: fixed; inset: 0; z-index: -1; flex-direction: column; justify-content: center; gap: 1.6rem; font-size: 1.3rem; font-family: var(--serif);
    background: rgba(8,13,16,.97); backdrop-filter: blur(10px); opacity: 0; visibility: hidden; transition: opacity .4s, visibility .4s;
  }
  .nav__links.open { opacity: 1; visibility: visible; }
  .duo, .trio, .doors { grid-template-columns: 1fr; }
  .trio__item:last-child { grid-column: auto; }
  .proof { grid-template-columns: 1fr; gap: 1.2rem; }
  .proof > div + div { border-left: 0; }
  .app { grid-template-columns: 1fr; }
  .app__side { display: none; }
  .search__rows li { grid-template-columns: 74px 1fr; }
  .search__rows .s { display: none; }
  .ledger__grid { grid-template-columns: 1fr; }
  .story, .story--lead, .story:nth-child(4) { grid-column: auto; border-left: 0; padding: 1.6rem 0; border-top: 1px solid var(--line); margin: 0; }
  .ledger__mast .mono { display: none; }
  .door { padding: 2.6rem 1.4rem; }
  .glow { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-anim] { opacity: 1; transform: none; }
}

/* ---------- Metallic finish (spec 12 Nov): titanium, brushed chrome, dull copper ---------- */
:root {
  --copper: linear-gradient(120deg, #b07a4e 0%, #d9b483 35%, #f0dcb8 50%, #c4935f 65%, #9c6a42 100%);
  --chrome: linear-gradient(120deg, var(--muted) 0%, #c9d1d5 40%, var(--text) 50%, #9aa5ab 62%, #5d676d 100%);
  --titanium: linear-gradient(180deg, #161d22 0%, #10171b 100%);
}
.line--gold, .gold, .ayat__name, .proof__n, .step__no, .ledger__mast h2 {
  background: var(--copper); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: sheen 9s ease-in-out infinite;
}
.brand__name, .brandmark { background: var(--chrome); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: sheen 12s ease-in-out infinite; }
@keyframes sheen { 0%, 100% { background-position: 0% 0; } 50% { background-position: 100% 0; } }
.btn--gold { background: var(--copper); background-size: 200% 100%; color: #160f08; transition: background-position .6s var(--ease), transform .3s var(--ease), box-shadow .3s; }
.btn--gold:hover { background: var(--copper); background-size: 200% 100%; background-position: 100% 0; }
.orb__mic { background: radial-gradient(circle at 35% 28%, #f6e6c6, #d2a874 45%, #a0703f 80%, #6e4a2a); }
.app, .search, .duo__item, .trio__item, .door, .form, .phone {
  background-image: linear-gradient(135deg, rgba(255,255,255,.035), transparent 40%, rgba(255,255,255,.02) 60%, transparent), var(--titanium);
  border-color: var(--line-2);
}
.duo__item, .trio__item, .door { background-image: radial-gradient(70% 50% at 50% 0%, rgba(201,140,90,.10), transparent 70%), linear-gradient(135deg, rgba(255,255,255,.035), transparent 40%), var(--titanium); }
.rule, .boot__rule { background: var(--copper); }
@media (prefers-reduced-motion: reduce) { .line--gold, .gold, .ayat__name, .proof__n, .step__no, .ledger__mast h2, .brand__name, .brandmark { animation: none; } }

/* ---------- Ask AYAT (intent router) ---------- */
.askbar { position: relative; display: flex; align-items: center; gap: .4rem; width: min(640px, 92vw); margin: 1.4rem auto 1rem; padding: .4rem .4rem .4rem 1.3rem;
  border: 1px solid #3a3226; border-radius: 999px; background: rgba(16,23,27,.85); backdrop-filter: blur(8px); box-shadow: 0 0 0 0 rgba(201,140,90,.0), 0 20px 60px -30px rgba(0,0,0,.9); transition: border-color .3s, box-shadow .3s; }
.askbar:focus-within { border-color: var(--gold); box-shadow: 0 0 0 5px rgba(201,140,90,.12), 0 20px 60px -30px rgba(0,0,0,.9); }
.askbar input { flex: 1; min-width: 0; background: none; border: 0; outline: none; color: var(--text); font: 400 1.02rem var(--sans); padding: .7rem 0; }
.askbar input::placeholder { color: var(--dim); font-style: italic; font-family: var(--serif); font-size: 1.15rem; }
.askbar__mic, .askbar__go { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line-2); background: none; color: var(--text); cursor: pointer; display: grid; place-items: center; transition: all .3s; }
.askbar__mic svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.askbar__mic.rec { border-color: #e98b7b; color: #e98b7b; animation: pulse 1s infinite; }
.askbar__go { background: var(--copper); background-size: 200% 100%; border: 0; color: #160f08; font-size: 1.1rem; }
.askbar__mic:hover { border-color: var(--gold); color: var(--gold-2); }
.chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-bottom: 1.4rem; }
.chips button { font: 400 .78rem var(--sans); color: var(--muted); background: rgba(255,255,255,.03); border: 1px solid var(--line-2); border-radius: 999px; padding: .45rem .9rem; cursor: pointer; transition: all .3s; }
.chips button:hover { color: var(--gold-2); border-color: var(--gold); }
.reply { width: min(640px, 92vw); margin: 0 auto 2.4rem; text-align: left; border: 1px solid var(--line-2); border-radius: 18px; padding: 1.1rem 1.3rem;
  background: linear-gradient(135deg, rgba(255,255,255,.04), transparent 50%), var(--titanium); animation: pop .5s var(--ease); }
.reply__who { font-size: .62rem; letter-spacing: .3em; color: var(--gold-2); }
.reply__text { margin-top: .4rem; font-family: var(--serif); font-size: 1.25rem; line-height: 1.4; }
.reply__go { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .9rem; }
.reply__go a { font-size: .8rem; padding: .5rem .95rem; border-radius: 999px; border: 1px solid var(--line-2); color: var(--text); transition: all .3s; }
.reply__go a:first-child { background: var(--copper); background-size: 200% 100%; color: #160f08; border: 0; }
.reply__go a:hover { border-color: var(--gold); }
.focus-glow { animation: focusGlow 2.4s var(--ease); border-radius: 26px; }
@keyframes focusGlow { 0% { box-shadow: 0 0 0 0 rgba(201,140,90,0); } 25% { box-shadow: 0 0 0 3px rgba(201,140,90,.55), 0 0 80px rgba(201,140,90,.25); } 100% { box-shadow: 0 0 0 0 rgba(201,140,90,0); } }
.devs__grid li.hit { color: var(--gold-2); background: radial-gradient(circle, rgba(201,140,90,.18), transparent 70%); }

/* Hero tightened so the Ask bar sits above the fold */
.hero { padding-top: 6.5rem; }
.hero__title { font-size: clamp(2.3rem, 5.2vw, 4.4rem); margin-bottom: 1.6rem; }
.orb { width: 170px; height: 170px; margin-bottom: 1rem; }
.orb__rings { inset: -30px; width: calc(100% + 60px); height: calc(100% + 60px); }
.orb__mic { width: 74px; height: 74px; }
.orb__mic svg { width: 28px; height: 28px; }
.ayat { margin-top: 2rem; }
.ayat__name { font-size: 1.35rem; }

/* ---------- AYAT idle humming ---------- */
.orb { position: relative; }
.hum { position: relative; z-index: 3; margin: 1.2rem auto 0; display: inline-flex; align-items: center; gap: .7rem; max-width: min(560px, 92vw);
  padding: .65rem .7rem .65rem 1rem; border-radius: 18px 18px 18px 4px; border: 1px solid #3a3226; background: rgba(16,23,27,.92);
  font-family: var(--serif); font-style: italic; font-size: 1.05rem; color: var(--text); animation: pop .5s var(--ease); text-align: left; }
.hum__notes { color: var(--gold-2); font-style: normal; animation: notes 1.2s ease-in-out infinite; }
@keyframes notes { 0%, 100% { transform: translateY(0) rotate(-6deg); } 50% { transform: translateY(-5px) rotate(6deg); } }
.hum__stop { flex: none; font: 500 .7rem var(--sans); color: var(--muted); background: none; border: 1px solid var(--line-2); border-radius: 999px; padding: .35rem .7rem; cursor: pointer; }
.hum__task { background: var(--copper); background-size: 200% 100%; color: #160f08; border: 0; }
.hum__stop:hover { color: var(--gold-2); border-color: var(--gold); }
.orb.humming { animation: bob 1.1s ease-in-out infinite; }
.orb.humming .wave i { animation-duration: .55s; }
@keyframes bob { 0%, 100% { transform: translateY(0) rotate(0); } 25% { transform: translateY(-6px) rotate(-3deg); } 75% { transform: translateY(-2px) rotate(3deg); } }
@media (prefers-reduced-motion: reduce) { .orb.humming { animation: none; } }

/* ---------- Legal pages ---------- */
.page main { position: relative; z-index: 1; }
.legal { width: min(760px, 92vw); margin: 0 auto; padding: 9rem 0 6rem; }
.legal h1 { font-size: clamp(2.4rem, 5vw, 3.6rem); font-weight: 400; margin-bottom: .6rem; }
.legal h2 { font-size: 1.6rem; margin: 2.4rem 0 .7rem; color: var(--gold-2); }
.legal p, .legal li { color: #c9c6be; }
.legal ul { padding-left: 1.2rem; display: grid; gap: .5rem; }
.legal b { color: var(--text); font-weight: 500; }
.legal__meta { color: var(--dim) !important; font-size: .8rem; margin-bottom: 2rem; }
.form__legal { font-size: .72rem; color: var(--dim); }
.form__legal a, .footer__note a { color: var(--muted); border-bottom: 1px solid var(--line-2); }

/* =====================================================================
   Multi-page structure (13 Nov): page headers, departments, AYAT dock
   ===================================================================== */
.nav__links a[aria-current="page"] { color: var(--gold-2); }
.nav__links a[aria-current="page"]::after { left: 0; right: 0; }

/* Page header for inner pages */
.pagehead { position: relative; text-align: center; padding: 10rem 4vw 4rem; width: min(980px, 100%); margin: 0 auto; }
.pagehead::before { content: ""; position: absolute; left: 50%; top: 45%; width: 760px; height: 760px; transform: translate(-50%, -50%); background: radial-gradient(circle, rgba(201,140,90,.13), transparent 62%); pointer-events: none; z-index: -1; }
.pagehead h1 { font-size: clamp(2.6rem, 6vw, 5rem); font-weight: 300; line-height: 1.04; }
.pagehead h1 em { font-style: italic; }
.pagehead .lede { max-width: 680px; margin: 0 auto; font-size: 1.12rem; }
.crumbs { display: flex; justify-content: center; gap: .6rem; color: var(--dim); margin-bottom: 2rem; font-size: .6rem; }
.crumbs a { color: var(--muted); transition: color .3s; }
.crumbs a:hover { color: var(--gold-2); }

/* Departments grid on the home page */
.depts { width: var(--wrap); margin: 0 auto; padding: clamp(6rem, 11vw, 9rem) 0 2rem; }
.depts__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; margin-top: 3.5rem; }
.dept { position: relative; display: flex; flex-direction: column; gap: .7rem; min-height: 240px; padding: 2rem 1.8rem; border-radius: 22px; border: 1px solid var(--line-2); overflow: hidden;
  background: radial-gradient(70% 60% at 100% 0%, rgba(201,140,90,.10), transparent 70%), linear-gradient(135deg, rgba(255,255,255,.035), transparent 45%), var(--titanium);
  transition: transform .5s var(--ease), border-color .4s, box-shadow .5s var(--ease), opacity .9s var(--ease); }
.dept .mono { color: var(--gold); }
.dept h3 { font-size: 2rem; font-weight: 400; }
.dept p { color: var(--muted); font-size: .92rem; max-width: 34ch; }
.dept i { position: absolute; right: 1.6rem; bottom: 1.4rem; font-style: normal; font-size: 1.4rem; color: var(--gold-2); transition: transform .4s var(--ease); }
.dept::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 30%, rgba(240,220,184,.10) 50%, transparent 70%); transform: translateX(-120%); transition: transform 1s var(--ease); }
.dept:hover { transform: translateY(-6px); border-color: rgba(201,140,90,.55); box-shadow: 0 30px 70px -35px rgba(201,140,90,.45); }
.dept:hover::after { transform: translateX(120%); }
.dept:hover i { transform: translateX(6px); }

/* Guided steps (investors, developers) */
.guided { width: var(--wrap); margin: 0 auto; padding: clamp(5rem, 9vw, 8rem) 0 2rem; }
.guided__steps { list-style: none; margin: 3.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0; border-top: 1px solid var(--line-2); }
.guided__steps li { padding: 1.8rem 1.4rem 0 0; display: grid; gap: .4rem; border-right: 1px solid var(--line); }
.guided__steps li:last-child { border-right: 0; }
.guided__steps li + li { padding-left: 1.4rem; }
.guided__steps span { font-family: var(--serif); font-size: 2.6rem; font-weight: 300; line-height: 1; background: var(--copper); -webkit-background-clip: text; background-clip: text; color: transparent; }
.guided__steps b { font-family: var(--serif); font-size: 1.5rem; font-weight: 400; }
.guided__steps small { color: var(--muted); font-size: .86rem; }

/* Campaign planner card */
.planner { border: 1px solid var(--line-2); border-radius: 20px; padding: 1.6rem; background: linear-gradient(135deg, rgba(255,255,255,.04), transparent 50%), var(--titanium); }
.planner__opts { display: grid; gap: .7rem; }
.opt { display: grid; gap: .2rem; padding: 1rem 1.2rem; border-radius: 12px; border: 1px solid var(--line); background: rgba(255,255,255,.02); }
.opt b { font-weight: 500; }
.opt small { color: var(--muted); }
.opt .mono { color: var(--dim); font-size: .58rem; margin-top: .3rem; }
.opt--best { border-color: var(--gold); box-shadow: 0 0 40px -12px rgba(201,140,90,.45); }
.opt--best b::after { content: "  · recommended"; color: var(--gold-2); font-weight: 400; font-size: .8rem; }
.planner__note { margin-top: 1rem; font-size: .78rem; color: var(--dim); }

/* Single door (investors / agents pages) */
.doors--single { grid-template-columns: 1fr; width: min(760px, 92vw); padding-bottom: 2rem; }

/* Call-to-action band */
.ctaband { width: var(--wrap); margin: clamp(4rem, 8vw, 7rem) auto clamp(5rem, 9vw, 8rem); text-align: center; padding: clamp(3rem, 6vw, 5rem) 2rem; border-radius: 28px; border: 1px solid #3a3226;
  background: radial-gradient(60% 80% at 50% 0%, rgba(201,140,90,.16), transparent 70%), var(--titanium); }
.ctaband h2 { font-size: clamp(2.2rem, 4.4vw, 3.4rem); font-weight: 300; }
.ctaband p { color: var(--muted); margin: .8rem 0 1.8rem; }

/* AYAT dock — floating on every inner page */
.dock { position: fixed; right: clamp(1rem, 3vw, 2rem); bottom: clamp(1rem, 3vw, 2rem); z-index: 70; display: flex; flex-direction: column; align-items: flex-end; gap: .9rem; }
.orb--mini { width: 68px; height: 68px; margin: 0; border: 0; border-radius: 50%; padding: 0; cursor: pointer; display: grid; place-items: center; background: none; }
.orb--mini .orb__mic { position: static; transform: none; width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; }
.orb--mini .orb__mic svg { width: 24px; height: 24px; }
.orb--mini .wave { bottom: -8px; height: 12px; gap: 3px; }
.orb--mini .wave i { width: 2px; }
.orb--mini[aria-expanded="true"] .orb__mic { box-shadow: 0 0 0 4px rgba(201,140,90,.25), 0 0 50px rgba(201,140,90,.55); }
.dock__panel { width: min(420px, calc(100vw - 2rem)); max-height: calc(100vh - 140px); overflow: auto; padding: 1.2rem; border-radius: 22px; border: 1px solid #3a3226;
  background: linear-gradient(135deg, rgba(255,255,255,.05), transparent 50%), rgba(10,15,18,.96); backdrop-filter: blur(14px); box-shadow: 0 40px 90px -30px rgba(0,0,0,.9); animation: pop .4s var(--ease); }
.dock__title { display: flex; align-items: baseline; gap: .7rem; margin-bottom: .4rem; }
.dock__title .ayat__name { font-size: 1.15rem; }
.dock .askbar { width: 100%; margin: .8rem 0; }
.dock .chips { justify-content: flex-start; margin-bottom: .6rem; }
.dock .reply { width: 100%; margin: .4rem 0 0; }
.dock .hum { margin: .6rem 0 0; }

/* Rich footer */
.footer--rich { display: block; padding: 3.5rem 0 2.4rem; }
.footer__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--line); }
.footer__brand { display: flex; flex-direction: column; gap: .3rem; text-transform: none; letter-spacing: normal; }
.footer__brand .brand__name { font-family: var(--serif); font-size: 1.6rem; letter-spacing: .05em; color: var(--text); }
.footer__brand p { font-size: .82rem; color: var(--muted); margin-top: .6rem; }
.footer__brand b { color: var(--gold-2); font-weight: 500; }
.footer__nav { display: grid; gap: .55rem; align-content: start; font-size: .82rem; letter-spacing: .02em; text-transform: none; }
.footer--rich .footer__note { margin-top: 1.4rem; text-align: left; font-size: .72rem; }

@media (max-width: 900px) {
  .depts__grid { grid-template-columns: 1fr 1fr; }
  .footer__top { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .depts__grid { grid-template-columns: 1fr; }
  .guided__steps li { border-right: 0; border-bottom: 1px solid var(--line); padding: 1.2rem 0 !important; }
  .pagehead { padding-top: 8rem; }
}
.reply__list { margin: .8rem 0 0; padding-left: 1.1rem; display: grid; gap: .5rem; font-size: .86rem; color: #cfccc4; }
.reply__list a, .reply__src { font-size: .72rem; color: var(--gold-2); border-bottom: 1px solid rgba(201,140,90,.4); margin-left: .2rem; }
.reply__src { border: 0; color: var(--dim); }
.reply__take { margin-top: .8rem; font-family: var(--serif); font-style: italic; color: var(--gold-2); }

/* Live DLD tracker */
.tracker { width: var(--wrap); margin: 0 auto; padding: clamp(4rem, 8vw, 7rem) 0 2rem; }
.kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 3rem 0 1.4rem; }
.kpi { padding: 1.4rem 1.5rem; border-radius: 18px; border: 1px solid var(--line-2); background: linear-gradient(135deg, rgba(255,255,255,.04), transparent 50%), var(--titanium); display: grid; gap: .4rem; }
.kpi .mono { color: var(--dim); font-size: .58rem; }
.kpi b { font-family: var(--serif); font-weight: 400; font-size: 2.2rem; line-height: 1; background: var(--copper); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; }
.tables { display: grid; grid-template-columns: 1fr 1.3fr; gap: 1rem; }
.tbl { border: 1px solid var(--line-2); border-radius: 18px; padding: 1.2rem; background: var(--titanium); overflow-x: auto; }
.tbl__t { color: var(--gold); margin-bottom: .8rem; font-size: .6rem; }
.tbl table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.tbl th { text-align: left; font-weight: 500; color: var(--dim); font-size: .7rem; padding: .5rem .4rem; border-bottom: 1px solid var(--line-2); white-space: nowrap; }
.tbl td { padding: .55rem .4rem; border-bottom: 1px solid var(--line); color: #d6d3cb; }
.tbl tr:hover td { background: rgba(201,140,90,.05); }
.tbl__empty { color: var(--dim) !important; font-style: italic; text-align: center; padding: 1.6rem !important; }
.tbl__src { color: var(--dim); font-size: .58rem; margin-top: 1rem; text-transform: none; letter-spacing: .02em; }
@media (max-width: 900px) { .kpis { grid-template-columns: 1fr 1fr; } .tables { grid-template-columns: 1fr; } }

/* Daily Pulse (home, under AYAT) */
.pulse { width: var(--wrap); margin: 0 auto; padding: clamp(3rem, 6vw, 5rem) 0 1rem; scroll-margin-top: 90px; }
.pulse__head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: .4rem 2rem; }
.pulse__head .eyebrow { grid-column: 1 / -1; display: flex; align-items: center; gap: .6rem; margin-bottom: .4rem; }
.pulse__head h2 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 300; }
.pulse__date { color: var(--muted); font-size: .62rem; }
.pulse__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); animation: pulse 1.6s infinite; }
.pulse .kpis { margin: 2rem 0 1rem; }
.kpi small { color: var(--dim); font-size: .72rem; }
.kpi__txt { font-size: 1.6rem !important; }
.pulse__grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 1rem; }
.pulse__brief, .pulse__side { border: 1px solid var(--line-2); border-radius: 18px; padding: 1.5rem; background: linear-gradient(135deg, rgba(255,255,255,.04), transparent 50%), var(--titanium); }
.pulse__brief h3 { font-size: 1.6rem; font-weight: 400; margin-bottom: 1rem; }
.pulse__list { margin: 0; padding-left: 1.1rem; display: grid; gap: .6rem; color: #cfccc4; font-size: .9rem; }
.pulse__list a { color: var(--gold-2); font-size: .72rem; border-bottom: 1px solid rgba(201,140,90,.4); margin-left: .2rem; }
.pulse__take { margin-top: 1rem; font-family: var(--serif); font-style: italic; font-size: 1.15rem; color: var(--gold-2); }
.pulse__areas { list-style: none; margin: 0 0 1.2rem; padding: 0; display: grid; gap: .1rem; counter-reset: a; }
.pulse__areas li { display: grid; grid-template-columns: 1.6rem 1fr auto auto; gap: .6rem; align-items: baseline; padding: .55rem 0; border-bottom: 1px solid var(--line); font-size: .88rem; }
.pulse__areas li::before { counter-increment: a; content: counter(a, decimal-leading-zero); font-family: var(--mono); font-size: .62rem; color: var(--gold); }
.pulse__areas li.tbl__empty { display: block; border: 0; }
.pulse__areas li.tbl__empty::before { content: none; }
.pulse__areas b { font-weight: 500; }
.pulse__areas small { color: var(--dim); }
.pulse__more { width: 100%; }
@media (max-width: 900px) { .pulse__grid { grid-template-columns: 1fr; } .pulse__head { grid-template-columns: 1fr; } }

/* Language picker + translation */
.lang { position: relative; }
.lang__btn { display: flex; align-items: center; gap: .4rem; background: none; border: 1px solid var(--line-2); border-radius: 999px; padding: .42rem .75rem; color: var(--muted); cursor: pointer; font-size: .6rem; transition: border-color .3s, color .3s; }
.lang__btn:hover, .lang__btn[aria-expanded="true"] { border-color: var(--gold); color: var(--gold-2); }
.lang__btn svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.lang__menu { position: absolute; top: calc(100% + .6rem); right: 0; z-index: 90; list-style: none; margin: 0; padding: .4rem; width: 220px; max-height: 60vh; overflow: auto;
  border: 1px solid #3a3226; border-radius: 16px; background: rgba(10,15,18,.97); backdrop-filter: blur(14px); box-shadow: 0 30px 70px -25px rgba(0,0,0,.9); }
.lang__menu li { padding: .5rem .8rem; border-radius: 10px; cursor: pointer; font-size: .88rem; color: #d6d3cb; }
.lang__menu li:hover { background: rgba(201,140,90,.1); color: var(--gold-2); }
.lang__menu li[aria-selected="true"] { color: var(--gold-2); }
/* hide Google's own bar and tooltips; keep our design */
.goog-te-banner-frame, .skiptranslate iframe, #goog-gt-tt, .goog-te-balloon-frame, .goog-tooltip, .goog-te-gadget { display: none !important; }
body { top: 0 !important; }
font[style*="background-color"] { background: none !important; box-shadow: none !important; }
/* right-to-left languages */
.rtl .nav__links, .rtl .hero__cta, .rtl .chips { direction: rtl; }
.rtl .pulse__list, .rtl .reply__list, .rtl .feats, .rtl .legal ul { padding-right: 1.1rem; padding-left: 0; }
.rtl .feats li { padding-left: 0; padding-right: 1.4rem; }
.rtl .feats li::before { left: auto; right: 0; }
.rtl .dock { right: auto; left: clamp(1rem, 3vw, 2rem); align-items: flex-start; }
.rtl .lang__menu { right: auto; left: 0; }
@media (max-width: 1080px) { .lang__btn span { display: none; } }

/* Ask in your own AI */
.reply__ai { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-top: .9rem; padding-top: .8rem; border-top: 1px solid rgba(255,255,255,.08); }
.reply__ai .mono { width: 100%; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.reply__ai a { padding: .38rem .8rem; border: 1px solid var(--line-2); border-radius: 999px; font-size: .82rem; color: var(--text); text-decoration: none; background: linear-gradient(135deg, rgba(255,255,255,.05), transparent); transition: border-color .2s, color .2s; }
.reply__ai a:hover { border-color: var(--gold); color: var(--text); }

/* AYAT Search */
.asearch { display: flex; align-items: center; gap: .7rem; max-width: 900px; margin: 1.6rem auto .8rem; padding: .5rem .5rem .5rem 1.1rem; border: 1px solid var(--line-2); border-radius: 999px; background: linear-gradient(135deg, rgba(255,255,255,.05), transparent 60%), var(--panel); }
.asearch svg { width: 20px; height: 20px; fill: none; stroke: var(--gold); stroke-width: 1.8; flex: none; }
.asearch input { flex: 1; min-width: 0; background: none; border: 0; outline: 0; color: var(--text); font-size: 1rem; }
.asearch__chips { justify-content: center; }
.asearch__understood { text-align: center; color: var(--gold); font-size: .75rem; letter-spacing: .08em; margin: 1rem 0 0; }
.asearch__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; max-width: 1100px; margin: 1.4rem auto 0; }
.acard { border: 1px solid var(--line-2); border-radius: 18px; padding: 1.2rem; background: linear-gradient(135deg, rgba(255,255,255,.04), transparent 50%), var(--panel); display: flex; flex-direction: column; }
.acard__k { font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0; }
.acard h3 { font-size: 1.25rem; font-weight: 400; margin: .3rem 0 .2rem; }
.acard__dev { color: var(--muted); font-size: .88rem; margin: 0 0 .6rem; }
.acard ul { list-style: none; padding: 0; margin: 0 0 1rem; color: var(--muted); font-size: .9rem; line-height: 1.6; }
.acard__go { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; }
.acard__go a { color: var(--gold); font-size: .85rem; }
.agentpop { position: fixed; inset: 0; z-index: 90; background: rgba(5,8,10,.72); backdrop-filter: blur(6px); display: grid; place-items: center; padding: 1rem; }
.agentpop[hidden] { display: none; }
.agentpop__card { position: relative; width: min(520px, 100%); border: 1px solid var(--line-2); border-radius: 20px; padding: 1.6rem; background: var(--panel); }
.agentpop__card h3 { font-weight: 400; margin: .2rem 0 1rem; }
.agentpop__x { position: absolute; top: .8rem; right: 1rem; background: none; border: 0; color: var(--muted); font-size: 1.6rem; cursor: pointer; }
.agentpop .hp { position: absolute; left: -9999px; }
.agentpop .check { display: flex; gap: .5rem; align-items: center; font-size: .88rem; color: var(--muted); margin: .4rem 0 1rem; }
@media (max-width: 600px) { .asearch { border-radius: 18px; flex-wrap: wrap; } .asearch .btn { width: 100%; } }
.btn--sm { padding: .45rem .9rem; font-size: .8rem; }
.row2 { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
@media (max-width: 600px) { .row2 { grid-template-columns: 1fr; } }
.agentpop .field { margin-bottom: .8rem; }

.asearch__ask { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 2.2rem; max-width: 1000px; margin: .4rem auto 1rem; }
.asearch__ask fieldset { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; justify-content: center; }
.asearch__ask legend { width: 100%; text-align: center; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: .45rem; }
.asearch__ask label input { position: absolute; opacity: 0; pointer-events: none; }
.asearch__ask label span { display: inline-block; padding: .38rem .8rem; border: 1px solid var(--line-2); border-radius: 999px; font-size: .82rem; color: var(--muted); cursor: pointer; transition: border-color .2s, color .2s, background .2s; }
.asearch__ask label input:checked + span { border-color: var(--gold); color: var(--text); background: rgba(184,134,91,.12); }
.asearch__ask label input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 2px; }

/* ===== Inside JP World showcase ===== */
.showcase__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.1rem; max-width: 1160px; margin: 2rem auto 0; padding: 0 1.2rem; }
.sc { position: relative; display: flex; flex-direction: column; gap: .5rem; padding: 1.3rem; border: 1px solid var(--line-2); border-radius: 20px; background: linear-gradient(140deg, rgba(255,255,255,.045), transparent 55%), var(--panel); color: inherit; text-decoration: none; transition: border-color .3s, transform .3s; }
.sc:hover { border-color: var(--gold); transform: translateY(-2px); }
.sc h3 { font-size: 1.3rem; font-weight: 400; margin: .3rem 0 0; }
.sc p { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.55; }
.sc i { margin-top: auto; color: var(--gold); font-style: normal; }
.sc__tag { align-self: flex-start; font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; padding: .25rem .6rem; border: 1px solid var(--line-2); border-radius: 999px; color: var(--muted); }
.sc__tag--live { color: #9fd3a8; border-color: rgba(120,190,130,.45); }
.sc__vis { width: 100%; height: 110px; margin: .4rem 0; }
.sc__vis rect, .sc__vis circle { fill: rgba(255,255,255,.07); stroke: rgba(255,255,255,.12); }
.sc__vis .hi { fill: rgba(184,134,91,.28); stroke: var(--gold); }
.sc__vis .ring { fill: none; stroke: rgba(255,255,255,.14); }
.sc__vis .sweep, .sc__vis .tick { stroke: var(--gold); stroke-width: 2; fill: none; }
.sc__vis .axis { stroke: rgba(255,255,255,.18); fill: none; }
.sc__vis .line { stroke: var(--gold); stroke-width: 2; fill: none; }
.sc__vis .line2 { stroke: rgba(200,210,215,.45); stroke-width: 1.5; fill: none; stroke-dasharray: 4 4; }

/* ===== Capabilities (agents, about) ===== */
.caps__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; max-width: 1160px; margin: 2rem auto 0; padding: 0 1.2rem; }
.cap { padding: 1.2rem; border: 1px solid var(--line-2); border-radius: 18px; background: var(--panel); }
.cap h3 { font-size: 1.15rem; font-weight: 400; margin: .5rem 0 .3rem; }
.cap p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.cap a { color: var(--gold); }
.cap__st { font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: #9fd3a8; }
.cap__st--soon { color: var(--gold); }

/* ===== AYAT Discovery ===== */
.disc { max-width: 900px; margin: 1.8rem auto 0; padding: 0 1.2rem; }
.disc__stages { display: flex; justify-content: space-between; gap: .4rem; list-style: none; padding: 0; margin: 0 0 1rem; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.disc__stages li { flex: 1; display: flex; align-items: center; gap: .45rem; padding-top: .6rem; border-top: 2px solid var(--line-2); }
.disc__stages li span { display: inline-grid; place-items: center; width: 1.4rem; height: 1.4rem; border-radius: 50%; border: 1px solid var(--line-2); font-size: .65rem; }
.disc__stages li.on { color: var(--text); border-top-color: var(--gold); }
.disc__stages li.on span { border-color: var(--gold); background: rgba(184,134,91,.15); }
.disc__stages li.done { color: var(--muted); border-top-color: var(--line-2); }
.disc__card { border: 1px solid var(--line-2); border-radius: 22px; padding: 1.6rem; background: linear-gradient(140deg, rgba(255,255,255,.04), transparent 55%), var(--panel); min-height: 220px; }
.disc__q { font-family: "Cormorant Garamond", serif; font-size: 1.7rem; margin: 0 0 .5rem; color: var(--text); }
.disc__why { margin: 0 0 1.1rem; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.disc__why b { color: var(--gold); font-weight: 500; }
.disc__opts { display: flex; flex-wrap: wrap; gap: .5rem; }
.disc__opt { padding: .6rem 1rem; border: 1px solid var(--line-2); border-radius: 999px; background: transparent; color: var(--text); font: inherit; font-size: .92rem; cursor: pointer; transition: border-color .2s, background .2s; }
.disc__opt:hover { border-color: var(--gold); }
.disc__opt.on { border-color: var(--gold); background: rgba(184,134,91,.16); color: var(--text); }
.disc__text { width: 100%; padding: .8rem 1rem; border-radius: 12px; border: 1px solid var(--line-2); background: var(--panel); color: var(--text); font: inherit; }
.disc__nav { display: flex; justify-content: space-between; align-items: center; gap: .8rem; margin-top: 1.4rem; }
.disc__nav span { display: flex; gap: .6rem; align-items: center; }
.disc__back, .disc__skip { background: none; border: 0; color: var(--muted); font: inherit; font-size: .88rem; cursor: pointer; }
.disc__back[disabled] { opacity: .35; cursor: default; }
.disc__matches { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: .9rem; }
.disc__reason { font-size: .84rem; color: var(--muted); line-height: 1.5; margin: 0 0 .8rem; }
.disc__reason b { color: var(--gold); font-weight: 500; }
.disc__form .check { display: flex; gap: .5rem; align-items: flex-start; font-size: .86rem; color: var(--muted); margin: .5rem 0; }
.disc__form .check a { color: var(--gold); }
.disc__form .hp { position: absolute; left: -9999px; }
.disc__form .field { margin-bottom: .8rem; }
@media (max-width: 600px) { .disc__stages { font-size: 0; } .disc__stages li { justify-content: center; } .disc__q { font-size: 1.4rem; } }


/* =====================================================================
   THE JP WORLD LEDGER — newspaper edition (matches the Ledger reels)
   Cream newsprint · black display serif · rust kickers and figures ·
   boxed exhibits · dateline · handwritten note · black ticker band
   ===================================================================== */
:root {
  --bg: #ebe6dd; --bg-2: #e4ded3; --panel: #f4f0e8; --panel-2: #efe9df;
  --line: #d3cabc; --line-2: #1b1b1b; --text: #151515; --muted: #4c4741; --dim: #7a7268;
  --gold: #c2532b; --gold-2: #a8441f; --gold-glow: rgba(194,83,43,.12); --rust: #c2532b; --ink: #151515;
  --serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --display: "Playfair Display", Georgia, serif;
  --hand: "Caveat", "Bradley Hand", cursive;
}
body { background-color: var(--bg); color: var(--ink); font-weight: 400;
  background-image: radial-gradient(rgba(0,0,0,.035) 1px, transparent 1px), radial-gradient(rgba(0,0,0,.025) 1px, transparent 1px);
  background-size: 3px 3px, 7px 7px; background-position: 0 0, 1px 2px; }
#field, .glow, .boot, .hero .orb, .orb__rings, .proof { display: none !important; }
body.booting { overflow: auto; }
::selection { background: var(--rust); color: #fff; }

/* type */
h1, h2, h3 { font-family: var(--display); color: var(--ink); letter-spacing: -.01em; }
h1, h2 { font-weight: 900; }
h3 { font-weight: 700; }
em { font-style: normal; }
.gold, em.gold { color: var(--ink); font-style: normal; }
.eyebrow, .mono.tbl__t, .acard__k, .sc__tag, .cap__st, .crumbs { font-family: var(--sans) !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--rust) !important; font-size: .7rem; }
.lede, .ledger__deck, .disc__why, .pulse__take { font-family: var(--serif); font-style: italic; color: var(--muted); }
.rule { display: block; height: 0; border-top: 2px solid var(--ink); background: none; width: 100%; max-width: 100%; }
.mono { color: var(--dim); }

/* dateline + masthead + section strip */
.dateline { display: flex; justify-content: space-between; gap: 1rem; max-width: var(--wrap); margin: 0 auto; padding: .7rem 0 .45rem; font-family: var(--sans); font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); }
.nav { position: relative !important; display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; row-gap: .5rem; max-width: var(--wrap); margin: 0 auto; padding: .4rem 0 0 !important; background: transparent !important; border: 0 !important; backdrop-filter: none !important; box-shadow: none !important; }
.nav .brand { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; align-items: center; text-align: center; }
.nav .brand__name { font-family: var(--display) !important; font-weight: 900; font-size: clamp(2rem, 5.4vw, 3.6rem); letter-spacing: -.02em; text-transform: none; color: var(--ink); line-height: 1; }
.nav .brand__tag { font-family: var(--sans); font-weight: 600; font-size: .62rem; letter-spacing: .32em; text-transform: uppercase; color: var(--ink); margin-top: .3rem; }
.nav .lang { grid-column: 1; grid-row: 1; justify-self: start; }
.nav .sound { grid-column: 3; grid-row: 1; justify-self: end; color: var(--ink); border-color: var(--ink); }
.nav .nav__live { display: none; }
.nav__links { grid-column: 1 / -1; grid-row: 2; display: flex; justify-content: center; flex-wrap: wrap; gap: .2rem 1.3rem; padding: .55rem 0; border-top: 3px double var(--ink); border-bottom: 1px solid var(--ink); }
.nav__links a { font-family: var(--sans); font-weight: 600; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink) !important; opacity: 1; }
.nav__links a[aria-current="page"] { color: var(--rust) !important; }
.nav__links .btn { padding: .3rem .8rem !important; }
.lang__btn { color: var(--ink); border-color: var(--ink); }
.lang__menu { background: var(--panel); border: 1px solid var(--ink); color: var(--ink); }
@media (max-width: 860px) {
  .nav { grid-template-columns: auto 1fr auto; }
  .nav .brand { grid-column: 1 / -1; }
  .nav .lang, .nav .sound { grid-row: 2; }
  .nav__toggle { grid-column: 2; grid-row: 2; justify-self: center; }
  .nav__toggle span { background: var(--ink) !important; }
  .nav__links { grid-row: 3; background: var(--bg) !important; }
  .dateline span:nth-child(3) { display: none; }
}

/* ticker band */
.ticker { background: var(--ink); color: #f1ece3; overflow: hidden; white-space: nowrap; border-top: 1px solid var(--ink); }
.ticker__track { display: inline-block; padding: .55rem 0; font-family: var(--sans); font-weight: 700; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; animation: tick 60s linear infinite; }
.ticker__track span { padding: 0 1.4rem; }
.ticker__track span::after { content: "·"; padding-left: 1.4rem; color: var(--rust); }
@keyframes tick { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ticker__track { animation: none; } }
.marquee { background: var(--ink); color: #f1ece3; border: 0; }
.marquee span { font-family: var(--sans); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; font-size: .72rem; color: #f1ece3; }

/* hero = front page */
.hero { min-height: auto !important; padding: 2.2rem 0 2rem !important; text-align: left; max-width: var(--wrap); margin: 0 auto; }
.hero__title { font-size: clamp(2.6rem, 6.6vw, 5.4rem) !important; line-height: .98 !important; font-weight: 900; text-align: left; }
.hero__title .line, .hero__title em { display: inline; font-style: normal; color: var(--ink); }
.hero__title .line--gold { color: var(--ink); }
.hero .eyebrow { text-align: left; }
.hero .ayat, .hero .chips, .hero .hero__cta { justify-content: flex-start; text-align: left; }
.ayat__name { font-family: var(--display); font-weight: 900; color: var(--ink); letter-spacing: .02em; }
.ayat__tag { color: var(--muted); }

/* AYAT ask box = boxed exhibit */
.askbar { background: var(--panel) !important; border: 1.5px solid var(--ink) !important; border-radius: 0 !important; box-shadow: none !important; }
.askbar input { color: var(--ink) !important; font-family: var(--serif); font-style: italic; }
.askbar input::placeholder { color: var(--dim); }
.askbar__go, .askbar__mic { color: var(--ink) !important; border-color: var(--ink) !important; background: transparent !important; }
.askbar__go { background: var(--ink) !important; color: #f1ece3 !important; border-radius: 0 !important; }
.chips button, .asearch__ask label span, .disc__opt { background: transparent !important; border: 1px solid var(--ink) !important; color: var(--ink) !important; border-radius: 0 !important; font-family: var(--sans); }
.chips button:hover, .disc__opt:hover { background: var(--ink) !important; color: #f1ece3 !important; }
.disc__opt.on, .asearch__ask label input:checked + span { background: var(--rust) !important; border-color: var(--rust) !important; color: #fff !important; }
.reply { background: var(--panel) !important; border: 1.5px solid var(--ink) !important; border-radius: 0 !important; color: var(--ink); box-shadow: none !important; }
.reply__who { color: var(--rust) !important; font-family: var(--sans); font-weight: 700; letter-spacing: .14em; }
.reply__text { font-family: var(--serif); color: var(--ink) !important; }
.reply__go a, .reply__ai a { border-radius: 0 !important; border-color: var(--ink) !important; color: var(--ink) !important; background: transparent !important; }

/* buttons */
.btn { border-radius: 0 !important; font-family: var(--sans); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: .74rem; box-shadow: none !important; }
.btn--gold { background: var(--ink) !important; color: #f1ece3 !important; border: 1.5px solid var(--ink) !important; }
.btn--gold:hover { background: var(--rust) !important; border-color: var(--rust) !important; }
.btn--ghost { background: transparent !important; color: var(--ink) !important; border: 1.5px solid var(--ink) !important; }

/* exhibits: every card, table and panel is a boxed exhibit */
.sc, .cap, .acard, .kpi, .tbl, .disc__card, .pulse__brief, .pulse__side, .door, .dept, .story, .agentpop__card, .m-panel, .m-card, .phone, .trio__item, .search, .planner, .reply, .hum {
  background: var(--panel) !important; border: 1.5px solid var(--ink) !important; border-radius: 0 !important; box-shadow: none !important; color: var(--ink);
}
.sc:hover, .dept:hover { transform: none; border-color: var(--rust) !important; }
.sc p, .cap p, .acard__dev, .acard ul, .dept p, .story p, .disc__reason, .tbl td { color: var(--muted) !important; }
.sc i, .dept i { color: var(--rust); }
.sc__vis rect, .sc__vis circle { fill: rgba(0,0,0,.06); stroke: rgba(0,0,0,.35); }
.sc__vis .hi { fill: rgba(194,83,43,.22); stroke: var(--rust); }
.sc__vis .ring, .sc__vis .axis { stroke: rgba(0,0,0,.35); }
.sc__vis .line, .sc__vis .sweep, .sc__vis .tick { stroke: var(--rust); }
.sc__vis .line2 { stroke: rgba(0,0,0,.45); }
.sc__tag { border-radius: 0 !important; border-color: var(--rust) !important; }
.sc__tag--live, .cap__st { color: #1f6b3a !important; border-color: #1f6b3a !important; }
.cap__st--soon { color: var(--rust) !important; }
.kpi b, .acard ul li:first-child, .proof__n { font-family: var(--display); font-weight: 900; color: var(--rust) !important; }
.kpi span, .kpi small { color: var(--muted) !important; }
table { color: var(--ink); }
th { font-family: var(--sans); font-weight: 600; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--dim) !important; border-bottom: 1px solid var(--ink) !important; }
td { border-bottom: 1px solid var(--line) !important; font-family: var(--serif); }
.tbl__src, .footer__note { font-family: var(--sans); font-size: .66rem !important; color: var(--dim) !important; }
.acard h3, .sc h3, .cap h3, .dept h3, .story h3 { font-family: var(--display); font-weight: 800; color: var(--ink); }
.acard__go a, .disc__reason b, .disc__why b { color: var(--rust) !important; }
.disc__q { font-family: var(--display) !important; font-weight: 900; color: var(--ink) !important; }
.disc__stages li { border-top-color: var(--line) !important; color: var(--dim) !important; }
.disc__stages li.on { border-top-color: var(--rust) !important; color: var(--rust) !important; }
.disc__stages li.done { border-top-color: var(--ink) !important; color: var(--ink) !important; }
.disc__stages li span { border-color: currentColor !important; background: transparent !important; }
.disc__text, .field input, .field textarea, .field select, .asearch input, .m-connect input { background: #fbf9f4 !important; color: var(--ink) !important; border: 1px solid var(--ink) !important; border-radius: 0 !important; }
.asearch { background: var(--panel) !important; border: 1.5px solid var(--ink) !important; border-radius: 0 !important; }
.asearch svg { stroke: var(--ink); }
.field span { color: var(--dim) !important; }
.check, .disc__form .check { color: var(--muted) !important; }
.agentpop { background: rgba(21,21,21,.45) !important; }
.hum, .hum__stop { color: var(--ink); border-color: var(--ink) !important; border-radius: 0 !important; }

/* handwritten note, like the reels */
.hand { font-family: var(--hand); font-size: 1.45rem; color: var(--rust); line-height: 1.2; }

/* sections */
.chapter__head h2, .pagehead h1 { font-weight: 900; }
.pagehead { text-align: left !important; max-width: var(--wrap); margin: 0 auto; padding-top: 2rem !important; }
.pagehead h1 { font-size: clamp(2.3rem, 5.4vw, 4.2rem) !important; line-height: 1.02 !important; }
.chapter, .pulse, .depts, .showcase, .caps, .ledger, .devs, .tracker, .guided, .trio, .doors, .ctaband { border-top: 1px solid var(--ink); }
.ctaband { background: transparent !important; }
.ctaband h2 em { color: var(--ink); }
.pulse__dot { background: var(--rust) !important; box-shadow: none !important; }
.pulse__list li, .pulse__areas li { color: var(--ink); border-color: var(--line) !important; }
.devs__grid li { background: var(--panel) !important; border: 1px solid var(--ink) !important; border-radius: 0 !important; color: var(--ink) !important; font-family: var(--display); font-weight: 700; }
.devs__grid li.hit { background: var(--rust) !important; color: #fff !important; }
.story__tag { color: var(--rust) !important; }
.soon { color: var(--dim) !important; }
.phone__head, .chat { color: var(--ink); }

/* featured edition video */
.edition { display: grid; grid-template-columns: minmax(260px, 360px) 1fr; gap: 2rem; align-items: start; max-width: var(--wrap); margin: 2rem auto 0; }
.edition video { width: 100%; aspect-ratio: 9 / 16; background: #111; border: 1.5px solid var(--ink); display: block; }
.edition figcaption { font-family: var(--sans); font-size: .66rem; color: var(--dim); margin-top: .4rem; }
.edition h3 { font-size: clamp(1.8rem, 3.2vw, 2.6rem); font-weight: 900; margin: .3rem 0 .4rem; }
.edition .exhibit { border: 1.5px solid var(--ink); background: var(--panel); padding: 1rem 1.1rem; margin-top: 1rem; }
.edition .exhibit table { width: 100%; border-collapse: collapse; }
.edition .exhibit td { padding: .45rem .2rem; }
.edition .exhibit td.n { font-family: var(--display); font-weight: 800; color: var(--rust); text-align: right; }
@media (max-width: 760px) { .edition { grid-template-columns: 1fr; } .edition video { max-width: 360px; margin: 0 auto; } }

/* footer */
.footer { background: transparent !important; border-top: 3px double var(--ink) !important; color: var(--ink); }
.footer .brand__name { font-family: var(--display); font-weight: 900; color: var(--ink); text-transform: none; font-size: 1.6rem; }
.footer a { color: var(--ink) !important; }
.footer p, .footer .brand__tag { color: var(--muted) !important; }

/* floating AYAT stamp */
.orb--mini { background: var(--ink) !important; border: 2px solid var(--rust) !important; box-shadow: none !important; }
.orb--mini .orb__mic svg { stroke: #f1ece3 !important; }
.dock__panel { background: var(--panel) !important; border: 1.5px solid var(--ink) !important; border-radius: 0 !important; color: var(--ink); box-shadow: 0 10px 30px rgba(0,0,0,.18) !important; }
.nav__links { margin: 0 !important; width: 100%; }
.nav__links .btn--gold { color: #f1ece3 !important; }
.nav__links .btn--gold:hover { color: #fff !important; }
.hero { display: flex; flex-direction: column; align-items: flex-start !important; text-align: left !important; }
.hero > * { margin-left: 0 !important; margin-right: 0 !important; text-align: left !important; }
.hero .askbar { width: min(680px, 100%); }
.hero .chips, .hero .hero__cta, .hero .ayat { justify-content: flex-start !important; }
.hero .reply { width: min(680px, 100%); }
#edition, #edition-ledger { display: block !important; max-width: var(--wrap); margin: 0 auto; padding: 3rem 0; }
.chapter__head { text-align: left !important; max-width: var(--wrap); margin-left: auto !important; margin-right: auto !important; }
.chapter__head .lede, .chapter__head h2, .chapter__head .eyebrow { text-align: left !important; margin-left: 0 !important; max-width: 820px; }
.showcase, .caps, .depts { padding: 3rem 0; }
.showcase__grid, .caps__grid { padding: 0; max-width: var(--wrap); }
.edition .hero__cta, .pagehead .hero__cta { justify-content: flex-start !important; margin-top: 1rem; }
.pagehead h1 em, .pagehead h1 .gold, h2 em, h2 .gold { font-style: normal !important; color: var(--ink) !important; }
.pagehead .lede, .pagehead .crumbs, .pagehead .eyebrow { margin-left: 0 !important; text-align: left !important; max-width: 760px; }
.pagehead .rule { margin-left: 0 !important; }
.dock .orb.orb--mini { background: var(--ink) !important; background-image: none !important; border: 2px solid var(--rust) !important; box-shadow: 0 6px 18px rgba(0,0,0,.25) !important; }
.dock .orb.orb--mini::before, .dock .orb.orb--mini::after { display: none !important; }
.dock .orb.orb--mini .wave i { background: var(--rust) !important; }
.dock .orb--mini .orb__mic { background: var(--ink) !important; box-shadow: 0 0 0 2px var(--rust), 0 6px 18px rgba(0,0,0,.25) !important; animation: none !important; }
.dock .orb--mini .orb__mic::before, .dock .orb--mini .orb__mic::after { display: none !important; }
.dock .orb--mini .orb__mic svg { stroke: #f1ece3 !important; fill: none !important; }
.dock .orb.orb--mini { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.hero__title, .hero__title .line, .hero__title em { font-weight: 900 !important; letter-spacing: -.02em; }

/* AYAT voice off: no mic, no sound toggle, no humming */
.askbar__mic, #ask-mic, .sound, #sound, .hum, .hero .orb__mic, .wave { display: none !important; }
.dock .orb--mini .orb__mic svg { fill: none; stroke-width: 1.6; }

/* Newspaper edition: retire every remaining dark surface */
:root { --titanium: linear-gradient(var(--panel), var(--panel)); --copper: linear-gradient(90deg, #151515, #151515); }
.duo__item, .trio__item, .door, .form, .search, .phone, .planner, .dept, .ctaband, .chat, .lang__menu, .m-card, .m-panel, .tbl, .kpi {
  background: var(--panel) !important; background-image: none !important; border: 1.5px solid var(--ink) !important; border-radius: 0 !important; box-shadow: none !important; color: var(--ink) !important; backdrop-filter: none !important; }
.ctaband { background: transparent !important; border-width: 0 !important; border-top: 1px solid var(--ink) !important; }
.duo__item h2, .duo__item h3, .duo__item p, .trio__item h3, .trio__item p, .door h2, .door p { color: var(--ink) !important; }
.duo__item small, .duo__item .mono, .trio__item .mono { color: var(--muted) !important; }
.duo__item svg text { fill: var(--ink) !important; }
.duo__item svg [fill^="url"], .duo__item svg .bar { opacity: .9; }
.nav.scrolled { background: var(--bg) !important; border-color: var(--ink) !important; }
.phone__head b, .phone__head small { color: var(--ink) !important; }
.chat .msg, .chat .bubble, .chat p { color: var(--ink) !important; background: #fbf9f4 !important; border-color: var(--line) !important; }
.lang__menu li, .lang__menu button { color: var(--ink) !important; }
.seg span { border-color: var(--ink) !important; color: var(--ink) !important; border-radius: 0 !important; }
.seg input:checked + span { background: var(--ink) !important; color: #f1ece3 !important; }
.marquee { background: var(--ink) !important; }
.bars i { background: linear-gradient(180deg, #4c4741, #2a2724) !important; box-shadow: none !important; }
.bars i:last-child { background: var(--rust) !important; }
.radar svg circle, .radar svg line { stroke: rgba(0,0,0,.25) !important; fill: none !important; }
.radar__sweep { background: conic-gradient(from 0deg, rgba(194,83,43,.35), transparent 30%) !important; }
.blip { color: var(--ink) !important; }
.blip::before { background: var(--rust) !important; box-shadow: none !important; }
.duo__cap, .duo__sub, .tiny { color: var(--muted) !important; }

/* Research cards and story pages */
.rgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1.1rem; max-width: var(--wrap); margin: 1.6rem auto 0; }
.rcard { display: flex; flex-direction: column; gap: .35rem; background: var(--panel); border: 1.5px solid var(--ink); padding: .8rem; color: var(--ink); text-decoration: none; transition: border-color .2s; }
.rcard:hover { border-color: var(--rust); }
.rcard img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; border: 1px solid var(--ink); display: block; }
.rcard__k { font-family: var(--sans) !important; font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--rust) !important; margin-top: .4rem; }
.rcard h3 { font-family: var(--display); font-weight: 800; font-size: 1.15rem; line-height: 1.15; margin: 0; }
.rcard p { font-family: var(--serif); font-style: italic; font-size: .88rem; color: var(--muted); margin: 0; }
.story-page { max-width: var(--wrap); margin: 0 auto; padding: 2rem 0 4rem; }
.story-page h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); font-weight: 900; line-height: 1.04; margin: .4rem 0 .6rem; max-width: 900px; }
.story-page .lede { max-width: 760px; font-size: 1.15rem; }
.byline { font-family: var(--sans) !important; font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink) !important; margin: .8rem 0; }
.story-page__text p { font-family: var(--serif); font-size: 1.08rem; line-height: 1.65; color: var(--ink); margin: 0 0 1rem; }
.story-page__text .sources { font-family: var(--sans) !important; font-size: .72rem; color: var(--dim) !important; line-height: 1.5; }
.story-page__text .sources a { color: var(--rust); }
.faqs { margin: 1.2rem 0; border-top: 1px solid var(--ink); }
.faq { border-bottom: 1px solid var(--line); padding: .7rem 0; }
.faq summary { font-family: var(--display); font-weight: 700; cursor: pointer; }
.faq p { margin: .5rem 0 0 !important; font-size: .98rem !important; }
.rcard--live video { width: 100%; aspect-ratio: 9 / 16; background: #111; border: 1px solid var(--ink); }
.rcard details summary { cursor: pointer; font-family: var(--sans) !important; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--rust) !important; margin-top: .4rem; }
.rcard__body { font-style: normal !important; color: var(--ink) !important; font-size: .95rem !important; margin: .5rem 0 0 !important; }
.rcard__src { font-family: var(--sans) !important; font-size: .66rem; color: var(--dim) !important; }
#live-research:empty { display: none; }
#latest, #latest-home { display: block !important; max-width: var(--wrap); margin: 0 auto; padding: 3rem 0; }

/* ===== Platform structure (13 Nov 2026): same components on every page, JP World Intelligence look ===== */
.block { max-width: var(--wrap); margin: 0 auto; padding: 2.6rem 0; border-top: 1px solid var(--ink); }
.block__head { margin-bottom: 1.2rem; }
.block__head h2 { font-size: clamp(1.7rem, 3.2vw, 2.4rem); font-weight: 900; margin: .2rem 0 .3rem; }
.block__head .lede { margin: 0 0 .6rem; }
.panel { background: var(--panel); border: 1.5px solid var(--ink); padding: 1rem 1.1rem; margin-bottom: 1rem; color: var(--ink); }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.grid2--map { grid-template-columns: minmax(280px, 0.9fr) 1.1fr; align-items: start; margin-top: 1rem; }
@media (max-width: 900px) { .grid2, .grid2--map { grid-template-columns: 1fr; } }
.empty { font-family: var(--serif); font-style: italic; color: var(--muted); margin: .4rem 0; }
.src { font-family: var(--sans) !important; font-size: .66rem; color: var(--dim) !important; }
.src a { color: var(--rust); }
.mnote { font-family: var(--sans) !important; font-size: .7rem; color: var(--dim) !important; margin: .5rem 0 0; }
/* header AYAT search */
.hsearch { display: flex; align-items: center; border: 1px solid var(--ink); background: #fbf9f4; min-width: 260px; }
.hsearch input { border: 0; background: transparent; padding: .38rem .6rem; font-family: var(--serif); font-style: italic; font-size: .85rem; color: var(--ink); outline: 0; flex: 1; min-width: 0; }
.hsearch button { border: 0; background: var(--ink); color: #f1ece3; padding: .38rem .7rem; cursor: pointer; }
@media (max-width: 860px) { .hsearch { min-width: 0; width: 100%; } }
/* audience cards */
.aud { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; max-width: var(--wrap); margin: 1.4rem auto 2.4rem; }
@media (max-width: 900px) { .aud { grid-template-columns: 1fr 1fr; } }
.aud__c { display: flex; flex-direction: column; gap: .35rem; padding: 1.2rem; background: var(--panel); border: 1.5px solid var(--ink); color: var(--ink); text-decoration: none; transition: background .2s; }
a.aud__c:hover { background: #f9f5ee; border-color: var(--rust); }
.aud__i { font-size: 1.6rem; color: var(--rust); line-height: 1; }
.aud__c b { font-family: var(--display); font-weight: 900; font-size: 1.35rem; }
.aud__c small { font-family: var(--serif); font-style: italic; color: var(--muted); font-size: .9rem; line-height: 1.45; }
/* time chips */
.tchips { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; align-items: center; }
.tchips button, .tchips a { font-family: var(--sans); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: .4rem .8rem; border: 1px solid var(--ink); background: transparent; color: var(--ink); cursor: pointer; text-decoration: none; }
.tchips button.on { background: var(--ink); color: #f1ece3; }
.city { display: block; color: var(--ink); text-decoration: none; }
.city:hover { border-color: var(--rust); }
/* stats */
.stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .6rem; margin: .6rem 0; }
.stats--sm { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
.stat { border: 1px solid var(--ink); padding: .65rem .75rem; background: #fbf9f4; }
.stat span { display: block; font-family: var(--sans) !important; font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--dim) !important; }
.stat b { display: block; font-family: var(--display); font-weight: 900; font-size: 1.35rem; color: var(--rust); margin-top: .2rem; }
.loading { opacity: .55; transition: opacity .2s; }
/* filter bar */
.fbar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .5rem; padding: .7rem; background: var(--panel); border: 1.5px solid var(--ink); margin-bottom: 1rem; }
.fbar__f { display: flex; flex-direction: column; gap: .2rem; min-width: 110px; flex: 1 1 110px; }
.fbar__f--wide { flex: 2 1 200px; }
.fbar__f span { font-family: var(--sans); font-size: .58rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--dim); }
.fbar select, .fbar input { font-family: var(--sans); font-size: .85rem; padding: .45rem .5rem; border: 1px solid var(--ink); background: #fbf9f4; color: var(--ink); border-radius: 0; }
.fbar__seg { display: flex; border: 1px solid var(--ink); align-self: flex-end; }
.fbar__seg label { position: relative; }
.fbar__seg input { position: absolute; opacity: 0; pointer-events: none; }
.fbar__seg span { display: block; padding: .45rem .75rem; font-family: var(--sans); font-size: .78rem; font-weight: 600; cursor: pointer; color: var(--ink); }
.fbar__seg input:checked + span { background: var(--ink); color: #f1ece3; }
.fbar__more { flex: 1 1 100%; order: 9; }
.fbar__more summary { font-family: var(--sans); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--rust); cursor: pointer; padding: .2rem 0; }
.fbar__more[open] { display: flex; flex-wrap: wrap; gap: .5rem; }
.fbar__more[open] summary { flex: 1 1 100%; }
.fbar .btn { align-self: flex-end; }
/* bars and tables */
.chart { margin-top: .4rem; }
.bar { display: grid; grid-template-columns: minmax(90px, 34%) 1fr auto; align-items: center; gap: .5rem; font-family: var(--sans); font-size: .78rem; padding: .18rem 0; }
.bar__l { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bar__t { height: 10px; background: rgba(0,0,0,.06); }
.bar__t i { display: block; height: 100%; background: var(--rust); }
.bar__v { font-weight: 700; }
.dtab { width: 100%; border-collapse: collapse; font-size: .9rem; }
.dtab th { text-align: left; padding: .35rem .3rem; }
.dtab td { padding: .4rem .3rem; }
.dtab td.n, .dtab th.n { text-align: right; }
.dtab a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--rust); }
.map { height: 380px; border: 1px solid var(--ink); filter: sepia(.25) saturate(.8); }
/* lists, evidence labels, project cards, profile */
.ilist { list-style: none; padding: 0; margin: 0; }
.ilist li { padding: .55rem 0; border-bottom: 1px solid var(--line); font-family: var(--serif); line-height: 1.45; }
.brief__h { font-size: 1.2rem; font-weight: 800; margin: .2rem 0 .4rem; }
.legend { font-size: .72rem; margin-bottom: .8rem; }
.ev { display: inline-block; font-family: var(--sans); font-size: .58rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: .1rem .4rem; border: 1px solid; margin-right: .3rem; }
.ev--observed { color: #1f6b3a; border-color: #1f6b3a; }
.ev--estimate { color: #a8441f; border-color: #a8441f; }
.ev--na { color: var(--dim); border-color: var(--dim); }
.pgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.pcard { text-align: left; font: inherit; display: flex; flex-direction: column; gap: .3rem; background: var(--panel); border: 1.5px solid var(--ink); padding: 1rem; color: var(--ink); cursor: pointer; }
.pcard:hover { border-color: var(--rust); }
.pcard h3 { font-family: var(--display); font-weight: 800; font-size: 1.15rem; margin: 0; }
.pcard ul { list-style: none; padding: 0; margin: .2rem 0; font-size: .88rem; color: var(--muted); }
.pcard__why { font-family: var(--serif); font-style: italic; font-size: .88rem; color: var(--muted); }
.pprofile { margin-top: 2rem; padding-top: 1.4rem; border-top: 3px double var(--ink); }
.pprofile h2 { font-size: clamp(1.8rem, 3.6vw, 2.8rem); font-weight: 900; }
.calc { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin: .6rem 0; }
.calc input { font-family: var(--sans); padding: .45rem .5rem; border: 1px solid var(--ink); background: #fbf9f4; border-radius: 0; }
.links li { font-family: var(--serif); margin: .4rem 0; }
.links a { color: var(--rust); }
.aud--4 { margin-top: 0; }
.pagehead { padding-left: 0 !important; padding-right: 0 !important; width: var(--wrap) !important; max-width: var(--wrap) !important; }
.pagehead > * { margin-left: 0 !important; }
.pagehead .crumbs { display: flex; justify-content: flex-start !important; gap: .5rem; }
.pagehead .rule { width: 100% !important; }
.pagehead .lede { max-width: 760px; }

/* AYAT AI bar */
.hsearch { position: relative; min-width: 340px; gap: .1rem; padding-left: .5rem; background: #fbf9f4; transition: box-shadow .25s, border-color .25s; }
.hsearch::before { content: ""; position: absolute; inset: -2px; z-index: -1; background: linear-gradient(90deg, #c2532b, #d9a35b, #151515, #c2532b); background-size: 300% 100%; animation: hsflow 6s linear infinite; opacity: .55; }
.hsearch:focus-within { box-shadow: 0 6px 24px -10px rgba(194,83,43,.55); }
.hsearch:focus-within::before { opacity: 1; animation-duration: 2.5s; }
@keyframes hsflow { to { background-position: 300% 0; } }
.hs-spark svg { width: 17px; height: 17px; fill: #c2532b; display: block; animation: hstw 2.8s ease-in-out infinite; }
@keyframes hstw { 50% { transform: scale(.82) rotate(18deg); opacity: .7; } }
.hs-tag { font-size: .58rem; letter-spacing: .14em; color: #c2532b; border: 1px solid rgba(194,83,43,.45); padding: .1rem .3rem; margin-left: .2rem; }
.hsearch input { font-size: .9rem; padding: .5rem .55rem; }
.hs-kbd { font-size: .6rem; color: #8a837a; border: 1px solid #d4cdc1; padding: .05rem .3rem; margin-right: .35rem; background: #f3efe7; }
.hsearch button { align-self: stretch; display: flex; align-items: center; padding: 0 .75rem; }
.hsearch button svg { width: 16px; height: 16px; stroke: #f1ece3; fill: none; stroke-width: 2; }
.hsearch.is-thinking button { background: linear-gradient(90deg, #151515, #c2532b, #151515); background-size: 200% 100%; animation: hsflow 1s linear infinite; }
.hs-pop { position: absolute; top: calc(100% + 6px); left: -2px; right: -2px; background: #fbf9f4; border: 1px solid var(--ink); box-shadow: 0 14px 30px -14px rgba(0,0,0,.35); z-index: 60; text-align: left; }
.hs-pop__h, .hs-pop__f { font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; color: #8a837a; padding: .55rem .8rem; }
.hs-pop__f { border-top: 1px solid #e3ddd2; }
.hs-pop__list button { display: flex; gap: .55rem; width: 100%; background: none; border: 0; text-align: left; padding: .5rem .8rem; font-family: var(--serif); font-style: italic; font-size: .9rem; color: var(--ink); cursor: pointer; }
.hs-pop__list button::before { content: "✦"; color: #c2532b; font-style: normal; }
.hs-pop__list button:hover, .hs-pop__list button:focus { background: #f1ebe0; outline: 0; }
@media (max-width: 860px) { .hsearch { min-width: 0; } .hs-kbd { display: none; } }
@media (prefers-reduced-motion: reduce) { .hsearch::before, .hs-spark svg { animation: none; } }

/* ===== AYAT AI bar (hero) ===== */
.aibar { max-width: 980px; margin: 2rem 0 .5rem; text-align: left; }
.aibar__live { font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: #5d574f; display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 .9rem; }
.aibar__dot { width: 9px; height: 9px; border-radius: 50%; background: #2fae6b; box-shadow: 0 0 0 0 rgba(47,174,107,.5); animation: aipulse 2s infinite; }
@keyframes aipulse { 70% { box-shadow: 0 0 0 9px rgba(47,174,107,0); } 100% { box-shadow: 0 0 0 0 rgba(47,174,107,0); } }
.aibar__f { position: relative; display: flex; align-items: center; gap: .7rem; background: #fff; border-radius: 16px; padding: .55rem .55rem .55rem 1.3rem; isolation: isolate; box-shadow: 0 10px 34px -12px rgba(91,108,240,.45), 0 -6px 26px -14px rgba(194,83,43,.5); }
.aibar__f::before { content: ""; position: absolute; inset: -2px; border-radius: 18px; z-index: -1; background: linear-gradient(90deg, #e2604a, #c2532b, #8b6cf0, #5b6cf0, #e2604a); background-size: 300% 100%; animation: hsflow 5s linear infinite; }
.aibar__f::after { content: ""; position: absolute; inset: 0; border-radius: 16px; background: #fff; z-index: -1; }
.aibar__f.is-off::before { background: #cfc8bc; animation: none; }
.aibar__f input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-family: var(--sans, Inter, sans-serif); font-size: 1.08rem; color: #151515; padding: .8rem 0; }
.aibar__f input::placeholder { color: #77716a; }
.aibar__ai { display: inline-flex; align-items: center; gap: .3rem; font-family: var(--sans, Inter, sans-serif); font-weight: 600; font-size: 1.05rem; background: linear-gradient(90deg, #e2604a, #8b6cf0); -webkit-background-clip: text; background-clip: text; color: transparent; transition: opacity .2s; }
.aibar__ai svg { width: 15px; height: 15px; fill: #e2604a; animation: hstw 2.8s ease-in-out infinite; }
.aibar__f.is-off .aibar__ai { opacity: .35; }
.aibar__tog { width: 54px; height: 30px; border-radius: 99px; border: 0; padding: 3px; cursor: pointer; background: linear-gradient(90deg, #e2604a, #5b6cf0); display: flex; transition: background .25s; }
.aibar__tog i { width: 24px; height: 24px; border-radius: 50%; background: #fff; margin-left: auto; box-shadow: 0 1px 4px rgba(0,0,0,.25); position: relative; transition: margin .25s; }
.aibar__tog i::after { content: "✦"; position: absolute; inset: 0; display: grid; place-items: center; font-size: 11px; color: #c2532b; }
.aibar__tog[aria-checked="false"] { background: #cfc8bc; }
.aibar__tog[aria-checked="false"] i { margin-left: 0; }
.aibar__tog[aria-checked="false"] i::after { content: ""; }
.aibar__send { width: 54px; height: 54px; border: 0; border-radius: 12px; cursor: pointer; background: linear-gradient(135deg, #e2604a, #c2532b); display: grid; place-items: center; box-shadow: 0 6px 16px -6px rgba(194,83,43,.7); transition: transform .15s; }
.aibar__send:hover { transform: translateY(-1px); }
.aibar__send svg { width: 22px; height: 22px; fill: none; stroke: #fff; stroke-width: 2; stroke-linejoin: round; }
.aibar__f.is-thinking .aibar__send { background: linear-gradient(90deg, #c2532b, #5b6cf0, #c2532b); background-size: 200% 100%; animation: hsflow 1s linear infinite; }
.aibar__mode { font-size: .8rem; color: #6d675f; margin: .8rem 0 1rem; }
.aibar__ext { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: .6rem; }
.aibar__ext .mono { font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: #8a837a; margin-right: .2rem; }
.aibar__ext a { display: inline-flex; align-items: center; gap: .45rem; padding: .6rem 1.1rem; border: 1px solid #d9d2c6; border-radius: 14px; background: #fff; color: #151515; text-decoration: none; font-weight: 500; font-size: .92rem; transition: border-color .2s, box-shadow .2s; }
.aibar__ext a:hover { border-color: #151515; box-shadow: 0 4px 14px -8px rgba(0,0,0,.35); }
.aibar__ext a svg { width: 17px; height: 17px; fill: none; stroke: #c2532b; stroke-width: 1.8; }
@media (max-width: 640px) { .aibar__f { gap: .4rem; padding-left: .9rem; } .aibar__f input { font-size: .95rem; } .aibar__ai { display: none; } .aibar__send { width: 46px; height: 46px; } }
@media (prefers-reduced-motion: reduce) { .aibar__f::before, .aibar__dot { animation: none; } }
/* header bar: same AI language, rounded + glow */
.hsearch { border: 0; border-radius: 12px; }
.hsearch::before { border-radius: 14px; background: linear-gradient(90deg, #e2604a, #c2532b, #8b6cf0, #5b6cf0, #e2604a); background-size: 300% 100%; opacity: .9; }
.hsearch::after { content: ""; position: absolute; inset: 0; border-radius: 12px; background: #fff; z-index: -1; }
.hsearch { isolation: isolate; background: transparent; }
.hsearch button { border-radius: 0 12px 12px 0; background: linear-gradient(135deg, #e2604a, #c2532b); }
.hs-tag { border-radius: 6px; background: linear-gradient(90deg, #e2604a, #8b6cf0); color: #fff; border: 0; }
.hs-pop { border-radius: 12px; overflow: hidden; border-color: #d9d2c6; }
.aibar__f input::-webkit-calendar-picker-indicator { display: none !important; }

/* ===== Projects showcase ===== */
.ptabs { display: flex; gap: .5rem; overflow-x: auto; padding: .2rem 0 1rem; scrollbar-width: none; margin-top: 1.4rem; }
.ptabs::-webkit-scrollbar { display: none; }
.ptab { flex: none; border: 1px solid #cfc8bc; background: #fbf9f4; color: #151515; border-radius: 999px; padding: .5rem 1rem; font: 500 .86rem/1 Inter, sans-serif; cursor: pointer; transition: all .2s; }
.ptab i { font-style: normal; font-size: .72rem; color: #8a837a; margin-left: .25rem; }
.ptab:hover { border-color: #151515; }
.ptab.is-on { background: #151515; color: #f1ece3; border-color: #151515; }
.ptab.is-on i { color: #e0a580; }
.fbar--proj { align-items: end; }
.pview { display: flex; border: 1px solid #151515; border-radius: 10px; overflow: hidden; align-self: end; }
.pview button { border: 0; background: #fbf9f4; padding: .55rem .9rem; font: 500 .82rem Inter, sans-serif; cursor: pointer; }
.pview button.is-on { background: #151515; color: #f1ece3; }
.pgrid--show { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.2rem; }
.pcard--show { padding: 0; overflow: hidden; border-radius: 14px; text-align: left; display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s; background: #fbf9f4; }
.pcard--show:hover { transform: translateY(-4px); box-shadow: 0 18px 34px -18px rgba(0,0,0,.45); }
.pcover { position: relative; height: 150px; background: linear-gradient(135deg, hsl(var(--h1) 55% 32%), hsl(var(--h2) 60% 52%)); color: #fff; overflow: hidden; }
.pcover::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 80% 10%, rgba(255,255,255,.28), transparent 45%); }
.pcover svg { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 55%; fill: rgba(255,255,255,.14); stroke: rgba(255,255,255,.35); stroke-width: 1; }
.pcover b { position: absolute; left: 1rem; top: .7rem; font: 700 2.6rem/1 "Playfair Display", serif; letter-spacing: -.02em; text-shadow: 0 2px 12px rgba(0,0,0,.25); }
.pcover__dev { position: absolute; left: 1rem; bottom: .7rem; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; z-index: 1; }
.pcover__st, .pcover__tag { position: absolute; top: .8rem; right: .8rem; font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; background: rgba(255,255,255,.92); color: #151515; padding: .25rem .5rem; border-radius: 6px; z-index: 1; }
.pcover__tag { top: 2.4rem; background: #c2532b; color: #fff; }
.pcard__b { padding: 1rem 1.1rem 1.1rem; display: flex; flex-direction: column; gap: .55rem; }
.pcard__b h3 { margin: 0; font-size: 1.2rem; }
.pcard__row { display: grid; grid-template-columns: 1.2fr 1fr .7fr; gap: .4rem; border-top: 1px solid #e3ddd2; border-bottom: 1px solid #e3ddd2; padding: .55rem 0; }
.pcard__row small { display: block; font-size: .56rem; letter-spacing: .12em; text-transform: uppercase; color: #8a837a; }
.pcard__row b { font-size: .92rem; }
.pcard__plan { font-size: .68rem; color: #6d675f; margin: 0; }
.pbar { display: flex; height: 18px; border-radius: 6px; overflow: hidden; font: 600 .6rem/18px Inter, sans-serif; color: #fff; text-align: center; }
.pbar span { min-width: 22px; }
.pbar__d { background: #151515; } .pbar__c { background: #c2532b; } .pbar__h { background: #d9a35b; }
.pbar__key { display: flex; gap: 1rem; font-size: .66rem; margin: .5rem 0 1rem; }
.pbar__key span { background: none !important; color: #5d574f; display: inline-flex; align-items: center; gap: .35rem; }
.pbar__key span::before { content: ""; width: 10px; height: 10px; border-radius: 3px; }
.pbar__key .pbar__d::before { background: #151515; } .pbar__key .pbar__c::before { background: #c2532b; } .pbar__key .pbar__h::before { background: #d9a35b; }
.ptable { overflow-x: auto; }
.ptable table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.ptable th { text-align: left; font: 600 .62rem Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #6d675f; border-bottom: 2px solid #151515; padding: .6rem .5rem; }
.ptable td { border-bottom: 1px solid #e3ddd2; padding: .7rem .5rem; }
.ptable tr[data-key] { cursor: pointer; } .ptable tr[data-key]:hover td { background: #f1ebe0; }
/* profile sheet */
.psheet { position: fixed; inset: 0; z-index: 90; background: rgba(21,21,21,.55); backdrop-filter: blur(3px); display: flex; justify-content: center; align-items: flex-start; overflow-y: auto; padding: 4vh 1rem; }
.psheet[hidden] { display: none; }
body.is-sheet { overflow: hidden; }
.psheet__card { position: relative; width: min(980px, 100%); background: #f4efe6; border-radius: 18px; overflow: hidden; box-shadow: 0 30px 80px -20px rgba(0,0,0,.6); animation: shin .3s ease; }
@keyframes shin { from { transform: translateY(20px); opacity: 0; } }
.psheet__card > .pcover { height: 200px; }
.psheet__card > .pcover b { font-size: 3.6rem; }
.psheet__x { position: absolute; top: .8rem; left: .8rem; z-index: 3; width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); font-size: 1.4rem; cursor: pointer; }
.psheet__head { padding: 1.2rem 1.6rem .2rem; }
.psheet__head h2 { margin: .2rem 0; }
.ptabs--sheet { padding: .4rem 1.6rem 1rem; margin: 0; border-bottom: 1px solid #e3ddd2; }
.psheet__pane { padding: 1.4rem 1.6rem 1.8rem; }
.pmap { border-radius: 12px; overflow: hidden; border: 1px solid #d9d2c6; aspect-ratio: 16/8; }
.pmap iframe { width: 100%; height: 100%; border: 0; }
.calc--mini { display: flex; gap: 1rem; margin: .8rem 0; }
.calc--mini label { display: flex; flex-direction: column; gap: .3rem; }
.calc--mini input { border: 1px solid #151515; padding: .5rem .6rem; font: 1rem Inter, sans-serif; background: #fff; border-radius: 8px; }
@media (max-width: 640px) { .psheet { padding: 0; } .psheet__card { border-radius: 0; min-height: 100%; } .pcard__row { grid-template-columns: 1fr 1fr; } }
.pcover__dev { color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,.45); z-index: 2; opacity: .95; }
.psheet__x { left: auto; right: .8rem; }
.psheet__card .pcover__st { right: 3.8rem; top: 1.1rem; }
.psheet__card .pcover__tag { right: 3.8rem; top: 2.7rem; }

/* developer logos */
.dlogo { position: relative; display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #fff; overflow: hidden; flex: none; box-shadow: 0 1px 4px rgba(0,0,0,.25); vertical-align: middle; }
.dlogo img { position: absolute; inset: 15%; width: 70%; height: 70%; object-fit: contain; z-index: 1; background: #fff; }
.dlogo i { font: 700 .6rem Inter, sans-serif; font-style: normal; color: #151515; letter-spacing: 0; }
.pcover__dev { display: flex; align-items: center; gap: .45rem; }
.dlogo--lg { width: 52px; height: 52px; }
.dlogo--lg i { font-size: .95rem; }
.dlogo--head { float: right; margin: .2rem 0 0 1rem; width: 64px; height: 64px; }
.devs__grid--logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .8rem; list-style: none; padding: 0; }
.devs__grid--logos li { border: 0; padding: 0; }
.devtile { width: 100%; display: flex; flex-direction: column; align-items: center; gap: .45rem; padding: 1.1rem .6rem; background: #fbf9f4; border: 1px solid #d9d2c6; border-radius: 14px; cursor: pointer; transition: transform .2s, box-shadow .2s, border-color .2s; }
.devtile:hover { transform: translateY(-3px); border-color: #151515; box-shadow: 0 10px 22px -14px rgba(0,0,0,.45); }
.devtile b { font: 600 .9rem Inter, sans-serif; } .devtile small { font-size: .62rem; color: #8a837a; letter-spacing: .1em; text-transform: uppercase; }
.devs__grid--logos li { border: 0 !important; background: none !important; box-shadow: none !important; padding: 0 !important; }

/* =====================================================================
   OLD-MONEY LUXURY LAYER: restrained palette, hairlines, serif, small caps
   ===================================================================== */
:root { --gold: #a8864f; --gold-2: #c9ad7a; --ink: #141414; --paper: #faf7f0; --hair: #d9cfbd; --oxblood: #6e2a22; }
/* developer directory: a printed register, no boxes */
.devs__grid--logos { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0; border-top: 1px solid var(--hair); border-left: 1px solid var(--hair); }
.devs__grid--logos li { border-right: 1px solid var(--hair) !important; border-bottom: 1px solid var(--hair) !important; }
.devtile { background: transparent; border: 0; border-radius: 0; padding: 2rem .8rem 1.6rem; gap: .7rem; transition: background .35s; }
.devtile:hover { transform: none; box-shadow: none; background: rgba(168,134,79,.07); }
.devtile b { font: 600 1.08rem/1.2 "Playfair Display", serif; letter-spacing: .01em; color: var(--ink); }
.devtile small { font: 500 .6rem Inter, sans-serif; letter-spacing: .22em; color: var(--gold); }
.dlogo { background: transparent; box-shadow: none; border-radius: 0; overflow: visible; }
.dlogo img { position: static; inset: auto; width: 100%; height: 100%; background: transparent; filter: grayscale(1) contrast(1.25) brightness(.85); mix-blend-mode: multiply; opacity: .85; transition: opacity .3s, filter .3s; }
.dlogo.has-img i { display: none; }
.dlogo i { font: italic 600 1rem "Playfair Display", serif; color: var(--ink); letter-spacing: .02em; }
.dlogo--lg { width: 46px; height: 46px; }
.dlogo--lg i { font-size: 1.6rem; }
.devtile:hover .dlogo img { opacity: 1; filter: grayscale(1) contrast(1.4) brightness(.7); }
/* logos on dark covers print in cream */
.pcover .dlogo { width: 20px; height: 20px; }
.pcover .dlogo img { filter: grayscale(1) brightness(0) invert(.92); mix-blend-mode: normal; opacity: .9; }
.pcover .dlogo i { color: #efe6d4; font-size: .85rem; }
.psheet__head .dlogo--head { width: 56px; height: 56px; }
/* project covers: deep tones, gold hairline frame */
.pcover { background: linear-gradient(160deg, var(--c1), var(--c2)); }
.pcover::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(201,173,122,.45); pointer-events: none; z-index: 1; }
.pcover::after { background: radial-gradient(circle at 85% 0%, rgba(201,173,122,.22), transparent 50%); }
.pcover svg { fill: none; stroke: rgba(201,173,122,.5); stroke-width: .8; height: 48%; }
.pcover b { font: italic 500 2.4rem/1 "Playfair Display", serif; color: #efe6d4; text-shadow: none; left: 1.4rem; top: 1.2rem; letter-spacing: .02em; }
.pcover__dev { left: 1.4rem; bottom: 1.2rem; color: #efe6d4; text-shadow: none; letter-spacing: .24em; font-size: .58rem; }
.pcover__st, .pcover__tag { background: transparent; color: #e7d6b4; border: 1px solid rgba(201,173,122,.6); border-radius: 0; top: 1.2rem; right: 1.2rem; letter-spacing: .22em; font-size: .55rem; }
.pcover__tag { top: 2.8rem; background: transparent; color: #e7d6b4; }
/* cards: square, hairline, quiet */
.pcard--show { border-radius: 2px; border: 1px solid var(--hair); background: var(--paper); box-shadow: none; }
.pcard--show:hover { transform: translateY(-2px); box-shadow: 0 22px 40px -30px rgba(20,20,20,.55); border-color: var(--gold); }
.pcard__b h3 { font: 600 1.25rem/1.25 "Playfair Display", serif; }
.pcard__row { border-color: var(--hair); }
.pcard__row small { color: var(--gold); letter-spacing: .2em; }
.pcard__row b { font: 500 .95rem "Playfair Display", serif; }
.pbar { height: 6px; border-radius: 0; font-size: 0; }
.pbar__d { background: var(--ink); } .pbar__c { background: #7a5a3a; } .pbar__h { background: var(--gold-2); }
.pbar__key .pbar__c::before { background: #7a5a3a; } .pbar__key .pbar__h::before { background: var(--gold-2); }
.psheet__pane > .pbar { height: 12px; }
/* collection tabs: engraved text, gold underline */
.ptabs { gap: 1.6rem; border-bottom: 1px solid var(--hair); padding-bottom: 0; }
.ptab { border: 0; background: transparent; border-radius: 0; padding: .8rem 0; font: 500 .7rem Inter, sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #6d675f; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.ptab:hover { color: var(--ink); border-color: transparent; }
.ptab.is-on { background: transparent; color: var(--ink); border-bottom-color: var(--gold); }
.ptab i { color: var(--gold); font-size: .62rem; }
.ptab.is-on i { color: var(--gold); }
.ptabs--sheet { gap: 1.6rem; }
.pview { border-radius: 0; border-color: var(--ink); }
.pview button { font: 500 .66rem Inter, sans-serif; letter-spacing: .18em; text-transform: uppercase; }
/* headline numbers: ledger columns, no boxes */
[data-pstats].stats { gap: 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--hair); }
[data-pstats] .stat { border: 0; border-right: 1px solid var(--hair); background: transparent; padding: 1.1rem 1.4rem; }
[data-pstats] .stat:last-child { border-right: 0; }
[data-pstats] .stat span { color: var(--gold); letter-spacing: .22em; }
[data-pstats] .stat b { font: 500 1.9rem "Playfair Display", serif; color: var(--ink); }
/* profile sheet */
.psheet { background: rgba(20,20,20,.62); }
.psheet__card { border-radius: 2px; background: var(--paper); border: 1px solid var(--gold); }
.psheet__card > .pcover b { font-size: 3.4rem; }
.psheet__x { border-radius: 0; background: transparent; color: #efe6d4; border: 1px solid rgba(201,173,122,.6); z-index: 3; }
.ptable th { color: var(--gold); letter-spacing: .2em; }
.ptable td b { font-family: "Playfair Display", serif; }
.calc--mini input { border-radius: 0; }
/* AI bar: champagne and ink instead of neon */
.aibar__f { border-radius: 4px; box-shadow: 0 18px 40px -26px rgba(20,20,20,.55); }
.aibar__f::before { border-radius: 6px; background: linear-gradient(90deg, #8a6a3a, #e6d3a8, #a8864f, #f3e7c9, #8a6a3a); background-size: 300% 100%; animation-duration: 8s; }
.aibar__f::after { border-radius: 4px; background: #fffdf8; }
.aibar__ai { background: linear-gradient(90deg, #8a6a3a, #c9ad7a); -webkit-background-clip: text; background-clip: text; font-family: "Playfair Display", serif; font-style: italic; }
.aibar__ai svg { fill: var(--gold); }
.aibar__tog { background: linear-gradient(90deg, #8a6a3a, #c9ad7a); }
.aibar__tog i::after { color: var(--gold); }
.aibar__send { border-radius: 2px; background: var(--ink); box-shadow: none; }
.aibar__send svg { stroke: #e6d3a8; }
.aibar__f.is-thinking .aibar__send { background: linear-gradient(90deg, #141414, #8a6a3a, #141414); background-size: 200% 100%; }
.aibar__ext a { border-radius: 0; border-color: var(--hair); background: transparent; font-family: "Playfair Display", serif; }
.aibar__ext a svg { stroke: var(--gold); }
.hsearch, .hsearch::after { border-radius: 2px; }
.hsearch::before { border-radius: 3px; background: linear-gradient(90deg, #8a6a3a, #e6d3a8, #a8864f, #f3e7c9, #8a6a3a); background-size: 300% 100%; }
.hsearch::after { background: #fffdf8; }
.hsearch button { border-radius: 0; background: var(--ink); }
.hsearch button svg { stroke: #e6d3a8; }
.hs-tag { border-radius: 0; background: transparent; color: var(--gold); border: 1px solid var(--gold); }
.hs-spark svg { fill: var(--gold); }
.hs-pop { border-radius: 0; border-color: var(--gold); }
.hs-pop__list button::before { color: var(--gold); }
[data-pstats].stats { display: grid; grid-template-columns: repeat(4, 1fr); }
@media (max-width: 760px) { [data-pstats].stats { grid-template-columns: 1fr 1fr; } }
.pcard--show .acard__k { color: var(--gold); letter-spacing: .2em; }
/* original developer logos: full colour, unboxed, sized as wordmarks */
.dlogo { width: auto; height: auto; }
.dlogo img { position: static; filter: none !important; mix-blend-mode: multiply; opacity: 1 !important; width: auto; height: 100%; max-width: 100%; object-fit: contain; background: transparent; }
.dlogo.has-img { height: 34px; max-width: 150px; }
.dlogo--lg.has-img { height: 46px; max-width: 160px; }
.dlogo--lg:not(.has-img) { height: 46px; display: grid; place-items: center; }
.devtile .dlogo--lg.has-img { height: 50px; }
.devtile:hover .dlogo img { filter: none !important; }
.dlogo--card { display: block; height: 24px !important; max-width: 110px; margin-bottom: .2rem; }
.dlogo--card:not(.has-img) { display: none; }
.dlogo--card img { height: 24px; }
.dlogo--head.has-img { float: right; height: 52px; width: auto; max-width: 170px; }
.devs__credit { margin-top: .8rem; font-size: .6rem; letter-spacing: .06em; color: #8a837a; text-transform: none; }
/* moving developer logos (home) */
.marq { max-width: var(--wrap); margin: 2.4rem auto 1rem; border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); padding: 1rem 0 1.4rem; }
.marq__t { text-align: center; font-size: .6rem; letter-spacing: .3em; color: var(--gold); margin: 0 0 1rem; text-transform: uppercase; }
.marq__win { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marq__track { display: flex; align-items: center; gap: 4.5rem; width: max-content; animation: marq 48s linear infinite; }
.marq__win:hover .marq__track { animation-play-state: paused; }
@keyframes marq { to { transform: translateX(-50%); } }
.marq__i { display: flex; align-items: center; opacity: .82; transition: opacity .3s; }
.marq__i:hover { opacity: 1; }
.dlogo--marq.has-img { height: 40px; max-width: 170px; }
@media (prefers-reduced-motion: reduce) { .marq__track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; } }
/* developer logo filter (projects) */
.dfilter { display: flex; gap: .4rem; overflow-x: auto; scrollbar-width: none; padding: 1.4rem 0 .4rem; align-items: center; }
.dfilter::-webkit-scrollbar { display: none; }
.dchip { flex: none; height: 52px; padding: 0 1rem; display: flex; align-items: center; background: transparent; border: 1px solid transparent; cursor: pointer; opacity: .55; transition: opacity .25s, border-color .25s; font: 500 .66rem Inter, sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--ink); }
.dchip:hover { opacity: .9; }
.dchip.is-on { opacity: 1; border-color: var(--gold); }
.dlogo--chip.has-img { height: 28px; max-width: 110px; }
.dchip__n { font: 600 .9rem "Playfair Display", serif; letter-spacing: 0; text-transform: none; }
/* official renders */
.pcover--img .pcover__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pcover--img svg { display: none; }
.pcover--img b { display: none; }
.pcover--img::after { background: linear-gradient(180deg, rgba(20,20,20,.15), rgba(20,20,20,.05) 40%, rgba(20,20,20,.65)); z-index: 0; }
.pgal { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; }
.pgal figure { margin: 0; } .pgal img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border: 1px solid var(--hair); }
.pgal figcaption { font-size: .62rem; color: #8a837a; margin-top: .4rem; letter-spacing: .06em; }
/* live offers & events */
.offers { max-width: var(--wrap); margin: 1.6rem auto; border: 1px solid var(--gold); background: linear-gradient(180deg, #fffaf0, var(--paper)); padding: 1.1rem 1.4rem; }
.offers[hidden] { display: none; }
.offers--inline { margin: 1.4rem 0; }
.offers__h { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: .6rem; }
.offers__h p { margin: 0; font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; color: var(--oxblood); font-weight: 600; }
.offers__h small { font-size: .58rem; letter-spacing: .12em; color: #8a837a; margin-left: auto; text-transform: uppercase; }
.offers__dot { width: 8px; height: 8px; border-radius: 50%; background: #b3261e; animation: aipulse 1.6s infinite; box-shadow: 0 0 0 0 rgba(179,38,30,.5); }
.offers__list { list-style: none; margin: 0; padding: 0; }
.offers__list li { display: flex; align-items: center; gap: .9rem; padding: .7rem 0; border-top: 1px solid var(--hair); flex-wrap: wrap; }
.offers__list li p { flex: 1; min-width: 220px; margin: 0; font: 500 .98rem/1.45 "Playfair Display", serif; }
.offers__t { font-size: .56rem; letter-spacing: .2em; text-transform: uppercase; border: 1px solid var(--oxblood); color: var(--oxblood); padding: .2rem .45rem; }
.offers__list a { font-size: .62rem; color: #6d675f; letter-spacing: .12em; text-transform: uppercase; }
.offers__ask { background: var(--ink); color: #e6d3a8; border: 0; padding: .55rem .9rem; font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; cursor: pointer; }
.offers__ask:hover { background: var(--oxblood); }
.pcover__offer { position: absolute; left: 1.2rem; top: auto; bottom: 2.4rem; z-index: 2; background: #b3261e; color: #fff; font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; padding: .25rem .5rem; }
.psheet .offers--inline { margin: 0 0 1.2rem; }

/* =========================================================
   JP'S TOP 10 (home) · ranked picks + printable briefing
   ========================================================= */
.t10{max-width:1180px;margin:72px auto;padding:0 24px}
.t10__cover{display:none}
.t10__top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;border-bottom:1px solid #d9cfbd;padding-bottom:22px}
.t10__k{color:#a8864f;letter-spacing:.18em;text-transform:uppercase;font-size:12px;margin:0 0 8px}
.t10__top h2{font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:clamp(30px,4vw,46px);margin:0;line-height:1.05}
.t10__lede{max-width:640px;color:#5c574f;margin:12px 0 0;line-height:1.55}
.t10__print{white-space:nowrap}
.t10__tabs{display:flex;gap:28px;margin:22px 0 8px}
.t10__tabs button{background:none;border:0;padding:8px 0;font:600 15px/1 inherit;color:#7a7166;letter-spacing:.04em;cursor:pointer;border-bottom:2px solid transparent}
.t10__tabs button[aria-selected="true"]{color:#1c1b19;border-color:#a8864f}
.t10__list{display:grid;gap:28px;margin-top:18px}
.t10c{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:#fbf8f2;border:1px solid #e3dac8;box-shadow:0 18px 40px -28px rgba(40,28,10,.35)}
.t10c[hidden]{display:none}
.t10c__img{position:sticky;top:84px;align-self:start;height:560px;min-height:360px;background:#2a1f17 center/cover no-repeat;border-right:1px solid #e3dac8}
.t10c__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 30%,transparent 70%,rgba(0,0,0,.45))}
.t10c__rank{position:absolute;z-index:1;left:22px;top:12px;font-family:"Playfair Display",Georgia,serif;font-size:84px;line-height:1;color:#fbf8f2;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.t10c__reel{position:absolute;z-index:1;right:16px;top:18px;background:#a8864f;color:#fff;font:600 11px/1 inherit;letter-spacing:.14em;text-transform:uppercase;padding:7px 10px}
.t10c__img small{position:absolute;z-index:1;left:16px;bottom:12px;color:#f3ede2;font-size:11px;opacity:.9}
.t10c__body{padding:26px 30px 24px}
.t10c__head{display:flex;gap:16px;align-items:center}.t10c__head>div:not(.t10c__score){flex:1;min-width:0}
.t10c__head h3{font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:26px;margin:0;line-height:1.1}
.t10c__head p{margin:4px 0 0;color:#7a7166;font-size:14px}
.t10c__score{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(#a8864f calc(var(--s)*1%),#ece4d3 0);position:relative}
.t10c__score::before{content:"";position:absolute;inset:6px;border-radius:50%;background:#fbf8f2}
.t10c__score b,.t10c__score small{position:relative}
.t10c__score b{font-family:"Playfair Display",Georgia,serif;font-size:24px;line-height:1}
.t10c__score small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#7a7166}
.t10c__spec{color:#4a463f;margin:14px 0 6px;line-height:1.5}
.t10c__facts{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin:10px 0 6px}
.t10c__facts div{border-top:1px solid #e6dcc9;padding:9px 0}
.t10c__facts dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#a8864f;margin-bottom:3px}
.t10c__facts dd{margin:0;font-size:14.5px;line-height:1.45;color:#1c1b19}
.t10c__facts dd small{color:#7a7166}
.t10c__why{margin-top:12px}
.t10c__why h4,.t10c__report h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#1c1b19;margin:0 0 4px}
.t10c__why p{margin:0;line-height:1.55;color:#3f3b35}
.t10c__risk p{color:#7a4a2c}
.t10c__more{margin-top:16px;border-top:1px solid #e6dcc9;padding-top:10px}
.t10c__more summary{cursor:pointer;font-weight:600;color:#1c1b19;letter-spacing:.02em}
.t10r{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin:12px 0}
.t10r div{border-top:1px solid #eee5d4;padding:8px 0}
.t10r dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#a8864f}
.t10r dd{margin:2px 0 0;font-size:14px;line-height:1.45}
.t10r__h{font-weight:600;margin:14px 0 6px;font-size:14px}
.t10r__t{width:100%;border-collapse:collapse;font:14px/1.4 inherit;font-family:inherit;margin-bottom:14px}.t10r__t td,.t10r__t th{font-family:inherit}
.t10r__t th{text-align:left;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7a7166;border-bottom:1px solid #1c1b19;padding:6px 6px}
.t10r__t td{border-bottom:1px solid #eee5d4;padding:8px 6px;vertical-align:top}
.t10r__t td small{display:block;color:#7a7166;font-size:11px}
.t10c__bars{list-style:none;padding:0;margin:6px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}
.t10c__bars li{display:grid;grid-template-columns:130px 1fr;align-items:center;font-size:13px;color:#4a463f}
.t10c__bars i{height:6px;background:linear-gradient(90deg,#a8864f calc(var(--v)*20%),#ece4d3 0)}
.t10c__src{font-size:12px;color:#8a8175;margin:14px 0 0;line-height:1.5}
.t10c__cta{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}
.t10__method{font-size:12.5px;color:#7a7166;line-height:1.6;margin-top:18px;max-width:900px}
@media (max-width:860px){.t10c{grid-template-columns:1fr}.t10c__img{position:relative;top:0;height:260px;min-height:240px;border-right:0}.t10c__facts,.t10r,.t10c__bars{grid-template-columns:1fr}.t10__top{flex-direction:column;align-items:flex-start}}

/* ---- Download as presentation: Series 3 "Private Briefing" PDF ---- */
@media print{
  @page{size:A4 landscape;margin:0}
  body.print-t10{background:#3a2618!important}
  body.print-t10>*:not(main):not(#app){display:none!important}
  body.print-t10 main>*:not(.t10),body.print-t10 #app>*:not(.t10){display:none!important}
  body.print-t10 header,body.print-t10 footer,body.print-t10 nav,body.print-t10 .hs-pop{display:none!important}
  body.print-t10 .t10{max-width:none;margin:0;padding:0}
  body.print-t10 .t10__top,body.print-t10 .t10__tabs,body.print-t10 .t10c__cta{display:none!important}
  body.print-t10 *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.print-t10 .t10__cover{display:flex;flex-direction:column;justify-content:center;height:210mm;padding:0 28mm;background:#F6F1E6;break-after:page;position:relative;border:10mm solid #3a2618}
  .t10__stamp{display:inline-block;align-self:flex-start;border:2px solid #9a3b22;color:#9a3b22;font:700 12pt/1 sans-serif;letter-spacing:.3em;padding:8px 14px;transform:rotate(-1.5deg)}
  .t10__prep{color:#7a7166;font-size:11pt;margin:10px 0 26px}
  .t10__cover h1{font-family:"Playfair Display",Georgia,serif;font-size:44pt;margin:0;line-height:1}
  .t10__cover h2{font-family:"Playfair Display",Georgia,serif;font-size:24pt;color:#C4532D;margin:10px 0 18px;font-weight:600}
  .t10__cover p{max-width:180mm;font-size:12pt;line-height:1.55;color:#3f3b35}
  .t10__seal{position:absolute;right:26mm;bottom:22mm;width:34mm;height:34mm;border-radius:50%;display:grid;place-items:center;text-align:center;font:800 8pt/1.2 sans-serif;letter-spacing:.14em;color:#4f3810;background:radial-gradient(circle at 35% 30%,#efd7a1,#b58a3e 60%,#7d5a20);transform:rotate(-12deg)}
  body.print-t10 .t10__list{display:block;margin:0}
  body.print-t10 .t10c{display:block!important;border:9mm solid #3a2618;box-decoration-break:clone;-webkit-box-decoration-break:clone;break-before:page;background:#F6F1E6;box-shadow:none}
  body.print-t10 .t10c__img{position:relative;top:0;height:64mm;min-height:0;border:0}
  body.print-t10 .t10c__rank{font-size:46pt}
  body.print-t10 .t10c__body{padding:5mm 9mm 6mm;font-size:9pt}
  body.print-t10 .t10c__body::before{content:"PRIVATE & CONFIDENTIAL · Prepared for JP World clients · JP's Top 10";display:block;font:700 7pt/1 sans-serif;letter-spacing:.22em;color:#9a3b22;margin-bottom:3mm}
  body.print-t10 .t10c__head h3{font-size:17pt}
  body.print-t10 .t10c__score{width:16mm;height:16mm}
  body.print-t10 .t10c__score b{font-size:13pt}
  body.print-t10 .t10c__facts{grid-template-columns:1fr 1fr 1fr;gap:0 6mm}
  body.print-t10 .t10c__facts dd,body.print-t10 .t10r dd,body.print-t10 .t10c__why p,body.print-t10 .t10r__t{font-size:8.5pt}
  body.print-t10 .t10c__spec{font-size:9pt;margin:2mm 0}
  body.print-t10 .t10c__facts div,body.print-t10 .t10r div{padding:1.4mm 0}
  body.print-t10 .t10c__why{margin-top:2mm;display:inline-block;width:31%;vertical-align:top;margin-right:2%}
  body.print-t10 .t10c__more{break-before:page;border:0;padding-top:8mm;margin-top:0}
  body.print-t10 .t10c__more summary{display:block;list-style:none;font-family:"Playfair Display",Georgia,serif;font-size:18pt;margin-bottom:3mm}
  body.print-t10 .t10c__more summary::-webkit-details-marker{display:none}
  body.print-t10 .t10r{grid-template-columns:1fr 1fr 1fr}
  body.print-t10 .t10c__bars{grid-template-columns:1fr 1fr 1fr}
  body.print-t10 .t10r__t td{padding:1.4mm 1.5mm}
  body.print-t10 .t10c__src{font-size:7.5pt;margin-top:3mm}
  body.print-t10 .t10__method{display:block;background:#F6F1E6;padding:12mm;font-size:9pt;border:10mm solid #3a2618;margin:0}
}
/* Top 10 charts */
.t10ch__grid{display:grid;grid-template-columns:1fr;gap:18px;margin:8px 0 14px}
.t10ch{margin:0;background:#fff;border:1px solid #ece4d3;padding:12px 14px}
.t10ch figcaption{font-weight:600;font-size:13.5px;margin-bottom:6px;color:#1c1b19}
.t10ch figcaption b{font-weight:600;margin-left:6px;font-size:12px}
.t10ch figcaption b.up{color:#3d6b45}.t10ch figcaption b.dn{color:#9a3b22}
.t10ch svg{width:100%;height:auto;display:block;font:11px/1 inherit;font-family:inherit;fill:#7a7166}
.t10ch svg text.hl{fill:#1c1b19;font-weight:700}
.t10ch svg .t10ch__end{fill:#1c1b19;font-weight:700}
.t10ch__key{font-size:11.5px;color:#7a7166;margin:4px 0 0;display:flex;gap:6px;align-items:center}
.t10ch__key i{display:inline-block;width:14px;height:8px}.t10ch__key .k1{background:#a8864f;height:3px}.t10ch__key .k2{background:#e6dcc9;margin-left:10px}
.t10ch__tab{font-size:11.5px;margin:8px 0 0;display:block;overflow-x:auto}
.t10ch__tab th,.t10ch__tab td{padding:4px 5px;white-space:nowrap;text-align:right}
.t10ch__tab th:first-child,.t10ch__tab td:first-child{text-align:left}
.t10ch__src{font-size:11px;color:#8a8175;margin:6px 0 0;line-height:1.45}
@media print{
  @page{size:A3 landscape;margin:0}
  body.print-t10 .t10__cover{height:297mm}
  body.print-t10 .t10__cover h1{font-size:60pt}body.print-t10 .t10__cover h2{font-size:32pt}body.print-t10 .t10__cover p{font-size:15pt;max-width:260mm}
  body.print-t10 .t10c__img{height:105mm}
  body.print-t10 .t10c__body{font-size:11pt;padding:7mm 12mm}
  body.print-t10 .t10c__head h3{font-size:24pt}
  body.print-t10 .t10c__facts dd,body.print-t10 .t10r dd,body.print-t10 .t10c__why p,body.print-t10 .t10r__t{font-size:11pt}
  body.print-t10 .t10ch__grid{grid-template-columns:1fr 1fr;gap:8mm}
  body.print-t10 .t10ch{break-inside:avoid}
  body.print-t10 .t10ch__tab{font-size:8.5pt;display:table;width:100%}
  body.print-t10 .t10c__report>h4,body.print-t10 .t10c__bars{display:none!important}
  body.print-t10 .t10r__t td{padding:1mm 1.5mm}
  body.print-t10 .t10ch{padding:3mm 4mm}
  body.print-t10 .t10map{height:70mm}
}
.t10map{height:260px;border:1px solid #ece4d3;background:#efe9df}
.t10map iframe{width:100%;height:100%;border:0;filter:sepia(.25) saturate(.85)}
/* Home · Latest projects */
.lat{max-width:1180px;margin:64px auto 0;padding:0 24px}
.lat__top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;border-bottom:1px solid #d9cfbd;padding-bottom:18px;margin-bottom:26px}
.lat__top h2{font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:clamp(30px,4vw,46px);margin:0;line-height:1.05}
.lat__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.lat__c{position:relative;background:#fbf8f2;border:1px solid #e3dac8;transition:box-shadow .25s,transform .25s}
.lat__c:hover{box-shadow:0 22px 44px -30px rgba(40,28,10,.5);transform:translateY(-2px)}
.lat__lnk{position:absolute;inset:0;z-index:1}
.lat__media{position:relative;aspect-ratio:16/11;overflow:hidden;background:#2a1f17}
.lat__track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.lat__track::-webkit-scrollbar{display:none}
.lat__s{flex:0 0 100%;height:100%;scroll-snap-align:start;background:#2a1f17 center/cover no-repeat}
.lat__s--none{display:grid;place-items:center;background:linear-gradient(135deg,#3b2a1d,#6b4a2e)}
.lat__s--none span{font-family:"Playfair Display",Georgia,serif;color:#f3ede2;font-size:22px;padding:0 20px;text-align:center}
.lat__nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:0;background:rgba(251,248,242,.85);color:#1c1b19;font-size:20px;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s}
.lat__c:hover .lat__nav{opacity:1}
.lat__nav--p{left:10px}.lat__nav--n{right:10px}
.lat__dots{position:absolute;z-index:2;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:6px;background:rgba(20,14,8,.35);padding:5px 8px;border-radius:20px}
.lat__dots i{width:6px;height:6px;border-radius:6px;background:rgba(255,255,255,.6);transition:width .2s}
.lat__dots i.on{width:18px;background:#fff}
.lat__offer{position:absolute;z-index:2;left:12px;top:12px;background:#a8864f;color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:7px 10px}
.lat__cr{position:absolute;z-index:2;right:10px;top:10px;font-size:10px;color:#f3ede2;opacity:.85;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.lat__b{padding:18px 20px 16px}
.lat__b h3{font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:22px;margin:0;line-height:1.15}
.lat__loc{color:#7a7166;margin:4px 0 10px;font-size:14px}
.lat__chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.lat__chips span{border:1px solid #e3dac8;padding:4px 9px;font-size:12px;color:#4a463f;background:#fff}
.lat__price{margin:0 0 14px;color:#a8864f;font-size:17px}
.lat__price b{color:#1c1b19;font-weight:600}
.lat__foot{display:flex;align-items:center;gap:10px;border-top:1px solid #e6dcc9;padding-top:12px;font-size:13px;color:#4a463f}
.lat__ho{margin-left:auto;color:#7a7166}
.lat__nav,.lat__dots{pointer-events:auto}
@media (max-width:980px){.lat__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.lat__grid{grid-template-columns:1fr}.lat__top{flex-direction:column;align-items:flex-start}}
@media print{body.print-t10 .lat{display:none!important}}
/* Home hero · moving highlights reel behind the AI bar */
.pagehead--reel{position:relative;max-width:none!important;width:100%!important;margin:0!important;padding:9rem max(4vw,calc((100vw - var(--wrap,1180px))/2)) 7.5rem!important;min-height:min(86vh,820px);color:#fbf8f2;overflow:hidden;isolation:isolate}
.pagehead--reel::before{display:none}
.pagehead--reel>*:not(.reel){position:relative;z-index:2}
.pagehead--reel .eyebrow,.pagehead--reel h1,.pagehead--reel .lede{color:#fbf8f2;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.pagehead--reel .rule{background:#d9b878}
.pagehead--reel .aibar__live,.pagehead--reel .aibar__mode,.pagehead--reel .aibar__ext,.pagehead--reel .aibar__ext span{color:#efe6d6}
.pagehead--reel .aibar{background:rgba(20,14,9,.38);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);padding:16px 18px 12px}
.reel{position:absolute;inset:0;z-index:0}
.reel__slides{position:absolute;inset:0;background:#2a1f17}
.reel__s{position:absolute;inset:0;background:#2a1f17 center/cover no-repeat;opacity:0;transform:scale(1.08);transition:opacity 1.6s ease,transform 8s linear}
.reel__s.on{opacity:1;transform:scale(1)}
.reel__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,12,7,.82) 0%,rgba(18,12,7,.55) 45%,rgba(18,12,7,.15) 100%),linear-gradient(0deg,rgba(18,12,7,.7),transparent 40%)}
.reel__cap{position:absolute;z-index:3;right:max(4vw,calc((100vw - var(--wrap,1180px))/2));bottom:3.2rem;max-width:min(460px,90vw);display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-items:center;background:rgba(251,248,242,.94);color:#1c1b19;padding:14px 16px;text-decoration:none;box-shadow:0 18px 40px -20px rgba(0,0,0,.6);border-left:3px solid #a8864f}
.reel__cap.in{animation:reelin .7s ease both}
@keyframes reelin{from{opacity:0;transform:translateY(10px) rotateX(18deg)}to{opacity:1;transform:none}}
.reel__tag{grid-row:1/3;align-self:start;background:#a8864f;color:#fff;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:6px 8px;white-space:nowrap}
.reel__txt{font-size:14.5px;line-height:1.4;font-weight:600}
.reel__go{font-size:12.5px;color:#a8864f;letter-spacing:.04em}
.reel__cap small{grid-column:1/-1;font-size:10.5px;color:#7a7166}
.reel__dots{position:absolute;z-index:3;left:max(4vw,calc((100vw - var(--wrap,1180px))/2));bottom:2rem;display:flex;gap:7px}
.reel__dots button{width:8px;height:8px;border-radius:8px;border:0;padding:0;background:rgba(255,255,255,.45);cursor:pointer;transition:width .3s}
.reel__dots button.on{width:26px;background:#fbf8f2}
@media (max-width:720px){.pagehead--reel{padding:7rem 5vw 10rem!important;min-height:auto}.reel__cap{left:5vw;right:5vw;bottom:3.4rem;max-width:none}.reel__dots{bottom:1.6rem}}
@media (prefers-reduced-motion:reduce){.reel__s{transition:none;transform:none}.reel__cap.in{animation:none}}
@media print{.reel{display:none}}
.pagehead--reel .aibar__ext a{color:#fbf8f2!important;border-color:rgba(255,255,255,.45)!important;background:rgba(255,255,255,.06)}
.pagehead--reel .aibar__ext a svg{stroke:#fbf8f2;fill:none}
.pagehead--reel .rule{background:rgba(217,184,120,.8)!important;border-color:transparent!important;max-width:120px}
.pagehead--reel{padding-bottom:10rem!important}
/* Home · market in charts */
.mkt{max-width:1180px;margin:72px auto 0;padding:0 24px}
.mkt__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.mkt__c{background:#fbf8f2;border:1px solid #e3dac8;padding:16px}
.mkt__c .t10ch{border:0;padding:0;background:none}
.mkt__note{margin:10px 0 0;font-size:13.5px;color:#4a463f;line-height:1.5;border-left:3px solid #a8864f;padding-left:10px}
@media (max-width:860px){.mkt__grid{grid-template-columns:1fr}}
/* Colour + imagery bands (home) */
.mkt,.t10{position:relative;isolation:isolate;padding-top:56px;padding-bottom:56px}
.mkt::before,.t10::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);z-index:-1}
.mkt::before{background:linear-gradient(180deg,rgba(15,34,25,.93),rgba(19,40,31,.9)),url("https://www.nakheel.com/images/nakheelcorporatelibraries/news/palm-jebel-ali-ocean-whisper-villa-ext-sea-view-01.jpg") center/cover no-repeat}
.t10::before{background:linear-gradient(180deg,rgba(42,26,16,.92),rgba(58,38,24,.9)),url("https://images2.cmp.optimizely.com/assets/island_beach_slider_desktop_2.webp/Zz1hM2VhZTUwYWNiNzgxMWYwOTNiZmZhY2I0NDQ4NTU4NQ==") center/cover no-repeat}
.mkt .lat__top,.t10 .t10__top{border-color:rgba(217,184,120,.35)}
.mkt .lat__top h2,.t10 .t10__top h2,.t10 .t10__lede{color:#fbf8f2}
.mkt .t10__k,.t10 .t10__k{color:#d9b878}
.mkt .btn--ghost,.t10 .btn--ghost.t10__print{color:#fbf8f2;border-color:rgba(251,248,242,.55)}
.t10 .t10__tabs button{color:rgba(251,248,242,.6)}
.t10 .t10__tabs button[aria-selected="true"]{color:#fbf8f2;border-color:#d9b878}
.t10 .t10__method{color:rgba(251,248,242,.7)}
.mkt{margin-top:0;max-width:none;padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:max(24px,calc((100vw - 1180px)/2))}
.t10{max-width:none;margin:72px 0 0;padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:max(24px,calc((100vw - 1180px)/2))}
@media print{.t10::before,.mkt::before{display:none}body.print-t10 .t10{padding:0}}
.mkt .btn--ghost,.t10 .t10__print{color:#fbf8f2!important;border-color:rgba(251,248,242,.6)!important;background:rgba(255,255,255,.04)!important}
.mkt .btn--ghost:hover,.t10 .t10__print:hover{background:#fbf8f2!important;color:#1c1b19!important}
/* Hero v2: AI bar top-centre, translucent glass so the reel shows */
.pagehead--reel{display:flex;flex-direction:column;align-items:center;text-align:center!important;padding-top:4.5rem!important;justify-content:flex-start}
.pagehead--reel>*:not(.reel){margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.pagehead--reel .eyebrow{order:1;color:#e9cf9a}
.pagehead--reel h1{order:2;font-size:clamp(2.4rem,5vw,4.4rem)!important;margin-bottom:.4rem}
.pagehead--reel .rule{order:3;margin:.6rem auto 0!important}
.pagehead--reel .aibar{order:4;width:min(860px,100%);margin:1.6rem auto 0!important;background:rgba(18,12,7,.16)!important;backdrop-filter:blur(5px) saturate(1.1);-webkit-backdrop-filter:blur(5px) saturate(1.1);border:1px solid rgba(255,255,255,.22)!important;box-shadow:0 20px 50px -30px rgba(0,0,0,.6);padding:14px 16px 10px!important}
.pagehead--reel .aibar__live,.pagehead--reel .aibar__mode{justify-content:center;text-align:center}
.pagehead--reel .aibar__ext{justify-content:center}
.pagehead--reel .aibar__f{background:rgba(251,248,242,.94)}
.pagehead--reel .lede{order:5;max-width:720px!important;margin-top:1.2rem!important;font-size:1rem!important;opacity:.92}
.pagehead--reel .reel__shade{background:linear-gradient(180deg,rgba(18,12,7,.55) 0%,rgba(18,12,7,.25) 38%,rgba(18,12,7,.05) 62%,rgba(18,12,7,.55) 100%)}
.pagehead--reel .lede{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0!important}
.pagehead--reel .eyebrow{color:#f0d9a8!important;text-shadow:0 1px 8px rgba(0,0,0,.5);letter-spacing:.22em}
.pagehead--reel .reel__cap,.pagehead--reel .reel__cap *{text-align:left!important}
.pagehead--reel .reel__cap{margin:0!important}
/* v12.14 what JP World does */
.jfx{max-width:1180px;margin:0 auto;padding:4.5rem 1.5rem}
.jfx__grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:2.5rem;align-items:start;margin-top:1.5rem}
.jfx__phone{background:#efe7da;border:10px solid #1c140d;border-radius:34px;overflow:hidden;box-shadow:0 18px 40px rgba(28,20,13,.18)}
.jfx__bar{background:#1f3b2e;color:#f4ede1;padding:.9rem 1.1rem;display:flex;flex-direction:column}
.jfx__bar small{opacity:.7;font-size:.72rem}
.jfx__chat{padding:1rem .8rem 1.4rem;display:flex;flex-direction:column;gap:.55rem;font-size:.86rem;line-height:1.4}
.jfx__chat p{margin:0;padding:.55rem .75rem;border-radius:12px;max-width:85%}
.jfx__chat .me{align-self:flex-end;background:#d9f2c4;border-bottom-right-radius:3px}
.jfx__chat .ai{align-self:flex-start;background:#fff;border-bottom-left-radius:3px}
.jfx__file{display:block;margin-top:.45rem;padding:.4rem .6rem;background:#f4ede1;border-left:3px solid #b5532f;font-size:.78rem}
.jfx__list{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.jfx__c{background:#f6f1e8;border:1px solid rgba(28,20,13,.12);padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem}
.jfx__c b{font-family:inherit;font-size:1.02rem}
.jfx__c small{font-size:.86rem;line-height:1.45;opacity:.82}
.jfx__s{align-self:flex-start;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding:.2rem .5rem;background:#e9dccb;color:#7a4a2a}
.jfx__s--live{background:#1f3b2e;color:#f4ede1}
.jfx__s--next{background:transparent;border:1px solid #b5532f;color:#b5532f}
@media(max-width:860px){.jfx__grid{grid-template-columns:1fr}.jfx__list{grid-template-columns:1fr}.jfx__phone{max-width:360px;margin:0 auto}}
/* v12.14 latest-projects footer: logo size + alignment */
.lat__c{display:flex;flex-direction:column}
.lat__b{display:flex;flex-direction:column;flex:1}
.lat__foot{margin-top:auto;min-height:44px}
.lat__foot .dlogo,.lat__foot img,.lat__foot svg{width:auto!important;height:28px!important;max-width:72px!important;object-fit:contain;flex:0 0 auto;margin:0!important;position:static!important}
.lat__foot>span:first-of-type{font-weight:500}
.lat__foot .lat__ho{margin-left:auto;white-space:nowrap}
/* v12.14 developer filter: every logo in an equal box */
.dfilter{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}
.dfilter .dchip{height:64px;min-width:150px;display:flex;align-items:center;justify-content:center;padding:8px 18px!important;box-sizing:border-box}
.dfilter .dchip .dlogo{display:flex;align-items:center;justify-content:center;width:120px!important;height:44px!important;margin:0!important;background:none!important}
.dfilter .dchip .dlogo img{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain}
.dfilter .dchip .dlogo.has-img i{display:none}
/* v12.15 projects split by city + JP Score */
.pcity-wrap{display:block}
.pcity{margin:2.2rem 0 1rem}
.pcity__h{display:flex;align-items:baseline;gap:1rem;border-bottom:2px solid var(--ink,#151110);padding-bottom:.5rem;margin-bottom:1.2rem}
.pcity__h h2{margin:0;font-size:clamp(1.8rem,3vw,2.6rem)}
.pcity__h span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#8a6a4a}
.pcard--show{position:relative}
.pcard--show .jps{position:absolute;top:12px;left:12px;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;background:#151110;color:#f4ede1;border:2px solid #b5532f;line-height:1}
.jps b{font-size:1.35rem;font-family:var(--display,inherit)}
.jps small{font-size:.48rem;letter-spacing:.08em;margin-top:2px;opacity:.85}
.jpsbox{display:grid;grid-template-columns:120px 1fr;gap:1.4rem;align-items:center;border:1px solid rgba(21,17,16,.15);background:#f6f1e8;padding:1rem 1.2rem;margin-bottom:1.4rem}
.jpsbox__s{display:flex;flex-direction:column;align-items:center}
.jpsbox__s b{font-size:3rem;font-family:var(--display,inherit);color:#b5532f;line-height:1}
.jpsbox__s small{font-size:.6rem;letter-spacing:.1em}
.jpsx__r{display:grid;grid-template-columns:150px 1fr 40px;gap:.7rem;align-items:center;font-size:.82rem;margin:.25rem 0}
.jpsx__r i{display:block;height:8px;background:#e7ddcd}
.jpsx__r em{display:block;height:100%;background:#1f3b2e}
.jpsx__r b{font-size:.78rem;text-align:right}
.jpsx .src{margin-top:.6rem;font-size:.66rem;line-height:1.5}
.pmethod{border-left:3px solid #b5532f;background:#f6f1e8;padding:.8rem 1rem;margin:1rem 0;font-size:.85rem;line-height:1.5}
@media(max-width:640px){.jpsbox{grid-template-columns:1fr}.jpsx__r{grid-template-columns:110px 1fr 36px}}
/* v12.16 inner-page hero: AI bar over offers + launches, with offer stamp */
.pagehead--inner{min-height:min(74vh,700px)!important;padding-top:6.5rem!important}
.pagehead--inner .crumbs{position:relative;z-index:2;color:rgba(251,248,242,.8)}
.pagehead--inner .crumbs a,.pagehead--inner .crumbs span{color:inherit}
.pagehead--inner h1,.pagehead--inner .eyebrow{position:relative;z-index:2;color:#fbf8f2;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.pagehead--inner .rule{position:relative;z-index:2}
.reel__s--none{background:radial-gradient(120% 90% at 70% 30%,#5a3a24 0%,#2a1f17 55%,#151110 100%)!important}
.reel__stamp{position:absolute;right:-14px;top:-74px;transform:rotate(-7deg);display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 14px;border:3px double #b5532f;color:#b5532f;background:rgba(251,248,242,.95);font-family:var(--mono,ui-monospace,monospace);text-transform:uppercase;letter-spacing:.08em;box-shadow:0 10px 24px -14px rgba(0,0,0,.6);max-width:260px;text-align:center}
.reel__stamp b{font-size:12px;line-height:1.3}
.reel__stamp i{font-style:normal;font-size:10px;color:#1c1b19;letter-spacing:.06em}
.reel__cap{overflow:visible}
@media (max-width:720px){.reel__stamp{top:-64px;right:0}.pagehead--inner{padding-top:5.5rem!important}}
.reel .reel__stamp{position:absolute;z-index:3;right:max(4vw,calc((100vw - var(--wrap,1180px))/2));top:2.2rem;transform:rotate(-6deg);display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 18px;border:3px double #e0a27a;color:#fbe9dc;background:rgba(181,83,47,.88);font-family:var(--mono,ui-monospace,monospace);text-transform:uppercase;letter-spacing:.1em;box-shadow:0 14px 30px -16px rgba(0,0,0,.7);max-width:300px;text-align:center}
.reel .reel__stamp b{font-size:13px;line-height:1.35;color:#fff}
.reel .reel__stamp i{font-style:normal;font-size:10.5px;color:#fbe9dc;border-top:1px solid rgba(255,255,255,.4);padding-top:4px}
.reel .reel__stamp.in{animation:stampin .55s cubic-bezier(.2,1.6,.4,1) both}
.reel .reel__stamp[hidden]{display:none}
@keyframes stampin{from{opacity:0;transform:rotate(-6deg) scale(1.5)}to{opacity:1;transform:rotate(-6deg) scale(1)}}
@media (max-width:720px){.reel .reel__stamp{top:1rem;right:5vw;max-width:70vw}}
/* v12.17 developer strip: taller band, every logo fully visible */
.marq{padding:1.4rem 0 1.8rem!important}
.marq__track{gap:2.6rem!important}
.marq__i{width:200px;height:96px;justify-content:center;flex:0 0 auto}
.marq .dlogo--marq,.marq .dlogo--marq.has-img{display:flex;align-items:center;justify-content:center;width:100%!important;height:100%!important;max-width:none!important;overflow:visible!important}
.marq .dlogo--marq img{max-width:180px!important;max-height:80px!important;width:auto!important;height:auto!important;object-fit:contain}
@media(max-width:720px){.marq__i{width:150px;height:76px}.marq .dlogo--marq img{max-width:136px!important;max-height:62px!important}}
/* v12.18 phones: AI bar below the slideshow, stamp clear of the heading */
@media (max-width:720px){
 .aibar.aibar--below{position:relative;z-index:2;width:auto!important;margin:0!important;padding:1.4rem 5vw 1.6rem!important;background:#f3ede3!important;backdrop-filter:none!important;border:0!important;border-bottom:1px solid rgba(21,17,16,.12)!important;color:#1c1b19!important;text-align:center}
 .aibar.aibar--below .aibar__live,.aibar.aibar--below .aibar__mode,.aibar.aibar--below .aibar__ext span{color:#5a5248!important}
 .aibar.aibar--below .aibar__f{background:#fff!important;border:1.5px solid #1c1b19!important}
 .aibar.aibar--below .aibar__ext a{color:#1c1b19!important;border-color:rgba(28,27,25,.35)!important}
 .pagehead--reel{padding-top:8.5rem!important;padding-bottom:12rem!important;min-height:auto!important}
 .reel .reel__stamp{top:1.1rem;right:4vw;left:auto;max-width:78vw;padding:8px 12px}
 .reel .reel__stamp b{font-size:11px}
 .reel .reel__stamp i{font-size:9.5px}
 .reel__cap{bottom:3.2rem}
}
@media (max-width:720px){
 .reel__cap{grid-template-columns:1fr!important;gap:4px!important;padding:10px 12px!important}
 .reel__cap .reel__tag{justify-self:start;font-size:10px;padding:3px 7px}
 .reel__cap .reel__txt{font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .reel__cap .reel__go{font-size:12px}
 .reel__cap small{display:none}
}
/* v12.19 market news, campaign intelligence, offer band, waiting stats */
.stat--wait{grid-column:1/-1;text-align:left}
.stat--wait p{margin:.35rem 0 0;font-size:.92rem;line-height:1.5}
.stat--wait a{color:#b5532f;text-decoration:underline}
.mnews,.mi{max-width:var(--wrap,1180px);margin:0 auto;padding:3.5rem 1.5rem 1rem}
.mnews__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1.6rem;margin-top:1.2rem}
.mnews__lead{border:1px solid rgba(21,17,16,.18);background:#f6f1e8;padding:1.4rem 1.5rem}
.mnews__lead h3{font-size:clamp(1.4rem,2.4vw,2rem);margin:.4rem 0 .7rem;line-height:1.15}
.mnews__list{display:flex;flex-direction:column;gap:1rem}
.mnews__list article{border-bottom:1px solid rgba(21,17,16,.12);padding-bottom:.9rem}
.mnews__list h4{margin:.3rem 0 .4rem;font-size:1.05rem}
.mnews__list p,.mnews__lead p{margin:.3rem 0;font-size:.9rem;line-height:1.5}
.mnews__k{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#b5532f;margin:0}
.mnews__impact{padding-left:.6rem;border-left:3px solid #a8864f;font-size:.85rem!important}
.mnews__impact--up{border-color:#1f7a4a}.mnews__impact--down{border-color:#b5332f}
.mnews__deals{margin-top:1.6rem;border:1px solid rgba(21,17,16,.18);padding:1rem 1.2rem}
.mnews__deals ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.mnews__deals li{font-size:.9rem;line-height:1.5}
.mnews__deals small{display:block;color:#7a7166}
.mnews__stamp{display:inline-block;margin-right:.5rem;padding:2px 8px;border:2px double #b5532f;color:#b5532f;font-family:var(--mono,monospace);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;transform:rotate(-2deg)}
.mnews__stamp--l{border-color:#1f3b2e;color:#1f3b2e}
.mi .stats{margin:1.2rem 0}
.mibars{display:flex;flex-direction:column;gap:.45rem}
.mibar{display:grid;grid-template-columns:170px 1fr 30px;gap:.6rem;align-items:center;font-size:.85rem}
.mibar i{display:block;height:10px;background:#e7ddcd}.mibar em{display:block;height:100%;background:#1f3b2e}
.mibar b{text-align:right}
.miaud{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.miaud li b{display:block;font-size:.95rem}.miaud small{color:#7a7166}
.jpoffer{margin:2rem 0 1rem;background:#1f3b2e;color:#f4ede1;padding:1.6rem 1.6rem 1.8rem}
.jpoffer .eyebrow{color:#e0c58f}
.jpoffer__g{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:.8rem}
.jpoffer__g a{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border:1px solid rgba(244,237,225,.25);color:#f4ede1;text-decoration:none;transition:background .2s}
.jpoffer__g a:hover{background:rgba(244,237,225,.08)}
.jpoffer__g small{font-size:.82rem;line-height:1.45;opacity:.85}
@media(max-width:860px){.mnews__grid{grid-template-columns:1fr}.jpoffer__g{grid-template-columns:1fr 1fr}.mibar{grid-template-columns:120px 1fr 26px}}
@media(max-width:520px){.jpoffer__g{grid-template-columns:1fr}.mi .dtab{font-size:.78rem}}
/* v12.21 UAE dream pages */
.ud{max-width:var(--wrap,1180px);margin:0 auto;padding:2.5rem 1.5rem 3rem}
.ud__intro{display:flex;gap:2rem;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(21,17,16,.15);padding-bottom:1.6rem;margin-bottom:2.4rem}
.ud__lede{font-family:var(--display,Georgia,serif);font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.45;margin:0;max-width:760px}
.ud__pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.2rem 0 3rem}
.ud__p{background:#f6f1e8;border:1px solid rgba(21,17,16,.12);border-top:3px solid #b5532f;padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.45rem}
.ud__p b{font-size:1.1rem}.ud__p small{font-size:.9rem;line-height:1.55;opacity:.85}
.ud__two{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;margin-bottom:3rem}
.ud__why{margin:1rem 0 0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.7rem;font-size:1rem;line-height:1.55}
.ud__picks{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem}
.ud__picks--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}
.ud__pick{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.2rem;border:1px solid rgba(21,17,16,.18);background:#fbf8f2;color:inherit;text-decoration:none;transition:border-color .2s,transform .2s}
.ud__pick:hover{border-color:#b5532f;transform:translateY(-2px)}
.ud__pick small{font-size:.88rem;opacity:.8}.ud__pick span{font-size:.8rem;color:#b5532f;margin-top:.2rem}
.ud__faq{margin:1rem 0 3rem}
.ud__talk{display:grid;grid-template-columns:1fr 1.3fr;gap:2.4rem;background:#1f3b2e;color:#f4ede1;padding:2rem;margin-bottom:2rem}
.ud__talk h2{color:#f4ede1;margin:.4rem 0 .8rem}.ud__talk .eyebrow{color:#e0c58f}
.ud__form{background:#fbf8f2;color:#1c1b19;padding:1.4rem}
.ud__src{font-size:.68rem;line-height:1.6;color:#7a7166}
.ud__others{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin-top:1.4rem;font-size:.9rem;align-items:center}
.ud__others a{color:#b5532f}
@media(max-width:860px){.ud__pillars,.ud__picks--grid{grid-template-columns:1fr 1fr}.ud__two,.ud__talk{grid-template-columns:1fr}.ud__intro{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.ud__pillars,.ud__picks--grid{grid-template-columns:1fr}}
/* v12.22 project landing pages */
.lp{max-width:1180px;margin:0 auto;padding:1rem 1.25rem 4rem}
.lp__gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:180px;gap:.5rem;margin:0 0 2.5rem}
.lp__gal figure{margin:0;position:relative;overflow:hidden;background:#e9e2d6}
.lp__gal figure:first-child{grid-row:span 2}
.lp__gal img{width:100%;height:100%;object-fit:cover;display:block}
.lp__gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:.3rem .5rem;font-size:.62rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.lp__top{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:start;margin-bottom:2.5rem}
.lp__brief h3{margin:1.2rem 0 .3rem;font-size:1.05rem}
.lp__ul{padding-left:1.1rem;line-height:1.6}.lp__ul li{margin:.25rem 0}
.lp__cta{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem}
.lp__facts{position:sticky;top:90px}
.lp__block{margin:0 0 3rem}
.lp__pay p{max-width:760px}
.lp__paybar{display:flex;height:54px;border:1px solid rgba(21,17,16,.2);margin:.6rem 0 1rem;font-size:.85rem}
.lp__paybar span{display:flex;align-items:center;gap:.4rem;padding:0 .9rem;background:#6b2a27;color:#fff;white-space:nowrap;overflow:hidden}
.lp__paybar span+span{background:#f6edE0;color:#151110}
.lp__tbl table{width:100%}.lp__tbl td small{display:block;font-size:.72rem;opacity:.65}
.lp__chart{display:flex;gap:1.2rem;align-items:flex-end;height:170px;margin:1.2rem 0;padding:0 .5rem;border-bottom:1px solid rgba(21,17,16,.25);max-width:520px}
.lp__bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:.25rem}
.lp__bar i{display:block;width:100%;background:#b5532f;min-height:4px}.lp__bar:first-child i{background:#c9bfae}
.lp__bar b{font-size:.95rem}.lp__bar span{font-size:.7rem;order:3}
.lp__why{background:#f6f1e8;border-left:3px solid #b5532f;padding:.9rem 1.1rem;line-height:1.6}
.lp__faq details{border-bottom:1px solid rgba(21,17,16,.15);padding:.8rem 0}
.lp__faq summary{cursor:pointer;font-weight:600}.lp__faq p{margin:.5rem 0 0;line-height:1.6}
.lp__form{max-width:760px}
.psheet__full{display:inline-block;margin:.4rem 0 0}
@media(max-width:860px){.lp__top{grid-template-columns:1fr}.lp__facts{position:static}.lp__gal{grid-template-columns:1fr 1fr;grid-auto-rows:140px}.lp__gal figure:first-child{grid-column:span 2;grid-row:auto}}
.lp .ud__picks{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}@media(max-width:700px){.lp .ud__picks{grid-template-columns:1fr}}
/* v12.23 living guides */
.guide__grid{display:grid;grid-template-columns:240px 1fr;gap:2.5rem;align-items:start}
.guide__toc{position:sticky;top:90px;font-size:.9rem}.guide__toc ol{padding-left:1.1rem;line-height:1.7;margin:.4rem 0 1rem}.guide__toc a{color:inherit}
.guide__body{max-width:780px}.gsec{margin:0 0 2.8rem;scroll-margin-top:90px}.gsec h2{font-size:1.6rem;margin:0 0 .8rem}.gsec h3{margin:1rem 0 .5rem}
.gsec p,.gsec li{line-height:1.7}.gsec ol,.gsec ul{padding-left:1.2rem}
.gchart{margin:1.2rem 0;padding:1rem;background:#fbf8f2;border:1px solid rgba(21,17,16,.12)}.gchart svg{width:100%;height:auto;display:block}.gchart figcaption{font-size:.68rem;margin-top:.6rem;opacity:.75;line-height:1.5}
.gbar{margin:.6rem 0 1rem}.gbar p{margin:.2rem 0}.gbar__t{display:flex;height:26px;background:#eee7db}.gbar__t span{display:block;height:100%}.gbar__k{font-size:.7rem;opacity:.7}
.guide__src{font-size:.9rem}
@media(max-width:860px){.guide__grid{grid-template-columns:1fr}.guide__toc{position:static}}
