:root{--graphite:#242623;--lime:#c4e62c;--white:#fff;--muted:#b3b7ad;--line:#43463f;--ink:#242623}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--graphite);color:var(--white);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8eac00;outline-offset:5px}img{display:block;max-width:100%}.wrap{width:min(1440px,calc(100% - 96px));margin-inline:auto}.header{height:114px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:34px;letter-spacing:-1.8px;font-weight:900;line-height:1}.brand span{display:block;font-size:9px;letter-spacing:1.15px;font-weight:400;margin-top:9px}.header nav{display:flex;gap:34px;font-size:14px}.header nav a{color:#d8dbd3}.header nav a:hover{color:var(--lime)}.header-contact{font-size:14px;border-bottom:1px solid #74786d;padding:12px 0}.header-contact span{color:var(--lime);margin-left:30px}.hero{display:grid;grid-template-columns:.92fr 1.08fr;padding-top:20px;gap:34px;align-items:stretch}.hero-copy{padding:28px 0 18px;position:relative;z-index:1}.eyebrow{font-size:12px;letter-spacing:1.55px;font-weight:600;margin:0 0 28px}.hero .eyebrow{display:flex;align-items:center;gap:12px;color:#d1d4ca}.line{width:25px;height:2px;background:var(--lime)}h1{font-size:clamp(40px,4.5vw,68px);font-weight:500;line-height:1.1;letter-spacing:-2.8px;margin:0}.lime{color:var(--lime)}.price{display:block;font-size:clamp(64px,6.9vw,106px);font-weight:700;letter-spacing:-5px;margin:22px 0 23px;white-space:nowrap}.currency{font-size:.7em;font-weight:400;letter-spacing:-2px}.hero-description{font-size:19px;line-height:1.5;color:#d2d5cd;margin:0 0 29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;background:var(--lime);color:var(--ink);font-size:15px;font-weight:600;min-height:58px;padding:16px 23px;border:0;transition:background .2s,transform .2s}.button:hover{background:#d5f24e;transform:translateY(-2px)}.button span{font-size:24px;font-weight:400}.price-note{font-size:13px;line-height:1.65;color:#b7bcb0;margin:19px 0 0}.price-note strong{color:white;font-weight:400}.hero-visual{position:relative;min-height:615px;overflow:hidden}.hero-visual>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:49% center}.hero-visual:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0008);pointer-events:none}.image-label{position:absolute;top:22px;left:23px;background:#fffef5eb;color:#30322a;padding:11px 14px;font-size:10px;letter-spacing:1.4px}.area-badge{position:absolute;right:22px;bottom:78px;border-radius:50%;height:146px;width:146px;background:var(--lime);color:var(--ink);z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(7deg)}.area-badge strong{font-size:39px;letter-spacing:-2px}.area-badge strong span{font-size:19px;letter-spacing:-1px}.area-badge>span{font-size:10px;margin-top:7px}.image-caption{position:absolute;bottom:23px;left:23px;right:23px;display:flex;justify-content:space-between;gap:20px;z-index:1;font-size:12px}.image-caption>span:last-child{color:#eeeee5;font-size:10px}.project-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:33px 40px}.project-strip>span{font-size:10px;letter-spacing:1.3px;color:var(--muted)}.project-strip p{font-size:13px;color:#d5d8d0}.project-strip i{font-style:normal;padding:0 18px;color:#777e6d}.project-strip>a{font-size:25px;color:var(--lime)}.gallery-section{background:#f7f8f4;color:var(--ink);padding:84px 0 65px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-heading .eyebrow,.budget-intro .eyebrow{color:#777c6e;margin-bottom:21px}h2{font-size:clamp(34px,3.7vw,54px);line-height:1.08;letter-spacing:-2px;font-weight:500;margin:0}.section-heading>p{font-size:15px;line-height:1.7;color:#6b7164;margin:0 0 3px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #d9ddd2;margin-bottom:26px}.filters{display:flex;gap:26px}.filters button{border:0;background:transparent;color:#6d7268;padding:16px 0 19px;white-space:nowrap;border-bottom:2px solid transparent;font-size:14px}.filters button.active{color:#20231d;border-bottom-color:#20231d}.filters button small{font-size:10px;margin-left:6px;color:#858b7c}.gallery-hint{font-size:11px;color:#777e6e}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.gallery button{position:relative;padding:0;border:0;overflow:hidden;background:#e6e8e0;aspect-ratio:1.45;text-align:left}.gallery button:first-child{grid-column:1/-1;aspect-ratio:2.05}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery button:hover img{transform:scale(1.025)}.photo-number{position:absolute;left:18px;bottom:18px;background:#fffef3ed;color:#252820;padding:8px 12px;font-size:11px;letter-spacing:1px}.zoom{position:absolute;right:17px;bottom:17px;color:#242623;background:var(--lime);width:36px;height:36px;display:grid;place-items:center;font-size:23px}.visual-note{font-size:12px;line-height:1.6;color:#73796c;max-width:830px;margin:22px 0 0}.budget-section{padding-block:95px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.budget-intro .eyebrow{color:#afb7a2}.budget-intro>p:not(.eyebrow){font-size:16px;line-height:1.75;color:#b8beaf;max-width:390px;margin:27px 0 35px}.text-link{display:inline-block;font-size:14px;padding-bottom:12px;border-bottom:1px solid #6e7562}.text-link>span{margin-left:20px;color:var(--lime)}.text-link small{display:block;font-size:11px;color:#a3ad94;margin-top:10px}.budget-card{border:1px solid #505747;padding:34px}.budget-total{padding-bottom:28px}.budget-total>span,.excluded>span{font-size:10px;letter-spacing:1.3px}.budget-total strong{display:block;color:var(--lime);font-size:56px;letter-spacing:-2px;margin:11px 0 6px}.budget-total p{font-size:14px;color:#c0c6b6;margin:0}details{border-top:1px solid #505747}summary{cursor:pointer;list-style:none;font-size:15px;display:flex;justify-content:space-between;gap:10px;padding:20px 0}summary::-webkit-details-marker{display:none}summary span{color:var(--lime);font-size:20px;line-height:1}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;line-height:1.65;color:#c0c6b6;margin:0 0 22px}.excluded{border-top:1px solid #505747;padding-top:22px;color:#aab49b}.excluded p{font-size:13px;line-height:1.6;margin-bottom:0}.closing{background:var(--lime);color:var(--ink);padding:47px 45px}.closing .eyebrow{font-size:10px;margin-bottom:22px}.closing>div{display:flex;align-items:center;justify-content:space-between;gap:35px}.closing h2{font-size:clamp(30px,3.2vw,46px)}.dark-button{background:var(--graphite);color:white;flex-shrink:0}.dark-button:hover{background:#3d4234}.dark-button span{color:var(--lime)}.closing-note{font-size:11px;line-height:1.6;margin:29px 0 0;color:#464f24}footer{padding-top:55px;padding-bottom:27px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:37px}.footer-top .brand{font-size:29px}.footer-top p{font-size:13px;color:#c0c6b6}.footer-top>a:last-child{font-size:19px;letter-spacing:-.3px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:40px}.footer-bottom p{font-size:11px;line-height:1.65;color:#9fa893;max-width:840px;margin:0}.footer-bottom a{font-size:12px;white-space:nowrap}dialog{padding:20px;border:1px solid #565d4b;background:#242623;color:white;width:min(1200px,95vw);max-width:95vw;max-height:96dvh}dialog::backdrop{background:#111e;backdrop-filter:blur(6px)}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px}.viewer-top{margin-bottom:15px}.viewer-bottom{margin-top:15px}.viewer-top button,.viewer-bottom button{width:44px;height:40px;background:transparent;color:white;border:1px solid #5c6352;font-size:24px}#viewer-image{width:100%;height:72dvh;object-fit:contain}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-100px;left:15px;background:var(--lime);color:var(--ink);padding:15px;z-index:20}.skip:focus{top:10px}body:has(dialog[open]){overflow:hidden}@media(min-width:1600px){.hero-visual{min-height:690px}.hero-copy{padding-top:55px}}@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.hero{gap:20px}.hero-visual{min-height:570px}h1{font-size:46px}.price{font-size:72px}.gallery-hint{display:none}.budget-section{gap:45px}.filters{gap:25px}.project-strip i{padding:0 10px}.closing>div{align-items:flex-start;flex-direction:column}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header{height:85px}.brand{font-size:28px}.brand span{font-size:8px;letter-spacing:.6px}.header nav{display:none}.header-contact{font-size:12px}.header-contact span{margin-left:8px}.hero{grid-template-columns:1fr;padding-top:0;gap:25px}.hero-copy{padding-top:21px}h1{font-size:clamp(38px,8.5vw,58px);letter-spacing:-1.7px}.hero .eyebrow{font-size:10px;margin-bottom:24px}.price{font-size:clamp(67px,15vw,94px);letter-spacing:-3px;margin:20px 0}.hero-description{font-size:16px;margin-bottom:23px}.hero-description br{display:none}.button{min-height:54px;padding:13px 20px;font-size:14px}.price-note{font-size:12px}.hero-visual{min-height:440px}.area-badge{width:122px;height:122px;bottom:67px;right:18px}.area-badge strong{font-size:33px}.area-badge>span{font-size:9px}.image-caption{font-size:11px;left:17px;right:17px}.image-caption>span:last-child{font-size:9px}.project-strip{padding:27px 0;align-items:flex-start}.project-strip>span{display:none}.project-strip p{font-size:11px;line-height:1.7;margin:0}.project-strip i{padding:0 5px}.gallery-section{padding:52px 0 40px}.section-heading{display:block;margin-bottom:24px}.section-heading>p{margin-top:22px;font-size:14px}.section-heading .eyebrow,.budget-intro .eyebrow{font-size:10px}.gallery-toolbar{overflow:auto;margin-bottom:18px}.filters{gap:20px}.filters button{font-size:13px}.filters button small{display:none}.gallery{gap:12px}.gallery button:first-child{aspect-ratio:1.2}.gallery button{aspect-ratio:.92}.photo-number{left:9px;bottom:9px;font-size:9px;padding:7px}.zoom{right:9px;bottom:9px;width:29px;height:29px;font-size:19px}.visual-note{font-size:11px}.budget-section{padding-block:54px;grid-template-columns:1fr;gap:30px}.budget-intro>p:not(.eyebrow){font-size:15px;margin:22px 0}.budget-card{padding:25px}.budget-total strong{font-size:48px}.closing{padding:31px 25px}.closing .eyebrow{line-height:1.7}.closing h2{font-size:32px;letter-spacing:-1.1px}.closing>div{gap:25px}.closing-note{font-size:10px}.footer-top{flex-wrap:wrap;gap:23px;padding-bottom:24px}.footer-top .brand{width:100%}.footer-top p{font-size:12px}.footer-top>a:last-child{font-size:16px}.footer-bottom{align-items:flex-start;gap:20px}.footer-bottom p{font-size:10px}dialog{padding:12px}#viewer-image{height:65dvh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Airy, optimistic presentation */
body{background:#fff;color:var(--graphite)}.header{border-bottom:1px solid #e9ece4}.header nav a{color:#555d4c}.header-contact{background:none;border:0;border-bottom:1px solid #aeb7a0;color:var(--graphite)}.header-contact span{color:#607900}.hero{padding-top:35px;gap:42px}.hero .eyebrow{color:#667354}.line{background:#9fc215}.lime{color:var(--graphite);background:var(--lime);padding:0 8px 3px;display:inline-block;transform:rotate(-2deg);margin-top:4px}.hero-description{color:#647057}.price-note{color:#69735f}.price-note strong{color:#303929}.hero-visual{border-radius:4px 4px 72px 4px}.project-strip>span{color:#7a846d}.project-strip p{color:#4a5540}.project-strip>a{color:#576d16}.budget-section{color:var(--graphite)}.budget-intro .eyebrow{color:#778568}.budget-intro>p:not(.eyebrow){color:#657059}.budget-card{background:var(--graphite);color:white;border:0;border-radius:4px 4px 42px 4px}.text-link{border-color:#a9b498}.text-link>span{color:#789a14}.text-link small{color:#78826d}.two-room{border-top:1px solid #e0e6d7;padding-block:42px 62px;display:grid;grid-template-columns:1fr 1fr;gap:20px 100px}.two-room-label{grid-column:1/-1;font-size:11px;letter-spacing:1.5px;color:#667650}.two-room h2{font-size:37px;grid-row:2/4}.two-room p{margin:0;font-size:15px;line-height:1.7;color:#68765b;max-width:440px}.two-room .text-link{background:none;border:0;border-bottom:1px solid #b3bea4;justify-self:start;padding:0 0 10px;text-align:left;color:#252d1e}.closing{border-radius:4px 4px 45px 4px}.footer-top p{color:#6c765f}.footer-bottom{border-color:#e0e5d9}.footer-bottom p{color:#79816e}#enquiry{width:480px;background:white;color:var(--graphite);padding:39px;border:0;border-radius:5px 5px 32px 5px}#enquiry .eyebrow{font-size:10px;color:#6a7858;margin-top:7px}#enquiry h2{font-size:45px}.close-form{position:absolute;right:16px;top:12px;border:0;background:none;font-size:28px;color:#626e53;width:34px;height:34px}.form-intro{font-size:15px;line-height:1.6;color:#6a755f;margin:20px 0 25px}#enquiry-form label{display:block;font-size:13px;margin-bottom:9px}#enquiry-form input{width:100%;border:1px solid #dbe1d3;border-radius:3px;padding:16px 13px;font:inherit;font-size:16px;margin:0 0 18px;background:#f9faf6;color:#242623}#enquiry-form input:focus{outline:2px solid #a8c42e;outline-offset:1px}#enquiry-form .button{width:100%;margin-top:5px}.form-note{font-size:11px;color:#7a836d;line-height:1.5}.form-status{font-size:14px;line-height:1.5;color:#576637}.form-status:empty{display:none}@media(max-width:760px){.hero{gap:23px;padding-top:3px}.hero-visual{border-radius:4px 4px 47px 4px}.two-room{grid-template-columns:1fr;gap:21px;padding-block:35px 45px}.two-room h2{grid-row:auto;font-size:34px}.two-room-label{grid-column:auto}.two-room p{font-size:14px}#enquiry{padding:30px 24px}#enquiry h2{font-size:39px}.closing{border-radius:4px 4px 32px 4px}}
#enquiry-form .consent{display:flex;gap:10px;font-size:11px;line-height:1.5;color:#727d64;margin-top:18px}#enquiry-form .consent input{width:17px;height:17px;flex-shrink:0;margin:1px 0 0;accent-color:#9bbe20}.button:disabled{opacity:.65;cursor:wait;transform:none}
/* Contemporary Cyrillic typography */
body{font-family:'Manrope',Arial,sans-serif}h1,h2,.price,.budget-total strong,.area-badge strong{font-family:'Unbounded','Manrope',sans-serif}h1{font-size:clamp(32px,3.3vw,49px);line-height:1.27;letter-spacing:-1.9px;font-weight:400}.price{font-size:clamp(53px,5.6vw,83px);font-weight:700;letter-spacing:-3.5px;margin-top:28px}.currency{font-size:.67em}h2{font-size:clamp(29px,2.9vw,43px);line-height:1.25;letter-spacing:-1.6px;font-weight:400}.hero-description{font-size:18px;line-height:1.6}.brand{font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-1.9px}.area-badge strong{font-size:29px;letter-spacing:-1px}.area-badge strong span{font-size:14px;letter-spacing:0}.area-badge>span{font-size:9px}.budget-total strong{font-size:44px;letter-spacing:-2px}.closing h2{font-size:clamp(26px,2.6vw,38px)}.two-room h2{font-size:32px}#enquiry h2{font-size:37px}.button{font-weight:700}.section-heading>p{line-height:1.8}.header nav{font-weight:500}@media(max-width:1100px) and (min-width:761px){h1{font-size:32px;letter-spacing:-1.2px}.price{font-size:55px;letter-spacing:-3px}.hero{gap:25px}.budget-total strong{font-size:37px}.filters{gap:18px}.filters button{font-size:13px}}@media(max-width:760px){h1{font-size:clamp(26px,6.6vw,43px);letter-spacing:-1.1px;line-height:1.3}.price{font-size:clamp(44px,11vw,70px);letter-spacing:-2.2px;margin:25px 0}.hero-description{font-size:15px}.hero-copy{padding-bottom:8px}.hero-visual{min-height:410px}h2{font-size:29px;letter-spacing:-1px}.two-room h2{font-size:27px}.closing h2{font-size:26px}.budget-total strong{font-size:38px}.area-badge strong{font-size:25px}.area-badge strong span{font-size:12px}#enquiry h2{font-size:32px}.filters{gap:18px}.filters button{font-size:12px}.header-contact{font-size:11px}.brand{font-size:26px}.brand span{font-size:7px}}
.header-contact{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--lime);border:0;border-radius:6px;padding:17px 23px;font-size:15px;font-weight:800;min-height:54px;color:#242623;box-shadow:0 5px 18px #b8d92222;transition:background .2s,transform .2s}.header-contact span{font-size:21px;color:#242623;margin:0}.header-contact:hover{background:#d1f044;transform:translateY(-2px)}@media(max-width:760px){.header-contact{padding:13px 15px;font-size:13px;min-height:48px;gap:10px}.header-contact span{font-size:18px}.header{gap:12px}.header .brand span{max-width:125px;font-size:6px}}
.story{padding:5px 0 72px;max-width:1000px;text-align:center}.story .eyebrow{color:#718159;font-size:11px}.story h2{font-size:clamp(27px,3vw,41px);line-height:1.3;margin-bottom:28px}.story>p:not(.eyebrow):not(.story-note){max-width:730px;margin:18px auto;font-size:17px;line-height:1.85;color:#647257}.story strong{color:#2c3525;font-weight:700}.story .button{margin-top:14px}.story .story-note{font-size:11px;line-height:1.6;color:#7a846f;margin-top:18px}.section-heading>p{max-width:470px}@media(max-width:760px){.story{padding-bottom:45px}.story h2{font-size:25px;letter-spacing:-.9px}.story>p:not(.eyebrow):not(.story-note){font-size:15px;line-height:1.8}.section-heading>p br{display:none}.hero-description{max-width:350px}.hero-description br{display:block}}
.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.hero-gallery-link{font-size:13px;border-bottom:1px solid #b3bca8;padding-bottom:4px;color:#58654a}.tour-section{padding:38px 0 70px}.tour-section .section-heading{align-items:center}.tour-section h2{font-size:clamp(27px,3vw,42px)}.tour-stage{height:min(70vw,650px);min-height:400px;position:relative;overflow:hidden;background:#252823;border-radius:5px 5px 36px 5px;color:white;isolation:isolate}.tour-camera{position:absolute;inset:0;overflow:hidden}.tour-camera img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:opacity 1.1s ease,transform 7s linear;opacity:1}.tour-camera #tour-next-image{opacity:0}.tour-camera.is-moving img{animation:tour-drift 18s ease-in-out infinite alternate}.tour-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(#0004,transparent 30%,transparent 55%,#000b);pointer-events:none;z-index:1}.tour-top{position:absolute;inset:20px 22px auto;display:flex;align-items:center;justify-content:space-between;z-index:3}.tour-tag{font-size:10px;letter-spacing:1.6px;background:#252823b0;backdrop-filter:blur(12px);padding:12px 15px;border:1px solid #ffffff40;border-radius:3px}.tour-top button,.tour-playback button{border:1px solid #ffffff55;color:white;background:#25282380;backdrop-filter:blur(15px);border-radius:50%;width:45px;height:45px;font-size:22px;display:grid;place-items:center}.tour-top button:hover,.tour-playback button:hover{background:var(--lime);color:#252823}.tour-controls{position:absolute;bottom:30px;left:30px;right:30px;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.tour-caption{font-size:9px;letter-spacing:1.6px;color:#e6ebde}.tour-controls h3{font-family:Unbounded,Manrope,sans-serif;font-size:24px;letter-spacing:-.7px;font-weight:400;margin:12px 0 9px}.tour-controls p{font-size:11px;margin:0;color:#dce4d1}.tour-playback{display:flex;align-items:center;gap:10px}.tour-playback #tour-play{display:flex;width:auto;border-radius:30px;padding:0 20px;font-size:15px;gap:9px}.tour-playback #tour-play span{font-size:12px}.tour-progress{height:3px;background:#fff2;position:absolute;bottom:0;left:0;right:0;z-index:4}.tour-progress span{display:block;height:100%;width:0;background:var(--lime)}.tour-stage.playing .tour-progress span{animation:tour-progress 7s linear infinite}.tour-hotspots{position:absolute;inset:0;z-index:2;pointer-events:none}.tour-hotspot{position:absolute;left:50%;top:52%;border:1px solid #fff8;border-radius:40px;background:#fffefaeb;color:#28311e;display:flex;align-items:center;gap:10px;padding:7px 16px 7px 7px;font-size:13px;font-weight:700;box-shadow:0 4px 25px #0002;pointer-events:auto;transition:transform .2s,background .2s;max-width:230px}.tour-hotspot:hover{transform:translateY(-4px);background:var(--lime)}.tour-hotspot>span{width:32px;height:32px;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-size:22px;flex-shrink:0}.tour-hotspot:nth-child(2){left:12%;top:63%}.tour-hotspot:nth-child(3){left:auto;right:10%;top:30%}.tour-room-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.tour-room-nav button{display:flex;align-items:center;text-align:left;gap:14px;background:#f5f7f0;border:1px solid transparent;border-radius:4px;padding:9px;color:#5f6c51;min-width:0}.tour-room-nav button.active{background:#f4f9e4;border-color:#a1c221;color:#242623}.tour-room-nav img{width:65px;height:57px;object-fit:cover;border-radius:2px}.tour-room-nav span{font-size:13px;font-weight:700}.tour-room-nav small{display:block;font-size:9px;letter-spacing:1px;font-weight:400;margin-bottom:6px}.tour-note{font-size:11px;line-height:1.6;color:#7a856e;max-width:900px;margin-top:18px}.tour-stage:fullscreen{height:100dvh;width:100vw;border-radius:0}.tour-stage:fullscreen .tour-camera img{object-fit:contain}.tour-stage:fullscreen .tour-hotspots{inset:10%}.tour-status{position:absolute;top:80px;left:22px;z-index:4;font-size:12px;background:#fff;color:#333;padding:8px 12px}@keyframes tour-drift{from{transform:scale(1.06) translateX(-1%)}to{transform:scale(1.14) translateX(1%)}}@keyframes tour-progress{from{width:0}to{width:100%}}@media(max-width:1000px){.tour-room-nav img{width:45px;height:48px}.tour-room-nav button{gap:8px}.tour-room-nav span{font-size:11px}}@media(max-width:760px){.hero-actions{gap:16px}.hero-gallery-link{font-size:12px}.tour-section{padding:18px 0 40px}.tour-stage{height:530px;min-height:0;border-radius:4px 4px 25px 4px}.tour-top{inset:14px 13px auto}.tour-tag{font-size:8px;padding:10px}.tour-controls{bottom:23px;left:18px;right:18px;align-items:flex-start;flex-direction:column;gap:18px}.tour-controls h3{font-size:20px}.tour-playback button{height:40px;width:40px}.tour-playback #tour-play{padding:0 17px}.tour-room-nav{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.tour-room-nav img{width:44px;height:43px}.tour-room-nav span{font-size:11px}.tour-room-nav small{margin-bottom:3px}.tour-hotspot{left:35%;top:43%;font-size:11px;padding-right:12px;max-width:190px}.tour-hotspot:nth-child(2){left:5%;top:56%}.tour-hotspot:nth-child(3){right:5%;top:28%}.tour-hotspot>span{height:27px;width:27px;font-size:18px}.tour-note{font-size:10px}.tour-section .section-heading>p{margin-top:15px}}@media(prefers-reduced-motion:reduce){.tour-camera.is-moving img{animation:none}.tour-camera img{transition:none}.tour-stage.playing .tour-progress span{animation:none}}
.brand img{width:190px;height:auto;max-width:100%;object-fit:contain}.header .brand{flex-shrink:0}.footer-top .brand img{width:185px}@media(max-width:760px){.brand img{width:145px}.footer-top .brand img{width:170px}}@media(max-width:370px){.brand img{width:123px}.header-contact{font-size:12px;padding-inline:12px;gap:8px}}

.brand img{filter:url(#logo-lime)}
.header-actions{display:flex;align-items:center;gap:28px}.header-phone{display:flex;flex-direction:column;align-items:flex-end;gap:7px;white-space:nowrap}.header-phone>span{font-size:8px;font-weight:700;letter-spacing:.7px;color:#72805e}.header-phone strong{font-family:Unbounded,Manrope,sans-serif;font-size:29px;line-height:1;letter-spacing:-1px;color:#242623}.header-phone:hover strong{color:#728f0b}.header nav{gap:23px}@media(max-width:1100px){.header nav{display:none}.header-actions{gap:22px}}@media(max-width:760px){.header{height:auto;min-height:134px;padding-block:16px;display:grid;grid-template-columns:1fr auto;gap:14px 12px}.header-actions{display:contents}.header-phone{grid-column:2;grid-row:1;gap:6px}.header-phone>span{font-size:6px;letter-spacing:.2px}.header-phone strong{font-size:25px}.header-contact{grid-column:1/-1;grid-row:2;width:100%;padding:10px 18px;min-height:43px;font-size:13px;justify-content:center}.header .brand{grid-column:1;grid-row:1}.brand img{width:143px}}@media(max-width:370px){.brand img{width:124px}.header-phone strong{font-size:23px}.header-phone>span{font-size:5px}}
.more-projects{padding-block:65px 12px;display:flex;align-items:center;justify-content:space-between;gap:35px}.more-projects .eyebrow{font-size:10px;color:#768665;margin-bottom:18px}.more-projects h2{font-size:clamp(24px,2.5vw,36px);line-height:1.35}.more-projects .button{flex-shrink:0}@media(max-width:760px){.more-projects{padding-top:43px;align-items:flex-start;flex-direction:column;gap:25px}.more-projects h2{font-size:25px}}
.film-section{padding:35px 0 60px}.film-section .section-heading h2{font-size:clamp(26px,3vw,42px)}.film-frame{position:relative;border-radius:5px 5px 32px 5px;overflow:hidden;background:#242623}.film-frame video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#242623}.film-badge{position:absolute;top:20px;left:20px;background:#252823cc;color:white;pointer-events:none;font-size:9px;letter-spacing:1.1px;padding:10px 13px;border-radius:3px}.film-chapters{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.film-chapters>span{font-size:9px;letter-spacing:1.2px;color:#78856b}.film-chapters button{background:#f5f7f0;border:1px solid #e7ecdd;border-radius:4px;padding:12px 17px;font-size:10px;text-align:left;color:#768864}.film-chapters button strong{display:block;color:#303b24;font-size:13px;margin-top:5px}.film-chapters button:hover,.film-chapters button.active{background:var(--lime);border-color:var(--lime)}.film-note{font-size:11px;line-height:1.7;color:#7b846f;max-width:900px;margin:17px 0 0}.film-note:empty{display:none}@media(max-width:760px){.film-section{padding:20px 0 35px}.film-chapters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.film-chapters>span{grid-column:1/-1;margin-bottom:3px}.film-chapters button{padding:10px 13px}.film-chapters button strong{font-size:12px}.film-badge{top:10px;left:10px;padding:7px 9px;font-size:7px}.film-note{font-size:10px}.film-section .section-heading h2{font-size:26px}}
.slogan-with-phone{display:flex;align-items:center;gap:.20em;white-space:nowrap}.slogan-phone{display:inline-block;position:relative;width:51px;height:104px;flex-shrink:0;border-radius:12px;overflow:hidden;background:#000;transform:rotate(8deg);margin-left:2px;box-shadow:0 8px 15px #0002}.slogan-phone img{position:absolute;width:172px;height:115px;max-width:none;left:-108px;top:-6px;object-fit:fill}.slogan-with-phone .lime{margin-top:0}@media(max-width:1100px) and (min-width:761px){.slogan-phone{width:38px;height:78px;border-radius:9px}.slogan-phone img{width:129px;height:86px;left:-81px;top:-4px}}@media(max-width:760px){.slogan-phone{width:34px;height:69px;border-radius:8px;margin-left:0}.slogan-phone img{width:115px;height:77px;left:-72px;top:-4px}.slogan-with-phone{gap:.16em}}
.slogan-phone{width:108px;height:180px;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transform:none;margin:-28px 0 -20px 7px}.slogan-phone img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain}.slogan-with-phone{gap:.16em}@media(max-width:1100px) and (min-width:761px){.slogan-phone{width:78px;height:132px;margin:-18px 0 -16px 4px}}@media(max-width:760px){.slogan-phone{width:66px;height:113px;margin:-16px 0 -13px 3px}.slogan-with-phone{font-size:.93em;gap:.12em}}@media(max-width:370px){.slogan-phone{width:58px;height:100px;margin-left:0}.slogan-with-phone{font-size:.90em}}

/* =========================================
   КНОПКА "НАВЕРХ"
   ========================================= */

.scroll-top {
    position: fixed;
    right: 30px;
    bottom: 30px;

    width: 58px;
    height: 58px;

    padding: 0;
    border: 0;
    border-radius: 50%;

    background: #c4e62c;
    color: #242623;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    z-index: 9999;

    /* Скрыта до прокрутки */
    opacity: 0;
    visibility: hidden;
    transform: translateY(18px);

    transition:
        opacity 0.3s ease,
        visibility 0.3s ease,
        transform 0.3s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease;
    
    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.18);
}

/* Стрелка */
.scroll-top span {
    display: block;

    font-family: Arial, sans-serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 1;

    transform: translateY(-2px);
}

/* Показываем кнопку */
.scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Наведение */
.scroll-top:hover {
    background: #d3f342;

    box-shadow:
        0 12px 32px rgba(0, 0, 0, 0.25);

    transform: translateY(-3px);
}

/* Нажатие */
.scroll-top:active {
    transform: translateY(0) scale(0.94);
}

/* Клавиатурный фокус */
.scroll-top:focus-visible {
    outline: 3px solid rgba(196, 230, 44, 0.45);
    outline-offset: 4px;
}


/* =========================================
   МОБИЛЬНЫЕ
   ========================================= */

@media (max-width: 700px) {

    .scroll-top {
        right: 18px;
        bottom: 18px;

        width: 52px;
        height: 52px;
    }

    .scroll-top span {
        font-size: 25px;
    }
}

/* =========================================
   ФИКСИРОВАННАЯ ШАПКА ПРИ ПРОКРУТКЕ
   ========================================= */

.header {
    position: relative;
    z-index: 1000;

    transition:
        height 0.35s ease,
        padding 0.35s ease,
        background-color 0.35s ease,
        box-shadow 0.35s ease,
        transform 0.35s ease;
}

/* Фиксированная шапка */
.header.header-fixed {
    position: fixed;

    top: 0;
    left: 0;
    right: 0;

    width: 100%;
    max-width: none;

    height: 68px;

    padding-top: 0;
    padding-bottom: 0;

    padding-left: max(24px, calc((100vw - 1440px) / 2));
    padding-right: max(24px, calc((100vw - 1440px) / 2));

    display: flex;
    align-items: center;

    background: rgba(255, 255, 255, 0.96);

    box-shadow:
        0 4px 22px rgba(0, 0, 0, 0.08);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Логотип уменьшаем */
.header.header-fixed .brand img {
    width: 190px;
    height: auto;

    transition:
        width 0.35s ease,
        height 0.35s ease;
}

/* Немного уменьшаем пространство вокруг логотипа */
.header.header-fixed .brand {
    display: flex;
    align-items: center;
}

/* Навигация в компактной шапке не нужна */
.header.header-fixed nav {
    display: none;
}

/* Телефон */
.header.header-fixed .header-phone {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Текст над номером немного уменьшаем */
.header.header-fixed .header-phone span {
    font-size: 9px;
    line-height: 1.1;
}

/* Сам номер */
.header.header-fixed .header-phone strong {
    font-size: 18px;
}

/* Кнопка заявки */
.header.header-fixed .header-contact {
    min-height: 42px;
    padding: 0 18px;

    font-size: 13px;
}

/* Общая компоновка */
.header.header-fixed .header-actions {
    display: flex;
    align-items: center;
    gap: 22px;
}


/* =========================================
   МЯГКОЕ ПОЯВЛЕНИЕ ФИКСИРОВАННОЙ ШАПКИ
   ========================================= */

.header.header-fixed {
    animation: headerSlideDown 0.35s ease;
}

@keyframes headerSlideDown {
    from {
        opacity: 0;
        transform: translateY(-100%);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================
   ЧТОБЫ КОНТЕНТ НЕ ПОДПРЫГИВАЛ
   ========================================= */

body.header-is-fixed {
    padding-top: 68px;
}


/* =========================================
   ПЛАНШЕТ
   ========================================= */

@media (max-width: 900px) {

    .header.header-fixed {
        height: 64px;

        padding-left: 20px;
        padding-right: 20px;
    }

    .header.header-fixed .brand img {
        width: 165px;
    }

    .header.header-fixed .header-actions {
        gap: 14px;
    }

    .header.header-fixed .header-phone span {
        display: none;
    }

    .header.header-fixed .header-phone strong {
        font-size: 17px;
    }

    .header.header-fixed .header-contact {
        min-height: 40px;
        padding: 0 15px;
        font-size: 12px;
    }

    body.header-is-fixed {
        padding-top: 64px;
    }
}


/* =========================================
   МОБИЛЬНАЯ ВЕРСИЯ
   ========================================= */

@media (max-width: 600px) {

    .header.header-fixed {
        height: 60px;

        padding-left: 14px;
        padding-right: 14px;
    }

    .header.header-fixed .brand img {
        width: 135px;
    }

    .header.header-fixed .header-actions {
        margin-left: auto;
        gap: 9px;
    }

    .header.header-fixed .header-phone strong {
        font-size: 15px;
    }

    .header.header-fixed .header-contact {
        min-height: 36px;
        padding: 0 11px;

        font-size: 11px;
    }

    .header.header-fixed .header-contact span {
        display: none;
    }

    body.header-is-fixed {
        padding-top: 60px;
    }
}

/* =========================================
   ЯНДЕКС ФОРМА В ОКНЕ ЗАЯВКИ
   ========================================= */

#enquiry {
    width: min(700px, 92vw);
    max-width: 700px;
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
    overflow-x: hidden;
    box-sizing: border-box;
    padding: 30px;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

#enquiry .eyebrow {
    margin-top: 0;
}

#enquiry .form-intro {
    margin-bottom: 14px;
}

.yandex-form-wrap {
    width: 100%;
    margin-top: 0;
    overflow: hidden;
    border-radius: 4px;
}

.yandex-form-wrap iframe {
    display: block;
    width: 100%;
    height: 520px;
    min-height: 520px;
    border: 0;
    background: #fff;
    overflow: hidden;
}

.form-privacy {
    margin: -88px 0 0;
    position: relative;
    z-index: 3;
    font-size: 12px;
    line-height: 1.4;
    color: #777;
    background: rgba(255,255,255,.96);
    padding: 6px 0;
}

.privacy-consent {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 0;
    cursor: pointer;
}

.privacy-consent input[type="checkbox"] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 1px 0 0;
    accent-color: #c4e62c;
    cursor: pointer;
}

.privacy-consent span {
    flex: 1 1 auto;
}

.privacy-consent a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 760px) {
    #enquiry {
        width: calc(100vw - 24px);
        max-width: calc(100vw - 24px);
        max-height: calc(100dvh - 16px);
        padding: 24px 18px;
        overflow-y: auto;
    }

    .yandex-form-wrap iframe {
        height: 500px;
        min-height: 500px;
        max-height: none;
    }
}

@media (max-width: 420px) {
    #enquiry {
        width: calc(100vw - 16px);
        max-width: calc(100vw - 16px);
        padding: 20px 14px;
        overflow-y: auto;
    }

    .yandex-form-wrap iframe {
        height: 500px;
        min-height: 500px;
        max-height: none;
    }

    .form-privacy {
        margin-top: -72px;
        font-size: 11px;
    }

}



/* COOKIE NOTICE: added only */
.cookie-notice {
  position: fixed;
  left: 24px;
  right: 24px;
  bottom: 24px;
  z-index: 99999;
  background: rgba(247,248,244,.98);
  color: #242623;
  border: 1px solid rgba(36,38,35,.12);
  box-shadow: 0 12px 40px rgba(0,0,0,.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  animation: cookieNoticeIn .3s ease both;
}
.cookie-notice[hidden] { display: none; }
.cookie-notice__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 14px 18px 14px 22px;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.cookie-notice__copy {
  display: flex;
  align-items: baseline;
  gap: 12px;
  min-width: 0;
}
.cookie-notice__copy strong {
  font-size: 13px;
  white-space: nowrap;
}
.cookie-notice__copy span {
  font-size: 12px;
  line-height: 1.45;
  color: #666c61;
}
.cookie-notice__actions {
  display: flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
}
.cookie-notice__accept {
  min-height: 42px;
  padding: 10px 20px;
  border: 0;
  border-radius: 0;
  background: #c4e62c;
  color: #1e231d;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.cookie-notice__accept:hover { background: #d5f24e; }
.cookie-notice__close {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid #d4d8ce;
  border-radius: 0;
  background: transparent;
  color: #555b51;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}
.cookie-notice__close:hover { background: #eceee8; }
@keyframes cookieNoticeIn {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 700px) {
  .cookie-notice { left: 12px; right: 12px; bottom: 12px; }
  .cookie-notice__inner {
    padding: 13px 14px;
    min-height: auto;
    gap: 12px;
    align-items: flex-start;
  }
  .cookie-notice__copy { display: block; }
  .cookie-notice__copy strong { display: block; margin-bottom: 4px; }
  .cookie-notice__copy span { display: block; font-size: 11px; }
  .cookie-notice__accept { min-height: 38px; padding: 9px 14px; font-size: 12px; white-space: nowrap; }
  .cookie-notice__close { width: 38px; height: 38px; font-size: 22px; }
}
@media (max-width: 430px) {
  .cookie-notice__inner { display: block; }
  .cookie-notice__actions { margin-top: 10px; justify-content: flex-end; }
}
