@font-face { font-family:"Onest"; src:url("../fonts/onest-variable.woff2") format("woff2"),url("../fonts/onest-variable.ttf") format("truetype"); font-style:normal; font-weight:100 900; font-display:swap; }
:root { color-scheme: light; --bg:#f5efe2; --bg-2:#ede6d6; --card:#fbf8f1; --ink:#141416; --ink-soft:#2b2b30; --mute:#8b847a; --line:#dad2bf; --ghost:#c5bfae; --accent-1:#d9351f; --accent-2:#e85a2b; --accent-3:#f58b4e; --accent-4:#fdc68a; --ok:#4d6b3c; --container:1240px; }
html[data-layer="zhit"] { --bg:#f3f0e8; --bg-2:#e9e5da; --card:#fbf9f4; --accent-1:#4d6b3c; --accent-2:#6b8a4a; --accent-3:#9ab36a; --accent-4:#d8dfb4; --ghost:#c5c8b8; }
html[data-layer="sozdavat"] { --bg:#f1efe9; --bg-2:#e6e4dc; --card:#fbfaf6; --accent-1:#8a6a2a; --accent-2:#b8924a; --accent-3:#d9b866; --accent-4:#f0dfa8; --ghost:#c9c2ab; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--bg); }
body { margin:0; min-width:320px; overflow-x:hidden; background:radial-gradient(90% 40% at 60% -10%, #fbf7ed 0, transparent 72%),var(--bg); color:var(--ink); font-family:"Golos Text", Inter, Arial, sans-serif; -webkit-font-smoothing:antialiased; }
body:before { content:""; position:fixed; z-index:-1; inset:auto -12vw -22vw; height:48vw; pointer-events:none; background:radial-gradient(circle, color-mix(in srgb,var(--accent-4) 38%,transparent), transparent 67%); filter:blur(20px); opacity:.3; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; }
.grain { position:fixed; z-index:30; inset:0; pointer-events:none; opacity:.055; mix-blend-mode:multiply; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.container { width:min(var(--container),calc(100% - 96px)); margin:0 auto; }
.site-header { position:fixed; z-index:20; top:16px; left:50%; width:min(1340px,calc(100% - 32px)); transform:translateX(-50%); display:grid; grid-template-columns:auto auto 1fr auto; align-items:center; gap:20px; padding:15px 16px 15px 20px; border:2px solid rgba(255,255,255,.7); border-radius:28px; background:rgba(250,247,239,.72); backdrop-filter:blur(24px) saturate(120%); box-shadow:0 15px 40px rgba(60,45,25,.09),inset 0 1px rgba(255,255,255,.7); }
.brand { display:flex; align-items:center; gap:10px; width:max-content; }
.brand-mark { display:flex; align-items:end; gap:3px; width:58px; height:58px; padding:0 16px 12px; border-radius:19px 19px 19px 7px; background:var(--accent-1); transform:rotate(-6deg); transition:background .35s ease; }
.brand-mark i { display:block; width:5px; border-radius:4px; background:#fff; }.brand-mark i:nth-child(1){height:22px}.brand-mark i:nth-child(2){height:15px}.brand-mark i:nth-child(3){height:9px}
.brand strong,.brand small { display:block; line-height:1; }.brand strong { font-size:22px; letter-spacing:-.07em; }.brand small { margin-top:7px; color:var(--mute); font:13px/1 "JetBrains Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.layer-switcher { display:flex; gap:3px; align-items:center; padding:3px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.33); }
.layer-switcher a { padding:13px 20px; border-radius:999px; color:var(--mute); font-size:17px; transition:color .2s,background .2s; white-space:nowrap; }.layer-switcher a:hover { color:var(--ink); }.layer-switcher a.is-active { color:#fff; background:var(--ink); }
.anchor-nav { display:flex; justify-content:flex-end; gap:20px; color:var(--mute); font:10px "JetBrains Mono",monospace; text-transform:uppercase; letter-spacing:.08em; }.anchor-nav a:hover { color:var(--ink); }
.collector-top { display:flex; justify-self:end; align-items:center; gap:12px; min-height:58px; padding:10px 16px 10px 24px; border:0; border-radius:999px; cursor:pointer; color:#fff; background:var(--ink); font-size:16px; white-space:nowrap; }.collector-top b { display:grid; place-items:center; min-width:42px; height:42px; border-radius:50%; color:var(--ink); background:var(--accent-4); font:16px "JetBrains Mono",monospace; }.collector-top span{font-size:23px;color:var(--accent-4)}
.section-pad { padding:100px 0 24px; }.hero { min-height:780px; padding-top:84px; overflow:hidden; }.hero-intro { position:relative; z-index:2; }.eyebrow { margin:0 0 15px; color:var(--accent-1); font:500 10px/1.3 "JetBrains Mono",monospace; letter-spacing:.14em; text-transform:uppercase; }.hero h1 { max-width:900px; margin:0; font-size:clamp(58px,10vw,118px); line-height:.88; letter-spacing:-.075em; font-weight:800; }.hero h1 em,.section-heading h2 em { color:var(--mute); font-style:normal; font-weight:400; }.hero-copy { max-width:700px; margin:26px 0 23px; color:var(--ink-soft); font-size:18px; line-height:1.5; }.hero-actions { display:flex; align-items:center; gap:18px; }.pill-button { display:inline-flex; align-items:center; gap:10px; padding:15px 23px 15px 25px; border-radius:999px; color:#fff; background:var(--accent-1); font-size:16px; transition:transform .25s,background .25s; }.pill-button:hover { transform:translateY(-2px); background:var(--ink); }.pill-button span { font-size:22px; }.hero-note { color:var(--mute); font:13px "JetBrains Mono",monospace; letter-spacing:.04em; }
.hero-visual { position:relative; height:430px; margin-top:44px; }.ghost-word { position:absolute; z-index:0; top:4px; left:-2vw; width:100%; color:var(--ghost); font-size:clamp(110px,18vw,280px); line-height:.8; font-weight:800; font-style:italic; letter-spacing:-.09em; white-space:nowrap; opacity:.9; user-select:none; }.hero-cards { position:relative; z-index:1; display:flex; justify-content:center; gap:18px; padding-top:20px; }.hero-card { position:relative; flex:0 0 150px; height:210px; padding:0; overflow:hidden; border:6px solid var(--accent-2); border-radius:22px; cursor:pointer; background:var(--card) var(--card-image) center/cover; box-shadow:0 30px 50px -16px color-mix(in srgb,var(--accent-1) 80%,transparent),0 14px 26px -8px color-mix(in srgb,var(--accent-2) 60%,transparent); transform:rotate(calc((var(--i) - 3.5) * 2deg)) translateY(calc(abs(var(--i) - 3.5) * 2px)); animation:float 5.2s ease-in-out infinite; animation-delay:calc(var(--i) * -280ms); transition:transform .35s,filter .35s; }.hero-card:nth-child(2n){border-color:var(--accent-3);}.hero-card:hover { z-index:2; transform:translateY(-15px) rotate(0) scale(1.07); }.hero-card-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.04) 25%,rgba(0,0,0,.65)); }.hero-card-label { position:absolute; right:12px; bottom:12px; left:12px; color:#fff; text-align:left; font-size:16px; font-weight:600; }.hero-card-arrow { position:absolute; top:8px; right:10px; color:#fff; font-size:22px; }.hero-scroll-hint { display:flex; align-items:center; justify-content:center; gap:10px; margin-top:38px; color:var(--mute); font:12px "JetBrains Mono",monospace; text-transform:uppercase; letter-spacing:.1em; }.hero-scroll-hint .line { width:48px; height:2px; background:var(--accent-2); }
@keyframes float { 0%,100%{margin-top:0}50%{margin-top:-8px} }
.intent-section { position:relative; padding-top:94px; background:var(--ink); color:#fff; overflow:hidden; }.intent-section:before { content:""; position:absolute; top:-25%; right:-6%; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--accent-2) 42%,transparent),transparent 66%); filter:blur(24px); opacity:.9; }.intent-layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(260px,1fr) 440px; gap:70px; align-items:center; }.intent-copy .eyebrow { color:var(--accent-3); }.intent-copy h2,.section-heading h2 { margin:0; max-width:590px; font-size:clamp(38px,5.2vw,68px); line-height:.92; letter-spacing:-.07em; font-weight:800; }.intent-copy p:not(.eyebrow),.section-heading>p { max-width:400px; margin:25px 0 20px; color:rgba(255,255,255,.68); font-size:14px; line-height:1.55; }.text-button { padding:0 0 5px; border:0; border-bottom:1px solid var(--accent-3); background:transparent; color:#fff; cursor:pointer; font-size:12px; }.text-button span { color:var(--accent-3); margin-left:6px; font-size:17px; }
.intent-wheel { position:relative; width:390px; height:390px; margin:auto; border:1px solid rgba(255,255,255,.19); border-radius:50%; }.intent-wheel:before,.intent-wheel:after { content:""; position:absolute; inset:18px; border:1px solid rgba(255,255,255,.1); border-radius:50%; }.intent-wheel:after { inset:54px; border-color:rgba(255,255,255,.08); }.wheel-pointer { position:absolute; z-index:3; top:-9px; left:50%; width:1px; height:40px; background:var(--accent-3); }.wheel-pointer:after { content:""; position:absolute; top:0; left:-5px; border:5px solid transparent; border-top-color:var(--accent-3); }.intent-orbit { position:absolute; inset:0; z-index:2; transform:rotate(var(--rotation,0deg)); transition:transform .7s cubic-bezier(.22,1,.36,1); }.intent-choice { position:absolute; top:50%; left:50%; width:128px; padding:9px 12px; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:rgba(255,255,255,.09); color:rgba(255,255,255,.66); cursor:pointer; font-size:11px; transform:rotate(calc(var(--i) * 60deg)) translateY(-178px) rotate(calc(var(--i) * -60deg)); transition:color .35s,background .35s,border .35s; }.intent-choice.is-active { color:var(--ink); background:var(--accent-3); border-color:var(--accent-3); }.intent-center { position:absolute; inset:95px; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:22px; border-radius:50%; background:rgba(255,255,255,.07); text-align:center; }.intent-center-kicker { margin-bottom:9px; color:var(--accent-3); font:9px "JetBrains Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }.intent-center strong { font-size:21px; letter-spacing:-.04em; }.intent-center span:last-child { max-width:150px; margin-top:8px; color:rgba(255,255,255,.6); font-size:11px; line-height:1.35; }.intent-result { position:relative; z-index:1; padding-top:22px; color:rgba(255,255,255,.52); font:10px "JetBrains Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }
.catalog-section { padding-top:120px; }.section-heading { display:flex; justify-content:space-between; gap:50px; align-items:end; margin-bottom:70px; }.section-heading>p { margin:0 0 5px; color:var(--mute); }.catalog-row { scroll-margin-top:110px; padding:36px 0 48px; border-top:1px solid var(--line); }.row-heading { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; margin-bottom:26px; }.row-heading>div:last-child { display:flex; justify-content:space-between; gap:20px; padding-top:7px; }.row-heading>div:last-child p { max-width:260px; margin:0; color:var(--mute); font-size:12px; line-height:1.4; }.row-heading h3 { display:inline; margin:0; font-size:clamp(29px,4vw,52px); line-height:.95; letter-spacing:-.065em; font-weight:700; }.row-heading h3:before { content:""; display:inline-block; width:11px; height:11px; margin:0 13px 7px 0; border-radius:50%; background:var(--accent-2); }.row-index { display:block; margin-bottom:8px; color:var(--accent-1); font:10px "JetBrains Mono",monospace; }.row-heading a { color:var(--accent-1); font:10px "JetBrains Mono",monospace; white-space:nowrap; text-transform:uppercase; }
.cards-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }.place-card { min-width:0; transition:opacity .45s,filter .45s; }.place-card.is-muted { opacity:.25; filter:grayscale(1); }.card-media { position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:20px; background:var(--bg-2); }.card-media img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s; }.place-card:hover .card-media img { transform:scale(1.045); }.place-zone { position:absolute; top:12px; left:12px; padding:6px 8px; border:1px solid rgba(255,255,255,.24); border-radius:999px; background:rgba(16,16,16,.36); color:#fff; backdrop-filter:blur(8px); font:9px "JetBrains Mono",monospace; letter-spacing:.09em; }.add-button { position:absolute; top:10px; right:10px; display:grid; place-items:center; width:35px; height:35px; border:1px solid rgba(255,255,255,.48); border-radius:50%; cursor:pointer; background:rgba(255,255,255,.2); color:#fff; backdrop-filter:blur(10px); font-size:20px; line-height:1; transition:background .2s,transform .3s; }.add-button:hover { transform:scale(1.1); background:var(--accent-1); }.is-selected .add-button { background:var(--accent-1); border-color:var(--accent-1); }.card-hover-desc { position:absolute; right:12px; bottom:12px; left:12px; margin:0; padding-top:26px; color:#fff; font-size:11px; line-height:1.35; opacity:0; transform:translateY(8px); transition:opacity .3s,transform .3s; }.card-hover-desc:before { content:""; position:absolute; inset:0 -12px -12px; z-index:-1; background:linear-gradient(transparent,rgba(0,0,0,.7)); }.place-card:hover .card-hover-desc { opacity:1; transform:translateY(0); }.card-body { padding:14px 3px 0; }.card-title-row { display:flex; justify-content:space-between; gap:14px; align-items:start; }.card-title-row h4 { margin:0; font-size:18px; line-height:1.1; letter-spacing:-.045em; font-weight:600; }.price { flex:0 0 auto; color:var(--ink); font:10px/1.25 "JetBrains Mono",monospace; text-align:right; }.price.included { color:var(--ok); }.access { margin:8px 0 10px; color:var(--mute); font-size:11px; }.tags { display:flex; flex-wrap:wrap; gap:5px; }.tags span { padding:4px 7px; border-radius:999px; background:var(--bg-2); color:var(--mute); font:9px "JetBrains Mono",monospace; text-transform:lowercase; }
.territory-section { padding-top:120px; }.territory-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:24px; }.territory-plan { position:relative; min-height:500px; overflow:hidden; border-radius:28px; background:linear-gradient(140deg,#e5ddc7,#c1cfac); box-shadow:inset 0 0 0 1px rgba(255,255,255,.6); }.territory-plan:before { content:""; position:absolute; inset:10% -10% 8% 8%; border:28px solid rgba(255,255,255,.36); border-radius:48% 53% 42% 50%; transform:rotate(-12deg); }.plan-sun { position:absolute; top:13%; right:17%; width:90px; height:90px; border-radius:50%; background:var(--accent-4); opacity:.7; filter:blur(2px); }.plan-lake { position:absolute; top:28%; left:34%; width:160px; height:300px; border-radius:55% 45% 48% 60%; background:#9bb5b0; transform:rotate(35deg); box-shadow:30px 4px 0 rgba(155,181,176,.45); }.plan-road { position:absolute; height:3px; background:rgba(115,100,70,.25); transform-origin:left center; }.road-one{top:61%;left:10%;width:80%;transform:rotate(-18deg)}.road-two{top:30%;left:18%;width:65%;transform:rotate(29deg)}.plan-label { position:absolute; right:20px; bottom:17px; color:rgba(20,20,22,.48); font:9px "JetBrains Mono",monospace; letter-spacing:.14em; text-transform:uppercase; }.plan-pin { position:absolute; z-index:2; display:flex; align-items:center; gap:6px; padding:0; border:0; background:none; cursor:pointer; font:10px "JetBrains Mono",monospace; text-transform:uppercase; }.plan-pin i { display:block; width:13px; height:13px; border:3px solid var(--bg); border-radius:50%; background:var(--accent-1); box-shadow:0 3px 12px rgba(0,0,0,.18); transition:transform .2s; }.plan-pin:hover i,.plan-pin.is-active i { transform:scale(1.45); }.pin-1{top:24%;left:18%}.pin-2{top:45%;left:67%}.pin-3{top:72%;left:28%}.pin-4{top:75%;left:69%}.zone-list { display:grid; gap:11px; }.zone-card { padding:18px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.34); transition:background .25s,transform .25s; }.zone-card:hover { transform:translateX(4px); background:var(--card); }.zone-code { color:var(--accent-1); font:9px "JetBrains Mono",monospace; letter-spacing:.12em; }.zone-card h3 { margin:15px 0 6px; font-size:21px; letter-spacing:-.05em; }.zone-card p { margin:0 0 15px; color:var(--mute); font-size:11px; line-height:1.45; }.zone-items { color:var(--ink-soft); font:9px "JetBrains Mono",monospace; }
.stats-section { padding:105px 0 125px; }.stats-section>.container>.eyebrow { margin-bottom:36px; }.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }.stat { padding-top:20px; border-top:1px solid var(--line); }.stat strong { display:inline-block; font-size:clamp(48px,7vw,92px); line-height:.8; letter-spacing:-.08em; font-weight:800; }.stat span { display:block; margin-top:11px; color:var(--accent-1); font:10px "JetBrains Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }.stat p { margin:16px 0 0; color:var(--mute); font-size:12px; line-height:1.3; }
.handoff-section { position:relative; overflow:hidden; background:var(--ink); color:#fff; }.handoff-section:after { content:""; position:absolute; right:-120px; bottom:-220px; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--accent-2) 40%,transparent),transparent 67%); filter:blur(28px); }.light-heading { position:relative; z-index:1; }.light-heading h2 em { color:rgba(255,255,255,.48); }.light-heading>p { color:rgba(255,255,255,.58); }.handoff-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.handoff-card { min-height:265px; padding:19px; border:1px solid rgba(255,255,255,.16); border-radius:19px; background:rgba(255,255,255,.055); transition:transform .3s,border .3s,background .3s; }.handoff-card:hover { transform:translateY(-5px); border-color:var(--accent-3); background:rgba(255,255,255,.1); }.handoff-card.is-placeholder { border-style:dashed; }.handoff-number { color:var(--accent-3); font:10px "JetBrains Mono",monospace; }.handoff-card h3 { margin:50px 0 9px; font-size:25px; letter-spacing:-.06em; }.handoff-card p { min-height:35px; margin:0; color:rgba(255,255,255,.55); font-size:11px; line-height:1.4; }.handoff-link { display:block; margin-top:24px; color:var(--accent-3); font:10px "JetBrains Mono",monospace; }.handoff-link b { font-size:15px; font-weight:400; }
.bridge-section { position:relative; min-height:520px; display:flex; align-items:center; color:#fff; background:var(--bridge-image) center/cover; }.bridge-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,18,16,.83),rgba(15,18,16,.15)); }.bridge-content { position:relative; z-index:1; }.bridge-content .eyebrow { color:var(--accent-3); }.bridge-content h2 { max-width:680px; margin:0; font-size:clamp(44px,6.8vw,92px); line-height:.9; letter-spacing:-.08em; }.bridge-content>p:not(.eyebrow) { max-width:425px; margin:22px 0 25px; color:rgba(255,255,255,.72); font-size:14px; line-height:1.5; }.light-pill { color:var(--ink); background:#fff; }.light-pill span { color:var(--accent-1); }.site-footer { padding:24px 0 40px; color:var(--mute); font:9px "JetBrains Mono",monospace; }.site-footer .container { display:flex; justify-content:space-between; gap:20px; }
.collector-tray { position:fixed; z-index:19; right:16px; bottom:16px; left:16px; display:flex; justify-content:center; animation:tray-in .45s cubic-bezier(.2,.8,.2,1); }.collector-tray-inner { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px; width:min(1100px,100%); padding:12px 14px; border:1px solid rgba(255,255,255,.75); border-radius:18px; background:rgba(20,20,22,.92); color:#fff; box-shadow:0 20px 40px rgba(20,20,22,.25); backdrop-filter:blur(18px); }.collector-summary { display:grid; grid-template-columns:auto auto; align-items:center; column-gap:9px; }.collector-dot { grid-row:span 2; width:8px; height:8px; border-radius:50%; background:var(--accent-3); box-shadow:0 0 0 5px color-mix(in srgb,var(--accent-3) 20%,transparent); }.collector-summary strong { font-size:12px; }.collector-summary small { color:rgba(255,255,255,.5); font:9px "JetBrains Mono",monospace; }.collector-items { display:flex; gap:6px; overflow:auto; scrollbar-width:none; }.collector-items::-webkit-scrollbar{display:none}.collector-chip { display:flex; align-items:center; gap:6px; flex:0 0 auto; padding:7px 8px 7px 10px; border:1px solid rgba(255,255,255,.17); border-radius:999px; color:rgba(255,255,255,.78); font-size:10px; }.collector-chip button { width:16px; height:16px; padding:0; border:0; border-radius:50%; cursor:pointer; color:#fff; background:rgba(255,255,255,.12); line-height:12px; }.collector-submit { display:flex; align-items:center; gap:10px; padding:11px 14px; border:0; border-radius:999px; cursor:pointer; background:var(--accent-3); color:var(--ink); font-size:11px; white-space:nowrap; }.collector-submit span{font-size:15px}.toast { position:fixed; z-index:40; left:50%; bottom:95px; padding:10px 15px; border-radius:999px; color:#fff; background:var(--ink); box-shadow:0 12px 30px rgba(0,0,0,.18); font-size:11px; opacity:0; transform:translate(-50%,10px); pointer-events:none; transition:opacity .25s,transform .25s; }.toast.is-visible { opacity:1; transform:translate(-50%,0); }
@keyframes tray-in { from{opacity:0;transform:translateY(25px)} to{opacity:1;transform:none} }
.loading-state { min-height:80vh; display:grid; place-items:center; color:var(--mute); font:11px "JetBrains Mono",monospace; }
.noscript-fallback { min-height:80vh; padding-top:180px; }.noscript-fallback h1 { margin:0 0 20px; font-size:clamp(54px,8vw,110px); line-height:.9; letter-spacing:-.08em; }.noscript-fallback h1 em { color:var(--mute); font-style:normal; font-weight:400; }.noscript-fallback>p:not(.eyebrow) { max-width:420px; margin:0 0 24px; color:var(--mute); line-height:1.5; }
:focus-visible { outline:2px solid var(--accent-1); outline-offset:4px; }
@media (max-width:1000px) { .container{width:min(var(--container),calc(100% - 48px))}.site-header{grid-template-columns:auto 1fr auto;padding:15px 16px 15px 20px}.anchor-nav{display:none}.layer-switcher{justify-self:center}.layer-switcher a{padding:16px 28px}.collector-top{min-width:142px;min-height:70px;justify-content:space-around;font-size:0}.intent-layout{display:flex;flex-direction:column;align-items:stretch;gap:46px}.intent-wheel{width:min(680px,calc(100vw - 100px));height:min(680px,calc(100vw - 100px))}.intent-choice{width:128px;padding:9px 12px;font-size:11px;transform:rotate(calc(var(--i) * 60deg)) translateY(-303px) rotate(calc(var(--i) * -60deg))}.intent-center{inset:166px}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.card-title-row h4{font-size:28px}.price{font-size:13px}.access{font-size:14px}.card-media{border-radius:28px}.add-button{width:58px;height:58px;font-size:29px}.place-zone{top:16px;left:16px;padding:9px 12px;font-size:11px}.territory-grid{grid-template-columns:1fr}.territory-plan{min-height:430px}.zone-list{grid-template-columns:repeat(2,1fr)}.hero{min-height:1120px;padding-top:54px}.hero-visual{height:570px;margin-top:175px;margin-right:0;margin-left:0}.ghost-word{top:38px;left:2vw;font-size:20vw}.hero-actions{display:block}.hero-note{display:block;margin-top:30px;font-size:14px}.hero-copy{max-width:710px;margin-top:28px;font-size:24px;line-height:1.6}.pill-button{font-size:18px;padding:18px 28px 18px 30px;margin-top:5px}.hero-cards{justify-content:flex-start;width:max-content;gap:20px;padding-top:34px;transform:translateX(-45px)}.hero-card{flex-basis:220px;height:315px;border-width:7px;border-radius:29px}.hero-card-label{right:18px;bottom:18px;left:18px;font-size:22px}.hero-card-arrow{top:13px;right:15px;font-size:28px}.hero-scroll-hint{margin-top:43px;font-size:11px} }
@media (max-width:720px) { html{scroll-behavior:auto}.container{width:calc(100% - 30px)}.site-header{top:9px;width:calc(100% - 18px);padding:8px 8px 8px 10px;grid-template-columns:auto 1fr auto;gap:8px;border-radius:14px}.brand{gap:7px}.brand-mark{width:27px;height:27px;padding:0 8px 6px}.brand-mark i{width:3px}.brand-mark i:nth-child(1){height:11px}.brand-mark i:nth-child(2){height:7px}.brand-mark i:nth-child(3){height:4px}.brand strong{font-size:12px}.brand small{font-size:7px;margin-top:4px}.layer-switcher{justify-self:stretch;overflow:auto}.layer-switcher a{padding:8px 9px;font-size:10px}.collector-top{min-height:36px;padding:8px 8px 8px 10px;font-size:0}.collector-top b{min-width:22px;height:22px;font-size:10px}.collector-top span{font-size:14px}.section-pad{padding:70px 0 14px}.hero{min-height:760px;padding-top:100px}.hero h1{font-size:clamp(48px,15vw,78px)}.hero-copy{margin-top:21px;font-size:13px}.hero-actions{display:block}.hero-note{display:block;margin-top:14px;font-size:9px}.hero-visual{height:330px;margin-top:38px;margin-right:-30px;margin-left:-30px}.ghost-word{top:38px;left:0;font-size:23vw}.hero-cards{justify-content:flex-start;gap:9px;overflow:auto;width:auto;transform:none;padding:22px 30px 25px;scroll-snap-type:x mandatory;scrollbar-width:none}.hero-cards::-webkit-scrollbar{display:none}.hero-card{flex-basis:116px;height:160px;scroll-snap-align:center;border-width:4px;border-radius:18px}.hero-card:nth-child(n+6){display:none}.hero-card-label{right:10px;bottom:11px;left:10px;font-size:13px}.hero-card-arrow{top:8px;right:9px;font-size:18px}.hero-scroll-hint{margin-top:17px;font-size:8px}.intent-section{padding-top:74px}.intent-layout{display:flex;flex-direction:column;align-items:stretch;gap:36px}.intent-copy h2{font-size:48px}.intent-copy p:not(.eyebrow){margin-top:18px;font-size:13px}.intent-wheel{width:min(340px,calc(100vw - 32px));height:min(340px,calc(100vw - 32px))}.intent-choice{width:106px;padding:8px 6px;font-size:9px;transform:rotate(calc(var(--i) * 60deg)) translateY(-153px) rotate(calc(var(--i) * -60deg))}.intent-center{inset:81px}.intent-center strong{font-size:18px}.intent-center span:last-child{font-size:10px}.intent-result{font-size:8px;padding-top:20px}.catalog-section,.territory-section{padding-top:84px}.section-heading{display:block;margin-bottom:45px}.section-heading h2{font-size:48px}.section-heading>p{margin-top:19px;font-size:13px}.row-heading{grid-template-columns:1fr;gap:13px;margin-bottom:21px}.row-heading>div:last-child{padding:0}.row-heading h3{font-size:34px}.row-heading>div:last-child p{font-size:11px}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-row{padding:29px 0 39px}.card-media{border-radius:14px}.place-zone{top:8px;left:8px;padding:5px 6px;font-size:7px}.add-button{top:7px;right:7px;width:30px;height:30px;font-size:17px}.card-hover-desc{display:none}.card-body{padding-top:10px}.card-title-row{display:block}.card-title-row h4{font-size:15px}.price{display:block;margin-top:7px;text-align:left;font-size:8px}.access{margin:6px 0 8px;font-size:9px}.tags{gap:3px}.tags span{padding:3px 5px;font-size:7px}.territory-plan{min-height:370px;border-radius:21px}.plan-pin{font-size:8px}.plan-pin i{width:11px;height:11px;border-width:2px}.zone-list{grid-template-columns:1fr;gap:8px}.zone-card{padding:14px}.zone-card h3{font-size:19px;margin:12px 0 5px}.stats-section{padding:72px 0 84px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:25px 14px}.stat strong{font-size:54px}.stat span{font-size:8px}.stat p{font-size:10px;margin-top:12px}.handoff-section{padding-top:74px}.handoff-grid{grid-template-columns:1fr;gap:10px}.handoff-card{min-height:205px;padding:16px}.handoff-card h3{margin:33px 0 8px;font-size:23px}.handoff-link{margin-top:18px}.bridge-section{min-height:490px}.bridge-content h2{font-size:57px}.bridge-content>p:not(.eyebrow){font-size:13px}.site-footer{padding-bottom:110px}.site-footer .container{display:block;line-height:1.7}.collector-tray{right:8px;bottom:8px;left:8px}.collector-tray-inner{grid-template-columns:1fr auto;gap:10px;padding:11px;border-radius:16px}.collector-summary{grid-column:1 / -1}.collector-items{grid-column:1 / -1;order:3}.collector-submit{grid-column:2;grid-row:1;padding:9px 11px;font-size:9px}.collector-submit span{font-size:13px}.toast{bottom:130px;font-size:10px;white-space:nowrap} }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important} }

/* Desktop hero: the reference is an editorial collage, not a row of tiles. */
@media (min-width:1001px) {
  .site-header { top:28px; width:calc(100% - 80px); padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
  .brand-mark { width:38px; height:38px; padding:0 11px 8px; border-radius:13px 13px 13px 5px; }
  .brand strong { font-size:18px; }
  .brand small { font-size:9px; }
  .layer-switcher { display:flex; gap:34px; padding:0; border:0; border-radius:0; background:transparent; }
  .layer-switcher a { padding:7px 0; color:rgba(20,20,22,.55); font-size:15px; }
  .layer-switcher a:hover,.layer-switcher a.is-active { color:var(--ink); background:transparent; }
  .layer-switcher a.is-active { box-shadow:inset 0 -2px var(--accent-1); }
  .anchor-nav { display:flex; justify-content:center; gap:26px; }
  .anchor-nav a { color:rgba(20,20,22,.64); font-size:13px; }
  .anchor-nav a:hover { color:var(--ink); }
  .collector-top { min-width:170px; min-height:54px; padding:9px 12px 9px 20px; border-radius:999px; background:var(--ink); color:#fff; box-shadow:0 18px 26px rgba(20,20,22,.18); }
  .collector-top b { width:34px; height:34px; color:var(--ink); background:var(--accent-4); }

  .hero { position:relative; height:100svh; min-height:760px; padding:130px 32px 60px; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; }
  .hero-intro { position:absolute; z-index:2; top:126px; left:50%; width:min(900px,100%); text-align:center; transform:translate3d(-50%,var(--hero-title-y,0px),0); opacity:var(--hero-title-opacity,1); transition:opacity .08s linear; }
  .hero-intro > .eyebrow { display:none; }
  .hero h1 { max-width:none; margin:0; font-size:clamp(58px,6.4vw,104px); line-height:.86; letter-spacing:-.075em; }
  .hero-copy { display:none; max-width:620px; margin:24px auto 0; color:var(--ink-soft); font-size:15px; line-height:1.48; }
  .hero-visual { position:absolute; inset:0; z-index:1; height:auto; margin:0; pointer-events:none; }
  .ghost-word { top:38%; left:50%; width:max-content; font-size:clamp(160px,22vw,360px); line-height:.75; transform:translate(-50%,-50%) scale(var(--ghost-scale,1)); transform-origin:center; opacity:var(--ghost-opacity,.9); }
  .hero-cards { position:absolute; top:59%; left:0; right:0; height:350px; display:block; padding:0; pointer-events:none; }
  .hero-card { position:absolute; left:var(--card-left); top:var(--card-top); width:var(--card-width); height:var(--card-height); flex:none; overflow:visible; border:0; border-radius:22px; background:var(--card) var(--card-image) center/cover; box-shadow:0 31px 44px -24px color-mix(in srgb,var(--accent-1) 70%,transparent),0 45px 48px -28px color-mix(in srgb,var(--accent-3) 62%,transparent); transform:translate3d(var(--scroll-x,0px),var(--scroll-y,0px),0) rotate(calc(var(--card-rotation,0deg) + var(--scroll-rot,0deg))) scale(var(--card-scale,1)); animation:none; transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .35s,box-shadow .35s; pointer-events:auto; }
  .hero-card::after { content:""; position:absolute; z-index:-1; right:7%; bottom:-25px; left:7%; height:42px; border-radius:50%; background:var(--accent-3); filter:blur(21px); opacity:.27; transition:opacity .35s,filter .35s,transform .35s; pointer-events:none; }
  .hero-card:hover { z-index:10; --card-scale:1.045; filter:brightness(1.045); box-shadow:0 34px 48px -22px color-mix(in srgb,var(--accent-1) 78%,transparent),0 52px 58px -25px color-mix(in srgb,var(--accent-3) 76%,transparent); }
  .hero-card:hover::after { opacity:.47; filter:blur(24px); transform:scale(1.12); }
  .hero-card:nth-child(1) { --card-left:4%; --card-top:30px; --card-width:130px; --card-height:180px; --card-rotation:-8deg; z-index:1; }
  .hero-card:nth-child(2) { --card-left:12%; --card-top:50px; --card-width:160px; --card-height:220px; --card-rotation:-5deg; z-index:2; }
  .hero-card:nth-child(3) { --card-left:22%; --card-top:20px; --card-width:200px; --card-height:270px; --card-rotation:-2deg; z-index:4; }
  .hero-card:nth-child(4) { --card-left:36%; --card-top:70px; --card-width:150px; --card-height:200px; --card-rotation:-3deg; z-index:3; }
  .hero-card:nth-child(5) { --card-left:44%; --card-top:0; --card-width:230px; --card-height:310px; --card-rotation:2deg; z-index:5; }
  .hero-card:nth-child(6) { --card-left:59%; --card-top:55px; --card-width:160px; --card-height:215px; --card-rotation:5deg; z-index:3; }
  .hero-card:nth-child(7) { --card-left:70%; --card-top:30px; --card-width:175px; --card-height:240px; --card-rotation:7deg; z-index:4; }
  .hero-card:nth-child(8) { --card-left:84%; --card-top:50px; --card-width:130px; --card-height:175px; --card-rotation:9deg; z-index:2; }
  .hero-card-shade { inset:0; overflow:hidden; border-radius:inherit; background:linear-gradient(180deg,rgba(0,0,0,.02) 34%,rgba(0,0,0,.72)); }
  .hero-card-label { right:15px; bottom:15px; left:15px; font-size:17px; }
  .hero-card-arrow { top:12px; right:14px; font-size:23px; }
  .hero-choice { position:absolute; z-index:7; top:76%; left:50%; display:flex; flex-direction:column; align-items:center; gap:18px; transform:translate3d(-50%,calc(-50% + var(--choice-y,0px)),0); opacity:var(--choice-opacity,1); pointer-events:auto; transition:opacity .12s linear,transform .35s; }
  .choice-pill { display:flex; align-items:center; gap:18px; min-width:225px; justify-content:center; padding:13px 14px 13px 23px; border-radius:999px; background:rgba(20,20,22,.91); color:#fff; box-shadow:0 18px 30px rgba(20,20,22,.2); font-size:16px; }
  .choice-pill:hover { transform:translateY(-3px); }
  .choice-arrow { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--accent-3); color:var(--ink); font-size:20px; }
  .hero-choice .hero-note { color:var(--mute); font-size:11px; }
  .hero-scroll-hint { position:absolute; top:91%; left:50%; margin:0; transform:translateX(-50%); white-space:nowrap; font-size:10px; }

  .place-card { transform:rotate(var(--catalog-rotation,0deg)) translateY(var(--catalog-y,0px)); transition:opacity .45s,filter .45s,transform .45s cubic-bezier(.2,.8,.2,1); }
  .place-card:nth-child(3n+1) { --catalog-rotation:-1.4deg; --catalog-y:5px; }
  .place-card:nth-child(3n+2) { --catalog-rotation:1.1deg; --catalog-y:-3px; }
  .place-card:nth-child(3n) { --catalog-rotation:-.6deg; --catalog-y:8px; }
  .place-card:hover { transform:translateY(-9px) rotate(0deg); }
  .card-media { overflow:visible; isolation:isolate; }
  .card-media::after { content:""; position:absolute; z-index:-1; right:8%; bottom:-20px; left:8%; height:34px; border-radius:50%; background:var(--accent-3); filter:blur(18px); opacity:.22; transition:opacity .35s,transform .35s; }
  .place-card:hover .card-media::after { opacity:.4; transform:scale(1.08); }
}

@media (min-width:721px) and (max-width:1000px) {
  .hero-choice { position:absolute; z-index:4; top:62%; left:50%; display:flex; flex-direction:column; align-items:center; gap:14px; transform:translate(-50%,-50%); opacity:var(--choice-opacity,1); pointer-events:auto; }
  .choice-pill { display:flex; align-items:center; gap:13px; min-width:200px; justify-content:center; padding:12px 12px 12px 19px; border-radius:999px; background:rgba(20,20,22,.9); color:#fff; box-shadow:0 15px 28px rgba(20,20,22,.18); font-size:14px; }
  .choice-arrow { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--accent-3); color:var(--ink); }
  .hero-choice .hero-note { margin:0; font-size:11px; }
  .hero-card { border:0; overflow:visible; }
  .hero-card::after { content:""; position:absolute; z-index:-1; right:8%; bottom:-21px; left:8%; height:36px; border-radius:50%; background:var(--accent-3); filter:blur(18px); opacity:.25; }
  .hero-card-shade { overflow:hidden; border-radius:inherit; }
  .place-card { transform:rotate(var(--catalog-rotation,0deg)) translateY(var(--catalog-y,0px)); transition:opacity .45s,filter .45s,transform .45s cubic-bezier(.2,.8,.2,1); }
  .place-card:nth-child(odd) { --catalog-rotation:-1deg; --catalog-y:4px; }
  .place-card:nth-child(even) { --catalog-rotation:1deg; --catalog-y:-2px; }
  .place-card:hover { transform:translateY(-7px) rotate(0); }
  .card-media { overflow:visible; isolation:isolate; }
  .card-media::after { content:""; position:absolute; z-index:-1; right:8%; bottom:-18px; left:8%; height:30px; border-radius:50%; background:var(--accent-3); filter:blur(16px); opacity:.22; }
}

@media (max-width:720px) {
  .hero-choice { position:absolute; z-index:4; top:65%; left:50%; display:flex; flex-direction:column; align-items:center; gap:10px; transform:translate(-50%,-50%); opacity:var(--choice-opacity,1); pointer-events:auto; }
  .choice-pill { display:flex; align-items:center; gap:10px; min-width:156px; justify-content:center; padding:8px 8px 8px 13px; border-radius:999px; background:rgba(20,20,22,.91); color:#fff; box-shadow:0 12px 24px rgba(20,20,22,.18); font-size:11px; }
  .choice-arrow { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--accent-3); color:var(--ink); font-size:15px; }
  .hero-choice .hero-note { margin:0; font-size:8px; white-space:nowrap; }
  .hero-card { overflow:visible; border:0; transform:translate3d(var(--scroll-x,0px),var(--scroll-y,0px),0) rotate(calc((var(--i) - 3.5) * 2deg + var(--scroll-rot,0deg))) scale(var(--card-scale,1)); transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .35s,box-shadow .35s; }
  .hero-card:hover { --card-scale:1.045; transform:translate3d(var(--scroll-x,0px),var(--scroll-y,0px),0) rotate(calc((var(--i) - 3.5) * 2deg + var(--scroll-rot,0deg))) scale(var(--card-scale)); }
  .hero-card::after { content:""; position:absolute; z-index:-1; right:8%; bottom:-15px; left:8%; height:25px; border-radius:50%; background:var(--accent-3); filter:blur(13px); opacity:.25; }
  .hero-card-shade { overflow:hidden; border-radius:inherit; }
  .card-media { overflow:visible; isolation:isolate; }
  .card-media::after { content:""; position:absolute; z-index:-1; right:8%; bottom:-14px; left:8%; height:24px; border-radius:50%; background:var(--accent-3); filter:blur(12px); opacity:.22; }
  .place-card { transform:rotate(var(--catalog-rotation,0deg)) translateY(var(--catalog-y,0px)); transition:opacity .45s,filter .45s,transform .45s cubic-bezier(.2,.8,.2,1); }
  .place-card:nth-child(odd) { --catalog-rotation:-1deg; --catalog-y:3px; }
  .place-card:nth-child(even) { --catalog-rotation:1deg; --catalog-y:-2px; }
  .place-card:hover { transform:translateY(-5px) rotate(0); }
}

/* Final alignment pass: liquid header, softer depth, and a true radial orbit. */
body { font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif; }
.hero h1,.intent-copy h2,.section-heading h2,.row-heading h3,.bridge-content h2 { font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif; }
.intent-choice { transform:translate(-50%,-50%) rotate(calc(var(--i) * 60deg)) translateY(-178px) rotate(calc(var(--i) * -60deg)); }
.place-card,.hero-card { will-change:transform; }

@media (min-width:721px) {
  .site-header { top:20px; width:calc(100% - 48px); grid-template-columns:auto minmax(0,1fr) auto; gap:18px; padding:10px 14px 10px 20px; border:1px solid rgba(255,255,255,.82); border-radius:27px; background:rgba(250,247,239,.63); backdrop-filter:blur(32px) saturate(150%); box-shadow:0 28px 70px rgba(60,45,25,.1),inset 0 1px 1px rgba(255,255,255,.88),inset 0 -1px rgba(214,202,181,.32); }
  .anchor-nav { display:none; }
  .layer-switcher { justify-self:center; gap:3px; padding:3px; border:1px solid rgba(218,210,191,.9); border-radius:999px; background:rgba(255,255,255,.3); box-shadow:inset 0 1px rgba(255,255,255,.8); }
  .layer-switcher a { padding:13px 27px; color:rgba(20,20,22,.5); font-size:16px; }
  .layer-switcher a.is-active { color:#fff; background:var(--ink); box-shadow:0 4px 12px rgba(20,20,22,.14); }
  .collector-top { min-width:142px; min-height:58px; padding:10px 16px 10px 24px; box-shadow:0 16px 28px rgba(20,20,22,.16); }
  .hero h1 { font-weight:700; letter-spacing:-.085em; }
  .hero-card { box-shadow:0 30px 42px -27px color-mix(in srgb,var(--accent-1) 48%,transparent),0 44px 54px -34px color-mix(in srgb,var(--accent-3) 40%,transparent); }
  .hero-card::after { opacity:.16; filter:blur(25px); }
  .hero-card:hover { box-shadow:0 34px 48px -25px color-mix(in srgb,var(--accent-1) 55%,transparent),0 52px 62px -32px color-mix(in srgb,var(--accent-3) 48%,transparent); }
  .hero-card:hover::after { opacity:.27; filter:blur(27px); }
  .card-media::after { opacity:.13; filter:blur(21px); }
  .place-card:hover .card-media::after { opacity:.24; }
}

@media (min-width:721px) and (max-width:1000px) {
  .hero { padding-top:170px; }
  .hero-intro { text-align:center; }
  .hero-copy { max-width:710px; margin:28px auto 0; font-size:18px; line-height:1.48; }
  .ghost-word { left:50%; width:max-content; transform:translateX(-50%); }
  .hero-card { border:0; overflow:visible; box-shadow:0 30px 42px -27px color-mix(in srgb,var(--accent-1) 48%,transparent),0 44px 54px -34px color-mix(in srgb,var(--accent-3) 40%,transparent); transform:translate3d(var(--scroll-x,0px),var(--scroll-y,0px),0) rotate(calc((var(--i) - 3.5) * 2deg + var(--scroll-rot,0deg))) scale(var(--card-scale,1)); transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .35s,box-shadow .35s; }
  .hero-card:hover { --card-scale:1.045; transform:translate3d(var(--scroll-x,0px),var(--scroll-y,0px),0) rotate(calc((var(--i) - 3.5) * 2deg + var(--scroll-rot,0deg))) scale(var(--card-scale)); }
  .hero-card-shade { overflow:hidden; border-radius:inherit; }
  .hero-card::after { content:""; position:absolute; z-index:-1; right:8%; bottom:-21px; left:8%; height:36px; border-radius:50%; background:var(--accent-3); filter:blur(21px); opacity:.16; }
  .hero-card:hover::after { opacity:.27; }
  .intent-choice { transform:translate(-50%,-50%) rotate(calc(var(--i) * 60deg)) translateY(-303px) rotate(calc(var(--i) * -60deg)); }
}

@media (max-width:720px) {
  .intent-choice { transform:translate(-50%,-50%) rotate(calc(var(--i) * 60deg)) translateY(-153px) rotate(calc(var(--i) * -60deg)); }
  .site-header { background:rgba(250,247,239,.7); backdrop-filter:blur(24px) saturate(145%); }
}

/* Radial menu geometry: every label is centered on its orbit point and stays readable. */
.intent-orbit { transition:none; }
.intent-choice { top:calc(50% + var(--orbit-y)); left:calc(50% + var(--orbit-x)); transform:translate(-50%,-50%) rotate(var(--orbit-counter,0deg)); }
.intent-choice:nth-child(1) { --orbit-x:0px; --orbit-y:-178px; }
.intent-choice:nth-child(2) { --orbit-x:154px; --orbit-y:-89px; }
.intent-choice:nth-child(3) { --orbit-x:154px; --orbit-y:89px; }
.intent-choice:nth-child(4) { --orbit-x:0px; --orbit-y:178px; }
.intent-choice:nth-child(5) { --orbit-x:-154px; --orbit-y:89px; }
.intent-choice:nth-child(6) { --orbit-x:-154px; --orbit-y:-89px; }
@media (min-width:721px) and (max-width:1000px) {
  .intent-choice:nth-child(1) { --orbit-x:0px; --orbit-y:-303px; }
  .intent-choice:nth-child(2) { --orbit-x:262px; --orbit-y:-151.5px; }
  .intent-choice:nth-child(3) { --orbit-x:262px; --orbit-y:151.5px; }
  .intent-choice:nth-child(4) { --orbit-x:0px; --orbit-y:303px; }
  .intent-choice:nth-child(5) { --orbit-x:-262px; --orbit-y:151.5px; }
  .intent-choice:nth-child(6) { --orbit-x:-262px; --orbit-y:-151.5px; }
}
@media (max-width:720px) {
  .intent-choice:nth-child(1) { --orbit-x:0px; --orbit-y:-153px; }
  .intent-choice:nth-child(2) { --orbit-x:132.5px; --orbit-y:-76.5px; }
  .intent-choice:nth-child(3) { --orbit-x:132.5px; --orbit-y:76.5px; }
  .intent-choice:nth-child(4) { --orbit-x:0px; --orbit-y:153px; }
  .intent-choice:nth-child(5) { --orbit-x:-132.5px; --orbit-y:76.5px; }
  .intent-choice:nth-child(6) { --orbit-x:-132.5px; --orbit-y:-76.5px; }
}

/* Shared surface: one calm background carries the hero and the selector. */
body::after { content:""; position:fixed; z-index:45; inset:0; pointer-events:none; background:var(--bg); opacity:0; transition:opacity .28s ease; }
body.is-layer-changing::after { opacity:1; pointer-events:auto; }
.intent-section { background:var(--bg); color:var(--ink); transition:background .35s ease,color .35s ease; }
.intent-section::before { opacity:.2; }
.intent-copy .eyebrow { color:var(--accent-1); }
.intent-copy p:not(.eyebrow) { color:var(--mute); }
.intent-wheel { border-color:rgba(20,20,22,.18); }
.intent-wheel::before { border-color:rgba(20,20,22,.1); }
.intent-wheel::after { border-color:rgba(20,20,22,.08); }
.wheel-pointer { background:var(--accent-1); }
.wheel-pointer::after { border-top-color:var(--accent-1); }
.intent-choice { border-color:rgba(20,20,22,.18); background:rgba(255,255,255,.34); color:rgba(20,20,22,.66); }
.intent-choice.is-active { color:#fff; background:var(--accent-1); border-color:var(--accent-1); }
.intent-center { background:rgba(20,20,22,.055); }
.intent-center-kicker { color:var(--accent-1); }
.intent-center span:last-child { color:var(--mute); }
.intent-result { color:var(--mute); }

@media (max-width:720px) {
  .site-header { grid-template-columns:auto minmax(0,1fr) auto; gap:6px; padding:8px 7px 8px 10px; }
  .brand { gap:7px; }
  .layer-switcher { justify-self:stretch; justify-content:center; gap:0; overflow:visible; padding:2px; }
  .layer-switcher a { padding:8px 5px; font-size:9px; letter-spacing:-.02em; }
  .collector-top { width:52px; min-width:52px; padding:6px 5px; gap:5px; }
  .collector-top b { min-width:24px; width:24px; height:24px; font-size:10px; }
  .collector-top span { font-size:14px; }
  .hero-intro { text-align:center; }
  .hero-visual { height:360px; margin-top:18px; margin-right:-30px; margin-left:-30px; }
  .hero-cards { position:absolute; top:43%; left:50%; width:430px; height:225px; display:block; overflow:visible; padding:0; transform:translateX(-50%); }
  .hero-card { position:absolute; left:var(--mobile-left); top:var(--mobile-top); width:112px; height:158px; flex:none; transform:translate3d(var(--scroll-x,0px),var(--scroll-y,0px),0) rotate(calc(var(--mobile-rotation,0deg) + var(--scroll-rot,0deg))) scale(var(--card-scale,1)); }
  .hero-card:nth-child(1) { --mobile-left:14px; --mobile-top:48px; --mobile-rotation:-10deg; }
  .hero-card:nth-child(2) { --mobile-left:82px; --mobile-top:30px; --mobile-rotation:-5deg; }
  .hero-card:nth-child(3) { --mobile-left:152px; --mobile-top:18px; --mobile-rotation:1deg; }
  .hero-card:nth-child(4) { --mobile-left:222px; --mobile-top:35px; --mobile-rotation:6deg; }
  .hero-card:nth-child(5) { --mobile-left:288px; --mobile-top:52px; --mobile-rotation:10deg; }
  .hero-choice { top:72%; }
  .hero-scroll-hint { position:absolute; top:98%; left:50%; margin:0; transform:translateX(-50%); white-space:nowrap; }
  .intent-section { background:var(--bg); }
}

@media (prefers-reduced-motion:reduce) {
  body::after { transition:none; }
}

/* Keep one continuous pool of light under the composition, not a white block or a halo on every card. */
.hero { overflow-x:clip; overflow-y:visible; }
.intent-section { background:transparent; }
.intent-section::before {
  top:-8%;
  right:0;
  left:0;
  width:auto;
  height:300px;
  background:radial-gradient(ellipse at 50% 0%,
    color-mix(in srgb,var(--accent-3) 18%,transparent) 0%,
    color-mix(in srgb,var(--accent-4) 11%,transparent) 46%,
    transparent 76%);
  filter:blur(28px);
  opacity:.48;
}
.hero-cards::after {
  content:"";
  position:absolute;
  z-index:0;
  right:6%;
  bottom:-52px;
  left:6%;
  height:100px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    color-mix(in srgb,var(--accent-3) 18%,transparent) 0%,
    color-mix(in srgb,var(--accent-4) 10%,transparent) 38%,
    transparent 74%);
  filter:blur(26px);
  opacity:.55;
  pointer-events:none;
}

.hero-card::after,
.hero-card:hover::after,
.card-media::after,
.place-card:hover .card-media::after { display:none !important; }

.hero-card {
  box-shadow:
    0 24px 34px -30px rgba(20,20,22,.38),
    0 34px 48px -38px color-mix(in srgb,var(--accent-3) 20%,transparent);
}

.hero-card:hover {
  box-shadow:
    0 27px 36px -30px rgba(20,20,22,.46),
    0 36px 52px -40px color-mix(in srgb,var(--accent-3) 24%,transparent);
}

.card-media {
  box-shadow:
    0 18px 26px -28px rgba(20,20,22,.28),
    0 28px 42px -38px color-mix(in srgb,var(--accent-3) 16%,transparent);
}

.cards-grid { position:relative; }
.cards-grid::after {
  content:"";
  position:absolute;
  z-index:-1;
  right:8%;
  bottom:-30px;
  left:8%;
  height:58px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    color-mix(in srgb,var(--accent-3) 10%,transparent),
    transparent 73%);
  filter:blur(22px);
  opacity:.32;
  pointer-events:none;
}

/* Final hero polish: keep the reference-like light as a soft bottom shadow. */
.hero-cards::after,
.cards-grid::after { display:none; }

.hero-card {
  --hover-y:0px;
  isolation:isolate;
  transform:translate3d(var(--scroll-x,0px),calc(var(--scroll-y,0px) + var(--hover-y)),0) rotate(calc(var(--card-rotation,0deg) + var(--scroll-rot,0deg))) scale(var(--card-scale,1));
  box-shadow:
    0 24px 36px -30px rgba(20,20,22,.42),
    0 38px 48px -28px color-mix(in srgb,var(--accent-3) 42%,transparent);
}

.hero-card::after {
  content:"";
  display:block !important;
  position:absolute;
  z-index:0;
  right:12%;
  bottom:-18px;
  left:12%;
  height:32px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    color-mix(in srgb,var(--accent-3) 24%,transparent) 0%,
    color-mix(in srgb,var(--accent-4) 12%,transparent) 34%,
    transparent 74%);
  filter:blur(17px);
  opacity:.4;
  transform:scaleX(.9);
  pointer-events:none;
  transition:opacity .4s ease,transform .4s ease,filter .4s ease;
}

.hero-card-shade,
.hero-card-label,
.hero-card-arrow { z-index:1; }

.hero-card:hover {
  --hover-y:-8px;
  --card-scale:1.065;
  filter:brightness(1.04) saturate(1.03);
  box-shadow:
    0 28px 40px -31px rgba(20,20,22,.52),
    0 42px 52px -29px color-mix(in srgb,var(--accent-3) 48%,transparent);
}

.hero-card:hover::after {
  opacity:.44;
  filter:blur(19px);
  transform:scaleX(1.02);
}

.card-media::after {
  content:"";
  display:block !important;
  right:12%;
  bottom:-15px;
  left:12%;
  height:28px;
  background:radial-gradient(ellipse at center,
    color-mix(in srgb,var(--accent-3) 16%,transparent),
    transparent 74%);
  filter:blur(15px);
  opacity:.2;
}

.place-card:hover .card-media::after {
  opacity:.27;
  transform:scaleX(1.02);
}

@media (min-width:721px) {
  .hero-scroll-hint { top:98%; }
}

@media (max-width:720px) {
  .site-header {
    width:calc(100% - 24px);
    padding:10px 10px 10px 13px;
    gap:9px;
    border-radius:22px;
  }
  .brand-mark { width:34px; height:34px; padding:0 10px 7px; border-radius:12px 12px 12px 5px; }
  .brand strong { font-size:15px; letter-spacing:-.06em; }
  .brand small { margin-top:4px; font-size:8px; letter-spacing:.05em; }
  .layer-switcher { gap:2px; padding:3px; border:1px solid rgba(218,210,191,.9); border-radius:999px; background:rgba(255,255,255,.3); box-shadow:inset 0 1px rgba(255,255,255,.8); }
  .layer-switcher a { padding:8px 7px; font-size:10px; }
  .layer-switcher a.is-active { color:#fff; background:var(--ink); box-shadow:0 3px 10px rgba(20,20,22,.14); }
  .collector-top { width:54px; min-width:54px; min-height:40px; padding:7px 6px; }
  .collector-top b { min-width:25px; width:25px; height:25px; font-size:10px; }
  .collector-top span { font-size:15px; }
  .hero h1 { font-size:clamp(54px,16vw,80px); line-height:.84; }
  .hero-cards { top:47%; left:50%; width:510px; height:250px; }
  .hero-card { width:136px; height:192px; }
  .hero-card:nth-child(1) { --mobile-left:0px; --mobile-top:48px; }
  .hero-card:nth-child(2) { --mobile-left:93px; --mobile-top:31px; }
  .hero-card:nth-child(3) { --mobile-left:186px; --mobile-top:18px; }
  .hero-card:nth-child(4) { --mobile-left:279px; --mobile-top:33px; }
  .hero-card:nth-child(5) { --mobile-left:372px; --mobile-top:50px; }
  .hero-choice { top:64%; }
  .hero-choice .hero-note { display:none; }
  .hero-scroll-hint { top:104%; }
  .hero-card { transform:translate3d(var(--scroll-x,0px),calc(var(--scroll-y,0px) + var(--hover-y)),0) rotate(calc(var(--mobile-rotation,0deg) + var(--scroll-rot,0deg))) scale(var(--card-scale,1)); }
  .hero-card:hover { --hover-y:-5px; --card-scale:1.045; }
  .hero-card:hover::after { opacity:.29; }
}

/* Reference pass: editorial type, tighter hero rhythm, and a real layered header. */
body,
.hero h1,
.intent-copy h2,
.section-heading h2,
.row-heading h3,
.bridge-content h2 { font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; }

.hero h1 { font-weight:800; letter-spacing:-.085em; }
.ghost-word {
  top:35%;
  left:50%;
  width:max-content;
  font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-style:italic;
  font-weight:800;
  text-align:center;
  transform:translate(-50%,-50%) scale(var(--ghost-scale,1));
}
.hero-cards { top:48%; }
.hero-choice { top:63%; }
.hero-scroll-hint { top:91%; }

.hero-card {
  transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .45s ease,box-shadow .45s ease;
}
.hero-card:hover { --hover-y:-12px; --card-scale:1.075; filter:brightness(1.045) saturate(1.04); }
.hero-card-shade { transition:background .45s ease; }
.hero-card:hover .hero-card-shade { background:linear-gradient(180deg,rgba(0,0,0,0) 32%,rgba(0,0,0,.58)); }

.text-button {
  color:var(--ink);
  border-bottom:2px solid var(--accent-2);
  font-size:15px;
  line-height:1.3;
}
.text-button span { color:var(--accent-2); }
.intent-wheel {
  background:radial-gradient(circle at 50% 36%,rgba(255,255,255,.66),rgba(255,255,255,.24) 48%,rgba(20,20,22,.035) 100%);
  box-shadow:0 28px 60px rgba(85,65,36,.14),inset 0 1px 0 rgba(255,255,255,.82),inset 0 -16px 30px rgba(170,143,99,.08);
}
.intent-wheel:before { box-shadow:inset 0 1px rgba(255,255,255,.35); }
.intent-center {
  background:radial-gradient(circle at 50% 32%,rgba(255,255,255,.58),rgba(255,255,255,.22) 70%);
  border:1px solid rgba(255,255,255,.52);
  box-shadow:0 18px 34px rgba(80,60,35,.1),inset 0 1px 0 rgba(255,255,255,.72),inset 0 -12px 20px rgba(165,135,90,.08);
}
.intent-choice { box-shadow:0 8px 16px rgba(75,56,30,.08); }
.intent-choice.is-active { box-shadow:0 12px 24px color-mix(in srgb,var(--accent-1) 28%,transparent),inset 0 1px rgba(255,255,255,.26); }

.card-media { box-shadow:0 18px 28px -24px rgba(20,20,22,.3),0 30px 46px -28px color-mix(in srgb,var(--accent-3) 26%,transparent); transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease; }
.card-media img { border-radius:inherit; }
.place-card:hover .card-media { transform:translateY(-7px) rotate(-.6deg); box-shadow:0 24px 34px -24px rgba(20,20,22,.4),0 36px 52px -28px color-mix(in srgb,var(--accent-3) 34%,transparent); }

@media (max-width:720px) {
  .site-header { display:flex; align-items:center; width:calc(100% - 24px); padding:9px 8px 9px 11px; gap:8px; }
  .brand { flex:0 0 108px; min-width:0; gap:7px; }
  .brand > span:last-child { min-width:0; }
  .brand strong { font-size:14px; }
  .brand small { font-size:7px; white-space:nowrap; }
  .layer-switcher { flex:1 1 auto; min-width:0; justify-content:space-between; }
  .layer-switcher a { flex:1 1 0; padding:8px 2px; text-align:center; font-size:9px; }
  .collector-top { flex:0 0 48px; width:48px; min-width:48px; padding:7px 5px; }
  .hero-intro { top:111px; }
  .hero-cards { top:46%; }
  .hero-choice { top:59%; }
  .hero-scroll-hint { top:83%; }
  .ghost-word { top:31%; font-size:clamp(86px,22vw,180px); letter-spacing:-.105em; }
  .hero-card:hover { --hover-y:-6px; --card-scale:1.05; }
  .intent-wheel { box-shadow:0 20px 42px rgba(85,65,36,.12),inset 0 1px rgba(255,255,255,.8),inset 0 -10px 20px rgba(170,143,99,.07); }
}

/* Interaction pass: letters breathe apart, cards swipe on touch, and the wheel has tactile controls. */
.hero-letter {
  display:inline-block;
  transform:translate3d(calc((var(--letter-index) - var(--letter-midpoint)) * var(--letter-spread,0px)),0,0);
  transition:transform .08s linear;
}
.hero h1 > .hero-letter { font-weight:850; }
.hero h1 em .hero-letter-light { font-weight:400; }
.hero h1 > .hero-letter:first-child { font-size:1.06em; }
.hero h1 > .hero-letter:nth-child(2) { font-size:1.06em; }
.hero h1 > .hero-letter:nth-child(3) { font-size:1.06em; }
.hero h1 > .hero-letter:nth-child(4) { font-size:1.06em; }
.hero h1 > .hero-letter:nth-child(5) { font-size:1.06em; }
.hero h1 > .hero-letter:nth-child(6) { font-size:1.06em; }
.hero h1 > .hero-letter:nth-child(7) { font-size:1.06em; }
.hero h1 > .hero-letter:nth-child(8) { font-size:1.06em; }
.hero h1 > .hero-letter:nth-child(9) { font-size:1.06em; }
.hero h1 > .hero-letter:nth-child(10) { font-size:1.06em; }
.hero h1 > .hero-letter:nth-child(11) { font-size:1.06em; }

.hero-card {
  transition:transform .75s cubic-bezier(.16,1,.3,1),filter .65s ease,box-shadow .72s ease;
}
.hero-card:hover { --hover-y:-9px; --card-scale:1.07; }

.intent-choice {
  background:var(--bg-2);
  border-color:rgba(20,20,22,.2);
  box-shadow:0 10px 20px rgba(67,48,25,.13),inset 0 1px rgba(255,255,255,.72),inset 0 -2px rgba(140,111,70,.09);
  backdrop-filter:none;
}
.intent-choice.is-active {
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent-2) 93%,white),var(--accent-1));
  border-color:var(--accent-1);
  box-shadow:0 14px 26px color-mix(in srgb,var(--accent-1) 25%,transparent),inset 0 1px rgba(255,255,255,.35),inset 0 -3px rgba(118,29,20,.16);
}
.intent-center { position:relative; }
.intent-nudge {
  position:absolute;
  top:50%;
  z-index:3;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid rgba(20,20,22,.16);
  border-radius:50%;
  background:rgba(255,255,255,.62);
  color:var(--ink);
  cursor:pointer;
  font-size:25px;
  line-height:1;
  transform:translateY(-50%);
  box-shadow:0 8px 16px rgba(67,48,25,.14),inset 0 1px rgba(255,255,255,.8);
  transition:transform .25s ease,background .25s ease;
}
.intent-nudge:hover { background:#fff; transform:translateY(-50%) scale(1.08); }
.intent-nudge-prev { left:14px; }
.intent-nudge-next { right:14px; }

@media (min-width:721px) {
  .hero h1 { font-size:clamp(66px,7.5vw,118px); }
  .hero h1 > .hero-letter { font-weight:850; }
  .hero-cards { top:45%; }
  .hero-card { --card-scale:1.06; }
  .hero-card:hover { --card-scale:1.11; }
  .intent-section { padding-top:70px; }
}

@media (max-width:720px) {
  .hero { height:calc(100svh - 72px); min-height:700px; }
  .hero-intro { top:92px; }
  .hero h1 { font-size:clamp(58px,17vw,88px); }
  .ghost-word { top:30%; font-size:clamp(86px,22vw,180px); }
  .hero-cards {
    top:44%;
    left:0;
    right:0;
    width:auto;
    height:250px;
    display:flex;
    gap:10px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:16px 16px 18px;
    pointer-events:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    transform:none;
    touch-action:pan-x;
  }
  .hero-cards::-webkit-scrollbar { display:none; }
  .hero-card {
    position:relative;
    left:auto;
    top:var(--mobile-top);
    flex:0 0 136px;
    width:136px;
    height:192px;
    scroll-snap-align:center;
  }
  .hero-card:nth-child(1) { --mobile-top:38px; }
  .hero-card:nth-child(2) { --mobile-top:21px; }
  .hero-card:nth-child(3) { --mobile-top:8px; }
  .hero-card:nth-child(4) { --mobile-top:23px; }
  .hero-card:nth-child(5) { --mobile-top:40px; }
  .hero-card:nth-child(n+6) { display:block; }
  .hero-choice { top:57%; }
  .hero-scroll-hint { top:82%; }
  .intent-nudge { width:29px; height:29px; font-size:21px; }
  .intent-nudge-prev { left:8px; }
  .intent-nudge-next { right:8px; }
}

/* Circular selector steering: arrows belong to the center face, not to the orbit. */
.intent-steer {
  position:absolute;
  right:0;
  bottom:18px;
  left:0;
  display:flex;
  justify-content:center;
  gap:18px;
  z-index:4;
}
.intent-orbit { pointer-events:none; }
.intent-choice { pointer-events:auto; }
.intent-nudge,
.intent-nudge:hover {
  position:static;
  display:grid;
  place-items:center;
  width:32px;
  height:28px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--mute);
  box-shadow:none;
  font-size:24px;
  font-weight:400;
  line-height:1;
  transform:none;
  transition:color .25s ease,transform .25s ease;
}
.intent-nudge:hover { color:var(--accent-1); transform:scale(1.14); }
.intent-nudge:focus-visible { outline:2px solid var(--accent-1); outline-offset:3px; border-radius:4px; }
.intent-center #intentDesc { margin-bottom:34px; }

@media (max-width:720px) {
  .intent-steer { bottom:14px; gap:14px; }
  .intent-nudge,
  .intent-nudge:hover { width:28px; height:25px; font-size:21px; }

  .intent-center { padding:18px 24px 44px; }
  .intent-center strong {
    max-width:150px;
    font-size:18px;
  }
  .intent-center #intentDesc {
    width:100%;
    max-width:150px;
    margin-bottom:28px;
    font-size:10px;
    line-height:1.28;
    text-align:center;
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

/* Final density pass: overlapping card stack, scroll focus, and a contained wheel face. */
@property --float-y {
  syntax: '<length>';
  inherits: false;
  initial-value: 0px;
}
@keyframes dobrogradCardFloat {
  0%, 100% { --float-y:0px; }
  50% { --float-y:-4px; }
}
.hero-intro { z-index:3; }
.ghost-word { z-index:1; }
.hero-cards { z-index:2; }
.hero-card::after {
  z-index:0;
  right:9%;
  bottom:-17px;
  left:9%;
  height:28px;
  opacity:.23;
  filter:blur(18px);
}
.hero-card > * { z-index:1; }
.hero-card {
  --hover-y:0px;
  --float-y:0px;
  animation:dobrogradCardFloat 7.2s ease-in-out infinite;
  animation-delay:calc(var(--i) * -420ms);
  transform:translate3d(var(--scroll-x,0px),calc(var(--scroll-y,0px) + var(--hover-y) + var(--float-y)),0) rotate(calc(var(--card-rotation,0deg) + var(--scroll-rot,0deg))) scale(var(--card-scale,1));
}
.hero-card:hover { animation-play-state:paused; }
.hero-cards::after {
  display:block;
  right:8%;
  bottom:2px;
  left:8%;
  height:38px;
  background:radial-gradient(ellipse at center,
    color-mix(in srgb,var(--accent-3) 22%,transparent) 0%,
    color-mix(in srgb,var(--accent-4) 10%,transparent) 42%,
    transparent 78%);
  filter:blur(18px);
  opacity:.5;
  pointer-events:none;
}

.intent-center {
  position:absolute;
  overflow:hidden;
  padding:18px 24px 48px;
}
.intent-center strong {
  font-weight:600;
  font-size:19px;
  line-height:1.05;
}
.intent-center #intentDesc {
  display:block;
  width:min(150px,100%);
  margin-top:7px;
  margin-bottom:34px;
  color:var(--mute);
  font-size:10px;
  font-weight:400;
  line-height:1.28;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
}
.wheel-pointer { z-index:1; }
.intent-choice {
  box-shadow:0 6px 13px rgba(67,48,25,.08),inset 0 1px rgba(255,255,255,.68),inset 0 -1px rgba(140,111,70,.07);
}
.intent-choice.is-active {
  box-shadow:0 9px 18px color-mix(in srgb,var(--accent-1) 18%,transparent),inset 0 1px rgba(255,255,255,.3),inset 0 -2px rgba(118,29,20,.12);
}

@media (max-width:720px) {
  .hero {
    height:calc(100svh - 140px);
    min-height:650px;
  }
  .hero-cards {
    top:42%;
    width:100%;
    height:190px;
    gap:0;
    padding:10px 8px 14px;
    overflow-x:auto;
    overflow-y:visible;
    scroll-padding-inline:calc(50% - 39px);
  }
  .hero-card {
    flex:0 0 auto;
    width:var(--mobile-width,68px);
    height:var(--mobile-height,104px);
    margin-right:var(--mobile-overlap,-25px);
    transition:transform .8s cubic-bezier(.16,1,.3,1),filter .7s ease,box-shadow .72s ease;
  }
  .hero-card:nth-child(1) {
    --mobile-width:58px; --mobile-height:90px; --mobile-top:35px; --mobile-overlap:-20px;
  }
  .hero-card:nth-child(2) {
    --mobile-width:68px; --mobile-height:104px; --mobile-top:24px; --mobile-overlap:-25px;
  }
  .hero-card:nth-child(3) {
    --mobile-width:78px; --mobile-height:118px; --mobile-top:12px; --mobile-overlap:-28px;
  }
  .hero-card:nth-child(4) {
    --mobile-width:68px; --mobile-height:104px; --mobile-top:23px; --mobile-overlap:-25px;
  }
  .hero-card:nth-child(5) {
    --mobile-width:84px; --mobile-height:128px; --mobile-top:8px; --mobile-overlap:-28px;
  }
  .hero-card:nth-child(6) { --mobile-width:68px; --mobile-height:104px; --mobile-top:22px; --mobile-overlap:-25px; }
  .hero-card:nth-child(7) { --mobile-width:78px; --mobile-height:118px; --mobile-top:12px; --mobile-overlap:-20px; }
  .hero-card:nth-child(8) { --mobile-width:58px; --mobile-height:90px; --mobile-top:35px; --mobile-overlap:0px; }
  .hero-card {
    transform:translate3d(var(--scroll-x,0px),calc(var(--scroll-y,0px) + var(--hover-y) + var(--float-y)),0) rotate(calc(var(--mobile-rotation,0deg) + var(--scroll-rot,0deg))) scale(var(--card-scale,1));
  }
  .hero-card:hover {
    animation-play-state:paused;
    transform:translate3d(var(--scroll-x,0px),calc(var(--scroll-y,0px) + var(--hover-y) + var(--float-y)),0) rotate(calc(var(--mobile-rotation,0deg) + var(--scroll-rot,0deg))) scale(var(--card-scale,1));
  }
  .hero-card-label { right:5px; bottom:7px; left:5px; font-size:9px; }
  .hero-card-arrow { top:5px; right:5px; font-size:13px; }
  .intent-section {
    position:relative;
    z-index:3;
    margin-top:-72px;
    padding-top:108px;
    border-radius:28px 28px 0 0;
  }
  .intent-copy { text-align:center; }
  .intent-copy .eyebrow,
  .intent-copy p:not(.eyebrow) { max-width:330px; margin-right:auto; margin-left:auto; }
  .intent-copy .text-button { display:inline-flex; justify-content:center; }
  .hero-card.is-focus {
    z-index:12;
    --card-scale:1.08;
    filter:brightness(1.05) saturate(1.04);
    box-shadow:0 22px 32px -24px rgba(20,20,22,.38),0 40px 48px -28px color-mix(in srgb,var(--accent-3) 42%,transparent);
  }
  .hero-card.is-focus::after { opacity:.28; }
  .intent-center { padding:16px 22px 43px; }
  .intent-center strong { max-width:132px; font-size:16px; font-weight:550; }
  .intent-center #intentDesc { max-width:132px; margin-bottom:27px; font-size:8.5px; line-height:1.22; }
}

/* Responsive version of the same fan: tablet keeps seven stops in view, phone keeps a dense seven-card window. */
@media (min-width:721px) and (max-width:1000px) {
  .hero {
    height:900px;
    min-height:900px;
  }
  .hero-visual {
    position:absolute;
    inset:0;
    height:auto;
    margin:0;
  }
  .hero-cards {
    top:48%;
    left:0;
    right:0;
    width:100%;
    height:238px;
    display:flex;
    align-items:flex-start;
    justify-content:flex-start;
    gap:0;
    overflow-x:auto;
    overflow-y:visible;
    padding:12px 18px 20px;
    pointer-events:auto;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
  }
  .hero-cards::-webkit-scrollbar { display:none; }
  .hero-card {
    position:relative;
    left:auto;
    top:var(--tablet-top,20px);
    flex:0 0 auto;
    width:var(--tablet-width,96px);
    height:var(--tablet-height,150px);
    margin-right:var(--tablet-overlap,-12px);
    scroll-snap-align:center;
  }
  .hero-card:nth-child(1) { --tablet-width:80px; --tablet-height:124px; --tablet-top:36px; --tablet-overlap:-7px; }
  .hero-card:nth-child(2) { --tablet-width:96px; --tablet-height:148px; --tablet-top:22px; --tablet-overlap:-13px; }
  .hero-card:nth-child(3) { --tablet-width:108px; --tablet-height:166px; --tablet-top:10px; --tablet-overlap:-15px; }
  .hero-card:nth-child(4) { --tablet-width:96px; --tablet-height:148px; --tablet-top:22px; --tablet-overlap:-13px; }
  .hero-card:nth-child(5) { --tablet-width:114px; --tablet-height:176px; --tablet-top:5px; --tablet-overlap:-15px; }
  .hero-card:nth-child(6) { --tablet-width:96px; --tablet-height:148px; --tablet-top:21px; --tablet-overlap:-13px; }
  .hero-card:nth-child(7) { --tablet-width:108px; --tablet-height:166px; --tablet-top:10px; --tablet-overlap:-15px; }
  .hero-card:nth-child(8) { --tablet-width:80px; --tablet-height:124px; --tablet-top:36px; --tablet-overlap:0; }
  .hero-card-label { right:9px; bottom:9px; left:9px; font-size:12px; }
  .hero-card-arrow { top:7px; right:8px; font-size:17px; }
}

@media (max-width:720px) {
  .hero-visual { margin-right:0; margin-left:0; }
  .hero-cards {
    top:42%;
    height:214px;
    padding:10px 18px 16px;
    scroll-padding-inline:calc(50% - 58px);
  }
  .hero-card {
    width:var(--phone-width,112px);
    height:var(--phone-height,160px);
    margin-right:var(--phone-overlap,-14px);
    top:var(--phone-top,25px);
  }
  .hero-card:nth-child(1) { --phone-width:100px; --phone-height:144px; --phone-top:36px; --phone-overlap:-9px; }
  .hero-card:nth-child(2) { --phone-width:114px; --phone-height:164px; --phone-top:23px; --phone-overlap:-15px; }
  .hero-card:nth-child(3) { --phone-width:128px; --phone-height:184px; --phone-top:8px; --phone-overlap:-18px; }
  .hero-card:nth-child(4) { --phone-width:114px; --phone-height:164px; --phone-top:22px; --phone-overlap:-15px; }
  .hero-card:nth-child(5) { --phone-width:132px; --phone-height:190px; --phone-top:4px; --phone-overlap:-18px; }
  .hero-card:nth-child(6) { --phone-width:114px; --phone-height:164px; --phone-top:21px; --phone-overlap:-15px; }
  .hero-card:nth-child(7) { --phone-width:128px; --phone-height:184px; --phone-top:8px; --phone-overlap:-18px; }
  .hero-card:nth-child(8) { --phone-width:100px; --phone-height:144px; --phone-top:36px; --phone-overlap:0; }
  .hero-card-label { right:8px; bottom:8px; left:8px; font-size:11px; }
  .hero-card-arrow { top:6px; right:7px; font-size:15px; }
}

/* Final responsive tuning: preserve the reference rhythm at every width. */
@keyframes dobrogradCardFloat {
  0%, 100% { --float-y:0px; }
  50% { --float-y:-10px; }
}

@media (min-width:721px) and (max-width:1000px) {
  .hero { overflow:clip; }
  .hero-visual { overflow:hidden; }
  .hero-card { margin-right:2px; }
  .hero-cards { transform:none; }
  .hero-card:nth-child(1),
  .hero-card:nth-child(8) { --tablet-width:84px; }
  .hero-card:nth-child(2),
  .hero-card:nth-child(4),
  .hero-card:nth-child(6) { --tablet-width:100px; }
  .hero-card:nth-child(3),
  .hero-card:nth-child(7) { --tablet-width:112px; }
  .hero-card:nth-child(5) { --tablet-width:118px; }
}

@media (max-width:720px) {
  .hero {
    height:calc(100svh - 190px);
    min-height:620px;
  }
  .hero-cards {
    height:172px;
    padding:8px 62px 14px 4px;
    scroll-padding-inline:calc(50% - 34px);
  }
  .hero-card {
    width:var(--phone-width,70px);
    height:var(--phone-height,106px);
    margin-right:var(--phone-overlap,-18px);
    top:var(--phone-top,25px);
  }
  .hero-card:nth-child(1) { --phone-width:60px; --phone-height:92px; --phone-top:31px; --phone-overlap:-8px; --mobile-rotation:-8deg; z-index:1; }
  .hero-card:nth-child(2) { --phone-width:68px; --phone-height:106px; --phone-top:22px; --phone-overlap:-16px; --mobile-rotation:-5deg; z-index:3; }
  .hero-card:nth-child(3) { --phone-width:76px; --phone-height:116px; --phone-top:8px; --phone-overlap:-19px; --mobile-rotation:-2deg; z-index:5; }
  .hero-card:nth-child(4) { --phone-width:68px; --phone-height:106px; --phone-top:21px; --phone-overlap:-16px; --mobile-rotation:1deg; z-index:6; }
  .hero-card:nth-child(5) { --phone-width:80px; --phone-height:122px; --phone-top:4px; --phone-overlap:-19px; --mobile-rotation:3deg; z-index:8; }
  .hero-card:nth-child(6) { --phone-width:68px; --phone-height:106px; --phone-top:20px; --phone-overlap:-16px; --mobile-rotation:5deg; z-index:6; }
  .hero-card:nth-child(7) { --phone-width:76px; --phone-height:116px; --phone-top:8px; --phone-overlap:-13px; --mobile-rotation:7deg; z-index:5; }
  .hero-card:nth-child(8) { --phone-width:60px; --phone-height:92px; --phone-top:31px; --phone-overlap:0; --mobile-rotation:9deg; z-index:2; }
  .hero-card:first-child { margin-left:-24px; }
  .hero-card-label { right:4px; bottom:6px; left:4px; font-size:8px; }
  .hero-card-arrow { top:4px; right:4px; font-size:12px; }
  .hero-card { filter:saturate(1.16) contrast(1.08); }
  .hero-card-shade { background:linear-gradient(180deg,rgba(0,0,0,.01) 38%,rgba(0,0,0,.48)); }
  .hero-card.is-focus { --card-scale:1.045; }
  .hero-card.is-focus { filter:brightness(1.05) saturate(1.22) contrast(1.08); }
  .hero-cards::after { opacity:.68; }
  .intent-section { margin-top:0; padding-top:84px; }
}

/* The cards share one visible, feathered pool of light across the section seam. */
.hero-visual::after {
  display:none;
}
.hero-cards::after {
  right:4%;
  bottom:-42px;
  left:4%;
  height:86px;
  background:radial-gradient(ellipse at center,
    color-mix(in srgb,var(--accent-3) 28%,transparent) 0%,
    color-mix(in srgb,var(--accent-4) 14%,transparent) 40%,
    transparent 74%);
  filter:blur(26px);
  opacity:.62;
}

/* Onest gives the selector the same calm geometry as the reference. */
body,
.hero h1,
.intent-copy h2,
.section-heading h2,
.row-heading h3,
.bridge-content h2,
.intent-center {
  font-family:"Onest",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}

/* Center the wheel copy by its visible content, not by the old bottom reserve. */
.intent-center {
  padding:28px 24px 20px;
}
.intent-center #intentDesc {
  margin-bottom:0;
}

@media (max-width:720px) {
  .intent-center {
    padding:27px 20px 19px;
  }
}

/* Keep the section seam open: only the card rail owns the pooled glow. */
.intent-section {
  background-color:transparent;
  background-image:none;
}
.intent-section::before {
  display:none;
}

/* Catalog cards: full-bleed photography, a glass information shelf, and one soft light underneath. */
.catalog-section .place-card {
  position:relative;
  isolation:isolate;
}
.catalog-section .place-card::after {
  content:"";
  position:absolute;
  z-index:-1;
  right:10%;
  bottom:-20px;
  left:10%;
  height:48px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    color-mix(in srgb,var(--accent-3) 40%,transparent) 0%,
    color-mix(in srgb,var(--accent-4) 18%,transparent) 42%,
    transparent 76%);
  filter:blur(23px);
  opacity:.72;
  transition:opacity .55s ease,transform .65s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}
.catalog-section .place-card:hover::after,
.catalog-section .place-card:focus-within::after {
  opacity:.82;
  transform:scaleX(1.06);
}
.catalog-section .card-media {
  overflow:visible;
  isolation:isolate;
  box-shadow:0 18px 30px -24px rgba(20,20,22,.34),0 32px 48px -28px color-mix(in srgb,var(--accent-3) 42%,transparent);
}
.catalog-section .card-media::before {
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 42%,rgba(0,0,0,.7));
  pointer-events:none;
}
.catalog-section .place-zone,
.catalog-section .add-button {
  z-index:2;
}
.catalog-section .card-media::after {
  content:"";
  display:block !important;
  position:absolute;
  z-index:-1;
  right:9%;
  bottom:-22px;
  left:9%;
  height:42px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    color-mix(in srgb,var(--accent-3) 34%,transparent) 0%,
    color-mix(in srgb,var(--accent-4) 14%,transparent) 42%,
    transparent 76%);
  filter:blur(23px);
  opacity:.58;
  transform:scaleX(.92);
  transition:opacity .55s ease,transform .65s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}
.catalog-section .place-card:hover .card-media::after,
.catalog-section .place-card:focus-within .card-media::after {
  opacity:.78;
  transform:scaleX(1.05);
}
.catalog-section .card-body {
  position:relative;
  z-index:3;
  margin:-72px 14px 0;
  padding:16px 14px 13px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:19px;
  background:rgba(255,255,255,.56);
  box-shadow:0 14px 28px -22px rgba(20,20,22,.5),inset 0 1px rgba(255,255,255,.78);
  backdrop-filter:blur(16px) saturate(120%);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  transition:transform .6s cubic-bezier(.22,1,.36,1),background .45s ease,box-shadow .45s ease;
}
.catalog-section .place-card:hover .card-body,
.catalog-section .place-card:focus-within .card-body {
  transform:translateY(-7px);
  background:rgba(255,255,255,.68);
  box-shadow:0 20px 32px -22px rgba(20,20,22,.48),inset 0 1px rgba(255,255,255,.86);
}
.catalog-section .card-hover-desc {
  z-index:4;
  right:14px;
  bottom:14px;
  left:14px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.46);
  border-radius:14px;
  background:rgba(20,20,22,.26);
  box-shadow:inset 0 1px rgba(255,255,255,.3);
  backdrop-filter:blur(12px) saturate(120%);
  -webkit-backdrop-filter:blur(12px) saturate(120%);
}
.catalog-section .card-hover-desc::before { display:none; }

@media (max-width:720px) {
  .catalog-section .card-body {
    margin:-46px 8px 0;
    padding:11px 9px 10px;
    border-radius:14px;
  }
  .catalog-section .card-hover-desc {
    right:8px;
    bottom:8px;
    left:8px;
    padding:8px 9px;
    border-radius:11px;
  }
  .catalog-section .card-media::after {
    bottom:-17px;
    height:32px;
    filter:blur(18px);
  }
  .catalog-section .place-card::after {
    bottom:-15px;
    height:34px;
    filter:blur(18px);
  }
}

/* Territory map: a single, editorial map stage with floating zone cards. */
.territory-section {
  padding-top:clamp(96px,10vw,150px);
}
.territory-heading {
  align-items:end;
  margin-bottom:42px;
}
.territory-heading > p {
  max-width:430px;
  margin:0 0 7px;
  font-size:clamp(14px,1.5vw,19px);
  line-height:1.45;
}
.territory-grid {
  display:block;
}
.territory-map {
  position:relative;
}
.map-toolbar {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin:0 3px 12px;
  color:var(--mute);
  font:10px "JetBrains Mono",monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.territory-plan {
  isolation:isolate;
  min-height:0;
  height:clamp(480px,52vw,650px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.65);
  border-radius:32px;
  background:
    radial-gradient(circle at 74% 24%,color-mix(in srgb,var(--accent-4) 66%,transparent),transparent 23%),
    radial-gradient(circle at 30% 72%,color-mix(in srgb,var(--accent-3) 24%,transparent),transparent 30%),
    linear-gradient(135deg,#e7e0c9 0%,#d6ddc0 48%,#c1d1ba 100%);
  box-shadow:0 30px 60px rgba(82,67,37,.13),inset 0 1px rgba(255,255,255,.9),inset 0 -22px 40px rgba(117,106,67,.08);
}
.map-grid {
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.3;
  background-image:linear-gradient(28deg,transparent 49.6%,rgba(255,255,255,.55) 50%,transparent 50.4%),linear-gradient(118deg,transparent 49.6%,rgba(104,111,82,.16) 50%,transparent 50.4%);
  background-size:92px 92px,138px 138px;
  transform:rotate(-8deg) scale(1.18);
}
.map-ring {
  position:absolute;
  z-index:0;
  border:28px solid rgba(255,255,255,.5);
  border-radius:50%;
  transform:rotate(-17deg);
  pointer-events:none;
}
.map-ring-one {
  top:15%;
  left:9%;
  width:78%;
  height:76%;
}
.map-ring-two {
  top:22%;
  left:17%;
  width:64%;
  height:63%;
  border-width:1px;
  border-color:rgba(255,255,255,.68);
  box-shadow:0 0 0 26px rgba(255,255,255,.1),0 0 0 27px rgba(128,133,105,.12);
}
.plan-sun {
  z-index:0;
  top:9%;
  right:15%;
  width:150px;
  height:150px;
  background:radial-gradient(circle,color-mix(in srgb,var(--accent-4) 82%,white),transparent 72%);
  filter:blur(5px);
  opacity:.8;
}
.plan-lake {
  z-index:1;
  top:30%;
  left:39%;
  width:34%;
  height:72%;
  background:linear-gradient(145deg,#a8c3c2,#81a9a8);
  border-radius:58% 42% 48% 57%;
  transform:rotate(34deg);
  box-shadow:26px 9px 0 rgba(140,174,168,.3),inset 14px 10px 20px rgba(255,255,255,.17);
  opacity:.88;
}
.plan-road {
  z-index:2;
  height:5px;
  background:rgba(119,112,82,.28);
  box-shadow:0 1px rgba(255,255,255,.3);
}
.road-one { top:59%; left:9%; width:82%; transform:rotate(-18deg); }
.road-two { top:31%; left:18%; width:69%; transform:rotate(27deg); }
.road-three { top:75%; left:27%; width:61%; transform:rotate(-56deg); }
.map-route {
  position:absolute;
  z-index:2;
  border:2px dashed color-mix(in srgb,var(--accent-1) 46%,transparent);
  border-left:0;
  border-bottom:0;
  border-radius:50%;
  pointer-events:none;
}
.route-one { top:26%; left:28%; width:47%; height:45%; transform:rotate(14deg); }
.route-two { top:40%; left:10%; width:73%; height:35%; transform:rotate(-21deg); opacity:.6; }
.plan-pin {
  z-index:5;
  min-width:0;
  padding:8px 13px 8px 9px;
  border:1px solid rgba(255,255,255,.85);
  border-radius:999px;
  background:rgba(250,247,239,.72);
  color:var(--ink);
  box-shadow:0 10px 24px rgba(69,60,37,.12),inset 0 1px rgba(255,255,255,.9);
  backdrop-filter:blur(12px) saturate(115%);
  -webkit-backdrop-filter:blur(12px) saturate(115%);
  font:11px "JetBrains Mono",monospace;
  letter-spacing:.04em;
  text-transform:uppercase;
  transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s,box-shadow .3s;
}
.plan-pin i {
  width:15px;
  height:15px;
  flex:0 0 15px;
  border:3px solid rgba(255,255,255,.88);
  background:var(--accent-1);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-1) 25%,transparent),0 4px 10px rgba(42,48,27,.22);
}
.plan-pin:hover,
.plan-pin.is-active {
  transform:translateY(-4px) scale(1.035);
  background:rgba(255,255,255,.9);
  box-shadow:0 16px 28px rgba(69,60,37,.18),inset 0 1px rgba(255,255,255,.95);
}
.plan-pin:hover i,
.plan-pin.is-active i { transform:scale(1.12); }
.map-compass {
  position:absolute;
  z-index:4;
  top:24px;
  right:24px;
  display:grid;
  justify-items:center;
  width:42px;
  padding:8px 0 7px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:999px;
  background:rgba(250,247,239,.48);
  color:var(--ink);
  font:11px "JetBrains Mono",monospace;
  box-shadow:inset 0 1px rgba(255,255,255,.8);
}
.map-compass b { font-weight:500; }
.map-compass span { color:var(--accent-1); font-size:17px; line-height:.85; }
.plan-label {
  z-index:4;
  right:24px;
  bottom:20px;
  color:rgba(20,20,22,.5);
  font-size:9px;
}
.zone-list {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.zone-card {
  position:relative;
  min-height:150px;
  padding:18px 42px 18px 18px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:20px;
  background:rgba(255,255,255,.42);
  box-shadow:inset 0 1px rgba(255,255,255,.8),0 12px 26px rgba(80,63,32,.06);
  backdrop-filter:blur(14px) saturate(112%);
  -webkit-backdrop-filter:blur(14px) saturate(112%);
  transition:transform .45s cubic-bezier(.22,1,.36,1),background .3s,box-shadow .3s;
}
.zone-card:hover,
.zone-card:focus-within {
  transform:translateY(-5px);
  background:rgba(255,255,255,.68);
  box-shadow:0 18px 30px rgba(80,63,32,.1),inset 0 1px rgba(255,255,255,.9);
}
.zone-code { color:var(--accent-1); }
.zone-card h3 { margin:13px 0 7px; font-size:18px; line-height:1.05; }
.zone-card p { margin:0 0 12px; color:var(--mute); font-size:11px; line-height:1.4; }
.zone-items { color:var(--ink-soft); font:9px "JetBrains Mono",monospace; line-height:1.35; }
.zone-open {
  position:absolute;
  top:16px;
  right:16px;
  color:var(--accent-1);
  font-size:20px;
}

@media (max-width:1000px) {
  .territory-heading { display:block; }
  .territory-heading > p { margin-top:22px; max-width:680px; }
  .territory-plan { height:560px; }
  .zone-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
}

@media (max-width:720px) {
  .territory-section { padding-top:86px; }
  .territory-heading { margin-bottom:28px; }
  .territory-heading > p { margin-top:17px; font-size:14px; line-height:1.5; }
  .map-toolbar { margin:0 2px 9px; font-size:8px; }
  .territory-plan { height:470px; border-radius:24px; }
  .map-ring { border-width:17px; }
  .map-ring-one { top:18%; left:-10%; width:120%; height:68%; }
  .map-ring-two { top:25%; left:0%; width:100%; height:57%; box-shadow:0 0 0 16px rgba(255,255,255,.1),0 0 0 17px rgba(128,133,105,.12); }
  .plan-sun { top:8%; right:4%; width:100px; height:100px; }
  .plan-lake { top:32%; left:36%; width:48%; height:66%; }
  .plan-road { height:3px; }
  .route-one { top:27%; left:20%; width:64%; height:43%; }
  .route-two { top:43%; left:3%; width:90%; height:30%; }
  .plan-pin { padding:7px 9px 7px 7px; font-size:8px; letter-spacing:0; }
  .plan-pin i { width:13px; height:13px; flex-basis:13px; border-width:2px; }
  .pin-1 { top:22%; left:5%; }
  .pin-2 { top:43%; left:auto; right:3%; }
  .pin-3 { top:75%; left:7%; }
  .pin-4 { top:77%; left:auto; right:4%; }
  .map-compass { top:15px; right:15px; width:34px; padding:6px 0; font-size:9px; }
  .map-compass span { font-size:14px; }
  .plan-label { right:15px; bottom:13px; font-size:7px; }
  .zone-list { grid-template-columns:1fr; gap:10px; margin-top:12px; }
  .zone-card { min-height:0; padding:15px 38px 15px 15px; border-radius:17px; }
  .zone-card h3 { margin:10px 0 6px; font-size:17px; }
  .zone-card p { margin-bottom:9px; font-size:10px; }
  .zone-open { top:13px; right:14px; }
}

/* Actual Dobrograd map: Leaflet carries the geography; this layer only carries the brand treatment. */
.territory-plan#dobrograd-map {
  position:relative;
  isolation:isolate;
  height:clamp(420px,44vw,560px);
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.82);
  border-radius:32px;
  background:#dfe4d4;
  box-shadow:0 30px 60px rgba(82,67,37,.14),inset 0 1px rgba(255,255,255,.95);
  z-index:0;
}
#dobrograd-map::before,
#dobrograd-map::after { content:none!important; display:none!important; }
#dobrograd-map .leaflet-pane,
#dobrograd-map .leaflet-control,
#dobrograd-map .leaflet-top,
#dobrograd-map .leaflet-bottom { z-index:1; }
#dobrograd-map .leaflet-tile-pane { filter:saturate(.72) sepia(.08) contrast(.96) brightness(1.04); }
#dobrograd-map .leaflet-control-zoom {
  margin:0 18px 18px 0;
  overflow:hidden;
  border:1px solid rgba(22,27,18,.18);
  border-radius:14px;
  box-shadow:0 12px 26px rgba(42,48,27,.16);
}
#dobrograd-map .leaflet-control-zoom a {
  width:34px;
  height:34px;
  border:0;
  background:rgba(249,247,238,.9);
  color:var(--ink);
  font:20px/34px "Onest",sans-serif;
}
#dobrograd-map .leaflet-control-zoom a + a { border-top:1px solid rgba(22,27,18,.12); }
#dobrograd-map .leaflet-control-attribution {
  padding:3px 7px;
  border-radius:7px 0 0;
  background:rgba(249,247,238,.74);
  color:rgba(22,27,18,.58);
  font:8px/1.2 "JetBrains Mono",monospace;
  backdrop-filter:blur(8px);
}
#dobrograd-map .leaflet-control-attribution a { color:var(--accent-1); }
.dobrograd-marker-icon {
  position:relative;
  width:18px!important;
  height:18px!important;
  border:3px solid rgba(249,247,238,.95);
  border-radius:50%;
  background:var(--accent-1);
  box-shadow:0 0 0 1px rgba(52,76,39,.38),0 6px 14px rgba(42,48,27,.28);
  cursor:pointer;
}
.dobrograd-marker-dot { position:absolute; inset:3px; border-radius:50%; background:currentColor; }
.dobrograd-marker-pulse {
  position:absolute;
  inset:-9px;
  border:1px solid color-mix(in srgb,var(--accent-1) 60%,transparent);
  border-radius:50%;
  animation:dobrogradMapPulse 2.8s ease-out infinite;
}
.dobrograd-marker-label {
  position:absolute;
  left:14px;
  top:-8px;
  width:max-content;
  max-width:180px;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:999px;
  background:rgba(249,247,238,.86);
  color:var(--ink);
  box-shadow:0 8px 16px rgba(42,48,27,.12),inset 0 1px rgba(255,255,255,.85);
  font:9px "JetBrains Mono",monospace;
  line-height:1.1;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
  backdrop-filter:blur(9px);
  transition:transform .35s cubic-bezier(.22,1,.36,1),background .35s;
}
.dobrograd-marker-icon.is-active,
.dobrograd-marker-icon:hover { z-index:10!important; transform:scale(1.16); }
.dobrograd-marker-icon.is-active .dobrograd-marker-label,
.dobrograd-marker-icon:hover .dobrograd-marker-label { background:rgba(255,255,255,.98); transform:translateY(-2px); }
.dobrograd-city-icon {
  position:relative;
  width:16px!important;
  height:16px!important;
  border:3px solid rgba(249,247,238,.96);
  border-radius:50%;
  background:var(--ink);
  box-shadow:0 0 0 1px rgba(20,20,22,.35),0 6px 14px rgba(20,20,22,.28);
}
.dobrograd-city-dot { position:absolute; inset:4px; border-radius:50%; background:var(--accent-2); }
.dobrograd-city-pulse { position:absolute; inset:-8px; border:1px solid rgba(20,20,22,.4); border-radius:50%; }
.dobrograd-city-label {
  position:absolute;
  left:12px;
  top:-8px;
  width:max-content;
  padding:5px 8px;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  font:8px "JetBrains Mono",monospace;
  letter-spacing:.08em;
}
.map-focus {
  position:absolute;
  z-index:450;
  left:18px;
  bottom:18px;
  width:min(270px,calc(100% - 36px));
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:18px;
  background:rgba(249,247,238,.9);
  box-shadow:0 16px 30px rgba(42,48,27,.16),inset 0 1px rgba(255,255,255,.95);
  color:var(--ink);
  pointer-events:none;
  backdrop-filter:blur(13px) saturate(112%);
  -webkit-backdrop-filter:blur(13px) saturate(112%);
}
.map-focus span,
.map-focus small { display:block; color:var(--accent-1); font:8px "JetBrains Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.map-focus strong { display:block; margin:5px 0 3px; font-size:17px; line-height:1.1; }
.map-focus p { margin:0 0 7px; color:var(--mute); font-size:10px; line-height:1.35; }
.map-focus small { color:var(--ink-soft); font-size:7px; letter-spacing:.04em; }
.map-help {
  position:absolute;
  z-index:450;
  top:18px;
  right:18px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:999px;
  background:rgba(249,247,238,.72);
  color:var(--ink-soft);
  font:8px "JetBrains Mono",monospace;
  letter-spacing:.04em;
  text-transform:uppercase;
  pointer-events:none;
  backdrop-filter:blur(10px);
}
.dobrograd-popup .leaflet-popup-content-wrapper {
  border:1px solid rgba(255,255,255,.85);
  border-radius:18px;
  background:rgba(249,247,238,.93);
  box-shadow:0 18px 40px rgba(42,48,27,.2),inset 0 1px rgba(255,255,255,.9);
  backdrop-filter:blur(14px);
}
.dobrograd-popup .leaflet-popup-content { margin:14px 16px; min-width:190px; }
.dobrograd-popup .leaflet-popup-tip { background:rgba(249,247,238,.93); }
.map-popup span,
.map-popup small { display:block; color:var(--accent-1); font:9px "JetBrains Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.map-popup strong { display:block; margin:7px 0 5px; color:var(--ink); font-size:16px; line-height:1.08; }
.map-popup p { margin:0 0 9px; color:var(--mute); font-size:11px; line-height:1.38; }
.map-popup small { color:var(--ink-soft); font-size:8px; letter-spacing:.04em; }
.zone-card { cursor:pointer; }
.zone-card.is-map-active {
  border-color:color-mix(in srgb,var(--accent-1) 55%,white);
  background:rgba(255,255,255,.68);
  box-shadow:0 18px 30px rgba(80,63,32,.12),0 0 0 2px color-mix(in srgb,var(--accent-1) 12%,transparent),inset 0 1px rgba(255,255,255,.92);
  transform:translateY(-3px);
}
.zone-card:focus-visible { outline:2px solid var(--accent-1); outline-offset:3px; }
@keyframes dobrogradMapPulse {
  0% { opacity:.8; transform:scale(.45); }
  75%,100% { opacity:0; transform:scale(1.35); }
}

@media (max-width:720px) {
  .territory-plan#dobrograd-map { height:360px; border-radius:24px; }
  #dobrograd-map .leaflet-control-zoom { margin:0 12px 12px 0; }
  #dobrograd-map .leaflet-control-zoom a { width:32px; height:32px; font-size:18px; line-height:32px; }
  #dobrograd-map .leaflet-control-attribution { font-size:7px; }
  .map-toolbar-hint { display:none; }
  .dobrograd-marker-label { max-width:130px; padding:5px 7px; font-size:7px; }
  .dobrograd-popup .leaflet-popup-content { margin:12px 14px; min-width:150px; }
  .map-popup strong { font-size:14px; }
  .map-popup p { font-size:10px; }
  .map-focus { left:12px; bottom:12px; width:calc(100% - 24px); padding:11px 13px; border-radius:15px; }
  .map-focus strong { font-size:15px; }
  .map-focus p { font-size:9px; }
  .map-help { top:12px; right:12px; font-size:7px; }
}

/* The territory groups behave like marketplace filters on small screens. */
@media (max-width:720px) {
  .zone-list {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:12px;
  }
  .zone-card {
    min-height:154px;
    padding:14px 13px 13px;
    border-radius:18px;
    overflow:hidden;
  }
  .zone-code {
    font-size:8px;
    letter-spacing:.08em;
  }
  .zone-card h3 {
    display:-webkit-box;
    margin:12px 0 7px;
    overflow:hidden;
    font-size:15px;
    line-height:1.06;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .zone-card p {
    display:-webkit-box;
    margin-bottom:8px;
    overflow:hidden;
    font-size:9px;
    line-height:1.32;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .zone-items {
    display:block;
    overflow:hidden;
    font-size:7px;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .zone-open {
    top:auto;
    right:12px;
    bottom:11px;
    font-size:17px;
  }
  .map-group-card {
    min-height:148px;
  }
}

/* Entrance choreography: the editorial composition settles into place on load. */
@keyframes dobrogradHeaderDrop {
  from { opacity:0; translate:0 -18px; }
  to { opacity:1; translate:0 0; }
}
@keyframes dobrogradTitleDrop {
  from { opacity:0; translate:0 -34px; }
  to { opacity:var(--hero-title-opacity,1); translate:0 var(--hero-title-y,0px); }
}
@keyframes dobrogradGhostDrop {
  from { opacity:0; scale:.9; }
  to { opacity:var(--ghost-opacity,.9); scale:var(--ghost-scale,1); }
}
@keyframes dobrogradCardDrop {
  from {
    opacity:0;
    translate:0 -72px;
    scale:.92;
  }
  to {
    opacity:1;
    translate:0 0;
    scale:1;
  }
}
@keyframes dobrogradChoiceDrop {
  from { opacity:0; translate:0 24px; scale:.96; }
  to { opacity:var(--choice-opacity,1); translate:0 0; scale:1; }
}
@keyframes dobrogradHintReveal {
  from { opacity:0; translate:0 12px; }
  to { opacity:1; translate:0 0; }
}

.site-header {
  animation:dobrogradHeaderDrop .72s cubic-bezier(.16,1,.3,1) both;
}
.hero-intro {
  animation:dobrogradTitleDrop .9s .12s cubic-bezier(.16,1,.3,1) both;
}
.ghost-word {
  animation:dobrogradGhostDrop 1.05s .26s cubic-bezier(.16,1,.3,1) both;
}
.hero-card {
  animation-name:dobrogradCardDrop,dobrogradCardFloat;
  animation-duration:.92s,7.2s;
  animation-timing-function:cubic-bezier(.16,1,.3,1),ease-in-out;
  animation-delay:calc(var(--i) * 78ms + 180ms),calc(var(--i) * -420ms);
  animation-iteration-count:1,infinite;
  animation-fill-mode:both,both;
}
.hero-choice {
  animation:dobrogradChoiceDrop .78s .5s cubic-bezier(.16,1,.3,1) both;
}
.hero-scroll-hint {
  animation:dobrogradHintReveal .72s .72s cubic-bezier(.16,1,.3,1) both;
}

@media (prefers-reduced-motion:reduce) {
  .site-header,
  .hero-intro,
  .ghost-word,
  .hero-card,
  .hero-choice,
  .hero-scroll-hint { animation:none; }
}

/* Stable card motion: the rail owns scroll/float, the face owns hover lift. */
.hero {
  position:relative;
  z-index:1;
}
.hero-visual {
  isolation:isolate;
}
.hero-visual::after {
  content:"";
  display:block !important;
  position:absolute;
  z-index:0;
  top:58%;
  right:2%;
  left:2%;
  height:210px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,
    color-mix(in srgb,var(--accent-3) 30%,transparent) 0%,
    color-mix(in srgb,var(--accent-4) 18%,transparent) 42%,
    transparent 76%);
  filter:blur(36px);
  opacity:.68;
  pointer-events:none;
}
.hero-cards::after,
.hero-card::after { display:none !important; }
.hero-card {
  overflow:visible;
  border:0;
  --card-scale:1;
  --hover-y:0px;
  background:transparent;
  box-shadow:none;
  transition:filter .5s ease;
}
.hero-card:hover,
.hero-card:focus-visible,
.hero-card.is-focus {
  --hover-y:0px;
  --card-scale:1;
  animation-play-state:running;
  transform:translate3d(var(--scroll-x,0px),calc(var(--scroll-y,0px) + var(--hover-y) + var(--float-y)),0) rotate(calc(var(--card-rotation,0deg) + var(--scroll-rot,0deg))) scale(var(--card-scale,1));
}
.hero-card-face {
  position:absolute;
  inset:0;
  display:block;
  overflow:hidden;
  border-radius:22px;
  background:var(--card) var(--card-image) center/cover;
  box-shadow:
    0 24px 36px -30px rgba(20,20,22,.42),
    0 38px 48px -28px color-mix(in srgb,var(--accent-3) 42%,transparent);
  transform:translate3d(0,var(--hover-lift,0px),0) rotate(var(--hover-rotate,0deg)) scale(var(--hover-scale,1));
  transform-origin:50% 80%;
  transition:transform .76s cubic-bezier(.16,1,.3,1),filter .62s ease,box-shadow .76s ease;
  will-change:transform;
}
.hero-card:hover .hero-card-face,
.hero-card:focus-visible .hero-card-face,
.hero-card.is-focus .hero-card-face {
  --hover-lift:-9px;
  --hover-scale:1.06;
  --hover-rotate:0deg;
  filter:brightness(1.045) saturate(1.04);
  box-shadow:
    0 28px 40px -31px rgba(20,20,22,.52),
    0 42px 52px -29px color-mix(in srgb,var(--accent-3) 48%,transparent);
}
.hero-card-face .hero-card-shade,
.hero-card-face .hero-card-label,
.hero-card-face .hero-card-arrow { z-index:1; }
.hero-card-face .hero-card-shade { transition:background .62s ease; }
.hero-card:hover .hero-card-face .hero-card-shade,
.hero-card:focus-visible .hero-card-face .hero-card-shade {
  background:linear-gradient(180deg,rgba(0,0,0,0) 32%,rgba(0,0,0,.58));
}
.intent-section {
  position:relative;
  z-index:0;
  margin-top:-72px;
  padding-top:100px;
  border-radius:0;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}

@media (min-width:721px) {
  .hero-cards { top:50%; }
  .hero-scroll-hint { top:96%; }
}

@media (max-width:720px) {
  /* The hero is the complete first phone screen; do not cut it short before the transition. */
  .hero {
    height:100svh;
    min-height:100svh;
    max-height:none;
    margin-bottom:0;
    border-radius:0!important;
  }
  /* Leave room for the cards' scroll spread and feathered shadow inside the rail. */
  .hero-cards {
    height:230px;
    overflow-x:auto;
    overflow-y:auto;
    padding-bottom:48px;
  }
  #app,
  .hero + .intent-section {
    border-radius:0!important;
  }
  .hero-cards { top:49%; }
  .hero-scroll-hint { top:95%; }
  .hero-visual::after {
    top:42%;
    right:-8%;
    left:-8%;
    height:180px;
    filter:blur(30px);
    opacity:.76;
  }
  .hero-card-face { border-radius:22px; }
  .hero-card:hover,
  .hero-card:focus-visible,
  .hero-card.is-focus {
    transform:translate3d(var(--scroll-x,0px),calc(var(--scroll-y,0px) + var(--hover-y) + var(--float-y)),0) rotate(calc(var(--mobile-rotation,0deg) + var(--scroll-rot,0deg))) scale(var(--card-scale,1));
  }
  .hero-card:hover .hero-card-face,
  .hero-card:focus-visible .hero-card-face,
  .hero-card.is-focus .hero-card-face {
    --hover-lift:-6px;
    --hover-scale:1.045;
  }
}

/* Marketplace tiles: each filter has its own little visual world. */
.map-group-list {
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-flow:dense;
  gap:14px;
}
.map-group-card {
  --tile-bg:#e6edf0;
  --tile-accent:#5d8fa0;
  --tile-orb:#b8d9dd;
  grid-column:span 4;
  min-height:205px;
  overflow:hidden;
  padding:20px 20px 18px;
  border:1px solid color-mix(in srgb,var(--tile-accent) 20%,white);
  border-radius:25px;
  background:var(--tile-bg);
  color:var(--ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
  box-shadow:0 15px 28px rgba(80,63,32,.07),inset 0 1px rgba(255,255,255,.72);
  transition:transform .48s cubic-bezier(.16,1,.3,1),box-shadow .4s,filter .4s;
}
.map-group-card:nth-child(1) { grid-column:span 5; }
.map-group-card:nth-child(2) { grid-column:span 4; }
.map-group-card:nth-child(3) { grid-column:span 3; }
.map-group-card:nth-child(4) { grid-column:span 3; }
.map-group-card:nth-child(5) { grid-column:span 5; }
.map-group-card:nth-child(6) { grid-column:span 4; }
.map-group-card:nth-child(7) { grid-column:span 4; }
.map-group-card:hover,
.map-group-card:focus-visible,
.map-group-card.is-map-active {
  transform:translateY(-6px) rotate(-.6deg);
  filter:saturate(1.06);
  box-shadow:0 22px 34px color-mix(in srgb,var(--tile-accent) 19%,transparent),0 0 0 2px color-mix(in srgb,var(--tile-accent) 18%,transparent),inset 0 1px rgba(255,255,255,.86);
}
.map-group-card:nth-child(3n+2):hover,
.map-group-card:nth-child(3n+2):focus-visible,
.map-group-card:nth-child(3n+2).is-map-active { transform:translateY(-6px) rotate(.6deg); }
.map-group-card:focus-visible { outline:2px solid var(--tile-accent); outline-offset:4px; }
.map-group-card .zone-card-orb {
  position:absolute;
  top:-48px;
  right:-28px;
  width:155px;
  height:155px;
  border-radius:50%;
  background:radial-gradient(circle at 34% 34%,rgba(255,255,255,.7),var(--tile-orb) 57%,transparent 72%);
  opacity:.9;
  transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .4s;
}
.map-group-card:hover .zone-card-orb,
.map-group-card:focus-visible .zone-card-orb,
.map-group-card.is-map-active .zone-card-orb { transform:scale(1.15) rotate(14deg); opacity:1; }
.map-group-card .zone-code,
.map-group-card .zone-count,
.map-group-card .zone-glyph,
.map-group-card h3,
.map-group-card p,
.map-group-card .zone-items,
.map-group-card .zone-open { position:relative; z-index:1; }
.map-group-card .zone-code { color:var(--tile-accent); font-weight:600; }
.map-group-card .zone-count {
  position:absolute;
  top:20px;
  right:20px;
  color:color-mix(in srgb,var(--tile-accent) 80%,var(--ink));
  font:9px "JetBrains Mono",monospace;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.zone-glyph {
  display:grid;
  place-items:center;
  width:39px;
  height:39px;
  margin-top:24px;
  border:1px solid rgba(255,255,255,.76);
  border-radius:14px 14px 14px 5px;
  background:color-mix(in srgb,var(--tile-accent) 82%,white);
  color:#fff;
  box-shadow:0 8px 16px color-mix(in srgb,var(--tile-accent) 22%,transparent),inset 0 1px rgba(255,255,255,.35);
  transform:rotate(-6deg);
  transition:transform .45s cubic-bezier(.16,1,.3,1);
}
.map-group-card:hover .zone-glyph,
.map-group-card:focus-visible .zone-glyph,
.map-group-card.is-map-active .zone-glyph { transform:rotate(4deg) scale(1.08); }
.zone-glyph svg { width:20px; height:20px; }
.map-group-card h3 { max-width:82%; margin:15px 0 7px; font-size:24px; line-height:.98; letter-spacing:-.06em; }
.map-group-card p { max-width:33ch; margin:0 0 14px; color:color-mix(in srgb,var(--ink) 62%,var(--tile-accent)); font-size:11px; line-height:1.35; }
.map-group-card .zone-items { color:color-mix(in srgb,var(--ink) 78%,var(--tile-accent)); }
.map-group-card .zone-open { top:auto; right:19px; bottom:16px; color:var(--tile-accent); font-size:25px; transition:transform .4s cubic-bezier(.16,1,.3,1); }
.map-group-card:hover .zone-open,
.map-group-card:focus-visible .zone-open,
.map-group-card.is-map-active .zone-open { transform:translate(3px,-3px) rotate(-8deg); }
.map-group-stays,.map-group-housing { --tile-bg:#e4eef0; --tile-accent:#4d8797; --tile-orb:#b8d8dc; }
.map-group-food { --tile-bg:#fff0d9; --tile-accent:#dc6c32; --tile-orb:#f7be78; }
.map-group-water,.map-group-park { --tile-bg:#dfeee5; --tile-accent:#5f8d67; --tile-orb:#bdd8b7; }
.map-group-wellness,.map-group-health { --tile-bg:#eee5ef; --tile-accent:#98729a; --tile-orb:#d7b8d7; }
.map-group-sport,.map-group-work,.map-group-oez { --tile-bg:#e9efd7; --tile-accent:#657f3f; --tile-orb:#cadc9a; }
.map-group-family,.map-group-nature { --tile-bg:#f8e6da; --tile-accent:#bd6b4e; --tile-orb:#f2bd9a; }
.map-group-school,.map-group-commercial,.map-group-launch { --tile-bg:#e6e8f0; --tile-accent:#657493; --tile-orb:#bdc9e1; }
.map-group-team,.map-group-evp { --tile-bg:#e9e4d5; --tile-accent:#9a7540; --tile-orb:#e1c892; }

/* The facts and handoff now read as designed closing beats, not raw utility blocks. */
.stats-section {
  position:relative;
  overflow:hidden;
  background:color-mix(in srgb,var(--bg-2) 60%,transparent);
  border-radius:42px 42px 0 0;
}
.stats-section::before {
  content:"";
  position:absolute;
  top:-170px;
  right:-80px;
  width:390px;
  height:390px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--accent-4) 58%,transparent),transparent 70%);
  filter:blur(10px);
  opacity:.62;
  pointer-events:none;
}
.stats-section>.container { position:relative; z-index:1; }
.stats-grid { gap:14px; }
.stat {
  position:relative;
  min-height:190px;
  overflow:hidden;
  padding:23px 20px 20px;
  border:1px solid rgba(255,255,255,.7);
  border-top:1px solid rgba(255,255,255,.7);
  border-radius:24px;
  background:rgba(255,255,255,.3);
  box-shadow:0 15px 28px rgba(80,63,32,.05),inset 0 1px rgba(255,255,255,.7);
}
.stat:nth-child(2) { background:color-mix(in srgb,var(--accent-4) 22%,white); }
.stat:nth-child(3) { background:color-mix(in srgb,var(--accent-3) 10%,white); }
.stat strong { position:relative; z-index:1; font-size:clamp(48px,6vw,78px); line-height:.9; }
.stat span { position:relative; z-index:1; margin-top:15px; }
.stat p { position:relative; z-index:1; max-width:16ch; margin-top:13px; }
.stat::after {
  content:"";
  position:absolute;
  right:-22px;
  bottom:-28px;
  width:105px;
  height:105px;
  border-radius:50%;
  background:color-mix(in srgb,var(--accent-3) 22%,transparent);
  filter:blur(4px);
}
.handoff-section { padding-top:112px; padding-bottom:128px; }
.handoff-grid { gap:14px; }
.handoff-card {
  position:relative;
  min-height:285px;
  overflow:hidden;
  padding:22px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:25px;
  background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.035));
  box-shadow:inset 0 1px rgba(255,255,255,.08);
  transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s,background .4s,box-shadow .4s;
}
.handoff-card::after {
  content:"";
  position:absolute;
  right:-34px;
  bottom:-48px;
  width:160px;
  height:160px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--accent-3) 43%,transparent),transparent 67%);
  filter:blur(8px);
  opacity:.5;
  transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .4s;
}
.handoff-card:hover { transform:translateY(-8px) rotate(-.5deg); border-color:var(--accent-3); background:rgba(255,255,255,.1); box-shadow:0 22px 38px rgba(0,0,0,.18); }
.handoff-card:hover::after { transform:scale(1.25); opacity:.8; }
.handoff-number { position:relative; z-index:1; display:grid; place-items:center; width:35px; height:35px; border:1px solid color-mix(in srgb,var(--accent-3) 58%,transparent); border-radius:50%; background:rgba(255,255,255,.06); }
.handoff-card h3,.handoff-card p,.handoff-link { position:relative; z-index:1; }
.handoff-card h3 { margin:40px 0 10px; font-size:27px; }
.handoff-card p { max-width:28ch; }
.handoff-link { margin-top:27px; }

@media (max-width:1000px) {
  .map-group-list { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .map-group-card,
  .map-group-card:nth-child(n) { grid-column:span 2; }
  .map-group-card:nth-child(1),
  .map-group-card:nth-child(4) { grid-column:span 3; }
}

@media (max-width:720px) {
  .map-group-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .map-group-card,
  .map-group-card:nth-child(n) { grid-column:span 1; min-height:186px; padding:15px 14px 14px; border-radius:20px; }
  .map-group-card:nth-child(1),
  .map-group-card:nth-child(4) { grid-column:span 2; }
  .map-group-card .zone-count { top:15px; right:14px; font-size:7px; }
  .zone-glyph { width:32px; height:32px; margin-top:19px; border-radius:11px 11px 11px 4px; }
  .zone-glyph svg { width:17px; height:17px; }
  .map-group-card h3 { margin:12px 0 6px; font-size:17px; }
  .map-group-card p { margin-bottom:8px; font-size:9px; }
  .map-group-card .zone-items { font-size:7px; }
  .map-group-card .zone-open { right:13px; bottom:12px; font-size:20px; }
  .stats-section { border-radius:26px 26px 0 0; }
  .stat { min-height:150px; padding:17px 14px 15px; border-radius:19px; }
  .stat strong { font-size:47px; }
  .stat span { margin-top:12px; font-size:8px; }
  .stat p { margin-top:10px; font-size:9px; }
  .handoff-section { padding-top:84px; padding-bottom:96px; }
  .handoff-card { min-height:230px; padding:17px; border-radius:20px; }
  .handoff-card h3 { margin:31px 0 8px; font-size:23px; }
  .handoff-card p { font-size:10px; }
}

/* Closing beats stay inside the warm Dobrograd world instead of switching to a dark landing page. */
.handoff-section {
  position:relative;
  overflow:hidden;
  padding-top:118px;
  padding-bottom:130px;
  background:var(--bg-2);
  color:var(--ink);
}
.handoff-section::before {
  content:"";
  position:absolute;
  top:-190px;
  left:-90px;
  width:430px;
  height:430px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--accent-4) 55%,transparent),transparent 70%);
  filter:blur(12px);
  opacity:.62;
  pointer-events:none;
}
.handoff-section::after { display:none; }
.handoff-section .light-heading h2 em { color:var(--mute); }
.handoff-section .light-heading>p { color:var(--mute); }
.handoff-grid { gap:16px; }
.handoff-card {
  min-height:286px;
  padding:22px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:25px;
  background:rgba(255,255,255,.42);
  color:var(--ink);
  box-shadow:0 16px 30px rgba(80,63,32,.07),inset 0 1px rgba(255,255,255,.8);
}
.handoff-card::after {
  background:radial-gradient(circle,color-mix(in srgb,var(--accent-3) 40%,transparent),transparent 67%);
  opacity:.38;
}
.handoff-card:hover {
  transform:translateY(-7px) rotate(-.35deg);
  border-color:color-mix(in srgb,var(--accent-1) 50%,white);
  background:rgba(255,255,255,.72);
  box-shadow:0 23px 38px rgba(80,63,32,.12),0 0 0 2px color-mix(in srgb,var(--accent-1) 10%,transparent);
}
.handoff-card.is-placeholder { border-style:solid; opacity:.74; }
.handoff-number {
  border-color:color-mix(in srgb,var(--accent-1) 30%,white);
  background:color-mix(in srgb,var(--accent-1) 8%,white);
  color:var(--accent-1);
}
.handoff-card h3 { margin:40px 0 10px; }
.handoff-card p { color:var(--mute); }
.handoff-link { color:var(--accent-1); }

.bridge-section {
  position:relative;
  min-height:540px;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:var(--ink);
  background-color:var(--bg);
  background-repeat:no-repeat;
  background-position:right center;
  background-size:44% 100%;
}
.bridge-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 96%,transparent) 48%,color-mix(in srgb,var(--bg) 20%,transparent) 100%);
}
.bridge-content { width:100%; }
.bridge-content .eyebrow { color:var(--accent-1); }
.bridge-content h2 { max-width:720px; color:var(--ink); }
.bridge-content>p:not(.eyebrow) { color:var(--mute); }
.bridge-content .light-pill {
  color:#fff;
  background:var(--accent-1);
  box-shadow:0 14px 26px color-mix(in srgb,var(--accent-1) 23%,transparent);
}
.bridge-content .light-pill:hover {
  color:#fff;
  background:var(--accent-2);
  transform:translateY(-3px);
}
.bridge-content .light-pill span { color:#fff; }

@media (max-width:720px) {
  .handoff-section { padding-top:86px; padding-bottom:100px; }
  .handoff-card { min-height:232px; padding:17px; }
  .handoff-card h3 { margin-top:31px; }
  .bridge-section {
    min-height:620px;
    align-items:flex-start;
    padding:86px 0 250px;
    background-position:center bottom;
    background-size:100% 48%;
  }
  .bridge-shade { background:linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 94%,transparent) 58%,color-mix(in srgb,var(--bg) 22%,transparent) 100%); }
  .bridge-content h2 { max-width:100%; font-size:56px; }
  .bridge-content>p:not(.eyebrow) { max-width:31ch; }
}

/* The ending gets one authored gesture: letters settle while the section edge breathes with scroll. */
.handoff-section {
  overflow:visible;
  z-index:2;
  padding-bottom:155px;
}
.closing-edge {
  position:absolute;
  right:0;
  bottom:-1px;
  left:0;
  z-index:3;
  display:block;
  width:100%;
  height:82px;
  overflow:visible;
  fill:var(--bg);
  pointer-events:none;
}
.closing-edge-path { vector-effect:non-scaling-stroke; }
.closing-word { display:inline-block; white-space:nowrap; }
.closing-letter {
  display:inline-block;
  opacity:0;
  filter:blur(10px);
  transform:translate3d(0,calc((var(--letter-index) - 7) * -3px),0) rotate(calc((var(--letter-index) - 7) * .8deg));
  animation:closingLetterGather .82s calc(var(--letter-index) * 18ms + .12s) cubic-bezier(.16,1,.3,1) both;
  will-change:transform,opacity,filter;
}
.closing-letter.is-scroll-driven { animation:none; }
@keyframes closingLetterGather {
  0% { opacity:0; filter:blur(10px); transform:translate3d(0,calc((var(--letter-index) - 7) * -3px),0) rotate(calc((var(--letter-index) - 7) * .8deg)); }
  68% { opacity:1; filter:blur(1px); }
  100% { opacity:1; filter:blur(0); transform:translate3d(0,0,0) rotate(0); }
}
.bridge-section {
  z-index:1;
  isolation:isolate;
  min-height:590px;
  padding-top:90px;
  padding-bottom:105px;
}
.bridge-shade { z-index:0; }
.bridge-orbit {
  position:absolute;
  z-index:1;
  border:1px solid color-mix(in srgb,var(--accent-1) 18%,transparent);
  border-radius:50%;
  pointer-events:none;
  animation:bridgeOrbit 16s ease-in-out infinite alternate;
}
.bridge-orbit-one { top:-150px; right:12%; width:520px; height:520px; transform:rotate(18deg); }
.bridge-orbit-two { right:0; bottom:-210px; width:430px; height:430px; border-color:color-mix(in srgb,var(--accent-3) 28%,transparent); animation-delay:-5s; }
@keyframes bridgeOrbit {
  from { transform:translate3d(-14px,8px,0) rotate(12deg) scale(.97); opacity:.4; }
  to { transform:translate3d(18px,-12px,0) rotate(28deg) scale(1.04); opacity:.85; }
}
.bridge-content { z-index:2; }
.bridge-content h2 { position:relative; }
.bridge-content .closing-letter { animation-delay:calc(var(--letter-index) * 22ms + .22s); }

@media (prefers-reduced-motion:reduce) {
  .closing-letter { opacity:1; filter:none; transform:none; animation:none; }
  .bridge-orbit { animation:none; }
}

@media (max-width:720px) {
  .handoff-section { padding-bottom:128px; }
  .closing-edge { height:58px; }
  .bridge-section { min-height:640px; padding-top:82px; padding-bottom:240px; }
  .bridge-orbit-one { top:28%; right:-190px; width:420px; height:420px; }
  .bridge-orbit-two { right:-140px; bottom:-110px; width:330px; height:330px; }
}

/* Closing cards: visible color, a soft pool of light, and small objects that
   deliberately break the edge like physical pieces on a tabletop. */
.handoff-card {
  overflow:visible;
  isolation:isolate;
}
.handoff-card::before {
  content:"";
  position:absolute;
  z-index:0;
  right:7%;
  bottom:-30px;
  left:7%;
  height:58px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent-3) 42%,transparent) 0%,color-mix(in srgb,var(--accent-4) 28%,transparent) 42%,transparent 74%);
  filter:blur(17px);
  opacity:.7;
  transform:scaleX(.92);
  transition:opacity .5s ease,transform .7s cubic-bezier(.16,1,.3,1),filter .5s ease;
  pointer-events:none;
}
.handoff-card:hover::before { opacity:1; filter:blur(21px); transform:scaleX(1.12); }
.handoff-object {
  position:absolute;
  z-index:0;
  top:-20px;
  right:25px;
  width:52px;
  height:52px;
  border-radius:13px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent-3) 82%,white),var(--accent-1));
  box-shadow:-9px 13px 20px color-mix(in srgb,var(--accent-1) 20%,transparent),inset 5px 5px 0 rgba(255,255,255,.28),inset -7px -8px 0 rgba(20,20,22,.12);
  transform:perspective(180px) rotateX(22deg) rotateY(-28deg) rotateZ(12deg);
  transition:transform .65s cubic-bezier(.16,1,.3,1),box-shadow .5s ease;
  pointer-events:none;
}
.handoff-object::before,
.handoff-object::after { content:""; position:absolute; pointer-events:none; }
.handoff-object::before {
  top:-9px;
  left:9px;
  width:34px;
  height:12px;
  border-radius:5px 7px 3px 3px;
  background:color-mix(in srgb,var(--accent-3) 58%,white);
  transform:skewX(-35deg) rotate(-1deg);
  transform-origin:left bottom;
  opacity:.86;
}
.handoff-object::after {
  top:5px;
  right:-10px;
  width:11px;
  height:39px;
  border-radius:0 5px 5px 0;
  background:color-mix(in srgb,var(--accent-1) 72%,black);
  transform:skewY(-34deg);
  transform-origin:left top;
  opacity:.58;
}
.handoff-card:nth-child(2) .handoff-object {
  width:48px;
  height:48px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 25%,#fff4ce 0 7%,var(--accent-3) 26%,var(--accent-1) 100%);
  box-shadow:-7px 14px 22px color-mix(in srgb,var(--accent-1) 24%,transparent),inset -8px -9px 13px rgba(20,20,22,.16),inset 7px 5px 8px rgba(255,255,255,.42);
  transform:translateY(-4px) rotate(-18deg);
}
.handoff-card:nth-child(2) .handoff-object::before {
  top:8px;
  left:8px;
  width:13px;
  height:13px;
  border-radius:50%;
  background:rgba(255,255,255,.48);
  transform:none;
}
.handoff-card:nth-child(2) .handoff-object::after { display:none; }
.handoff-card:nth-child(3) .handoff-object {
  width:55px;
  height:55px;
  border:7px solid color-mix(in srgb,var(--accent-1) 58%,white);
  border-radius:50%;
  background:transparent;
  box-shadow:0 11px 20px color-mix(in srgb,var(--accent-1) 19%,transparent),inset 0 0 0 5px color-mix(in srgb,var(--accent-4) 55%,transparent);
  transform:perspective(180px) rotateX(23deg) rotateY(22deg) rotateZ(-15deg);
}
.handoff-card:nth-child(3) .handoff-object::before {
  inset:8px;
  border:2px solid color-mix(in srgb,var(--accent-3) 65%,white);
  border-radius:50%;
  transform:none;
}
.handoff-card:nth-child(3) .handoff-object::after { display:none; }
.handoff-card:hover .handoff-object {
  transform:perspective(180px) translate3d(0,-8px,0) rotateX(28deg) rotateY(-34deg) rotateZ(18deg) scale(1.06);
  box-shadow:-12px 19px 25px color-mix(in srgb,var(--accent-1) 27%,transparent),inset 5px 5px 0 rgba(255,255,255,.3),inset -7px -8px 0 rgba(20,20,22,.12);
}
.handoff-card:nth-child(2):hover .handoff-object { transform:translate3d(0,-10px,0) rotate(9deg) scale(1.08); }
.handoff-card:nth-child(3):hover .handoff-object { transform:perspective(180px) translate3d(0,-8px,0) rotateX(28deg) rotateY(30deg) rotateZ(-22deg) scale(1.06); }
.handoff-card:nth-child(1) { background:color-mix(in srgb,var(--accent-4) 21%,white); }
.handoff-card:nth-child(2) { background:color-mix(in srgb,var(--accent-3) 10%,white); }
.handoff-card:nth-child(3) { background:rgba(255,255,255,.58); }

