@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:300 900;font-display:swap;src:url('fonts/FrankRuhlLibre-var-hebrew.woff2') format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:300 900;font-display:swap;src:url('fonts/FrankRuhlLibre-var-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Assistant';font-style:normal;font-weight:200 800;font-display:swap;src:url('fonts/Assistant-hebrew.woff2') format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:'Assistant';font-style:normal;font-weight:200 800;font-display:swap;src:url('fonts/Assistant-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root { --akx-ease: cubic-bezier(.22, .9, .3, 1); }
.akx-loader {
position: fixed; inset: 0; z-index: 95;
display: grid; place-items: center; overflow: hidden;
background: var(--akx-loader-bg, #111);
}
.akx-loader--lift { animation: akx-lift .9s cubic-bezier(.6, 0, .3, 1) forwards; }
@keyframes akx-lift { to { transform: translateY(-100%); } }
html.akx-loading { overflow: hidden; }
.akx-hero-item { opacity: 0; }
html.akx-go .akx-hero-item { animation: akx-hero-in .85s var(--akx-ease) forwards; }
html.akx-go .akx-d1 { animation-delay: .15s; }
html.akx-go .akx-d2 { animation-delay: .35s; }
html.akx-go .akx-d3 { animation-delay: .55s; }
html.akx-go .akx-d4 { animation-delay: .75s; }
@keyframes akx-hero-in { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
.akx-w { display: inline-block; overflow: hidden; vertical-align: bottom; }
.akx-wi {
display: inline-block; transform: translateY(110%);
transition: transform .7s var(--akx-ease);
transition-delay: calc(var(--wi, 0) * 55ms);
}
[data-split].in .akx-wi { transform: none; }
html.akx-loading [data-split] { visibility: hidden; }
[data-reveal] {
opacity: 0; transform: translateY(26px);
transition: opacity .7s var(--akx-ease), transform .7s var(--akx-ease);
}
[data-reveal].in { opacity: 1; transform: none; }
[data-reveal-group] > * {
opacity: 0; transform: translateY(20px);
transition: opacity .6s var(--akx-ease), transform .6s var(--akx-ease);
}
[data-reveal-group].in > * { opacity: 1; transform: none; }
[data-reveal-group].in > *:nth-child(2) { transition-delay: .1s; }
[data-reveal-group].in > *:nth-child(3) { transition-delay: .2s; }
[data-reveal-group].in > *:nth-child(4) { transition-delay: .3s; }
[data-reveal-group].in > *:nth-child(5) { transition-delay: .4s; }
[data-reveal-group].in > *:nth-child(6) { transition-delay: .5s; }
[data-reveal-group].in > *:nth-child(7) { transition-delay: .6s; }
[data-reveal-group].in > *:nth-child(8) { transition-delay: .7s; }
[data-unmask] { clip-path: inset(0 0 calc(100% - 2px) 0); transition: clip-path 1s var(--akx-ease); }
[data-unmask].in { clip-path: inset(0 0 0 0); }
[data-marquee] { overflow: hidden; white-space: nowrap; }
.akx-marq { display: inline-block; animation: akx-marq 26s linear infinite; }
[data-marquee]:hover .akx-marq { animation-play-state: paused; }
@keyframes akx-marq { to { transform: translateX(50%); } }
[dir="ltr"] .akx-marq { animation-name: akx-marq-ltr; }
@keyframes akx-marq-ltr { to { transform: translateX(-50%); } }
.akx-zoom { overflow: hidden; }
.akx-zoom img { transition: transform .8s var(--akx-ease); }
.akx-zoom:hover img { transform: scale(1.06) rotate(.4deg); }
.akx-gray2color img { filter: grayscale(1); transition: filter .5s var(--akx-ease), transform .8s var(--akx-ease); }
.akx-gray2color:hover img { filter: grayscale(0); transform: scale(1.04); }
.akx-stack > * { position: sticky; top: calc(70px + var(--stack-i, 0) * 14px); }
.akx-ambient { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
[data-hgallery] { position: relative; }
[data-hgallery] .akx-viewport { position: sticky; top: 0; overflow: hidden; }
[data-hgallery] .akx-track { display: flex; will-change: transform; }
[data-magnetic] { will-change: transform; }
[data-magnetic]:active { scale: .96; }
@media (prefers-reduced-motion: reduce) {
.akx-loader { display: none; }
.akx-hero-item, html.akx-go .akx-hero-item { opacity: 1; animation: none; }
.akx-wi { transform: none; transition: none; }
html.akx-loading [data-split] { visibility: visible; }
[data-reveal], [data-reveal-group] > * { opacity: 1; transform: none; transition: none; }
[data-unmask] { clip-path: none; transition: none; }
.akx-marq { animation: none; }
[data-parallax], [data-kinetic] { transform: none !important; }
}
:root {
--paper: #F2EEE4; --paper2: #E9E3D4; --card: #F8F5EE;
--ink: #0F1E3D; --ink2: #24345A; --mute: #55607A;
--navy: #0C1832; --navy2: #14244A;
--gold: #B38A2E; --gold-t: #7A5C14; --gold-hi: #D8B65E;
--line: rgba(15, 30, 61, .16); --grid: rgba(15, 30, 61, .05); --grid2: rgba(15, 30, 61, .09);
--ff-d: 'Frank Ruhl Libre', 'David', 'Times New Roman', serif;
--ff-b: 'Assistant', 'Arial Hebrew', Arial, sans-serif;
--hd: 72px; --wrap: 1240px;
--ease: cubic-bezier(.22, .9, .3, 1);
--a11y-accent: #D8B65E; --a11y-bg: #0C1832; --a11y-fg: #F2EEE4;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--hd) + 16px); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--ff-b); font-size: 1.0625rem; line-height: 1.7; overflow-x: clip; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--ff-d); font-weight: 700; line-height: 1.12; margin: 0; letter-spacing: 0; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font: inherit; color: inherit; }
.wrap { width: min(var(--wrap), 100% - 40px); margin-inline: auto; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: fixed; top: -60px; inset-inline-start: 16px; z-index: 200; background: var(--ink); color: var(--paper); padding: 10px 18px; text-decoration: none; }
.skip:focus { top: 12px; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
bdi { unicode-bidi: isolate; }
.bp { background-color: var(--paper); background-image:
linear-gradient(var(--grid2) 1px, transparent 1px), linear-gradient(90deg, var(--grid2) 1px, transparent 1px),
linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);
background-size: 140px 140px, 140px 140px, 28px 28px, 28px 28px; background-position: -1px -1px; }
.bp-dark { background-color: var(--navy); color: var(--paper); background-image:
linear-gradient(rgba(242, 238, 228, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(242, 238, 228, .07) 1px, transparent 1px),
linear-gradient(rgba(242, 238, 228, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(242, 238, 228, .035) 1px, transparent 1px);
background-size: 140px 140px, 140px 140px, 28px 28px, 28px 28px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 28px; background: var(--ink); color: var(--paper); border: 1px solid var(--ink); border-radius: 2px; font-weight: 700; font-size: 1.02rem; text-decoration: none; cursor: pointer; transition: background .25s, color .25s, transform .3s var(--ease); position: relative; }
.btn::after { content: ''; position: absolute; inset: 4px; border: 1px solid rgba(216, 182, 94, .55); pointer-events: none; }
.btn:hover { background: var(--ink2); }
.btn--gold { background: var(--gold-hi); color: var(--navy); border-color: var(--gold-hi); }
.btn--gold::after { border-color: rgba(12, 24, 50, .35); }
.btn--gold:hover { background: #E6C676; }
.btn--sm { min-height: 44px; padding: 0 20px; font-size: .95rem; }
.icons { display: flex; gap: 10px; flex-wrap: wrap; }
.ic { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: transparent; transition: background .2s, color .2s, border-color .2s; }
.ic svg { width: 21px; height: 21px; }
.ic:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.bp-dark .ic, .mnav .ic { color: var(--paper); border-color: rgba(242, 238, 228, .3); }
.bp-dark .ic:hover { background: var(--gold-hi); color: var(--navy); border-color: var(--gold-hi); }
.more { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--gold); padding-bottom: 3px; }
.more::after { content: '←'; transition: transform .3s var(--ease); }
.more:hover::after { transform: translateX(-5px); }
.more--lt { color: var(--paper); border-color: var(--gold-hi); }
.hd { position: fixed; inset: 0 0 auto; z-index: 80; height: var(--hd); transition: background .3s, box-shadow .3s; }
.hd.is-solid { background: rgba(242, 238, 228, .94); backdrop-filter: blur(8px); box-shadow: 0 1px 0 var(--line); }
.hd__in { height: 100%; display: flex; align-items: center; gap: 28px; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; margin-inline-end: auto; }
.brand img { width: 40px; height: auto; }
.brand__t { display: grid; line-height: 1.15; }
.brand__t b { font-family: var(--ff-d); font-size: 1.32rem; font-weight: 700; }
.brand__t small { font-size: .8rem; color: var(--mute); }
.nav { display: flex; gap: 22px; }
.nav a { text-decoration: none; font-size: .98rem; font-weight: 600; padding: 6px 0; background: linear-gradient(var(--gold), var(--gold)) no-repeat 100% 100% / 0 1.5px; transition: background-size .35s var(--ease); }
.nav a:hover, .nav a[aria-current] { background-size: 100% 1.5px; }
.burger { display: none; width: 48px; height: 48px; border: 1px solid var(--line); background: transparent; border-radius: 50%; cursor: pointer; place-items: center; align-content: center; gap: 6px; }
.burger span { display: block; width: 20px; height: 1.6px; background: var(--ink); transition: transform .3s var(--ease); }
html.nav-open .burger span:first-child { transform: translateY(3.8px) rotate(45deg); }
html.nav-open .burger span:last-child { transform: translateY(-3.8px) rotate(-45deg); }
.mnav { position: fixed; z-index: 79; top: 0; inset-inline: 0; padding: calc(var(--hd) + 10px) 22px 26px; background: var(--navy); color: var(--paper); transform: translateY(-102%); transition: transform .5s var(--ease); visibility: hidden; max-height: 100vh; overflow-y: auto; }
html.nav-open .mnav { transform: none; visibility: visible; }
html.nav-open .hd { background: var(--navy); }
html.nav-open .hd .brand, html.nav-open .hd .brand__t small { color: var(--paper); }
html.nav-open .burger span { background: var(--paper); }
html.nav-open .burger { border-color: rgba(242, 238, 228, .35); }
.mnav__l { display: flex; align-items: baseline; gap: 14px; padding: 13px 0; border-bottom: 1px solid rgba(242, 238, 228, .14); font-family: var(--ff-d); font-size: 1.6rem; text-decoration: none; }
.mnav__l small { font-family: var(--ff-b); font-size: .85rem; color: var(--gold-hi); width: 18px; }
.mnav__l[aria-current] { color: var(--gold-hi); }
.mnav__cta { display: grid; gap: 16px; margin-top: 22px; }
.mnav__cta .btn { background: var(--gold-hi); color: var(--navy); border-color: var(--gold-hi); }
.mnav-bd { position: fixed; inset: 0; z-index: 78; background: rgba(12, 24, 50, .4); opacity: 0; visibility: hidden; transition: opacity .3s; }
html.nav-open .mnav-bd { opacity: 1; visibility: visible; }
@media (max-width: 1080px) { .nav, .hd__cta { display: none; } .burger { display: grid; } }
.hero { position: relative; height: 260vh; }
.hero__st { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; display: flex; align-items: center; padding-top: var(--hd); }
.hero__g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); gap: clamp(24px, 4vw, 64px); align-items: center; height: 100%; }
.hero__txt { align-self: center; }
.hero__eb { font-size: .95rem; font-weight: 600; color: var(--gold-t); margin-bottom: 18px; display: flex; align-items: center; gap: 12px; }
.hero__eb::before { content: ''; width: 34px; height: 1px; background: var(--gold); }
.hero h1 { font-size: clamp(2.7rem, 6.4vw, 6.2rem); line-height: 1.02; }
.hero h1 span { display: block; }
.hero h1 .l1 { font-weight: calc(300 + 600 * var(--s1)); transition: font-weight .1s linear; }
.hero h1 .l2 { color: var(--gold-t); font-weight: 800; }
.hero__sub { margin-top: 22px; max-width: 40ch; font-size: 1.12rem; color: var(--ink2); }
.hero__cta { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.hero__hint { margin-top: 30px; font-size: .88rem; color: var(--mute); display: flex; align-items: center; gap: 12px; opacity: calc(1 - var(--p) * 4); }
.hero__hint i { width: 1px; height: 34px; background: linear-gradient(var(--gold), transparent); animation: hint 1.8s var(--ease) infinite; }
@keyframes hint { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
.hero__draw { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: center; padding-block: 10px 22px; min-height: 0; }
.hero { --p: 0;
--s1: clamp(0, (var(--p) - .1) / .22, 1);
--s2: clamp(0, (var(--p) - .42) / .24, 1);
--s3: clamp(0, (var(--p) - .74) / .12, 1); }
.bld { width: 100%; height: auto; max-height: calc(100svh - var(--hd) - 150px); margin-inline: auto; overflow: visible; }
.bld .ink * { fill: none; stroke: var(--ink); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.bld .ht { stroke-width: .7 !important; opacity: .65; }
.bld .dash { stroke-dasharray: 5 5; }
.bld .slab, .bld .slab2 { stroke-width: 2.4 !important; }
.bld .glass { fill: rgba(15, 30, 61, .05) !important; }
.bld .body { fill: var(--paper) !important; }
.bld .ground { stroke: var(--ink); stroke-width: 2.2; }
.bld .ground2 { stroke: var(--ink); stroke-width: .8; stroke-dasharray: 2 6; }
@media (min-width: 861px) and (prefers-reduced-motion: no-preference) {
.bld .b-old > * { stroke-dasharray: 1400; stroke-dashoffset: 1400; animation: draw 2.2s var(--ease) forwards; }
.bld .b-old > *:nth-child(n+8) { animation-delay: .35s; }
.bld .b-old > *:nth-child(n+20) { animation-delay: .7s; } }
@media (max-width: 860px) { .bld .b-old { animation: fadein .8s var(--ease) both; } }
@keyframes fadein { from { opacity: 0; } }
@keyframes draw { to { stroke-dashoffset: 0; } }
.bld .b-old { opacity: calc(1 - .88 * var(--s2)); }
.bld .b-heat { opacity: calc(1 - var(--s1)); }
.bld .b-381 { opacity: calc(var(--s1) * (1 - .8 * var(--s2))); }
.bld .b-jack { transform: scaleY(var(--s1)); transform-origin: 50% 100%; transform-box: fill-box; }
.bld .b-jack * { stroke: var(--gold) !important; fill: rgba(179, 138, 46, .12) !important; }
.bld .b-lift { transform: scaleY(calc(var(--s1) * 1)); transform-origin: 50% 100%; transform-box: fill-box; }
.bld .b-balc { opacity: clamp(0, var(--s1) * 2 - .6, 1); }
.bld .b-add { transform: translateY(calc((1 - var(--s1)) * -46px)); opacity: clamp(0, var(--s1) * 1.6 - .4, 1); }
.bld .b-new { transform: translateY(calc((1 - var(--s2)) * 540px)); }
.bld .b-pb { transform: translateY(calc((1 - var(--s3)) * 470px)); opacity: .55; }
.bld .b-pb * { stroke-width: 1 !important; }
.bld .apt * { stroke: var(--gold) !important; stroke-width: 2 !important; fill: rgba(216, 182, 94, .45) !important; }
.bld .apt-0 { opacity: calc(1 - var(--s1)); }
.bld .apt-1 { opacity: calc(var(--s1) * (1 - var(--s2))); }
.bld .apt-2 { opacity: var(--s2); transform: translateY(calc((1 - var(--s2)) * 540px)); }
.bld .apt-bal { fill: rgba(216, 182, 94, .8) !important; }
.bld .tag text { font-family: var(--ff-b); font-size: 15px; font-weight: 700; fill: var(--gold-t); paint-order: stroke; stroke: var(--paper); stroke-width: 6px; stroke-linejoin: round; }
.bld .tag .lead { stroke: var(--gold); stroke-width: 1; stroke-dasharray: 3 3; fill: none; }
.bld .tag circle { fill: var(--gold); }
.bld .tag-0 { opacity: calc(1 - var(--s1) * 2); }
.bld .tag-1 { opacity: calc(clamp(0, var(--s1) * 2 - 1, 1) * (1 - var(--s2) * 2)); }
.bld .tag-2 { opacity: clamp(0, var(--s2) * 2 - 1, 1); }
.bld .dim { opacity: calc(1 - var(--s3)); }
.bld .dim * { fill: var(--ink); stroke: var(--ink); stroke-width: .8; }
.bld .dim-bar { stroke: none; transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(calc((340 + 140 * var(--s1) + 42 * var(--s2)) / 522)); }
.bld .dim-top { transform: translateY(calc(182px - 140px * var(--s1) - 42px * var(--s2))); }
.tb { position: relative; border: 1.5px solid var(--ink); background: rgba(248, 245, 238, .92); margin-top: 6px; }
.tb__rail { height: 4px; background: var(--paper2); border-bottom: 1px solid var(--ink); }
.tb__rail i { display: block; height: 100%; width: calc(var(--p) * 100%); background: var(--gold); }
.tb__st { display: grid; min-height: 92px; }
.st { grid-area: 1 / 1; padding: 12px 16px 14px; display: grid; grid-template-columns: auto 1fr; column-gap: 16px; align-items: baseline; opacity: 0; transition: opacity .15s linear; }
.st__n { grid-row: span 2; font-size: .78rem; font-weight: 700; color: var(--mute); border-inline-end: 1px solid var(--line); padding-inline-end: 16px; align-self: stretch; display: flex; align-items: center; white-space: nowrap; }
.st b { font-family: var(--ff-d); font-size: 1.3rem; }
.st__t { font-size: .95rem; color: var(--ink2); line-height: 1.5; }
.st-0 { opacity: calc(1 - var(--s1) * 2); }
.st-1 { opacity: min(clamp(0, var(--s1) * 2 - 1, 1), calc(1 - var(--s2) * 2)); }
.st-2 { opacity: min(clamp(0, var(--s2) * 2 - 1, 1), calc(1 - var(--s3) * 2)); }
.st-3 { opacity: clamp(0, var(--s3) * 2 - 1, 1); }
html.flat .hero { height: auto; }
html.flat .hero__st { position: relative; height: auto; min-height: 0; padding-block: calc(var(--hd) + 30px) 50px; }
html.flat .hero { --p: 1 !important; }
html.flat .hero__hint { display: none; }
html.flat .bld .b-old > * { animation: none; stroke-dashoffset: 0; }
html.flat .tb__rail { display: none; }
html.flat .tb__st { display: block; }
html.flat .st { opacity: 1 !important; border-bottom: 1px solid var(--line); }
html.flat .hero h1 .l1 { font-weight: 800; }
main > .sec:not(.intro) { content-visibility: auto; contain-intrinsic-size: auto 900px; }
.sec { padding-block: clamp(70px, 10vw, 140px); position: relative; }
.sec__h { font-size: clamp(2rem, 4.6vw, 3.6rem); max-width: 22ch; }
.sec__lead { margin-top: 22px; font-size: 1.15rem; max-width: 56ch; color: var(--ink2); }
.sec__top { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 40px; }
.sec__top .sec__h { max-width: 26ch; }
.eb { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; font-weight: 700; font-size: .92rem; }
.eb__n { width: 30px; height: 30px; border: 1.5px solid currentColor; border-radius: 50%; display: grid; place-items: center; font-family: var(--ff-d); font-size: 1rem; color: var(--gold-t); }
.bp-dark .eb__n { color: var(--gold-hi); }
.eb__l { color: var(--mute); }
.bp-dark .eb__l { color: #B9C0D2; }
.muted { color: var(--mute); }
.intro__g { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.intro__fig { position: relative; margin: 0; }
.intro__fig::before { content: ''; position: absolute; inset: 16px 16px auto -16px; aspect-ratio: 1; border: 1px solid var(--gold); z-index: -1; }
.intro__fig img { width: 100%; aspect-ratio: 1; object-fit: cover; filter: saturate(.92); }
.intro__fig figcaption { margin-top: 30px; font-size: .9rem; color: var(--mute); }
.facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 36px 0 30px; border-top: 1px solid var(--ink); }
.facts li { padding: 16px 0 0; padding-inline-end: 14px; border-inline-start: 1px solid var(--line); padding-inline-start: 14px; }
.facts li:first-child { border-inline-start: 0; padding-inline-start: 0; }
.facts b { display: block; font-family: var(--ff-d); font-size: clamp(1.25rem, 2.2vw, 1.8rem); line-height: 1.15; }
.facts span { display: block; font-size: .88rem; color: var(--mute); margin-top: 6px; line-height: 1.4; }
.legend { margin-top: 46px; border-top: 1.5px solid var(--ink); counter-reset: l; }
.legend a { display: grid; grid-template-columns: 54px minmax(0, 1.1fr) minmax(0, 1.4fr) 40px; gap: 20px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line); text-decoration: none; position: relative; }
.legend a::before { content: ''; position: absolute; inset-block-end: -1px; inset-inline-start: 0; height: 1.5px; width: 0; background: var(--gold); transition: width .5s var(--ease); }
.legend a:hover::before, .legend a:focus-visible::before { width: 100%; }
.legend__k { width: 40px; height: 40px; border: 1.5px solid var(--ink); border-radius: 50%; display: grid; place-items: center; font-family: var(--ff-d); font-size: 1.15rem; font-weight: 700; transition: background .3s, color .3s; }
.legend a:hover .legend__k { background: var(--ink); color: var(--gold-hi); }
.legend b { font-family: var(--ff-d); font-size: clamp(1.2rem, 2.2vw, 1.65rem); line-height: 1.2; }
.legend__d { color: var(--mute); font-size: .98rem; line-height: 1.55; }
.legend__go svg, .sheets .legend__go svg { width: 26px; height: 26px; transition: transform .35s var(--ease); }
.legend a:hover .legend__go svg { transform: translateX(-6px); }
.strip { position: relative; }
.strip__nav { display: flex; gap: 10px; justify-content: flex-end; margin-bottom: 16px; }
.strip__nav button { width: 50px; height: 50px; border: 1.5px solid var(--ink); background: transparent; border-radius: 50%; cursor: pointer; display: grid; place-items: center; transition: background .2s, color .2s; }
.strip__nav button svg { width: 22px; height: 22px; }
.strip__nav [data-prev] svg { transform: scaleX(-1); }
.strip__nav button:hover { background: var(--ink); color: var(--paper); }
.strip__nav button:disabled { opacity: .3; cursor: default; background: transparent; color: var(--ink); }
.strip__track { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(250px, 26vw, 310px); gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; overscroll-behavior-x: contain; }
.strip__track::-webkit-scrollbar { display: none; }
.pj { scroll-snap-align: start; background: var(--card); border: 1px solid var(--line); display: flex; flex-direction: column; }
.pj__fig { aspect-ratio: 4 / 5; overflow: hidden; background: var(--paper2); border-bottom: 1px solid var(--line); }
.pj__fig img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.pj:hover .pj__fig img { transform: scale(1.04); }
.pj__draw { height: 100%; display: grid; place-items: center; align-content: center; gap: 10px; background-image: linear-gradient(var(--grid2) 1px, transparent 1px), linear-gradient(90deg, var(--grid2) 1px, transparent 1px); background-size: 20px 20px; }
.pj__draw svg { width: 46%; }
.pj__draw svg * { fill: none; stroke: var(--ink); stroke-width: 1.6; }
.pj__draw svg .dash { stroke: var(--gold); stroke-dasharray: 4 4; }
.pj__draw span { font-size: .78rem; color: var(--mute); }
.pj__t { padding: 16px 18px 18px; display: grid; gap: 4px; }
.pj__type { font-size: .82rem; font-weight: 700; color: var(--gold-t); }
.pj h3 { font-size: 1.32rem; }
.pj__meta { font-size: .92rem; color: var(--mute); }
.pj__st { font-size: .85rem; font-weight: 700; display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.pj__st i { width: 8px; height: 8px; border-radius: 50%; background: #2F7D4F; box-shadow: 0 0 0 3px rgba(47, 125, 79, .18); }
.civic__g { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 90px); align-items: center; }
.civic .sec__h { color: var(--paper); }
.civic__l { margin: 30px 0; border-top: 1px solid rgba(242, 238, 228, .25); }
.civic__l li { padding: 14px 0; border-bottom: 1px solid rgba(242, 238, 228, .14); font-size: 1.08rem; display: flex; gap: 14px; }
.civic__l li::before { content: ''; flex: 0 0 10px; height: 10px; margin-top: .6em; border: 1.5px solid var(--gold-hi); transform: rotate(45deg); }
.civic__fig { margin: 0; position: relative; }
.civic__fig::after { content: ''; position: absolute; inset: 12px; border: 1px solid rgba(216, 182, 94, .6); pointer-events: none; }
.civic__fig img { width: 100%; aspect-ratio: 560 / 462; object-fit: cover; }
.quotes { margin-top: 40px; }
.quotes__track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.quotes__track::-webkit-scrollbar { display: none; }
.quote { scroll-snap-align: start; margin: 0; padding-inline-end: 4px; }
.quote blockquote { margin: 0; position: relative; padding-top: 50px; }
.quote blockquote::before { content: '"'; position: absolute; top: -18px; inset-inline-start: -4px; font-family: var(--ff-d); font-size: 7rem; line-height: 1; color: var(--gold); }
.quote p { font-family: var(--ff-d); font-size: clamp(1.35rem, 2.9vw, 2.3rem); line-height: 1.38; font-weight: 500; max-width: 40ch; }
.quote figcaption { margin-top: 24px; display: flex; gap: 14px; align-items: baseline; flex-wrap: wrap; }
.quote figcaption b { font-size: 1.1rem; }
.quote figcaption span { font-size: .92rem; color: var(--gold-t); font-weight: 600; }
.quotes__nav { margin-top: 30px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.quotes__nav button { width: 50px; height: 50px; border: 1.5px solid var(--ink); background: transparent; border-radius: 50%; cursor: pointer; display: grid; place-items: center; }
.quotes__nav button svg { width: 22px; height: 22px; }
.quotes__nav [data-prev] svg { transform: scaleX(-1); }
.quotes__nav button:hover { background: var(--ink); color: var(--paper); }
.quotes__count { font-weight: 700; min-width: 64px; text-align: center; font-variant-numeric: tabular-nums; }
.quotes__nav .more { margin-inline-start: auto; }
.press { border-top: 1.5px solid var(--ink); }
.press a { display: grid; grid-template-columns: 50px 150px minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line); text-decoration: none; transition: background .3s; }
.press a:hover { background: rgba(216, 182, 94, .1); }
.press__n { font-family: var(--ff-d); font-size: 1.1rem; color: var(--gold-t); font-weight: 700; }
.press__o b { display: block; font-size: 1.05rem; }
.press__o small, .press__t small { display: block; color: var(--mute); font-size: .9rem; line-height: 1.45; }
.press__t b { display: block; font-family: var(--ff-d); font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.25; margin-bottom: 4px; }
.press__go { display: inline-flex; gap: 8px; align-items: center; font-weight: 700; font-size: .92rem; white-space: nowrap; }
.press__go svg { width: 20px; height: 20px; }
.press--links a { grid-template-columns: 50px minmax(0, 1fr) auto; }
.faq-g { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.3fr); gap: clamp(30px, 6vw, 90px); align-items: start; }
.faq-g .sec__h { margin-bottom: 26px; }
.faq { border-top: 1.5px solid var(--ink); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; list-style: none; padding: 20px 0; padding-inline-end: 40px; position: relative; font-family: var(--ff-d); font-weight: 700; font-size: clamp(1.1rem, 1.8vw, 1.3rem); line-height: 1.35; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ''; position: absolute; inset-inline-end: 6px; top: 50%; width: 14px; height: 14px; margin-top: -7px; background: linear-gradient(var(--ink), var(--ink)) center / 14px 1.6px no-repeat, linear-gradient(var(--ink), var(--ink)) center / 1.6px 14px no-repeat; transition: transform .3s var(--ease); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding-bottom: 22px; color: var(--ink2); max-width: 64ch; }
.faq-page { display: grid; gap: 56px; max-width: 900px; }
.faq-grp h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); margin-bottom: 18px; }
.faq-more { color: var(--mute); }
.faq-more a { color: var(--gold-t); font-weight: 700; }
.cta { padding-block: clamp(56px, 8vw, 100px); }
.cta__in { display: flex; justify-content: space-between; align-items: center; gap: 30px; flex-wrap: wrap; }
.cta h2 { font-size: clamp(2rem, 5vw, 3.8rem); color: var(--paper); }
.cta p { margin-top: 10px; color: #C3C9D8; }
.cta p a { color: var(--paper); text-decoration: none; }
.cta__r { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.ft { padding-block: 70px 24px; border-top: 1.5px solid var(--ink); }
.ft__g { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 36px; }
.ft__brand img { width: 230px; height: auto; margin-bottom: 20px; }
.ft h2 { font-family: var(--ff-b); font-size: .88rem; font-weight: 800; color: var(--gold-t); margin-bottom: 14px; }
.ft address { font-style: normal; line-height: 1.9; }
.ft ul li { padding: 3px 0; }
.ft a { text-decoration: none; }
.ft ul a:hover, .ft address a:hover { text-decoration: underline; text-decoration-color: var(--gold); }
.ft__bot { margin-top: 50px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 8px 26px; font-size: .9rem; color: var(--mute); }
.ft__bot span { margin-inline-end: auto; }
.ft__bot a { color: var(--mute); }
.fl { position: fixed; inset-inline-end: 18px; bottom: 18px; z-index: 70; display: grid; gap: 10px; }
.fl .ic { width: 54px; height: 54px; border: 0; box-shadow: 0 6px 20px rgba(12, 24, 50, .3); }
.fl .ic svg { width: 25px; height: 25px; }
.fl .ic--wa { background: #1F7A4D; color: #fff; }
.fl .ic--tel { background: var(--ink); color: var(--paper); }
html.nav-open .fl { visibility: hidden; }
.fl { transition: opacity .3s, transform .3s var(--ease); }
html.in-hero .fl { opacity: 0; transform: translateY(20px); pointer-events: none; }
.phead { padding: calc(var(--hd) + clamp(40px, 7vw, 90px)) 0 clamp(44px, 6vw, 80px); border-bottom: 1.5px solid var(--ink); }
.phead h1 { font-size: clamp(2.5rem, 7vw, 5.4rem); line-height: 1.05; max-width: 18ch; }
.phead__lead { margin-top: 22px; font-size: 1.18rem; color: var(--ink2); max-width: 54ch; }
.crumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: .88rem; color: var(--mute); margin-bottom: 26px; }
.crumbs li + li::before { content: '/'; margin-inline-end: 6px; color: var(--gold); }
.crumbs a { text-decoration: none; }
.crumbs a:hover { text-decoration: underline; }
.sheet-code { display: inline-block; font-size: .85rem; font-weight: 700; border: 1.5px solid var(--ink); padding: 4px 12px; margin-bottom: 18px; background: var(--card); }
.body-g { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(36px, 6vw, 90px); padding-block: clamp(50px, 7vw, 90px); align-items: start; }
.prose { max-width: 68ch; }
.prose p { margin-bottom: 1.1em; color: #22304F; }
.prose h2 { font-size: clamp(1.45rem, 3vw, 2rem); margin: 1.7em 0 .55em; }
.prose h2:first-child { margin-top: 0; }
.prose .faq { margin-top: 10px; }
.ticks { margin: 26px 0 10px; display: grid; gap: 0; border-top: 1px solid var(--line); }
.ticks li { padding: 12px 0; border-bottom: 1px solid var(--line); display: flex; gap: 14px; }
.ticks li::before { content: ''; flex: 0 0 9px; height: 9px; margin-top: .62em; border: 1.5px solid var(--gold); transform: rotate(45deg); }
.ticks--grid { grid-template-columns: 1fr 1fr; column-gap: 28px; }
.aside { position: sticky; top: calc(var(--hd) + 24px); display: grid; gap: 30px; }
.aside__box { padding: 26px; }
.aside__box h2 { font-size: 1.6rem; color: var(--paper); }
.aside__box p { color: #C3C9D8; margin: 8px 0 18px; font-size: .98rem; }
.aside__box .icons { margin-bottom: 18px; }
.aside__links h3 { font-family: var(--ff-b); font-size: .88rem; font-weight: 800; color: var(--gold-t); margin-bottom: 8px; }
.aside__links a { display: block; padding: 10px 0; border-bottom: 1px solid var(--line); text-decoration: none; font-weight: 600; }
.aside__links a:hover { color: var(--gold-t); }
.pager { margin-top: 44px; padding-top: 24px; border-top: 1.5px solid var(--ink); }
.about__g { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: clamp(36px, 6vw, 90px); align-items: start; }
.about__fig { margin: 0; position: sticky; top: calc(var(--hd) + 24px); }
.about__fig img { width: 100%; height: auto; background: #fff; border: 1px solid var(--line); }
.sheets { border-top: 1.5px solid var(--ink); }
.sheets a { display: grid; grid-template-columns: 110px minmax(0, 1fr) minmax(0, 1.2fr) 40px; gap: 22px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.sheets a:hover { background: rgba(216, 182, 94, .1); }
.sheets__k { font-size: .85rem; font-weight: 700; border: 1.5px solid var(--ink); padding: 3px 10px; justify-self: start; }
.sheets b { font-family: var(--ff-d); font-size: clamp(1.25rem, 2.4vw, 1.8rem); line-height: 1.2; }
.sheets__d { color: var(--mute); }
.filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.filters button { min-height: 44px; padding: 0 18px; border: 1.5px solid var(--ink); background: transparent; border-radius: 999px; cursor: pointer; font-weight: 700; font-size: .95rem; }
.filters button small { color: var(--gold-t); margin-inline-start: 4px; }
.filters button[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
.filters button[aria-pressed="true"] small { color: var(--gold-hi); }
.pj-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 22px; }
.pj[hidden] { display: none; }
.contact__g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 90px); align-items: start; }
.sub-h { font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 36px 0 18px; }
.contact__g > div > .sub-h:first-child { margin-top: 0; }
.form { display: grid; gap: 16px; }
.form label { display: grid; gap: 6px; font-weight: 700; font-size: .95rem; }
.form input, .form textarea, .form select { font: inherit; font-weight: 400; color: var(--ink); background: var(--card); border: 1.5px solid var(--ink); border-radius: 2px; padding: 12px 14px; min-height: 50px; width: 100%; }
.form input[type="tel"] { text-align: right; }
.form textarea { resize: vertical; }
.form__err { color: #9B2C1F; font-weight: 700; min-height: 1.4em; }
.form__note { font-size: .88rem; color: var(--mute); }
.form .btn { justify-self: start; }
.nap { border-top: 1.5px solid var(--ink); margin: 0 0 22px; }
.nap div { display: grid; grid-template-columns: 100px 1fr; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.nap dt { font-weight: 800; color: var(--gold-t); font-size: .92rem; }
.nap dd { margin: 0; }
.nap a { text-decoration: none; font-weight: 600; }
.map { margin: 18px 0; aspect-ratio: 16 / 10; border: 1.5px solid var(--ink); background: var(--paper2); background-image: linear-gradient(var(--grid2) 1px, transparent 1px), linear-gradient(90deg, var(--grid2) 1px, transparent 1px); background-size: 24px 24px; display: grid; place-items: center; }
.map iframe { width: 100%; height: 100%; border: 0; }
.map__btn { min-height: 50px; padding: 0 22px; border: 1.5px solid var(--ink); background: var(--card); cursor: pointer; font-weight: 700; display: grid; line-height: 1.3; }
.map__btn small { font-weight: 400; color: var(--mute); font-size: .8rem; }
@media (max-width: 960px) {
.intro__g, .civic__g, .faq-g, .contact__g, .about__g, .body-g { grid-template-columns: 1fr; }
.intro__fig { max-width: 340px; }
.about__fig { position: static; max-width: 380px; }
.aside { position: static; }
.facts { grid-template-columns: 1fr 1fr; row-gap: 20px; }
.facts li:nth-child(3) { border-inline-start: 0; padding-inline-start: 0; }
.legend a { grid-template-columns: 46px minmax(0, 1fr) 30px; row-gap: 6px; }
.legend__d { grid-column: 2; grid-row: 2; }
.legend__go { grid-column: 3; grid-row: 1 / span 2; }
.sheets a { grid-template-columns: minmax(0, 1fr) 30px; row-gap: 8px; }
.sheets__k, .sheets b, .sheets__d { grid-column: 1; }
.sheets .legend__go { grid-column: 2; grid-row: 1 / span 3; }
.press a { grid-template-columns: 36px minmax(0, 1fr); row-gap: 6px; }
.press__o, .press__t, .press__go { grid-column: 2; }
.ft__g { grid-template-columns: 1fr 1fr; }
.ft__brand { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
.hero { height: 230vh; }
.hero__st { padding-top: calc(var(--hd) + 4px); align-items: stretch; }
.hero__g { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); gap: 8px; align-content: start; padding-bottom: 12px; }
.hero__eb { font-size: .82rem; margin-bottom: 8px; }
.hero h1 { font-size: clamp(2.3rem, 10.5vw, 3.4rem); }
.hero__sub { display: none; }
.hero__cta { margin-top: 14px; gap: 10px; }
.hero__cta .btn { min-height: 46px; padding: 0 20px; }
.hero__cta .icons { display: none; }
.hero__hint { display: none; }
.hero__draw { padding-block: 4px 76px; justify-content: center; }
.bld { max-height: none; height: auto; min-height: 0; flex: 0 1 auto; }
.tb__st { min-height: 84px; }
.st { padding: 9px 12px 11px; column-gap: 12px; }
.st__n { padding-inline-end: 12px; font-size: .72rem; }
.st b { font-size: 1.1rem; }
.st__t { font-size: .86rem; }
html.flat .bld { height: auto; }
}
@media (max-width: 600px) {
:root { --hd: 64px; }
.wrap { width: calc(100% - 32px); }
.brand__t b { font-size: 1.15rem; }
.brand img { width: 34px; }
.ticks--grid { grid-template-columns: 1fr; }
.facts b { font-size: 1.15rem; }
.ft__g { grid-template-columns: 1fr; }
.quotes__nav .more { margin-inline-start: 0; flex-basis: 100%; }
.strip__track { grid-auto-columns: 74vw; gap: 14px; }
.nap div { grid-template-columns: 82px 1fr; }
.fl .ic { width: 50px; height: 50px; }
}
@media (min-height: 780px) and (max-width: 860px) { .hero__sub { display: block; margin-top: 12px; font-size: 1rem; line-height: 1.55; } }
@media (max-height: 640px) and (max-width: 860px) { .hero__cta { display: none; } }
html.a11y-no-motion *, html.a11y-no-motion *::before, html.a11y-no-motion *::after { animation: none !important; transition: none !important; }
html.a11y-contrast { --paper: #FFFFFF; --card: #FFFFFF; --ink: #000814; --mute: #2A3142; --gold-t: #5C4408; }
html.a11y-contrast .bp, html.a11y-contrast .bp-dark { background-image: none; }
@media print { .hd, .fl, .mnav, .a11y-btn { display: none !important; } .hero { height: auto; } .hero__st { position: static; height: auto; } }
