:root{--bg:#f7f5ef;--surface:#fff;--surface-2:#f0ebe1;--graphite:#20242a;--muted:#69717c;--line:#e8e1d4;--gold:#b89556;--green:#2f6f5e;--red:#9b4d46}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;color:var(--graphite);background:var(--bg)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(100% - 32px,1180px);margin:0 auto}.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:rgba(247,245,239,.94);backdrop-filter:blur(16px)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:800;font-size:20px;letter-spacing:0}.nav{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:14px;font-weight:700}.nav a:hover,.footer-links a:hover{color:var(--graphite)}.btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:0;border-radius:14px;padding:0 20px;color:#fff;background:var(--graphite);font-weight:800;font-size:15px;cursor:pointer}.btn-gold{background:var(--gold)}.btn-light{color:var(--graphite);background:#fff;border:1px solid var(--line)}.hero{min-height:100vh;display:grid;align-items:center;background:linear-gradient(90deg,rgba(247,245,239,.98),rgba(247,245,239,.78),rgba(247,245,239,.12)),url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=82") center center/cover no-repeat;background-attachment:fixed;}.hero h1{max-width:900px;margin:0 0 22px;font-size:clamp(42px,6vw,78px);line-height:1.02;letter-spacing:0}.hero p,.lead{max-width:660px;color:var(--muted);font-size:20px;line-height:1.55}.hero-actions,.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.section{padding:84px 0}.section-muted{background:var(--surface-2)}.section-dark{color:#fff;background:var(--graphite)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow{margin:0 0 10px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.section h2,.page-hero h1{margin:0;font-size:clamp(32px,4vw,54px);line-height:1.08;letter-spacing:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:8px;padding:26px;background:var(--surface)}.card h2,.card h3{margin:0 0 10px}.card p{margin:0;color:var(--muted);line-height:1.55}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.16)}.metric{padding:28px;background:var(--graphite)}.metric strong{display:block;font-size:36px}.metric span{color:rgba(255,255,255,.72)}.page-hero{padding:86px 0 48px}.page-hero p{max-width:720px;margin:18px 0 0;color:var(--muted);font-size:19px;line-height:1.6}.filter-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.filter-chip{display:inline-flex;min-height:42px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:0 16px;background:#fff;color:var(--muted);font-weight:700}.project-card{overflow:hidden;padding:0}.project-photo{aspect-ratio:16/10;background:linear-gradient(135deg,#d9d0c2,#ffffff)}.project-body{padding:22px}.project-meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;color:var(--muted);font-size:14px}.price{font-size:24px;font-weight:900}.person{display:grid;grid-template-columns:86px 1fr;gap:18px;align-items:center}.avatar{width:86px;height:86px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#ead9b9)}.contact-panel{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}.contact-list{display:grid;gap:12px}.contact-line{padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff}.form-grid{display:grid;gap:12px}.field{width:100%;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:0 14px;background:#fff;font:inherit}.textarea{min-height:120px;padding-top:14px;resize:vertical}.site-footer{padding:42px 0;color:#fff;background:var(--graphite)}.footer-inner{display:flex;justify-content:space-between;gap:28px}.footer-links{display:flex;gap:16px;color:rgba(255,255,255,.72);font-size:14px}.footer-note{margin:10px 0 0;color:rgba(255,255,255,.62)}@media(max-width:900px){.grid,.grid-2,.metric-grid,.contact-panel{grid-template-columns:1fr 1fr}.hero{min-height:560px}.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}.nav{flex-wrap:wrap}}@media(max-width:640px){.grid,.grid-2,.metric-grid,.contact-panel{grid-template-columns:1fr}.hero{min-height:520px}.section{padding:56px 0}.section-head{align-items:flex-start;flex-direction:column}.footer-inner{flex-direction:column}.hero p,.lead,.page-hero p{font-size:17px}.btn{width:100%}.nav{gap:12px}}
/* step4 object specialist css start */
.project-card-photo{width:100%;aspect-ratio:16/10;object-fit:cover;background:#e5ded2}.person-link{display:grid;grid-template-columns:86px 1fr;gap:18px;align-items:center}.project-hero{padding:82px 0 46px;background:var(--surface-2)}.project-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px}.project-layout h1{margin:0;font-size:clamp(34px,5vw,62px);line-height:1.05}.project-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.project-tags span{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-weight:700}.price-panel{align-self:start;display:grid;gap:14px;padding:24px;border:1px solid var(--line);border-radius:8px;background:#fff}.price-panel strong{font-size:34px}.price-panel span{color:var(--muted)}.project-main-photo{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px;background:#e5ded2}.content-block{font-size:18px;line-height:1.7}.content-block h2{font-size:34px}.sticky-card{position:sticky;top:104px;align-self:start}.specialist-hero{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center}.specialist-photo{width:180px;height:180px;border-radius:50%;project-fit:cover;background:#e5ded2}@media(max-width:860px){.project-layout,.specialist-hero{grid-template-columns:1fr}.sticky-card{position:static}.price-panel{order:-1}}@media(max-width:640px){.person-link{grid-template-columns:72px 1fr}.avatar{width:72px;height:72px}.specialist-photo{width:140px;height:140px}}
/* step4 object specialist css end */

/* step5 catalog filters css start */
.catalog-filter{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr)) auto auto;gap:12px;align-items:end;margin:0 0 18px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff}.catalog-filter label{display:grid;gap:7px}.catalog-filter span{color:var(--muted);font-size:13px;font-weight:800}.catalog-filter select,.catalog-filter input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#fff;color:var(--graphite);font:inherit}.quick-links{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}.quick-links a{display:inline-flex;min-height:38px;align-items:center;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-weight:800}.quick-links a:hover{color:var(--graphite);background:#fff}.catalog-results{align-items:stretch}.empty-results{grid-column:1/-1;padding:34px;border:1px solid var(--line);border-radius:8px;background:#fff}.empty-results h3{margin:0 0 10px;font-size:26px}.empty-results p{max-width:620px;margin:0 0 18px;color:var(--muted);line-height:1.6}@media(max-width:1080px){.catalog-filter{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.catalog-filter{grid-template-columns:1fr}.catalog-filter .btn{width:100%}}
/* step5 catalog filters css end */

