/* Хорошие балконы — основной стиль */
:root{
  --ink:#1c1c1e;
  --text:#2b2b2e;
  --muted:#6d6d73;
  --line:#e8e8ec;
  --bg:#ffffff;
  --soft:#f5f5f3;
  --red:#e8364f;
  --orange:#f39a3c;
  --grad:linear-gradient(90deg,#e5314f 0%,#ee6a45 55%,#f5a03b 100%);
  --radius:6px;
  --wrap:1170px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 "Montserrat",Arial,sans-serif}
img{max-width:100%;display:block}
a{color:var(--red);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
h1,h2,h3{color:var(--ink);font-weight:700;line-height:1.2;margin:0 0 .6em}
h1{font-size:40px}
h2{font-size:32px}
h3{font-size:20px}
p{margin:0 0 1em}
.red{color:var(--red)}
.sec{padding:70px 0}
.sec--soft{background:var(--soft)}
.sec-title{font-size:32px;max-width:680px;margin-bottom:34px}
.sec-sub{color:var(--muted);max-width:720px;margin:-18px 0 34px}

/* кнопки */
.btn{display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;background:var(--grad);color:#fff;font:600 15px/1 "Montserrat",Arial,sans-serif;padding:15px 26px;border-radius:30px;box-shadow:0 8px 20px -8px rgba(232,54,79,.55);transition:transform .15s,box-shadow .15s;text-decoration:none!important}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px -8px rgba(232,54,79,.6)}
.btn svg{width:14px;height:14px;fill:#fff;flex:none}
.btn--ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn--ghost svg{fill:var(--ink)}
.btn--sm{padding:11px 18px;font-size:13px}

/* шапка */
.hdr{position:relative;z-index:20;background:transparent}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 20px 14px}
.logo{display:block;color:var(--ink)!important;text-decoration:none!important}
.logo__name{font:400 23px/1 "Rubik Dirt","Montserrat",sans-serif;letter-spacing:.5px;text-transform:uppercase}
.logo__tag{display:block;font-size:11px;color:var(--text);margin-top:4px}
.nav{display:flex;align-items:center;gap:26px}
.nav a{color:var(--ink);font-size:14px;font-weight:500}
.nav a:hover{color:var(--red);text-decoration:none}
.nav .cur{color:var(--red)}
.nav__drop{position:relative}
.nav__drop>a:after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:currentColor;transform:translateY(2px)}
.nav__menu{display:none;position:absolute;left:-18px;top:100%;padding:14px 0;background:#fff;min-width:290px;box-shadow:0 14px 40px -10px rgba(0,0,0,.2);border-radius:var(--radius)}
.nav__menu a{display:block;padding:7px 20px;font-size:13.5px}
.nav__drop:hover .nav__menu{display:block}
.hdr__mail{font-size:14px;font-weight:600;color:var(--ink)}
.burger{display:none;width:40px;height:40px;border:0;background:none;cursor:pointer;padding:8px}
.burger span{display:block;height:2px;background:var(--ink);margin:5px 0}

/* первый экран главной (как в оригинале) */
.hero{position:relative;overflow:hidden;min-height:540px}
.hero__img{position:absolute;right:0;top:-92px;width:46%;height:calc(100% + 92px);background:url(/img/hero.jpg) left bottom/cover no-repeat}
.hero__img:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.6) 14%,rgba(255,255,255,0) 32%)}
.hero__img:after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 70' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 30 L20 38 L34 26 L52 40 L70 30 L95 44 L110 32 L128 46 L150 36 L170 50 L190 38 L214 48 L232 34 L256 46 L280 32 L300 44 L322 36 L340 50 L362 40 L385 52 L404 38 L426 48 L448 36 L470 50 L492 40 L515 54 L536 44 L560 56 L580 46 L600 52 L600 70 L0 70Z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
.hero__txt{position:relative;z-index:2;max-width:620px;padding:34px 0 30px}
.hero h1{font-size:40px;margin-bottom:26px}
.hero__lead{font-weight:500;font-size:16px;color:var(--ink);max-width:470px;margin-bottom:28px}
.hero__gift{margin-top:26px;font-size:14px;font-weight:600;color:var(--ink)}
.hero__gift b{color:var(--red)}

.adv{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:26px 0 10px;text-align:center}
.adv__ic{width:62px;height:62px;margin:0 auto 12px}
.adv p{font-size:12.5px;line-height:1.45;color:var(--ink);max-width:190px;margin:0 auto}

