@font-face{font-family:'Onest';font-weight:400;font-display:swap;src:url(fonts/onest-400-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-weight:400;font-display:swap;src:url(fonts/onest-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-weight:500;font-display:swap;src:url(fonts/onest-500-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-weight:500;font-display:swap;src:url(fonts/onest-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-weight:600;font-display:swap;src:url(fonts/onest-600-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-weight:600;font-display:swap;src:url(fonts/onest-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-400-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Mono';font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-500-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Mono';font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* OWNERS' look, all in the dark: warm black, honey gold for the office, its price and the way on; moss for every plan. */
:root{
  --bg:#090D0B; --s1:#111814; --s2:#18201B; --s3:#202A23;
  --ink:#F1ECE2; --ink2:#C8C4B7; --ink3:#989B8D; --ink4:#6D7266;
  --line:rgba(236,220,186,.08); --line2:rgba(236,220,186,.14); --line3:rgba(236,220,186,.24);
  --gold:#F6BF57; --goldLit:#FFE6A4; --btnG:#FAC55C; --btnGh:#FDD378; --goldLine:color-mix(in srgb,var(--gold) 46%,transparent); --goldWash:color-mix(in srgb,var(--gold) 7%,transparent);
  --opex:#86B5CC; --proj:#A4BC7B; --projLit:#C1D4A1; --projLine:color-mix(in srgb,var(--proj) 38%,transparent); --projWash:color-mix(in srgb,var(--proj) 8%,transparent);
  --glass:rgba(11,16,13,.8);
  --f:'Onest',system-ui,-apple-system,sans-serif; --fM:'IBM Plex Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.2,.7,.2,1); --top:64px; --w:1280px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);color:var(--ink);font-family:var(--f);font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--top) + 12px)}
body{background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{display:block;max-width:100%}
.n{white-space:nowrap;font-variant-numeric:tabular-nums}
.wrap{max-width:var(--w);margin:0 auto;padding:0 32px}
.kick{font-size:13px;font-weight:600;color:var(--gold);letter-spacing:.02em}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--goldLine);outline-offset:2px}
@keyframes rise{from{opacity:0;transform:translateY(4px)}}
@keyframes pulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(2.6);opacity:0}}

/* header */
.hd{position:fixed;left:0;right:0;top:0;z-index:20;height:var(--top);background:linear-gradient(180deg,rgba(9,13,11,.78),rgba(9,13,11,0));transition:background .3s,box-shadow .3s}
.hd.solid{background:rgba(9,13,11,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.hd .wrap{height:100%;display:flex;align-items:center;gap:28px}
.mark{display:flex;align-items:baseline;gap:10px;font-weight:600;letter-spacing:.01em;white-space:nowrap}
.mark i{width:9px;height:9px;border-radius:2px;background:var(--gold);align-self:center;box-shadow:0 0 14px color-mix(in srgb,var(--gold) 55%,transparent)}
.mark small{font-weight:400;color:var(--ink3);font-size:14px}
.nav{display:flex;gap:26px;margin-left:auto;font-size:14.5px;color:var(--ink2)}
.nav a{position:relative;transition:color .2s}
.nav a:hover,.nav a.on{color:var(--ink)}
.nav a.on::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;border-radius:2px;background:var(--gold)}
.lang{display:flex;gap:2px;padding:2px;border-radius:9px;border:1px solid var(--line2);font:500 12px/1 var(--fM);letter-spacing:.04em}
.lang a{padding:6px 7px;border-radius:7px;color:var(--ink3);transition:color .2s,background .2s}
.lang a:hover{color:var(--ink)}
.lang a[aria-current]{color:var(--ink);background:rgba(241,236,226,.1)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:48px;padding:0 22px;border-radius:12px;font-weight:600;font-size:15px;white-space:nowrap;transition:background .2s,border-color .2s,color .2s,transform .2s var(--ease)}
.btn:active{transform:translateY(1px)}
.btn.g{background:var(--btnG);color:#1A1407;box-shadow:inset 0 1px 0 rgba(255,240,200,.75),0 12px 28px -14px color-mix(in srgb,var(--gold) 85%,transparent)}
.btn.g:hover{background:var(--btnGh)}
.btn.o{border:1px solid var(--line3);color:var(--ink);background:rgba(11,16,13,.35)}
.btn.o:hover{border-color:var(--ink3)}
.btn.o2{border:1px solid var(--goldLine);color:var(--gold);background:var(--goldWash)}
.btn.o2:hover{background:color-mix(in srgb,var(--gold) 14%,transparent);border-color:var(--gold)}
.btn svg{width:18px;height:18px;flex:none}
.hd .btn{height:40px;padding:0 16px;font-size:14px}

/* hero: the building at golden hour, office 401 lit on its corner */
.hero{position:relative;height:min(94svh,920px);min-height:620px;overflow:hidden;background:#141a16}
.hero-pic{position:absolute;inset:0;overflow:hidden}
.hero-pic::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(9,13,11,.94) 0%,rgba(9,13,11,.78) 24%,rgba(9,13,11,.3) 44%,rgba(9,13,11,0) 58%),linear-gradient(180deg,rgba(9,13,11,.6) 0%,rgba(9,13,11,0) 16%,rgba(9,13,11,0) 64%,rgba(9,13,11,.95) 100%)}
.hp-in{position:absolute;left:0;top:0;width:1672px;height:941px;transform-origin:0 0}
.hp-in img,.hp-in svg{position:absolute;inset:0;width:100%;height:100%;max-width:none;user-select:none;-webkit-user-select:none}
/* the first seconds: a soft copy at once, the sharp picture fading in over it once decoded, then the office's dot and lead, then its tag */
.hp-in .hp-full{opacity:0;transition:opacity 1.1s var(--ease)}
.hero-pic.in .hp-full{opacity:1}
.hp-in svg{opacity:0;transition:opacity .7s .5s var(--ease)}
.hero-pic.in .hp-in svg{opacity:1}
@keyframes heroIn{from{opacity:0;transform:translateY(14px)}}
.hero-t>*,.hero-facts .wrap>div{animation:heroIn .9s var(--ease) both}
.hero-t>:nth-child(2){animation-delay:.07s}.hero-t>:nth-child(3){animation-delay:.14s}.hero-t>:nth-child(4){animation-delay:.21s}.hero-t>:nth-child(5){animation-delay:.28s}
.hero-facts .wrap>div{animation-delay:.36s}.hero-facts .wrap>div:nth-child(2){animation-delay:.42s}.hero-facts .wrap>div:nth-child(3){animation-delay:.48s}.hero-facts .wrap>div:nth-child(4){animation-delay:.54s}.hero-facts .wrap>div:nth-child(5){animation-delay:.6s}
@media (prefers-reduced-motion:reduce){.hero-t>*,.hero-facts .wrap>div{animation:none}.hp-in .hp-full,.hp-in svg,.hp-tag{transition:none}}
.hp-win rect{fill:url(#lit);mix-blend-mode:screen;opacity:.82;animation:lit 4.8s ease-in-out infinite}
@keyframes lit{50%{opacity:.62}}
.hp-band{fill:color-mix(in srgb,var(--gold) 8%,transparent);stroke:var(--goldLit);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.hp-edge{fill:none;stroke:var(--goldLit);stroke-width:2.6;stroke-linecap:round;vector-effect:non-scaling-stroke}
.hp-lead{fill:none;stroke:var(--goldLit);stroke-width:1.5;vector-effect:non-scaling-stroke}
.hp-dot{fill:var(--goldLit)}
.hp-pulse{fill:color-mix(in srgb,var(--gold) 60%,transparent);transform-box:fill-box;transform-origin:center;animation:pulse 2.4s ease-out infinite}
.hero-pic.under .hp-lead,.hero-pic.under .hp-dot,.hero-pic.under .hp-pulse{display:none}
.hp-tag{position:absolute;left:0;top:0;z-index:3;display:grid;gap:1px;padding:11px 16px 12px 14px;border-radius:14px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--goldLine);box-shadow:0 18px 40px -18px rgba(0,0,0,.8);opacity:0;translate:0 8px;transition:border-color .2s,background .2s,opacity .7s .75s var(--ease),translate .7s .75s var(--ease)}
.hero-pic.in .hp-tag{opacity:1;translate:0 0}
.hp-tag:hover{border-color:var(--gold);background:rgba(17,24,20,.9)}
.hp-tag b{font-size:18px;font-weight:600;color:var(--gold);line-height:1.2}
.hp-tag span{font-size:13.5px;color:var(--ink2)}
.hp-tag em{display:flex;align-items:center;gap:3px;margin-top:6px;font-style:normal;font-size:13.5px;font-weight:600;color:var(--ink)}
.hp-tag em svg{width:15px;height:15px;color:var(--gold);transition:transform .25s var(--ease)}
.hp-tag:hover em svg{transform:translateX(3px)}
.vis{position:absolute;right:20px;bottom:10px;font-size:11px;letter-spacing:.04em;color:rgba(241,236,226,.42);pointer-events:none}
.hero-in{position:relative;z-index:2;height:100%;display:flex;align-items:center;padding-top:var(--top);padding-bottom:110px;pointer-events:none}
/* the headline on the right: the building keeps the light on the left */
.hero.r .hero-pic::after{background:linear-gradient(270deg,rgba(9,13,11,.92) 0%,rgba(9,13,11,.72) 26%,rgba(9,13,11,.22) 46%,rgba(9,13,11,0) 58%),linear-gradient(180deg,rgba(9,13,11,.6) 0%,rgba(9,13,11,0) 16%,rgba(9,13,11,0) 64%,rgba(9,13,11,.95) 100%)}
.hero.r .hero-in{justify-content:flex-end}
@media (max-width:980px){.hero.r .hero-in{justify-content:flex-start}.hero.r .hero-pic::after{background:linear-gradient(180deg,rgba(9,13,11,.55) 0%,rgba(9,13,11,0) 22%,rgba(9,13,11,.45) 52%,rgba(9,13,11,.96) 100%)}}
.hero-t{max-width:500px;pointer-events:auto}
.hero h1{font-size:68px;line-height:1.02;font-weight:600;letter-spacing:-.025em;margin:14px 0 10px}
.hero-sub{font-size:24px;font-weight:500;color:var(--ink);letter-spacing:-.01em}
.hero-t>p:not(.hero-sub){color:var(--ink2);font-size:17px;margin-top:16px;max-width:440px}
.acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.hero-facts{position:absolute;left:0;right:0;bottom:0;z-index:2;padding-bottom:28px}
.hero-facts .wrap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.hero-facts div>div,.hero-facts .wrap>div{padding:4px 18px 2px;border-left:1px solid var(--line3)}
.hero-facts .wrap>div:first-child{border-left:0;padding-left:0}
.hero-facts b{display:block;font-size:22px;font-weight:600;letter-spacing:-.01em}
.hero-facts span{display:block;font-size:13px;color:var(--ink3)}
.hero-facts .g b{color:var(--projLit)}

/* sections */
.sec{padding:120px 0 0;scroll-margin-top:-96px}
h2{font-size:36px;line-height:1.12;font-weight:600;letter-spacing:-.018em;text-wrap:balance}
.kick+h2{margin-top:8px}
.lead{color:var(--ink2);font-size:17px;max-width:720px;margin-top:12px}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 40px;flex-wrap:wrap}
.head .sub{color:var(--ink3);font-size:15.5px;max-width:420px}

/* the tour: one screen under the header — the steps, the stage and its dock, the card beside */
.tour{margin-top:56px;height:calc(100svh - var(--top));min-height:620px;max-height:1000px;padding:12px 0 18px;scroll-margin-top:-12px}
.tour>.wrap{height:100%;display:flex;flex-direction:column;gap:14px}

/* the tour's steps: numbered, the one you're on lit, the way behind you gold */
.prog{list-style:none;display:flex;align-items:center;flex:none}
.prog li{display:flex;align-items:center;gap:18px;flex:1;min-width:0}
.prog li:last-child{flex:none}
.prog li:not(:last-child)::after{content:'';flex:1;min-width:20px;height:2px;margin-right:18px;border-radius:2px;background:var(--line2);transition:background .5s var(--ease)}
.prog li.past::after{background:linear-gradient(90deg,var(--gold),color-mix(in srgb,var(--gold) 55%,transparent))}
.prog button{display:flex;align-items:center;gap:12px;text-align:left;flex:none;padding:4px 0}
.prog i{position:relative;flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:600;font-size:16px;color:var(--ink3);border:1.5px solid var(--line3);background:var(--bg);transition:background .35s,border-color .35s,color .35s,box-shadow .35s}
.prog b{display:block;font-size:16.5px;font-weight:600;color:var(--ink3);transition:color .3s}
.prog small{display:block;font-size:13px;color:var(--ink4);transition:color .3s}
.prog button:hover b{color:var(--ink)}
.prog button:hover i{border-color:var(--ink3)}
.prog li.past i{border-color:var(--goldLine)}
.prog li.past i .n{opacity:0}
.prog li.past i::before{content:'';position:absolute;left:50%;top:50%;width:13px;height:7px;margin:-6px 0 0 -7px;border-left:2.3px solid var(--gold);border-bottom:2.3px solid var(--gold);transform:rotate(-45deg)}
.prog li.past b{color:var(--ink2)}
.prog li.cur i{background:var(--gold);border-color:var(--gold);color:#1A1407;box-shadow:0 0 0 6px color-mix(in srgb,var(--gold) 15%,transparent),0 10px 24px -10px var(--gold)}
.prog li.cur b{color:var(--ink)}
.prog li.cur small{color:var(--gold)}

/* the tour: the stage clean, its controls in the dock under it, the card beside */
.tourbox{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:stretch}
.stagecol{min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px}
.stage{position:relative;border-radius:22px;overflow:hidden;flex:1;min-height:0;min-width:0;user-select:none;-webkit-user-select:none;outline:none;
  background:radial-gradient(115% 95% at 50% 36%,#C9CCBB 0%,#AEB29F 52%,#848A78 100%);box-shadow:0 30px 70px -40px rgba(0,0,0,.9);border:1px solid var(--line)}
.stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;cursor:grab;touch-action:pan-y}
.stage.dragging canvas{cursor:grabbing}
.stage[data-view=plan] canvas{cursor:default}

/* the building's floors, the office's lit: where you are, not a control */
.floors{position:absolute;left:14px;top:50%;z-index:4;list-style:none;display:none;flex-direction:column;gap:3px;padding:6px;border-radius:14px;transform:translateY(-50%);
  background:rgba(12,17,14,.74);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(236,220,186,.1);pointer-events:none}
.stage:is([data-view=building],[data-view=floor]) .floors{display:flex;animation:rise .35s var(--ease)}
.floors li{position:relative;width:34px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:13.5px;font-weight:600;color:var(--ink4)}
.floors li.on{background:var(--gold);color:#1A1407;box-shadow:0 0 20px -4px var(--gold)}
.floors li span{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);white-space:nowrap;padding:4px 9px;border-radius:8px;background:rgba(12,17,14,.88);border:1px solid var(--goldLine);color:var(--gold);font-size:12.5px}

/* the plan from the technical passport, over the model's own plan */

/* inside: the room's pictures at their spots, over the model */
/* step 1: the building as a photograph over the 3D; «3D і сонце» lifts it away */
.bp{position:absolute;inset:0;z-index:3;margin:0;overflow:hidden;opacity:0;pointer-events:none;background:#141a16;transition:opacity .55s var(--ease)}
.bp-in{position:absolute;left:0;top:0;transform-origin:0 0}
.bp-in img{display:block;width:100%;height:100%;transform-origin:62% 46%;opacity:0;transition:opacity .45s var(--ease)}
.bp.in .bp-in img{opacity:1}
.stage[data-view=building][data-bld=photo] .bp{opacity:1;pointer-events:auto}
.stage[data-view=building][data-bld=photo] .bp.in .bp-in img{animation:bpIn 1.8s var(--ease) both}
/* the first paint is the state as set: nothing fades in over it */
.stage.boot .bp,.stage.boot .floors{transition:none;animation:none}
.veil{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:0}
/* the photo carries its own tag: no floor rail over it */
.stage[data-view=building][data-bld=photo] .floors{display:none}
@keyframes bpIn{from{transform:scale(1.07)}to{transform:none}}
.stage[data-view=building][data-bld=photo] .labels{visibility:hidden}
.bp-vis{position:absolute;right:14px;top:14px;padding:5px 10px;border-radius:9px;background:rgba(12,17,14,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--ink3);font-size:12px}
/* office 401 on the photo: the seven windows lit, the floor outlined as it is drawn, a beacon at the corner; all of it a door */
.bp-hl{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;transform-origin:62% 46%}
.stage[data-view=building][data-bld=photo] .bp.in .bp-hl{animation:bpIn 1.8s var(--ease) both}
.bh-hit{fill:transparent;cursor:pointer}
.stage[data-view=building][data-bld=photo] .bh-hit{pointer-events:all} /* only while the photo shows: hidden, it would still catch drags over the stage */
.bh-glow{fill:var(--gold);opacity:0}
.bh-win :is(rect,polygon){fill:url(#bpLit);mix-blend-mode:screen;opacity:0}
.bh-win{filter:saturate(1.1)}
.bh-band{fill:color-mix(in srgb,var(--gold) 9%,transparent);fill-opacity:0;stroke:var(--goldLit);stroke-width:2.6;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.bh-edge{fill:none;stroke:var(--goldLit);stroke-width:3.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.bh-dot{fill:var(--goldLit);opacity:0}
.bh-ring{fill:none;stroke:var(--gold);stroke-width:2.4;opacity:0;transform-box:fill-box;transform-origin:center}
.bp.in .bh-win :is(rect,polygon){animation:bhLit .9s .5s var(--ease) forwards,bhBreathe 4.8s 1.4s ease-in-out infinite}
.bp.in .bh-glow{animation:bhGlow 1.2s .7s var(--ease) forwards,bhGlowB 4.8s 1.9s ease-in-out infinite}
.bp.in .bh-band{animation:bhDraw 1.3s .9s cubic-bezier(.6,0,.25,1) forwards,bhFill .6s 2s ease forwards}
.bp.in .bh-edge{animation:bhDraw .6s 1.7s ease forwards}
.bp.in .bh-dot{animation:bhOn .3s 2s ease forwards}
.bp.in .bh-ring{animation:bhRing 2.4s 2.2s cubic-bezier(.2,.6,.3,1) infinite}
.bp.hot .bh-band{fill:color-mix(in srgb,var(--gold) 20%,transparent);stroke:var(--gold)}
.bp.hot .bh-win :is(rect,polygon){opacity:.66;animation:none}
.bp.hot .bh-glow{opacity:.55}
@keyframes bhLit{from{opacity:0}to{opacity:.5}}
@keyframes bhOn{from{opacity:0}to{opacity:.95}}
@keyframes bhBreathe{0%,100%{opacity:.5}50%{opacity:.34}}
@keyframes bhGlow{from{opacity:0}to{opacity:.32}}
@keyframes bhGlowB{0%,100%{opacity:.32}50%{opacity:.18}}
@keyframes bhDraw{to{stroke-dashoffset:0}}
@keyframes bhFill{to{fill-opacity:1}}
@keyframes bhRing{0%{opacity:.9;transform:scale(1)}80%,100%{opacity:0;transform:scale(3.4)}}
.bh-win polygon{transform:none}
@media (prefers-reduced-motion:reduce){.bp.in :is(.bh-win rect,.bh-win polygon,.bh-glow,.bh-band,.bh-edge,.bh-dot){animation:none;opacity:.5;stroke-dashoffset:0;fill-opacity:1}.bp.in .bh-ring{animation:none}}
.bp-tag{position:absolute;left:0;top:0;display:flex;align-items:center;gap:8px;padding:9px 12px 9px 14px;border-radius:12px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--goldLine);color:var(--ink);font-size:14px;box-shadow:0 18px 40px -18px rgba(0,0,0,.8);transition:border-color .2s,background .2s}
.bp-tag b{color:var(--gold);font-weight:600}.bp-tag span{color:var(--ink2)}.bp-tag svg{width:16px;height:16px;color:var(--gold)}
.bp-tag:hover{border-color:var(--gold)}
.bp:not(.in) .bp-tag{visibility:hidden}
.bp.in .bp-tag{animation:bhTag .5s 1.9s var(--ease) both}
.bp.hot .bp-tag{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,var(--glass))}
@keyframes bhTag{from{opacity:0;translate:10px 0}}
.bp-tag::before{content:'';position:absolute;right:100%;top:50%;width:28px;height:2px;margin-right:2px;background:var(--gold);transform:translateY(-50%)}
#bldTg{display:none}
.tourbox[data-view=building] #bldTg{display:flex}
.ph{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}
.ph img{position:absolute;left:50%;top:50%;max-width:none;transform:translate(-50%,-50%);opacity:0;transition:opacity .5s var(--ease)}
.ph img.on{opacity:1}
.ph::after{content:attr(data-vis);position:absolute;right:14px;top:14px;padding:4px 8px;border-radius:7px;background:rgba(12,17,14,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:rgba(241,236,226,.8);font-size:11.5px;opacity:0;transition:opacity .4s}
.ph.on::after{opacity:1}
.ph.model::after{opacity:0}
.ph-cap{position:absolute;left:14px;top:14px;z-index:1;display:flex;align-items:center;padding:7px 12px;border-radius:10px;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line2);font-size:13.5px;color:var(--ink2);opacity:0;transform:translateY(-4px);transition:opacity .4s,transform .4s var(--ease)}
.ph-cap b{color:var(--ink);font-weight:600}
.cap-sun{display:inline-flex;align-items:center;gap:5px;margin-left:10px;padding-left:10px;border-left:1px solid var(--line2);color:var(--ink2)}
.cap-sun svg{width:14px;height:14px;color:var(--gold)}
.ph.on .ph-cap{opacity:1;transform:none}

/* the dock: this step's few choices on the left, back and next on the right */
.dock{flex:none;display:flex;align-items:center;gap:10px;height:62px;padding:7px;border-radius:18px;background:var(--s1);border:1px solid var(--line)}
.tip{display:flex;align-items:center;gap:9px;min-width:0;flex:0 1 auto;order:9;padding:0 8px 0 10px;font-size:14px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tip::before{content:'';flex:none;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 color-mix(in srgb,var(--gold) 55%,transparent);animation:beat 2.4s ease-out infinite}
@keyframes beat{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--gold) 55%,transparent)}70%,100%{box-shadow:0 0 0 8px transparent}}
.tip[hidden]{display:none}
.tip.cut,.tip:empty,.hint:empty{visibility:hidden}
.dock-l{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.dock-r{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}
.seg,.dock-lay .lay{display:flex;gap:2px;padding:3px;border-radius:12px;background:var(--s2);border:1px solid var(--line);min-width:0;overflow-x:auto;scrollbar-width:none}
.seg::-webkit-scrollbar,.dock-lay .lay::-webkit-scrollbar,.thumbs::-webkit-scrollbar{display:none}
.seg{display:none;flex:none}
.seg button,.dock-lay .lay button{flex:none;height:36px;padding:0 14px;border-radius:9px;font-size:14px;font-weight:500;color:var(--ink3);white-space:nowrap;transition:background .2s,color .2s}
.seg button:hover,.dock-lay .lay button:hover{color:var(--ink)}
.seg button[aria-pressed=true],.dock-lay .lay button[aria-pressed=true]{background:rgba(241,236,226,.12);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(241,236,226,.1)}
.dock-lay .lay b{font-weight:inherit}
.dock-lay .lay small{display:none}
.dock-lay{display:none}
.tourbox:is([data-view=office],[data-view=plan]) #viewTg{display:flex}
.tourbox[data-view=walk] #inTg{display:flex}
.thumbs{display:none;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none}
.tourbox[data-view=walk] .thumbs{display:flex}
.thumbs button{flex:none;padding:3px;border-radius:12px;background:var(--s2);border:1.5px solid var(--line);transition:border-color .2s,background .2s}
.thumbs button:hover{border-color:var(--line3)}
.thumbs img{width:62px;height:38px;border-radius:8px;object-fit:cover;opacity:.62;transition:opacity .2s}
.thumbs button[aria-pressed=true]{background:var(--s3);border-color:var(--gold)}
.thumbs button[aria-pressed=true] img,.thumbs button:hover img{opacity:1}
.thumbs button{position:relative}
.thumbs button i{position:absolute;left:7px;bottom:6px;padding:0 5px;border-radius:5px;background:rgba(12,17,14,.78);color:var(--goldLit);font:600 10.5px/1.5 var(--f);font-style:normal}
.reset{display:flex;align-items:center;gap:7px;flex:none;height:40px;padding:0 13px 0 11px;border-radius:11px;font-size:13.5px;color:var(--ink2);border:1px solid var(--line2);animation:rise .3s var(--ease);transition:border-color .2s,color .2s}
.reset:hover{color:var(--ink);border-color:var(--line3)}
.reset svg{width:16px;height:16px}
.reset[hidden],.back[hidden],.tourbox[data-view=walk] .reset{display:none}
.back{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:var(--ink2);border:1px solid var(--line2);transition:border-color .2s,color .2s}
.back:hover{color:var(--ink);border-color:var(--line3)}
.back svg{width:19px;height:19px}
.next{display:flex;align-items:center;gap:8px;height:46px;padding:0 13px 0 20px;border-radius:12px;background:var(--btnG);color:#1A1407;font-size:15px;font-weight:600;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,240,200,.75),0 12px 28px -14px color-mix(in srgb,var(--gold) 85%,transparent);transition:background .2s,transform .2s var(--ease)}
.next:hover{background:var(--btnGh)}
.next:active{transform:scale(.98)}
.next small{font-size:13px;font-weight:500;color:rgba(26,20,7,.62)}
.next svg{width:18px;height:18px;margin-left:-1px;transition:transform .25s var(--ease)}
.next:hover svg{transform:translateX(2px)}

/* the sun: a chip with the hour in the office's dock; it opens upward to the season, the hour and a played day */
.sun{position:relative;display:none;flex:none}
.tourbox:is([data-view=office],[data-view=plan]) .sun,.tourbox[data-view=building][data-bld="3d"] .sun,.tourbox[data-view=walk][data-in="3d"] .sun{display:block}
.sun-chip{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px 0 11px;border-radius:12px;background:var(--s2);border:1px solid var(--line);color:var(--ink);transition:border-color .2s}
.sun-chip:hover,.sun-chip[aria-expanded=true]{border-color:var(--line3)}
.sun-chip svg{width:20px;height:20px;color:var(--gold)}
.sun-chip b{font-size:15px;font-weight:600}
.sun-chip span{font-size:13.5px;color:var(--ink3)}
.sun-pop{position:absolute;left:0;bottom:56px;z-index:10;width:300px;padding:14px 14px 12px;border-radius:16px;background:var(--s1);border:1px solid var(--line2);box-shadow:0 24px 48px -20px rgba(0,0,0,.85);transform-origin:bottom left;animation:pop .22s var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(4px) scale(.98)}}
.sun-h b{display:block;font-size:14.5px;font-weight:600}
.sun-h span{font-size:12.5px;color:var(--ink3)}
.days{display:flex;gap:2px;margin-top:11px;padding:3px;border-radius:12px;background:var(--s2);border:1px solid var(--line)}
.days button{flex:1;height:32px;border-radius:9px;font-size:13px;font-weight:500;color:var(--ink3);transition:background .2s,color .2s}
.days button:hover{color:var(--ink)}
.days button[aria-pressed=true]{background:rgba(241,236,226,.12);color:var(--ink)}
.sun-row{display:flex;align-items:center;gap:10px;margin-top:12px}
.sun-row input{flex:1;min-width:0}
.play{width:34px;height:34px;flex:none;border-radius:50%;background:var(--gold);color:#1A1407;display:grid;place-items:center}
.play svg{width:15px;height:15px}
input[type=range]{-webkit-appearance:none;appearance:none;height:28px;background:transparent;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:3px;background:linear-gradient(90deg,#4F5560,#F2B24A 30%,#FFE1A0 50%,#F2B24A 70%,#4F5560)}
input[type=range]::-moz-range-track{height:5px;border-radius:3px;background:linear-gradient(90deg,#4F5560,#F2B24A 30%,#FFE1A0 50%,#F2B24A 70%,#4F5560)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-7.5px;border-radius:50%;background:#FFFDF6;box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 45%,transparent),0 2px 6px rgba(0,0,0,.4)}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border:0;border-radius:50%;background:#FFFDF6;box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 45%,transparent),0 2px 6px rgba(0,0,0,.4)}


/* inside the stage only what belongs to the picture: the walk's plan and a passing hint */
.mini{position:absolute;right:14px;bottom:14px;z-index:6;width:132px;padding:9px 9px 7px;border-radius:14px;display:none;
  background:rgba(12,17,14,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(236,220,186,.12)}
.stage[data-view=walk] .mini{display:block;animation:fade .45s var(--ease)}
@keyframes fade{from{opacity:0}}
.mini svg{display:block;width:100%;height:auto;cursor:crosshair;touch-action:none}
.mini small{display:block;margin-top:5px;font-size:10.5px;line-height:1.3;color:var(--ink3);text-align:center}
.mn-room{fill:rgba(241,236,226,.1);stroke:#C8C4B7;stroke-width:.16;stroke-linejoin:round}
.mn-wc{fill:rgba(241,236,226,.05)}
.mn-foot rect{fill:rgba(241,236,226,.24)}
.mn-win{fill:none;stroke:#7FB6CF;stroke-width:.36}
.mn-door{fill:none;stroke:var(--gold);stroke-width:.42}
.mn-sun circle{fill:var(--gold);filter:drop-shadow(0 0 .5px var(--gold))}
.mn-sun path{stroke:color-mix(in srgb,var(--gold) 55%,transparent);stroke-width:.16;stroke-linecap:round;stroke-dasharray:.35 .3}
.mn-me path{fill:rgba(246,191,87,.34)}
.mn-me circle{fill:var(--gold);stroke:#121813;stroke-width:.16}

.hint{position:absolute;left:50%;bottom:16px;z-index:5;transform:translateX(-50%);padding:8px 14px;border-radius:11px;background:rgba(12,17,14,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#E9E3D6;font-size:13px;white-space:nowrap;pointer-events:none;transition:opacity .45s}
/* once, on the office: an invite to see it fitted out, or to skip */
.invite{position:absolute;left:50%;bottom:16px;z-index:6;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 32px);padding:8px 8px 8px 10px;border-radius:16px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--goldLine);box-shadow:0 18px 40px -18px rgba(0,0,0,.85);transform:translateX(-50%);animation:inviteIn .45s var(--ease)}
.invite[hidden]{display:none}
@keyframes inviteIn{from{opacity:0;transform:translate(-50%,8px)}}
.invite i{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--goldWash);color:var(--gold)}
.invite i svg{width:22px;height:22px}
.invite p{display:grid;min-width:0;line-height:1.3}
.invite b{font-size:14.5px;font-weight:600;color:var(--ink)}
.invite span{font-size:12.5px;color:var(--ink3)}
.invite-go{display:flex;align-items:center;gap:4px;flex:none;height:40px;padding:0 9px 0 14px;margin-left:6px;border-radius:11px;border:1px solid var(--goldLine);background:var(--goldWash);color:var(--gold);font-size:14px;font-weight:600;white-space:nowrap;transition:background .2s,border-color .2s}
.invite-go:hover{background:color-mix(in srgb,var(--gold) 14%,transparent);border-color:var(--gold)}
.invite-go svg{width:17px;height:17px}
.invite-x{flex:none;height:40px;padding:0 10px;border-radius:11px;font-size:13.5px;color:var(--ink3);white-space:nowrap;transition:color .2s}
.invite-x:hover{color:var(--ink)}
.nogl{position:absolute;inset:auto 16px 16px;z-index:7;padding:12px 14px;border-radius:12px;background:rgba(12,17,14,.86);color:var(--ink);font-size:14px}

/* labels over the model and the pictures */
.labels{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.stage[data-view=walk] .labels{visibility:hidden}
.lb{position:absolute;left:0;top:0;white-space:nowrap;font-size:12.5px;line-height:1.3;padding:5px 9px;border-radius:8px;background:rgba(12,17,14,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#C8C4B7;border:1px solid rgba(236,220,186,.1);box-shadow:0 6px 16px -8px rgba(0,0,0,.6);transition:opacity .35s,background .2s;will-change:transform,opacity}
.lb b{color:var(--ink);font-weight:600}
.lb.g{background:rgba(12,17,14,.88);border-color:var(--goldLine);color:#E6DFD1;padding:6px 11px}
.lb.g b{color:var(--gold)}
.lb.go.on{pointer-events:auto;cursor:pointer}
.lb.go::after{content:'›';margin-left:7px;color:var(--gold);font-weight:600}
.lb.go:hover{background:#18201B}
.lb.go.on{animation:invite 2.6s ease-in-out infinite}
@keyframes invite{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--gold) 50%,transparent),0 6px 16px -8px rgba(0,0,0,.6)}60%{box-shadow:0 0 0 9px transparent,0 6px 16px -8px rgba(0,0,0,.6)}}
.lb.p{color:var(--projLit);font-weight:600}
.lb.d{font-family:var(--fM);font-size:12px;color:var(--ink)}


/* terms */
.terms{border-radius:22px;background:var(--s1);border:1px solid var(--line);padding:40px 40px 34px;background-image:radial-gradient(80% 120% at 0% 0%,var(--goldWash),transparent 60%)}
.terms-h h2{max-width:720px}
.terms-h p{color:var(--ink2);margin-top:12px;max-width:640px;font-size:17px}
.tl{margin-top:34px}
.tl-bar{display:flex;gap:3px;height:10px}
.tl-bar i{border-radius:5px}
.tl-bar .b0{flex:0 0 calc(2 / 36 * 88% - 3px);background:var(--proj)}
.tl-bar .b1{flex:0 0 calc(10 / 36 * 88% - 3px);background:color-mix(in srgb,var(--gold) 52%,var(--s3))}
.tl-bar .b2{flex:0 0 calc(12 / 36 * 88% - 3px);background:color-mix(in srgb,var(--gold) 76%,var(--s3))}
.tl-bar .b3{flex:0 0 calc(12 / 36 * 88% - 3px);background:var(--gold)}
.tl-bar .b4{flex:1;background:repeating-linear-gradient(90deg,var(--line3) 0 6px,transparent 6px 11px)}
.tl-ax{position:relative;height:18px;margin-top:8px;font:12px var(--fM);color:var(--ink4)}
.tl-ax span{position:absolute;top:0;white-space:nowrap}
.tc-row{margin-top:16px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.tc{border-radius:15px;background:var(--s2);border:1px solid var(--line);padding:18px 18px 16px;display:flex;flex-direction:column;gap:3px}
.tc .when{font:12px var(--fM);color:var(--ink4)}
.tc h3{font-size:17px;font-weight:600}
.tc .rate{display:flex;align-items:baseline;gap:7px;margin-top:6px}
.tc .rate b{font-size:38px;font-weight:600;letter-spacing:-.02em;color:var(--gold);line-height:1.05}
.tc .rate span{color:var(--ink3);font-size:14px}
.tc p{color:var(--ink2);font-size:14px;line-height:1.5;margin-top:6px}
.tc .mo{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);color:var(--ink3);font-size:13px}
.tc .mo b{display:block;color:var(--ink);font-size:19px;font-weight:600;margin-top:10px}
.tc .mo small{display:block;font-size:12px;color:var(--ink3);margin-top:6px;line-height:1.5;min-height:3em} /* two lines in every card, so the bars stand level */
.tc .mo small i{display:inline-block;width:7px;height:7px;border-radius:2px;margin:0 5px 1px 0;vertical-align:middle}
.tc .mo small i.r{background:var(--gold)}
.tc .mo small i.o{background:var(--opex)}
.tc .mo small i.o:not(:first-child){margin-left:6px}
.split{display:flex;gap:2px;height:7px;margin-top:9px;border-radius:4px;overflow:hidden}
.split i{display:block;min-width:4px}
.split .s-r{background:var(--gold)}
.split .s-o{background:var(--opex)}
.opex{margin-top:12px;display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:10px;align-items:stretch}
.opex>div{border-radius:15px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--opex) 34%,transparent);background:color-mix(in srgb,var(--opex) 7%,var(--s2))}
.opex-k{display:flex;align-items:center;gap:14px}
.opex-k>i{flex:none;width:12px;height:36px;border-radius:4px;background:var(--opex)}
.opex-k b{display:block;font-size:17px;font-weight:600}
.opex-k span{display:block;font-size:13.5px;color:var(--ink2);margin-top:2px}
.opex-v b{display:block;font-size:26px;font-weight:600;color:var(--opex);letter-spacing:-.015em;line-height:1.15}
.opex-v span{display:block;font-size:13px;color:var(--ink3);margin-top:3px}
.opex-in{margin-top:10px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,3fr);gap:10px 28px;align-items:center;border-radius:15px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--opex) 34%,transparent);background:color-mix(in srgb,var(--opex) 4%,var(--s2))}
.opex-h b{display:block;font-size:15px;font-weight:600}
.opex-h span{display:block;font-size:13px;color:var(--ink2);margin-top:3px;line-height:1.45}
.opex-in ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.opex-in svg{display:block;width:19px;height:19px;color:var(--opex);margin-bottom:7px}
.opex-in li b{display:block;font-size:13.5px;font-weight:600}
.opex-in li span{display:block;font-size:12.5px;color:var(--ink3);margin-top:2px;line-height:1.45}
@media (max-width:980px){.opex-in{grid-template-columns:1fr}.opex-in ul{grid-template-columns:1fr 1fr}}
.ext{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,3fr);gap:12px 28px;align-items:center;border-radius:15px;padding:18px 20px;border:1px solid var(--goldLine);background:color-mix(in srgb,var(--gold) 4%,var(--s2))}
.ext-h b{display:block;font-size:15px;font-weight:600;color:var(--gold)}
.ext-h span{display:block;font-size:13px;color:var(--ink2);margin-top:4px;line-height:1.5}
.ext-h span .n{display:inline;margin:0;color:var(--ink)}
.ext-if>span{display:block;font-size:12.5px;color:var(--ink3);margin-bottom:8px}
.ext-if ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:x}
.ext-if li{counter-increment:x;font-size:13.5px;color:var(--ink);line-height:1.45;padding-left:30px;position:relative}
.ext-if li::before{content:counter(x);position:absolute;left:0;top:-1px;width:21px;height:21px;border-radius:50%;border:1px solid var(--goldLine);color:var(--gold);font-size:11.5px;font-weight:600;display:grid;place-items:center}
@media (max-width:980px){.ext{grid-template-columns:1fr}.ext-if ol{grid-template-columns:1fr}}
.tc.c0{border-color:var(--projLine);background-image:radial-gradient(120% 100% at 0% 0%,var(--projWash),transparent 70%)}
.tc.c0 .rate b{color:var(--projLit)}
.tc.c4{background:transparent;border-style:dashed;border-color:var(--line3)}
.tc.c4 p{margin-top:10px}
.tc.c4 .rate b{font-size:32px}
/* the renewal card opens its conditions under the row */
.tc.c4{cursor:pointer;transition:border-color .25s,background .25s}
.tc.c4:hover{border-color:var(--goldLine)}
.tc.c4.on{border-style:solid;border-color:var(--goldLine);background:color-mix(in srgb,var(--gold) 4%,var(--s2))}
.tc-more{margin-top:auto;padding-top:14px;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--gold);text-align:left}
.tc-more svg{width:16px;height:16px;flex:none;transition:transform .35s var(--ease)}
.tc.c4.on .tc-more svg{transform:rotate(180deg)}
.ext-w{height:0;overflow:hidden} /* app.js animates the height between closed and open */
.ext-w.on{height:auto}
.ext-w>div{padding-top:10px}
.tc .rate span{white-space:nowrap}
.terms-f{margin-top:24px;padding-top:24px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) auto;gap:20px 36px;align-items:center}
.sure{display:flex;gap:14px;align-items:flex-start}
.sure svg{width:28px;height:28px;color:var(--proj);flex:none}
.sure p{color:var(--ink2);font-size:14.5px}
.sure b{color:var(--ink);font-weight:600}
.fine{list-style:none;display:grid;gap:5px;color:var(--ink3);font-size:14px}
.fine li{position:relative;padding-left:14px}
.fine li::before{content:'';position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--ink4)}


.docs{margin-top:30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.dcol{border-radius:18px;background:var(--s1);border:1px solid var(--line);padding:26px 26px 18px}
.dcol h3{font-size:19px;font-weight:600}
.dl{margin-top:14px}
.dl div{position:relative;padding:12px 0 12px 30px;border-top:1px solid var(--line)}
.dl div::before{content:'';position:absolute;left:0;top:14px;width:18px;height:18px;border-radius:50%;background:var(--projWash);box-shadow:inset 0 0 0 1.5px var(--projLine)}
.dl div::after{content:'';position:absolute;left:6px;top:18px;width:6px;height:3.5px;border-left:1.8px solid var(--projLit);border-bottom:1.8px solid var(--projLit);transform:rotate(-45deg)}
.dl b{display:block;font-weight:500;font-size:15px}
.dl span{display:block;color:var(--ink3);font-size:13.5px;margin-top:2px}
.dcol .rows{margin-top:14px}


/* the quarter: our own plan of Duck's Lake, the places numbered, the photos beside it lighting their place */
.qtr{margin-top:32px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;align-items:start}
.dl-plan{margin:0;position:relative;border-radius:18px;background:#121813;border:1px solid var(--line);overflow:hidden}
.dl-plan svg{display:block;width:100%;height:auto}
.dl-plan .pv{fill:#222a24}.dl-plan .lk{fill:url(#dlLake)}.dl-plan .rd{fill:none;stroke:#323b35;stroke-linecap:round;stroke-linejoin:round}
.dl-plan .br{fill:none;stroke:#9a7b55;stroke-width:2.4;stroke-linecap:round}
.dl-plan .nb{fill:#2c342e;stroke:#435047;stroke-width:.7}
.dl-plan .us{fill:#c9a053;stroke:#f0cf86;stroke-width:1.1}.dl-plan .o401{fill:#ffe2a3}
.dl-plan text{font-size:6.4px;font-weight:600;fill:#7f8a83;letter-spacing:.03em}
.dl-plan .tl{fill:#e9cd8f;font-size:7.6px}
.dl-plan .pin circle{fill:#121813;stroke:#e9dcc2;stroke-width:1.4;transition:fill .15s,stroke .15s}
.dl-plan .us401 rect{fill:var(--gold)}.dl-plan .us401 text{fill:#1A1407;font-size:8.5px;font-weight:700;text-anchor:middle;dominant-baseline:central}
.dl-plan .pin text{fill:#f1ece2;font-size:9px;font-weight:600;text-anchor:middle;dominant-baseline:central}
.dl-plan .pin.us1 circle{fill:var(--gold);stroke:#fff2cf}.dl-plan .pin.us1 text{fill:#1A1407}
.dl-plan .pin.on circle{fill:var(--gold);stroke:#fff2cf}.dl-plan .pin.on text{fill:#1A1407}
.dl-plan .pin .halo{fill:var(--gold);opacity:0;transition:opacity .25s}.dl-plan .pin.on .halo{opacity:.28}
.dl-ph{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dl-c:first-child{grid-column:span 2;aspect-ratio:auto}
.dl-c:first-child img{position:absolute;inset:0} /* the row keeps its neighbours' height */
@media (max-width:600px){.dl-ph{grid-template-columns:1fr 1fr;gap:8px}.dl-c:is(:first-child,:last-child){grid-column:1/-1;aspect-ratio:16/10}.dl-c:last-child img{position:absolute;inset:0}}
.dl-c{margin:0;position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/5;background:var(--s2);border:1px solid transparent;transition:border-color .2s}
.dl-c img{width:100%;height:100%;object-fit:cover;display:block}
.dl-c figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:7px;padding:22px 10px 9px;font-size:12.5px;color:#f1ece2;background:linear-gradient(180deg,transparent,rgba(8,11,9,.82))}
.dl-c figcaption i{flex:none;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font:600 11px/1 inherit;font-style:normal;background:rgba(18,24,19,.85);border:1px solid #e9dcc2}
.dl-c.on{border-color:var(--gold)}.dl-c.on figcaption i{background:var(--gold);color:#1A1407;border-color:var(--gold)}
@media (max-width:980px){.qtr{grid-template-columns:1fr}}

/* a page like this one, said quietly */
.ft{max-width:var(--w);margin:24px auto 0;padding:22px 32px 48px;color:var(--ink4);font-size:12.5px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}


/* the side card: what this step shows, the first year's price, one way on */
.side-lay{display:none;flex:none;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.tourbox:is([data-view=office],[data-view=plan],[data-view=walk]) .side-lay{display:block}
.lay-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.lay-h span{font-size:12.5px;color:var(--ink3)}
.side-lay .lay{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.side-lay .lay button{position:relative;text-align:left;padding:9px 11px 8px;border-radius:12px;background:var(--s2);border:1px solid var(--line);transition:border-color .2s,background .2s}
.side-lay .lay button:hover{border-color:var(--line3)}
.side-lay .lay svg{position:absolute;right:9px;top:9px;width:17px;height:17px;color:var(--ink4);transition:color .2s}
.side-lay .lay b{display:block;padding-right:20px;font-size:14px;font-weight:600;color:var(--ink2);line-height:1.25;white-space:nowrap}
.side-lay .lay small{display:block;font-size:12.5px;color:var(--ink3)}
.side-lay .lay button[aria-pressed=true] svg{color:var(--gold)}
/* the stage's invite points at the scenario it opens */
.lay button.cue{border-color:var(--goldLine);background:var(--goldWash)}
.lay button.cue svg{color:var(--gold)}
.dock-lay .lay svg{display:none}
.stats{margin-top:14px;display:grid;grid-template-columns:repeat(3,auto);gap:6px}
.stats div{border-radius:12px;padding:9px 9px 8px;background:var(--s2);border:1px solid var(--line)}
.stats b{display:block;font-size:19px;font-weight:600;line-height:1.25;letter-spacing:-.01em}
.stats span{display:block;font-size:12px;color:var(--ink3);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-lay .lay button[aria-pressed=true]{background:var(--s3);border-color:var(--goldLine)}
.side-lay .lay button[aria-pressed=true] b{color:var(--ink)}
/* the card stands level with the stage, its one action in a bar level with the dock */
.side{display:flex;flex-direction:column;gap:10px;min-height:0}
.side-card{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:22px;background:var(--s1);border:1px solid var(--line);padding:22px 22px 7px;overflow:hidden}
.side-b{flex:1;min-height:0;overflow:hidden}
.rows div[hidden],.side .d[hidden]{display:none}
.side-f{flex:none;display:grid;margin:16px -15px 0} /* the button 8 px in from the card's foot, level with the dock's «Далі» */
.side-f .per{margin-top:0}
.side-f .btn{height:46px}
.side .kick{font-size:12.5px}
.side .kick.p{color:var(--projLit)}
.side .t{font-size:23px;font-weight:600;line-height:1.2;margin-top:4px;letter-spacing:-.01em}
.side .d{color:var(--ink2);margin-top:10px;font-size:15px}
.rows{margin-top:14px}
.rows div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--line);font-size:14.5px}
.rows div>span{color:var(--ink3)}
.rows div b{font-weight:500;text-align:right}
.side .foot{margin-top:auto;padding-top:18px;display:grid}
.fade{transition:opacity .18s}
.fade.out{opacity:0}
.per{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.per div{border-radius:12px;padding:10px 12px;background:var(--s2);border:1px solid var(--line)}
.per div:first-child{border-color:var(--projLine)}
.per div:first-child b{color:var(--projLit)}
.per span{display:block;font-size:12.5px;color:var(--ink3)}
.per b{display:block;font-size:21px;font-weight:600;margin-top:1px;color:var(--gold);line-height:1.25}
.per small{font-size:12.5px;color:var(--ink3)}

/* the location: Lviv in the dark, Duck's Lake lit */
.place{margin-top:30px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:14px}
.pmap{position:relative;border-radius:22px;overflow:hidden;min-height:600px;background:#0E1411;border:1px solid var(--line)}
.cmap-svg{position:absolute;inset:0}
.pmap .m-park{fill:#16231A;stroke:none}
.pmap .m-water{fill:#173238;stroke:none}
.pmap .m-runway{fill:none;stroke:#26302A;stroke-width:6;stroke-linecap:round}
.pmap .m-rail{fill:none;stroke:#323b35;stroke-width:1.6;stroke-dasharray:5 4}
.pmap .m-secondary{fill:none;stroke:#222b25;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pmap .m-primary{fill:none;stroke:#2f3932;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.pmap .m-trunk{fill:none;stroke:#424d45;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.pmap .m-ring{fill:none;stroke:color-mix(in srgb,var(--gold) 26%,transparent);stroke-width:1.5;stroke-dasharray:2 7}
.pmap .m-rl{fill:color-mix(in srgb,var(--gold) 55%,transparent);font:500 22px var(--fM)}
.pmap .m-route{fill:none;stroke:var(--gold);stroke-width:3;stroke-dasharray:9 7;opacity:.85;animation:way 1.6s linear infinite}
@keyframes way{to{stroke-dashoffset:-32}}
.pmap .m-poi{fill:#0E1411;stroke:var(--ink);stroke-width:4}
.pmap .m-poi.o{fill:#2a332d;stroke:var(--ink3)}
.pmap .m-dl{fill:var(--gold);stroke:#0E1411;stroke-width:3.5}
.pmap .m-pulse{fill:color-mix(in srgb,var(--gold) 45%,transparent);transform-origin:865px 863px;animation:pulse 2.4s ease-out infinite}
.cmap-lb{position:absolute;inset:0;pointer-events:none}
.ml{position:absolute;left:0;top:0;margin:10px 0 0 10px;padding:6px 10px;border-radius:9px;background:rgba(12,17,14,.86);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(236,220,186,.12);box-shadow:0 6px 16px -8px rgba(0,0,0,.6);font-size:13px;line-height:1.3;white-space:nowrap;color:var(--ink)}
.ml b{display:block;font-weight:600}
.ml span{color:var(--ink3)}
.ml.left{margin-left:-10px}
.ml.dl{border-color:var(--goldLine);margin:-60px 0 0 16px;padding:8px 12px}
.ml.dl.left{margin-left:-16px}
.ml.dl b{color:var(--gold);font-size:15px}
.ml.dl span{color:var(--ink2)}
.pmap-tag{position:absolute;left:18px;top:16px;font:500 12px var(--fM);letter-spacing:.14em;text-transform:uppercase;color:var(--ink4)}
.pside{display:flex;flex-direction:column;gap:12px;min-width:0}
.pq{position:relative;border-radius:22px;overflow:hidden;height:250px;background:var(--s2);border:1px solid var(--line)}
.pq-in{position:absolute;left:0;top:0;width:1920px;height:850px;transform-origin:0 0}
.pq-in img,.pq-in svg{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.pq-face{fill:color-mix(in srgb,var(--gold) 40%,transparent);stroke:var(--goldLit);stroke-width:1.5;vector-effect:non-scaling-stroke}
.pq-ring{fill:none;stroke:var(--goldLit);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:4 4}
.pq-tag{position:absolute;left:0;top:0;padding:5px 10px;border-radius:9px;background:var(--glass);border:1px solid var(--goldLine);color:var(--gold);font-size:13px;font-weight:600;white-space:nowrap}
.dist{list-style:none;border-radius:18px;background:var(--s1);border:1px solid var(--line);padding:6px 20px}
.dist li{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--line);font-size:15px}
.dist li:first-child{border-top:0}
.dist span{color:var(--ink2)}
.dist b{font-weight:600}
.pfacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pfacts div{border-radius:14px;background:var(--s1);border:1px solid var(--line);padding:12px 14px}
.pfacts b{display:block;font-size:20px;font-weight:600}
.pfacts span{font-size:12.5px;color:var(--ink3)}
.pside .btn{width:100%}

/* around: the quarter's life, then what a team uses, by kind */
.cats{margin-top:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cat{border-radius:18px;background:var(--s1);border:1px solid var(--line);padding:22px 22px 20px}
.cat-h{display:flex;align-items:center;gap:12px}
.cat-h svg{width:38px;height:38px;padding:8px;flex:none;border-radius:11px;color:var(--gold);background:var(--goldWash);border:1px solid var(--goldLine)}
.cat h3{font-size:17px;font-weight:600}
.cat ul{list-style:none;margin-top:14px}
.cat li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:14.5px}
.cat li b{font-weight:500}
.cat li span{color:var(--ink3);font-size:13.5px;text-align:right}
.cat p{margin-top:10px;color:var(--ink3);font-size:13.5px;line-height:1.55}

/* how to rent: from the visit to the keys */
.deal{border-radius:24px;padding:44px 44px 36px;background:var(--s1);border:1px solid var(--goldLine);background-image:radial-gradient(90% 120% at 0% 0%,var(--goldWash),transparent 60%)}
.road{list-style:none;margin-top:32px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.road li{position:relative;padding-top:60px}
.road li:not(:last-child)::before{content:'';position:absolute;left:58px;right:-2px;top:21px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--goldLine),var(--line2))}
.road i{position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:600;color:var(--gold);border:1.5px solid var(--goldLine);background:var(--s1)}
.road li:first-child i{background:var(--gold);border-color:var(--gold);color:#1A1407}
.road b{display:block;font-size:17px;font-weight:600}
.road li>span{display:block;color:var(--ink2);font-size:14.5px;margin-top:6px}
.road-a{display:inline-flex;align-items:center;gap:4px;margin-top:10px;color:var(--gold);font-size:14px;font-weight:600}
.road-a svg{width:14px;height:14px}
.road-a:hover{text-decoration:underline;text-underline-offset:3px}
.deal-f{margin-top:32px;padding-top:26px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.deal-sum b{display:block;font-size:21px;font-weight:600}
.deal-sum>span{color:var(--ink3);font-size:14.5px}

/* shot mode: the stage alone, for pictures */
body.shot .hd,body.shot .hero,body.shot main>section:not(#tour),body.shot .ft,body.shot .make,body.shot #tour .head,body.shot .side,body.shot .prog,body.shot .dock,body.shot .mini,body.shot .hint,body.shot .invite,body.shot .floors,body.shot .ph{display:none!important}
body.shot #tour{padding:0}
body.shot #tour .wrap{max-width:none;padding:0}
body.shot .tourbox{display:block;margin:0}
body.shot .stage{position:fixed;inset:0;height:100vh;border-radius:0;border:0}

/* a picture that is not in yet says so at once, in the middle of the stage */
.load{position:absolute;left:50%;top:50%;z-index:6;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:12px;background:rgba(12,17,14,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line2);color:var(--ink2);font-size:13.5px;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.97);transition:opacity .25s,transform .25s var(--ease)}
.load.on{opacity:1;transform:translate(-50%,-50%)}
.load i{width:15px;height:15px;border-radius:50%;border:2px solid var(--line3);border-top-color:var(--gold);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.load i{animation-duration:2.4s}}
@media (hover:none){.stage:not([data-view=walk]) .hint{display:none}}
@media (max-height:900px) and (min-width:981px){.tourbox:is([data-view=office],[data-view=plan],[data-view=walk]) .side .d{display:none}}
@media (max-height:740px) and (min-width:981px){.prog small{display:none}.prog i{width:38px;height:38px}.rows div{padding:8px 0}}
@media (max-width:1080px){
  .tc-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .opex{grid-template-columns:repeat(3,minmax(0,1fr))}
  .opex-k{grid-column:1/-1}
  .terms-f{grid-template-columns:1fr 1fr}
  .terms-f .btn{grid-column:1/-1;justify-self:start}
  .cats{grid-template-columns:1fr 1fr}
  .hero-facts .wrap{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:14px}
  .hero-facts .wrap>div:nth-child(4){border-left:0;padding-left:0}
  .hero-in{padding-bottom:170px}
}
@media (max-width:980px){
  .dock{height:auto;min-height:62px}
  .tour{height:auto;min-height:0;max-height:none;margin-top:72px;padding:0}
  .tour>.wrap{display:block}
  .prog{margin-bottom:16px}
  .stage{flex:none;height:clamp(420px,calc(100svh - 280px),640px)}
  .side{margin-top:10px}
  .side-b{overflow:visible;-webkit-mask-image:none;mask-image:none}
  .tourbox{grid-template-columns:1fr}
  .side-lay{display:none!important}
  .tourbox:is([data-view=office],[data-view=plan],[data-view=walk]) .dock-lay{display:block;flex:1 1 100%;min-width:0}
  .dock-l{flex-wrap:wrap}
  .nav{display:none}
  .lang{margin-left:auto}
  .docs,.place{grid-template-columns:1fr}
  .pmap{min-height:440px}
  .road{grid-template-columns:1fr 1fr;row-gap:28px}
  .road li:nth-child(2)::before{display:none}
}
@media (max-width:640px){
  :root{--top:56px}
  .wrap{padding:0 16px}
  .hd{background:rgba(9,13,11,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
  .hd .wrap{gap:12px}
  .mark small{display:none}
  .lang a[aria-current]{display:none} /* a phone shows only the way to the other language */
  .hd .btn{height:36px;padding:0 13px;font-size:13.5px}
  .hero{height:auto;min-height:0}
  .hero-pic{position:relative;height:56svh;min-height:340px;margin-top:var(--top)}
  .hero-pic::after{background:linear-gradient(180deg,rgba(9,13,11,0) 70%,rgba(9,13,11,.9) 100%)}
  .vis{right:16px;bottom:auto;top:-22px}
  .hp-tag{padding:9px 12px 10px;border-radius:12px}
  .hp-tag b{font-size:16px}
  .hp-tag span,.hp-tag em{font-size:12.5px}
  .hero-in{height:auto;padding:6px 16px 0;display:block}
  .hero h1{font-size:44px;margin-top:10px}
  .hero-sub{font-size:19px}
  .hero-t>p:not(.hero-sub){font-size:16px}
  .acts{margin-top:22px}
  .acts .btn{flex:1}
  .hero-facts{position:static;padding:26px 0 0}
  .hero-facts .wrap{grid-template-columns:1fr 1fr;row-gap:14px}
  .hero-facts .wrap>div{border-left:0;padding:10px 12px;border-radius:12px;background:var(--s1);border:1px solid var(--line)}
  .hero-facts .wrap>div:first-child{padding-left:12px}
  .hero-facts .wrap>div:nth-child(4){padding-left:12px}
  .hero-facts .g{grid-column:1/-1}
  .hero-facts b{font-size:19px}
  .sec{padding-top:80px;scroll-margin-top:-60px}
  h2{font-size:28px}
  .lead{font-size:16px}
  .prog{margin-top:20px}
  .prog li{gap:8px}
  .prog li:not(:last-child)::after{min-width:8px;margin-right:8px}
  .prog i{width:34px;height:34px;font-size:14px}
  .prog li{flex:1 1 0}
  .prog li.cur{flex:0 0 auto}
  .prog li:not(.cur) span>b,.prog small{display:none}
  .prog b{font-size:15px}
  .prog li.cur i{box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 15%,transparent)}
  .tourbox{margin-top:14px}
  .stage{height:clamp(380px,calc(100svh - 300px),600px);border-radius:18px}
  .tip{display:none}
  .tour{margin-top:56px}
  .stagecol{gap:8px}
  .dock{flex-wrap:wrap;padding:6px;gap:8px;min-height:0;position:relative}
  .dock-r{order:-1;width:100%}
  .next{flex:1;justify-content:center}
  .dock-l{flex:1 1 100%;flex-wrap:wrap}
  .tourbox:is([data-view=building],[data-view=floor]):not(.moved) .dock-l{display:none}
  .seg button,.dock-lay .lay button{height:34px;padding:0 12px;font-size:13.5px}
  .thumbs{flex:1 1 100%}
  .thumbs img{width:58px;height:38px}
  .ph-cap{left:8px;top:8px;font-size:12.5px;padding:6px 10px;max-width:calc(100% - 116px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ph::after{right:8px;top:8px}
  .sun-chip{height:42px}
  .sun{position:static}
  .sun-pop{left:0;right:0;bottom:calc(100% + 8px);width:auto}
  .floors{left:8px;padding:5px}
  .floors li{width:28px;height:24px;font-size:12.5px}
  .mini{right:8px;bottom:8px;width:104px;padding:7px 7px 5px}
  .mini small{display:none}
  .invite{bottom:8px;width:calc(100% - 16px);max-width:none;flex-wrap:wrap;gap:8px 10px;padding:8px}
  .invite i{width:34px;height:34px;border-radius:10px}
  .invite i svg{width:19px;height:19px}
  .invite p{flex:1 1 calc(100% - 48px)}
  .invite span{display:none}
  .invite-go{flex:1 1 auto;justify-content:center;height:38px;margin-left:0}
  .invite-x{height:38px}
  .stage[data-view=walk] .hint{left:8px;bottom:8px;transform:none;white-space:normal;width:max-content;max-width:calc(100% - 128px);font-size:12px}
  .side-card{padding:22px 18px 6px}
  .side-f{margin:16px -12px 0}
  .terms{padding:26px 16px 22px;border-radius:18px}
  .tc-row{grid-template-columns:1fr 1fr}
  .tc.c0,.tc.c4{grid-column:1/-1}
  .tc .rate b{font-size:32px}
  .opex{grid-template-columns:1fr 1fr}
  .opex-v:last-child{grid-column:1/-1}
  .opex-v b{font-size:22px}
  .terms-f{grid-template-columns:1fr}
  .terms-f .btn{width:100%}
  .pmap{min-height:480px;border-radius:18px}
  .ml:not(:has(span)){display:none}
  .ml{font-size:12px;padding:5px 8px}
  .pq{height:210px}
  .mosaic{grid-template-columns:1fr 1fr;grid-template-rows:220px 170px 170px}
  .mosaic .m1{grid-area:1/1/2/3}.mosaic .m2{grid-area:2/1/3/2}.mosaic .m3{grid-area:2/2/3/3}.mosaic .m4{grid-area:3/1/4/2}.mosaic .m6{grid-area:3/2/4/3}
  .mosaic .m5{display:none}
  .cats{grid-template-columns:1fr}
  .deal{padding:28px 18px 24px;border-radius:20px}
  .road{grid-template-columns:1fr;row-gap:18px}
  .road li{padding:0 0 0 58px;min-height:44px}
  .road li::before{display:none}
  .deal-f .btn{width:100%}
  .ft{padding:20px 16px 40px}
}

/* the hero's share, quiet beside the two ways in */
.btn.share{width:48px;height:48px;padding:0;font-size:0;gap:0;color:var(--ink2);background:rgba(11,16,13,.35);border:1px solid var(--line2)}
.btn.share svg{width:19px;height:19px}
.thumbs[hidden]{display:none!important}
.btn.share:hover{color:var(--ink);border-color:var(--line3)}
.mn-spots circle{fill:var(--gold);opacity:.55}

/* popups: writing to the owner, sharing the page */
.cd{margin:auto;width:min(460px,calc(100vw - 32px));max-height:calc(100svh - 32px);padding:0;border:1px solid var(--line2);border-radius:22px;background:var(--s1);color:var(--ink);box-shadow:0 40px 90px -30px rgba(0,0,0,.9)}
.cd::backdrop{background:rgba(5,8,6,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cd[open]{animation:pop .25s var(--ease)}
.cd-in{position:relative;display:grid;gap:12px;padding:24px 24px 20px}
.cd-x{position:absolute;right:12px;top:12px;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--ink3);transition:background .2s,color .2s}
.cd-x:hover{background:var(--s2);color:var(--ink)}
.cd-x svg{width:18px;height:18px}
.cd-t{font-size:22px;line-height:1.2;margin:-6px 40px 4px 0}
.cd-ch{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:12px;background:var(--s2);border:1px solid var(--line)}
.cd-ch button{display:flex;align-items:center;justify-content:center;gap:8px;height:40px;border-radius:9px;font-size:14.5px;font-weight:600;color:var(--ink3);transition:background .2s,color .2s}
.cd-ch button svg{width:18px;height:18px}
.cd-ch button[aria-pressed=true]{background:rgba(241,236,226,.12);color:var(--ink)}
.cd-ch button[data-ch=wa][aria-pressed=true] svg{color:#5FD38A}
.cd-ch button[data-ch=tg][aria-pressed=true] svg{color:#5AB4EA}
.cd-l{font-size:12.5px;color:var(--ink3);margin-bottom:-6px}
.cd textarea{width:100%;min-height:104px;resize:vertical;padding:12px 14px;border-radius:12px;background:var(--bg);border:1px solid var(--line2);color:var(--ink);font:15px/1.5 var(--f)}
.cd textarea:focus{outline:none;border-color:var(--goldLine)}
.cd-when{display:grid;gap:7px}
.cd-when[hidden]{display:none}
.cd-when>span{font-size:12.5px;color:var(--ink3)}
.cd-chips{display:flex;flex-wrap:wrap;gap:6px}
.cd-chips button{height:34px;padding:0 12px;border-radius:9px;font-size:13.5px;color:var(--ink2);border:1px solid var(--line2);transition:border-color .2s,color .2s,background .2s}
.cd-chips button:hover{border-color:var(--line3);color:var(--ink)}
.cd-chips button[aria-pressed=true]{border-color:var(--goldLine);background:var(--goldWash);color:var(--gold)}
.cd-go{width:100%;margin-top:4px}
.cd-gi{display:contents}
.cd-f{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12.5px;color:var(--ink3)}
.cd-copy{flex:none;white-space:nowrap;font-size:13px;font-weight:600;color:var(--ink2);border-bottom:1px solid var(--line3);padding-bottom:1px}
.cd-copy:hover{color:var(--ink)}
.sd-url{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;border-radius:12px;background:var(--bg);border:1px solid var(--line2);font-size:14px;color:var(--ink2)}
.sd-url span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sd-url button{flex:none;height:36px;padding:0 14px;border-radius:9px;background:var(--btnG);color:#1A1407;font-size:13.5px;font-weight:600}
.sd-to{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sd-to a{display:flex;align-items:center;justify-content:center;gap:8px;height:46px;border-radius:12px;background:var(--s2);border:1px solid var(--line);font-size:14.5px;font-weight:600;color:var(--ink2);transition:border-color .2s,color .2s}
.sd-to a:hover{border-color:var(--line3);color:var(--ink)}
.sd-to svg{width:18px;height:18px}
@media (max-width:640px){
  .cd{width:100vw;max-width:none;margin:auto 0 0;border-radius:22px 22px 0 0;max-height:92svh}
  .acts .btn.share{flex:0 0 48px}
}
.side-lay .lay button[data-v=asis]{grid-column:1/-1}

/* why now, right under the hero: three facts, the first in gold */
.why{padding-top:72px}
.why-h h2{max-width:720px}
.why-row{margin-top:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.why-c{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 10px;padding:22px 22px 20px;border-radius:18px;background:var(--s1);border:1px solid var(--line)}
.why-c b{font-size:40px;line-height:1.05;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.why-c small{font-size:14px;color:var(--ink3)}
.why-c p{grid-column:1/-1;margin-top:10px;font-size:15px;line-height:1.5;color:var(--ink2)}
.why-c.g{border-color:var(--goldLine);background-image:radial-gradient(120% 100% at 0% 0%,var(--goldWash),transparent 70%)}
.why-c.g b{color:var(--gold)}
@media (max-width:900px){.why-row{grid-template-columns:1fr}.why-c b{font-size:34px}}
@media (max-width:640px){.why{padding-top:48px}}

/* the way to estates.com.ua: one quiet line at the foot, the question a visitor already has */
.made{margin-top:96px}
.made-a{display:flex;align-items:center;gap:18px;padding:22px 4px;border-top:1px solid var(--line);color:var(--ink3);transition:color .25s}
.made-mark{display:inline-flex;align-items:center;gap:8px;flex:none;font:500 12.5px/1 var(--fM);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.made-mark i{width:7px;height:7px;border-radius:2px;background:var(--gold)}
.made-q{flex:1;min-width:0;font-size:16px;color:var(--ink2);transition:color .25s}
.made-go{display:inline-flex;align-items:center;gap:7px;flex:none;font-size:15px;font-weight:600;color:var(--gold)}
.made-go svg{width:17px;height:17px;transition:transform .3s var(--ease)}
.made-a:hover .made-q{color:var(--ink)}
.made-a:hover .made-go svg{transform:translateX(4px)}
@media (max-width:640px){.made{margin-top:64px}.made-a{flex-wrap:wrap;gap:10px 14px;padding:20px 0}.made-q{flex:1 1 100%;order:2;font-size:15.5px}.made-go{order:3}}

.deal-l{margin-top:10px;font-size:16px;color:var(--ink2);max-width:640px}
@media (max-width:400px){.hd .wrap{gap:8px}.hd .btn{padding:0 10px;font-size:13px}}