/* step6 lead form css start */
.lead-form{display:grid;gap:16px}.lead-form h3{margin:0;font-size:26px}.form-success{padding:14px;border-radius:8px;background:#e5f4ee;color:var(--green);font-weight:800}.form-errors{padding:14px;border-radius:8px;background:#f8e7e4;color:var(--red);font-weight:800}.form-errors ul{margin:0;padding-left:20px}.form-note{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.trap-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.lead-form .btn{width:100%}
/* step6 lead form css end */

/* step7 responsive app ui start */
body{min-height:100vh}.site-header{box-shadow:0 10px 40px rgba(32,36,42,.06)}.header-inner{min-height:82px}.brand{display:inline-flex;align-items:center;gap:10px}.brand-mark{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:8px;background:var(--graphite);color:#fff;font-size:17px;font-weight:900}.brand-text{font-weight:900}.nav-desktop{padding:8px;border:1px solid rgba(232,225,212,.75);border-radius:999px;background:rgba(255,255,255,.72)}.nav-desktop a{display:inline-flex;min-height:36px;align-items:center;border-radius:999px;padding:0 13px}.nav-desktop a:hover{background:#fff}.header-cta{box-shadow:0 14px 30px rgba(32,36,42,.18)}.hero{position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:6vw;bottom:48px;width:min(34vw,430px);aspect-ratio:4/3;border:1px solid rgba(255,255,255,.64);border-radius:8px;background:rgba(255,255,255,.2);box-shadow:0 30px 90px rgba(32,36,42,.16);backdrop-filter:blur(8px);pointer-events:none}.hero .container{position:relative;z-index:1}.card,.price-panel,.lead-form,.contact-line,.catalog-filter,.empty-results{box-shadow:0 18px 50px rgba(32,36,42,.07)}.card,.project-card,.lead-form{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.project-card:hover,.person:hover{transform:translateY(-3px);box-shadow:0 24px 70px rgba(32,36,42,.12);border-color:#d8cbb8}.project-card a,.person a{height:100%}.project-card h3{font-size:22px;line-height:1.18}.project-card-photo,.project-main-photo{filter:saturate(.96) contrast(1.02)}.section-muted{background:linear-gradient(180deg,var(--surface-2),#faf8f3)}.section-dark{background:radial-gradient(circle at 20% 20%,rgba(184,149,86,.18),transparent 34%),var(--graphite)}.metric strong{font-size:clamp(32px,4vw,46px)}.footer-brand{color:#fff}.mobile-tabbar{display:none}

@media(min-width:1180px){.hero h1{max-width:980px}.container{width:min(100% - 56px,1240px)}.section{padding:96px 0}.page-hero{padding-top:104px}.grid{gap:22px}.grid-2{gap:22px}}

@media(max-width:760px){body{padding-bottom:86px;background:#f3f0e8}.site-header{position:sticky;top:0;background:rgba(247,245,239,.88);backdrop-filter:blur(18px)}.header-inner{min-height:64px;flex-direction:row;align-items:center;padding:0}.brand-mark{width:36px;height:36px;border-radius:10px}.brand-text{font-size:18px}.nav-desktop{display:none}.header-cta{min-height:38px;border-radius:12px;padding:0 14px;font-size:13px}.mobile-tabbar{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:7px;border:1px solid rgba(232,225,212,.86);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 18px 55px rgba(32,36,42,.22);backdrop-filter:blur(18px)}.mobile-tabbar a{display:grid;place-items:center;gap:3px;min-height:56px;border-radius:17px;color:var(--muted);font-size:11px;font-weight:900}.mobile-tabbar a:active,.mobile-tabbar a:hover{background:var(--graphite);color:#fff}.mobile-tabbar span{font-size:20px;line-height:1}.mobile-tabbar b{font-size:11px}.hero{min-height:100vh;align-items:end;padding:0 0 44px;background:linear-gradient(180deg,rgba(247,245,239,.08),rgba(247,245,239,.94) 58%,#f7f5ef),url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1400&q=82") center center/cover no-repeat;}.hero:after{display:none}.hero h1{font-size:clamp(38px,13vw,58px);line-height:.98}.hero p{font-size:17px;line-height:1.5}.hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.section{padding:52px 0}.page-hero{padding:58px 0 26px}.page-hero h1,.section h2{font-size:clamp(30px,9vw,42px)}.grid,.grid-2,.contact-panel,.project-layout{grid-template-columns:1fr;gap:14px}.section-head{gap:16px;margin-bottom:18px}.section-head .btn{width:100%}.card,.lead-form,.contact-line,.price-panel,.catalog-filter,.empty-results{border-radius:16px;box-shadow:0 12px 34px rgba(32,36,42,.08)}.project-card{overflow:hidden;padding:0}.project-body{padding:18px}.project-card h3{font-size:20px}.price{font-size:22px}.metric-grid{grid-template-columns:1fr 1fr;border-radius:18px;overflow:hidden}.metric{padding:22px}.catalog-filter{position:relative;display:grid;grid-template-columns:1fr;gap:10px;padding:14px}.catalog-filter select,.catalog-filter input{min-height:48px;border-radius:12px}.quick-links{overflow:auto;flex-wrap:nowrap;margin-left:-16px;margin-right:-16px;padding:0 16px 4px}.quick-links a{white-space:nowrap}.project-hero{padding:54px 0 28px}.project-tags{gap:8px}.project-tags span{border-radius:12px}.price-panel{order:-1}.sticky-card{position:static}.lead-form h3{font-size:23px}.footer-inner{padding-bottom:18px}.site-footer{padding:34px 0 92px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.footer-links a{padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:12px}}
/* step7 responsive app ui end */

/* step8 mobile menu css start */
body.menu-open{overflow:hidden}.main-nav ul{list-style:none;margin:0;padding:0}.nav-list{display:flex;align-items:center;gap:4px}.nav-link{display:inline-flex;min-height:36px;align-items:center;border-radius:999px;padding:0 13px;color:var(--muted);font-size:14px;font-weight:800}.nav-link:hover{background:#fff;color:var(--graphite)}.nav-quick,.nav-info{display:none}.menu-toggle{display:none;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--graphite);box-shadow:0 10px 24px rgba(32,36,42,.08);cursor:pointer}.menu-toggle span{position:absolute;width:18px;height:2px;border-radius:999px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.menu-toggle span:nth-child(1){transform:translateY(-6px)}.menu-toggle span:nth-child(3){transform:translateY(6px)}.menu-toggle.is-open span:nth-child(1){transform:rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:rotate(-45deg)}

@media(min-width:761px){.main-nav{display:flex;align-items:center;padding:8px;border:1px solid rgba(232,225,212,.75);border-radius:999px;background:rgba(255,255,255,.72)}}

@media(max-width:760px){body{padding-bottom:0}.mobile-tabbar{display:none!important}.header-inner{display:grid;grid-template-columns:1fr auto;min-height:64px}.header-cta{display:none}.menu-toggle{display:inline-flex;position:relative}.main-nav{position:fixed;top:72px;right:10px;bottom:0;left:10px;z-index:60;display:flex;flex-direction:column;height:calc(100vh - 72px);height:calc(100dvh - 72px);padding:12px;border:1px solid rgba(232,225,212,.9);border-bottom:0;border-radius:18px 18px 0 0;background:radial-gradient(circle at top left,rgba(184,149,86,.16),transparent 34%),linear-gradient(180deg,#fff,#f3f0e8);box-shadow:0 28px 90px rgba(32,36,42,.28);overflow:auto;opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease}.main-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nav-list li{display:flex;min-width:0}.nav-link{width:100%;min-height:52px;justify-content:flex-start;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.9);color:var(--graphite);box-shadow:0 10px 24px rgba(32,36,42,.06);font-size:15px}.nav-list li:first-child .nav-link,.nav-list li:last-child .nav-link{background:var(--graphite);color:#fff;border-color:var(--graphite)}.nav-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.nav-action{display:grid;gap:4px;min-height:66px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 24px rgba(32,36,42,.06)}.nav-action span,.nav-info-item span{color:var(--gold);font-size:11px;font-weight:900;text-transform:uppercase}.nav-action strong,.nav-info-item strong{font-size:13px;line-height:1.2}.nav-info{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}.nav-info-item{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.82)}.site-footer{padding-bottom:34px}}

@media(max-width:460px){.brand-text{font-size:17px}.main-nav{top:66px;height:calc(100vh - 66px);height:calc(100dvh - 66px)}.nav-list{grid-template-columns:1fr}.nav-link{min-height:48px}.nav-quick{grid-template-columns:1fr}.nav-action{min-height:58px}.site-header{z-index:80}}
/* step8 mobile menu css end */

/* step9 home slider css start */
.home-slider{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;background:#12161b;color:#fff}.home-slider__track,.home-slide{position:absolute;inset:0}.home-slide{display:grid;align-items:center;background-position:center;background-size:cover;opacity:0;transform:scale(1.02);transition:opacity .5s ease,transform 1.2s ease;pointer-events:none;z-index:0}.home-slide.is-active{opacity:1;transform:scale(1);pointer-events:auto;z-index:2}.home-slide__inner{min-height:100vh;min-height:100svh;display:grid;align-items:center;padding-top:110px;padding-bottom:110px}.home-slide__content{max-width:820px}.home-slide .eyebrow{color:#e7c889}.home-slide h1{margin:0 0 20px;font-size:clamp(48px,6vw,86px);line-height:.98;letter-spacing:0}.home-slide p{max-width:680px;margin:0;color:rgba(255,255,255,.78);font-size:20px;line-height:1.55}.home-slide__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.home-slide__meta span,.home-slide__meta strong{display:inline-flex;min-height:42px;align-items:center;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:0 16px;background:rgba(255,255,255,.12);backdrop-filter:blur(12px);font-weight:900}.home-slide__meta strong{background:#fff;color:var(--graphite)}.home-slider__controls{position:absolute;left:50%;bottom:34px;z-index:4;display:flex;align-items:center;gap:14px;transform:translateX(-50%);padding:8px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(12,16,20,.34);backdrop-filter:blur(14px)}.home-slider__controls button{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:24px;cursor:pointer}.home-slider__dots{display:flex;gap:7px}.home-slider__dots button{width:9px;height:9px;background:rgba(255,255,255,.42)}.home-slider__dots button.is-active{width:28px;border-radius:999px;background:#fff}.home-slider--empty{display:grid;align-items:center}.home-slider--empty .container{position:relative;z-index:1}.home-slider--empty h1{max-width:840px;margin:0 0 18px;font-size:clamp(42px,6vw,76px);line-height:1}.home-slider--empty p{color:rgba(255,255,255,.74);font-size:20px}.home-slider+.section{position:relative;z-index:2}
@media(max-width:760px){.home-slider{min-height:100svh}.home-slide{align-items:end;background-position:center top}.home-slide__inner{align-items:end;padding-top:92px;padding-bottom:72px}.home-slide__content{max-width:none}.home-slide h1{font-size:clamp(38px,12vw,58px);line-height:.98}.home-slide p{font-size:17px}.home-slide__meta{gap:8px}.home-slide__meta span,.home-slide__meta strong{min-height:36px;padding:0 12px;font-size:13px}.home-slider__controls{right:16px;bottom:18px;left:16px;justify-content:space-between;transform:none}.home-slider__controls button{width:38px;height:38px}.home-slider__dots{flex:1;justify-content:center}.home-slide .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.home-slider--empty h1{font-size:clamp(36px,11vw,54px)}}
/* step9 home slider css end */

/* step10 mobile polish css start */
@media(max-width:760px){
  .main-nav{
    align-items:stretch;
    gap:0;
    padding:14px;
    background:
      radial-gradient(circle at 10% 0%,rgba(184,149,86,.12),transparent 30%),
      linear-gradient(180deg,#fffdf8,#f5f0e7);
  }

  .main-nav .nav-list{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
    gap:8px;
  }

  .main-nav .nav-list li{
    width:100%;
    min-width:0;
  }

  .main-nav .nav-link{
    width:100%;
    min-height:58px;
    justify-content:flex-start;
    padding:0 16px;
    border-radius:16px;
    font-size:16px;
    box-shadow:0 10px 24px rgba(32,36,42,.07);
  }

  .main-nav .nav-list li:first-child .nav-link,
  .main-nav .nav-list li:last-child .nav-link{
    background:var(--graphite);
    color:#fff;
  }

  .nav-quick{
    width:100%;
    margin-top:auto;
    padding-top:16px;
  }

  .nav-action,
  .nav-info-item{
    border-radius:16px;
    box-shadow:0 10px 24px rgba(32,36,42,.06);
  }

  .nav-info{
    width:100%;
  }

  .home-slide{
    align-items:center;
    background-position:center center;
  }

  .home-slide__inner{
    min-height:calc(100svh - 64px);
    align-items:center;
    padding-top:72px;
    padding-bottom:132px;
  }

  .home-slide__content{
    margin-top:-34px;
    transform:none;
  }

  .home-slide h1{
    max-width:92vw;
    margin-bottom:16px;
    font-size:clamp(36px,11vw,54px);
  }

  .home-slide p{
    max-width:88vw;
    font-size:16px;
  }

  .home-slide__meta{
    margin-top:18px;
  }

  .home-slide .hero-actions{
    margin-top:22px;
    gap:9px;
  }

  .home-slide .hero-actions .btn{
    min-height:54px;
    border-radius:18px;
  }

  .home-slider__controls{
    left:50%;
    right:auto;
    bottom:calc(env(safe-area-inset-bottom) + 34px);
    width:auto;
    min-width:190px;
    justify-content:center;
    gap:10px;
    transform:translateX(-50%);
    padding:7px 9px;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    box-shadow:0 16px 40px rgba(0,0,0,.24);
  }

  .home-slider__controls button{
    width:34px;
    height:34px;
    font-size:20px;
    background:rgba(255,255,255,.22);
  }

  .home-slider__dots{
    flex:0 0 auto;
    gap:6px;
  }

  .home-slider__dots button{
    width:8px;
    height:8px;
  }

  .home-slider__dots button.is-active{
    width:22px;
  }
}

@media(max-width:460px){
  .main-nav .nav-list{
    grid-template-columns:1fr;
  }

  .main-nav .nav-link{
    min-height:52px;
  }

  .home-slide__content{
    margin-top:-42px;
    transform:none;
  }

  .home-slide__inner{
    padding-bottom:126px;
  }

  .home-slider__controls{
    bottom:calc(env(safe-area-inset-bottom) + 28px);
  }
}
/* step10 mobile polish css end */

/* step11 mobile carousels css start */
@media(max-width:760px){
  .section .container > .grid:not(.catalog-results):not(.home-featured-carousel),
  .section .container > .grid-2:not(.contact-panel){
    display:flex;
    grid-template-columns:none;
    gap:12px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-left:16px;
    -webkit-overflow-scrolling:touch;
    margin-left:-16px;
    margin-right:-16px;
    padding:2px 16px 18px;
  }

  .section .container > .grid:not(.catalog-results):not(.home-featured-carousel)::-webkit-scrollbar,
  .section .container > .grid-2:not(.contact-panel)::-webkit-scrollbar{
    display:none;
  }

  .section .container > .grid:not(.catalog-results):not(.home-featured-carousel) > *,
  .section .container > .grid-2:not(.contact-panel) > *{
    flex:0 0 min(84vw,360px);
    scroll-snap-align:start;
  }

  .section .container > .grid:not(.catalog-results):not(.home-featured-carousel) > .person,
  .section .container > .grid:not(.catalog-results):not(.home-featured-carousel) > .project-card{
    min-height:100%;
  }

  .section .container > .grid:not(.catalog-results):not(.home-featured-carousel)::after,
  .section .container > .grid-2:not(.contact-panel)::after{
    content:"";
    flex:0 0 4px;
  }

  .section-head{
    margin-bottom:14px;
  }

  .section-muted .container > .grid-2{
    display:grid;
    overflow:visible;
    margin-left:0;
    margin-right:0;
    padding:0;
  }

  .section-muted .container > .grid-2 > *{
    flex:auto;
  }

  .section-muted .container > .grid-2 > .grid-2{
    display:flex;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    margin-left:-16px;
    margin-right:-16px;
    padding:2px 16px 18px;
  }

  .section-muted .container > .grid-2 > .grid-2::-webkit-scrollbar{
    display:none;
  }

  .section-muted .container > .grid-2 > .grid-2 > *{
    flex:0 0 min(82vw,340px);
    scroll-snap-align:start;
  }

  .catalog-results{
    display:grid;
    grid-template-columns:1fr;
    overflow:visible;
    margin-left:0;
    margin-right:0;
    padding:0;
  }

  .catalog-results > *{
    flex:auto;
  }
}

/* step11 mobile carousels css end */

/* step12 cnplus palette and radius css start */
:root{
  --bg:#f5f1e7;
  --surface:#ffffff;
  --surface-2:#eaf6fa;
  --graphite:#10263a;
  --muted:#607286;
  --line:#cfe2ea;
  --gold:#b08700;
  --green:#00325b;
  --red:#9b4d46;
  --cn-blue:#00325b;
  --cn-blue-soft:#2f5169;
  --cn-sky:#67b7d1;
  --cn-sky-light:#8fd6ee;
  --cn-cream:#f4ebcb;
}

body{
  color:var(--graphite);
  background:
    radial-gradient(circle at 12% 0%,rgba(143,214,238,.28),transparent 28%),
    linear-gradient(180deg,#fbfaf5 0%,var(--bg) 44%,#eef8fb 100%);
}

.site-header{
  border-bottom-color:rgba(207,226,234,.86);
  background:rgba(251,250,245,.9);
  box-shadow:0 12px 36px rgba(0,50,91,.08);
}

.brand-mark,
.btn,
.nav-list li:first-child .nav-link,
.nav-list li:last-child .nav-link,
.main-nav .nav-list li:first-child .nav-link,
.main-nav .nav-list li:last-child .nav-link{
  background:linear-gradient(135deg,var(--cn-blue),var(--cn-blue-soft));
  color:#fff;
}

.btn-gold{
  background:linear-gradient(135deg,#c49a24,var(--gold));
  color:#fff;
}

.btn-light{
  color:var(--cn-blue);
  background:#fff;
  border-color:var(--line);
}

.btn-light:hover,
.nav-desktop a:hover,
.nav-link:hover{
  background:var(--surface-2);
  color:var(--cn-blue);
}

.eyebrow,
.nav-action span,
.nav-info-item span{
  color:var(--gold);
}

.section-muted{
  background:linear-gradient(180deg,#eaf6fa,#f7f2e6);
}

.section-dark,
.site-footer{
  background:
    radial-gradient(circle at 14% 18%,rgba(103,183,209,.22),transparent 32%),
    linear-gradient(135deg,#00325b,#10263a 68%,#071726);
}

.card,
.project-card,
.person,
.lead-form,
.price-panel,
.contact-line,
.catalog-filter,
.empty-results,
.filter-chip,
.quick-links a,
.field,
.catalog-filter select,
.catalog-filter input,
.nav-action,
.nav-info-item{
  border-color:var(--line);
}

.card,
.lead-form,
.price-panel,
.contact-line,
.catalog-filter,
.empty-results{
  box-shadow:0 18px 50px rgba(0,50,91,.08);
}

.project-card:hover,
.person:hover{
  border-color:var(--cn-sky);
  box-shadow:0 24px 62px rgba(0,50,91,.14);
}

.project-photo,
.avatar{
  background:linear-gradient(135deg,var(--cn-sky-light),var(--cn-cream));
}

.home-slider{
  background:#071726;
}

.home-slide .eyebrow{
  color:#ffe1a3;
}

.home-slide__meta span{
  border-color:transparent;
  background:transparent;
}

.home-slide__meta strong{
  color:#fff;
  background:transparent;
}

.home-slider__controls{
  border-color:rgba(143,214,238,.28);
  background:rgba(0,50,91,.16);
  box-shadow:0 18px 46px rgba(0,35,61,.2);
}

.home-slider__controls button{
  background:rgba(255,255,255,.16);
}

.home-slider__dots button{
  background:rgba(255,255,255,.36);
}

.home-slider__dots button.is-active{
  background:rgba(255,255,255,.86);
}

.brand-mark,
.btn,
.btn-light,
.header-cta,
.nav-desktop,
.nav-desktop a,
.nav-link,
.menu-toggle,
.main-nav,
.mobile-tabbar,
.mobile-tabbar a,
.card,
.project-card,
.lead-form,
.price-panel,
.contact-line,
.catalog-filter,
.empty-results,
.filter-chip,
.quick-links a,
.field,
.textarea,
.catalog-filter select,
.catalog-filter input,
.project-tags span,
.project-main-photo,
.project-card-photo,
.home-slide__meta span,
.home-slide__meta strong,
.home-slider__controls,
.home-slider__controls button,
.home-slider__dots button,
.metric-grid,
.footer-links a,
.nav-action,
.nav-info-item,
.avatar,
.specialist-photo,
.form-success,
.form-errors{
  border-radius:10px!important;
}

@media(max-width:760px){
  .site-header{
    background:rgba(251,250,245,.92);
  }

  .main-nav{
    background:
      radial-gradient(circle at 16% 0%,rgba(143,214,238,.22),transparent 34%),
      linear-gradient(180deg,#fffdf8,#eef8fb 58%,#f5f1e7);
    box-shadow:0 26px 72px rgba(0,50,91,.24);
  }

  .home-slide__inner{
    padding-bottom:148px;
  }

  .home-slide__content{
    margin-top:-52px;
    transform:none;
  }

  .home-slider__controls{
    bottom:calc(env(safe-area-inset-bottom) + 58px);
    background:rgba(0,50,91,.12);
    border-color:rgba(255,255,255,.18);
    box-shadow:0 14px 36px rgba(0,35,61,.16);
    backdrop-filter:blur(18px);
  }

  .home-slider__controls button{
    background:rgba(255,255,255,.12);
  }
}

@media(max-width:460px){
  .home-slide__content{
    margin-top:-58px;
    transform:none;
  }

  .home-slide__inner{
    padding-bottom:142px;
  }

  .home-slider__controls{
    bottom:calc(env(safe-area-inset-bottom) + 52px);
  }
}
/* step12 cnplus palette and radius css end */

/* step13 lead popup css start */
body.lead-modal-open{
  overflow:hidden;
}

.lead-form{
  width:100%;
  max-width:520px;
  justify-self:start;
  padding:22px;
  gap:14px;
}

.lead-form__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.lead-form h3{
  margin:0;
  font-size:24px;
  line-height:1.15;
}

.lead-form .form-grid{
  display:grid;
  gap:10px;
}

.lead-form .field{
  min-height:46px;
}

.lead-form .textarea{
  min-height:104px;
}

.privacy-check{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:10px;
  align-items:start;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

.privacy-check input{
  width:18px;
  height:18px;
  margin:1px 0 0;
  accent-color:var(--cn-blue);
}

.privacy-check a{
  color:var(--cn-blue);
  font-weight:800;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.contact-panel .lead-form,
.sticky-card .lead-form{
  max-width:520px;
}

.lead-modal{
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}

.lead-modal.is-open{
  opacity:1;
  pointer-events:auto;
}

.lead-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,23,38,.56);
  backdrop-filter:blur(10px);
}

.lead-modal__dialog{
  position:relative;
  z-index:1;
  width:min(100%,520px);
  border-radius:10px;
  transform:translateY(12px);
  transition:transform .2s ease;
}

.lead-modal.is-open .lead-modal__dialog{
  transform:translateY(0);
}

.lead-form--modal{
  max-width:none;
  background:rgba(255,255,255,.96);
}

.lead-modal__close{
  display:inline-flex;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:var(--graphite);
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.nav-info-button{
  width:100%;
  appearance:none;
  border:1px solid var(--line);
  font:inherit;
  text-align:left;
  cursor:pointer;
  color:inherit;
}

.header-cta{
  font:inherit;
}

.form-success,
.form-errors{
  font-size:14px;
}

.form-errors ul{
  margin:0;
  padding-left:18px;
}

@media(max-width:760px){
  .lead-modal{
    align-items:end;
    padding:10px;
  }

  .lead-modal__dialog{
    width:100%;
  }

  .lead-form{
    max-width:none;
    padding:18px;
  }

  .lead-form h3{
    font-size:22px;
  }

  .lead-form .field{
    min-height:48px;
  }

  .lead-form .btn{
    width:100%;
    min-height:52px;
  }

  .contact-panel .lead-form,
  .sticky-card .lead-form{
    max-width:none;
  }

  .lead-modal__close{
    width:36px;
    height:36px;
    font-size:25px;
  }
}
/* step13 lead popup css end */

/* step14 cian inspired interface css start */
:root{
  --estate-blue:#176b65;
  --estate-blue-deep:#0f514d;
  --estate-blue-soft:#e5f1ef;
  --estate-bg:#f5f7f6;
  --estate-ink:#142033;
  --estate-muted:#667085;
  --estate-line:#dce4ef;
}

body{
  color:var(--estate-ink);
  background:var(--estate-bg);
}

.site-header{
  border-bottom:1px solid rgba(220,228,239,.96);
  background:rgba(255,255,255,.94);
  box-shadow:0 8px 26px rgba(20,32,51,.06);
}

.brand-mark{
  background:var(--estate-blue);
  color:#fff;
  box-shadow:none;
}

.brand-text{
  color:var(--estate-ink);
}

.main-nav,
.nav-desktop{
  border-color:var(--estate-line);
  background:#fff;
  box-shadow:none;
}

.nav-link,
.nav-desktop a{
  color:var(--estate-muted);
}

.nav-link:hover,
.nav-desktop a:hover{
  background:var(--estate-blue-soft);
  color:var(--estate-blue-deep);
}

.site-header .btn,
.site-header .header-cta,
main > section:not(.home-slider) .btn,
.lead-modal .btn{
  background:var(--estate-blue);
  color:#fff;
  box-shadow:none;
}

.site-header .btn:hover,
.site-header .header-cta:hover,
main > section:not(.home-slider) .btn:hover,
.lead-modal .btn:hover{
  background:var(--estate-blue-deep);
}

main > section:not(.home-slider) .btn-light,
.lead-modal .btn-light{
  background:#fff;
  color:var(--estate-blue);
  border-color:var(--estate-line);
}

main > section:not(.home-slider) .btn-light:hover,
.lead-modal .btn-light:hover{
  background:var(--estate-blue-soft);
  color:var(--estate-blue-deep);
}

main > section:not(.home-slider) .eyebrow,
.page-hero .eyebrow,
.project-hero .eyebrow{
  color:var(--estate-blue);
}

.section,
.page-hero,
.project-hero{
  background:transparent;
}

.section-muted{
  background:#eef3f2;
}

.section-dark{
  background:#142033;
}

.section-head{
  align-items:center;
}

.section h2,
.page-hero h1,
.project-layout h1{
  color:var(--estate-ink);
}

.section-dark h2,
.section-dark .metric,
.section-dark .metric strong{
  color:#fff;
}

.lead,
.page-hero p,
.card p,
.project-meta,
.form-note{
  color:var(--estate-muted);
}

.card,
.project-card,
.person,
.lead-form,
.price-panel,
.contact-line,
.catalog-filter,
.empty-results,
.field,
.catalog-filter select,
.catalog-filter input,
.nav-action,
.nav-info-item{
  border:1px solid var(--estate-line);
  background:#fff;
  box-shadow:0 8px 22px rgba(20,32,51,.06);
}

.project-card:hover,
.person:hover,
.contact-line:hover{
  border-color:#b9d3ff;
  box-shadow:0 14px 34px rgba(23,107,101,.12);
}

.project-body{
  background:#fff;
}

.project-card h3,
.person h3,
.card h3{
  color:var(--estate-ink);
}

.price{
  color:var(--estate-blue-deep);
}

.project-tags span,
.filter-chip,
.quick-links a{
  border-color:var(--estate-line);
}

.project-tags span,
.filter-chip,
.quick-links a{
  background:#fff;
  color:var(--estate-muted);
}

.filter-chip:hover,
.quick-links a:hover{
  border-color:#b9d3ff;
  background:var(--estate-blue-soft);
  color:var(--estate-blue-deep);
}

.catalog-filter{
  align-items:end;
}

.catalog-filter span{
  color:#4f5f75;
}

.catalog-filter select:focus,
.catalog-filter input:focus,
.field:focus{
  border-color:var(--estate-blue);
  outline:3px solid rgba(23,107,101,.14);
}

.metric-grid{
  background:rgba(255,255,255,.14);
}

.metric{
  background:#142033;
}

.metric span{
  color:rgba(255,255,255,.68);
}

.lead-modal__backdrop{
  background:rgba(20,32,51,.54);
}

.lead-form--modal{
  background:#fff;
}

.privacy-check a{
  color:var(--estate-blue);
}

.site-footer{
  background:#142033;
}

.footer-links a{
  border-color:rgba(255,255,255,.12);
}

.brand-mark,
.btn,
.btn-light,
.header-cta,
.nav-desktop,
.nav-desktop a,
.nav-link,
.menu-toggle,
.main-nav,
.card,
.project-card,
.lead-form,
.price-panel,
.contact-line,
.catalog-filter,
.empty-results,
.filter-chip,
.quick-links a,
.field,
.textarea,
.catalog-filter select,
.catalog-filter input,
.project-tags span,
.project-main-photo,
.project-card-photo,
.metric-grid,
.footer-links a,
.nav-action,
.nav-info-item,
.avatar,
.specialist-photo,
.form-success,
.form-errors,
.lead-modal__dialog,
.lead-modal__close{
  border-radius:10px!important;
}

@media(max-width:760px){
  .site-header{
    background:rgba(255,255,255,.96);
  }

  .main-nav{
    background:#fff;
    box-shadow:0 22px 54px rgba(20,32,51,.18);
  }

  .main-nav .nav-link,
  .nav-action,
  .nav-info-item{
    background:#fff;
    border-color:var(--estate-line);
    box-shadow:none;
  }

  .main-nav .nav-list li:first-child .nav-link,
  .main-nav .nav-list li:last-child .nav-link{
    background:var(--estate-blue);
    border-color:var(--estate-blue);
    color:#fff;
  }

  .section .container > .grid:not(.catalog-results),
  .section-muted .container > .grid-2 > .grid-2{
    padding-bottom:16px;
  }

  .card,
  .project-card,
  .person,
  .lead-form,
  .price-panel,
  .contact-line,
  .catalog-filter,
  .empty-results{
    box-shadow:0 8px 22px rgba(20,32,51,.07);
  }
}
/* step14 cian inspired interface css end */

/* step15 desktop wide four column grids start */
@media(min-width:1180px){
  .site-header .container,
  .site-footer .container,
  main > section:not(.home-slider) > .container,
  .page-hero > .container,
  .project-hero > .container{
    width:min(100% - 72px,1580px);
  }

  main > section:not(.home-slider) .grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
  }

  main > section:not(.home-slider) .grid-2{
    gap:20px;
  }

  .section{
    padding:78px 0;
  }

  .section-head{
    margin-bottom:26px;
  }

  .section-head h2{
    max-width:980px;
  }

  .project-card{
    min-width:0;
  }

  .project-card-photo{
    aspect-ratio:4/3;
  }

  .project-body{
    padding:18px 18px 20px;
  }

  .project-card h3{
    margin-bottom:12px;
    font-size:20px;
    line-height:1.18;
  }

  .project-meta{
    gap:7px;
    margin:10px 0 14px;
    font-size:14px;
  }

  .price{
    font-size:22px;
    line-height:1.1;
  }

  .person-link{
    grid-template-columns:72px 1fr;
    gap:14px;
  }

  .avatar{
    width:72px;
    height:72px;
  }

  .catalog-filter{
    grid-template-columns:repeat(5,minmax(140px,1fr)) auto auto;
    gap:10px;
  }

  .catalog-results{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(min-width:900px) and (max-width:1179px){
  main > section:not(.home-slider) .grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .catalog-results{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(min-width:761px) and (max-width:899px){
  main > section:not(.home-slider) .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .catalog-results{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
/* step15 desktop wide four column grids end */

/* step16 narrower carousel strips start */
@media(min-width:1180px){
  .site-header .container,
  .site-footer .container,
  main > section:not(.home-slider) > .container,
  .page-hero > .container,
  .project-hero > .container{
    width:min(100% - 64px,1440px);
  }
}

@media(min-width:761px){
  .section .container > .grid:not(.catalog-results):not(.home-featured-carousel),
  .section .container > .grid-2:not(.contact-panel){
    display:flex;
    grid-template-columns:none;
    gap:18px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-left:0;
    -webkit-overflow-scrolling:touch;
    padding:2px 2px 18px;
  }

  .section .container > .grid:not(.catalog-results):not(.home-featured-carousel)::-webkit-scrollbar,
  .section .container > .grid-2:not(.contact-panel)::-webkit-scrollbar{
    display:none;
  }

  .section .container > .grid:not(.catalog-results):not(.home-featured-carousel) > *,
  .section .container > .grid-2:not(.contact-panel) > *{
    flex:0 0 calc((100% - 54px) / 4);
    min-width:280px;
    scroll-snap-align:start;
  }

  .section .container > .grid:not(.catalog-results):not(.home-featured-carousel)::after,
  .section .container > .grid-2:not(.contact-panel)::after{
    content:"";
    flex:0 0 1px;
  }

  .section-muted .container > .grid-2{
    display:grid;
    grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
    overflow:visible;
    padding:0;
  }

  .section-muted .container > .grid-2 > *{
    flex:auto;
    min-width:0;
  }

  .section-muted .container > .grid-2 > .grid-2{
    display:flex;
    gap:18px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:2px 2px 18px;
  }

  .section-muted .container > .grid-2 > .grid-2::-webkit-scrollbar{
    display:none;
  }

  .section-muted .container > .grid-2 > .grid-2 > *{
    flex:0 0 min(360px,42vw);
    scroll-snap-align:start;
  }

  .catalog-results{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    overflow:visible;
    padding:0;
  }

  .catalog-results > *{
    flex:auto;
    min-width:0;
  }
}

@media(min-width:900px) and (max-width:1179px){
  .section .container > .grid:not(.catalog-results):not(.home-featured-carousel) > *,
  .section .container > .grid-2:not(.contact-panel) > *{
    flex-basis:calc((100% - 36px) / 3);
  }

  .catalog-results{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(min-width:761px) and (max-width:899px){
  .section .container > .grid:not(.catalog-results):not(.home-featured-carousel) > *,
  .section .container > .grid-2:not(.contact-panel) > *{
    flex-basis:calc((100% - 18px) / 2);
  }

  .catalog-results{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .section .container > .grid:not(.catalog-results):not(.home-featured-carousel),
  .section .container > .grid-2:not(.contact-panel){
    display:flex;
    grid-template-columns:none;
    gap:12px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    margin-left:-16px;
    margin-right:-16px;
    padding:2px 16px 18px;
  }

  .section .container > .grid:not(.catalog-results):not(.home-featured-carousel) > *,
  .section .container > .grid-2:not(.contact-panel) > *{
    flex:0 0 min(84vw,360px);
    scroll-snap-align:start;
  }

  .catalog-results{
    display:grid;
    grid-template-columns:1fr;
    overflow:visible;
    margin-left:0;
    margin-right:0;
    padding:0;
  }
}
/* step16 narrower carousel strips end */

/* step17 object mini card css start */
.project-card{
  padding:0;
  overflow:hidden;
  border-color:#cdd9ea;
  background:#fff;
}

.project-card-link{
  display:grid;
  height:100%;
  color:inherit;
}

.project-card-media{
  position:relative;
  overflow:hidden;
  background:#dfe6f1;
}

.project-card-photo{
  width:100%;
  aspect-ratio:4/3;
  project-fit:cover;
  border-radius:0!important;
}

.project-card-seen{
  position:absolute;
  top:14px;
  left:14px;
  display:inline-flex;
  min-height:34px;
  align-items:center;
  gap:8px;
  padding:0 14px;
  border-radius:10px;
  background:rgba(25,28,34,.55);
  color:#fff;
  font-size:15px;
  line-height:1;
  backdrop-filter:blur(8px);
}

.project-card-seen span{
  font-weight:900;
}

.project-card-favorite{
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  width:48px;
  height:48px;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:rgba(25,28,34,.55);
  color:#fff;
  font-size:35px;
  line-height:1;
  backdrop-filter:blur(8px);
}

.project-body{
  display:grid;
  align-content:start;
  gap:8px;
  padding:18px 20px 22px;
}

.project-card .price{
  color:#11182d;
  font-size:28px;
  font-weight:900;
  line-height:1.05;
}

.project-card-specs{
  color:#11182d;
  font-size:17px;
  line-height:1.35;
}

.project-card-metro{
  display:flex;
  align-items:center;
  gap:8px;
  color:#11182d;
  font-size:17px;
  line-height:1.25;
}

.metro-mark{
  color:#128534;
  font-size:22px;
  font-weight:900;
  line-height:1;
}

.walk-mark{
  color:#7b88a3;
  font-size:13px;
  font-weight:800;
  line-height:1;
}

.project-card-address{
  color:#6b7894;
  font-size:16px;
  line-height:1.35;
}

@media(min-width:1180px){
  .project-body{
    padding:16px 18px 20px;
  }

  .project-card .price{
    font-size:25px;
  }

  .project-card-specs,
  .project-card-metro{
    font-size:16px;
  }

  .project-card-address{
    font-size:15px;
  }
}

@media(max-width:760px){
  .project-card-seen{
    top:10px;
    left:10px;
    min-height:30px;
    padding:0 11px;
    font-size:13px;
  }

  .project-card-favorite{
    top:10px;
    right:10px;
    width:42px;
    height:42px;
    font-size:30px;
  }

  .project-body{
    padding:16px;
  }

  .project-card .price{
    font-size:25px;
  }

  .project-card-specs,
  .project-card-metro{
    font-size:16px;
  }

  .project-card-address{
    font-size:15px;
  }
}
/* step17 object mini card css end */

/* step18 viewed favorites css start */
.project-card{
  position:relative;
}

.project-card-link,
.project-card-photo-link{
  display:block;
  color:inherit;
}

.project-card-photo-link{
  overflow:hidden;
}

.project-card-seen{
  display:none;
}

.project-card.is-seen .project-card-seen{
  display:inline-flex;
}

.project-card-favorite{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border:0;
  background:rgba(17,24,45,.5);
  color:#fff;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  transition:background .18s ease,transform .18s ease;
}

.project-card-favorite:hover{
  transform:translateY(-1px);
}

.project-card-favorite .heart-filled{
  display:none;
}

.project-card.is-favorite .heart-empty{
  display:none;
}

.project-card.is-favorite .heart-filled{
  display:inline;
}

.project-card.is-favorite .project-card-favorite{
  background:rgba(23,107,101,.74);
}

.viewed-section{
  display:none;
}

.viewed-section.has-items{
  display:block;
}

.viewed-grid .project-card.is-hidden-by-history{
  display:none!important;
}

@media(max-width:760px){
  .project-card-favorite{
    width:38px;
    height:38px;
    font-size:24px;
    box-shadow:0 8px 18px rgba(17,24,45,.18);
  }
}
/* step18 viewed favorites css end */

/* step19 metro logo selector css start */
.metro-mark{
  display:none!important;
}

.metro-logo{
  display:inline-block;
  flex:0 0 auto;
  width:19px;
  height:14px;
  background:var(--metro-color,#128534);
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%27337.5%20232.3%20125%2085.9%27%3E%3Cpolygon%20fill%3D%27black%27%20points%3D%27453.9%2C306.2%20424.7%2C232.3%20400%2C275.5%20375.4%2C232.3%20346.1%2C306.2%20337.5%2C306.2%20337.5%2C317.4%20381.7%2C317.4%20381.7%2C306.2%20375.1%2C306.2%20381.5%2C287.8%20400%2C318.2%20418.5%2C287.8%20424.9%2C306.2%20418.3%2C306.2%20418.3%2C317.4%20462.5%2C317.4%20462.5%2C306.2%27/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%27337.5%20232.3%20125%2085.9%27%3E%3Cpolygon%20fill%3D%27black%27%20points%3D%27453.9%2C306.2%20424.7%2C232.3%20400%2C275.5%20375.4%2C232.3%20346.1%2C306.2%20337.5%2C306.2%20337.5%2C317.4%20381.7%2C317.4%20381.7%2C306.2%20375.1%2C306.2%20381.5%2C287.8%20400%2C318.2%20418.5%2C287.8%20424.9%2C306.2%20418.3%2C306.2%20418.3%2C317.4%20462.5%2C317.4%20462.5%2C306.2%27/%3E%3C/svg%3E") center/contain no-repeat;
}

.project-card-metro{
  gap:7px;
}

@media(max-width:760px){
  .metro-logo{
    width:18px;
    height:13px;
  }
}
/* step19 metro logo selector css end */

/* step20 object page desktop layout css start */
.project-top{
  padding:20px 0 72px;
  background:#fff;
}

.project-top__inner{
  width:min(100% - 64px,1280px);
}

.breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  color:#667085;
  font-size:13px;
  line-height:1.4;
}

.breadcrumbs a{
  color:#667085;
}

.breadcrumbs a:hover{
  color:var(--estate-blue,#176b65);
}

.project-updated{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:18px;
  color:#7a89a3;
  font-size:14px;
}

.project-page-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:56px;
  align-items:start;
  margin-top:28px;
}

.project-main-column{
  min-width:0;
}

.project-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}

.project-badges span{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  border-radius:10px;
  padding:0 10px;
  background:#e5f1ef;
  color:#176b65;
  font-size:13px;
  font-weight:800;
}

.project-page h1{
  max-width:820px;
  margin:0;
  color:#142033;
  font-size:38px;
  line-height:1.08;
  letter-spacing:0;
}

.project-address{
  margin:20px 0 0;
  color:#142033;
  font-size:15px;
  line-height:1.45;
}

.project-metro-row{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:12px;
}

.project-metro-item{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#142033;
  font-size:15px;
}

.project-facts{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:24px 0;
}

.project-facts span{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  border:1px solid #dce4ef;
  border-radius:10px;
  padding:0 12px;
  background:#fff;
  color:#4f5f75;
  font-size:14px;
  font-weight:800;
}

.project-main-photo--listing{
  width:min(100%,680px);
  aspect-ratio:16/10;
  project-fit:cover;
  border:1px solid #dce4ef;
  border-radius:10px!important;
}

.project-content-card,
.project-author-card{
  width:min(100%,780px);
  margin-top:34px;
  border:1px solid #dce4ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 22px rgba(20,32,51,.06);
}

.project-content-card{
  padding:28px;
}

.project-content-card h2{
  margin:0 0 14px;
  font-size:28px;
}

.project-author-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:24px;
}

.project-author-card p,
.project-author-card span{
  margin:0;
  color:#667085;
}

.project-author-card strong{
  display:block;
  margin:8px 0;
  color:#142033;
  font-size:28px;
}

.project-sidebar{
  position:sticky;
  top:104px;
}

.project-price-card{
  display:grid;
  gap:16px;
  border:1px solid #dce4ef;
  border-radius:10px;
  padding:24px;
  background:#fff;
  box-shadow:0 12px 34px rgba(20,32,51,.1);
}

.project-price-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.project-price-card__head strong{
  color:#142033;
  font-size:30px;
  line-height:1.1;
}

.project-page-favorite{
  position:static;
  flex:0 0 auto;
  background:transparent;
  color:#b5475b;
  box-shadow:none;
}

.project-price-card dl{
  display:grid;
  gap:10px;
  margin:4px 0 0;
}

.project-price-card dl div{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:end;
}

.project-price-card dt{
  color:#667085;
}

.project-price-card dd{
  margin:0;
  color:#142033;
  text-align:right;
}

@media(max-width:900px){
  .project-top{
    padding:24px 0 48px;
  }

  .project-top__inner{
    width:min(100% - 32px,1280px);
  }

  .project-page-layout{
    grid-template-columns:1fr;
    gap:24px;
  }

  .project-sidebar{
    position:static;
    order:-1;
  }

  .project-page h1{
    font-size:clamp(30px,8vw,42px);
  }

  .project-main-photo--listing,
  .project-content-card,
  .project-author-card{
    width:100%;
  }

  .project-author-card{
    align-items:flex-start;
    flex-direction:column;
  }
}
/* step20 object page desktop layout css end */

/* step21 object page cohesion css start */
.project-top{
  background:linear-gradient(180deg,#fff 0%,#fff 68%,#f5f7f6 100%);
}

.project-top__inner{
  width:min(100% - 56px,1180px);
}

.project-page-layout{
  grid-template-columns:minmax(0,760px) 320px;
  gap:36px;
  justify-content:space-between;
  padding-bottom:12px;
}

.project-main-column{
  display:grid;
  align-content:start;
}

.project-main-column > .project-badges,
.project-main-column > h1,
.project-main-column > .project-address,
.project-main-column > .project-metro-row,
.project-main-column > .project-facts,
.project-main-column > .project-main-photo--listing,
.project-main-column > .project-content-card,
.project-main-column > .project-author-card{
  width:100%;
}

.project-page h1{
  max-width:none;
}

.project-main-photo--listing{
  width:100%;
}

.project-content-card,
.project-author-card{
  width:100%;
}

.project-sidebar{
  top:98px;
}

.project-price-card{
  width:100%;
  gap:12px;
  padding:22px;
  overflow:hidden;
}

.project-price-card > .btn{
  display:inline-flex;
  width:100%;
  min-height:46px;
  align-items:center;
  justify-content:center;
  margin:0;
  white-space:normal;
}

.project-price-card .btn-light{
  border:1px solid #dce4ef;
  background:#edf5f3;
}

.project-price-card dl{
  padding-top:8px;
  border-top:1px solid #e7edf5;
}

.project-price-card dl div{
  min-height:28px;
}

.project-mobile-price{
  display:none;
}

@media(max-width:900px){
  .project-top{
    background:#fff;
  }

  .project-top__inner{
    width:min(100% - 32px,1180px);
  }

  .project-page-layout{
    display:block;
    padding-bottom:0;
  }

  .project-sidebar{
    display:none;
  }

  .project-mobile-price{
    display:block;
    margin:18px 0 0;
  }

  .project-mobile-price .project-price-card{
    box-shadow:0 12px 34px rgba(20,32,51,.08);
  }

  .project-content-card{
    margin-top:18px;
  }

  .project-author-card{
    margin-top:18px;
  }
}
/* step21 object page cohesion css end */

/* step22 compact object page css start */
.project-page .project-top{
  padding:18px 0 48px;
}

.project-page .project-top > .container.project-top__inner{
  width:min(100% - 56px,1120px);
}

.project-page .breadcrumbs{
  margin-bottom:14px;
}

.project-page .project-updated{
  margin-top:0;
  margin-bottom:22px;
  gap:16px;
}

.project-page .project-page-layout{
  grid-template-columns:minmax(0,720px) 300px;
  gap:28px;
  justify-content:start;
  margin-top:0;
}

.project-page .project-badges{
  margin-bottom:10px;
}

.project-page h1{
  max-width:720px;
  font-size:34px;
  line-height:1.08;
}

.project-page .project-address{
  margin-top:14px;
}

.project-page .project-metro-row{
  margin-top:10px;
}

.project-page .project-facts{
  margin:18px 0;
}

.project-page .project-main-photo--listing{
  max-height:520px;
}

.project-page .project-content-card,
.project-page .project-author-card{
  margin-top:24px;
}

.project-page .project-content-card{
  padding:24px;
}

.project-page .project-content-card h2{
  font-size:26px;
}

.project-page .project-price-card{
  padding:20px;
  box-shadow:0 10px 28px rgba(20,32,51,.08);
}

.project-page .project-price-card__head strong{
  font-size:27px;
}

.project-page .project-price-card > .btn{
  min-height:44px;
}

.project-page .project-price-card dl{
  gap:8px;
}

.project-page .project-sidebar{
  top:92px;
}

@media(min-width:1280px){
  .project-page .project-top > .container.project-top__inner{
    transform:translateX(-24px);
  }
}

@media(max-width:900px){
  .project-page .project-top{
    padding:18px 0 36px;
  }

  .project-page .project-top > .container.project-top__inner{
    width:min(100% - 32px,1120px);
    transform:none;
  }

  .project-page .project-updated{
    margin-bottom:18px;
  }

  .project-page h1{
    max-width:none;
    font-size:clamp(30px,8vw,42px);
  }

  .project-page .project-facts{
    margin:16px 0;
  }

  .project-page .project-mobile-price{
    margin-top:14px;
  }

  .project-page .project-content-card,
  .project-page .project-author-card{
    margin-top:16px;
  }
}
/* step22 compact object page css end */

/* step23 sidebar object details css start */
.project-page .project-facts,
.project-page .project-metro-row{
  display:none!important;
}

.project-page .project-main-photo--listing{
  margin-top:18px;
}

.project-page .project-sidebar{
  display:grid;
  gap:14px;
  align-content:start;
}

.project-page .project-price-card{
  overflow:visible;
}

.project-page .project-price-card > .btn{
  height:auto;
  max-height:none;
  overflow:visible;
  line-height:1.2;
}

.project-price-details{
  display:grid;
  gap:9px;
}

.project-price-details div{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:10px;
  align-items:start;
}

.project-price-details dt{
  color:#667085;
}

.project-price-details dd{
  margin:0;
  min-width:0;
  color:#142033;
  text-align:right;
}

.project-price-details__wide{
  grid-template-columns:1fr!important;
  gap:4px!important;
}

.project-price-details__wide dd{
  text-align:left;
}

.project-price-metro .project-metro-item{
  display:inline-flex;
  align-items:center;
  gap:7px;
}

.project-specialist-card{
  display:grid;
  gap:8px;
  border:1px solid #dce4ef;
  border-radius:10px;
  padding:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(20,32,51,.07);
}

.project-specialist-card p,
.project-specialist-card span{
  margin:0;
  color:#667085;
}

.project-specialist-card strong{
  color:#142033;
  font-size:24px;
}

.project-specialist-card .btn{
  width:100%;
  min-height:42px;
  margin-top:4px;
}

.project-author-card{
  display:none!important;
}

@media(max-width:900px){
  .project-mobile-price{
    display:grid;
    gap:12px;
  }

  .project-mobile-price .project-specialist-card{
    display:none;
  }

  .project-price-details div{
    grid-template-columns:96px minmax(0,1fr);
  }
}
/* step23 sidebar object details css end */

/* step24 glass desktop header css start */
@media(min-width:761px){
  .site-header{
    position:sticky;
    top:0;
    z-index:90;
    border-bottom:1px solid rgba(220,228,239,.42);
    background:rgba(255,255,255,.58);
    box-shadow:0 12px 34px rgba(20,32,51,.045);
    backdrop-filter:blur(22px) saturate(1.25);
    -webkit-backdrop-filter:blur(22px) saturate(1.25);
  }

  .header-inner{
    min-height:76px;
  }

  .main-nav,
  .nav-desktop{
    position:relative;
    gap:2px;
    border:1px solid rgba(220,228,239,.46);
    background:rgba(255,255,255,.28);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 14px 34px rgba(20,32,51,.055);
    backdrop-filter:blur(18px) saturate(1.2);
    -webkit-backdrop-filter:blur(18px) saturate(1.2);
  }

  .main-nav .nav-list{
    gap:0;
  }

  .main-nav .nav-list li:first-child .nav-link,
  .main-nav .nav-list li:last-child .nav-link,
  .nav-list li:first-child .nav-link,
  .nav-list li:last-child .nav-link{
    background:transparent;
    border-color:transparent;
    color:#667085;
    box-shadow:none;
  }

  .main-nav .nav-link,
  .nav-desktop a{
    position:relative;
    min-height:38px;
    padding:0 15px;
    border:0;
    background:transparent;
    color:#667085;
    box-shadow:none;
    isolation:isolate;
    transition:color .18s ease,transform .18s ease;
  }

  .main-nav .nav-link:before,
  .nav-desktop a:before{
    content:"";
    position:absolute;
    inset:3px;
    z-index:-1;
    border:1px solid transparent;
    border-radius:10px;
    background:transparent;
    opacity:0;
    transform:scale(.92);
    transition:opacity .18s ease,transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
  }

  .main-nav .nav-link:hover,
  .main-nav .nav-link:focus-visible,
  .nav-desktop a:hover,
  .nav-desktop a:focus-visible{
    color:#142033;
    transform:translateY(-1px);
  }

  .main-nav .nav-link:hover:before,
  .main-nav .nav-link:focus-visible:before,
  .nav-desktop a:hover:before,
  .nav-desktop a:focus-visible:before{
    border-color:rgba(23,107,101,.16);
    background:rgba(232,241,255,.62);
    box-shadow:0 10px 24px rgba(23,107,101,.08);
    opacity:1;
    transform:scale(1);
  }

  .main-nav .nav-link.is-active,
  .main-nav .nav-link[aria-current="page"],
  .nav-desktop a.is-active,
  .nav-desktop a[aria-current="page"]{
    color:#176b65!important;
  }

  .main-nav .nav-link.is-active:before,
  .main-nav .nav-link[aria-current="page"]:before,
  .nav-desktop a.is-active:before,
  .nav-desktop a[aria-current="page"]:before{
    border-color:rgba(23,107,101,.2);
    background:
      radial-gradient(circle at 50% 42%,rgba(255,255,255,.88),rgba(255,255,255,.34) 52%,rgba(232,241,255,.72) 100%);
    box-shadow:0 12px 26px rgba(23,107,101,.12),inset 0 1px 0 rgba(255,255,255,.8);
    opacity:1;
    transform:scale(1);
  }

  .header-cta{
    border:1px solid rgba(23,107,101,.18);
    background:rgba(23,107,101,.92);
    box-shadow:0 12px 24px rgba(23,107,101,.16);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
}
/* step24 glass desktop header css end */

/* step25 clean desktop nav css start */
@media(min-width:761px){
  .main-nav,
  .nav-desktop{
    gap:10px;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .main-nav .nav-list{
    gap:18px;
  }

  .main-nav .nav-list li:first-child .nav-link,
  .main-nav .nav-list li:last-child .nav-link,
  .nav-list li:first-child .nav-link,
  .nav-list li:last-child .nav-link,
  .main-nav .nav-link,
  .nav-desktop a{
    min-height:42px;
    padding:0 2px;
    background:transparent!important;
    border:0!important;
    color:#30394a!important;
    box-shadow:none!important;
    font-weight:900;
    letter-spacing:0;
    transform:none;
  }

  .main-nav .nav-link:before,
  .nav-desktop a:before{
    display:none!important;
  }

  .main-nav .nav-link:after,
  .nav-desktop a:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:4px;
    height:2px;
    border-radius:10px;
    background:#176b65;
    opacity:0;
    transform:scaleX(.46);
    transform-origin:center;
    transition:opacity .18s ease,transform .18s ease;
  }

  .main-nav .nav-link:hover,
  .main-nav .nav-link:focus-visible,
  .nav-desktop a:hover,
  .nav-desktop a:focus-visible{
    color:#111827!important;
    transform:none;
  }

  .main-nav .nav-link:hover:after,
  .main-nav .nav-link:focus-visible:after,
  .nav-desktop a:hover:after,
  .nav-desktop a:focus-visible:after{
    opacity:.42;
    transform:scaleX(.72);
  }

  .main-nav .nav-link.is-active,
  .main-nav .nav-link[aria-current="page"],
  .nav-desktop a.is-active,
  .nav-desktop a[aria-current="page"]{
    color:#0f172a!important;
  }

  .main-nav .nav-link.is-active:after,
  .main-nav .nav-link[aria-current="page"]:after,
  .nav-desktop a.is-active:after,
  .nav-desktop a[aria-current="page"]:after{
    opacity:1;
    transform:scaleX(1);
  }
}
/* step25 clean desktop nav css end */

/* step26 object gallery favorites css start */
.project-page .project-updated{
  display:none!important;
}

.project-gallery{
  display:grid;
  gap:10px;
  margin-top:18px;
}

.project-gallery__stage{
  position:relative;
  overflow:hidden;
  border:1px solid #dce4ef;
  border-radius:10px;
  background:#eef3f2;
}

.project-gallery__item{
  display:none;
  margin:0;
  color:inherit;
}

.project-gallery__item.is-active{
  display:block;
}

.project-gallery__item img{
  display:block;
  width:100%;
  aspect-ratio:16/10;
  project-fit:cover;
}

.project-gallery__item--video{
  position:relative;
}

.project-gallery__item--video:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(20,32,51,.08),rgba(20,32,51,.34));
}

.project-gallery__play{
  position:absolute;
  left:18px;
  bottom:18px;
  display:inline-flex;
  min-height:42px;
  align-items:center;
  border-radius:10px;
  padding:0 16px;
  background:#fff;
  color:#142033;
  font-weight:900;
  box-shadow:0 12px 28px rgba(20,32,51,.18);
}

.project-gallery__play:before{
  content:"";
  width:0;
  height:0;
  margin-right:10px;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  border-left:10px solid #176b65;
}

.project-gallery__thumbs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:2px;
  -webkit-overflow-scrolling:touch;
}

.project-gallery__thumbs::-webkit-scrollbar{
  display:none;
}

.project-gallery__thumb{
  position:relative;
  flex:0 0 86px;
  overflow:hidden;
  border:2px solid transparent;
  border-radius:10px;
  padding:0;
  background:#eef3f2;
  cursor:pointer;
}

.project-gallery__thumb.is-active{
  border-color:#176b65;
}

.project-gallery__thumb img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  project-fit:cover;
}

.project-gallery__thumb span{
  position:absolute;
  inset:auto 4px 4px;
  border-radius:8px;
  padding:3px 5px;
  background:rgba(20,32,51,.72);
  color:#fff;
  font-size:11px;
  font-weight:900;
}

.project-main-photo--listing{
  display:none!important;
}

[data-project-card].is-favorite .heart-empty{
  display:none!important;
}

[data-project-card].is-favorite .heart-filled{
  display:inline!important;
}

[data-project-card].is-favorite .project-card-favorite{
  color:#fff;
  background:#b5475b;
}

.project-page-favorite{
  color:#b5475b;
}

.project-page-favorite .heart-filled{
  display:none;
}

.project-price-details{
  border-top:1px solid #e7edf5;
  padding-top:12px;
}

@media(max-width:900px){
  .project-gallery{
    margin-top:16px;
  }

  .project-gallery__item img{
    aspect-ratio:4/3;
  }

  .project-gallery__thumb{
    flex-basis:76px;
  }
}
/* step26 object gallery favorites css end */

/* step27 header specialist css start */
@media(min-width:761px){
  .main-nav .nav-list{
    gap:24px;
  }

  .main-nav .nav-link,
  .nav-desktop a{
    min-height:46px;
    font-size:17px;
    line-height:1;
    color:#172033!important;
  }
}

.project-specialist-card strong{
  font-size:22px;
  line-height:1.18;
}
/* step27 header specialist css end */

/* step29 favorite specialist cta css start */
.project-card-favorite,
.project-card.is-favorite .project-card-favorite,
[data-project-card].is-favorite .project-card-favorite{
  border:0!important;
  background:rgba(255,255,255,.92)!important;
  color:#b5475b!important;
  box-shadow:0 10px 24px rgba(20,32,51,.16)!important;
}

.project-card-favorite .heart-empty,
.project-card-favorite .heart-filled{
  line-height:1;
}

.project-card.is-favorite .heart-empty,
[data-project-card].is-favorite .heart-empty{
  display:none!important;
}

.project-card.is-favorite .heart-filled,
[data-project-card].is-favorite .heart-filled{
  display:inline!important;
  color:#b5475b!important;
  -webkit-text-stroke:1px #b5475b;
}

.project-page-favorite,
[data-project-card].is-favorite .project-page-favorite{
  width:42px;
  height:42px;
  background:transparent!important;
  box-shadow:none!important;
  color:#b5475b!important;
  font-size:32px;
}

.project-page-favorite .heart-empty{
  display:inline;
}

.project-page-favorite .heart-filled{
  display:none;
}

[data-project-card].is-favorite .project-page-favorite .heart-empty{
  display:none!important;
}

[data-project-card].is-favorite .project-page-favorite .heart-filled{
  display:inline!important;
}

.project-specialist-card .btn{
  white-space:normal;
}

@media(max-width:760px){
  .project-card-favorite{
    width:40px;
    height:40px;
  }
}
/* step29 favorite specialist cta css end */

/* step30 gallery specialist contacts css start */
.project-gallery__thumbs{
  min-height:66px;
}

.specialist-contact-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
}

.specialist-contact-chip{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  gap:7px;
  border:1px solid #dce4ef;
  border-radius:10px;
  padding:0 10px;
  background:#f8fbff;
  color:#142033;
  font-size:13px;
  font-weight:900;
}

.specialist-contact-chip svg{
  width:17px;
  height:17px;
  fill:currentColor;
}

.specialist-contact-chip--phone{color:#176b65}
.specialist-contact-chip--email{color:#475569}
.specialist-contact-chip--telegram{color:#229ed9}
.specialist-contact-chip--whatsapp{color:#21a67a}
.specialist-contact-chip--vk{color:#1976d2}
.specialist-contact-chip--instagram{color:#d62976}
.specialist-contact-chip--website{color:#142033}
/* step30 gallery specialist contacts css end */

/* step31 catalog instant filters css start */
.catalog-hero{
  padding-bottom:38px;
}

.catalog-filter-open{
  display:none;
}

.catalog-filter-shell{
  margin-bottom:18px;
  border:1px solid #dce4ef;
  border-radius:10px;
  padding:16px;
  background:rgba(255,255,255,.82);
  box-shadow:0 14px 36px rgba(20,32,51,.08);
}

.catalog-filter-head{
  display:none;
}

.catalog-filter{
  display:grid;
  grid-template-columns:1.1fr 1.15fr .9fr 1fr 1fr 1.15fr auto;
  gap:12px;
  align-items:end;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

.catalog-filter label{
  display:grid;
  gap:7px;
  min-width:0;
}

.catalog-filter span{
  color:#58667d;
  font-size:13px;
  font-weight:900;
}

.catalog-filter select,
.catalog-filter input{
  width:100%;
  height:48px;
  min-height:48px;
  border:1px solid #dce4ef;
  border-radius:10px;
  padding:0 12px;
  background:#fff;
  color:#142033;
  font-size:15px;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(20,32,51,.02);
}

.catalog-filter select:focus,
.catalog-filter input:focus{
  border-color:#176b65;
  box-shadow:0 0 0 3px rgba(23,107,101,.12);
}

.catalog-filter-actions{
  display:grid;
  grid-template-columns:auto auto;
  gap:8px;
}

.catalog-filter-actions .btn{
  min-height:48px;
  white-space:nowrap;
}

.quick-links button{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  border:1px solid #dce4ef;
  border-radius:10px;
  padding:0 14px;
  background:#fff;
  color:#58667d;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}

.quick-links button:hover{
  border-color:#b9d3ff;
  background:#e5f1ef;
  color:#176b65;
}

.catalog-count{
  margin:2px 0 16px;
  color:#667085;
  font-weight:900;
}

.catalog-results.is-empty:before{
  content:"Проекты по выбранным параметрам не найдены.";
  grid-column:1/-1;
  border:1px solid #dce4ef;
  border-radius:10px;
  padding:28px;
  background:#fff;
  color:#667085;
  font-weight:900;
}

.project-card[hidden]{
  display:none!important;
}

@media(max-width:760px){
  .catalog-filter-open{
    display:inline-flex;
    width:auto;
    margin-top:18px;
  }

  .catalog-filter-shell{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    z-index:130;
    display:grid;
    grid-template-rows:auto 1fr;
    width:min(92vw,390px);
    margin:0;
    border-radius:10px 0 0 10px;
    padding:16px;
    overflow:auto;
    opacity:0;
    pointer-events:none;
    transform:translateX(100%);
    transition:opacity .22s ease,transform .22s ease;
  }

  .catalog-filter-shell.is-open{
    opacity:1;
    pointer-events:auto;
    transform:translateX(0);
  }

  .catalog-filter-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
  }

  .catalog-filter-head strong{
    font-size:20px;
  }

  .catalog-filter-head button{
    display:inline-flex;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border:1px solid #dce4ef;
    border-radius:10px;
    background:#fff;
    color:#142033;
    font-size:28px;
    line-height:1;
  }

  .catalog-filter{
    display:grid;
    grid-template-columns:1fr;
    align-content:start;
    gap:12px;
  }

  .catalog-filter-actions{
    grid-template-columns:1fr;
    margin-top:4px;
  }

  .catalog-filter-actions .btn{
    width:100%;
  }

  .catalog-filter-backdrop{
    position:fixed;
    inset:0;
    z-index:120;
    display:none;
    background:rgba(20,32,51,.44);
    backdrop-filter:blur(8px);
  }

  body.filter-open{
    overflow:hidden;
  }

  body.filter-open .catalog-filter-backdrop{
    display:block;
  }
}
/* step31 catalog instant filters css end */

/* step32 specialist cabinet css start */
.cabinet-page{
  background:#f5f7f6;
}

.cabinet-shell--login{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,420px);
  gap:34px;
  align-items:start;
}

.cabinet-top,
.cabinet-list-head,
.cabinet-form-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.cabinet-card,
.cabinet-project-row{
  border:1px solid #dce4ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 28px rgba(20,32,51,.06);
}

.cabinet-login,
.cabinet-project-form{
  display:grid;
  gap:14px;
  padding:22px;
}

.cabinet-login label,
.cabinet-project-form label{
  display:grid;
  gap:7px;
}

.cabinet-login span,
.cabinet-project-form span{
  color:#667085;
  font-size:13px;
  font-weight:900;
}

.cabinet-login input,
.cabinet-project-form input,
.cabinet-project-form select,
.cabinet-project-form textarea{
  width:100%;
  min-height:48px;
  border:1px solid #dce4ef;
  border-radius:10px;
  padding:0 12px;
  background:#fff;
  color:#142033;
  font:inherit;
}

.cabinet-project-form textarea{
  min-height:150px;
  padding:12px;
  resize:vertical;
}

.cabinet-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.cabinet-full{
  grid-column:1/-1;
}

.cabinet-toggle{
  display:inline-flex!important;
  grid-auto-flow:column;
  align-items:center;
  gap:8px!important;
}

.cabinet-toggle input{
  width:18px;
  min-height:18px;
}

.cabinet-gallery-fields{
  border:1px solid #dce4ef;
  border-radius:10px;
  padding:14px;
}

.cabinet-gallery-fields summary{
  cursor:pointer;
  font-weight:900;
}

.cabinet-gallery-fields .cabinet-form-grid{
  margin-top:14px;
}

.cabinet-actions,
.cabinet-row-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.cabinet-message{
  margin-bottom:16px;
  border-radius:10px;
  padding:14px 16px;
  font-weight:900;
}

.cabinet-message--success{
  background:#e8f8ef;
  color:#16733b;
}

.cabinet-message--error{
  background:#fff0f2;
  color:#b0002a;
}

.cabinet-project-list{
  display:grid;
  gap:12px;
}

.cabinet-project-row{
  display:grid;
  grid-template-columns:112px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:12px;
}

.cabinet-project-row img,
.cabinet-project-empty{
  width:112px;
  aspect-ratio:4/3;
  border-radius:10px;
  project-fit:cover;
  background:#e5f1ef;
}

.cabinet-project-row strong,
.cabinet-project-row span{
  display:block;
}

.cabinet-project-row span{
  color:#667085;
}

@media(max-width:760px){
  .cabinet-shell--login,
  .cabinet-form-grid,
  .cabinet-project-row{
    grid-template-columns:1fr;
  }

  .cabinet-top,
  .cabinet-list-head,
  .cabinet-form-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .cabinet-project-row img,
  .cabinet-project-empty{
    width:100%;
  }
}
/* step32 specialist cabinet css end */

/* step33 compact catalog css start */
.catalog-page .page-hero.catalog-hero{
  padding:72px 0 28px;
}

.catalog-page .catalog-hero h1{
  max-width:980px;
  margin-bottom:18px;
}

.catalog-page .catalog-hero p:not(.eyebrow){
  max-width:640px;
}

.catalog-section{
  padding-top:22px;
}

.catalog-filter-shell{
  margin-bottom:14px;
}

.quick-links[data-catalog-chips]{
  display:none!important;
}

.catalog-count{
  margin:0 0 16px;
}

@media(max-width:760px){
  .catalog-page .page-hero.catalog-hero{
    padding:42px 0 20px;
  }

  .catalog-page .catalog-hero h1{
    margin-bottom:14px;
  }

  .catalog-section{
    padding-top:18px;
  }
}
/* step33 compact catalog css end */

/* step34 mobile object map css start */
.project-page--mobile-polish .project-mobile-price{
  display:none!important;
}

.project-map-card{
  width:100%;
  margin-top:24px;
  overflow:hidden;
  border:1px solid #dce4ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 10px 28px rgba(20,32,51,.06);
}

.project-map-card__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:22px;
}

.project-map-card__head h2,
.project-map-card__head p{
  margin:0;
}

.project-map-card__head h2{
  margin-bottom:6px;
  font-size:26px;
}

.project-map-card__head .eyebrow{
  margin-bottom:7px;
}

.project-map-card__head p:not(.eyebrow){
  color:#667085;
}

.project-map-card__frame{
  width:100%;
  aspect-ratio:16/7;
  background:#e5f1ef;
}

.project-map-card__frame iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}

@media(min-width:901px){
  .project-page--mobile-polish .project-sidebar{
    display:grid!important;
  }

  .project-page--mobile-polish .project-mobile-price{
    display:none!important;
  }
}

@media(max-width:900px){
  .project-page--mobile-polish .project-top{
    padding-top:14px;
  }

  .project-page--mobile-polish .project-top > .container.project-top__inner{
    width:100%;
  }

  .project-page--mobile-polish .breadcrumbs,
  .project-page--mobile-polish .project-badges--desktop{
    display:none!important;
  }

  .project-page--mobile-polish .project-page-layout{
    display:block!important;
  }

  .project-page--mobile-polish .project-sidebar{
    display:none!important;
  }

  .project-page--mobile-polish .project-mobile-price{
    display:block!important;
    margin:0!important;
  }

  .project-page--mobile-polish .project-main-column{
    display:block;
  }

  .project-page--mobile-polish h1{
    margin:0;
    padding:0 16px 14px;
    color:#4f5f75;
    font-size:22px;
    font-weight:700;
    line-height:1.25;
  }

  .project-page--mobile-polish .project-gallery{
    margin:0;
  }

  .project-page--mobile-polish .project-gallery__stage{
    border-right:0;
    border-left:0;
    border-radius:0;
  }

  .project-page--mobile-polish .project-gallery__item img{
    aspect-ratio:1/1.04;
    project-fit:cover;
  }

  .project-page--mobile-polish .project-gallery__thumbs{
    padding:8px 16px 0;
  }

  .project-mobile-summary{
    padding:16px;
    background:#fff;
  }

  .project-mobile-badges{
    display:flex;
    gap:8px;
    overflow-x:auto;
    margin-bottom:18px;
    scrollbar-width:none;
  }

  .project-mobile-badges::-webkit-scrollbar{
    display:none;
  }

  .project-mobile-badges span{
    flex:0 0 auto;
    border-radius:10px;
    padding:8px 12px;
    background:#e5f1ef;
    color:#176b65;
    font-size:13px;
    font-weight:900;
  }

  .project-mobile-price-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
  }

  .project-mobile-price-head strong{
    color:#142033;
    font-size:34px;
    line-height:1.08;
  }

  .project-mobile-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:18px;
  }

  .project-mobile-actions .btn{
    display:inline-flex;
    min-height:52px;
    background:#176b65;
    color:#fff;
  }

  .project-mobile-actions svg{
    width:22px;
    height:22px;
    margin-right:8px;
    fill:currentColor;
  }

  .project-mobile-summary .project-price-details{
    margin-top:18px;
    padding-top:16px;
  }

  .project-page--mobile-polish .project-mobile-price > .project-specialist-card{
    display:grid!important;
    margin:12px 16px 0;
    box-shadow:none;
  }

  .project-page--mobile-polish .project-content-card,
  .project-page--mobile-polish .project-map-card{
    width:auto;
    margin:16px 16px 0;
    box-shadow:none;
  }

  .project-page--mobile-polish .project-content-card{
    padding:20px;
  }

  .project-map-card__head{
    align-items:flex-start;
    flex-direction:column;
    padding:18px;
  }

  .project-map-card__head .btn{
    width:100%;
  }

  .project-map-card__frame{
    aspect-ratio:1/1;
  }
}
/* step34 mobile object map css end */

/* step35 test objects mobile menu css start */
.mobile-menu-phones,
.mobile-menu-actions{
  display:none;
}

.header-phone{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#3a4553;
  font-size:13px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.01em;
  text-decoration:none;
  white-space:nowrap;
  transition:color .18s ease,opacity .18s ease;
}

.header-phone:hover{
  color:#176b65;
}

.header-phone__flag{
  display:inline-flex;
  flex:0 0 auto;
  width:18px;
  height:12px;
  overflow:hidden;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(20,32,51,.08);
}

.header-phone__flag svg{
  display:block;
  width:18px;
  height:12px;
}

.header-phone__ico{
  display:inline-flex;
  flex:0 0 auto;
  width:15px;
  height:15px;
  align-items:center;
  justify-content:center;
  color:#176b65;
}

.header-phone__ico svg{
  display:block;
  width:15px;
  height:15px;
}

.header-phone__num{
  font-variant-numeric:tabular-nums;
}

@media(max-width:760px){
  .main-nav{
    padding:16px!important;
  }

  .mobile-menu-phones{
    display:grid;
    gap:8px;
    margin:0 0 12px;
    padding:0 0 12px;
    border-bottom:1px solid #edf1f6;
  }

  .mobile-menu-phones .header-phone{
    min-height:40px;
    gap:10px;
    color:#2a3441;
    font-size:15px;
    font-weight:550;
    font-weight:500;
  }

  .mobile-menu-phones .header-phone__flag{
    width:22px;
    height:15px;
    border-radius:3px;
  }

  .mobile-menu-phones .header-phone__flag svg{
    width:22px;
    height:15px;
  }

  .mobile-menu-phones .header-phone__ico{
    width:17px;
    height:17px;
  }

  .mobile-menu-phones .header-phone__ico svg{
    width:17px;
    height:17px;
  }

  .main-nav .nav-list{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .main-nav .nav-list .nav-link,
  .main-nav .nav-list li:first-child .nav-link,
  .main-nav .nav-list li:last-child .nav-link{
    min-height:52px;
    border:1px solid #dce4ef;
    background:#fff;
    color:#142033!important;
    box-shadow:none;
  }

  .mobile-menu-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) 48px 48px 48px;
    align-items:center;
    gap:8px;
    margin-top:auto;
    border-top:1px solid #dce4ef;
    padding-top:16px;
  }

  .mobile-menu-actions a,
  .mobile-menu-actions button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #dce4ef;
    border-radius:12px;
    padding:0;
    background:#fff;
    color:#176b65;
    box-shadow:none;
    cursor:pointer;
  }

  .mobile-menu-actions__cta{
    min-height:48px;
    padding:0 14px!important;
    border:0!important;
    background:linear-gradient(135deg,#d4b07a,#b89556)!important;
    color:#1a1510!important;
    font-size:14px;
    font-weight:700;
  }

  .mobile-menu-actions__icon{
    width:48px;
    height:48px;
  }

  .mobile-menu-actions__icon svg{
    width:22px;
    height:22px;
    fill:none!important;
    stroke:currentColor;
  }

  .mobile-menu-actions__icon img{
    width:22px;
    height:22px;
    border-radius:6px;
    object-fit:contain;
  }

  .mobile-menu-actions svg{
    width:22px;
    height:22px;
  }

  .mobile-menu-actions button:first-child{
    background:linear-gradient(135deg,#d4b07a,#b89556);
    color:#1a1510;
  }

  .nav-quick,
  .nav-info{
    display:none!important;
  }
}

@media(max-width:360px){
  .mobile-menu-actions{
    grid-template-columns:minmax(0,1fr) 42px 42px 42px;
  }

  .mobile-menu-actions__icon{
    width:42px;
    height:42px;
  }
}
/* step35 test objects mobile menu css end */

/* step36 global mobile object carousel css start */
.mobile-project-carousel-controls{
  display:none;
}

@media(max-width:760px){
  .is-mobile-project-carousel{
    display:flex!important;
    grid-template-columns:none!important;
    gap:12px!important;
    width:auto;
    margin-right:-16px;
    margin-left:-16px;
    padding-right:16px;
    padding-left:16px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .is-mobile-project-carousel::-webkit-scrollbar{
    display:none;
  }

  .is-mobile-project-carousel > [data-project-card]{
    flex:0 0 min(86vw,340px)!important;
    width:min(86vw,340px)!important;
    min-width:0;
    scroll-snap-align:start;
  }

  .is-mobile-project-carousel > [data-project-card][hidden],
  .is-mobile-project-carousel > [data-project-card].is-filtered-out{
    display:none!important;
  }

  .mobile-project-carousel-controls{
    display:flex;
    min-height:42px;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin-top:10px;
  }

  .mobile-project-carousel-controls[hidden]{
    display:none!important;
  }

  .mobile-project-carousel-controls button{
    display:inline-flex;
    width:40px;
    height:40px;
    align-items:center;
    justify-content:center;
    border:1px solid #dce4ef;
    border-radius:10px;
    padding:0;
    background:#fff;
    color:#142033;
    font-size:27px;
    line-height:1;
    cursor:pointer;
  }

  .mobile-project-carousel-controls button:disabled{
    opacity:.35;
    cursor:default;
  }

  .mobile-project-carousel-controls span{
    min-width:54px;
    color:#667085;
    font-size:13px;
    font-weight:900;
    text-align:center;
  }

  .catalog-results.is-mobile-project-carousel:before{
    display:none!important;
  }
}
/* step36 global mobile object carousel css end */

/* step37 compact mobile menu css start */
@media(max-width:760px){
  body.menu-open{
    overflow:hidden!important;
  }

  body.menu-open .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:80!important;
  }

  .site-header .main-nav{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    right:10px!important;
    bottom:auto!important;
    left:10px!important;
    z-index:70!important;
    display:flex!important;
    flex-direction:column!important;
    width:auto!important;
    height:auto!important;
    max-height:calc(100dvh - 84px)!important;
    padding:12px 16px 14px!important;
    overflow-y:auto!important;
    border:1px solid rgba(220,228,239,.92)!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 18px 48px rgba(20,32,51,.18)!important;
    backdrop-filter:blur(20px)!important;
    -webkit-backdrop-filter:blur(20px)!important;
    opacity:0;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .2s ease,transform .2s ease;
  }

  .site-header .main-nav.is-open,
  .site-header .main-nav[aria-expanded="true"]{
    opacity:1!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }

  .site-header .mobile-menu-phones{
    margin:0 0 8px;
    padding:0 0 10px;
  }

  .site-header .mobile-menu-phones .header-phone{
    min-height:38px;
    font-size:15px;
    font-weight:500;
  }

  .site-header .main-nav .nav-list{
    display:grid;
    grid-template-columns:1fr!important;
    gap:0!important;
    width:100%;
  }

  .site-header .main-nav .nav-list li{
    display:block;
    width:100%;
    border:0;
  }

  .site-header .main-nav .nav-list li + li{
    border-top:1px solid #edf1f6;
  }

  .site-header .main-nav .nav-list .nav-link,
  .site-header .main-nav .nav-list li:first-child .nav-link,
  .site-header .main-nav .nav-list li:last-child .nav-link{
    display:flex;
    width:100%;
    min-height:44px;
    align-items:center;
    justify-content:flex-start;
    border:0!important;
    border-radius:0!important;
    padding:0!important;
    background:transparent!important;
    color:#3a4553!important;
    box-shadow:none!important;
    font-size:15px;
    font-weight:500;
    letter-spacing:.01em;
  }

  .site-header .main-nav .nav-list .nav-link:before{
    display:none!important;
  }

  .site-header .mobile-menu-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) 44px 44px 44px;
    align-items:center;
    gap:8px;
    margin:12px 0 0!important;
    border-top:1px solid #edf1f6;
    padding:12px 0 0;
  }

  .site-header .mobile-menu-actions a,
  .site-header .mobile-menu-actions button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0!important;
    border-radius:12px;
    padding:0;
    box-shadow:none!important;
    cursor:pointer;
  }

  .site-header .mobile-menu-actions__cta{
    min-height:44px;
    padding:0 14px!important;
    background:linear-gradient(135deg,#d4b07a,#b89556)!important;
    color:#1a1510!important;
    font-size:14px;
    font-weight:700;
    letter-spacing:.01em;
  }

  .site-header .mobile-menu-actions__icon{
    width:44px;
    height:44px;
    background:#f3f6f5;
    color:#176b65;
  }

  .site-header .mobile-menu-actions__icon:hover{
    background:#e5f1ef;
  }

  .site-header .mobile-menu-actions__icon svg{
    width:20px;
    height:20px;
    fill:none!important;
    stroke:currentColor;
  }

  .site-header .mobile-menu-actions__icon--telegram{
    color:#229ed9;
  }

  .site-header .mobile-menu-actions__icon--email{
    color:#475569;
  }

  .site-header .mobile-menu-actions__icon img{
    display:block;
    width:22px;
    height:22px;
    border-radius:6px;
    object-fit:contain;
  }

  .site-header .mobile-menu-actions button:first-child{
    background:linear-gradient(135deg,#d4b07a,#b89556);
    color:#1a1510;
  }

  .site-header .mobile-menu-actions svg{
    width:20px;
    height:20px;
  }

  .site-header .mobile-menu-actions img{
    display:block;
    width:22px;
    height:22px;
    border-radius:6px;
    object-fit:contain;
  }
}

@media(max-width:460px){
  .site-header .main-nav.is-open,
  .site-header .main-nav[aria-expanded="true"]{
    max-height:calc(100dvh - 78px)!important;
  }
}
/* step37 compact mobile menu css end */

/* step38 dependent catalog options css start */
.catalog-filter select option:disabled{
  color:#a5afbf;
  background:#f2f4f7;
}

.catalog-filter select.has-disabled-options{
  border-color:#cfd8e5;
}
/* step38 dependent catalog options css end */

/* step39 unified wide site grid css start */
:root{
  --site-container-max:1440px;
  --site-container-gutter:32px;
}

.container,
.site-header .container,
.site-footer .container,
main > section > .container,
.page-hero > .container,
.project-hero > .container{
  width:min(
    calc(100% - (var(--site-container-gutter) * 2)),
    var(--site-container-max)
  )!important;
  max-width:none!important;
  margin-right:auto!important;
  margin-left:auto!important;
  transform:none!important;
}

@media(min-width:901px){
  .project-page .project-top > .container.project-top__inner{
    width:min(
      calc(100% - (var(--site-container-gutter) * 2)),
      var(--site-container-max)
    )!important;
    max-width:none!important;
    transform:none!important;
  }

  .project-page .project-page-layout{
    grid-template-columns:minmax(0,1fr) 320px!important;
    gap:28px!important;
    width:100%;
    justify-content:stretch!important;
  }

  .project-page .project-main-column{
    width:100%;
    min-width:0;
    max-width:none;
  }

  .project-page .project-main-column > *,
  .project-page .project-gallery,
  .project-page .project-content-card,
  .project-page .project-map-card{
    width:100%;
    max-width:none;
  }

  .project-page h1{
    max-width:none!important;
  }

  .project-page .project-sidebar{
    width:320px;
  }

  .specialist-page .container,
  .team-page .container,
  [data-specialist-page] .container{
    width:min(
      calc(100% - (var(--site-container-gutter) * 2)),
      var(--site-container-max)
    )!important;
    max-width:none!important;
  }
}

@media(min-width:761px) and (max-width:1179px){
  :root{
    --site-container-gutter:24px;
  }
}

@media(max-width:760px){
  :root{
    --site-container-gutter:16px;
  }

  .project-page--mobile-polish .project-top > .container.project-top__inner{
    width:100%!important;
    margin:0!important;
  }
}
/* step39 unified wide site grid css end */

/* step40 listing badges css start */
.project-listing-badges,
.project-card-listing-badges{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.project-listing-badges{
  margin-bottom:12px;
}

.listing-badge{
  display:inline-flex;
  min-height:30px;
  align-items:center;
  border:1px solid transparent;
  border-radius:8px;
  padding:0 10px;
  font-size:13px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}

.listing-badge--deal{
  border-color:#b9d3ff;
  background:#e5f1ef;
  color:#0864d9;
}

.listing-badge--type{
  border-color:#d9e1eb;
  background:rgba(255,255,255,.94);
  color:#344054;
}

.listing-badge--rent{
  border-color:#b8e5ce;
  background:#e8f8ef;
  color:#16733b;
}

.listing-badge--newbuild{
  border-color:#c9c4f3;
  background:#f0efff;
  color:#5146a5;
}

.listing-badge--commercial{
  border-color:#f0d39b;
  background:#fff6e5;
  color:#8b5a00;
}

.project-card-media{
  position:relative;
}

.project-card-listing-badges{
  position:absolute;
  right:12px;
  bottom:12px;
  left:12px;
  z-index:3;
  pointer-events:none;
}

.project-card-listing-badges .listing-badge{
  min-height:27px;
  border-color:rgba(255,255,255,.5);
  padding:0 8px;
  background:rgba(255,255,255,.94);
  box-shadow:0 5px 16px rgba(20,32,51,.14);
  color:#142033;
  font-size:11px;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.project-card[data-deal="sale"] .project-card-listing-badges .listing-badge--deal:before{
  content:"Разработка";
}

.project-card[data-deal="rent"] .project-card-listing-badges .listing-badge--deal:before{
  content:"Дизайн";
}

.project-card[data-type="flat"] .project-card-listing-badges .listing-badge--type:before{
  content:"Лендинг";
}

.project-card[data-type="apartment"] .project-card-listing-badges .listing-badge--type:before{
  content:"Корпоративный сайт";
}

.project-card[data-type="house"] .project-card-listing-badges .listing-badge--type:before{
  content:"Интернет-магазин";
}

.project-card[data-type="commercial"] .project-card-listing-badges .listing-badge--type:before{
  content:"Веб-сервис";
}

.project-card[data-type="newbuild"] .project-card-listing-badges .listing-badge--type:before{
  content:"Брендинг";
}

.project-card:not([data-deal="sale"]):not([data-deal="rent"])
  .project-card-listing-badges .listing-badge--deal,
.project-card:not([data-type="flat"]):not([data-type="apartment"]):not([data-type="house"]):not([data-type="commercial"]):not([data-type="newbuild"])
  .project-card-listing-badges .listing-badge--type{
  display:none;
}

@media(max-width:900px){
  .project-listing-badges--desktop{
    display:none!important;
  }

  .project-listing-badges--mobile{
    margin:0 0 18px;
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:none;
  }

  .project-listing-badges--mobile::-webkit-scrollbar{
    display:none;
  }
}
/* step40 listing badges css end */

/* step41 catalog property hero css start */
.catalog-page .page-hero.catalog-hero{
  position:relative;
  display:grid;
  min-height:570px;
  align-items:end;
  overflow:hidden;
  padding:72px 0 34px;
  background-color:#26354a;
  background-image:
    linear-gradient(90deg,rgba(12,22,38,.84) 0%,rgba(12,22,38,.62) 43%,rgba(12,22,38,.22) 74%,rgba(12,22,38,.12) 100%),
    linear-gradient(180deg,rgba(12,22,38,.06),rgba(12,22,38,.58)),
    var(--catalog-hero-image);
  background-position:center;
  background-size:cover;
}

.catalog-page .catalog-hero__inner{
  position:relative;
  z-index:1;
}

.catalog-page .catalog-hero__copy{
  max-width:900px;
  color:#fff;
}

.catalog-page .catalog-hero .eyebrow{
  color:#8fc2ff;
}

.catalog-page .catalog-hero h1{
  max-width:900px;
  margin-bottom:16px;
  color:#fff;
  text-shadow:0 3px 24px rgba(0,0,0,.24);
}

.catalog-page .catalog-hero__copy > p:not(.eyebrow){
  max-width:650px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:18px;
  line-height:1.5;
}

.catalog-page .catalog-hero .catalog-filter-shell{
  margin:46px 0 0;
  border-color:rgba(255,255,255,.5);
  background:rgba(255,255,255,.94);
  box-shadow:0 22px 60px rgba(5,15,30,.28);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.catalog-page .catalog-section{
  padding-top:24px;
}

.catalog-page .catalog-count{
  margin-top:0;
}

@media(max-width:760px){
  .catalog-page .page-hero.catalog-hero{
    min-height:470px;
    align-items:end;
    padding:52px 0 30px;
    background-image:
      linear-gradient(180deg,rgba(12,22,38,.2) 0%,rgba(12,22,38,.76) 72%,rgba(12,22,38,.9) 100%),
      var(--catalog-hero-image);
    background-position:center;
  }

  .catalog-page .catalog-hero h1{
    margin-bottom:12px;
    font-size:38px;
  }

  .catalog-page .catalog-hero__copy > p:not(.eyebrow){
    font-size:16px;
  }

  .catalog-page .catalog-hero .catalog-filter-open{
    margin-top:18px;
    background:#176b65;
    color:#fff;
  }

  .catalog-page .catalog-hero .catalog-filter-shell{
    margin:0;
    background:#fff;
  }

  .catalog-page .catalog-section{
    padding-top:20px;
  }
}
/* step41 catalog property hero css end */

/* step42 compact sections contact alignment css start */
.section{
  padding-top:48px!important;
  padding-bottom:48px!important;
}

.section-head{
  align-items:flex-end;
  gap:20px;
  margin-bottom:20px!important;
}

.section-head > div{
  min-width:0;
}

.section-head h2,
.section > .container > h2{
  max-width:none!important;
  font-size:36px!important;
  line-height:1.12!important;
}

.section-head .eyebrow{
  margin-bottom:7px;
}

.section .grid,
.section .grid-2{
  margin-top:0;
}

main > section.section-muted > .container.contact-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,520px);
  width:min(
    calc(100% - (var(--site-container-gutter,32px) * 2)),
    1120px
  )!important;
  max-width:1120px!important;
  align-items:center;
  gap:64px;
  margin-right:auto!important;
  margin-left:auto!important;
}

main > section.section-muted > .container.contact-panel > div{
  min-width:0;
}

main > section.section-muted > .container.contact-panel h2{
  max-width:760px!important;
  font-size:36px!important;
  line-height:1.12!important;
}

main > section.section-muted > .container.contact-panel .lead{
  max-width:570px;
  margin-bottom:0;
  font-size:17px;
  line-height:1.55;
}

main > section.section-muted > .container.contact-panel .lead-form{
  width:100%;
  max-width:520px;
  justify-self:end;
}

@media(min-width:1180px){
  .section-head h2{
    white-space:nowrap;
  }
}

@media(min-width:761px) and (max-width:1179px){
  .section{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }

  .section-head h2,
  .section > .container > h2,
  main > section.section-muted > .container.contact-panel h2{
    font-size:32px!important;
  }

  main > section.section-muted > .container.contact-panel{
    grid-template-columns:minmax(0,1fr) minmax(340px,480px);
    gap:40px;
  }
}

@media(max-width:760px){
  .section{
    padding-top:34px!important;
    padding-bottom:34px!important;
  }

  .section-head{
    align-items:flex-start;
    gap:14px;
    margin-bottom:16px!important;
  }

  .section-head h2,
  .section > .container > h2,
  main > section.section-muted > .container.contact-panel h2{
    font-size:28px!important;
    line-height:1.15!important;
  }

  main > section.section-muted > .container.contact-panel{
    grid-template-columns:1fr;
    width:min(
      calc(100% - (var(--site-container-gutter,16px) * 2)),
      560px
    )!important;
    gap:22px;
  }

  main > section.section-muted > .container.contact-panel .lead-form{
    max-width:none;
    justify-self:stretch;
  }
}
/* step42 compact sections contact alignment css end */

/* step43 desktop header contacts css start */
.header-desktop-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}

.header-desktop-contacts{
  display:none;
}

@media(min-width:761px){
  .site-header .header-inner{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:24px;
  }

  .site-header .main-nav{
    justify-self:center;
  }

  .site-header .header-desktop-actions{
    justify-self:end;
  }
}

@media(min-width:1180px){
  .header-desktop-contacts{
    display:flex;
    align-items:center;
    gap:7px;
  }

  .header-desktop-phones{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    margin-right:4px;
  }

  .header-desktop-phones .header-phone{
    min-height:20px;
    gap:7px;
    padding:0 6px;
    font-size:12.5px;
    font-weight:600;
    color:#3a4553;
  }

  .header-desktop-phones .header-phone:hover{
    color:#176b65;
  }

  .header-desktop-phones .header-phone__flag{
    width:16px;
    height:11px;
  }

  .header-desktop-phones .header-phone__flag svg{
    width:16px;
    height:11px;
  }

  .header-desktop-phones .header-phone__ico{
    width:14px;
    height:14px;
  }

  .header-desktop-phones .header-phone__ico svg{
    width:14px;
    height:14px;
  }

  .header-contact-icon{
    display:inline-flex;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:8px;
    background:#edf5f3;
    color:#176b65;
    transition:background .18s ease,transform .18s ease;
  }

  .header-contact-icon:hover,
  .header-desktop-phones .header-phone:hover{
    color:#0864d9;
  }

  .header-contact-icon:hover{
    background:#dfeeff;
    transform:translateY(-1px);
  }

  .header-contact-icon svg{
    width:19px;
    height:19px;
    fill:currentColor;
  }

  .header-contact-icon img{
    display:block;
    width:25px;
    height:25px;
    border-radius:6px;
    object-fit:contain;
    image-rendering:-webkit-optimize-contrast;
  }

  .header-contact-icon--telegram{
    color:#229ed9;
  }

  .header-contact-icon--email{
    color:#475569;
  }
}

@media(max-width:760px){
  .header-desktop-actions{
    display:none!important;
  }
}
/* step43 desktop header contacts css end */

/* step44 favorites compact mobile css start */
.header-favorites-link{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  gap:7px;
  border-radius:8px;
  padding:0 9px;
  color:#142033;
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}

.nav-favorites-item{
  display:none!important;
}

.header-favorites-link:hover{
  background:#fff0f3;
  color:#e8003f;
}

.header-favorites-link svg,
.nav-favorites-link svg{
  width:20px;
  height:20px;
  fill:currentColor;
}

.header-favorites-link b,
.nav-favorites-link b{
  display:inline-flex;
  min-width:20px;
  height:20px;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  padding:0 5px;
  background:#e8003f;
  color:#fff;
  font-size:11px;
  line-height:1;
}

.header-favorites-link b[hidden],
.nav-favorites-link b[hidden]{
  display:none;
}

.favorites-hero{
  padding-bottom:30px;
}

.favorites-section{
  padding-top:24px!important;
}

.favorites-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.favorites-toolbar strong{
  color:#667085;
  font-size:15px;
}

.favorites-empty{
  border:1px solid #dce4ef;
  border-radius:8px;
  padding:34px;
  background:#fff;
  text-align:center;
}

.favorites-empty strong{
  display:block;
  margin-bottom:8px;
  color:#142033;
  font-size:24px;
}

.favorites-empty p{
  margin:0 0 20px;
  color:#667085;
}

@media(min-width:1180px){
  .header-desktop-phones .header-phone{
    font-size:12.5px!important;
  }
}

@media(min-width:761px) and (max-width:1179px){
  .header-favorites-link span{
    display:none;
  }
}

@media(max-width:760px){
  .section{
    padding-top:24px!important;
    padding-bottom:24px!important;
  }

  .section-head{
    margin-bottom:12px!important;
  }

  .section-head h2,
  .section > .container > h2,
  main > section.section-muted > .container.contact-panel h2{
    font-size:23px!important;
    line-height:1.14!important;
  }

  .section-head .eyebrow{
    margin-bottom:5px;
  }

  .site-header .nav-favorites-link{
    justify-content:flex-start!important;
    gap:10px;
    color:#e8003f!important;
  }

  .site-header .nav-favorites-item{
    display:block!important;
  }

  .site-header .nav-favorites-link span{
    color:#142033;
  }

  .site-header .nav-favorites-link b{
    margin-left:auto;
  }

  .favorites-hero{
    padding:34px 0 18px!important;
  }

  .favorites-hero h1{
    font-size:32px!important;
  }

  .favorites-section{
    padding-top:16px!important;
  }

  .favorites-toolbar{
    align-items:flex-start;
    flex-direction:column;
    margin-bottom:14px;
  }

  .favorites-toolbar .btn{
    width:100%;
  }

  .favorites-empty{
    padding:26px 18px;
  }
}

@media(max-width:380px){
  .section-head h2,
  .section > .container > h2,
  main > section.section-muted > .container.contact-panel h2{
    font-size:21px!important;
  }
}
/* step44 favorites compact mobile css end */

/* step45 specialist cards profile css start */
.team-hero{
  padding-bottom:28px;
}

.team-section{
  padding-top:22px!important;
}

.team-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.specialist-mini-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #dce4ef;
  border-radius:8px;
  padding:0!important;
  background:#fff;
  box-shadow:0 10px 28px rgba(20,32,51,.06);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.specialist-mini-card:hover{
  border-color:#b9d3ff;
  box-shadow:0 16px 36px rgba(20,32,51,.12);
  transform:translateY(-2px);
}

.specialist-mini-card__link{
  display:block;
  height:100%;
  color:inherit;
}

.specialist-mini-card__media{
  position:relative;
  overflow:hidden;
  aspect-ratio:4/3;
  background:#e5f1ef;
}

.specialist-mini-card__media img{
  width:100%;
  height:100%;
  project-fit:cover;
  project-position:center 20%;
  transition:transform .3s ease;
}

.specialist-mini-card:hover .specialist-mini-card__media img{
  transform:scale(1.025);
}

.specialist-mini-card__experience{
  position:absolute;
  right:12px;
  bottom:12px;
  display:inline-flex;
  min-height:28px;
  align-items:center;
  border-radius:8px;
  padding:0 9px;
  background:rgba(255,255,255,.94);
  color:#142033;
  box-shadow:0 6px 18px rgba(20,32,51,.15);
  font-size:12px;
  font-weight:900;
  backdrop-filter:blur(10px);
}

.specialist-mini-card__body{
  display:grid;
  gap:7px;
  padding:16px;
}

.specialist-mini-card__body p,
.specialist-mini-card__body h3,
.specialist-mini-card__body span{
  margin:0;
}

.specialist-mini-card__body p{
  color:#176b65;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.specialist-mini-card__body h3{
  color:#142033;
  font-size:21px;
  line-height:1.15;
}

.specialist-mini-card__body span{
  min-height:42px;
  color:#667085;
  font-size:14px;
  line-height:1.45;
}

.specialist-mini-card__body b{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:4px;
  border-top:1px solid #edf1f6;
  padding-top:12px;
  color:#176b65;
  font-size:13px;
}

.specialist-mini-card__body b:after{
  content:"→";
  font-size:18px;
}

.specialist-page-hero{
  padding-bottom:26px;
}

.specialist-page-hero .breadcrumbs{
  margin-bottom:24px;
}

.specialist-profile-section{
  padding-top:20px!important;
}

.specialist-profile-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:28px;
  align-items:start;
}

.specialist-objects-column{
  min-width:0;
}

.specialist-objects-head{
  margin-bottom:16px!important;
}

.specialist-objects-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}

.specialist-profile-card{
  position:sticky;
  top:96px;
  overflow:hidden;
  border:1px solid #dce4ef;
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 34px rgba(20,32,51,.08);
}

.specialist-profile-card__photo{
  width:100%;
  aspect-ratio:4/3;
  project-fit:cover;
  project-position:center 20%;
  background:#e5f1ef;
}

.specialist-profile-card__body{
  display:grid;
  gap:15px;
  padding:20px;
}

.specialist-profile-card__body > .eyebrow,
.specialist-profile-card__body h2{
  margin:0;
}

.specialist-profile-card__body h2{
  color:#142033;
  font-size:26px!important;
  line-height:1.12;
}

.specialist-profile-facts{
  display:grid;
  gap:12px;
  border-top:1px solid #edf1f6;
  border-bottom:1px solid #edf1f6;
  padding:14px 0;
}

.specialist-profile-facts div{
  display:grid;
  gap:3px;
}

.specialist-profile-facts span{
  color:#667085;
  font-size:12px;
  font-weight:800;
}

.specialist-profile-facts strong{
  color:#142033;
  font-size:14px;
  line-height:1.4;
}

.specialist-profile-contacts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.specialist-profile-contact{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid #dce4ef;
  border-radius:8px;
  padding:0 8px;
  background:#f8fbff;
  color:#142033;
  font-size:12px;
  font-weight:900;
}

.specialist-profile-contact svg{
  width:17px;
  height:17px;
  fill:currentColor;
}

.specialist-profile-contact--phone,
.specialist-profile-contact--telegram{
  color:#176b65;
}

.specialist-profile-contact--whatsapp{
  color:#16865a;
}

.specialist-profile-card__body > .btn{
  width:100%;
}

.specialist-profile-card__content{
  color:#667085;
  font-size:13px;
  line-height:1.55;
}

.specialist-profile-card__content:empty{
  display:none;
}

@media(max-width:1180px){
  .team-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .specialist-profile-layout{
    grid-template-columns:minmax(0,1fr) 300px;
    gap:22px;
  }

  .specialist-objects-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .team-hero,
  .specialist-page-hero{
    padding:34px 0 18px!important;
  }

  .team-section,
  .specialist-profile-section{
    padding-top:14px!important;
  }

  .team-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .specialist-mini-card__media{
    aspect-ratio:4/5;
  }

  .specialist-mini-card__experience{
    right:8px;
    bottom:8px;
    min-height:25px;
    padding:0 7px;
    font-size:10px;
  }

  .specialist-mini-card__body{
    gap:5px;
    padding:11px;
  }

  .specialist-mini-card__body p{
    font-size:10px;
  }

  .specialist-mini-card__body h3{
    font-size:17px;
  }

  .specialist-mini-card__body span{
    min-height:48px;
    font-size:12px;
  }

  .specialist-profile-layout{
    display:flex;
    flex-direction:column;
    gap:20px;
  }

  .specialist-profile-card{
    position:static;
    order:-1;
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    width:100%;
  }

  .specialist-profile-card__photo{
    height:100%;
    min-height:190px;
    aspect-ratio:auto;
  }

  .specialist-profile-card__body{
    gap:10px;
    padding:14px;
  }

  .specialist-profile-card__body h2{
    font-size:21px!important;
  }

  .specialist-profile-facts{
    gap:8px;
    padding:10px 0;
  }

  .specialist-profile-contacts{
    grid-template-columns:repeat(2,40px);
  }

  .specialist-profile-contact{
    width:40px;
    min-height:40px;
    padding:0;
  }

  .specialist-profile-contact span{
    display:none;
  }

  .specialist-profile-card__content{
    display:none;
  }

  .specialist-objects-grid{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:420px){
  .specialist-profile-card{
    grid-template-columns:96px minmax(0,1fr);
  }

  .specialist-profile-card__photo{
    min-height:180px;
  }
}
/* step45 specialist cards profile css end */

/* step46 compact object photo heroes css start */
.compact-photo-hero{
  position:relative;
  display:grid;
  min-height:310px;
  align-items:end;
  overflow:hidden;
  padding:58px 0 34px!important;
  background-color:#26354a;
  background-image:
    linear-gradient(90deg,rgba(10,20,35,.86) 0%,rgba(10,20,35,.62) 52%,rgba(10,20,35,.22) 100%),
    linear-gradient(180deg,rgba(10,20,35,.05),rgba(10,20,35,.52)),
    var(--compact-hero-image);
  background-position:center;
  background-size:cover;
  color:#fff;
}

.compact-photo-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(7,16,29,.18));
  pointer-events:none;
}

.compact-photo-hero > .container{
  position:relative;
  z-index:1;
}

.compact-photo-hero .eyebrow{
  color:#8fc2ff;
}

.compact-photo-hero h1{
  max-width:920px;
  color:#fff;
  font-size:48px;
  line-height:1.05;
  text-shadow:0 3px 22px rgba(0,0,0,.24);
}

.compact-photo-hero .container > p:not(.eyebrow){
  max-width:720px;
  margin-top:12px;
  color:rgba(255,255,255,.84);
  font-size:17px;
}

.compact-photo-hero .breadcrumbs{
  margin-bottom:24px;
  color:rgba(255,255,255,.76);
}

.compact-photo-hero .breadcrumbs a{
  color:#fff;
}

.specialist-page .specialist-profile-section,
.favorites-page .favorites-section{
  padding-top:22px!important;
}

@media(max-width:760px){
  .compact-photo-hero,
  .specialist-page .specialist-page-hero.compact-photo-hero,
  .favorites-page .favorites-hero.compact-photo-hero{
    min-height:230px;
    padding:32px 0 22px!important;
    background-image:
      linear-gradient(180deg,rgba(10,20,35,.28),rgba(10,20,35,.82)),
      var(--compact-hero-image);
  }

  .compact-photo-hero h1,
  .favorites-page .favorites-hero.compact-photo-hero h1{
    font-size:31px!important;
    line-height:1.08;
  }

  .compact-photo-hero .container > p:not(.eyebrow){
    margin-top:9px;
    font-size:14px;
    line-height:1.45;
  }

  .compact-photo-hero .breadcrumbs{
    display:none;
  }

  .specialist-page .specialist-profile-section,
  .favorites-page .favorites-section{
    padding-top:14px!important;
  }
}
/* step46 compact object photo heroes css end */

/* step47 aligned specialist profile css start */
.specialist-page .specialist-objects-head{
  margin-bottom:16px!important;
}

.specialist-page .specialist-profile-layout{
  align-items:start;
}

.specialist-page .specialist-profile-card{
  margin-top:0;
}

@media(max-width:760px){
  .specialist-page .specialist-objects-head{
    margin-bottom:12px!important;
  }

  .specialist-page .specialist-profile-layout{
    gap:16px;
  }
}
/* step47 aligned specialist profile css end */

/* step48 aligned object sidebar css start */
@media(min-width:901px){
  .project-page--aligned-sidebar .project-page-heading{
    width:calc(100% - 348px);
    margin-bottom:18px;
  }

  .project-page--aligned-sidebar .project-page-heading h1{
    margin:0;
  }

  .project-page--aligned-sidebar .project-page-layout{
    align-items:start;
  }

  .project-page--aligned-sidebar .project-main-column,
  .project-page--aligned-sidebar .project-sidebar{
    align-self:start;
  }

  .project-page--aligned-sidebar .project-sidebar{
    margin-top:0!important;
  }
}

@media(max-width:900px){
  .project-page--aligned-sidebar .project-page-heading{
    width:100%;
  }

  .project-page--aligned-sidebar .project-page-heading h1{
    margin:0;
    padding:0 16px 14px;
  }

  .project-page--aligned-sidebar .project-page-heading .project-listing-badges--desktop{
    display:none!important;
  }
}
/* step48 aligned object sidebar css end */

/* step49 specialist max contact css start */
.specialist-mini-card__body h3 a{
  color:inherit;
}

.specialist-mini-card__footer{
  display:flex;
  min-height:42px;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:4px;
  border-top:1px solid #edf1f6;
  padding-top:10px;
}

.specialist-mini-card__objects{
  display:inline-flex;
  min-width:0;
  align-items:center;
  gap:7px;
  color:#176b65;
  font-size:13px;
  font-weight:900;
}

.specialist-mini-card__objects:after{
  content:"→";
  font-size:18px;
  line-height:1;
}

.specialist-mini-card__max{
  display:inline-flex;
  flex:0 0 38px;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#edf5f3;
  transition:background .18s ease,transform .18s ease;
}

.specialist-mini-card__max:hover{
  background:#dfeeff;
  transform:translateY(-1px);
}

.specialist-mini-card__max img{
  display:block;
  width:26px;
  height:26px;
  border-radius:6px;
  project-fit:contain;
}

.specialist-mini-card__body > b{
  display:none!important;
}

@media(max-width:760px){
  .specialist-mini-card__footer{
    min-height:36px;
    gap:6px;
    padding-top:8px;
  }

  .specialist-mini-card__objects{
    font-size:11px;
  }

  .specialist-mini-card__max{
    flex-basis:34px;
    width:34px;
    height:34px;
  }

  .specialist-mini-card__max img{
    width:23px;
    height:23px;
  }
}
/* step49 specialist max contact css end */

/* step50 specialists carousel page css start */
.team-page--carousel .team-hero{
  min-height:310px;
}

.team-carousel-head{
  align-items:center;
}

.team-carousel-controls{
  display:flex;
  align-items:center;
  gap:9px;
}

.team-carousel-controls[hidden]{
  display:none!important;
}

.team-carousel-controls button{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid #dce4ef;
  border-radius:8px;
  padding:0;
  background:#fff;
  color:#142033;
  cursor:pointer;
}

.team-carousel-controls button:hover{
  border-color:#b9d3ff;
  background:#edf5f3;
  color:#176b65;
}

.team-carousel-controls button:disabled{
  opacity:.35;
  cursor:default;
}

.team-carousel-controls svg{
  width:20px;
  height:20px;
  fill:currentColor;
}

.team-carousel-controls span{
  min-width:56px;
  color:#667085;
  font-size:13px;
  font-weight:900;
  text-align:center;
}

.team-carousel{
  display:flex!important;
  grid-template-columns:none!important;
  gap:18px;
  width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.team-carousel::-webkit-scrollbar{
  display:none;
}

.team-carousel > .specialist-mini-card{
  flex:0 0 calc((100% - 54px) / 4);
  width:calc((100% - 54px) / 4);
  scroll-snap-align:start;
}

.team-page--carousel .viewed-section{
  border-top:1px solid #e5ebf3;
  background:#f5f7f6;
}

@media(max-width:1180px){
  .team-carousel > .specialist-mini-card{
    flex-basis:calc((100% - 36px) / 3);
    width:calc((100% - 36px) / 3);
  }
}

@media(max-width:760px){
  .team-page--carousel .team-hero{
    min-height:230px;
  }

  .team-carousel-head{
    align-items:flex-end;
    flex-direction:row;
  }

  .team-carousel-controls{
    gap:6px;
  }

  .team-carousel-controls button{
    width:38px;
    height:38px;
  }

  .team-carousel-controls span{
    display:none;
  }

  .team-carousel{
    gap:10px;
    width:auto;
    margin-right:-16px;
    margin-left:-16px;
    padding-right:16px;
    padding-left:16px;
  }

  .team-carousel > .specialist-mini-card{
    flex:0 0 min(72vw,280px);
    width:min(72vw,280px);
  }
}
/* step50 specialists carousel page css end */

/* step51 compact specialist carousel cards css start */
.team-page--carousel .team-carousel > .specialist-mini-card{
  display:flex!important;
  height:auto!important;
  min-height:0!important;
  flex-direction:column;
  align-self:stretch;
  overflow:hidden;
  background:#fff;
}

.team-page--carousel .specialist-mini-card__media{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:16/10!important;
  overflow:hidden;
  background:#e5f1ef;
}

.team-page--carousel .specialist-mini-card__media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  project-fit:cover!important;
  project-position:center 20%;
}

.team-page--carousel .specialist-mini-card__body{
  position:static!important;
  display:grid!important;
  flex:1 1 auto;
  grid-template-rows:auto auto minmax(40px,auto) auto;
  gap:7px;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  padding:16px!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
  background:#fff;
}

.team-page--carousel .specialist-mini-card__position,
.team-page--carousel .specialist-mini-card__body h3,
.team-page--carousel .specialist-mini-card__specialization{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

.team-page--carousel .specialist-mini-card__body h3{
  margin:0;
  font-size:21px;
  line-height:1.15;
}

.team-page--carousel .specialist-mini-card__specialization{
  min-height:40px;
  color:#667085;
  font-size:14px;
  line-height:1.4;
}

.team-page--carousel .specialist-mini-card__footer{
  margin-top:auto;
}

@media(max-width:760px){
  .team-page--carousel .specialist-mini-card__media{
    aspect-ratio:4/3!important;
  }

  .team-page--carousel .specialist-mini-card__body{
    padding:13px!important;
  }

  .team-page--carousel .specialist-mini-card__body h3{
    font-size:18px;
  }

  .team-page--carousel .specialist-mini-card__specialization{
    min-height:36px;
    font-size:12px;
  }
}
/* step51 compact specialist carousel cards css end */

/* step52 specialist mini contacts clients css start */
.specialist-mini-card__experience,
.specialist-mini-card__projects-count{
  position:absolute;
  right:12px;
  display:inline-flex;
  min-height:28px;
  align-items:center;
  border-radius:8px;
  padding:0 9px;
  background:rgba(255,255,255,.94);
  color:#142033;
  box-shadow:0 6px 18px rgba(20,32,51,.15);
  font-size:12px;
  font-weight:900;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.specialist-mini-card__experience{
  bottom:48px;
}

.specialist-mini-card__projects-count{
  bottom:12px;
  color:#0864d9;
}

.specialist-mini-contacts{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:3px;
}

.specialist-mini-contact{
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:8px;
  background:#edf5f3;
  color:#176b65;
  transition:background .18s ease,transform .18s ease;
}

.specialist-mini-contact:hover{
  background:#dfeeff;
  transform:translateY(-1px);
}

.specialist-mini-contact svg{
  width:18px;
  height:18px;
  fill:currentColor;
}

.specialist-mini-contact img{
  display:block;
  width:23px;
  height:23px;
  border-radius:6px;
  project-fit:contain;
}

.specialist-mini-contact--telegram{
  color:#229ed9;
}

.specialist-mini-contact--whatsapp{
  color:#16865a;
}

.specialist-mini-contact--email{
  color:#475569;
}

.specialist-mini-card__footer{
  min-height:34px;
  padding-top:9px;
}

@media(max-width:760px){
  .specialist-mini-card__experience,
  .specialist-mini-card__projects-count{
    right:8px;
    min-height:25px;
    padding:0 7px;
    font-size:10px;
  }

  .specialist-mini-card__experience{
    bottom:41px;
  }

  .specialist-mini-card__projects-count{
    bottom:8px;
  }

  .specialist-mini-contacts{
    gap:6px;
  }

  .specialist-mini-contact{
    width:32px;
    height:32px;
  }
}
/* step52 specialist mini contacts clients css end */

/* step53 shared specialist mini cards css start */
.project-specialist-mini-card,
.specialist-page-mini-card{
  width:100%;
  margin:0;
  transform:none!important;
}

.project-specialist-mini-card .specialist-mini-card__media,
.specialist-page-mini-card .specialist-mini-card__media{
  aspect-ratio:16/10!important;
}

.project-specialist-mini-card .specialist-mini-card__body,
.specialist-page-mini-card .specialist-mini-card__body{
  display:grid!important;
  gap:10px;
  padding:18px!important;
}

.project-specialist-mini-card .specialist-mini-card__body h3,
.specialist-page-mini-card .specialist-mini-card__body h3{
  margin:0;
  font-size:24px;
}

.project-specialist-mini-card .specialist-mini-card__specialization,
.specialist-page-mini-card .specialist-mini-card__specialization{
  min-height:0;
}

.project-specialist-mini-card .specialist-mini-contacts,
.specialist-page-mini-card .specialist-mini-contacts{
  margin-top:4px;
}

.project-specialist-mini-card .specialist-mini-contact,
.specialist-page-mini-card .specialist-mini-contact{
  width:38px;
  height:38px;
}

.project-sidebar .project-specialist-mini-card{
  margin-top:14px;
}

.specialist-profile-mini-card{
  position:sticky;
  top:96px;
  min-width:0;
}

@media(max-width:900px){
  .project-mobile-price > .project-specialist-mini-card{
    width:auto;
    margin:12px 16px 0;
  }
}

@media(max-width:760px){
  .specialist-profile-mini-card{
    position:static;
    order:-1;
    width:100%;
  }

  .project-specialist-mini-card .specialist-mini-card__media,
  .specialist-page-mini-card .specialist-mini-card__media{
    aspect-ratio:4/3!important;
  }

  .project-specialist-mini-card .specialist-mini-card__body,
  .specialist-page-mini-card .specialist-mini-card__body{
    padding:15px!important;
  }

  .project-specialist-mini-card .specialist-mini-card__body h3,
  .specialist-page-mini-card .specialist-mini-card__body h3{
    font-size:21px;
  }
}
/* step53 shared specialist mini cards css end */

/* step54 fixed shared specialist cards css start */
.project-specialist-mini-card.specialist-mini-card,
.specialist-page-mini-card.specialist-mini-card{
  display:flex!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  flex-direction:column!important;
  align-self:start!important;
  overflow:hidden!important;
  margin:0!important;
  background:#fff!important;
  transform:none!important;
}

.project-specialist-mini-card.specialist-mini-card .specialist-mini-card__media,
.specialist-page-mini-card.specialist-mini-card .specialist-mini-card__media{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:16/10!important;
  overflow:hidden!important;
}

.project-specialist-mini-card.specialist-mini-card .specialist-mini-card__media img,
.specialist-page-mini-card.specialist-mini-card .specialist-mini-card__media img{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  project-fit:cover!important;
  project-position:center 20%!important;
}

.project-specialist-mini-card.specialist-mini-card .specialist-mini-card__body,
.specialist-page-mini-card.specialist-mini-card .specialist-mini-card__body{
  position:static!important;
  display:grid!important;
  flex:0 0 auto!important;
  grid-template-rows:auto!important;
  gap:10px!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  padding:18px!important;
  visibility:visible!important;
  overflow:visible!important;
  opacity:1!important;
  transform:none!important;
  background:#fff!important;
}

.project-specialist-mini-card.specialist-mini-card .specialist-mini-card__position,
.project-specialist-mini-card.specialist-mini-card .specialist-mini-card__body h3,
.project-specialist-mini-card.specialist-mini-card .specialist-mini-card__specialization,
.project-specialist-mini-card.specialist-mini-card .specialist-mini-contacts,
.project-specialist-mini-card.specialist-mini-card .specialist-mini-card__footer,
.specialist-page-mini-card.specialist-mini-card .specialist-mini-card__position,
.specialist-page-mini-card.specialist-mini-card .specialist-mini-card__body h3,
.specialist-page-mini-card.specialist-mini-card .specialist-mini-card__specialization,
.specialist-page-mini-card.specialist-mini-card .specialist-mini-contacts,
.specialist-page-mini-card.specialist-mini-card .specialist-mini-card__footer{
  position:static!important;
  display:flex!important;
  height:auto!important;
  min-height:0!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
}

.project-specialist-mini-card.specialist-mini-card .specialist-mini-card__position,
.specialist-page-mini-card.specialist-mini-card .specialist-mini-card__position{
  color:#176b65!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase;
}

.project-specialist-mini-card.specialist-mini-card .specialist-mini-card__body h3,
.specialist-page-mini-card.specialist-mini-card .specialist-mini-card__body h3{
  margin:0!important;
  color:#142033!important;
  font-size:24px!important;
  line-height:1.15!important;
}

.project-specialist-mini-card.specialist-mini-card .specialist-mini-card__specialization,
.specialist-page-mini-card.specialist-mini-card .specialist-mini-card__specialization{
  color:#667085!important;
  font-size:14px!important;
  line-height:1.45!important;
}

.project-specialist-mini-card.specialist-mini-card .specialist-mini-contacts,
.specialist-page-mini-card.specialist-mini-card .specialist-mini-contacts{
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:4px!important;
}

.project-specialist-mini-card.specialist-mini-card .specialist-mini-card__footer,
.specialist-page-mini-card.specialist-mini-card .specialist-mini-card__footer{
  align-items:center!important;
  justify-content:flex-start!important;
  margin-top:2px!important;
  border-top:1px solid #edf1f6!important;
  padding-top:11px!important;
}

.project-sidebar .project-specialist-mini-card.specialist-mini-card{
  margin-top:14px!important;
}

@media(max-width:900px){
  .project-mobile-price > .project-specialist-mini-card.specialist-mini-card{
    width:auto!important;
    margin:12px 16px 0!important;
  }
}

@media(max-width:760px){
  .project-specialist-mini-card.specialist-mini-card .specialist-mini-card__media,
  .specialist-page-mini-card.specialist-mini-card .specialist-mini-card__media{
    aspect-ratio:4/3!important;
  }

  .project-specialist-mini-card.specialist-mini-card .specialist-mini-card__body,
  .specialist-page-mini-card.specialist-mini-card .specialist-mini-card__body{
    padding:15px!important;
  }

  .project-specialist-mini-card.specialist-mini-card .specialist-mini-card__body h3,
  .specialist-page-mini-card.specialist-mini-card .specialist-mini-card__body h3{
    font-size:21px!important;
  }
}
/* step54 fixed shared specialist cards css end */

/* step55 stable specialist mobile carousel css start */
@media(max-width:760px){
  html,
  body{
    max-width:100%;
    overflow-x:hidden;
  }

  @supports (overflow:clip){
    html,
    body{
      overflow-x:clip;
    }
  }

  .specialist-page,
  .specialist-page .specialist-profile-section{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  @supports (overflow:clip){
    .specialist-page,
    .specialist-page .specialist-profile-section{
      overflow-x:clip;
    }
  }

  .specialist-page .specialist-profile-section > .container{
    min-width:0!important;
  }

  .specialist-page .specialist-profile-layout{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    align-items:stretch!important;
    overflow:visible!important;
  }

  .specialist-page .specialist-objects-column{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .specialist-page .specialist-profile-mini-card{
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    transform:none!important;
  }

  .specialist-page .specialist-page-mini-card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    transform:none!important;
  }

  .specialist-page .specialist-objects-grid{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .specialist-page .specialist-objects-grid.is-mobile-project-carousel{
    box-sizing:border-box;
    width:calc(100% + 32px)!important;
    max-width:none!important;
    margin-right:-16px!important;
    margin-left:-16px!important;
    touch-action:pan-x pan-y;
    contain:layout paint;
  }

  .specialist-page .specialist-objects-grid.is-mobile-project-carousel >
    [data-project-card]{
    flex-shrink:0!important;
  }

  .specialist-page .mobile-project-carousel-controls{
    width:100%;
    max-width:100%;
  }
}
/* step55 stable specialist mobile carousel css end */

/* step56 favorites grid services page css start */
@media(min-width:761px){
  .favorites-page .favorites-results,
  .favorites-page .favorites-results.is-mobile-project-carousel{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:18px!important;
    width:100%!important;
    max-width:100%!important;
    margin-right:0!important;
    margin-left:0!important;
    padding-right:0!important;
    padding-left:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }

  .favorites-page .favorites-results > [data-project-card],
  .favorites-page .favorites-results.is-mobile-project-carousel > [data-project-card]{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
  }

  .favorites-page .favorites-results + .mobile-project-carousel-controls{
    display:none!important;
  }
}

.services-hero{
  min-height:360px;
}

.services-hero h1{
  max-width:960px;
}

.services-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}

.services-hero__actions .btn-light{
  border-color:rgba(255,255,255,.58);
  background:rgba(255,255,255,.92);
}

.services-directions{
  padding-top:36px!important;
}

.services-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid #dce4ef;
  border-left:1px solid #dce4ef;
}

.service-item{
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:18px;
  min-width:0;
  border-right:1px solid #dce4ef;
  border-bottom:1px solid #dce4ef;
  padding:24px;
  background:#fff;
}

.service-item__icon{
  display:inline-flex;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#edf5f3;
  color:#176b65;
}

.service-item__icon svg{
  width:23px;
  height:23px;
  fill:currentColor;
}

.service-item > div:nth-child(2){
  min-width:0;
}

.service-item span{
  color:#176b65;
  font-size:11px;
  font-weight:900;
}

.service-item h3{
  margin:6px 0 10px;
  color:#142033;
  font-size:22px;
  line-height:1.15;
}

.service-item p{
  margin:0;
  color:#667085;
  font-size:14px;
  line-height:1.55;
}

.service-item > button{
  display:flex;
  width:max-content;
  align-items:center;
  border:0;
  padding:0;
  background:transparent;
  color:#176b65;
  font:inherit;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}

.service-item > button:after{
  content:"→";
  margin-left:8px;
  font-size:18px;
}

.services-offer{
  padding:56px 0;
}
.services-offer .lead{
  max-width:720px;
  margin:10px 0 0;
  color:var(--muted);
  line-height:1.55;
}
.services-offer__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}
.services-offer__card,
.services-offer__panel{
  padding:22px 22px 20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.services-offer__card h3,
.services-offer__panel h3{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.25;
}
.services-offer__card > p,
.services-offer__panel > p{
  margin:0 0 14px;
  color:var(--muted);
  line-height:1.55;
}
.services-offer__card ul,
.services-offer__panel ul{
  margin:0 0 18px;
  padding-left:18px;
  color:var(--graphite);
  line-height:1.55;
}
.services-offer__card li + li,
.services-offer__panel li + li{
  margin-top:6px;
}
.services-offer__card .btn{
  width:100%;
}
.services-offer__extras{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  margin-top:18px;
}
.services-offer__panel a{
  color:#176b65;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
@media (max-width:980px){
  .services-offer__grid,
  .services-offer__extras{
    grid-template-columns:1fr;
  }
}

.services-process{
  padding:48px 0;
  background:#142033;
  color:#fff;
}

.services-process > .container{
  display:grid;
  grid-template-columns:minmax(280px,.75fr) minmax(0,1.4fr);
  gap:64px;
  align-items:start;
}

.services-process__intro h2{
  margin:0;
  font-size:36px;
  line-height:1.12;
}

.services-process__intro > p:last-child{
  margin:14px 0 0;
  color:rgba(255,255,255,.68);
  line-height:1.55;
}

.services-process__steps{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid rgba(255,255,255,.18);
  border-left:1px solid rgba(255,255,255,.18);
}

.services-process__steps li{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:12px;
  border-right:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
  padding:20px;
}

.services-process__steps li > span{
  color:#8fc2ff;
  font-size:12px;
  font-weight:900;
}

.services-process__steps strong{
  display:block;
  margin-bottom:6px;
  font-size:16px;
}

.services-process__steps p{
  margin:0;
  color:rgba(255,255,255,.66);
  font-size:13px;
  line-height:1.5;
}

.services-request{
  background:#f5f7f6;
}

.services-request__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,520px);
  gap:64px;
  align-items:center;
  width:min(calc(100% - 64px),1120px)!important;
}

.services-request__copy h2{
  margin:0;
  font-size:36px;
  line-height:1.12;
}

.services-request__copy > p:not(.eyebrow){
  max-width:760px;
  margin:14px 0;
  color:#667085;
  font-size:16px;
  line-height:1.55;
}

.services-request__copy > a{
  color:#176b65;
  font-weight:900;
}

.services-request .lead-form{
  width:100%;
  max-width:520px;
  justify-self:end;
}

@media(min-width:761px) and (max-width:1179px){
  .favorites-page .favorites-results,
  .favorites-page .favorites-results.is-mobile-project-carousel{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .services-process > .container,
  .services-request__layout{
    gap:36px;
  }
}

@media(max-width:760px){
  .services-hero{
    min-height:270px!important;
  }

  .services-hero__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-top:16px;
  }

  .services-hero__actions .btn{
    width:100%;
    min-width:0;
    padding:0 10px;
    font-size:13px;
  }

  .services-directions{
    padding-top:20px!important;
  }

  .services-grid{
    grid-template-columns:1fr;
  }

  .service-item{
    grid-template-columns:42px minmax(0,1fr);
    grid-template-rows:auto auto;
    gap:10px 13px;
    padding:18px;
  }

  .service-item__icon{
    grid-row:1/3;
    width:42px;
    height:42px;
  }

  .service-item h3{
    font-size:19px;
  }

  .service-item > button{
    grid-column:2;
  }

  .services-process{
    padding:34px 0;
  }

  .services-process > .container{
    grid-template-columns:1fr;
    gap:22px;
  }

  .services-process__intro h2,
  .services-request__copy h2{
    font-size:27px;
  }

  .services-process__steps{
    grid-template-columns:1fr;
  }

  .services-request__layout{
    grid-template-columns:1fr;
    width:calc(100% - 32px)!important;
    gap:22px;
  }

  .services-request .lead-form{
    max-width:none;
  }
}
/* step56 favorites grid services page css end */

/* step57 home reference specialist cards css start */
.home-team-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%;
}

.home-team-grid > .specialist-mini-card{
  display:flex!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  flex-direction:column!important;
  align-self:stretch!important;
  overflow:hidden!important;
  padding:0!important;
  background:#fff!important;
}

.home-team-grid .specialist-mini-card__media{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:16/10!important;
  overflow:hidden!important;
  background:#e5f1ef;
}

.home-team-grid .specialist-mini-card__media img{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  project-fit:cover!important;
  project-position:center 20%!important;
}

.home-team-grid .specialist-mini-card__body{
  position:static!important;
  display:grid!important;
  flex:1 1 auto!important;
  grid-template-rows:auto auto minmax(40px,auto) auto auto!important;
  gap:8px!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  padding:16px!important;
  visibility:visible!important;
  overflow:visible!important;
  opacity:1!important;
  transform:none!important;
  background:#fff!important;
}

.home-team-grid .specialist-mini-card__position,
.home-team-grid .specialist-mini-card__body h3,
.home-team-grid .specialist-mini-card__specialization,
.home-team-grid .specialist-mini-contacts,
.home-team-grid .specialist-mini-card__footer{
  position:static!important;
  height:auto!important;
  min-height:0!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
}

.home-team-grid .specialist-mini-card__position{
  display:block!important;
  margin:0!important;
  color:#176b65!important;
  font-size:11px!important;
  font-weight:900!important;
  text-transform:uppercase;
}

.home-team-grid .specialist-mini-card__body h3{
  display:block!important;
  margin:0!important;
  color:#142033!important;
  font-size:21px!important;
  line-height:1.15!important;
}

.home-team-grid .specialist-mini-card__specialization{
  display:block!important;
  color:#667085!important;
  font-size:13px!important;
  line-height:1.45!important;
}

.home-team-grid .specialist-mini-contacts{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-top:3px!important;
}

.home-team-grid .specialist-mini-contact{
  width:34px!important;
  height:34px!important;
}

.home-team-grid .specialist-mini-card__footer{
  display:flex!important;
  align-items:center!important;
  margin-top:auto!important;
  border-top:1px solid #edf1f6!important;
  padding-top:10px!important;
}

@media(max-width:1180px){
  .home-team-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .home-team-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .home-team-grid .specialist-mini-card__media{
    aspect-ratio:4/3!important;
  }

  .home-team-grid .specialist-mini-card__body{
    gap:6px!important;
    padding:12px!important;
  }

  .home-team-grid .specialist-mini-card__body h3{
    font-size:17px!important;
  }

  .home-team-grid .specialist-mini-card__specialization{
    font-size:12px!important;
  }

  .home-team-grid .specialist-mini-contact{
    width:30px!important;
    height:30px!important;
  }
}

@media(max-width:390px){
  .home-team-grid{
    grid-template-columns:1fr!important;
  }
}
/* step57 home reference specialist cards css end */

/* step58 compact mobile object actions css start */
.project-mobile-quick-contacts{
  display:none;
}

@media(max-width:760px){
  .project-page--mobile-polish{
    padding-bottom:76px;
  }

  .project-page--mobile-polish .project-page-heading h1{
    padding-bottom:12px!important;
    color:#344054;
    font-size:30px!important;
    line-height:1.12!important;
  }

  .project-page--mobile-polish .project-mobile-price-head strong{
    font-size:36px!important;
    line-height:1!important;
  }

  .project-mobile-quick-contacts{
    position:fixed;
    right:50%;
    bottom:calc(10px + env(safe-area-inset-bottom));
    z-index:70;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    width:min(calc(100% - 24px),390px);
    border:1px solid rgba(207,216,229,.94);
    border-radius:12px;
    padding:7px;
    background:rgba(255,255,255,.94);
    box-shadow:0 12px 34px rgba(20,32,51,.2);
    opacity:1;
    transform:translateX(50%) translateY(0);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
    visibility:visible;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }

  .project-mobile-quick-contacts.is-hidden{
    opacity:0;
    transform:translateX(50%) translateY(12px);
    visibility:hidden;
    pointer-events:none;
  }

  .project-quick-contact{
    display:inline-flex;
    min-width:0;
    min-height:44px;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:8px;
    padding:0 12px;
    color:#fff;
    font-size:14px;
    font-weight:900;
  }

  .project-quick-contact:only-child{
    grid-column:1/-1;
  }

  .project-quick-contact--phone{
    background:#176b65;
  }

  .project-quick-contact--message{
    background:#142033;
  }

  .project-quick-contact svg{
    width:19px;
    height:19px;
    flex:0 0 auto;
    fill:currentColor;
  }
}

@media(max-width:420px){
  .project-page--mobile-polish .project-page-heading h1{
    font-size:27px!important;
  }

  .project-page--mobile-polish .project-mobile-price-head strong{
    font-size:32px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .project-mobile-quick-contacts{
    transition:none;
  }
}
/* step58 compact mobile object actions css end */

/* step59 home specialist carousel css start */
.home-team-carousel-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  margin:0 0 12px;
}

.home-team-carousel-controls[hidden]{
  display:none!important;
}

.home-team-carousel-controls button{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid #dce4ef;
  border-radius:8px;
  padding:0;
  background:#fff;
  color:#142033;
  cursor:pointer;
}

.home-team-carousel-controls button:hover{
  border-color:#b9d3ff;
  background:#edf5f3;
  color:#176b65;
}

.home-team-carousel-controls button:disabled{
  opacity:.35;
  cursor:default;
}

.home-team-carousel-controls svg{
  width:20px;
  height:20px;
  fill:currentColor;
}

.home-team-carousel-controls span{
  min-width:56px;
  color:#667085;
  font-size:13px;
  font-weight:900;
  text-align:center;
}

.home-team-grid.home-team-carousel{
  display:flex!important;
  grid-template-columns:none!important;
  gap:18px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.home-team-grid.home-team-carousel::-webkit-scrollbar{
  display:none;
}

.home-team-grid.home-team-carousel > .specialist-mini-card{
  flex:0 0 calc((100% - 54px) / 4)!important;
  width:calc((100% - 54px) / 4)!important;
  max-width:none!important;
  scroll-snap-align:start;
}

@media(max-width:1180px){
  .home-team-grid.home-team-carousel{
    grid-template-columns:none!important;
  }

  .home-team-grid.home-team-carousel > .specialist-mini-card{
    flex-basis:calc((100% - 36px) / 3)!important;
    width:calc((100% - 36px) / 3)!important;
  }
}

@media(max-width:760px){
  .home-team-carousel-controls{
    margin-top:-2px;
    margin-bottom:10px;
  }

  .home-team-carousel-controls button{
    width:38px;
    height:38px;
  }

  .home-team-carousel-controls span{
    min-width:48px;
    font-size:12px;
  }

  .home-team-grid.home-team-carousel{
    gap:10px!important;
    width:auto!important;
    max-width:none!important;
    margin-right:-16px!important;
    margin-left:-16px!important;
    padding-right:16px!important;
    padding-left:16px!important;
  }

  .home-team-grid.home-team-carousel > .specialist-mini-card{
    flex:0 0 min(82vw,330px)!important;
    width:min(82vw,330px)!important;
  }
}
/* step59 home specialist carousel css end */

/* step60 branded max contacts page css start */
@media(max-width:760px){
  .project-quick-contact--max{
    background:#edf5f3;
    color:#142033;
  }

  .project-quick-contact--max img{
    display:block;
    width:24px;
    height:24px;
    border-radius:6px;
    project-fit:contain;
  }
}

.contacts-hero{
  min-height:330px;
}

.contacts-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}

.contacts-max-button{
  gap:9px;
}

.contacts-max-button img{
  width:24px;
  height:24px;
  border-radius:6px;
  object-fit:contain;
  image-rendering:-webkit-optimize-contrast;
}

.contacts-main{
  padding-top:36px!important;
}

.contacts-methods{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid #dce4ef;
  border-left:1px solid #dce4ef;
}

.contacts-method{
  display:flex;
  min-width:0;
  min-height:104px;
  align-items:center;
  gap:14px;
  border-right:1px solid #dce4ef;
  border-bottom:1px solid #dce4ef;
  padding:18px;
  background:#fff;
}

.contacts-method:hover{
  background:#f8fbff;
}

.contacts-method__icon{
  display:inline-flex;
  width:42px;
  height:42px;
  flex:0 0 42px;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#edf5f3;
  color:#176b65;
}

.contacts-method__icon svg{
  width:21px;
  height:21px;
  fill:currentColor;
}

.contacts-method__icon img{
  width:27px;
  height:27px;
  border-radius:7px;
  object-fit:contain;
  image-rendering:-webkit-optimize-contrast;
}

.contacts-method__icon--email{
  color:#475569;
}

.contacts-method__icon--telegram{
  color:#229ed9;
}

.contacts-method small,
.contacts-method strong{
  display:block;
  overflow-wrap:anywhere;
}

.contacts-method small{
  margin-bottom:4px;
  color:#667085;
  font-size:11px;
  font-weight:800;
}

.contacts-method strong{
  color:#142033;
  font-size:15px;
  line-height:1.3;
}

.contacts-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,520px);
  gap:64px;
  align-items:center;
  width:min(100%,1120px);
  margin:48px auto 0;
}

.contacts-office h2{
  margin:0;
  color:#142033;
  font-size:36px;
  line-height:1.12;
}

.contacts-office dl{
  display:grid;
  gap:0;
  margin:24px 0;
  border-top:1px solid #dce4ef;
}

.contacts-office dl > div{
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  gap:20px;
  border-bottom:1px solid #dce4ef;
  padding:16px 0;
}

.contacts-office dt{
  color:#667085;
  font-size:13px;
  font-weight:800;
}

.contacts-office dd{
  margin:0;
  color:#142033;
  font-weight:800;
  line-height:1.45;
}

.contacts-office__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:18px;
}

.contacts-services-link{
  color:#176b65;
  font-weight:900;
}

.contacts-form-wrap,
.contacts-form-wrap .lead-form{
  width:100%;
  max-width:520px;
}

.contacts-catalog-band{
  padding:34px 0;
  background:#142033;
  color:#fff;
}

.contacts-catalog-band > .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.contacts-catalog-band h2{
  margin:0;
  color:#fff;
  font-size:30px;
  line-height:1.15;
}

.contacts-catalog-band .btn{
  flex:0 0 auto;
}

@media(max-width:1180px){
  .contacts-methods{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .contacts-workspace{
    gap:36px;
  }
}

@media(max-width:760px){
  .contacts-hero{
    min-height:260px!important;
  }

  .contacts-hero__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-top:16px;
  }

  .contacts-hero__actions .btn{
    width:100%;
    min-width:0;
    padding:0 10px;
    font-size:13px;
  }

  .contacts-main{
    padding-top:20px!important;
  }

  .contacts-methods{
    grid-template-columns:1fr;
  }

  .contacts-method{
    min-height:82px;
    padding:14px;
  }

  .contacts-workspace{
    grid-template-columns:1fr;
    gap:24px;
    margin-top:30px;
  }

  .contacts-office h2{
    font-size:27px;
  }

  .contacts-office dl > div{
    grid-template-columns:1fr;
    gap:5px;
    padding:13px 0;
  }

  .contacts-form-wrap,
  .contacts-form-wrap .lead-form{
    max-width:none;
  }

  .contacts-catalog-band{
    padding:28px 0;
  }

  .contacts-catalog-band > .container{
    align-items:flex-start;
    flex-direction:column;
    gap:18px;
  }

  .contacts-catalog-band h2{
    font-size:25px;
  }

  .contacts-catalog-band .btn{
    width:100%;
  }
}
/* step60 branded max contacts page css end */

/* step62 ruble square metre typography css start */
.currency-ruble{
  display:inline-block;
  position:relative;
  top:-.015em;
  margin-left:.015em;
  font-family:Arial,"Helvetica Neue",sans-serif!important;
  font-size:.9em;
  font-style:normal;
  font-weight:700;
  line-height:1;
  letter-spacing:0;
  vertical-align:.02em;
}

.price-period{
  margin-left:.08em;
  font-size:.72em;
  font-weight:800;
  white-space:nowrap;
}

.project-card .price .currency-ruble,
.home-slide__meta .currency-ruble{
  font-size:.86em;
}
/* step62 ruble square metre typography css end */

/* step63 home price contextual forms css start */
.home-slide__meta strong > .currency-ruble,
.home-slide__meta strong > .price-period{
  display:inline;
  position:static;
  min-height:0;
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
  color:inherit;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.home-slide__meta strong > .currency-ruble{
  margin-left:.04em;
  font-size:.86em;
  vertical-align:.03em;
}

.home-slide__meta strong > .price-period{
  margin-left:.1em;
  font-size:.68em;
}

.lead-form__title{
  min-width:0;
}

.lead-form__eyebrow{
  margin:0 0 5px;
  color:#176b65;
  font-size:10px;
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
}

.lead-form__head h3{
  overflow-wrap:anywhere;
}

@media(max-width:760px){
  .lead-form__head h3{
    font-size:21px;
    line-height:1.15;
  }
}
/* step63 home price contextual forms css end */


/* step66 object card specialist link css start */
.project-card-specialist{
  display:flex;
  min-width:0;
  min-height:34px;
  align-items:center;
  gap:4px;
  border-top:1px solid #edf1f6;
  padding:8px 14px 9px;
  background:#fff;
  color:#667085;
  font-size:11px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}

.project-card-specialist:hover{
  background:#f8fbff;
  color:#176b65;
}

.project-card-specialist strong{
  min-width:0;
  overflow:hidden;
  color:#176b65;
  font-size:inherit;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.project-card-specialist__arrow{
  margin-left:auto;
  color:#176b65;
  font-size:14px;
}

@media(max-width:760px){
  .project-card-specialist{
    min-height:32px;
    padding:8px 11px;
    font-size:10px;
  }
}
/* step66 object card specialist link css end */

/* step67 visible mobile catalog filter css start */
@media(max-width:760px){
  body > .catalog-filter-shell[data-filter-portal-active="1"]{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    z-index:1002!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    width:min(92vw,390px)!important;
    max-width:none!important;
    height:100dvh!important;
    margin:0!important;
    border:0!important;
    border-left:1px solid #dce4ef!important;
    border-radius:0!important;
    padding:
      calc(14px + env(safe-area-inset-top))
      16px
      calc(16px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    opacity:0;
    background:#fff!important;
    box-shadow:-18px 0 48px rgba(20,32,51,.2)!important;
    pointer-events:none;
    transform:translate3d(100%,0,0);
    transition:opacity .2s ease,transform .22s ease;
    visibility:visible!important;
  }

  body > .catalog-filter-shell[data-filter-portal-active="1"].is-open{
    opacity:1!important;
    pointer-events:auto!important;
    transform:translate3d(0,0,0)!important;
  }

  body > .catalog-filter-shell[data-filter-portal-active="1"] .catalog-filter{
    min-height:0;
    overflow:visible;
  }

  body > .catalog-filter-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:1001!important;
    display:none;
    background:rgba(20,32,51,.44);
    backdrop-filter:blur(8px);
  }

  body.filter-open > .catalog-filter-backdrop{
    display:block!important;
  }
}
/* step67 visible mobile catalog filter css end */



/* step77 final object card specialist row css start */
.project-card{
  display:flex!important;
  min-width:0;
  flex-direction:column;
}

.project-card > .project-card-link{
  display:block!important;
  width:100%;
  height:auto!important;
  min-height:0!important;
  flex:1 1 auto;
}

.project-card > .project-card-specialist{
  display:flex!important;
  width:100%;
  height:auto!important;
  min-height:34px!important;
  flex:0 0 auto;
  align-items:center;
  visibility:visible!important;
  opacity:1!important;
}

.project-card > .project-card-specialist span,
.project-card > .project-card-specialist strong{
  display:inline!important;
  visibility:visible!important;
  opacity:1!important;
}

@media(max-width:760px){
  .project-card > .project-card-specialist{
    min-height:32px!important;
  }
}
/* step77 final object card specialist row css end */

/* step81 local font object metro css start */
@font-face{
  font-family:"Inter";
  src:url("/assets/fonts/inter/InterVariable-cyr.woff2") format("woff2");
  font-style:normal;
  font-weight:100 900;
  font-display:optional;
}

html,
body,
button,
input,
select,
textarea{
  font-family:"Inter",Arial,sans-serif;
}

.project-price-metro .project-metro-details{
  display:flex;
  min-width:0;
  align-items:flex-end;
  flex-direction:column;
  gap:5px;
}

.project-price-metro .project-metro-station{
  display:inline-flex;
  max-width:100%;
  align-items:center;
  gap:7px;
  white-space:nowrap;
}

.project-price-metro .project-metro-walk{
  color:#667085;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
}

@media(max-width:760px){
  .project-price-metro .project-metro-details{
    align-items:flex-start;
  }
}
/* step81 local font object metro css end */

/* step82 home premium promo css start */
.home-premium-promo{
  padding:28px 0 36px;
  background:#f5f7f6;
}

.home-premium-promo__inner{
  display:grid;
  min-height:390px;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);
  overflow:hidden;
  border-radius:8px;
  background:#142033;
  box-shadow:0 20px 50px rgba(20,32,51,.14);
}

.home-premium-promo__media{
  display:block;
  min-width:0;
  height:100%;
}

.home-premium-promo__media img{
  width:100%;
  height:100%;
  min-height:390px;
  project-fit:cover;
}

.home-premium-promo__content{
  display:flex;
  min-width:0;
  justify-content:center;
  flex-direction:column;
  padding:42px;
  color:#fff;
}

.home-premium-promo__eyebrow{
  margin:0 0 14px;
  color:#f4c84a;
  font-size:12px;
  font-weight:900;
  line-height:1.2;
  text-transform:uppercase;
}

.home-premium-promo__content h2{
  margin:0;
  color:#fff;
  font-size:38px;
  line-height:1.08;
  overflow-wrap:anywhere;
}

.home-premium-promo__facts{
  margin:20px 0 0;
  color:#fff;
  font-size:16px;
  font-weight:800;
  line-height:1.4;
}

.home-premium-promo__address{
  margin:10px 0 0;
  color:#b9c4d4;
  font-size:15px;
  line-height:1.45;
}

.home-premium-promo__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:32px;
}

.home-premium-promo__footer strong{
  color:#fff;
  font-size:24px;
  line-height:1.15;
  white-space:nowrap;
}

.home-premium-promo__button{
  flex:0 0 auto;
  border:1px solid #287fff;
  background:#176b65;
}

@media(max-width:980px){
  .home-premium-promo__inner{
    grid-template-columns:1.15fr 1fr;
  }

  .home-premium-promo__content{
    padding:32px;
  }

  .home-premium-promo__content h2{
    font-size:31px;
  }

  .home-premium-promo__footer{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:760px){
  .home-premium-promo{
    padding:18px 0 26px;
  }

  .home-premium-promo__inner{
    min-height:0;
    grid-template-columns:1fr;
  }

  .home-premium-promo__media{
    aspect-ratio:16/10;
  }

  .home-premium-promo__media img{
    min-height:0;
  }

  .home-premium-promo__content{
    padding:24px 20px;
  }

  .home-premium-promo__content h2{
    font-size:27px;
  }

  .home-premium-promo__footer{
    margin-top:24px;
  }

  .home-premium-promo__button{
    width:100%;
  }
}
/* step82 home premium promo css end */

/* step83 company editor css start */
.cabinet-company-section{
  padding-top:0;
  background:#f5f7f6;
}

.cabinet-company-form{
  padding:22px;
}

.cabinet-company-form .cabinet-actions{
  margin-top:18px;
}

@media(max-width:760px){
  .cabinet-company-form{
    padding:16px;
  }
}
/* step83 company editor css end */

/* step84 specialist carousel repair css start */
.team-page--carousel .team-hero{
  min-height:310px;
}

.team-carousel-head{
  align-items:center;
}

.team-carousel-controls{
  display:flex;
  align-items:center;
  gap:9px;
}

.team-carousel-controls[hidden]{
  display:none!important;
}

.team-carousel-controls button{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid #dce4ef;
  border-radius:8px;
  padding:0;
  background:#fff;
  color:#142033;
  cursor:pointer;
}

.team-carousel-controls button:disabled{
  opacity:.35;
  cursor:default;
}

.team-carousel-controls svg{
  width:20px;
  height:20px;
  fill:currentColor;
}

.team-carousel-controls span{
  min-width:56px;
  color:#667085;
  font-size:13px;
  font-weight:900;
  text-align:center;
}

.team-carousel{
  display:flex!important;
  grid-template-columns:none!important;
  gap:18px;
  width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.team-carousel::-webkit-scrollbar{
  display:none;
}

.team-carousel > .specialist-mini-card{
  min-width:0;
  flex:0 0 calc((100% - 54px) / 4);
  width:calc((100% - 54px) / 4);
  scroll-snap-align:start;
}

.team-carousel > .project-card{
  display:none!important;
}

.team-page--carousel .viewed-section{
  border-top:1px solid #e5ebf3;
  background:#f5f7f6;
}

@media(max-width:1180px){
  .team-carousel > .specialist-mini-card{
    flex-basis:calc((100% - 36px) / 3);
    width:calc((100% - 36px) / 3);
  }
}

@media(max-width:760px){
  .team-page--carousel .team-hero{
    min-height:230px;
  }

  .team-carousel-head{
    align-items:flex-end;
    flex-direction:row;
  }

  .team-carousel-controls{
    gap:6px;
  }

  .team-carousel-controls button{
    width:38px;
    height:38px;
  }

  .team-carousel-controls span{
    display:none;
  }

  .team-carousel{
    gap:10px;
    width:auto;
    margin-right:-16px;
    margin-left:-16px;
    padding-right:16px;
    padding-left:16px;
  }

  .team-carousel > .specialist-mini-card{
    flex:0 0 min(72vw,280px);
    width:min(72vw,280px);
  }
}
/* step84 specialist carousel repair css end */

/* step85 polished specialist cabinet css start */
.cabinet-page{
  background:#f3f6fa;
}

.cabinet-project-form--polished{
  gap:24px;
  border:1px solid #dbe4f0;
  border-radius:8px;
  padding:28px;
  box-shadow:0 18px 45px rgba(20,32,51,.07);
}

.cabinet-project-form--polished .cabinet-form-head{
  margin:0;
  border-bottom:1px solid #e8edf4;
  padding-bottom:22px;
}

.cabinet-project-form--polished .cabinet-form-head h2{
  margin:0;
  color:#142033;
  font-size:32px;
  line-height:1.15;
}

.cabinet-project-form--polished .cabinet-form-grid{
  gap:18px 20px;
}

.cabinet-project-form--polished label{
  position:relative;
  align-content:start;
  gap:8px;
  min-width:0;
}

.cabinet-project-form--polished label > span{
  color:#4f5d73;
  font-size:13px;
  font-weight:800;
  line-height:1.25;
}

.cabinet-project-form--polished input:not([type="checkbox"]),
.cabinet-project-form--polished select,
.cabinet-project-form--polished textarea{
  width:100%;
  border:1px solid #ccd7e6;
  border-radius:6px;
  background:#fff;
  color:#142033;
  font:inherit;
  font-size:15px;
  outline:none;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

.cabinet-project-form--polished input:not([type="checkbox"]),
.cabinet-project-form--polished select{
  height:52px;
  min-height:52px;
  padding:0 14px;
}

.cabinet-project-form--polished input:hover,
.cabinet-project-form--polished select:hover,
.cabinet-project-form--polished textarea:hover{
  border-color:#aebdd0;
}

.cabinet-project-form--polished input:focus,
.cabinet-project-form--polished select:focus,
.cabinet-project-form--polished textarea:focus{
  border-color:#176b65;
  box-shadow:0 0 0 3px rgba(23,107,101,.13);
}

.cabinet-project-form--polished select{
  appearance:none;
  padding-right:46px;
  background-image:
    linear-gradient(45deg,transparent 50%,#526176 50%),
    linear-gradient(135deg,#526176 50%,transparent 50%);
  background-position:
    calc(100% - 20px) 22px,
    calc(100% - 15px) 22px;
  background-repeat:no-repeat;
  background-size:5px 5px,5px 5px;
  cursor:pointer;
}

.cabinet-project-form--polished textarea{
  min-height:180px;
  padding:14px;
  line-height:1.55;
}

.cabinet-project-form--polished label small{
  color:#7a8799;
  font-size:11px;
  line-height:1.35;
}

.cabinet-project-form--polished input[type="number"]{
  appearance:textfield;
}

.cabinet-project-form--polished input[type="number"]::-webkit-inner-spin-button,
.cabinet-project-form--polished input[type="number"]::-webkit-outer-spin-button{
  margin:0;
  appearance:none;
}

.cabinet-project-form--polished .cabinet-file-field input[type="file"]{
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:6px;
  color:#667085;
  cursor:pointer;
}

.cabinet-project-form--polished input[type="file"]::file-selector-button{
  height:38px;
  margin-right:12px;
  border:0;
  border-radius:5px;
  padding:0 15px;
  background:#eaf2ff;
  color:#0a66df;
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}

.cabinet-project-form--polished input[type="file"]::file-selector-button:hover{
  background:#dceaff;
}

.cabinet-project-form--polished .cabinet-toggle{
  display:flex!important;
  min-height:42px;
  align-items:center;
  grid-auto-flow:initial;
  grid-template-columns:auto 1fr;
  border:1px solid #dbe4f0;
  border-radius:6px;
  padding:9px 12px;
  background:#f8fafc;
}

.cabinet-project-form--polished .cabinet-toggle input{
  width:18px;
  height:18px;
  min-height:18px;
  accent-color:#176b65;
}

.cabinet-project-form--polished .cabinet-gallery-fields{
  border:1px solid #dbe4f0;
  border-radius:7px;
  padding:0;
  background:#f8fafc;
}

.cabinet-project-form--polished .cabinet-gallery-fields summary{
  padding:17px 18px;
  color:#253349;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}

.cabinet-project-form--polished .cabinet-gallery-fields[open] summary{
  border-bottom:1px solid #dbe4f0;
}

.cabinet-project-form--polished .cabinet-gallery-fields .cabinet-form-grid{
  margin:0;
  padding:18px;
}

.cabinet-project-form--polished .cabinet-actions{
  position:sticky;
  z-index:4;
  bottom:12px;
  align-items:center;
  border:1px solid #dbe4f0;
  border-radius:7px;
  padding:12px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 28px rgba(20,32,51,.1);
  backdrop-filter:blur(10px);
}

.cabinet-project-form--polished .cabinet-actions .btn{
  min-height:46px;
}

@media(max-width:760px){
  .cabinet-project-form--polished{
    gap:20px;
    margin-right:-8px;
    margin-left:-8px;
    padding:18px 14px;
  }

  .cabinet-project-form--polished .cabinet-form-head h2{
    font-size:25px;
  }

  .cabinet-project-form--polished .cabinet-form-grid{
    grid-template-columns:1fr;
  }

  .cabinet-project-form--polished .cabinet-full{
    grid-column:auto;
  }

  .cabinet-project-form--polished .cabinet-actions{
    bottom:8px;
  }

  .cabinet-project-form--polished .cabinet-actions .btn{
    width:100%;
  }
}
/* step85 polished specialist cabinet css end */

/* step86 company logo banking css start */
.brand-logo{
  display:block;
  width:auto;
  height:42px;
  max-width:168px;
  object-fit:contain;
}

.site-header .brand{
  display:inline-flex!important;
  align-items:center;
  flex:0 0 auto;
  width:auto;
  height:auto;
  background:none!important;
}

.site-header .brand > *{
  display:revert!important;
}

.brand-logo--footer{
  width:130px;
  height:auto;
}

@media(max-width:760px){
  .brand-logo{
    height:34px;
    max-width:140px;
  }

  .site-header .brand{
    flex-basis:auto;
    width:auto;
    height:auto;
  }

  .brand-logo--footer{
    width:110px;
  }
}

.brand-mark--logo{
  overflow:hidden;
  border:0;
  background:transparent;
}

.brand-mark--logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.cabinet-company-form--extended{
  display:grid;
  gap:18px;
}

.company-settings-group{
  min-width:0;
  margin:0;
  border:1px solid #dbe4f0;
  border-radius:7px;
  padding:20px;
  background:#f8fafc;
}

.company-settings-group legend{
  padding:0 8px;
  color:#253349;
  font-size:14px;
  font-weight:900;
}

.company-logo-editor{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:20px;
  align-items:center;
}

.company-logo-preview{
  display:flex;
  width:120px;
  height:82px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid #dbe4f0;
  border-radius:7px;
  padding:10px;
  background:#fff;
  color:#176b65;
  font-size:28px;
  font-weight:900;
}

.company-logo-preview img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.company-logo-editor label{
  display:grid;
  gap:8px;
}

.company-logo-editor label span{
  color:#4f5d73;
  font-size:13px;
  font-weight:800;
}

.company-logo-editor label small{
  color:#7a8799;
  font-size:11px;
}

.company-logo-editor input[type="file"]{
  min-height:52px;
  border:1px solid #ccd7e6;
  border-radius:6px;
  padding:6px;
  background:#fff;
  color:#667085;
}

.company-logo-editor input[type="file"]::file-selector-button{
  height:38px;
  margin-right:12px;
  border:0;
  border-radius:5px;
  padding:0 15px;
  background:#eaf2ff;
  color:#0a66df;
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}

.cabinet-company-form--extended input{
  width:100%;
  min-height:50px;
  border:1px solid #ccd7e6;
  border-radius:6px;
  padding:0 14px;
  background:#fff;
  color:#142033;
  font:inherit;
  outline:none;
}

.cabinet-company-form--extended input:focus{
  border-color:#176b65;
  box-shadow:0 0 0 3px rgba(23,107,101,.13);
}

@media(max-width:760px){
  .company-settings-group{
    padding:16px 12px;
  }

  .company-logo-editor{
    grid-template-columns:1fr;
  }
}
/* step86 company logo banking css end */

/* step87 home services banner css start */
.home-services-banner{
  position:relative;
  overflow:hidden;
  border-top:1px solid #24344c;
  border-bottom:1px solid #24344c;
  background:#142033;
  color:#fff;
}

.home-services-banner::before{
  position:absolute;
  top:0;
  bottom:0;
  left:calc(50% - 1px);
  width:1px;
  background:rgba(255,255,255,.08);
  content:"";
  pointer-events:none;
}

.home-services-banner__inner{
  display:grid;
  min-height:218px;
  grid-template-columns:minmax(280px,1.15fr) minmax(360px,1fr) auto;
  align-items:center;
  gap:38px;
  padding-top:34px;
  padding-bottom:34px;
}

.home-services-banner__lead{
  min-width:0;
}

.home-services-banner__eyebrow{
  margin:0 0 10px;
  color:#f4c84a;
  font-size:11px;
  font-weight:900;
  line-height:1.2;
  text-transform:uppercase;
}

.home-services-banner h2{
  max-width:630px;
  margin:0;
  color:#fff;
  font-size:32px;
  line-height:1.12;
}

.home-services-banner__services{
  display:grid;
  min-width:0;
  gap:11px;
}

.home-services-banner__services span{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:10px;
  color:#d8e0eb;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
}

.home-services-banner__services b{
  color:#65a5ff;
  font-size:11px;
  font-weight:900;
}

.home-services-banner__actions{
  display:grid;
  min-width:190px;
  gap:12px;
}

.home-services-banner__primary{
  min-height:48px;
  border:1px solid #287fff;
  border-radius:6px;
  background:#176b65;
  white-space:nowrap;
}

.home-services-banner__primary:hover{
  background:#0865df;
}

.home-services-banner__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#cbd5e3;
  font-size:13px;
  font-weight:800;
}

.home-services-banner__link:hover{
  color:#fff;
}

.home-services-banner__link span{
  color:#65a5ff;
  font-size:17px;
}

@media(max-width:1120px){
  .home-services-banner__inner{
    grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
    gap:26px 34px;
  }

  .home-services-banner__actions{
    grid-column:1/-1;
    grid-template-columns:auto auto;
    justify-content:start;
  }
}

@media(max-width:760px){
  .home-services-banner::before{
    display:none;
  }

  .home-services-banner__inner{
    min-height:0;
    grid-template-columns:1fr;
    gap:24px;
    padding-top:30px;
    padding-bottom:30px;
  }

  .home-services-banner h2{
    font-size:26px;
  }

  .home-services-banner__actions{
    grid-column:auto;
    grid-template-columns:1fr;
  }

  .home-services-banner__primary{
    width:100%;
  }

  .home-services-banner__link{
    min-height:38px;
  }
}
/* step87 home services banner css end */

/* step88 privacy policy css start */
.legal-page{
  background:#f6f8fb;
  color:#142033;
}

.legal-hero{
  border-bottom:1px solid #dfe6ef;
  padding:50px 0 42px;
  background:#fff;
}

.legal-breadcrumbs{
  margin-bottom:30px;
  color:#6c788c;
}

.legal-breadcrumbs a{
  color:#4f5d73;
}

.legal-hero .eyebrow{
  margin:0 0 12px;
}

.legal-hero h1{
  max-width:900px;
  margin:0;
  color:#142033;
  font-size:46px;
  line-height:1.08;
}

.legal-hero__lead{
  max-width:720px;
  margin:17px 0 0;
  color:#5f6d82;
  font-size:18px;
  line-height:1.5;
}

.legal-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  margin-top:28px;
  color:#667085;
  font-size:13px;
  font-weight:700;
}

.legal-hero__meta span{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.legal-hero__meta span + span::before{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#176b65;
  content:"";
}

.legal-section{
  padding:52px 0 76px;
}

.legal-layout{
  display:grid;
  grid-template-columns:220px minmax(0,780px);
  justify-content:center;
  gap:64px;
  align-items:start;
}

.legal-toc{
  position:sticky;
  top:112px;
  min-width:0;
  border-left:2px solid #dce4ef;
  padding-left:18px;
}

.legal-toc > p{
  margin:0 0 16px;
  color:#142033;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}

.legal-toc nav{
  display:grid;
  gap:5px;
}

.legal-toc a{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:8px;
  padding:7px 0;
  color:#667085;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
}

.legal-toc a:hover{
  color:#176b65;
}

.legal-toc a span{
  color:#176b65;
  font-size:10px;
  font-weight:900;
}

.legal-document{
  min-width:0;
  font-size:16px;
  line-height:1.75;
}

.legal-intro{
  border-left:3px solid #176b65;
  padding:2px 0 2px 22px;
  color:#34435a;
  font-size:17px;
  line-height:1.7;
}

.legal-intro p{
  margin:0;
}

.legal-intro a{
  color:#0a66df;
  font-weight:700;
}

.legal-document__section{
  padding-top:48px;
  scroll-margin-top:110px;
}

.legal-document__section h2{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin:0 0 25px;
  color:#142033;
  font-size:27px;
  line-height:1.2;
}

.legal-document__section h2 > span{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid #cfe0f8;
  border-radius:6px;
  background:#eaf3ff;
  color:#0a66df;
  font-size:13px;
  font-weight:900;
}

.legal-document__section p{
  margin:0 0 15px;
  color:#34435a;
}

.legal-document__section p strong{
  color:#142033;
  font-weight:900;
}

.legal-document__section ul{
  display:grid;
  gap:10px;
  margin:5px 0 22px;
  padding:0;
  list-style:none;
}

.legal-document__section li{
  position:relative;
  padding-left:22px;
  color:#34435a;
}

.legal-document__section li::before{
  position:absolute;
  top:.72em;
  left:2px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#176b65;
  content:"";
}

.legal-effective-date{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:30px;
  border-top:1px solid #dfe6ef;
  border-bottom:1px solid #dfe6ef;
  padding:18px 0;
}

.legal-effective-date span{
  color:#667085;
  font-size:13px;
  font-weight:700;
}

.legal-effective-date strong{
  color:#142033;
  font-size:15px;
}

@media(max-width:900px){
  .legal-layout{
    grid-template-columns:1fr;
    gap:34px;
  }

  .legal-toc{
    position:static;
    border-left:0;
    border-bottom:1px solid #dfe6ef;
    padding:0 0 24px;
  }

  .legal-toc nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px 18px;
  }
}

@media(max-width:760px){
  .legal-hero{
    padding:32px 0 30px;
  }

  .legal-breadcrumbs{
    margin-bottom:23px;
  }

  .legal-hero h1{
    font-size:32px;
  }

  .legal-hero__lead{
    font-size:16px;
  }

  .legal-hero__meta{
    align-items:flex-start;
    flex-direction:column;
  }

  .legal-hero__meta span + span::before{
    display:none;
  }

  .legal-section{
    padding:34px 0 52px;
  }

  .legal-toc nav{
    grid-template-columns:1fr;
  }

  .legal-document{
    font-size:15px;
    line-height:1.7;
  }

  .legal-intro{
    padding-left:16px;
    font-size:16px;
  }

  .legal-document__section{
    padding-top:38px;
  }

  .legal-document__section h2{
    grid-template-columns:36px minmax(0,1fr);
    gap:11px;
    font-size:22px;
  }

  .legal-document__section h2 > span{
    width:36px;
    height:36px;
  }

  .legal-effective-date{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
}

@media print{
  .site-header,
  .site-footer,
  .legal-toc{
    display:none!important;
  }

  .legal-page,
  .legal-hero{
    background:#fff;
  }

  .legal-layout{
    display:block;
  }

  .legal-section{
    padding-top:24px;
  }
}
/* step88 privacy policy css end */
/* web agency project cards start */
.project-card-kicker{
  margin:0 0 6px!important;
  color:#176b65!important;
  font-size:11px!important;
  font-weight:900;
  letter-spacing:0;
  text-transform:uppercase;
}

.project-card-title{
  min-height:0;
  margin:0!important;
  color:#11182d;
  font-size:20px!important;
  line-height:1.18!important;
}

.project-card-budget{
  display:grid;
  gap:2px;
  margin-top:3px;
}

.project-card-budget > span{
  display:block;
  color:#7b8491;
  font-size:10px;
  font-weight:800;
  letter-spacing:0;
  text-transform:uppercase;
}

.project-card-budget > strong{
  color:#11182d;
  font-size:23px;
  font-weight:900;
  line-height:1.05;
}

.project-card-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 14px;
  margin:5px 0 0;
  padding:10px 0;
  border-top:1px solid #e5eaf2;
  border-bottom:1px solid #e5eaf2;
}

.project-card-facts div{
  min-width:0;
}

.project-card-facts dt,
.project-card-client span{
  margin:0 0 2px;
  color:#7b8491;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
  text-transform:uppercase;
}

.project-card-facts dd{
  margin:0;
  overflow:hidden;
  color:#11182d;
  font-size:14px;
  font-weight:800;
  line-height:1.3;
  text-overflow:ellipsis;
}

.project-card-client{
  display:grid;
  min-width:0;
  gap:2px;
  margin-top:0;
}

.project-card-client strong{
  overflow:hidden;
  color:#52617b;
  font-size:14px;
  font-weight:700;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.project-card .project-body{
  gap:6px;
  padding:14px 16px 15px!important;
}

.project-card{
  align-self:start;
}

.project-card > .project-card-link{
  flex:0 0 auto!important;
}

.project-card .project-card-photo{
  aspect-ratio:16/10!important;
}

.project-card .project-card-budget .price-value,
.project-card .project-card-budget .currency-ruble{
  font-size:inherit!important;
}

.project-card[data-deal="sale"] .project-card-listing-badges .listing-badge--deal:before{
  content:"Разработка";
}

.project-card[data-deal="rent"] .project-card-listing-badges .listing-badge--deal:before{
  content:"Дизайн";
}

.project-card[data-type="flat"] .project-card-listing-badges .listing-badge--type:before{
  content:"Лендинг";
}

.project-card[data-type="apartment"] .project-card-listing-badges .listing-badge--type:before{
  content:"Корпоративный сайт";
}

.project-card[data-type="house"] .project-card-listing-badges .listing-badge--type:before{
  content:"Интернет-магазин";
}

.project-card[data-type="commercial"] .project-card-listing-badges .listing-badge--type:before{
  content:"Веб-сервис";
}

.project-card[data-type="newbuild"] .project-card-listing-badges .listing-badge--type:before{
  content:"Брендинг";
}

@media(max-width:760px){
  .project-card .project-card-photo{
    aspect-ratio:16/9!important;
  }

  .project-card .project-body{
    padding:13px 14px 14px!important;
  }

  .project-card-title{
    min-height:0;
    font-size:19px!important;
  }

  .project-card-budget > strong{
    font-size:22px;
  }

  .project-card-facts{
    gap:7px 12px;
    padding:9px 0;
  }

  .project-card-facts dd,
  .project-card-client strong{
    font-size:13px;
  }
}
/* web agency project cards end */

/* web agency sticky project sidebar start */
@media(min-width:901px){
  .project-page--aligned-sidebar .project-page-layout{
    align-items:start!important;
    overflow:visible!important;
  }

  .project-page--aligned-sidebar .project-sidebar{
    position:sticky!important;
    top:92px!important;
    align-self:start!important;
    height:max-content;
  }
}

@media(max-width:900px){
  .project-page--aligned-sidebar .project-sidebar{
    position:static!important;
    height:auto;
  }
}
/* web agency sticky project sidebar end */

/* web agency restrained palette and project layout start */
:root{
  --estate-blue:#176b65;
  --estate-blue-deep:#0f514d;
  --estate-blue-soft:#e5f1ef;
  --estate-bg:#f5f7f6;
  --estate-ink:#17212b;
  --estate-muted:#66727d;
  --estate-line:#d8e1df;
  --graphite:#17212b;
  --muted:#66727d;
  --line:#d8e1df;
  --gold:#a67c52;
  --green:#176b65;
  --red:#b5475b;
}

body{
  color:#17212b;
  background:#f5f7f6;
}

.site-header{
  border-color:rgba(216,225,223,.96);
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 28px rgba(23,33,43,.055);
}

.project-page-favorite,
.project-card-favorite{
  color:#b5475b!important;
}

.project-page .project-price-card,
.project-page .project-content-card,
.project-page .specialist-mini-card,
.project-card{
  border-color:#d8e1df;
  box-shadow:0 14px 34px rgba(23,33,43,.075);
}

@media(min-width:901px){
  .project-page--aligned-sidebar .project-page-heading{
    margin-bottom:18px;
  }

  .project-page--aligned-sidebar .project-page-layout{
    grid-template-columns:minmax(0,720px) 300px!important;
    gap:28px!important;
    align-items:start!important;
    justify-content:start!important;
    margin-top:0!important;
    overflow:visible!important;
  }

  .project-page--aligned-sidebar .project-main-column,
  .project-page--aligned-sidebar .project-sidebar{
    align-self:start!important;
    min-width:0;
  }

  .project-page--aligned-sidebar .project-gallery{
    margin-top:0!important;
  }

  .project-page--aligned-sidebar .project-sidebar{
    position:sticky!important;
    top:92px!important;
    width:300px;
    height:max-content;
    max-height:none;
    margin-top:0!important;
    padding-right:0;
    overflow:visible;
    overscroll-behavior:auto;
  }

  .project-page--aligned-sidebar .project-price-card,
  .project-page--aligned-sidebar .project-specialist-mini-card{
    width:100%;
  }
}

@media(max-width:900px){
  .project-page--aligned-sidebar .project-sidebar{
    max-height:none;
    overflow:visible;
    padding-right:0;
  }
}
/* web agency restrained palette and project layout end */

/* desktop project filter sidebar start */
.catalog-page .catalog-filter-open{
  display:inline-flex;
  width:auto;
  min-height:42px;
  gap:9px;
  margin-top:22px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:7px;
  padding:0 16px;
  background:rgba(255,255,255,.12);
  box-shadow:none;
  color:#fff;
  backdrop-filter:blur(10px);
}

.catalog-page .catalog-filter-open:hover{
  border-color:rgba(255,255,255,.68);
  background:rgba(255,255,255,.2);
}

.catalog-page .catalog-filter-open > span{
  font-size:19px;
  font-weight:500;
  line-height:1;
  transform:rotate(90deg);
}

.catalog-page .catalog-section{
  padding-top:34px!important;
}

.catalog-page .catalog-layout{
  width:min(calc(100% - 48px),1540px);
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:22px;
  align-items:start;
}

.catalog-sidebar{
  position:sticky;
  top:104px;
  min-width:0;
}

.catalog-sidebar .catalog-filter-shell{
  margin:0;
  border:1px solid #d8e0e4;
  border-radius:8px;
  padding:20px;
  background:#fff;
  box-shadow:0 16px 42px rgba(25,42,52,.08);
}

.catalog-filter-title{
  display:grid;
  gap:5px;
  margin-bottom:18px;
  padding-bottom:16px;
  border-bottom:1px solid #e4e9ec;
}

.catalog-filter-title strong{
  color:#17252d;
  font-size:20px;
}

.catalog-filter-title span{
  color:#718088;
  font-size:13px;
  font-weight:600;
}

.catalog-sidebar .catalog-filter{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.catalog-sidebar .catalog-filter label{
  gap:6px;
}

.catalog-sidebar .catalog-filter select,
.catalog-sidebar .catalog-filter input{
  height:44px;
  min-height:44px;
  border-radius:6px;
}

.catalog-sidebar .catalog-filter-actions{
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:4px;
}

.catalog-sidebar .catalog-filter-actions .btn{
  min-width:0;
  min-height:42px;
  border-radius:6px;
  padding:0 10px;
  font-size:13px;
}

.catalog-main{
  min-width:0;
}

.catalog-page .catalog-count{
  min-height:24px;
  margin:0 0 14px;
}

.catalog-page .catalog-results{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px;
}

@media(max-width:1179px){
  .catalog-page .catalog-layout{
    width:min(100% - 32px,1180px);
    display:block;
  }

  .catalog-sidebar{
    position:static;
  }

  .catalog-filter-title{
    display:none;
  }

  body > .catalog-filter-shell[data-filter-portal-active="1"]{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    z-index:1002!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    width:min(92vw,390px)!important;
    max-width:none!important;
    height:100dvh!important;
    margin:0!important;
    border:0!important;
    border-left:1px solid #d8e0e4!important;
    border-radius:0!important;
    padding:
      calc(14px + env(safe-area-inset-top))
      16px
      calc(16px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    opacity:0;
    background:#fff!important;
    box-shadow:-18px 0 48px rgba(20,32,51,.2)!important;
    pointer-events:none;
    transform:translate3d(100%,0,0);
    transition:opacity .2s ease,transform .22s ease;
  }

  body > .catalog-filter-shell[data-filter-portal-active="1"].is-open{
    opacity:1!important;
    pointer-events:auto!important;
    transform:translate3d(0,0,0)!important;
  }

  body > .catalog-filter-shell[data-filter-portal-active="1"] .catalog-filter-head{
    display:flex;
  }

  body > .catalog-filter-shell[data-filter-portal-active="1"] .catalog-filter{
    display:grid;
    grid-template-columns:1fr;
    min-height:0;
    gap:12px;
    overflow:visible;
  }

  body > .catalog-filter-shell[data-filter-portal-active="1"] .catalog-filter-actions{
    grid-template-columns:1fr;
  }

  .catalog-page .catalog-results{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  body > .catalog-filter-backdrop{
    z-index:1001!important;
  }

  body.filter-open{
    overflow:hidden;
  }

  body.filter-open > .catalog-filter-backdrop{
    display:block!important;
  }
}

@media(max-width:680px){
  .catalog-page .catalog-results{
    grid-template-columns:1fr!important;
  }
}
/* desktop project filter sidebar end */

/* compact portfolio cards start */
.catalog-page .project-card{
  align-self:start!important;
}

.catalog-page .project-card .project-card-photo{
  aspect-ratio:16/8.7!important;
}

.catalog-page .project-card .project-body{
  gap:4px;
  padding:12px 14px 12px!important;
}

.catalog-page .project-card-title{
  font-size:19px!important;
  line-height:1.14!important;
}

.catalog-page .project-card-budget{
  gap:1px;
  margin-top:2px;
}

.catalog-page .project-card-budget > span{
  font-size:9px;
}

.catalog-page .project-card-budget > strong{
  font-size:21px;
}

.catalog-page .project-card-facts{
  gap:5px 10px;
  margin-top:4px;
  padding:8px 0;
}

.catalog-page .project-card-facts dt,
.catalog-page .project-card-client span{
  font-size:9px;
}

.catalog-page .project-card-facts dd,
.catalog-page .project-card-client strong{
  font-size:12px;
  line-height:1.2;
}

.catalog-page .project-card-client{
  gap:1px;
}

.catalog-page .project-card > .project-card-specialist{
  min-height:32px!important;
  padding:7px 12px;
  font-size:10px;
}

@media(max-width:680px){
  .catalog-page .project-card .project-card-photo{
    aspect-ratio:16/9!important;
  }
}
/* compact portfolio cards end */

/* project price card sticky correction start */
@media(min-width:901px){
  .project-page--aligned-sidebar{
    overflow:visible!important;
  }

  .project-page--aligned-sidebar .project-top,
  .project-page--aligned-sidebar .project-top__inner,
  .project-page--aligned-sidebar .project-page-layout,
  .project-page--aligned-sidebar .project-sidebar{
    overflow:visible!important;
  }

  .project-page--aligned-sidebar .project-top__inner{
    width:min(calc(100% - 96px),1920px)!important;
    max-width:none!important;
    transform:none!important;
  }

  .project-page--aligned-sidebar .project-page-heading{
    width:calc(100% - 458px)!important;
  }

  .project-page--aligned-sidebar .project-page-layout{
    grid-template-columns:minmax(0,1fr) 420px!important;
    gap:38px!important;
    align-items:start!important;
    justify-content:stretch!important;
  }

  .project-page--aligned-sidebar .project-sidebar{
    position:static!important;
    display:grid;
    width:420px;
    height:auto;
    max-height:none;
    align-content:start;
    gap:16px;
    margin:0!important;
    padding:0;
  }

  .project-page--aligned-sidebar .project-price-card--sticky{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:104px!important;
    right:auto;
    bottom:auto;
    left:auto;
    z-index:4;
    align-self:start;
    width:420px;
    min-width:420px;
    padding:28px!important;
    overflow:visible!important;
    transform:none!important;
    contain:none!important;
  }

  .project-page--aligned-sidebar .project-price-card--sticky
    .project-price-card__head strong{
    font-size:36px;
  }

  .project-page--aligned-sidebar .project-price-card--sticky > .btn{
    min-height:48px;
  }

  .project-page--aligned-sidebar .project-specialist-mini-card{
    width:100%;
    margin-top:0!important;
  }

  .project-page--aligned-sidebar .project-gallery__stage{
    height:var(--project-summary-height,650px)!important;
    min-height:var(--project-summary-height,650px)!important;
    aspect-ratio:auto!important;
  }

  .project-page--aligned-sidebar .project-gallery__item,
  .project-page--aligned-sidebar .project-gallery__item img{
    width:100%;
    height:100%;
  }

  .project-page--aligned-sidebar .project-gallery__item img{
    aspect-ratio:auto!important;
    object-fit:cover!important;
  }

  .project-main-specialist{
    display:block;
    width:min(100%,520px);
    margin-top:24px;
  }
}

@media(max-width:900px){
  .project-page--aligned-sidebar .project-price-card--sticky{
    position:static!important;
    width:100%;
    min-width:0;
  }

  .project-main-specialist{
    display:none;
  }
}
/* project price card sticky correction end */

/* project sidebar alignment and independent sticky cards start */
.project-gallery-shell{
  position:relative;
  min-width:0;
}

.project-listing-badges--photo{
  position:absolute;
  top:auto;
  bottom:20px;
  left:20px;
  z-index:5;
  display:flex;
  flex-direction:column-reverse;
  flex-wrap:nowrap;
  align-items:flex-start;
  gap:8px;
  max-width:calc(100% - 40px);
  margin:0!important;
  pointer-events:none;
}

.project-listing-badges--photo .listing-badge{
  min-height:36px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:7px;
  padding:0 13px;
  background:rgba(255,255,255,.94);
  box-shadow:0 8px 24px rgba(23,33,43,.12);
  color:#17212b;
  backdrop-filter:blur(10px);
}

@media(min-width:901px){
  .project-page--aligned-sidebar .project-page-layout{
    position:relative;
    align-items:start!important;
    min-height:var(--project-sidebar-height,auto);
  }

  .project-page--aligned-sidebar .project-sidebar{
    position:relative!important;
    top:auto!important;
    display:block!important;
    align-self:start!important;
    height:auto!important;
    min-height:0;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  .project-page--aligned-sidebar .project-sidebar.is-fixed{
    position:fixed!important;
    top:calc(88px + var(--project-sidebar-shift,0px))!important;
    left:var(--project-sidebar-left)!important;
    z-index:8;
    width:var(--project-sidebar-width)!important;
  }

  .project-page--aligned-sidebar .project-price-card--sticky{
    position:relative!important;
    top:auto!important;
    margin:0!important;
  }

  .project-page--aligned-sidebar .project-sidebar-specialist{
    position:relative!important;
    top:auto!important;
    z-index:3;
    width:100%!important;
    margin:24px 0 0!important;
  }

  .project-page--aligned-sidebar
    .project-sidebar-specialist.specialist-mini-card{
    display:grid!important;
    grid-template-columns:156px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto auto!important;
    align-items:start!important;
    padding:16px 16px 0!important;
    overflow:hidden!important;
  }

  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__media{
    grid-column:1;
    grid-row:1 / 5;
    width:132px!important;
    height:132px!important;
    min-height:132px!important;
    aspect-ratio:1!important;
    margin:0!important;
    border-radius:8px!important;
    overflow:hidden!important;
  }

  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__media img{
    width:100%!important;
    height:100%!important;
    aspect-ratio:1!important;
    object-fit:cover!important;
    object-position:center top!important;
    border-radius:8px!important;
  }

  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__experience,
  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__projects-count{
    display:none!important;
  }

  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__body{
    display:contents!important;
  }

  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__position,
  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__body h3,
  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__specialization,
  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-contacts{
    grid-column:2;
    align-self:start;
    margin-right:0!important;
  }

  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__position{
    grid-row:1;
    margin-top:2px!important;
  }

  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__body h3{
    grid-row:2;
  }

  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__specialization{
    grid-row:3;
  }

  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-contacts{
    grid-row:4;
  }

  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__body h3{
    font-size:20px!important;
  }

  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__specialization{
    font-size:12px!important;
  }

  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__footer{
    grid-column:1 / -1;
    grid-row:5;
    width:calc(100% + 32px)!important;
    margin:16px -16px 0!important;
    border-top:1px solid #d8e1df!important;
    padding:0!important;
  }

  .project-page--aligned-sidebar
    .project-sidebar-specialist .specialist-mini-card__objects{
    display:flex!important;
    width:100%!important;
    min-height:48px;
    align-items:center;
    justify-content:center;
    padding:0 16px!important;
    color:#176b65!important;
    font-weight:900!important;
  }

  .project-page--aligned-sidebar .project-content-card{
    margin-top:24px!important;
  }

  .project-page--aligned-sidebar .project-main-specialist{
    display:none!important;
  }
}

@media(max-width:900px){
  .project-listing-badges--photo{
    display:none!important;
  }

  .project-listing-badges--photo .listing-badge{
    min-height:31px;
    padding:0 10px;
    font-size:12px;
  }

  .project-page--aligned-sidebar .project-sidebar-specialist{
    position:static!important;
  }
}
/* project sidebar alignment and independent sticky cards end */

/* step90 brand-first home hero + reveal start */
.home-slide__brand{
  margin:0 0 14px;
  color:#e7c889;
  font-size:clamp(28px,4vw,44px);
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1;
}

.home-slide__content h1,
.home-slide__headline{
  max-width:900px;
  margin:0 0 16px;
  font-size:clamp(34px,4.8vw,64px);
  line-height:1.04;
  letter-spacing:-.03em;
  color:#fff;
  font-weight:700;
}

.home-slide__lead{
  max-width:620px;
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:clamp(16px,1.6vw,20px);
  line-height:1.55;
  font-weight:500;
}

.home-slide__lead-mobile,
.home-slide__action-mobile{
  display:none;
}

.home-slide__project{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 14px;
  margin-top:28px;
  max-width:720px;
}

.home-slide__project-label{
  color:#e7c889;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.home-slide__project-title{
  color:#fff;
  font-size:clamp(18px,2vw,24px);
  font-weight:800;
  letter-spacing:-.02em;
}

.home-slide__project-stack{
  color:rgba(255,255,255,.62);
  font-size:14px;
  font-weight:700;
}

.home-slide__meta{
  margin-top:16px;
}



/* home slide media LCP */
.home-slide{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.home-slide__media{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:#0b1218;
}
.home-slide__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,rgba(8,12,18,.88) 0%,rgba(8,12,18,.72) 34%,rgba(8,12,18,.42) 58%,rgba(8,12,18,.12) 100%);
}
.home-slide__bg{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.home-slide__inner{
  position:relative;
  z-index:1;
}

/* home slider mobile hit-target fix */
.home-slide{
  pointer-events:none;
  z-index:0;
}
.home-slide.is-active{
  pointer-events:auto;
  z-index:2;
}
.home-slider__controls{
  z-index:3;
  pointer-events:auto;
}
.home-slider__track{
  pointer-events:none;
}
.home-slide.is-active,
.home-slider__controls{
  pointer-events:auto;
}

.home-slide.is-active .home-slide__content{
  animation:homeSlideContentIn .7s cubic-bezier(.22,1,.36,1) both;
}

.home-slide.is-enter .home-slide__content{
  animation:homeSlideContentIn .7s cubic-bezier(.22,1,.36,1) both;
}

@keyframes homeSlideContentIn{
  from{
    opacity:0;
  }
  to{
    opacity:1;
  }
}

.home-slider--empty .home-slide__brand{
  color:#e7c889;
}

[data-reveal]{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);
}

[data-reveal].is-revealed{
  opacity:1;
  transform:none;
}

@media (prefers-reduced-motion:reduce){
  .home-slide,
  .home-slide.is-active .home-slide__content,
  .home-slide.is-enter .home-slide__content,
  [data-reveal]{
    animation:none!important;
    transition:none!important;
    opacity:1!important;
    transform:none!important;
  }
}

@media(max-width:760px){
  .home-slide__brand{
    margin-bottom:10px;
    font-size:clamp(24px,8vw,34px);
  }

  .home-slide__content h1,
  .home-slide__headline{
    margin-bottom:12px;
    font-size:clamp(28px,9vw,42px);
  }

  .home-slide__lead{
    font-size:15px;
  }

  .home-slide__project{
    margin-top:20px;
    gap:6px 10px;
  }

  .home-slide__project-title{
    font-size:17px;
  }
}
/* step90 brand-first home hero + reveal end */

/* step91 project extras start */
.project-extras{
  display:grid;
  gap:12px;
  margin:0 0 16px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#faf7f1);
}

.project-extras__title{
  margin:0;
  color:var(--graphite);
  font-size:15px;
  font-weight:900;
  letter-spacing:-.02em;
}

.project-extras__hint{
  margin:4px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
  font-weight:600;
}

.project-extras__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}

.project-extras__label{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}

.project-extras__label:hover{
  border-color:#d8cbb8;
  box-shadow:0 10px 24px rgba(32,36,42,.06);
}

.project-extras__check{
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:var(--gold);
}

.project-extras__text{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:6px 12px;
  min-width:0;
}

.project-extras__name{
  color:var(--graphite);
  font-size:14px;
  font-weight:800;
  line-height:1.35;
}

.project-extras__price{
  color:var(--muted);
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

.project-extras__label:has(.project-extras__check:checked){
  border-color:rgba(184,149,86,.55);
  background:rgba(184,149,86,.08);
}

.project-extras__total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:10px;
  background:var(--graphite);
  color:#fff;
}

.project-extras__total[hidden]{
  display:none!important;
}

.project-extras__total span{
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:800;
}

.project-extras__total strong{
  color:#fff;
  font-size:18px;
  font-weight:900;
  letter-spacing:-.02em;
}

.project-budget.is-with-extras .price-prefix{
  opacity:.72;
}

@media(max-width:900px){
  .project-extras{
    margin-bottom:14px;
    padding:12px;
  }

  .project-extras__label{
    padding:11px;
  }
}
/* step91 project extras end */

/* step92 lead modal two-line title start */
.lead-form__head h3[data-lead-modal-title]{
  display:grid;
  gap:4px;
  line-height:1.18;
}

.lead-form__title-line,
.lead-form__title-source{
  display:block;
}

.lead-form__title-source{
  color:var(--graphite);
  font-weight:900;
}
/* step92 lead modal two-line title end */

/* step93 extras total in main price start */
.project-extras__total{display:none!important}
.project-budget .price-prefix[hidden]{display:none!important}
/* step93 extras total in main price end */

/* step94 project gallery 16x9 left thumbs start */
.project-gallery{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-items:stretch;
}

.project-gallery--with-thumbs{
  grid-template-columns:88px minmax(0,1fr);
  gap:12px;
}

.project-gallery__thumbs{
  display:flex;
  flex-direction:column;
  gap:8px;
  overflow:auto;
  max-height:100%;
  padding:0;
  min-height:0;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}

.project-gallery__thumbs::-webkit-scrollbar{
  width:4px;
}

.project-gallery__thumb{
  flex:0 0 auto;
  width:100%;
  border:2px solid transparent;
  border-radius:10px;
  overflow:hidden;
  padding:0;
  background:#eef3f2;
  cursor:pointer;
}

.project-gallery__thumb.is-active{
  border-color:#176b65;
}

.project-gallery__thumb img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}

.project-gallery__stage{
  position:relative;
  overflow:hidden;
  border:1px solid #dce4ef;
  border-radius:10px;
  background:#eef3f2;
  aspect-ratio:16/9;
  height:auto!important;
  min-height:0!important;
}

.project-gallery__item,
.project-gallery__item.is-active{
  position:absolute;
  inset:0;
  margin:0;
  width:100%;
  height:100%;
}

.project-gallery__item{
  display:none;
}

.project-gallery__item.is-active{
  display:block;
}

.project-gallery__item img{
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}

.project-page--aligned-sidebar .project-gallery__stage,
.project-page--aligned-sidebar .project-gallery--with-thumbs .project-gallery__stage{
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
}

.project-page--mobile-polish .project-gallery__stage{
  border-radius:10px;
}

.project-page--mobile-polish .project-gallery__item img{
  aspect-ratio:auto!important;
  object-fit:cover!important;
}

@media(max-width:760px){
  .project-gallery--with-thumbs{
    grid-template-columns:64px minmax(0,1fr);
    gap:8px;
  }

  .project-gallery__thumb img{
    aspect-ratio:1/1;
  }
}
/* step94 project gallery 16x9 left thumbs end */

/* step95 project gallery smaller proportional start */
@media(min-width:901px){
  .project-gallery-shell{
    max-width:760px;
    width:100%;
  }

  .project-gallery,
  .project-gallery--with-thumbs{
    width:100%;
    max-width:760px;
  }

  .project-gallery--with-thumbs{
    grid-template-columns:72px minmax(0,1fr);
    gap:10px;
  }

  .project-gallery__stage{
    width:100%;
    max-width:100%;
    aspect-ratio:16/9;
  }

  .project-gallery__thumbs{
    max-height:100%;
    align-self:stretch;
  }
}

@media(min-width:901px) and (max-width:1100px){
  .project-gallery-shell,
  .project-gallery,
  .project-gallery--with-thumbs{
    max-width:680px;
  }
}
/* step95 project gallery smaller proportional end */

/* step96 project gallery width cap override start */
@media(min-width:901px){
  .project-page--aligned-sidebar .project-gallery-shell,
  .project-page--aligned-sidebar .project-gallery,
  .project-page--aligned-sidebar .project-gallery--with-thumbs{
    width:min(100%,760px)!important;
    max-width:760px!important;
  }

  .project-page--aligned-sidebar .project-gallery--with-thumbs{
    grid-template-columns:68px minmax(0,1fr)!important;
    gap:10px!important;
  }

  .project-page--aligned-sidebar .project-gallery__stage{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
  }
}
/* step96 project gallery width cap override end */

/* step97 project gallery balanced size start */
@media(min-width:901px){
  .project-gallery-shell,
  .project-gallery,
  .project-gallery--with-thumbs,
  .project-page--aligned-sidebar .project-gallery-shell,
  .project-page--aligned-sidebar .project-gallery,
  .project-page--aligned-sidebar .project-gallery--with-thumbs{
    width:min(100%,760px)!important;
    max-width:760px!important;
  }

  .project-page--aligned-sidebar .project-gallery--with-thumbs{
    grid-template-columns:80px minmax(0,1fr)!important;
    gap:12px!important;
  }
}
/* step97 project gallery balanced size end */

/* step98 project gallery larger again start */
@media(min-width:901px){
  .project-gallery-shell,
  .project-gallery,
  .project-gallery--with-thumbs,
  .project-page--aligned-sidebar .project-gallery-shell,
  .project-page--aligned-sidebar .project-gallery,
  .project-page--aligned-sidebar .project-gallery--with-thumbs{
    width:min(100%,920px)!important;
    max-width:920px!important;
  }

  .project-page--aligned-sidebar .project-gallery--with-thumbs{
    grid-template-columns:88px minmax(0,1fr)!important;
    gap:12px!important;
  }
}
/* step98 project gallery larger again end */

/* step99 gallery larger + 5 visible thumbs start */
@media(min-width:901px){
  .project-gallery-shell,
  .project-gallery,
  .project-gallery--with-thumbs,
  .project-page--aligned-sidebar .project-gallery-shell,
  .project-page--aligned-sidebar .project-gallery,
  .project-page--aligned-sidebar .project-gallery--with-thumbs{
    width:min(100%,1040px)!important;
    max-width:1040px!important;
  }

  .project-gallery--with-thumbs,
  .project-page--aligned-sidebar .project-gallery--with-thumbs{
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:14px!important;
    align-items:start!important;
  }

  .project-gallery__thumbs,
  .project-page--aligned-sidebar .project-gallery__thumbs{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scroll-snap-type:y proximity;
    padding-right:2px;
    scrollbar-width:thin;
  }

  .project-gallery__thumb,
  .project-page--aligned-sidebar .project-gallery__thumb{
    /* 5 thumbs + 4 gaps = visible window; height set from stage via JS max-height */
    flex:0 0 calc((100% - 40px) / 5)!important;
    width:100%!important;
    min-height:0!important;
    height:calc((100% - 40px) / 5)!important;
    scroll-snap-align:center;
  }

  .project-gallery__thumb img,
  .project-page--aligned-sidebar .project-gallery__thumb img{
    width:100%!important;
    height:100%!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
  }
}

@media(max-width:900px){
  .project-gallery--with-thumbs{
    grid-template-columns:76px minmax(0,1fr)!important;
  }

  .project-gallery__thumbs{
    max-height:min(56vw,300px);
    overflow-y:auto;
    gap:8px;
  }

  .project-gallery__thumb{
    flex:0 0 calc((100% - 32px) / 5);
    height:calc((100% - 32px) / 5);
    min-height:56px;
  }

  .project-gallery__thumb img{
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
  }
}
/* step99 gallery larger + 5 visible thumbs end */

/* step100 project gallery fullscreen lightbox start */
.project-gallery__stage{
  cursor:zoom-in;
}

.project-gallery-fs{
  position:fixed;
  inset:0;
  z-index:12000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  background:rgba(8,14,18,.92);
}

.project-gallery-fs[hidden]{
  display:none!important;
}

.project-gallery-fs__backdrop{
  position:absolute;
  inset:0;
}

.project-gallery-fs__stage{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px 72px;
  pointer-events:none;
}

.project-gallery-fs__image{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:4px;
  box-shadow:0 18px 60px rgba(0,0,0,.35);
  pointer-events:auto;
  user-select:none;
}

.project-gallery-fs__counter{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  color:rgba(255,255,255,.82);
  font:500 13px/1.2 "Manrope",system-ui,sans-serif;
  letter-spacing:.04em;
  pointer-events:none;
}

.project-gallery-fs__close,
.project-gallery-fs__nav{
  position:absolute;
  z-index:2;
  border:0;
  background:rgba(255,255,255,.1);
  color:#fff;
  cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}

.project-gallery-fs__close:hover,
.project-gallery-fs__nav:hover{
  background:rgba(255,255,255,.2);
}

.project-gallery-fs__close{
  top:16px;
  right:16px;
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:28px;
  line-height:1;
}

.project-gallery-fs__nav{
  top:50%;
  width:48px;
  height:48px;
  border-radius:50%;
  transform:translateY(-50%);
}

.project-gallery-fs__nav--prev{left:16px;}
.project-gallery-fs__nav--next{right:16px;}

.project-gallery-fs__nav::before{
  content:"";
  display:block;
  width:12px;
  height:12px;
  margin:0 auto;
  border-top:2px solid #fff;
  border-right:2px solid #fff;
}

.project-gallery-fs__nav--prev::before{transform:rotate(-135deg);margin-left:4px;}
.project-gallery-fs__nav--next::before{transform:rotate(45deg);margin-right:4px;}

body.project-gallery-fs-open{
  overflow:hidden;
}

@media(max-width:900px){
  .project-gallery-fs__stage{padding:56px 16px 48px;}
  .project-gallery-fs__nav{width:40px;height:40px;}
  .project-gallery-fs__nav--prev{left:8px;}
  .project-gallery-fs__nav--next{right:8px;}
  .project-gallery-fs__close{top:10px;right:10px;width:40px;height:40px;}
}
/* step100 project gallery fullscreen lightbox end */

/* step101 project demo link start */
.project-price-card .project-demo-link,
.project-mobile-summary .project-demo-link{
  width:100%;
  margin:0 0 10px;
}
/* step101 project demo link end */

/* step102 mobile project polish start */
@media(max-width:900px){
  .project-page--mobile-polish{
    padding-bottom:0!important;
  }

  .project-mobile-quick-contacts,
  .project-mobile-actions{
    display:none!important;
  }

  .project-gallery--with-thumbs,
  .project-page--aligned-sidebar .project-gallery--with-thumbs,
  .project-page--mobile-polish .project-gallery--with-thumbs{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
  }

  .project-gallery__stage,
  .project-page--mobile-polish .project-gallery__stage{
    order:1;
    width:100%!important;
    aspect-ratio:16/9!important;
    border-radius:12px!important;
    border:1px solid #dce4ef!important;
  }

  .project-gallery__thumbs,
  .project-page--mobile-polish .project-gallery__thumbs{
    order:2;
    display:flex!important;
    flex-direction:row!important;
    gap:8px!important;
    width:100%!important;
    max-height:none!important;
    height:auto!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 2px!important;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }

  .project-gallery__thumbs::-webkit-scrollbar{
    display:none;
  }

  .project-gallery__thumb,
  .project-page--mobile-polish .project-gallery__thumb{
    flex:0 0 58px!important;
    width:58px!important;
    height:58px!important;
    min-height:58px!important;
    scroll-snap-align:start;
  }

  .project-gallery__thumb img,
  .project-page--mobile-polish .project-gallery__thumb img,
  .project-page--mobile-polish .project-gallery__item img{
    width:100%!important;
    height:100%!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
  }

  .project-extras{
    padding:12px!important;
    gap:10px!important;
  }

  .project-extras__label{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    grid-template-columns:none!important;
    padding:10px 12px!important;
  }

  .project-extras__check{
    flex:0 0 20px;
    width:20px!important;
    height:20px!important;
    margin:0!important;
    appearance:none;
    -webkit-appearance:none;
    border:1.5px solid #c9d2df;
    border-radius:5px;
    background:#fff;
    position:relative;
  }

  .project-extras__check:checked{
    border-color:#176b65;
    background:#176b65;
  }

  .project-extras__check:checked::after{
    content:"";
    position:absolute;
    left:6px;
    top:2px;
    width:5px;
    height:10px;
    border:solid #fff;
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
  }

  .project-extras__text{
    flex:1 1 auto;
    min-width:0;
  }

  .project-extras__name{
    font-size:13px!important;
  }

  .project-extras__price{
    font-size:12px!important;
  }

  .project-page--mobile-polish .project-content-card,
  .project-page--mobile-polish .project-map-card{
    margin:12px 8px 0!important;
    padding:14px 12px!important;
  }

  .project-page--mobile-polish .project-content-card h2{
    font-size:20px!important;
    margin:0 0 10px!important;
  }

  .project-page--mobile-polish .project-content-card .content-block{
    font-size:14.5px!important;
    line-height:1.55!important;
  }

  .project-page--mobile-polish .container.project-top__inner,
  .project-page--mobile-polish .project-top .container{
    width:min(100% - 16px,1180px)!important;
  }

  .project-mobile-summary{
    padding:14px 8px!important;
  }
}
/* step102 mobile project polish end */

/* step103 mobile after-content order start */
.project-mobile-after-content{
  display:none;
}

@media(max-width:900px){
  .project-mobile-after-content{
    display:grid;
    gap:18px;
    margin:16px 8px 8px;
  }

  .project-mobile-cta{
    display:grid;
    gap:10px;
  }

  .project-mobile-cta .btn{
    width:100%;
  }

  .project-executor-portfolio{
    display:grid;
    gap:14px;
  }

  .project-executor-portfolio__head{
    margin:0;
    padding:0 4px;
  }

  .project-executor-portfolio__head h2{
    margin:0;
    font-size:22px;
    line-height:1.2;
  }

  .project-executor-portfolio__grid{
    display:grid;
    gap:12px;
  }

  .project-specialist-mini-card--mobile{
    margin:0!important;
  }
}

@media(min-width:901px){
  .project-mobile-after-content{
    display:none!important;
  }
}
/* step103 mobile after-content order end */

/* step104 compact project details start */
.project-price-details{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
  border-top:1px solid #e7edf5;
  padding-top:12px!important;
}

.project-price-details div,
.project-price-details__wide{
  display:grid!important;
  grid-template-columns:min(42%,110px) minmax(0,1fr)!important;
  gap:8px 12px!important;
  align-items:baseline!important;
  min-height:0;
}

.project-price-details dt{
  margin:0;
  color:#667085!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.35!important;
  white-space:nowrap;
}

.project-price-details dd,
.project-price-details__wide dd{
  margin:0!important;
  min-width:0;
  color:#142033!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.35!important;
  text-align:right!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.project-mobile-summary .project-price-details{
  margin-top:12px!important;
  padding-top:12px!important;
}

@media(max-width:900px){
  .project-price-details{
    gap:5px!important;
    padding-top:10px!important;
  }

  .project-price-details div,
  .project-price-details__wide{
    grid-template-columns:102px minmax(0,1fr)!important;
    gap:6px 10px!important;
  }

  .project-price-details dt,
  .project-price-details dd,
  .project-price-details__wide dd{
    font-size:12.5px!important;
  }

  .project-mobile-summary .project-price-details{
    margin-top:10px!important;
    padding-top:10px!important;
  }
}
/* step104 compact project details end */

/* step105 fixed project card height start */
.catalog-results,
.viewed-grid,
.project-executor-portfolio__grid,
.grid.catalog-results,
.grid.viewed-grid{
  align-items:stretch!important;
}

.project-card,
.catalog-page .project-card,
.viewed-grid .project-card{
  align-self:stretch!important;
  height:100%!important;
  min-height:0;
  display:flex!important;
  flex-direction:column!important;
}

.project-card > .project-card-link,
.catalog-page .project-card > .project-card-link{
  display:flex!important;
  flex-direction:column;
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
}

.project-card .project-body,
.catalog-page .project-card .project-body{
  display:flex!important;
  flex-direction:column;
  flex:1 1 auto;
  gap:6px!important;
  min-height:0;
}

.project-card-media{
  flex:0 0 auto;
}

.project-card-photo{
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  width:100%;
  height:auto;
}

.project-card-title,
.catalog-page .project-card-title{
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden!important;
  min-height:calc(1.18em * 2)!important;
  max-height:calc(1.18em * 2)!important;
  margin:0!important;
}

.project-card-budget{
  flex:0 0 auto;
  min-height:42px;
}

.project-card-facts,
.catalog-page .project-card-facts{
  flex:0 0 auto;
  min-height:86px;
  margin-top:auto!important;
}

.project-card-facts dd,
.catalog-page .project-card-facts dd{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.project-card-client,
.catalog-page .project-card-client{
  flex:0 0 auto;
  min-height:34px;
}

.project-card > .project-card-specialist,
.catalog-page .project-card > .project-card-specialist{
  flex:0 0 auto!important;
  margin-top:auto;
}

@media(max-width:760px){
  .project-card-title,
  .catalog-page .project-card-title{
    min-height:calc(1.14em * 2)!important;
    max-height:calc(1.14em * 2)!important;
  }

  .project-card-facts,
  .catalog-page .project-card-facts{
    min-height:78px;
  }

  .project-card-budget{
    min-height:38px;
  }
}
/* step105 fixed project card height end */

/* step106 home promo banner theme vars start */
.home-premium-promo__inner{
  background:var(--promo-bg,#142033)!important;
}

.home-premium-promo__content{
  background:var(--promo-bg,#142033);
  color:var(--promo-text,#fff)!important;
}

.home-premium-promo__eyebrow{
  color:var(--promo-accent,#f4c84a)!important;
}

.home-premium-promo__content h2,
.home-premium-promo__facts,
.home-premium-promo__footer strong{
  color:var(--promo-text,#fff)!important;
}

.home-premium-promo__address{
  color:var(--promo-muted,#b9c4d4)!important;
}

.home-premium-promo__button{
  border-color:transparent!important;
  background:var(--promo-btn-bg,#176b65)!important;
  color:var(--promo-btn-text,#fff)!important;
}

.home-premium-promo__button:hover{
  filter:brightness(1.06);
}
/* step106 home promo banner theme vars end */

/* step107 home slider readability + controls start */
.home-slide__content{
  position:relative;
  z-index:1;
  text-shadow:0 2px 24px rgba(0,0,0,.45);
}

.home-slide__content h1,
.home-slide__headline,
.home-slide__brand,
.home-slide__lead,
.home-slide__project-title,
.home-slide__project-stack{
  text-shadow:0 2px 18px rgba(0,0,0,.55);
}

.home-slider__controls{
  bottom:56px!important;
  z-index:6!important;
  border:1px solid rgba(255,255,255,.28)!important;
  background:rgba(8,12,18,.55)!important;
  box-shadow:0 14px 40px rgba(0,0,0,.35)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.home-slider__dots button{
  background:rgba(255,255,255,.45)!important;
}

.home-slider__dots button.is-active{
  background:#fff!important;
}

@media(max-width:760px){
  .home-slider__controls{
    bottom:calc(env(safe-area-inset-bottom) + 52px)!important;
  }

  .home-slide__inner{
    padding-bottom:148px!important;
  }
}
/* step107 home slider readability + controls end */


/* CLS locks: keep header/hero stable across critical→full CSS */
.site-header .header-inner{height:76px;min-height:76px;box-sizing:border-box}
.brand-logo{aspect-ratio:268/67}
.home-slide__content{min-height:280px}
.home-slide__lead{min-height:3.1em}
.home-slide.is-active .home-slide__content,
.home-slide.is-enter .home-slide__content{animation:none}
@media(max-width:760px){
  .site-header .header-inner{height:64px;min-height:64px}
  .home-slide__content{min-height:320px}
  .home-slide__inner{padding-bottom:148px!important}
}
.project-card-photo{aspect-ratio:16/10;object-fit:cover;background:#e5ded2}

/* step110 wow motion pack — transform/opacity only, PageSpeed-safe */
.home-slide__media{
  overflow:hidden;
}
.home-slide__bg{
  transform:scale(1);
  transform-origin:center center;
  will-change:auto;
}
.home-slider.is-motion-ready .home-slide.is-active .home-slide__bg{
  will-change:transform;
  animation:homeKenBurns 16s ease-out both;
}
@keyframes homeKenBurns{
  from{transform:scale(1)}
  to{transform:scale(1.05)}
}
.home-slide__media-parallax{
  height:100%;
  transform:translate3d(var(--hero-px,0px),var(--hero-py,0px),0) scale(1.04);
  will-change:transform;
}
.home-slider.is-parallax .home-slide__media > picture,
.home-slider.is-parallax .home-slide__media > img.home-slide__bg{
  display:block;
  height:100%;
  transform:translate3d(var(--hero-px,0px),var(--hero-py,0px),0) scale(1.03);
}

/* Stagger only after slide change (never on first paint — CLS lock) */
.home-slide.is-enter .home-slide__brand,
.home-slide.is-enter h1,
.home-slide.is-enter .home-slide__lead,
.home-slide.is-enter .home-slide__project,
.home-slide.is-enter .home-slide__meta,
.home-slide.is-enter .hero-actions{
  animation:homeLayerIn .55s cubic-bezier(.22,1,.36,1) both;
}
.home-slide.is-enter h1{animation-delay:.05s}
.home-slide.is-enter .home-slide__lead{animation-delay:.1s}
.home-slide.is-enter .home-slide__project{animation-delay:.14s}
.home-slide.is-enter .home-slide__meta{animation-delay:.18s}
.home-slide.is-enter .hero-actions{animation-delay:.22s}
@keyframes homeLayerIn{
  from{opacity:0;transform:translate3d(0,14px,0)}
  to{opacity:1;transform:none}
}

.btn-gold{
  position:relative;
  overflow:hidden;
}
.btn-gold::after{
  content:"";
  position:absolute;
  inset:-20% -40%;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);
  transform:translateX(-120%);
  pointer-events:none;
}
@media (hover:hover) and (pointer:fine){
  .btn-gold:hover::after{
    transition:transform .7s ease;
    transform:translateX(120%);
  }
}

.project-card-wow{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:2;
  margin:0;
  padding:10px 12px;
  border-radius:8px;
  background:rgba(12,16,22,.72);
  color:#fff;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.01em;
  opacity:0;
  transform:translate3d(0,8px,0);
  transition:opacity .28s ease,transform .28s ease;
  pointer-events:none;
  backdrop-filter:blur(6px);
}
.project-card-wow span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.project-card .project-card-photo{
  transition:transform .45s cubic-bezier(.22,1,.36,1);
}
@media (hover:hover) and (pointer:fine){
  .project-card:hover .project-card-photo,
  .project-card:focus-within .project-card-photo{
    transform:scale(1.04);
  }
  .project-card:hover .project-card-wow,
  .project-card:focus-within .project-card-wow{
    opacity:1;
    transform:none;
  }
}
@media (hover:none){
  .project-card.is-in-view .project-card-wow{
    opacity:1;
    transform:none;
  }
  .project-card.is-in-view .project-card-photo{
    transform:scale(1.02);
  }
}

.metric strong[data-count]{
  font-variant-numeric:tabular-nums;
}

.home-services-banner__services span{
  position:relative;
  padding:8px 10px 8px 8px;
  border-radius:8px;
  border-left:2px solid transparent;
  transition:background .35s ease,border-color .35s ease,color .35s ease,transform .35s ease;
}
.home-services-banner__services span.is-hot{
  background:rgba(255,255,255,.06);
  border-left-color:#e7c889;
  color:#fff;
  transform:translateX(2px);
}
.home-services-banner__services span.is-hot b{
  color:#e7c889;
}

.lead-modal{
  transition:opacity .28s ease;
}
.lead-modal__backdrop{
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.lead-modal__dialog{
  transform:translate3d(0,16px,0) scale(.97);
  transition:transform .32s cubic-bezier(.22,1,.36,1);
}
.lead-modal.is-open .lead-modal__dialog{
  transform:none;
}
.lead-form--success .form-grid{
  display:none;
}
.form-success{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.form-success__mark{
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  flex:0 0 auto;
  border-radius:50%;
  background:rgba(47,111,94,.14);
  color:var(--green);
  font-size:16px;
  font-weight:900;
  line-height:1;
  animation:formSuccessPop .45s cubic-bezier(.22,1,.36,1) both;
}
@keyframes formSuccessPop{
  from{opacity:0;transform:scale(.6)}
  to{opacity:1;transform:none}
}
.form-success__text{
  display:block;
  padding-top:3px;
}

@media (prefers-reduced-motion:reduce),(max-width:760px){
  .home-slider.is-motion-ready .home-slide.is-active .home-slide__bg,
  .home-slide.is-enter .home-slide__brand,
  .home-slide.is-enter h1,
  .home-slide.is-enter .home-slide__lead,
  .home-slide.is-enter .home-slide__project,
  .home-slide.is-enter .home-slide__meta,
  .home-slide.is-enter .hero-actions,
  .form-success__mark{
    animation:none!important;
  }
  .home-slider.is-parallax .home-slide__media > picture,
  .home-slider.is-parallax .home-slide__media > img.home-slide__bg,
  .project-card .project-card-photo{
    transform:none!important;
    transition:none!important;
  }
}
@media (prefers-reduced-motion:reduce){
  .project-card-wow,
  .home-services-banner__services span,
  .lead-modal,
  .lead-modal__dialog,
  .btn-gold::after{
    transition:none!important;
    animation:none!important;
  }
  .project-card-wow{opacity:0}
  @media (hover:none){
    .project-card.is-in-view .project-card-wow{opacity:1;transform:none}
  }
}
/* step110 wow motion pack end */



/* dual phone flags on contacts */
.contacts-method__icon--phone{
  display:inline-flex!important;
  gap:6px!important;
  align-items:center!important;
  justify-content:center!important;
  background:#edf5f3!important;
  color:#176b65!important;
}
.contacts-method__icon--phone .header-phone__flag{
  width:18px;
  height:12px;
}
.contacts-method__icon--phone .header-phone__flag svg{
  width:18px;
  height:12px;
}
.contacts-method__icon--phone .contacts-phone-ico{
  width:18px!important;
  height:18px!important;
  fill:none!important;
  stroke:currentColor!important;
}
.contacts-phone-btn{
  gap:10px!important;
  font-weight:600!important;
}
.contacts-phone-btn .header-phone__flag{
  width:20px;
  height:14px;
}
.contacts-phone-btn .header-phone__flag svg{
  width:20px;
  height:14px;
}

/* ===== Cookie consent + boot veil ===== */
.site-boot{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(247,245,239,.55);
  backdrop-filter:blur(18px) saturate(1.15);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
  transition:opacity .45s ease,visibility .45s ease;
}
html.is-ready .site-boot{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.cookie-banner{
  position:fixed;
  inset:auto 14px 14px;
  z-index:9000;
  max-width:960px;
  margin:0 auto;
  left:14px;
  right:14px;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px);
  transition:opacity .28s ease,visibility .28s ease,transform .28s ease;
}
.cookie-banner.is-visible{
  pointer-events:auto;
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.cookie-banner[hidden]{
  display:none!important;
}
.cookie-banner.is-visible[hidden]{
  display:block!important;
}
.cookie-banner__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border:1px solid rgba(232,225,212,.9);
  border-radius:16px;
  background:rgba(255,255,255,.78);
  box-shadow:0 22px 55px rgba(32,36,42,.16);
  backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
  color:#20242a;
}
.cookie-banner__title{
  margin:0 0 4px;
  font-size:15px;
  font-weight:800;
  letter-spacing:-.01em;
}
.cookie-banner__text{
  margin:0;
  max-width:62ch;
  color:#69717c;
  font-size:13px;
  line-height:1.5;
}
.cookie-banner__link{
  color:#176b65;
  text-decoration:underline;
  text-underline-offset:2px;
}
.cookie-banner__actions{
  display:flex;
  flex:0 0 auto;
  flex-wrap:wrap;
  gap:8px;
}
.cookie-banner__btn{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:10px;
  padding:0 14px;
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.cookie-banner__btn--accept{
  background:linear-gradient(135deg,#d4b07a,#b89556);
  color:#1a1510;
}
.cookie-banner__btn--decline{
  border-color:#e8e1d4;
  background:rgba(247,245,239,.9);
  color:#3a4553;
}
.cookie-banner__btn:hover{
  transform:translateY(-1px);
}
@media(max-width:760px){
  .cookie-banner{
    inset:auto 10px 10px;
  }
  .cookie-banner__inner{
    flex-direction:column;
    align-items:stretch;
    padding:14px;
  }
  .cookie-banner__actions{
    width:100%;
  }
  .cookie-banner__btn{
    flex:1 1 auto;
  }
}

.company-settings-textarea{
  grid-column:1/-1!important;
}
.company-settings-textarea textarea{
  width:100%!important;
  min-height:140px!important;
  border:1px solid var(--line,#e8e1d4)!important;
  border-radius:10px!important;
  padding:12px!important;
  background:#fff!important;
  color:var(--graphite,#20242a)!important;
  font:inherit!important;
  font-size:13px!important;
  line-height:1.45!important;
  resize:vertical!important;
}

/* currency money flags css start */
.money{
  display:inline-flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:.28em .42em;
  max-width:100%;
  vertical-align:baseline;
}
.money__prefix,
.money__value,
.money__currency{
  white-space:nowrap;
}
.money__flags{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:.05em;
  vertical-align:middle;
}
.money__flag{
  display:inline-flex;
  width:22px;
  height:16px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(20,32,51,.14);
  border-radius:3px;
  padding:0;
  background:#fff;
  box-shadow:0 1px 0 rgba(20,32,51,.06);
  cursor:pointer;
  order:2;
  opacity:.72;
  transition:opacity .18s ease, transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.money__flag svg{
  display:block;
  width:16px;
  height:11px;
}
.money__flag.is-near,
.money__flag.is-active{
  order:1;
  opacity:1;
  border-color:rgba(20,32,51,.28);
  box-shadow:0 2px 8px rgba(20,32,51,.12);
  transform:translateY(-.5px);
}
.money__flag:hover,
.money__flag:focus-visible{
  opacity:1;
  outline:none;
  border-color:rgba(23,107,101,.45);
}
.money[data-currency="byn"] .money__currency{
  font-size:.88em;
  font-weight:800;
  letter-spacing:.02em;
}
.money--extra{
  font-size:.95em;
}
.money--extra .money__flag{
  width:18px;
  height:13px;
}
.money--extra .money__flag svg{
  width:13px;
  height:9px;
}
.money--request{
  color:inherit;
}
.project-card .money,
.home-slide__meta .money,
.home-premium-promo__footer .money,
.project-budget.money{
  align-items:center;
}
.home-premium-promo__footer .money__flag{
  border-color:rgba(255,255,255,.35);
  background:rgba(255,255,255,.92);
}
.home-slide__meta .money__flag{
  border:0;
  background:transparent;
  box-shadow:none;
}
.project-budget .money__prefix[hidden],
.project-budget .price-prefix[hidden]{
  display:none!important;
}
.project-extras__price .money{
  justify-content:flex-end;
}
@media(max-width:760px){
  .money__flag{
    width:20px;
    height:15px;
  }
}
/* currency money flags css end */

/* hero meta: plain labels, no plates */
.home-slide__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0;
  font-size:17px;
  font-weight:450;
  letter-spacing:.01em;
  line-height:1.35;
  color:rgba(255,255,255,.88);
}
.home-slide__meta span,
.home-slide__meta strong{
  display:inline;
  min-height:0!important;
  margin:0;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  letter-spacing:inherit;
}
.home-slide__meta > *:not(:last-child)::after{
  content:" · ";
  font-weight:400;
  opacity:.5;
  margin:0 .1em;
}
.home-slide__meta strong .money{
  display:inline-flex!important;
  align-items:center;
  flex-wrap:nowrap;
  gap:.28em .38em;
  vertical-align:middle;
  color:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
}
.home-slide__meta strong .money__prefix,
.home-slide__meta strong .money__value,
.home-slide__meta strong .money__currency{
  display:inline;
  color:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
}
.home-slide__meta .money__flags{
  display:inline-flex!important;
  align-items:center;
  gap:5px;
  margin-left:.15em;
}
.home-slide__meta .money__flag,
.home-slide__meta strong .money__flag{
  display:inline-flex!important;
  width:auto;
  height:auto;
  min-width:0;
  min-height:0;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:.72;
  transform:none;
}
.home-slide__meta .money__flag svg,
.home-slide__meta strong .money__flag svg{
  width:18px;
  height:12px;
  border-radius:1px;
  box-shadow:0 0 0 1px rgba(255,255,255,.18);
}
.home-slide__meta .money__flag.is-near,
.home-slide__meta .money__flag.is-active,
.home-slide__meta strong .money__flag.is-near,
.home-slide__meta strong .money__flag.is-active{
  opacity:1;
  transform:none;
  box-shadow:none!important;
  border:0!important;
  background:transparent!important;
}
.home-slide__meta .money__flag:hover,
.home-slide__meta .money__flag:focus-visible{
  opacity:1;
  border:0!important;
  background:transparent!important;
}
@media (max-width:760px){
  .home-slide__meta{
    font-size:15.5px;
    font-weight:450;
    line-height:1.4;
  }
  .home-slide__meta .money__flag svg{
    width:16px;
    height:11px;
  }
}
/* hero money pill readable end */

/* geo country phone/currency css start
   Both phones + currency flags always visible.
   Geo only prefers default currency in JS (no hard hide).
*/
.money__flags[hidden]{
  display:none!important;
}
/* geo country phone/currency css end */

/* home SEO create + FAQ (below-fold, not in critical LCP) start */
.home-create__intro{
  max-width:640px;
  margin:12px 0 0;
}
.home-create__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px 36px;
  margin-top:28px;
}
.home-create__item h3{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.2;
  letter-spacing:-.01em;
}
.home-create__item p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.55;
}
.home-create__price{
  margin-top:14px!important;
  color:var(--graphite)!important;
  font-size:14px!important;
  font-weight:700;
}
.home-create__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.home-faq__list{
  display:grid;
  gap:10px;
  margin-top:22px;
  max-width:820px;
}
.home-faq__item{
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface,#fff);
  overflow:hidden;
}
.home-faq__item summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  font-size:16px;
  font-weight:700;
  line-height:1.35;
  color:var(--graphite);
}
.home-faq__item summary::-webkit-details-marker{display:none}
.home-faq__item summary::after{
  content:"+";
  flex:0 0 auto;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--surface-2,#f0ebe1);
  color:var(--graphite);
  font-size:18px;
  font-weight:700;
  line-height:1;
}
.home-faq__item[open] summary::after{content:"–"}
.home-faq__answer{
  padding:0 18px 18px;
  color:var(--muted);
  font-size:15px;
  line-height:1.55;
}
.home-faq__answer p{margin:0}
@media(max-width:900px){
  .home-create__grid{grid-template-columns:1fr;gap:22px}
}
@media(max-width:760px){
  .home-create__actions{display:grid;grid-template-columns:1fr}
  .home-faq__item summary{font-size:15px;padding:14px 14px}
  .home-faq__answer{padding:0 14px 14px;font-size:14px}
}
/* home SEO create + FAQ end */

/* seo wave2 page bands start */
.catalog-hero__lead,
.team-hero__lead{
  max-width:640px;
  margin:10px 0 0;
  color:rgba(32,36,42,.78);
  font-size:17px;
  line-height:1.55;
}
.catalog-hero__links{
  margin:10px 0 0;
  color:var(--muted,#69717c);
  font-size:15px;
}
.catalog-hero__links a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}
.catalog-hero .breadcrumbs{
  margin:0 0 14px;
}
.page-seo-band{
  padding:48px 0 64px;
}
.page-seo-band__inner{
  max-width:720px;
}
.page-seo-band h2{
  margin:0 0 12px;
  font-size:clamp(24px,3vw,32px);
  line-height:1.2;
  letter-spacing:-.02em;
}
.page-seo-band p{
  margin:0;
  color:var(--muted,#69717c);
  font-size:16px;
  line-height:1.6;
}
.page-seo-band__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}
/* seo wave2 page bands end */

/* geo city landings v3 — dense + app mobile, perf-first */
.geo-page{
  --geo-ink:#171a1f;
  --geo-muted:#6a727c;
  --geo-line:rgba(23,26,31,.1);
  --geo-accent:#b89556;
  --geo-surface:#f6f3ed;
  background:var(--geo-surface);
  color:var(--geo-ink);
}
.geo-page:has(.geo-hero--minsk){--geo-accent:#176b65}
.geo-crumbs{
  position:absolute;
  top:76px;
  left:0;right:0;
  z-index:3;
}
.geo-crumbs .container{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  color:rgba(255,255,255,.5);
  font-size:11px;
  font-weight:600;
}
.geo-crumbs a{color:rgba(255,255,255,.78);text-decoration:none}
.geo-crumbs a:hover{color:#fff}
.geo-hero{
  position:relative;
  min-height:min(78svh,720px);
  display:grid;
  align-items:end;
  overflow:hidden;
  color:#fff;
  background:#0c1016;
}
.geo-hero__media,
.geo-hero__veil{position:absolute;inset:0}
.geo-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.geo-hero--moscow .geo-hero__veil{
  background:
    linear-gradient(105deg,rgba(8,10,14,.97) 0%,rgba(8,10,14,.9) 36%,rgba(8,10,14,.42) 72%,rgba(8,10,14,.2) 100%),
    linear-gradient(0deg,rgba(8,10,14,.78) 0%,rgba(8,10,14,.25) 48%,transparent 72%);
}
.geo-hero--moscow .geo-hero__media img{object-position:72% center}
.geo-hero--minsk .geo-hero__brand{color:#9fd9d3}
.geo-page:has(.geo-hero--minsk) .geo-story__points span,
.geo-page:has(.geo-hero--minsk) .geo-process__line b{color:#176b65}
.geo-page:has(.geo-hero--minsk) .geo-process__line li{border-top-color:#176b65}
.geo-page:has(.geo-hero--minsk) .geo-request__alt a{color:#9fd9d3}
.geo-request--minsk,
.geo-page:has(.geo-hero--minsk) .geo-request{
  background:
    radial-gradient(circle at 85% 18%,rgba(23,107,101,.24),transparent 42%),
    #0e1718;
}
.geo-hero--minsk .geo-hero__veil{
  background:
    linear-gradient(105deg,rgba(6,18,20,.97) 0%,rgba(6,18,20,.88) 38%,rgba(6,18,20,.4) 72%,rgba(6,18,20,.18) 100%),
    linear-gradient(0deg,rgba(6,18,20,.78) 0%,rgba(6,18,20,.25) 48%,transparent 72%);
}
.geo-hero--minsk .geo-hero__media img{object-position:68% center}
.geo-hero__inner{
  position:relative;
  z-index:2;
  padding:120px 0 48px;
  max-width:680px;
}
.geo-hero__brand{
  margin:0 0 6px;
  color:#e7c889;
  font-size:clamp(22px,3.2vw,34px);
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1;
}
.geo-hero__eyebrow{
  margin:0 0 10px;
  color:rgba(255,255,255,.58);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.geo-hero h1{
  margin:0 0 12px;
  font-size:clamp(34px,5.4vw,58px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:800;
}
.geo-hero__lead{
  max-width:480px;
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:clamp(15px,1.4vw,17px);
  line-height:1.45;
}
.geo-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.geo-btn-ghost{
  background:rgba(255,255,255,.1)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.22)!important;
}
.geo-btn-ghost:hover{background:rgba(255,255,255,.16)!important}
.geo-hero__contact{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  align-items:baseline;
  margin:18px 0 0;
  color:rgba(255,255,255,.5);
  font-size:13px;
}
.geo-hero__contact a{
  color:#fff;
  font-weight:700;
  font-size:15px;
}
.geo-strip{
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#12161b;
  color:#fff;
}
.geo-strip__row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  padding:16px 0;
}
.geo-strip__row > div{
  display:grid;
  gap:3px;
  padding:4px 14px 4px 0;
  border-right:1px solid rgba(255,255,255,.1);
}
.geo-strip__row > div:last-child{border-right:0}
.geo-strip__row b{
  font-size:17px;
  letter-spacing:-.02em;
  color:#e7c889;
}
.geo-strip__row span{
  color:rgba(255,255,255,.5);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.geo-strip--minsk{background:#0e1718}
.geo-strip--minsk .geo-strip__row b{color:#9fd9d3}
.geo-story,
.geo-offer,
.geo-cases,
.geo-process,
.geo-faq{
  content-visibility:auto;
  contain-intrinsic-size:1px 480px;
}
.geo-story{padding:48px 0 28px}
.geo-story__grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:28px 40px;
  align-items:start;
}
.geo-story h2,
.geo-offer h2,
.geo-cases h2,
.geo-process h2,
.geo-faq h2,
.geo-request h2{
  margin:6px 0 0;
  font-size:clamp(24px,2.8vw,34px);
  line-height:1.1;
  letter-spacing:-.03em;
}
.geo-page .eyebrow{
  margin:0;
  font-size:11px;
  letter-spacing:.12em;
}
.geo-story__copy > p:last-child{
  margin:12px 0 0;
  max-width:420px;
  color:var(--geo-muted);
  font-size:15px;
  line-height:1.5;
}
.geo-story__points{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:0;
  border-top:1px solid var(--geo-line);
}
.geo-story__points li{
  display:grid;
  grid-template-columns:40px 1fr;
  gap:10px;
  padding:12px 0;
  border-bottom:1px solid var(--geo-line);
}
.geo-story__points span{
  color:var(--geo-accent);
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  padding-top:2px;
}
.geo-story__points strong{
  display:block;
  margin-bottom:2px;
  font-size:15px;
}
.geo-story__points p{
  margin:0;
  color:var(--geo-muted);
  font-size:14px;
  line-height:1.4;
}
.geo-offer{padding:12px 0 40px}
.geo-offer__head p:last-child{
  margin:8px 0 0;
  color:var(--geo-muted);
  font-size:14px;
}
.geo-offer__list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:22px;
  border-top:1px solid var(--geo-line);
}
.geo-offer__list article{
  padding:18px 18px 6px 0;
  border-bottom:1px solid var(--geo-line);
}
.geo-offer__list article + article{
  padding-left:20px;
  border-left:1px solid var(--geo-line);
}
.geo-offer__list h3{
  margin:0 0 6px;
  font-size:18px;
  letter-spacing:-.02em;
}
.geo-offer__list p{
  margin:0;
  color:var(--geo-muted);
  font-size:14px;
  line-height:1.4;
  min-height:2.8em;
}
.geo-offer__list strong{
  display:block;
  margin-top:16px;
  font-size:22px;
  letter-spacing:-.03em;
}
.geo-offer__list span{
  display:block;
  margin-top:4px;
  color:var(--geo-muted);
  font-size:12px;
}
.geo-cases{padding:8px 0 40px}
.geo-cases__head{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  justify-content:space-between;
  align-items:end;
  margin-bottom:16px;
}
.geo-link{
  color:var(--geo-accent);
  font-weight:800;
  font-size:14px;
  text-decoration:none;
}
.geo-link:hover{text-decoration:underline;text-underline-offset:3px}
.geo-cases__rail{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  width:min(100% - 32px,1180px);
  margin:0 auto;
}
.geo-case{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:14px;
  background:#111;
  color:#fff;
  text-decoration:none;
  min-height:220px;
  aspect-ratio:4/3;
}
.geo-case img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  transition:transform .55s ease;
}
.geo-case:hover img{transform:scale(1.04)}
.geo-case__cap{
  position:absolute;
  left:0;right:0;bottom:0;
  display:grid;
  gap:2px;
  padding:48px 14px 14px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.8));
}
.geo-case__cap b{font-size:15px;letter-spacing:-.02em}
.geo-case__cap i{font-style:normal;color:rgba(255,255,255,.68);font-size:12px}
.geo-process{padding:8px 0 36px}
.geo-process__line{
  margin:18px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.geo-process__line li{
  display:grid;
  gap:4px;
  padding-top:12px;
  border-top:2px solid var(--geo-accent);
}
.geo-process__line b{
  color:var(--geo-accent);
  font-size:11px;
  letter-spacing:.1em;
}
.geo-process__line strong{font-size:16px;letter-spacing:-.02em}
.geo-process__line span{color:var(--geo-muted);font-size:13px;line-height:1.35}
.geo-faq{padding:4px 0 40px}
.geo-faq__inner{max-width:680px}
.geo-faq__item{border-bottom:1px solid var(--geo-line)}
.geo-faq__item summary{
  cursor:pointer;
  list-style:none;
  padding:14px 0;
  font-size:15px;
  font-weight:700;
  letter-spacing:-.01em;
}
.geo-faq__item summary::-webkit-details-marker{display:none}
.geo-faq__item p{
  margin:0;
  padding:0 0 14px;
  color:var(--geo-muted);
  font-size:14px;
  line-height:1.5;
}
.geo-request{
  position:relative;
  padding:56px 0;
  color:#fff;
  background:
    radial-gradient(circle at 88% 12%,rgba(184,149,86,.18),transparent 38%),
    #10141a;
  content-visibility:auto;
  contain-intrinsic-size:1px 520px;
}
.geo-request__layout{
  display:grid;
  grid-template-columns:minmax(260px,.95fr) minmax(0,1.15fr);
  gap:28px 36px;
  align-items:center;
}
.geo-request__copy{
  display:grid;
  gap:10px;
  align-content:center;
  max-width:420px;
}
.geo-request__copy .geo-hero__brand{margin:0;font-size:20px;color:#e7c889}
.geo-request__copy h2{margin:0;color:#fff;font-size:clamp(26px,3vw,36px)}
.geo-request__copy > p{
  margin:0;
  color:rgba(255,255,255,.7);
  font-size:15px;
  line-height:1.45;
}
.geo-request__alt{margin:6px 0 0;font-size:13px}
.geo-request__alt a{color:#e7c889;font-weight:700}
.geo-request__form{
  width:100%;
  padding:26px 24px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:#fff;
  color:#171a1f;
  box-shadow:0 18px 48px rgba(0,0,0,.28);
}
/* kill nested card: lead-form is global white/max-width 520 */
.geo-request__form .lead-form{
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  gap:12px;
}
.geo-request__form .lead-form,
.geo-request__form .lead-form h3,
.geo-request__form label,
.geo-request__form .form-note,
.geo-request__form .form-check,
.geo-request__form .form-check span,
.geo-request__form .privacy-check,
.geo-request__form p{color:#171a1f!important}
.geo-request__form .lead-form__eyebrow{
  margin:0 0 2px;
  color:#6a727c!important;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.geo-request__form .lead-form h3{
  margin:0;
  font-size:22px;
  letter-spacing:-.02em;
}
.geo-request__form .lead-form__head{margin-bottom:2px}
.geo-request__form .form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.geo-request__form .form-grid > .field:nth-child(3),
.geo-request__form .form-grid > .textarea,
.geo-request__form .form-grid > .privacy-check,
.geo-request__form .form-grid > .btn,
.geo-request__form .form-grid > .form-errors,
.geo-request__form .form-grid > .form-success{
  grid-column:1/-1;
}
.geo-request__form .field,
.geo-request__form .textarea{
  min-height:46px;
  border:1px solid rgba(23,26,31,.14)!important;
  border-radius:12px!important;
  background:#f4f1ea!important;
  color:#171a1f!important;
  box-shadow:none!important;
}
.geo-request__form .textarea{min-height:96px;resize:vertical}
.geo-request__form .field:focus,
.geo-request__form .textarea:focus{
  border-color:rgba(23,107,101,.55)!important;
  outline:none;
  background:#fff!important;
}
.geo-request__form .privacy-check{
  margin-top:2px;
  color:#5c6570!important;
  font-size:12px;
}
.geo-request__form .btn{
  min-height:48px;
  border-radius:12px;
  margin-top:2px;
}
.geo-request__form a{color:#176b65!important}

@media(max-width:980px){
  .geo-story__grid,
  .geo-offer__list,
  .geo-cases__rail,
  .geo-process__line,
  .geo-request__layout,
  .geo-strip__row{grid-template-columns:1fr 1fr}
  .geo-offer__list article + article{padding-left:0;border-left:0}
  .geo-crumbs{top:64px}
}

@media(max-width:700px){
  .geo-page{padding-bottom:24px}
  .geo-crumbs{top:58px}
  .geo-crumbs .container{font-size:10px;gap:5px}
  .geo-hero{
    min-height:auto;
    min-height:unset;
    height:auto;
    align-items:end;
  }
  .geo-hero__inner{padding:88px 0 22px}
  .geo-hero__brand{font-size:20px;margin-bottom:4px}
  .geo-hero__eyebrow{margin-bottom:8px;font-size:10px}
  .geo-hero h1{font-size:clamp(30px,8.4vw,40px);margin-bottom:8px}
  .geo-hero__lead{font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .geo-hero__actions{
    display:grid;
    grid-template-columns:1.2fr .9fr;
    gap:8px;
    margin-top:14px;
  }
  .geo-hero__actions .btn{
    min-height:44px;
    border-radius:12px;
    padding:0 12px;
    font-size:13px;
    width:auto;
  }
  .geo-hero__contact{margin-top:12px;font-size:12px}
  .geo-hero__contact a{font-size:14px}

  /* app sheet */
  .geo-strip{
    position:relative;
    z-index:2;
    border-bottom:0;
  }
  .geo-strip__row{
    display:flex;
    grid-template-columns:none;
    gap:8px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-left:16px;
    -webkit-overflow-scrolling:touch;
    margin:0 -16px;
    padding:10px 16px 14px;
    scrollbar-width:none;
  }
  .geo-strip__row::-webkit-scrollbar{display:none}
  .geo-strip__row > div{
    flex:0 0 auto;
    min-width:118px;
    scroll-snap-align:start;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:12px;
    border-right:1px solid rgba(255,255,255,.1);
    background:rgba(255,255,255,.05);
  }
  .geo-strip__row b{font-size:14px}
  .geo-strip__row span{font-size:9px}

  .geo-story,
  .geo-offer,
  .geo-cases,
  .geo-process,
  .geo-faq{
    position:relative;
    z-index:3;
  }
  .geo-story{
    margin-top:-8px;
    padding:22px 0 10px;
    border-radius:18px 18px 0 0;
    background:var(--geo-surface);
    box-shadow:0 -8px 24px rgba(0,0,0,.12);
  }
  .geo-story__grid,
  .geo-request__layout{grid-template-columns:1fr}
  .geo-story h2,
  .geo-offer h2,
  .geo-cases h2,
  .geo-process h2,
  .geo-faq h2,
  .geo-request h2{font-size:22px}
  .geo-story__copy > p:last-child{font-size:14px;margin-top:8px}
  .geo-offer{padding:6px 0 14px}
  .geo-cases{padding:6px 0 14px}
  .geo-process{padding:6px 0 14px}
  .geo-faq{padding:4px 0 18px}
  .geo-cases__head{margin-bottom:10px;align-items:center}
  .geo-offer__head p:last-child{margin-top:4px;font-size:13px}

  /* denser app carousels */
  .geo-story__points,
  .geo-offer__list,
  .geo-process__line,
  .geo-cases__rail{
    display:flex;
    grid-template-columns:none;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-left:16px;
    -webkit-overflow-scrolling:touch;
    margin-left:-16px;
    margin-right:-16px;
    padding:2px 16px 12px;
    border-top:0;
    scrollbar-width:none;
  }
  .geo-story__points::-webkit-scrollbar,
  .geo-offer__list::-webkit-scrollbar,
  .geo-process__line::-webkit-scrollbar,
  .geo-cases__rail::-webkit-scrollbar{display:none}

  .geo-story__points li,
  .geo-offer__list article,
  .geo-process__line li{
    flex:0 0 min(72vw,270px);
    scroll-snap-align:start;
    padding:12px 12px;
    border:1px solid var(--geo-line);
    border-radius:14px;
    border-left:1px solid var(--geo-line);
    background:#fff;
    min-height:100%;
    box-shadow:0 1px 0 rgba(23,26,31,.04);
  }
  .geo-story__points li{grid-template-columns:1fr;gap:4px}
  .geo-story__points span{padding-top:0;font-size:11px}
  .geo-story__points strong{font-size:14px}
  .geo-story__points p{font-size:12px}
  .geo-offer__list article + article{padding-left:12px;border-left:1px solid var(--geo-line)}
  .geo-offer__list h3{font-size:16px;margin-bottom:4px}
  .geo-offer__list p{min-height:0;font-size:13px}
  .geo-offer__list strong{margin-top:12px;font-size:20px}
  .geo-offer__list span{font-size:11px}
  .geo-process__line li{border-top:2px solid var(--geo-accent);padding-top:10px}
  .geo-process__line strong{font-size:14px}
  .geo-process__line span{font-size:12px}

  .geo-cases__rail{
    width:auto;
    margin-left:-16px;
    margin-right:-16px;
    padding:2px 16px 8px;
    gap:8px;
  }
  .geo-case{
    flex:0 0 min(76vw,300px);
    scroll-snap-align:start;
    min-height:0;
    aspect-ratio:5/4;
    border-radius:14px;
  }
  .geo-case img{min-height:0}
  .geo-case__cap{padding:40px 12px 12px}
  .geo-case__cap b{font-size:14px}
  .geo-faq__item summary{padding:12px 0;font-size:14px}
  .geo-faq__item p{padding-bottom:12px;font-size:13px}

  .geo-request{
    padding:24px 0 32px;
    border-radius:18px 18px 0 0;
  }
  .geo-request__layout{gap:16px}
  .geo-request__copy{max-width:none;gap:8px}
  .geo-request__copy .geo-hero__brand{font-size:16px}
  .geo-request__copy h2{font-size:22px}
  .geo-request__copy > p{font-size:13px}
  .geo-request__form{
    padding:16px 14px;
    border-radius:14px;
    box-shadow:none;
  }
  .geo-request__form .lead-form h3{font-size:17px}
  .geo-request__form .form-grid{
    grid-template-columns:1fr;
    gap:8px;
  }
  .geo-request__form .textarea{min-height:84px}

}
@media(prefers-reduced-motion:reduce){
  .geo-case img{transition:none}
}


.services-geo{padding:48px 0}
.services-geo .lead{
  max-width:640px;
  margin:12px 0 0;
  color:var(--muted);
  line-height:1.55;
}
.services-geo__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:24px;
}
.services-geo__card{
  position:relative;
  display:grid;
  gap:8px;
  min-height:140px;
  align-content:end;
  padding:24px;
  border:0;
  border-radius:18px;
  overflow:hidden;
  color:#fff;
  text-decoration:none;
  background:#171a1f;
}
.services-geo__card:first-child{
  background:
    linear-gradient(135deg,rgba(12,14,18,.55),rgba(12,14,18,.82)),
    url('/assets/img/project/realestate/realestate-720.webp') center/cover;
}
.services-geo__card:last-child{
  background:
    linear-gradient(135deg,rgba(10,22,24,.5),rgba(10,22,24,.85)),
    url('/assets/img/project/dsg/dsg-main-720.webp') center/cover;
}
.services-geo__card strong{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.services-geo__card span{
  font-size:24px;
  font-weight:800;
  letter-spacing:-.03em;
}

/* Brief picker on the home page */
.btn-brief{
  position:relative;
  z-index:8;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:none;
  backdrop-filter:blur(10px);
  -webkit-appearance:none;
  touch-action:manipulation;
}
.btn-brief:hover{
  border-color:rgba(255,255,255,.65);
  background:rgba(255,255,255,.2);
}
body.brief-picker-open{
  overflow:hidden;
}
.brief-picker{
  position:fixed;
  inset:0;
  z-index:150;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease,visibility .2s ease;
}
.brief-picker.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.brief-picker__backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(7,23,38,.58);
  backdrop-filter:blur(10px);
  cursor:pointer;
}
.brief-picker__dialog{
  position:relative;
  z-index:1;
  width:min(100%,560px);
  padding:32px;
  border:1px solid #dce5ef;
  border-radius:24px;
  background:#fff;
  color:#152238;
  box-shadow:0 28px 90px rgba(5,22,45,.28);
  transform:translateY(14px) scale(.985);
  transition:transform .2s ease;
}
.brief-picker.is-open .brief-picker__dialog{
  transform:translateY(0) scale(1);
}
.brief-picker__close{
  position:absolute;
  top:16px;
  right:16px;
  display:grid;
  width:40px;
  height:40px;
  place-items:center;
  padding:0;
  border:1px solid #dce5ef;
  border-radius:12px;
  background:#f7f9fc;
  color:#526174;
  font:400 27px/1 Arial,sans-serif;
  cursor:pointer;
}
.brief-picker__eyebrow{
  margin:0 52px 8px 0;
  color:#168fe5;
  font-size:12px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.brief-picker h2{
  margin:0;
  font-size:clamp(28px,4vw,38px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.brief-picker__lead{
  margin:14px 0 24px;
  color:#607086;
  font-size:15px;
  line-height:1.6;
}
.brief-picker__field{
  display:grid;
  gap:8px;
  color:#334155;
  font-size:14px;
  font-weight:800;
}
.brief-picker__field select{
  width:100%;
  min-height:54px;
  padding:0 44px 0 15px;
  border:1px solid #cfdbe8;
  border-radius:14px;
  background:#fff;
  color:#152238;
  font:600 16px/1.25 Arial,sans-serif;
  cursor:pointer;
}
.brief-picker__field select:focus{
  border-color:#168fe5;
  outline:3px solid rgba(22,143,229,.14);
}
.brief-picker__go{
  width:100%;
  min-height:54px;
  margin-top:16px;
  background:linear-gradient(135deg,#0b2346,#168fe5);
}
.brief-picker__go:disabled{
  opacity:.46;
  cursor:not-allowed;
}
@media(max-width:760px){
  .home-slide__content{
    position:static;
    min-height:350px;
  }
  .home-slide__brand,
  .home-slide__lead-desktop,
  .home-slide__project-stack,
  .home-slide__action-desktop{
    display:none;
  }
  .home-slide__meta .home-slide__meta-screens{
    display:none;
  }
  .home-slide__lead-mobile,
  .home-slide__action-mobile{
    display:inline;
  }
  .home-slide__content h1,
  .home-slide__headline{
    min-height:3.15em;
    margin-bottom:10px;
    font-size:clamp(30px,8.5vw,36px);
    line-height:1.05;
  }
  .home-slide__lead{
    display:-webkit-box;
    min-height:2.8em;
    max-width:330px;
    overflow:hidden;
    font-size:15px;
    line-height:1.4;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .home-slide__project{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    width:fit-content;
    max-width:100%;
    min-height:42px;
    align-items:center;
    gap:6px 10px;
    margin-top:16px;
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:14px;
    background:linear-gradient(135deg,rgba(10,23,38,.62),rgba(16,42,61,.36));
    box-shadow:0 12px 30px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.1);
    -webkit-backdrop-filter:blur(14px) saturate(1.18);
    backdrop-filter:blur(14px) saturate(1.18);
  }
  .home-slide__project-label{
    color:#f2d38e;
    text-shadow:0 1px 12px rgba(0,0,0,.55);
  }
  .home-slide__project-title{
    display:-webkit-box;
    overflow:hidden;
    font-size:17px;
    line-height:1.2;
    text-shadow:0 1px 14px rgba(0,0,0,.72);
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .home-slide__meta{
    min-height:36px;
    margin-top:10px;
  }
  .home-slide .hero-actions{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px;
    margin-top:14px;
  }
  .home-slide .hero-actions > .btn:not(.btn-brief){
    width:100%;
    min-height:52px;
    padding:0 10px;
    border-radius:16px;
    font-size:13px;
    white-space:nowrap;
  }
  .home-slide .btn-brief{
    position:absolute;
    top:auto;
    right:-12px;
    bottom:18px;
    z-index:12;
    width:42px!important;
    min-height:98px!important;
    margin:0;
    padding:12px 0!important;
    border:1px solid rgba(255,255,255,.9);
    border-right:0;
    border-radius:14px 0 0 14px!important;
    background:transparent;
    box-shadow:0 12px 34px rgba(0,0,0,.2),inset 0 0 0 1px rgba(255,255,255,.08);
    font-size:0;
    line-height:1;
    writing-mode:vertical-rl;
    transform:rotate(0deg);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  body:has(.cookie-banner.is-visible) .home-slide .btn-brief{
    bottom:170px;
  }
  .home-slide .btn-brief::before{
    content:"Brief";
    font-size:13px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .cookie-banner__inner{
    gap:8px;
    padding:10px 12px;
  }
  .cookie-banner__title{
    margin-bottom:2px;
    font-size:13px;
  }
  .cookie-banner__text{
    display:-webkit-box;
    overflow:hidden;
    font-size:11px;
    line-height:1.35;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .cookie-banner__actions{
    gap:6px;
  }
  .cookie-banner__btn{
    min-height:36px;
    padding:0 10px;
    font-size:12px;
    touch-action:manipulation;
  }
  .brief-picker{
    align-items:end;
    padding:10px;
  }
  .brief-picker__dialog{
    width:100%;
    padding:25px 18px 18px;
    border-radius:22px;
  }
  .brief-picker__close{
    top:12px;
    right:12px;
  }
  .brief-picker h2{
    max-width:290px;
    font-size:30px;
  }
  .brief-picker__lead{
    margin-bottom:18px;
  }
  .brief-picker__field select{
    font-size:16px;
  }
}

/* step85 home featured carousel css start */
.home-featured-section{
  position:relative;
}

.home-featured-head{
  align-items:flex-end;
  gap:16px;
}

.home-featured-head__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}

.home-featured-carousel-controls{
  display:flex;
  align-items:center;
  gap:9px;
}

.home-featured-carousel-controls[hidden]{
  display:none!important;
}

.home-featured-carousel-controls button{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid #dce4ef;
  border-radius:8px;
  padding:0;
  background:#fff;
  color:#142033;
  cursor:pointer;
}

.home-featured-carousel-controls button:hover{
  border-color:#b9d3ff;
  background:#edf5f3;
  color:#176b65;
}

.home-featured-carousel-controls button:disabled{
  opacity:.35;
  cursor:default;
}

.home-featured-carousel-controls svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.home-featured-carousel-controls span{
  min-width:56px;
  color:#667085;
  font-size:13px;
  font-weight:900;
  text-align:center;
}

.home-featured-carousel{
  display:flex!important;
  grid-template-columns:none!important;
  gap:18px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:0;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x;
}

.home-featured-carousel::-webkit-scrollbar{
  display:none;
}

.home-featured-carousel::after{
  content:"";
  flex:0 0 12px;
}

.home-featured-carousel > .project-card{
  flex:0 0 calc((100% - 54px) / 4)!important;
  width:calc((100% - 54px) / 4)!important;
  max-width:none!important;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}

.home-featured-carousel > .project-card img[data-deferred-src]{
  background:#e5ded2;
}

@media(min-width:901px){
  .home-featured-carousel > .project-card{
    content-visibility:auto;
    contain-intrinsic-size:320px 420px;
  }
}

@media(max-width:1180px){
  .home-featured-carousel > .project-card{
    flex-basis:calc((100% - 36px) / 3)!important;
    width:calc((100% - 36px) / 3)!important;
  }
}

@media(max-width:760px){
  .home-featured-head__actions{
    width:100%;
    justify-content:space-between;
  }

  .home-featured-carousel-controls button{
    width:38px;
    height:38px;
  }

  .home-featured-carousel-controls span{
    min-width:48px;
    font-size:12px;
  }

  .home-featured-section .section-head{
    margin-bottom:12px;
  }

  .home-featured-carousel{
    gap:12px!important;
    width:auto!important;
    max-width:none!important;
    margin-right:-16px!important;
    margin-left:-16px!important;
    padding-right:8px!important;
    padding-left:16px!important;
    scroll-padding-inline:16px;
  }

  .home-featured-carousel::after{
    flex:0 0 16px;
  }

  .home-featured-carousel > .project-card{
    flex:0 0 min(82vw,340px)!important;
    width:min(82vw,340px)!important;
    content-visibility:visible;
    contain-intrinsic-size:auto;
  }
}
/* step85 home featured carousel css end */