/* партнёры */
.partners__intro{max-width:760px;color:var(--text)}
.partner{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:center;padding:30px 0;border-top:1px solid var(--line)}
.partner:last-child{border-bottom:1px solid var(--line)}
.partner__logo{display:flex;align-items:center;justify-content:center;height:150px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:box-shadow .2s}
.partner__logo:hover{box-shadow:0 10px 30px -12px rgba(0,0,0,.25)}
.partner__logo img{max-height:100%;width:auto;object-fit:contain}
.partner h3{margin-bottom:10px}
.partner p{margin:0 0 .7em;font-size:15px}
.partner a.anchor{font-weight:600;border-bottom:1px solid rgba(232,54,79,.35)}
.partner a.anchor:hover{text-decoration:none;border-bottom-color:var(--red)}

/* галерея как в оригинале (кладка из 3 колонок) */
.masonry{columns:3;column-gap:14px;max-width:880px}
.masonry figure{margin:0 0 14px;break-inside:avoid;position:relative;overflow:hidden}
.masonry img{width:100%;transition:transform .5s}
.masonry figure:hover img{transform:scale(1.04)}
.masonry figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 10px;color:#fff;font-size:13px;font-weight:500;background:linear-gradient(transparent,rgba(0,0,0,.55));opacity:0;transition:opacity .3s}
.masonry figure:hover figcaption{opacity:1}

/* карточки услуг */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cards--4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;color:var(--text);transition:box-shadow .2s,transform .2s}
a.card:hover{text-decoration:none;box-shadow:0 16px 36px -16px rgba(0,0,0,.25);transform:translateY(-2px)}
.card__img{aspect-ratio:4/3;overflow:hidden;background:var(--soft)}
.card__img img{width:100%;height:100%;object-fit:cover}
.card__body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.card__body h3{font-size:18px;margin-bottom:8px}
.card__body p{font-size:14px;color:var(--muted);flex:1}
.card__price{font-weight:700;color:var(--ink);font-size:15px}
.card__more{font-size:13px;font-weight:600;color:var(--red);margin-top:10px}

