/* ALBA Residences — investor and sales presentation. Concept by Libra Intelligence.
   Slides are drawn on a fixed 1920 × 1080 canvas and scaled to the screen; below 900px (or a portrait tablet)
   the same slides reflow into a vertical, scrollable deck. */
:root {
  --ink: #141414;          /* Steel */
  --paper: #ffffff;        /* White */
  --plaster: #f3f4f4;      /* Plaster */
  --stone: #d9dadb;        /* Stone */
  --line: #e4e5e6;
  --mute: #6d7072;
  --mute-d: #9a9d9f;
  --back: #0c0c0c;
  --serif: "Bodoni Moda", "Didot", "Times New Roman", serif;
  --sans: "Hanken Grotesk", "Helvetica Neue", system-ui, sans-serif;
  --ease: cubic-bezier(.22, .61, .36, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  --chrome: 56px;
  --hud: 56px;
  /* type-2 … penthouse shades for charts */
  --t2: #e2e3e4; --t3: #b9bbbd; --t4: #75787b; --tp: #141414;
}
html[lang="he"] {
  --serif: "Frank Ruhl Libre", "Times New Roman", serif;
  --sans: "Heebo", "Arial Hebrew", system-ui, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--back); color: var(--ink); font: 300 17px/1.55 var(--sans); -webkit-font-smoothing: antialiased; overflow: hidden; height: 100vh; height: 100dvh; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
h1, h2, h3, p, dl, dd, dt, figure, ol, ul { margin: 0; }
ol, ul { padding: 0; list-style: none; }
bdi { unicode-bidi: isolate; direction: ltr; }
:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }
[hidden] { display: none !important; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: fixed; top: -100px; inset-inline-start: 16px; z-index: 300; background: #fff; color: var(--ink); padding: 10px 16px; }
.skip:focus { top: 8px; }

/* ================= chrome ================= */
.chrome { position: fixed; z-index: 40; top: 0; left: 0; right: 0; height: var(--chrome); display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 20px; color: #fff; }
.chrome__brand { display: flex; align-items: center; gap: 14px; min-width: 0; }
.chrome__brand img { width: 94px; height: auto; flex: none; }
.chrome__sep { width: 1px; height: 16px; background: rgba(255,255,255,.25); flex: none; }
.chrome__doc { font: 400 12.5px/1 var(--sans); letter-spacing: .08em; color: rgba(255,255,255,.62); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html[lang="he"] .chrome__doc { letter-spacing: 0; font-size: 13.5px; }
.chrome__tools { display: flex; align-items: center; gap: 6px; }
.tool { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px; border-radius: 999px; font: 400 12.5px/1 var(--sans); letter-spacing: .04em; color: rgba(255,255,255,.78); white-space: nowrap; transition: background-color .3s var(--ease), color .3s var(--ease); }
html[lang="he"] .tool { letter-spacing: 0; font-size: 13.5px; }
.tool:hover, .tool[aria-pressed="true"] { background: rgba(255,255,255,.1); color: #fff; }
.tool svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.3; flex: none; }
.tool--icon { width: 36px; padding: 0; justify-content: center; }
.tool--pdf { border: 1px solid rgba(255,255,255,.28); color: #fff; margin-inline-start: 6px; }
.tool--pdf:hover { background: #fff; color: var(--ink); }
.tool kbd { font: inherit; font-size: 11px; opacity: .6; border: 1px solid currentColor; border-radius: 4px; padding: 2px 5px; }
.lang { display: inline-flex; padding: 3px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; margin-inline-end: 6px; }
.lang__b { height: 28px; min-width: 38px; padding: 0 10px; border-radius: 999px; font: 500 12px/1 var(--sans); color: rgba(255,255,255,.62); transition: background-color .3s var(--ease), color .3s var(--ease); }
.lang__b[lang="he"] { font-family: "Heebo", system-ui, sans-serif; font-size: 13px; }
.lang__b[aria-pressed="true"] { background: #fff; color: var(--ink); }

/* ================= stage ================= */
.stage { position: fixed; inset: var(--chrome) 0 var(--hud) 0; overflow: hidden; outline: none; touch-action: pan-y; }
.frame { position: absolute; top: 0; left: 0; width: 1920px; height: 1080px; transform-origin: 0 0; }
.slide { position: absolute; inset: 0; width: 1920px; height: 1080px; overflow: hidden; background: var(--paper); color: var(--ink); padding: 88px 120px; opacity: 0; visibility: hidden; transition: opacity .7s var(--ease), visibility 0s linear .7s; }
.slide.is-active { opacity: 1; visibility: visible; transition: opacity .7s var(--ease), visibility 0s; z-index: 2; }
.slide .notes { display: none; }
.s--dark { background: var(--ink); color: #fff; }
.s--plaster { background: var(--plaster); }

/* ================= type ================= */
.k { font: 500 15px/1.2 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--mute); display: flex; gap: 18px; align-items: baseline; }
.k__n { color: var(--ink); }
.k--light, .k--light .k__n { color: rgba(255,255,255,.72); }
html[lang="he"] .k { letter-spacing: .02em; font-size: 17px; font-weight: 400; text-transform: none; }
.h1 { margin-top: 26px; font: 400 84px/1.02 var(--serif); letter-spacing: -.015em; text-wrap: balance; }
html[lang="he"] .h1 { letter-spacing: 0; line-height: 1.1; font-weight: 400; }
.h3 { font: 400 38px/1.1 var(--serif); letter-spacing: -.005em; }
.h4 { font: 400 32px/1.1 var(--serif); }
html[lang="he"] .h3, html[lang="he"] .h4 { letter-spacing: 0; }
html:not([lang="he"]) .h3, html:not([lang="he"]) .h4, html:not([lang="he"]) .c-name, html:not([lang="he"]) .team__name { font-variation-settings: "opsz" 20; }
.lead { font: 300 30px/1.45 var(--sans); max-width: 30em; text-wrap: pretty; }
.body { font: 300 22px/1.5 var(--sans); color: #3d3f41; text-wrap: pretty; }
.s--dark .body { color: rgba(255,255,255,.78); }
html[lang="he"] .lead { font-size: 30px; line-height: 1.55; }
html[lang="he"] .body { font-size: 22px; line-height: 1.6; }
.n { font: 500 104px/.95 var(--serif); font-variation-settings: "opsz" 24; letter-spacing: -.02em; font-variant-numeric: lining-nums; direction: ltr; unicode-bidi: isolate; }
html[lang="he"] .n { font-family: "Bodoni Moda", "Didot", serif; text-align: right; }
.cap { font: 400 15px/1.45 var(--sans); letter-spacing: .03em; color: var(--mute); }
.cap--light { color: rgba(255,255,255,.7); }
.statement { margin-top: 30px; font: 400 104px/1.02 var(--serif); letter-spacing: -.02em; text-wrap: balance; }
html[lang="he"] .statement { letter-spacing: 0; line-height: 1.1; }
.tag { align-self: end; display: inline-flex; align-items: center; gap: 12px; padding: 10px 18px; border: 1px solid var(--ink); border-radius: 999px; font: 500 14px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
.tag::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ink); }
html[lang="he"] .tag { letter-spacing: 0; font-size: 16px; text-transform: none; }

/* shared layout */
.head--split { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 80px; }
.head--split .lead { max-width: 20em; font-size: 26px; padding-bottom: 8px; }
.media { overflow: hidden; background: var(--stone); }
.media img { width: 100%; height: 100%; object-fit: cover; }
.bleed { position: absolute; inset: 0; margin: 0; }
.bleed img { width: 100%; height: 100%; object-fit: cover; }
.folio { position: absolute; inset-inline: 120px; bottom: 40px; display: flex; justify-content: space-between; font: 500 13px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--mute-d); }
.folio__n { direction: ltr; }
html[lang="he"] .folio { letter-spacing: .02em; font-size: 14px; text-transform: none; }
.s--dark .folio { color: rgba(255,255,255,.55); }

/* ================= 01 cover ================= */
.s--cover { padding: 0; }
.s--cover .bleed::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,9,10,.6) 0%, rgba(8,9,10,0) 24%, rgba(8,9,10,0) 44%, rgba(8,9,10,.7) 100%); }
.cover__top { position: absolute; inset-inline: 120px; top: 72px; display: flex; justify-content: space-between; }
.cover__main { position: absolute; inset-inline-start: 120px; bottom: 214px; }
.cover__wm img { width: 760px; height: auto; }
.cover__lead { margin-top: 40px; font: 300 34px/1.3 var(--sans); color: #fff; }
.cover__foot { position: absolute; inset-inline: 120px; bottom: 72px; display: grid; grid-template-columns: auto auto 1fr; gap: 64px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.35); font: 400 18px/1 var(--sans); letter-spacing: .06em; color: #fff; }
.cover__note { justify-self: end; color: rgba(255,255,255,.62); font-size: 15px; }
html[lang="he"] .cover__foot { letter-spacing: 0; font-size: 20px; }

/* ================= 02 contents ================= */
.s--toc { display: grid; grid-template-columns: 560px 1fr; gap: 140px; }
.toc__side { display: flex; flex-direction: column; }
.toc__img { margin-top: auto; width: 400px; aspect-ratio: 4 / 5; overflow: hidden; }
.toc__img img { width: 100%; height: 100%; object-fit: cover; }
.toc__list { align-self: center; display: grid; grid-template-columns: 1fr 1fr; column-gap: 72px; }
.toc__list a { display: grid; grid-template-columns: 70px 1fr auto; align-items: baseline; padding: 30px 0 28px; border-top: 1px solid var(--line); font: 300 30px/1.2 var(--sans); transition: padding .5s var(--ease); }
.toc__list li:nth-child(n+7) { grid-column: 2; }
.toc__list li:nth-child(7) { grid-row: 1; } .toc__list li:nth-child(8) { grid-row: 2; } .toc__list li:nth-child(9) { grid-row: 3; } .toc__list li:nth-child(10) { grid-row: 4; } .toc__list li:nth-child(11) { grid-row: 5; } .toc__list li:nth-child(12) { grid-row: 6; }
.toc__list a:hover { padding-inline-start: 10px; }
.toc__n { font: 400 24px/1 var(--serif); color: var(--mute); }
html[lang="he"] .toc__n { font-family: "Bodoni Moda", serif; }
.toc__p { font: 400 15px/1 var(--sans); letter-spacing: .1em; color: var(--mute-d); }

/* ================= 03 summary ================= */
.s--summary { padding-inline-end: 0; }
.sum__text { width: 1000px; height: 100%; display: flex; flex-direction: column; }
.sum__text .lead { margin-top: 44px; max-width: 25em; }
.facts { margin-top: auto; margin-bottom: 36px; display: grid; grid-template-columns: repeat(4, auto); justify-content: start; column-gap: 64px; }
.facts div { padding-top: 22px; border-top: 1px solid var(--ink); min-width: 150px; }
.facts dt { font: 500 14px/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--mute); }
html[lang="he"] .facts dt { letter-spacing: 0; font-size: 17px; font-weight: 400; text-transform: none; }
.facts dd { margin-top: 18px; font-size: 92px; }
.sum__img { position: absolute; top: 0; bottom: 0; inset-inline-end: 0; width: 700px; }

/* ================= 04 site ================= */
.s--site { padding-inline-end: 0; }
.site__text { width: 660px; height: 100%; display: flex; flex-direction: column; }
.site__text .lead { margin-top: 32px; font-size: 27px; }
.places { margin-top: auto; }
.places li { display: grid; grid-template-columns: 50px 1fr auto; align-items: center; padding: 15px 0; border-top: 1px solid var(--line); font: 300 25px/1.2 var(--sans); }
.places li:last-child { border-bottom: 1px solid var(--line); }
.places__n { width: 32px; height: 32px; border: 1px solid var(--ink); border-radius: 50%; display: grid; place-items: center; font: 500 14px/1 var(--sans); }
.places__m { font-size: 19px; color: var(--mute); }
.site__text .cap { margin-top: 18px; margin-bottom: 36px; }
.site__map { position: absolute; top: 0; bottom: 0; inset-inline-end: 0; width: 1040px; background: var(--plaster); display: grid; place-items: center; }
.map { width: 1040px; height: 1080px; direction: ltr; }
.plan { direction: ltr; }
.map__streets line { stroke: var(--stone); stroke-width: 1.2; }
.map__streets .map__main { stroke-width: 2.6; }
.map__blvd line { stroke: var(--ink); stroke-width: 1.4; }
.map__blvd .map__trees { stroke: #8c8f91; stroke-width: 3.4; stroke-dasharray: 0 9; stroke-linecap: round; }
.map__sea { fill: #e6e7e8; }
.map__coast { fill: none; stroke: var(--ink); stroke-width: 1.1; }
.map__sealabel { fill: var(--mute); font: 500 11px var(--sans); letter-spacing: .3em; }
.map__street { fill: var(--ink); font: 500 10px var(--sans); letter-spacing: .2em; }
html[lang="he"] .map__sealabel, html[lang="he"] .map__street { letter-spacing: .04em; font-size: 13px; }
.pt circle { fill: var(--paper); stroke: var(--ink); stroke-width: 1; }
.pt text { fill: var(--ink); font: 500 12.5px "Hanken Grotesk", sans-serif; text-anchor: middle; }
.map__alba rect { fill: var(--ink); }
.map__ring { fill: none; stroke: var(--ink); stroke-width: .8; opacity: .5; }
.map__alba text { fill: var(--ink); font: 500 13px "Hanken Grotesk", sans-serif; letter-spacing: .28em; }

/* ================= 05 idea / 12 interior (image slides) ================= */
.s--idea .bleed::after, .s--interior .bleed::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,9,10,.72) 0%, rgba(8,9,10,.38) 42%, rgba(8,9,10,0) 70%); }
html[dir="rtl"] .s--idea .bleed::after, html[dir="rtl"] .s--interior .bleed::after { background: linear-gradient(270deg, rgba(8,9,10,.72) 0%, rgba(8,9,10,.38) 42%, rgba(8,9,10,0) 70%); }
.idea__text { position: relative; width: 1080px; margin-top: 150px; }
.idea__text .lead { margin-top: 44px; max-width: 24em; color: rgba(255,255,255,.86); }
.idea__cap, .interior__cap { position: absolute; bottom: 44px; inset-inline-end: 120px; }
.s--interior .bleed::after, html[dir="rtl"] .s--interior .bleed::after { background: linear-gradient(0deg, rgba(8,9,10,.82) 0%, rgba(8,9,10,.5) 30%, rgba(8,9,10,0) 58%); }
.interior__text { position: absolute; inset-inline-start: 120px; bottom: 110px; width: 900px; }
.interior__text .lead { margin-top: 26px; color: rgba(255,255,255,.88); font-size: 27px; }

/* ================= 06 architecture ================= */
.arch__cols { margin-top: 56px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 56px; }
.arch__col .media { height: 470px; }
.media--draw { background: var(--plaster); display: grid; place-items: center; }
.media--draw svg { width: 100%; height: 100%; }
.arch__n { margin-top: 30px; font: 400 16px/1 var(--sans); letter-spacing: .2em; color: var(--mute); }
.arch__col .h3 { margin-top: 14px; }
.arch__col .body { margin-top: 14px; max-width: 24em; }

/* ================= 07 numbers ================= */
.s--num { padding-inline-start: 0; display: grid; grid-template-columns: 720px 1fr; gap: 110px; }
.num__draw { background: var(--plaster); margin: -88px 0; height: 1080px; }
.num__draw svg { width: 100%; height: 100%; display: block; }
.num__text { display: flex; flex-direction: column; }
.num__text .lead { margin-top: 36px; font-size: 27px; max-width: 26em; }
.grid-n { margin-top: auto; margin-bottom: 40px; display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 40px; row-gap: 52px; }
.grid-n div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 16px; padding-top: 22px; border-top: 1px solid var(--ink); }
.grid-n .n { font-size: 80px; }
.grid-n dt { font: 300 20px/1.35 var(--sans); color: #3d3f41; max-width: 11em; min-height: 2.7em; }

/* ================= 08 mix / charts ================= */
.chart { position: relative; }
.chart svg { display: block; width: 100%; height: 100%; overflow: visible; }
.chart--mix { margin-top: 60px; height: 600px; }
.c-lab { font: 500 14px var(--sans); letter-spacing: .16em; text-transform: uppercase; fill: var(--mute); }
html[lang="he"] .c-lab { letter-spacing: 0; font-size: 16px; text-transform: none; font-weight: 400; }
.c-name { font: 400 38px var(--serif); fill: var(--ink); }
.c-val { font: 500 52px "Bodoni Moda", serif; font-variation-settings: "opsz" 24; fill: var(--ink); }
.c-sm { font: 300 22px var(--sans); fill: #3d3f41; }
.c-num { font: 400 22px "Hanken Grotesk", sans-serif; fill: #3d3f41; font-variant-numeric: tabular-nums; }
.c-tick { font: 400 15px "Hanken Grotesk", sans-serif; fill: var(--mute); }
.c-end { font: 500 17px var(--sans); fill: var(--ink); }
.c-end--mute { fill: var(--mute); }
.c-inv { fill: #fff; }
.c-grid { stroke: var(--line); stroke-width: 1; }
.c-axis { stroke: var(--ink); stroke-width: 1; }
.c-rule { stroke: var(--line); stroke-width: 1; }
.c-dash { stroke: var(--mute-d); stroke-width: 1; stroke-dasharray: 3 5; }

/* ================= 09 stacking ================= */
.s--stack { display: grid; grid-template-columns: 560px 1fr; gap: 120px; }
.stack__text { display: flex; flex-direction: column; }
.stack__text .lead { margin-top: 36px; font-size: 27px; }
.legend { margin-top: auto; margin-bottom: 36px; }
.legend li { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; padding: 16px 0; border-top: 1px solid var(--line); font: 300 24px/1.2 var(--sans); }
.legend bdi { font: 500 30px/1 "Bodoni Moda", serif; font-variation-settings: "opsz" 18; }
.sw { width: 20px; height: 20px; display: block; }
.sw--2 { background: var(--t2); } .sw--3 { background: var(--t3); } .sw--4 { background: var(--t4); } .sw--p { background: var(--tp); }
.stack__diagram { height: 904px; margin-block: -8px; }

/* ================= 10–11 plans ================= */
.plans { margin-top: 44px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.plan-card__fig { background: var(--plaster); padding: 18px 24px 8px; }
.plan-card .h3 { margin-top: 28px; }
.spec { margin-top: 20px; display: grid; grid-template-columns: repeat(4, auto); justify-content: start; column-gap: 48px; }
.spec dt { font: 500 13px/1.2 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--mute); }
html[lang="he"] .spec dt { letter-spacing: 0; font-size: 16px; font-weight: 400; text-transform: none; }
.spec dd { margin-top: 8px; font: 300 24px/1.2 var(--sans); }
.plans__cap { position: absolute; inset-inline-end: 120px; top: 186px; }
.plan { display: block; width: 100%; height: auto; fill: none; stroke: var(--ink); stroke-linecap: square; }
.plan .outer { stroke-width: 3.2; }
.plan .wall { stroke-width: 1.5; }
.plan .gap { stroke: var(--plaster); stroke-width: 7; stroke-linecap: butt; }
.plan .leaf, .plan .swing { stroke-width: .8; }
.plan .swing { stroke-dasharray: 2 2.5; }
.plan .win { stroke-width: .8; }
.plan .terr { stroke-width: 1; }
.plan .fix, .plan .pool { stroke-width: .8; }
.plan .pool--in { fill: var(--stone); }
.plan text { fill: #4a4c4e; stroke: none; font: 500 12.5px "Hanken Grotesk", sans-serif; letter-spacing: .12em; text-anchor: middle; }
html[lang="he"] .plan text { font: 400 14.5px "Heebo", sans-serif; letter-spacing: 0; }
.plan .north circle { stroke-width: .8; }
.plan .north path { fill: var(--ink); stroke: none; }

/* ================= 13 amenities ================= */
.amen { margin-top: 56px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
.amen .media { height: 470px; }
.amen .h3 { margin-top: 30px; font-size: 34px; }
.amen .body { margin-top: 12px; font-size: 21px; }

/* ================= 14 team ================= */
.team { margin-top: 64px; }
.team div { display: grid; grid-template-columns: 330px 700px 1fr; align-items: baseline; gap: 40px; padding: 38px 0 36px; border-top: 1px solid rgba(20,20,20,.18); }
.team div:last-child { border-bottom: 1px solid rgba(20,20,20,.18); }
.team dt { font: 500 15px/1.2 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--mute); }
html[lang="he"] .team dt { letter-spacing: 0; font-size: 18px; font-weight: 400; text-transform: none; }
.team__name { font: 400 52px/1.05 var(--serif); letter-spacing: -.01em; }
html[lang="he"] .team__name { letter-spacing: 0; }

/* ================= 15 market ================= */
.mk { margin-top: 44px; display: grid; grid-template-columns: 1fr 440px; gap: 100px; }
.chart--line { height: 590px; }
.kpis div { padding: 24px 0 30px; border-top: 1px solid var(--ink); }
.kpis div + div { border-top-color: var(--line); }
.kpis .n { font-size: 84px; }
.kpis dt { margin-top: 12px; font: 300 21px/1.4 var(--sans); color: #3d3f41; }
.mk__cap { position: absolute; bottom: 82px; inset-inline-start: 120px; max-width: 1200px; }

/* ================= 16 pricing ================= */
.pr { margin-top: 44px; display: grid; grid-template-columns: 1fr 520px; gap: 100px; }
.chart--bars { height: 660px; }
.pr__side .lead { font-size: 25px; }
.rules { margin-top: 40px; }
.rules div { display: flex; justify-content: space-between; gap: 24px; padding: 17px 0; border-top: 1px solid var(--line); font: 300 22px/1.3 var(--sans); }
.rules div:last-child { border-bottom: 1px solid var(--line); }
.rules dd { font-weight: 400; white-space: nowrap; }

/* ================= 17 sales ================= */
.rel { margin-top: 44px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
.rel li { padding-top: 22px; border-top: 1px solid var(--ink); display: grid; grid-template-columns: auto 1fr; grid-template-areas: "k k" "n t" "n i"; column-gap: 26px; align-items: end; }
.rel__k { grid-area: k; margin-bottom: 18px; font: 500 14px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--mute); }
html[lang="he"] .rel__k { letter-spacing: 0; font-size: 17px; font-weight: 400; text-transform: none; }
.rel__n { grid-area: n; font-size: 88px; }
.rel__t { grid-area: t; font: 300 22px/1.2 var(--sans); }
.rel__i { grid-area: i; margin-top: 6px; font: 400 16px/1.2 var(--sans); color: var(--mute); }
.chart--cum { margin-top: 40px; height: 430px; }

/* ================= 18 gantt ================= */
.chart--gantt { margin-top: 48px; height: 700px; }
.g-bar { fill: var(--ink); }
.g-bar--soft { fill: var(--t3); }
.g-bar--mid { fill: var(--t4); }

/* ================= 19 marketing ================= */
.channels { margin-top: 56px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 36px; }
.channels .media { height: 430px; }
.ch__n { margin-top: 26px; font: 400 15px/1 var(--sans); letter-spacing: .2em; color: var(--mute); }
.channels .h4 { margin-top: 12px; }
.channels .body { margin-top: 12px; font-size: 20px; }

/* ================= 20 investment ================= */
.inv { margin-top: 48px; display: grid; grid-template-columns: 1fr 560px; gap: 100px; }
.chart--wf { margin-top: 26px; height: 560px; }
.terms div { padding: 20px 0 22px; border-top: 1px solid var(--line); }
.terms div:first-child { border-top-color: var(--ink); }
.terms dt { font: 500 14px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--mute); }
html[lang="he"] .terms dt { letter-spacing: 0; font-size: 17px; font-weight: 400; text-transform: none; }
.terms dd { margin-top: 10px; font: 300 28px/1.25 var(--sans); }

/* ================= 21 contact ================= */
.s--contact { display: flex; flex-direction: column; justify-content: center; }
.contact { display: grid; grid-template-columns: 420px 1fr; gap: 160px; align-items: center; padding-inline-start: 60px; }
.contact__lockup { width: 300px; height: auto; }
.contact__h { margin-top: 30px; font: 400 64px/1.1 var(--serif); letter-spacing: -.01em; max-width: 14em; text-wrap: balance; }
html[lang="he"] .contact__h { letter-spacing: 0; }
.contact__dl { margin-top: 64px; display: flex; gap: 90px; }
.contact__dl dt { font: 500 14px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.55); }
html[lang="he"] .contact__dl dt { letter-spacing: 0; font-size: 17px; font-weight: 400; text-transform: none; }
.contact__dl dd { margin-top: 14px; font: 300 28px/1.2 var(--sans); }
.contact__dl a { border-bottom: 1px solid rgba(255,255,255,.4); }
.contact__foot { position: absolute; inset-inline: 120px; bottom: 56px; font: 400 15px/1.4 var(--sans); color: rgba(255,255,255,.5); }

/* ================= builds (motion) ================= */
html.motion .slide [data-b] { opacity: 0; transform: translate3d(0, 22px, 0); transition: opacity 0s linear .7s, transform 0s linear .7s; }
html.motion .slide.is-active [data-b] { opacity: 1; transform: none; transition: opacity .9s var(--ease) var(--d, .2s), transform 1.2s var(--ease) var(--d, .2s); }
html.motion .slide .bleed img, html.motion .slide .media img { transform: scale(1.05); transition: transform 0s linear .7s; }
html.motion .slide.is-active .bleed img, html.motion .slide.is-active .media img { transform: none; transition: transform 2.6s var(--ease); }
/* drawn lines: map, plans, charts */
html.motion .slide:not(.is-active) .map__streets line, html.motion .slide:not(.is-active) .map__blvd line:not(.map__trees), html.motion .slide:not(.is-active) .map__coast,
html.motion .slide:not(.is-active) .plan .outer, html.motion .slide:not(.is-active) .plan .wall, html.motion .slide:not(.is-active) .plan .terr, html.motion .slide:not(.is-active) .draw { stroke-dasharray: 1; stroke-dashoffset: 1; }
html.motion .slide.is-active .map__streets line, html.motion .slide.is-active .map__blvd line:not(.map__trees), html.motion .slide.is-active .map__coast,
html.motion .slide.is-active .plan .outer, html.motion .slide.is-active .plan .wall, html.motion .slide.is-active .plan .terr, html.motion .slide.is-active .draw { stroke-dasharray: 1; animation: draw 1.8s var(--ease-io) var(--dd, .35s) both; }
html.motion .slide.is-active .map__blvd line { --dd: .8s; }
html.motion .slide:not(.is-active) .map__pts, html.motion .slide:not(.is-active) .map__alba, html.motion .slide:not(.is-active) .map text, html.motion .slide:not(.is-active) .plan .openings, html.motion .slide:not(.is-active) .plan .labels, html.motion .slide:not(.is-active) .plan .fix, html.motion .slide:not(.is-active) .plan .pool, html.motion .slide:not(.is-active) .fade { opacity: 0; }
html.motion .slide.is-active .map__pts, html.motion .slide.is-active .map__alba, html.motion .slide.is-active .map text, html.motion .slide.is-active .plan .openings, html.motion .slide.is-active .plan .labels, html.motion .slide.is-active .plan .fix, html.motion .slide.is-active .plan .pool, html.motion .slide.is-active .fade { animation: fade 1s var(--ease) var(--fd, 1.3s) both; }
html.motion .slide.is-active .map__ring { animation: ring 2.4s var(--ease) 1.8s infinite; transform-box: fill-box; transform-origin: center; }
/* bars grow from their base */
html.motion .slide .grow { transform-box: fill-box; }
html.motion .slide:not(.is-active) .grow { transform: scale(var(--sx, 0), var(--sy, 1)); }
html.motion .slide.is-active .grow { animation: grow 1.2s var(--ease) var(--gd, .4s) both; }
@keyframes draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes grow { from { transform: scale(var(--sx, 0), var(--sy, 1)); } to { transform: none; } }
@keyframes ring { 0% { transform: scale(.6); opacity: .7; } 70%, 100% { transform: scale(1.5); opacity: 0; } }
@keyframes cellin { from { opacity: 0; } to { opacity: 1; } }

/* ================= hud ================= */
.hud { position: fixed; z-index: 40; bottom: 0; inset-inline-start: 0; height: var(--hud); display: flex; align-items: center; gap: 4px; padding-inline: 12px; color: #fff; }
.hud__b { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: rgba(255,255,255,.8); transition: background-color .3s var(--ease); }
.hud__b:hover { background: rgba(255,255,255,.1); color: #fff; }
.hud__b svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.4; }
html[dir="rtl"] .hud__b svg { transform: scaleX(-1); }
.hud__count { min-width: 64px; text-align: center; font: 400 13px/1 var(--sans); letter-spacing: .12em; color: rgba(255,255,255,.85); font-variant-numeric: tabular-nums; }
.hud__title { margin-inline-start: 14px; font: 400 13px/1 var(--sans); letter-spacing: .06em; color: rgba(255,255,255,.5); white-space: nowrap; }
html[lang="he"] .hud__title { letter-spacing: 0; font-size: 14px; }
.progress { position: fixed; z-index: 41; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(255,255,255,.1); }
.progress span { position: absolute; inset-block: 0; inset-inline-start: 0; width: 100%; background: #fff; transform-origin: left center; transform: scaleX(0); transition: transform .7s var(--ease); }
html[dir="rtl"] .progress span { transform-origin: right center; }
.kbd-hint { position: fixed; z-index: 39; bottom: 18px; left: 50%; transform: translateX(-50%); font: 400 12.5px/1 var(--sans); letter-spacing: .06em; color: rgba(255,255,255,.55); white-space: nowrap; pointer-events: none; transition: opacity 1s var(--ease); }
.kbd-hint.is-off { opacity: 0; }

/* ================= overview ================= */
.overview { position: fixed; z-index: 60; inset: 0; background: rgba(8,8,8,.97); display: flex; flex-direction: column; color: #fff; }
.ov__bar { flex: none; height: var(--chrome); display: flex; align-items: center; justify-content: space-between; padding: 0 20px 0 32px; }
.ov__grid { flex: 1; overflow-y: auto; padding: 12px 32px 48px; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 28px 22px; align-content: start; }
.ov__item button { display: block; width: 100%; text-align: start; }
.ov__thumb { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #fff; outline: 1px solid rgba(255,255,255,.1); transition: outline-color .3s var(--ease), transform .4s var(--ease); }
.ov__thumb .slide, .pv__next .slide { opacity: 1; visibility: visible; transform-origin: 0 0; transition: none; position: absolute; inset: 0 auto auto 0; }
.ov__item button:hover .ov__thumb, .ov__item button:focus-visible .ov__thumb { outline-color: rgba(255,255,255,.6); }
.ov__item.is-current .ov__thumb { outline: 2px solid #fff; outline-offset: 3px; }
.ov__cap { display: flex; gap: 12px; margin-top: 12px; font: 400 13px/1.3 var(--sans); color: rgba(255,255,255,.72); }
.ov__cap bdi { color: #fff; }
html.motion .overview:not([hidden]) .ov__item { animation: ovin .6s var(--ease) both; animation-delay: calc(var(--i) * 18ms); }
@keyframes ovin { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* ================= presenter ================= */
.presenter { position: fixed; z-index: 45; top: var(--chrome); bottom: var(--hud); inset-inline-end: 0; width: 34vw; min-width: 420px; padding: 18px 28px 20px; display: flex; flex-direction: column; gap: 12px; color: #fff; border-inline-start: 1px solid rgba(255,255,255,.1); background: var(--back); }
body.is-presenter .stage { inset-inline-end: max(34vw, 420px); }
body.is-presenter .lg-btn, body.is-presenter .lg-nudge, body.is-fs .lg-btn, body.is-fs .lg-nudge { display: none !important; }
body.is-presenter .kbd-hint { display: none; }
.pv__top { display: flex; align-items: center; gap: 28px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.1); }
.pv__top .tool { margin-inline-start: auto; border: 1px solid rgba(255,255,255,.25); }
.pv__time { display: flex; flex-direction: column; gap: 8px; }
.pv__time .k { font-size: 11px; }
.pv__timer, .pv__clock { font: 400 34px/1 "Bodoni Moda", serif; font-variant-numeric: tabular-nums; color: #fff; text-align: start; direction: ltr; }
.pv__next { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #1c1c1c; flex: none; }
.pv__next .slide { opacity: 1; visibility: visible; transform-origin: 0 0; transition: none; }
.pv__end { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(255,255,255,.5); font-size: 14px; }
.pv__notes { flex: 1; overflow-y: auto; font: 300 22px/1.55 var(--sans); color: rgba(255,255,255,.92); padding-inline-end: 8px; }
html[lang="he"] .pv__notes { font-size: 23px; line-height: 1.7; }
/* clones never animate */
.ov__thumb [data-b], .pv__next [data-b], .ov__thumb *, .pv__next * { animation: none !important; transition: none !important; }
.ov__thumb [data-b], .pv__next [data-b] { opacity: 1 !important; transform: none !important; }
.ov__thumb .grow, .pv__next .grow, .ov__thumb img, .pv__next img { transform: none !important; }
.ov__thumb .fade, .pv__next .fade, .ov__thumb .map text, .pv__next .map text, .ov__thumb .plan .openings, .pv__next .plan .openings, .ov__thumb .plan .labels, .pv__next .plan .labels, .ov__thumb .map__pts, .pv__next .map__pts, .ov__thumb .map__alba, .pv__next .map__alba, .ov__thumb .plan .fix, .pv__next .plan .fix, .ov__thumb .plan .pool, .pv__next .plan .pool { opacity: 1 !important; }
.ov__thumb .draw, .pv__next .draw, .ov__thumb line, .pv__next line, .ov__thumb path, .pv__next path, .ov__thumb rect, .pv__next rect { stroke-dashoffset: 0 !important; }
.ov__thumb .plan .swing, .pv__next .plan .swing { stroke-dasharray: 2 2.5 !important; }
.ov__thumb .map__trees, .pv__next .map__trees { stroke-dasharray: 0 9 !important; }
.ov__thumb .c-dash, .pv__next .c-dash { stroke-dasharray: 3 5 !important; }

/* ================= reduced motion ================= */
html:not(.motion) .slide, html:not(.motion) .progress span { transition: none; }

/* ================= stacked deck (phones, portrait tablets) ================= */
@media (max-width: 899px), (orientation: portrait) and (max-width: 1100px) {
  body { overflow: auto; height: auto; background: var(--paper); }
  :root { --chrome: 52px; }
  .chrome { position: sticky; background: var(--back); padding: 0 8px 0 16px; }
  .chrome__sep, .chrome__doc, .tool--hide-s, .tool span:not([data-i18n="ui_pdf"]) { display: none; }
  .tool[data-act="overview"] { width: 36px; padding: 0; justify-content: center; }
  .tool--pdf { height: 32px; padding: 0 12px; margin-inline-start: 2px; }
  .tool--pdf svg { display: none; }
  .lang { margin-inline-end: 0; }
  .lang__b { height: 26px; min-width: 34px; padding: 0 8px; }
  .chrome__brand img { width: 80px; }
  .stage { position: static; overflow: visible; touch-action: auto; }
  .frame { position: static; width: auto; height: auto; transform: none !important; }
  .hud, .kbd-hint { display: none; }
  .progress { top: var(--chrome); bottom: auto; position: fixed; background: rgba(20,20,20,.08); }
  .progress span { background: var(--ink); }
  .slide { position: relative; width: auto; height: auto; min-height: 0; padding: 56px 20px 64px; opacity: 1; visibility: visible; overflow: hidden; border-top: 1px solid var(--line); transition: none; scroll-margin-top: var(--chrome); }
  .slide:first-child { border-top: 0; }
  .s--dark { border-top: 0; }
  .folio { inset-inline: 20px; bottom: 22px; font-size: 10.5px; letter-spacing: .16em; }
  html[lang="he"] .folio { font-size: 12px; }

  .k { font-size: 11px; gap: 12px; }
  html[lang="he"] .k { font-size: 13.5px; }
  .h1 { margin-top: 14px; font-size: 40px; }
  .h3 { font-size: 26px; }
  .h4 { font-size: 24px; }
  .lead, html[lang="he"] .lead { font-size: 18px; line-height: 1.55; }
  .body, html[lang="he"] .body { font-size: 16px; line-height: 1.55; }
  .n { font-size: 54px; }
  .cap { font-size: 12.5px; }
  .statement { font-size: 42px; margin-top: 16px; }
  .tag { font-size: 11px; padding: 8px 12px; align-self: start; letter-spacing: .1em; white-space: normal; }
  html[lang="he"] .tag { font-size: 13px; }
  .head--split { grid-template-columns: 1fr; gap: 18px; }
  .head--split .lead { font-size: 17px; padding: 0; }

  /* cover */
  .s--cover { padding: 0; height: min(92svh, 760px); min-height: 560px; }
  .cover__top { inset-inline: 20px; top: 24px; flex-direction: column; gap: 8px; }
  .cover__main { inset-inline: 20px; bottom: 150px; }
  .cover__wm img { width: min(78vw, 360px); }
  .cover__lead { margin-top: 20px; font-size: 18px; }
  .cover__foot { inset-inline: 20px; bottom: 36px; grid-template-columns: 1fr; gap: 10px; padding-top: 16px; font-size: 14px; }
  html[lang="he"] .cover__foot { font-size: 15px; }
  .cover__note { justify-self: start; font-size: 12px; }

  /* contents */
  .s--toc { display: block; }
  .toc__img { display: none; }
  .toc__list { margin-top: 28px; grid-template-columns: 1fr; }
  .toc__list li:nth-child(n) { grid-column: auto; grid-row: auto; }
  .toc__list a { grid-template-columns: 44px 1fr auto; padding: 15px 0; font-size: 18px; }
  .toc__n { font-size: 16px; }
  .toc__p { font-size: 12px; }

  /* summary */
  .s--summary { padding-inline-end: 20px; }
  .sum__text { width: auto; height: auto; }
  .sum__text .lead { margin-top: 20px; }
  .facts { margin: 32px 0 0; grid-template-columns: 1fr 1fr; gap: 26px 20px; }
  .facts div { min-width: 0; padding-top: 14px; }
  .facts dt { font-size: 10.5px; }
  html[lang="he"] .facts dt { font-size: 13px; }
  .facts dd { font-size: 46px; margin-top: 10px; }
  .sum__img { position: relative; width: auto; margin: 36px -20px -64px; aspect-ratio: 4 / 5; }

  /* site */
  .s--site { padding-inline-end: 20px; padding-bottom: 0; }
  .site__text { width: auto; height: auto; }
  .site__text .lead { margin-top: 16px; font-size: 17px; }
  .places { margin-top: 24px; }
  .places li { font-size: 16px; padding: 11px 0; grid-template-columns: 38px 1fr auto; }
  .places__n { width: 26px; height: 26px; font-size: 12px; }
  .places__m { font-size: 14px; }
  .site__text .cap { margin: 12px 0 0; }
  .site__map { position: relative; width: auto; margin: 28px -20px 0; aspect-ratio: 590 / 600; }
  .map { width: 100%; height: 100%; }

  /* image slides */
  .s--idea, .s--interior { min-height: 620px; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 52px; }
  .s--idea .bleed::after, html[dir="rtl"] .s--idea .bleed::after, .s--interior .bleed::after, html[dir="rtl"] .s--interior .bleed::after { background: linear-gradient(0deg, rgba(8,9,10,.82) 0%, rgba(8,9,10,.5) 50%, rgba(8,9,10,.12) 100%); }
  .idea__text { width: auto; margin: 0; }
  .idea__text .lead { margin-top: 18px; }
  .idea__cap, .interior__cap { position: relative; inset: auto; margin-top: 22px; }
  .interior__text { position: relative; inset: auto; width: auto; }
  .interior__text .lead { font-size: 17px; margin-top: 14px; }

  /* architecture, amenities, channels */
  .arch__cols, .amen, .channels { margin-top: 28px; grid-template-columns: 1fr; gap: 36px; }
  .arch__col .media, .amen .media, .channels .media { height: auto; aspect-ratio: 4 / 3; }
  .arch__col:nth-child(-n+2) .media { aspect-ratio: 4 / 4.2; }
  .arch__n, .ch__n { margin-top: 16px; font-size: 12px; }
  .arch__col .h3, .amen .h3, .channels .h4 { margin-top: 8px; font-size: 24px; }
  .amen .body, .channels .body { font-size: 16px; }
  .channels { grid-template-columns: 1fr 1fr; gap: 28px 16px; }
  .channels li:first-child { grid-column: 1 / -1; }
  .channels li:first-child .media { aspect-ratio: 16 / 9; }
  .channels .media { aspect-ratio: 4 / 5; }

  /* numbers */
  .s--num { display: flex; flex-direction: column-reverse; padding-inline-start: 20px; gap: 0; }
  .num__draw { margin: 32px -20px -64px; height: 420px; }
  .grid-n { margin: 28px 0 0; grid-template-columns: 1fr 1fr; gap: 26px 20px; }
  .grid-n div { padding-top: 12px; gap: 8px; }
  .grid-n .n { font-size: 44px; }
  .grid-n dt { font-size: 14px; }

  /* charts */
  .chart--mix { margin-top: 28px; height: 470px; }
  .s--summary .folio, .s--site .folio, .s--num .folio { display: none; }
  .num__text .lead { font-size: 17px; margin-top: 16px; }
  .amen { grid-template-columns: 1fr 1fr; gap: 28px 16px; }
  .amen .media { aspect-ratio: 4 / 5; }
  .amen .h3 { font-size: 21px; }
  .amen .body { font-size: 14.5px; }
  .c-lab { font-size: 10px; letter-spacing: .12em; }
  html[lang="he"] .c-lab { font-size: 12px; }
  .c-name { font-size: 20px; } .c-val { font-size: 30px; } .c-sm, .c-num { font-size: 13px; } .c-tick { font-size: 11px; } .c-end { font-size: 12px; }

  /* stacking */
  .s--stack { display: block; }
  .stack__text .lead { margin-top: 16px; font-size: 17px; }
  .legend { margin: 22px 0 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; }
  .legend li { font-size: 15px; padding: 10px 0; grid-template-columns: 24px 1fr auto; }
  .legend bdi { font-size: 20px; }
  .sw { width: 14px; height: 14px; }
  .stack__diagram { margin-top: 26px; height: 520px; }

  /* plans */
  .plans { margin-top: 24px; grid-template-columns: 1fr; gap: 40px; }
  .plan-card__fig { padding: 8px 6px 2px; margin-inline: -8px; }
  .plan-card .h3 { margin-top: 16px; }
  .spec { grid-template-columns: 1fr 1fr; gap: 14px 20px; }
  .spec dt { font-size: 10.5px; } html[lang="he"] .spec dt { font-size: 13px; }
  .spec dd { font-size: 17px; margin-top: 4px; }
  .plans__cap { position: static; margin-top: 18px; }
  .plan text { font-size: 18px; letter-spacing: 0; }
  html[lang="he"] .plan text { font-size: 20px; }
  .plan .outer { stroke-width: 4.5; } .plan .wall { stroke-width: 2.2; }

  /* team */
  .team { margin-top: 24px; }
  .team div { grid-template-columns: 1fr; gap: 8px; padding: 20px 0; }
  .team dt { font-size: 10.5px; } html[lang="he"] .team dt { font-size: 13px; }
  .team__name { font-size: 28px; }

  /* market, pricing, investment */
  .mk, .pr, .inv { margin-top: 24px; grid-template-columns: 1fr; gap: 28px; }
  .chart--line { height: 300px; }
  .kpis { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; }
  .kpis div { padding: 14px 0 16px; }
  .kpis div:last-child { grid-column: 1 / -1; }
  .kpis .n { font-size: 44px; }
  .kpis dt { font-size: 14px; margin-top: 6px; }
  .mk__cap { position: static; margin-top: 20px; }
  .chart--bars { height: 320px; }
  .pr__side .lead { font-size: 17px; }
  .rules { margin-top: 18px; }
  .rules div { font-size: 15px; padding: 11px 0; }
  .rel { margin-top: 24px; grid-template-columns: 1fr 1fr; gap: 22px 16px; }
  .rel li { column-gap: 12px; padding-top: 14px; }
  .rel__k { font-size: 10.5px; margin-bottom: 10px; } html[lang="he"] .rel__k { font-size: 13px; }
  .rel__n { font-size: 46px; }
  .rel__t { font-size: 14px; }
  .rel__i { font-size: 12px; }
  .chart--cum { margin-top: 24px; height: 280px; }
  .chart--gantt { margin-top: 24px; height: 640px; }
  .chart--wf { margin-top: 14px; height: 380px; }
  .terms dt { font-size: 10.5px; } html[lang="he"] .terms dt { font-size: 13px; }
  .terms dd { font-size: 18px; margin-top: 6px; }
  .terms div { padding: 13px 0 14px; }

  /* contact */
  .s--contact { padding-bottom: 40px; }
  .contact { grid-template-columns: 1fr; gap: 40px; padding: 0; }
  .contact__lockup { width: 130px; }
  .contact__h { font-size: 32px; margin-top: 16px; }
  .contact__dl { margin-top: 32px; flex-direction: column; gap: 22px; }
  .contact__dl dt { font-size: 10.5px; } html[lang="he"] .contact__dl dt { font-size: 13px; }
  .contact__dl dd { font-size: 17px; margin-top: 8px; word-break: break-all; }
  .contact__foot { position: static; margin-top: 44px; margin-bottom: 56px; font-size: 12.5px; }

  /* builds in the stacked deck: shorter, on scroll */
  html.motion .slide [data-b] { transform: translate3d(0, 14px, 0); }
  html.motion .slide.is-active [data-b] { transition-duration: .8s, 1s; transition-delay: calc(var(--d, .2s) * .5); }
  .presenter { display: none !important; }
  .ov__grid { grid-template-columns: 1fr 1fr; gap: 18px 12px; padding: 8px 16px 40px; }
  .ov__bar { padding: 0 8px 0 16px; }
}

/* ================= print / PDF: one slide per 16:9 page ================= */
@page { size: 1920px 1080px; margin: 0; }
@media print {
  html, body { background: #fff; overflow: visible; height: auto; }
  .chrome, .hud, .progress, .presenter, .overview, .kbd-hint, .skip, .lg-btn, .lg-nudge, .lg-panel, .lg-scrim { display: none !important; }
  .stage { position: static; overflow: visible; }
  .frame { position: static; width: 1920px; height: auto; transform: none !important; }
  .slide { position: relative; width: 1920px; height: 1080px; overflow: hidden; contain: size layout paint; break-inside: avoid; page-break-inside: avoid; opacity: 1 !important; visibility: visible !important; break-after: page; page-break-after: always; transition: none !important; }
  .slide:last-child { break-after: auto; page-break-after: auto; }
  .slide * { animation: none !important; transition: none !important; }
  .slide [data-b] { opacity: 1 !important; transform: none !important; }
  .slide .grow, .slide img { transform: none !important; }
  .slide .fade, .slide .map text, .slide .map__pts, .slide .map__alba, .slide .plan .openings, .slide .plan .labels, .slide .plan .fix, .slide .plan .pool { opacity: 1 !important; }
  .slide .draw, .slide .map line:not(.map__trees), .slide .map__coast, .slide .plan .outer, .slide .plan .wall, .slide .plan .terr { stroke-dasharray: none !important; stroke-dashoffset: 0 !important; }
  .map__ring { display: none; }
}

/* ================= chart parts ================= */
.st-out { fill: none; stroke: var(--ink); stroke-width: 1; }
.st-out--dash { stroke-dasharray: 4 5; stroke: var(--mute-d); }
.st-in { font: 500 15px "Hanken Grotesk", sans-serif; letter-spacing: .06em; fill: var(--ink); }
.st-in--d { fill: #fff; }
.mk-area { fill: #eeefef; }
.mk-prime { fill: none; stroke: var(--ink); stroke-width: 2.6; stroke-linejoin: round; stroke-linecap: round; }
.mk-city { fill: none; stroke: #9a9d9f; stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; }
.mk-dot { fill: var(--ink); } .mk-dot--c { fill: #9a9d9f; }
.g-c { fill: var(--t3); } .g-m { fill: var(--t4); } .g-s { fill: var(--ink); }
.g-ms { fill: var(--ink); }
.wf-c { fill: var(--t3); } .wf-m { fill: var(--ink); } .wf-t { fill: none; stroke: var(--ink); stroke-width: 1.4; }
.c-strong { fill: var(--ink); font-weight: 400; }
.c-rule-d { stroke: #c9cbcd; stroke-width: 1; }
.rel-line { stroke: var(--ink); stroke-width: 1.4; }
.el-ground { stroke: var(--ink); stroke-width: 1.5; }
.el-body { fill: var(--paper); stroke: var(--ink); stroke-width: 1.2; }
.el-rib { fill: var(--plaster); stroke: var(--ink); stroke-width: .5; }
.el-bal { fill: var(--paper); stroke: var(--ink); stroke-width: 1.1; }
.el-col { stroke: var(--ink); stroke-width: 1.2; }
.el-lobby { fill: none; stroke: var(--ink); stroke-width: .7; }
.el-tree { fill: none; stroke: var(--ink); stroke-width: .7; }
.el-lead { stroke: var(--ink); stroke-width: .8; }
.el-pin { fill: var(--ink); }
.s--num .c-end, .s--num .c-lab { font-size: 18px; }
html[lang="he"] .s--num .c-end { font-size: 19px; }
@media (max-width: 899px), (orientation: portrait) and (max-width: 1100px) {
  .st-in { font-size: 10px; letter-spacing: 0; }
  .s--num .c-end, .s--num .c-lab { font-size: 11.5px; }
  html[lang="he"] .s--num .c-end { font-size: 12.5px; }
}
