
/* Design&Decor — главная. Чистая адаптивная вёрстка, без jQuery-зависимостей */
:root{--text:#353537;--red:#D8232A;--green:#9AC021;--gap:5px;--w:1200px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;font:18px/1.45 'Jura',sans-serif;color:var(--text)}
img{max-width:100%;height:auto}
a{color:inherit}a:hover{color:var(--red)}
h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}
.wrp{max-width:var(--w);margin:0 auto;padding:0 var(--gap)}


/* ---------- объявление-растяжка ---------- */
.promo{display:flex;align-items:center;justify-content:center;gap:10px 16px;flex-wrap:wrap;padding:10px 20px;background:var(--red);color:#fff;text-align:center;text-decoration:none;line-height:1.3}
.promo:hover{color:#fff}
.promo__tag{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--red);padding:3px 10px;font-size:14px;font-weight:700;text-transform:uppercase;white-space:nowrap}
.promo__dot{width:8px;height:8px;border-radius:50%;background:var(--red);animation:promo-pulse 1.6s ease-in-out infinite}
.promo__text{font-size:17px;font-weight:600}
.promo__text u{text-decoration:none;font-weight:700;white-space:nowrap}
.promo .ar{background:#fff;color:var(--red);width:22px;height:22px;padding:4px}
.promo:hover .promo__text{text-decoration:underline}
@keyframes promo-pulse{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.promo__dot{animation:none}}
@media (max-width:900px){.promo{padding:10px 14px}.promo__text{font-size:15px}.promo__tag{font-size:13px}.promo .ar{display:none}}

/* ---------- шапка ---------- */
.head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px var(--gap) 20px;position:relative}
.logo img{display:block;width:min(400px,60vw)}
.head__side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.menu{display:flex;gap:20px}
.menu a{font-size:19px;font-weight:700;text-transform:uppercase;text-decoration:none;white-space:nowrap}
@media (min-width:901px) and (max-width:1150px){.logo img{width:280px}.menu{gap:14px}.menu a{font-size:16px}}
.menu .m-only{display:none}
.cta{display:flex;align-items:center;gap:10px}
.cta__btn{font-size:28px;text-transform:uppercase;text-decoration:none}
.msg{display:flex;gap:5px}
.msg a{display:flex;width:26px;height:26px;transition:opacity .2s}
.msg a:hover{opacity:.8}
.msg svg{width:100%;height:100%}
.burger,.mcont,.x{display:none}
.vh{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}

/* ---------- плитки ---------- */
.grid{display:grid;gap:0}
.grid--2{grid-template-columns:1fr 1fr}
.grid--13{grid-template-columns:1fr 2fr}
.grid--3{grid-template-columns:repeat(3,1fr)}
.col{display:flex;flex-direction:column}.col>.tile{flex:1}
.tile{position:relative;min-height:300px;color:#fff;overflow:hidden;background:#666}
.tile picture,.tile img.bg{position:absolute;inset:0;width:100%;height:100%}
.tile img.bg{object-fit:cover;outline:5px solid #fff;outline-offset:-5px}
.tile::after{content:"";position:absolute;inset:5px;background:rgba(0,0,0,0);transition:background .3s;pointer-events:none}
.tile:hover::after{background:rgba(0,0,0,.7)}
.tile__body{position:relative;z-index:1;padding:25px 25px 90px}
.tile--dark .tile__body{text-shadow:0 0 6px rgba(0,0,0,.6)}
.tile h2{font-size:21px;font-weight:700;text-transform:uppercase;margin-bottom:10px}
.tile p{font-size:16px;margin-top:5px}
.tile--light{color:#000}.tile--light:hover{color:#fff}
.tile--tall{min-height:420px}
.tile__hot{display:inline-block;margin-top:12px;background:var(--red);color:#fff;padding:4px 9px;font-size:14px;font-weight:700;text-transform:uppercase;text-shadow:none}
.tile__more{position:absolute;z-index:2;right:25px;bottom:25px;display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font:700 13px/24px 'Jura',sans-serif;text-transform:uppercase;border:1px solid currentColor;padding:12px 15px}
.ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ar{flex:none;width:24px;height:24px;padding:5px;border-radius:50%;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.tile__more .ar{background:#fff;color:#000}
.tile__more:hover{color:inherit;background:rgba(255,255,255,.15)}
.tile h2,.tile p,.box,.foot__bot{overflow-wrap:anywhere}
.tag{display:inline-block;overflow-wrap:anywhere;background:#000;color:#fff;padding:5px;font-style:normal;font-weight:700;text-transform:uppercase;font-size:21px}

/* кнопки курсов */
.btns{position:absolute;z-index:2;left:20px;right:20px;bottom:15px;display:flex;gap:10px}
.btn-o{flex:1;display:flex;justify-content:space-between;align-items:center;gap:10px;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.88);background:rgba(255,255,255,.1);padding:10px;transition:.3s}
.btn-o:hover{background:rgba(255,255,255,.87);color:#000}.btn-o:hover .ar{background:#000;color:#fff}

/* блоки «результаты» */
.boxes{position:absolute;z-index:2;inset:auto 20px 15px 20px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.box{display:block;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.88);padding:15px;transition:.3s}
.box b{display:block;font-size:18px;text-transform:uppercase;margin-bottom:10px}
.box span{font-size:16px}
.box:hover{background:#fff;color:#000}
.tile--results h2{margin-bottom:5px}.tile--results .tile__body{padding-bottom:0}
.tile--results{min-height:620px}

/* видео */
.video{background:#aaa;display:flex;align-items:center}
.video iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;outline:5px solid #fff;outline-offset:-5px}

/* ---------- текст и цитаты ---------- */
.secont{padding:30px 50px}
.secont h1{font-size:21px;font-weight:700;text-transform:uppercase;text-align:left;margin-bottom:10px}
.cytaty{margin:0 var(--gap);padding:30px 20px 20px;background:#ddd;font-size:17px;font-style:italic}
.cslider{position:relative;max-width:1000px;margin:0 auto;padding:0 60px}
.wrcit{display:flex;max-width:900px;margin:0 auto;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.wrcit::-webkit-scrollbar{display:none}
.wrcit>div{flex:0 0 100%;scroll-snap-align:center;padding:0 10px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.cnam{text-align:right;font-weight:700}
.carr{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border:0;background:none;color:var(--text);opacity:.35;cursor:pointer;transition:opacity .25s,color .25s}
.carr svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.carr--prev{left:0}.carr--next{right:0}
.carr:hover{opacity:1;color:var(--red)}
.carr:focus-visible{outline:2px solid var(--red);outline-offset:2px;opacity:1}


/* ---------- Instagram-лента ---------- */
.insta{margin:0 var(--gap);padding:10px 0 30px}
.insta__head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:20px 20px 18px}
.insta__logo{display:flex;width:44px;height:44px;flex:none}
.insta__logo svg{width:100%;height:100%}
.insta__title{display:flex;flex-direction:column;line-height:1.25;flex:1 1 0;min-width:0}
.insta__title a{font-size:21px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.insta__title span{font-size:15px;opacity:.7}
.insta__btn{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font:700 13px/20px 'Jura',sans-serif;text-transform:uppercase;border:1px solid currentColor;padding:10px 16px;transition:background .25s,color .25s,border-color .25s}
.insta__btn:hover{background:var(--red);border-color:var(--red);color:#fff}
.insta__btn svg{width:18px;height:18px}
.insta__view{position:relative;--n:5;--g:5px}
.insta__track{display:flex;gap:var(--g);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.insta__track::-webkit-scrollbar{display:none}
.insta__item{position:relative;flex:0 0 calc((100% - (var(--n) - 1) * var(--g)) / var(--n));aspect-ratio:1;scroll-snap-align:start;overflow:hidden;background:#ccc;display:block}
.insta__item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.insta__item::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .3s}
.insta__item>svg{position:absolute;z-index:1;top:50%;left:50%;width:38px;height:38px;margin:-19px 0 0 -19px;color:#fff;opacity:0;transition:opacity .3s}
.insta__meta{position:absolute;z-index:1;left:0;right:0;bottom:0;display:flex;align-items:center;gap:16px;padding:30px 14px 11px;color:#fff;font:700 15px/1 'Jura',sans-serif;background:linear-gradient(transparent,rgba(0,0,0,.62));pointer-events:none}
.insta__meta span{display:inline-flex;align-items:center;gap:6px}
.insta__meta svg{width:16px;height:16px;fill:currentColor}
.insta__item:hover img{transform:scale(1.05)}
.insta__item:hover::after{background:rgba(0,0,0,.45)}
.insta__item:hover>svg{opacity:1}
.insta__item:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.iarr{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:64px;padding:0;display:flex;align-items:center;justify-content:center;border:0;background:none;color:#fff;cursor:pointer;filter:drop-shadow(0 0 4px rgba(0,0,0,.65));opacity:.85;transition:opacity .2s}
.iarr svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.iarr--prev{left:0}.iarr--next{right:0}
.iarr:hover{opacity:1}
.iarr:focus-visible{outline:2px solid #fff;outline-offset:-4px;opacity:1}
@media (max-width:1000px){.insta__view{--n:4}}
@media (max-width:700px){.insta__view{--n:3}}
@media (max-width:480px){.insta__view{--n:2}.insta__head{padding:15px 10px 14px}.insta__title a{font-size:18px}.insta__logo{width:38px;height:38px}.insta__title span{display:none}.insta__btn{flex:1 1 100%;justify-content:center}.iarr{width:34px;height:52px}.iarr svg{width:26px;height:26px}.insta__item>svg{display:none}.insta__meta{gap:10px;padding:22px 8px 7px;font-size:12px}.insta__meta svg{width:13px;height:13px}}


/* ---------- фотогалерея ---------- */
.gal{margin:0 var(--gap);padding:10px 0 30px}
.gal h2{font-size:21px;font-weight:700;text-transform:uppercase;padding:20px 20px 18px}
.gal__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.gal__item{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:#ccc;cursor:zoom-in}
.gal__item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gal__item::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .3s}
.gal__item svg{position:absolute;z-index:1;top:50%;left:50%;width:36px;height:36px;margin:-18px 0 0 -18px;color:#fff;opacity:0;transition:opacity .3s}
.gal__item:hover img{transform:scale(1.05)}
.gal__item:hover::after{background:rgba(0,0,0,.45)}
.gal__item:hover svg{opacity:1}
.gal__item:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
@media (max-width:700px){.gal__grid{grid-template-columns:repeat(3,1fr);gap:3px}.gal__item svg{display:none}.gal h2{padding:15px 10px 14px;font-size:clamp(18px,5vw,21px)}}
/* лайтбокс */
.lb{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.93)}
.lb.is-open{display:flex}
.lb__img{max-width:92vw;max-height:86vh;object-fit:contain;user-select:none;-webkit-user-drag:none}
.lb__btn{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;border:0;background:none;color:#fff;cursor:pointer;opacity:.75;transition:opacity .2s}
.lb__btn:hover,.lb__btn:focus-visible{opacity:1}
.lb__btn:focus-visible{outline:2px solid #fff;outline-offset:-6px}
.lb__btn svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lb__close{top:8px;right:8px}
.lb__prev{left:8px;top:50%;margin-top:-28px}.lb__next{right:8px;top:50%;margin-top:-28px}
.lb__count{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:#fff;font:700 14px 'Jura',sans-serif;opacity:.8}
@media (max-width:700px){.lb__img{max-width:100vw;max-height:80vh}.lb__prev,.lb__next{width:44px;margin-top:-22px;height:44px}.lb__btn svg{width:28px;height:28px}}

/* ---------- футер ---------- */
.foot{background:#000;color:#fff;margin:0 var(--gap);padding:50px 0}
.foot a{color:#fff;text-decoration:none;font-size:14px}.foot a:hover{color:#fff;text-decoration:underline}
.foot__menu{display:flex;gap:40px;padding:0 20px;margin-bottom:20px}
.fcol{flex:1}
.fcol label{display:block;font-size:14px;font-weight:700;margin-bottom:10px}
.foot li{margin-bottom:10px}
.foot .soc{display:flex;gap:14px;flex-wrap:wrap}
.foot .soc a{display:flex;width:28px;height:28px;transition:opacity .2s}
.foot .soc a:hover{text-decoration:none;opacity:.75}
.foot .soc svg{width:100%;height:100%}
.foot-copy{background:#ddd;color:#555;margin:0 var(--gap);padding:0 20px 20px;text-align:center;font-size:12px}
.foot-info{background:#ddd;margin:0 var(--gap);padding:25px 20px}
.foot__bot{text-align:center;font-size:13px;color:#555}
.foot__bot img{display:block;margin:12px auto;mix-blend-mode:multiply}
.foot__bot a{color:#555;font-size:13px;text-decoration:none}.foot__bot a:hover{color:var(--red)}

/* ---------- планшет и мобильные ---------- */
@media (max-width:900px){
  body{font-size:16px}
  .grid--2,.grid--13,.grid--3{grid-template-columns:1fr}
  .tile{min-height:260px}.tile--results{min-height:0}.tile--results .tile__body{padding-bottom:15px}
  .boxes,.btns{position:relative;inset:auto;z-index:2;padding:0 20px 20px;left:auto;right:auto;bottom:auto;display:flex;flex-direction:column}
  .boxes{display:grid;grid-template-columns:1fr}
  .tile--results{display:flex;flex-direction:column}
  .tile h2{font-size:clamp(20px,5vw,28px)}
  .tile__body{padding:20px 20px 80px}
  .tile--tall .tile__body{padding-bottom:100px}
  .tile--dark::after,.tile--light::after{background:rgba(0,0,0,.35)} /* читаемость без hover */
  .tile--light{color:#fff}.tile--light:hover{color:#fff}
  .secont{padding:25px 20px}
  .cytaty{font-size:16px;line-height:1.4;padding:16px 6px}
  .cslider{padding:0 22px}
  .wrcit>div{justify-content:center;padding:0 6px}
  .carr{width:24px;height:24px}
  .carr svg{width:20px;height:20px}

  .head{padding-bottom:10px;gap:10px}
  .logo{flex:1;min-width:0}.logo img{width:min(400px,100%)}
  .burger{display:flex;align-items:center;gap:8px;padding:10px;font:700 18px 'Jura',sans-serif;text-transform:uppercase;cursor:pointer}
  #mn:focus-visible~.burger{outline:2px solid var(--red)}
  .head__side{position:fixed;z-index:50;inset:0;align-items:stretch;gap:0;background:#fff;overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-12px);transition:opacity .25s,transform .25s,visibility .25s}
  #mn:checked~.head__side{visibility:visible;opacity:1;transform:none}
  body:has(#mn:checked){overflow:hidden}
  .x{display:flex;align-self:flex-end;padding:20px 25px;cursor:pointer}
  .x .ic{width:34px;height:34px}
  .head__side nav{flex:1}
  .menu{flex-direction:column;gap:0;padding:0 25px}
  .menu a{display:block;padding:18px 0;font-size:clamp(20px,6vw,28px);border-bottom:1px solid #ddd}
  .menu .m-only{display:block}
  .cta{flex-direction:column;align-items:stretch;padding:20px 25px 0}
  .cta__btn{display:block;text-align:center;background:var(--green);color:#fff;border-radius:50px;padding:16px;font-size:20px}
  .cta__btn:hover{color:#fff}
  .cta .msg{display:none}
  .mcont{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 25px 30px;font-weight:700}
  .mcont a{text-decoration:none;font-size:20px}
  .mcont .msg{gap:8px;zoom:1.5}

  .foot{padding:0 0 30px}
  .foot__menu{flex-direction:column;gap:0;padding:0}
  .fcol label{margin:0;padding:20px;font-size:17px;font-weight:400;border-bottom:1px solid #fff;cursor:pointer;position:relative}
  .fcol label::after{content:"+";position:absolute;right:20px}
  .fcol input:checked+label::after{content:"−"}
  .fcol ul{display:none}
  .fcol input:checked~ul{display:block}
  .fcol input:focus-visible+label{outline:2px solid #fff;outline-offset:-4px}
  .tile__body:has(+.btns),.tile__body:has(+.boxes){padding-bottom:15px}
  .tag{font-size:clamp(16px,5vw,21px)}
  .foot li{margin:0;padding:15px 20px;background:#2d2d2d;border-bottom:1px solid #fff}
  .foot a{font-size:16px}
  .foot-info{padding:20px 10px}
}
@media (max-width:480px){.btns{flex-direction:column}}
@media (hover:none){.tile:hover::after{background:rgba(0,0,0,.35)}}

.insta__item img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}


.pn{display:block;position:relative;clear:both;margin-bottom:30px;}
.pn h3{display:inline-block;}
.pn h3:after{content:'';width:30px;display:block;border-bottom:1px solid #000;margin-top:20px;}
.pn img{display:block;float:left;margin:30px 30px 30px 0;