/* пакеты */
.packs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pack{border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;background:#fff;position:relative}
.pack--hit{border:2px solid var(--red)}
.pack__lbl{position:absolute;top:-13px;left:24px;background:var(--grad);color:#fff;font-size:12px;font-weight:600;padding:5px 12px;border-radius:20px}
.pack h3{font-size:22px}
.pack__price{font-size:26px;font-weight:800;color:var(--ink);margin:8px 0 16px}
.pack__price small{font-size:14px;font-weight:500;color:var(--muted)}

/* списки с галочками и прочие блоки контента */
ul.checks{list-style:none;padding:0;margin:0 0 1.2em}
ul.checks li{position:relative;padding-left:32px;margin-bottom:10px}
ul.checks li:before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--grad)}
ul.checks li:after{content:"";position:absolute;left:7px;top:7px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.cols2 img{border-radius:var(--radius);max-height:480px;width:100%;object-fit:cover}

.steps{counter-reset:st;display:grid;gap:16px;margin:0 0 1.6em}
.step{counter-increment:st;position:relative;padding:18px 20px 16px 74px;background:var(--soft);border-radius:var(--radius)}
.step:before{content:counter(st,decimal-leading-zero);position:absolute;left:20px;top:16px;font-weight:800;font-size:26px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.step b{display:block;color:var(--ink);margin-bottom:4px}
.step p{margin:0;font-size:15px}

.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0 0 1.8em}
.fact{border-left:3px solid var(--red);padding:6px 0 6px 16px}
.fact b{display:block;font-size:28px;line-height:1.1;font-weight:800;color:var(--ink)}
.fact span{font-size:13.5px;color:var(--muted)}

.note{border-left:4px solid var(--orange);background:#fff8f0;padding:18px 22px;margin:0 0 1.6em;border-radius:0 var(--radius) var(--radius) 0}
.note p:last-child{margin:0}

details.faq{border-bottom:1px solid var(--line);padding:0}
details.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-weight:600;color:var(--ink);position:relative}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary:after{content:"+";position:absolute;right:6px;top:12px;font-size:26px;font-weight:400;color:var(--red);transition:transform .2s}
details.faq[open] summary:after{transform:rotate(45deg)}
details.faq p{padding:0 0 18px;margin:0;color:var(--text)}

table.tbl{width:100%;border-collapse:collapse;margin:0 0 1.6em;font-size:14.5px}
table.tbl th{background:var(--ink);color:#fff;font-weight:600;text-align:left;padding:12px 14px}
table.tbl td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
table.tbl tr:nth-child(even) td{background:var(--soft)}
.tbl-wrap{overflow-x:auto;margin-bottom:1.6em}
.tbl-wrap table.tbl{margin:0;min-width:560px}
blockquote{margin:0 0 1.4em;padding:14px 22px;border-left:4px solid var(--red);background:var(--soft);font-style:italic}

/* три дня */
.days{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.day{padding:28px;border-radius:var(--radius);background:#fff;border:1px solid var(--line)}
.day__n{display:inline-block;background:var(--grad);color:#fff;font-weight:700;font-size:13px;padding:5px 14px;border-radius:20px;margin-bottom:14px}

/* акция */
.promo{background:var(--ink);color:#fff;border-radius:var(--radius);padding:44px 48px;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.promo h2{color:#fff}
.promo p{color:#d6d6da}
.promo__gift{font-size:15px;font-weight:600;color:#fff}
.promo__gift b{color:var(--orange)}
.promo__img{border-radius:var(--radius);overflow:hidden}

/* цифры */
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.nums b{display:block;font-size:44px;font-weight:800;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:10px}
.nums span{font-size:14px;color:var(--muted)}

/* тэги */
.tags{display:flex;flex-wrap:wrap;gap:10px}
.tags span,.tags a{display:inline-block;padding:9px 16px;border:1px solid var(--line);border-radius:30px;font-size:14px;color:var(--ink);background:#fff}
.tags a:hover{border-color:var(--red);color:var(--red);text-decoration:none}

.icon-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.icon-item{display:flex;gap:16px}
.icon-item svg{width:46px;height:46px;flex:none}
.icon-item h3{font-size:17px;margin-bottom:6px}
.icon-item p{font-size:14px;color:var(--muted);margin:0}

/* калькулятор */
.calc{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px}
.calc label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin:0 0 6px}
.calc select,.calc input[type=range]{width:100%;margin-bottom:18px}
.calc select{padding:12px;border:1px solid var(--line);border-radius:var(--radius);font:inherit;background:#fff}
.calc__res{background:var(--soft);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;justify-content:center}
.calc__sum{font-size:34px;font-weight:800;color:var(--ink);margin:6px 0 10px}
.calc__hint{font-size:13px;color:var(--muted)}
.opts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.opts label{margin:0;font-weight:500;font-size:13.5px;border:1px solid var(--line);border-radius:30px;padding:8px 14px;cursor:pointer}
.opts input{display:none}
.opts input:checked+span{color:var(--red)}
.opts label:has(input:checked){border-color:var(--red)}

/* форма */
.lead{background:var(--soft);padding:60px 0}
.lead__box{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.form{background:#fff;border-radius:var(--radius);padding:32px;box-shadow:0 20px 50px -24px rgba(0,0,0,.2)}
.form input,.form textarea,.form select{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);font:inherit;font-size:15px;margin-bottom:12px;background:#fff}
.form textarea{min-height:90px;resize:vertical}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--red)}
.form .btn{width:100%;justify-content:center}
.form__agree{font-size:12px;color:var(--muted);margin:12px 0 0}
.form__ok{display:none;text-align:center;padding:30px 10px}
.form.sent .form__ok{display:block}
.form.sent .form__fields{display:none}

/* внутренние страницы */
.crumbs{font-size:13px;color:var(--muted);padding:6px 0 0}
.crumbs a{color:var(--muted)}
.crumbs span{margin:0 6px}
.phero{position:relative;overflow:hidden;padding:26px 0 40px;border-bottom:1px solid var(--line)}
.phero__grid{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}
.phero h1{font-size:36px;margin:14px 0 18px}
.phero__lead{font-size:16px;font-weight:500;color:var(--ink);max-width:560px;margin-bottom:24px}
.phero__img{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius)}
.phero__img img{width:100%;height:100%;object-fit:cover}
.phero--txt .phero__grid{grid-template-columns:1fr}

.layout{display:grid;grid-template-columns:1fr 300px;gap:50px;padding:50px 0 70px}
.content{min-width:0}
.content h2{font-size:27px;margin-top:1.4em}
.content h2:first-child{margin-top:0}
.content h3{font-size:19px;margin-top:1.2em}
.content ul:not(.checks),.content ol{padding-left:22px;margin:0 0 1.2em}
.content li{margin-bottom:6px}
.content img{border-radius:var(--radius)}
.side{position:relative}
.side__box{border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:24px;background:#fff}
.side__box h4{margin:0 0 12px;font-size:16px;color:var(--ink)}
.side__box ul{list-style:none;margin:0;padding:0}
.side__box li{border-bottom:1px solid var(--line)}
.side__box li:last-child{border:0}
.side__box li a{display:block;padding:9px 0;font-size:14px;color:var(--ink)}
.side__box li a:hover,.side__box li a.cur{color:var(--red);text-decoration:none}
.side__cta{background:var(--ink);color:#fff;border-radius:var(--radius);padding:26px 22px;position:sticky;top:20px}
.side__cta h4{color:#fff;margin:0 0 10px;font-size:18px}
.side__cta p{font-size:14px;color:#cfcfd4}

.art-meta{display:flex;gap:18px;font-size:13px;color:var(--muted);margin-bottom:10px}
.art-cover{margin:0 0 30px;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/8}
.art-cover img{width:100%;height:100%;object-fit:cover}

.bcard .card__img{aspect-ratio:16/10}
.bcard__tag{font-size:12px;font-weight:600;color:var(--red);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}

.pf{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;padding:36px 0;border-bottom:1px solid var(--line)}
.pf:first-child{padding-top:0}
.pf__img{border-radius:var(--radius);overflow:hidden}
.pf dl{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;font-size:14px;margin:0 0 16px}
.pf dt{color:var(--muted)}
.pf dd{margin:0;color:var(--ink);font-weight:500}

.contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:30px}
.contacts .side__box{margin:0}
.map{height:340px;border-radius:var(--radius);background:#eceeea url(/img/map.svg) center/cover no-repeat;position:relative;margin-bottom:30px}

.e404{text-align:center;padding:80px 0 90px}
.e404 b{display:block;font-size:150px;line-height:1;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* футер */
.ftr{background:#1c1c1e;color:#bdbdc3;padding:56px 0 26px;font-size:14px}
.ftr a{color:#e6e6ea}
.ftr a:hover{color:#fff}
.ftr__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:34px}
.ftr .logo{color:#fff!important}
.ftr .logo__tag{color:#bdbdc3}
.ftr h4{color:#fff;font-size:15px;margin:0 0 14px}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{margin-bottom:8px}
.soc{display:flex;gap:10px;margin-top:16px}
.soc span{width:36px;height:36px;border-radius:50%;background:#2e2e32;display:flex;align-items:center;justify-content:center}
.soc svg{width:17px;height:17px;fill:#e6e6ea}
.ftr__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid #333337;margin-top:40px;padding-top:22px;font-size:13px}
.ftr__ads{display:flex;align-items:center;gap:10px}
.ftr__ads img{width:28px;height:28px}
.ftr__ads a{text-decoration:underline}

/* виджет «служба заботы» как на оригинале */
.care{position:fixed;right:18px;bottom:18px;z-index:40;display:flex;align-items:center;gap:10px;background:#2a2a2e;color:#fff;border-radius:12px;padding:10px 14px 10px 10px;max-width:300px;box-shadow:0 10px 30px -8px rgba(0,0,0,.4);cursor:pointer;text-decoration:none!important}
.care__ava{width:36px;height:36px;border-radius:50%;flex:none;background:linear-gradient(135deg,#f5a03b,#e5314f);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.care small{display:block;font-size:10.5px;color:#a9a9b0}
.care span{font-size:12px;line-height:1.3;color:#fff}
.care__x{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;background:#fff;color:#2a2a2e;border:0;font-size:14px;line-height:22px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2)}

@media (max-width:1000px){
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:10px 20px 20px;gap:12px;box-shadow:0 20px 30px -20px rgba(0,0,0,.3)}
  .nav.open{display:flex}
  .nav__menu{position:static;display:block;box-shadow:none;padding:4px 0 0 10px;min-width:0}
  .nav__menu a{padding:4px 0}
  .burger{display:block}
  .hdr__mail{display:none}
  .cards,.cards--4,.packs,.days,.icon-list{grid-template-columns:1fr 1fr}
  .layout{grid-template-columns:1fr}
  .side__cta{position:static}
  .ftr__grid{grid-template-columns:1fr 1fr}
  .promo{grid-template-columns:1fr}
  .calc{grid-template-columns:1fr}
}
@media (max-width:760px){
  h1,.hero h1{font-size:28px}
  h2,.sec-title{font-size:24px}
  .sec{padding:48px 0}
  .hero{min-height:0}
  .hero__img{position:relative;top:0;width:100%;height:260px;margin-top:-10px}
  .hero__img:before{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 30%)}
  .adv{grid-template-columns:1fr 1fr}
  .partner{grid-template-columns:1fr;gap:20px}
  .masonry{columns:2}
  .cards,.cards--4,.packs,.days,.icon-list,.nums,.facts,.cols2,.lead__box,.phero__grid,.pf,.contacts{grid-template-columns:1fr}
  .nums{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:1fr 1fr}
  .ftr__grid{grid-template-columns:1fr}
  .promo{padding:30px 22px}
  .phero h1{font-size:28px}
  .pf dl{grid-template-columns:1fr}
  .care{display:none}
}