/* Keep the image side of the bridge vivid while the copy side remains calm. */
.bridge-section { background-image:none; }
.bridge-section::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:0 0 0 56%;
  background:var(--bridge-image) center/cover no-repeat;
  filter:saturate(1.28) contrast(1.08);
  opacity:.94;
  pointer-events:none;
}
.bridge-shade {
  background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 89%,transparent) 40%,color-mix(in srgb,var(--bg) 7%,transparent) 100%);
}
.bridge-section::after {
  content:"";
  position:absolute;
  z-index:1;
  right:18%;
  bottom:-25%;
  width:300px;
  height:300px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--accent-3) 30%,transparent),transparent 68%);
  filter:blur(24px);
  opacity:.65;
  pointer-events:none;
}
@media (max-width:720px) {
  .handoff-object { top:-15px; right:18px; width:44px; height:44px; }
  .handoff-card:nth-child(2) .handoff-object { width:42px; height:42px; }
  .handoff-card:nth-child(3) .handoff-object { width:47px; height:47px; }
  .bridge-section::before { inset:52% 0 0; background-position:center bottom; opacity:1; }
  .bridge-shade { background:linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 86%,transparent) 52%,color-mix(in srgb,var(--bg) 8%,transparent) 100%); }
  .bridge-section::after { right:-70px; bottom:-40px; width:260px; height:260px; }
}

/* Shared role headline: one anchor line and one semantic line, including on narrow screens. */
.hero h1 em {
  display:block;
  width:max-content;
  max-width:100%;
  white-space:nowrap;
  font-size:.78em;
  line-height:.9;
}

/* The large ghost word is the second visual beat; don't duplicate it with a
   second live line inside the headline. */
.hero h1 br { display:none; }
.hero h1 em { display:none; }

/* The final bridge is a colored landing, not another white paper section. */
.bridge-section {
  color:#fff;
  background-color:color-mix(in srgb,var(--accent-1) 76%,#171719 24%);
  background-image:radial-gradient(circle at 18% 30%,color-mix(in srgb,var(--accent-3) 30%,transparent),transparent 46%),linear-gradient(135deg,color-mix(in srgb,var(--accent-1) 86%,#171719 14%),color-mix(in srgb,var(--accent-1) 56%,#171719 44%));
}
.bridge-shade {
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent-1) 88%,#171719 12%) 0%,color-mix(in srgb,var(--accent-1) 62%,transparent) 45%,rgba(20,20,22,.14) 100%);
}
.bridge-content .eyebrow { color:var(--accent-4); }
.bridge-content h2 { color:#fff; }
.bridge-content>p:not(.eyebrow) { color:rgba(255,255,255,.78); }
.bridge-content .light-pill {
  color:var(--ink);
  background:var(--accent-3);
  box-shadow:0 16px 30px color-mix(in srgb,var(--accent-1) 38%,transparent),inset 0 1px rgba(255,255,255,.35);
}
.bridge-content .light-pill:hover {
  color:var(--ink);
  background:var(--accent-4);
}
.bridge-content .light-pill span { color:var(--ink); }
@media (max-width:720px) {
  .bridge-shade { background:linear-gradient(180deg,color-mix(in srgb,var(--accent-1) 89%,#171719 11%) 0%,color-mix(in srgb,var(--accent-1) 66%,transparent) 52%,rgba(20,20,22,.12) 100%); }
}

/* Card flight above the title. `.hero-visual` used to be its own stacking
 * context (z-index:1 on desktop, isolation:isolate everywhere), which pinned
 * the whole card rail underneath `.hero-intro` (z-index:3): while the cards
 * jump, the title cut through them. The visual now joins the hero's stacking
 * context, so the order is ghost word (1) < title (3) < cards (4) — the ghost
 * word still sits behind the title, only the cards pass in front of it. */
.hero-visual { z-index:auto; isolation:auto; }
.hero-cards { z-index:4; }

/* Closing bridge, cleaned up. Two things were wrong: `.bridge-content` forced
 * `width:100%`, which cancelled the page container and pinned the copy to the
 * viewport edge (the "07" eyebrow was cut off); and the photo was covered by a
 * tinted haze plus a blurred glow blob, which read as a smear. The photo is now
 * a calm inset panel with a soft seam into the coloured field; the copy keeps
 * the page margins. Colours still come from the layer accents. */
.bridge-section {
  min-height:600px;
  padding:72px 0;
  background-size:100% 100%;
  background-position:center;
  background-image:radial-gradient(circle at 12% 22%,color-mix(in srgb,var(--accent-3) 26%,transparent),transparent 42%),linear-gradient(135deg,color-mix(in srgb,var(--accent-1) 88%,#171719 12%),color-mix(in srgb,var(--accent-1) 62%,#171719 38%));
}
.bridge-section::before {
  inset:40px 40px 40px 55%;
  border-radius:26px;
  filter:none;
  opacity:1;
  box-shadow:0 30px 60px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.18);
}
.bridge-section::after { display:none; }
.bridge-shade {
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent-1) 40%,transparent) 0%,transparent 34%);
  z-index:1;
  pointer-events:none;
}
.bridge-section .bridge-orbit { display:none; }
.bridge-section .container.bridge-content {
  width:min(var(--container),calc(100% - 96px));
  margin:0 auto;
  z-index:2;
}
.bridge-content .eyebrow {
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:0 0 26px;
  color:var(--accent-4);
  font:11px/1 "JetBrains Mono",monospace;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.bridge-content .eyebrow::before { content:""; width:28px; height:1px; background:var(--accent-4); opacity:.7; }
.bridge-content h2 {
  max-width:min(11.5ch,50%);
  font-size:clamp(46px,5.6vw,86px);
  line-height:.92;
  letter-spacing:-.05em;
  text-wrap:balance;
}
.bridge-content>p:not(.eyebrow) {
  max-width:38ch;
  margin:26px 0 30px;
  color:rgba(255,255,255,.8);
  font-size:15px;
  line-height:1.55;
}
.bridge-content .light-pill { box-shadow:0 18px 32px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.35); }
@media (max-width:1000px) {
  .bridge-section .container.bridge-content { width:min(var(--container),calc(100% - 48px)); }
  .bridge-content h2 { max-width:min(11.5ch,52%); }
}
@media (max-width:720px) {
  .bridge-section { min-height:0; padding:0 0 56px; flex-direction:column; align-items:stretch; }
  .bridge-section::before { position:relative; inset:auto; display:block; width:100%; height:240px; border-radius:0 0 26px 26px; box-shadow:none; }
  .bridge-shade { display:none; }
  .bridge-section .container.bridge-content { width:calc(100% - 30px); margin-top:-26px; padding-top:30px; }
  .bridge-content h2 { max-width:100%; font-size:clamp(40px,11vw,56px); }
  .bridge-content>p:not(.eyebrow) { max-width:100%; }
}
@media (max-width:720px) {
  /* The two footer notes used to run into one line on phones. */
  .site-footer .container > span { display:block; }
  .site-footer .container > span + span { margin-top:10px; }
}
