/* КЕРАМОС — дизайн-язык по DNA ceragres.ca */
:root{
  --bg:#fafafa; --ink:#000; --white:#fff; --line:rgba(0,0,0,.3); --muted:rgba(0,0,0,.6); --accent:#c00000;
  --ease-btn:cubic-bezier(.54,0,.06,.87); --ease-out:cubic-bezier(.22,1,.36,1); --ease-menu:cubic-bezier(.4,.64,.68,1); --ease-col:cubic-bezier(.14,1,.34,1);
  --f-head:"Inter Tight",Helvetica,Arial,sans-serif; --f-body:"Inter Tight",Helvetica,Arial,sans-serif; --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --gut:1.2rem;
}
@media(min-width:961px){:root{--gut:2rem}}
*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}
html{font-size:62.5%;-webkit-text-size-adjust:100%;background:var(--bg)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{font-family:var(--f-body);font-size:1.6rem;line-height:1.4;letter-spacing:.01em;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:clip}
@media(min-width:961px){body{font-size:1.8rem}}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{list-style:none}
fieldset{border:0}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.2}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:fixed;left:1rem;top:1rem;z-index:200;background:#000;color:#fff;padding:1rem 1.6rem;transform:translateY(-200%);opacity:0;pointer-events:none;transition:transform .4s ease-out}
.skip:focus{transform:none;opacity:1;pointer-events:auto}
.wrap{padding-left:var(--gut);padding-right:var(--gut)}
.mono{font-family:var(--f-mono);font-size:1.2rem;line-height:1.2;letter-spacing:.01em;text-transform:uppercase;font-weight:400}
.h2{font-family:var(--f-head);font-weight:500;text-transform:uppercase;font-size:3.2rem;line-height:.98;letter-spacing:-.02em}
@media(min-width:961px){.h2{font-size:5.2rem}}
.h3{font-family:var(--f-head);font-weight:500;text-transform:uppercase;font-size:2.8rem;line-height:1;letter-spacing:-.02em}
@media(min-width:961px){.h3{font-size:4rem}}
.line-mask{overflow:clip}

/* ---------- Логотип ---------- */
.logo{display:flex;flex-direction:column;justify-content:center;align-items:center;width:64px;height:64px;border:1px solid currentColor;font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:17px;line-height:.86;letter-spacing:-.04em;transition:width .4s var(--ease-menu),height .4s var(--ease-menu),font-size .4s var(--ease-menu)}
@media(min-width:961px){.logo{width:80px;height:80px;font-size:21px}}

/* ---------- Кнопки-крестики ---------- */
.x-btn{position:relative;width:24px;height:24px;flex-shrink:0;display:block}
.x-btn span{position:absolute;inset:4px;display:block;transition:transform .4s var(--ease-out)}
.x-btn span:before,.x-btn span:after{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background:currentColor;transform:rotate(45deg)}
.x-btn span:after{transform:rotate(-45deg)}
.x-btn.-big{width:40px;height:40px}
@media(min-width:1025px){.x-btn.-big{width:60px;height:60px}}
@media(hover:hover){.x-btn:hover span{transform:scale(.8)}}

/* ---------- Промо ---------- */
.promo{position:absolute;z-index:51;top:12px;left:var(--gut);right:var(--gut);height:26px;border-radius:20px;background:#fff;color:#000;display:flex;align-items:center;gap:1.2rem;padding:0 6px;transition:opacity .4s ease-out,transform .6s var(--ease-out)}
.promo.-hide{opacity:0;transform:translateY(-140%);pointer-events:none}
.promo__badge{background:#000;color:#fff;border-radius:20px;padding:4px 8px;font-size:1rem;white-space:nowrap;font-weight:500}
.promo__text{flex:1;text-align:center;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.promo__close{width:20px;height:20px}
@media(max-width:640px){.promo__badge{display:none}.promo__text{text-align:left;padding-left:6px}}

/* ---------- Шапка ---------- */
.hdr{position:absolute;z-index:50;left:0;top:44px;width:100%;padding:1.6rem var(--gut) 1.9rem;color:#fafafa;transition:color .4s ease-out,translate .6s ease-out,background-color .4s ease-out,top .4s ease-out}
.hdr__inner{display:flex;align-items:flex-start;column-gap:1.2rem}
.hdr__logo{margin-right:auto}
@media(min-width:961px){.hdr__logo{margin-right:8.5rem}}
.hdr__nav{display:none;flex:1}
@media(min-width:1025px){.hdr__nav{display:block}}
.hdr__nav ul{display:grid;grid-template-columns:repeat(2,max-content);grid-template-rows:repeat(2,auto);grid-auto-flow:column;column-gap:5.2rem;row-gap:.8rem}
.hdr__link{position:relative;font-family:var(--f-head);font-weight:500;font-size:1.4rem;line-height:1;text-transform:uppercase;letter-spacing:.01em;display:inline-block}
.hdr__link:before,.hdr__link:after{content:"";position:absolute;top:-1px;left:-7px;width:4px;height:14px;border:1px solid currentColor;border-right:0;opacity:0;transform:translateX(20px);transition:transform .4s var(--ease-btn),opacity .4s var(--ease-btn)}
.hdr__link:after{left:auto;right:-7px;transform:rotate(180deg) translateX(20px)}
@media(hover:hover){.hdr__link:hover:before{opacity:1;transform:none}.hdr__link:hover:after{opacity:1;transform:rotate(180deg)}}
.hdr__link[aria-expanded=true]:before,.hdr__link.-current:before{opacity:1;transform:none}
.hdr__link[aria-expanded=true]:after,.hdr__link.-current:after{opacity:1;transform:rotate(180deg)}
.hdr__icons{display:flex;align-items:center;gap:1.2rem}
.ico-btn{width:2.8rem;height:2.8rem;display:none;transition:transform .4s var(--ease-out)}
.ico-btn svg{width:100%;height:100%;stroke-width:1.3;transition:stroke .4s ease-out}
@media(min-width:641px){.ico-btn{display:block}}
@media(hover:hover){.ico-btn:hover{transform:scale(.88)}}
.burger{width:40px;height:40px;position:relative;display:block}
.burger span,.burger:before,.burger:after{content:"";position:absolute;left:6px;right:6px;height:1px;background:currentColor;top:50%;transition:transform .4s var(--ease-menu)}
.burger:before{transform:translateY(-7px)}.burger:after{transform:translateY(7px)}
@media(hover:hover){.burger:hover:before{transform:translateY(-9px)}.burger:hover:after{transform:translateY(9px)}}
@media(min-width:1025px){.burger{display:none}}
/* sticky */
.hdr.-sticky{position:fixed;top:0;background:var(--bg);color:#000;box-shadow:0 1px 0 var(--line);translate:0 -100%;padding-top:1.2rem;padding-bottom:1.2rem}
.hdr.-sticky.-ready{transition:translate .5s ease-out}
.hdr.-sticky.-show{translate:0 0}
.hdr.-sticky .logo{width:44px;height:44px;font-size:12px}
.hdr.-sticky .hdr__inner{align-items:center}
.hdr.-menu-open{color:#000;z-index:65;background:transparent;box-shadow:none;pointer-events:none;translate:0 0}
.hdr.-menu-open .hdr__logo,.hdr.-menu-open .hdr__nav{pointer-events:auto}
.hdr.-menu-open .hdr__icons{opacity:0}
.hdr__icons{transition:opacity .3s}

/* ---------- Мега-меню ---------- */
.mega{position:fixed;inset:0;z-index:60;visibility:hidden;transition:visibility 0s linear .6s}
.mega.-open{visibility:visible;transition:none}
.mega__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .4s ease-out}
.mega.-open .mega__backdrop{opacity:1}
.mega__panel{position:absolute;left:0;top:0;bottom:0;width:38vw;min-width:520px;background:var(--bg);color:#000;transform:translateX(-100%);transition:transform .6s ease-out;overflow:hidden}
.mega.-open .mega__panel{transform:none}
.mega__lvl1{position:absolute;inset:0;padding:170px 2rem 2rem;display:grid;grid-template-rows:auto 1fr;grid-template-columns:1fr 1fr;column-gap:2rem}
.mega__list{grid-column:1/2}
.mega__row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.9rem 0;border-bottom:1px solid var(--line);font-family:var(--f-head);font-weight:500;text-transform:uppercase;font-size:1.5rem;text-align:left;position:relative}
.mega__list li:first-child .mega__row{border-top:1px solid var(--line)}
.mega__row:after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:#000;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-btn)}
.mega__row .arr{width:18px;height:18px;transition:transform .4s var(--ease-btn)}
@media(hover:hover){.mega__row:hover:after{transform:scaleX(1)}.mega__row:hover .arr{transform:translateX(4px)}}
.mega__contact{grid-column:1/2;align-self:end;font-size:1.4rem;justify-self:start}
.mega__img{grid-column:2/3;grid-row:1/3;align-self:end;aspect-ratio:1;overflow:hidden;opacity:0;transform:translateY(20px);transition:opacity .6s ease-out .25s,transform .8s var(--ease-out) .25s}
.mega.-open .mega__img{opacity:1;transform:none}
.mega__img img{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease-out}
.mega__lvl2{position:absolute;inset:0;background:var(--bg);padding:170px 2rem 2rem;transform:translateX(100%);visibility:hidden;transition:transform .6s ease-out,visibility 0s linear .6s;display:grid;align-content:start;row-gap:2.4rem}
.mega__lvl2.-open{transform:none;visibility:visible;transition:transform .6s ease-out .02s,visibility 0s}
.mega__lvl2-title{font-size:1.4rem}
.mega__sub{display:flex;flex-direction:column;row-gap:1.6rem}
.mega__sub a{font-size:2rem}
.mega__close{position:absolute;top:2rem;left:calc(max(38vw,520px) + 2rem);color:#fff;opacity:0;transition:opacity .4s ease-out .2s}
.mega.-open .mega__close{opacity:1}

/* ---------- Мобильное меню ---------- */
.mmenu{position:fixed;inset:0;z-index:70;background:var(--bg);color:#000;padding:1.6rem var(--gut);transform:translateX(100%);visibility:hidden;transition:transform .3s var(--ease-menu),visibility 0s linear .3s;display:flex;flex-direction:column}
.mmenu.-open{transform:none;visibility:visible;transition:transform .3s var(--ease-menu),visibility 0s}
.mmenu__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}
.mmenu__list a{display:flex;justify-content:space-between;align-items:center;font-family:var(--f-head);font-weight:500;text-transform:uppercase;font-size:2.6rem;line-height:1;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.mmenu__list li:first-child a{border-top:1px solid var(--line)}
.mmenu__list .arr{width:28px;height:28px}
.mmenu__contact{margin-top:2rem;font-size:1.4rem}
.mmenu .mmenu__list li{opacity:0;transform:translateX(30px);transition:opacity .4s ease-out,transform .5s var(--ease-out)}
.mmenu.-open .mmenu__list li{opacity:1;transform:none}
.mmenu.-open .mmenu__list li:nth-child(2){transition-delay:.05s}.mmenu.-open .mmenu__list li:nth-child(3){transition-delay:.1s}.mmenu.-open .mmenu__list li:nth-child(4){transition-delay:.15s}

/* ---------- Пиксель-канвас ---------- */
.pixel{position:relative;overflow:hidden;background:#e9e7e3}
.pixel canvas{position:absolute;left:0;top:0;width:100%;height:100%;display:block}
.pixel[data-parallax] canvas{height:120%;top:-10%}

/* ---------- HERO ---------- */
.hero{position:relative;width:100%;aspect-ratio:375/913;padding-top:88px;color:#fafafa;overflow:hidden}
@media(orientation:portrait) and (min-width:641px){.hero{aspect-ratio:768/1024}}
@media(orientation:landscape){.hero{aspect-ratio:1/1}}
@media(min-width:961px){.hero{padding-top:100px}}
.hero__image{position:absolute!important;inset:0}
.hero__image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000000b3,#0006);pointer-events:none}
.hero__inner{position:relative;z-index:1;display:grid;grid-template-rows:calc(55% - 88px) 1fr;min-height:100%;padding-bottom:4rem}
@media(orientation:landscape){.hero__inner{grid-template-rows:calc(100vh - 12rem) 1fr}}
.hero__title{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:6rem;margin:0 var(--gut)}
@media(min-width:961px){.hero__title{justify-content:flex-start;padding-top:4rem;gap:5rem}}
.big-title{font-family:var(--f-head);font-weight:500;text-transform:uppercase;font-size:clamp(4.2rem,-1.39rem + 13.2vw,24rem);line-height:.93;letter-spacing:-.04em;max-width:14ch;margin-top:3rem}
@media(min-width:961px){.big-title{margin-top:0}}
.hero__info{align-self:end;margin:0 var(--gut);max-width:52ch}
@media(min-width:961px){.hero__info{margin-left:8rem;max-width:90vw}}
@media(min-width:1281px){.hero__info{max-width:36vw}}
.hero__text{margin-bottom:2rem}

/* button-card */
.button-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:.8rem;padding:.8rem;width:29rem;color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);--item:4rem;z-index:1}
@media(min-width:961px){.button-card{width:34rem;padding:1.2rem;column-gap:1.2rem;--item:6rem}}
.button-card:before,.button-card:after{content:"";position:absolute;inset:-1px;border-radius:inherit}
.button-card:after{border:1px solid #fff;opacity:0;pointer-events:none;transition:opacity .5s ease-out;z-index:1}
.button-card:before{background:#fafafa;clip-path:inset(100% 0 0 0);transition:clip-path .7s var(--ease-out);z-index:-1}
.button-card__image-wrapper{width:var(--item);height:var(--item);display:block;overflow:hidden;clip-path:inset(50% 0 50% 0);opacity:0;transition:clip-path .5s var(--ease-out) .2s,transform .6s var(--ease-out),opacity .6s ease-out .2s}
.button-card__image{width:100%;height:100%;object-fit:cover}
.button-card__label{display:block;text-align:center;clip-path:inset(50% 0 50% 0);opacity:0;transform:scale(1.2);transition:clip-path .5s var(--ease-out) .2s,opacity .6s var(--ease-out) .2s,transform .6s var(--ease-out) .2s,color .45s var(--ease-col) .1s;line-height:1.125}
.button-card__arrow{width:var(--item);height:var(--item);display:block;overflow:hidden;opacity:0;transform:scaleX(1.35) translateX(10px);transition:opacity .6s var(--ease-out) .2s,transform .6s var(--ease-out) .2s}
.button-card__arrow>span{display:block;width:100%;height:100%;transition:transform .4s var(--ease-btn)}
.button-card__arrow svg{width:100%;height:100%;stroke-width:1.4;transition:color .45s var(--ease-col) .1s}
.button-card.is-loaded:after{opacity:1}
.button-card.is-loaded .button-card__image-wrapper,.button-card.is-loaded .button-card__label{clip-path:inset(0);opacity:1;transform:none}
.button-card.is-loaded .button-card__arrow{opacity:1;transform:none}
@media(hover:hover){
  .button-card:hover:before{clip-path:inset(0)}
  .button-card:hover .button-card__image-wrapper{transform:scale(1.43)}
  .button-card:hover .button-card__label,.button-card:hover .button-card__arrow svg{color:#000}
}
.button-card:focus-visible:before{clip-path:inset(0)}
.button-card:focus-visible .button-card__label,.button-card:focus-visible .button-card__arrow svg{color:#000}

/* b-primary */
.b-primary{--t:#000;--b:#fafafa;display:inline-flex;align-items:center;position:relative;overflow:hidden;border:1px solid var(--t);color:var(--t);background:var(--b);height:4.2rem;font-size:1.6rem;font-weight:500}
.b-primary.-transparent{--t:#fafafa;--b:transparent}
.b-primary.-dark{--t:#fafafa;--b:#000}
.b-primary__label{display:flex;align-items:center;justify-content:center;height:100%;padding:0 2rem;white-space:nowrap;transition:transform .46s var(--ease-btn)}
.b-primary__icon,.b-primary__icon--hover{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;flex-shrink:0;transition:transform .46s var(--ease-btn)}
.b-primary__icon{border-left:1px solid var(--t)}
.b-primary__icon--hover{position:absolute;left:0;top:0;border-right:1px solid var(--t);transform:translateX(-100%)}
.b-primary svg{width:2.2rem;height:2.2rem}
@media(hover:hover){
  .b-primary:hover .b-primary__label{transform:translateX(4rem)}
  .b-primary:hover .b-primary__icon{transform:translateX(100%)}
  .b-primary:hover .b-primary__icon--hover{transform:none}
}
.b-primary:focus-visible .b-primary__label{transform:translateX(4rem)}
.b-primary:focus-visible .b-primary__icon{transform:translateX(100%)}
.b-primary:focus-visible .b-primary__icon--hover{transform:none}
.b-primary:active{opacity:.85}

/* b-secondary / b-text */
.b-secondary,.b-text{display:inline-flex;align-items:center;font-weight:500;font-size:1.4rem}
@media(min-width:961px){.b-secondary{font-size:1.6rem}}
.b-secondary__label{padding-right:1.2rem;white-space:nowrap}
.b-secondary__icon,.b-text__icon{position:relative;z-index:1;overflow:hidden;display:flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;border:1px solid #000;transition:color .46s var(--ease-btn)}
.b-text__icon{width:2.4rem;height:2.4rem;margin-right:.8rem}
.b-secondary__icon svg,.b-text__icon svg{width:2rem;height:2rem}
.b-secondary__icon:after,.b-text__icon:after{content:"";position:absolute;inset:0;z-index:-1;background:#000;transform:scaleX(0);transform-origin:right;transition:transform .46s var(--ease-btn)}
@media(hover:hover){.b-secondary:hover .b-secondary__icon,.b-text:hover .b-text__icon{color:#fff}.b-secondary:hover .b-secondary__icon:after,.b-text:hover .b-text__icon:after{transform:scaleX(1);transform-origin:left}}
.b-secondary:focus-visible .b-secondary__icon{color:#fff}.b-secondary:focus-visible .b-secondary__icon:after{transform:scaleX(1);transform-origin:left}
.b-secondary:active .b-secondary__icon{transform:scale(.92)}

/* b-tertiary */
.b-tertiary{--t:#000;--b:#fff;display:inline-flex;align-items:stretch;position:relative;margin-right:4.4rem;justify-self:start;color:var(--t);font-weight:500;font-size:1.6rem}
.b-tertiary.-dark{--t:#fff;--b:#000}
.b-tertiary__label{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;padding:1.4rem 2rem;background:var(--b);border:1px solid var(--b)}
.b-tertiary__icon{position:absolute;right:0;top:0;bottom:0;width:4.4rem;display:flex;align-items:center;justify-content:center;background:var(--b);z-index:0;visibility:hidden;transform:none;transition:transform .46s var(--ease-btn),visibility 0s linear .4s}
.b-tertiary__icon svg{width:2rem;height:2rem}
@media(hover:hover){.b-tertiary:hover .b-tertiary__icon{transform:translateX(100%);visibility:visible;transition:transform .46s var(--ease-btn) .05s,visibility 0s}}
.b-tertiary:focus-visible .b-tertiary__icon{transform:translateX(100%);visibility:visible;transition:transform .46s var(--ease-btn) .05s,visibility 0s}
.b-tertiary:active .b-tertiary__label{opacity:.85}
.b-tertiary.-full{width:calc(100% - 4.4rem);margin-right:4.4rem}

/* a-link */
.a-link{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:100% 100%;transition:background-size .4s var(--ease-btn);padding-bottom:1px}
@media(hover:hover){.a-link:hover{background-size:100% 1px;background-position:0 100%}}
.a-link:focus-visible{background-size:100% 1px}

/* ---------- ПРОЕКТЫ ---------- */
.projects{padding-top:6rem;padding-bottom:4rem}
@media(min-width:961px){.projects{padding-top:10rem}}
.sec-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:2.4rem}
.sec-head .h2{grid-column:2}
.sec-head .b-secondary{grid-column:3;justify-self:end}
@media(max-width:640px){.sec-head{grid-template-columns:1fr auto}.sec-head .h2{grid-column:1}.sec-head .b-secondary{grid-column:2}.sec-head .b-secondary__label{display:none}}
@media(min-width:961px){.sec-head{margin-bottom:4rem}}
.projects__grid{display:grid;grid-template-columns:1fr;column-gap:1.2rem;row-gap:2.4rem}
@media(min-width:768px){.projects__grid{grid-template-columns:1fr 1fr}}
@media(min-width:961px){.projects__grid{column-gap:2rem;row-gap:3rem}}
.pcard__wrap{padding-bottom:1rem}
.pcard{container-type:inline-size;display:flex;flex-direction:column;row-gap:1.2rem}
.pcard__wrapper-image{opacity:0;transform:scale(.8)}
.pcard__image{overflow:hidden;aspect-ratio:692/460;transition:transform .4s var(--ease-btn)}
.pcard__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease-btn)}
.pcard__info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem;opacity:0;transition:transform .4s var(--ease-btn),padding .4s var(--ease-btn)}
.pcard__title-wrapper{display:flex;justify-content:space-between;align-items:flex-start;column-gap:.8rem;transition:padding .4s var(--ease-btn)}
.pcard__h{font-family:var(--f-head);font-weight:500;text-transform:uppercase;font-size:2rem;line-height:1;letter-spacing:-.01em;padding-right:6rem;transition:padding .4s var(--ease-btn)}
@media(min-width:961px){.pcard__h{font-size:2.4rem}}
.pcard__icon{width:3.2rem;height:3.2rem;border:1px solid #000;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity .4s var(--ease-btn)}
.pcard__icon svg{width:2rem;height:2rem}
@media(hover:hover){
  .pcard:hover .pcard__image{transform:scale(.913,.861)}
  .pcard:hover .pcard__image img{transform:scale(1.0952902519,1.1614401858)}
  .pcard:hover .pcard__info{padding-left:3rem;padding-right:3rem;transform:translateY(-4.624cqw)}
  .pcard:hover .pcard__title-wrapper{padding-left:3rem;padding-right:3rem}
  .pcard:hover .pcard__h{padding-right:.9rem}
  .pcard:hover .pcard__icon{opacity:1}
}

.pcard:focus-visible .pcard__icon{opacity:1}
.projects__more{display:flex;justify-content:center;padding-top:2rem}

/* ---------- КАТАЛОГ ---------- */
.offer{padding-top:6rem;padding-bottom:6rem}
@media(min-width:961px){.offer{padding-top:10rem;padding-bottom:10rem}}
.offer__title{text-align:center;margin:0 auto 2.4rem;max-width:20ch}
@media(min-width:961px){.offer__title{margin-bottom:4rem}}
.offer__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.2rem;row-gap:2.4rem}
@media(min-width:961px){.offer__list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1025px){.offer__list{display:flex;flex-wrap:wrap;justify-content:center;column-gap:10rem;row-gap:6rem;max-width:80%;margin:0 auto}.ocard{flex:0 0 calc((100% - 20rem)/3);max-width:28rem}}
.ocard{display:block}
.ocard__img{aspect-ratio:1;overflow:hidden;margin-bottom:1.6rem;opacity:0;transform:scale(.8)}
.ocard__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform .4s var(--ease-btn)}
@media(hover:hover){.ocard:hover .ocard__img img{transform:scale(.95)}}
.ocard:focus-visible .ocard__img img{transform:scale(.95)}
.ocard__t{text-align:center;font-size:1.3rem}

/* ---------- КАЛЬКУЛЯТОР ---------- */
.calc{display:grid;grid-template-columns:1fr;gap:3.2rem;padding-top:4rem;padding-bottom:6rem;border-top:1px solid var(--line)}
@media(min-width:961px){.calc{grid-template-columns:5fr 7fr;gap:6rem;padding-top:6rem;padding-bottom:10rem}}
.calc__media .pixel{aspect-ratio:4/5}
.calc__cap{margin-top:1.2rem;color:var(--muted)}
@media(min-width:961px){.calc__media{position:sticky;top:10rem;align-self:start}}
.calc__eyebrow{margin-bottom:1.6rem}
.calc__body .h2{margin-bottom:3.2rem}
.calc__form{display:grid;row-gap:2.4rem}
.calc__row2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.seg{display:flex;flex-wrap:wrap;gap:.6rem}
.seg legend{width:100%;margin-bottom:1rem;color:var(--muted)}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.seg span{display:block;font-family:var(--f-mono);font-size:1.2rem;text-transform:uppercase;padding:1rem 1.4rem;border:1px solid #000;position:relative;overflow:hidden;z-index:0;transition:color .4s var(--ease-btn)}
.seg span:after{content:"";position:absolute;inset:0;background:#000;z-index:-1;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease-btn)}
.seg input:checked+span{color:#fff}
.seg input:checked+span:after{transform:scaleX(1);transform-origin:left}
@media(hover:hover){.seg label:hover span:after{transform:scaleX(.08);transform-origin:left}.seg input:checked+span:after{transform:scaleX(1)}}
.seg input:focus-visible+span{outline:2px solid #000;outline-offset:2px}
.seg label:active span{transform:scale(.97)}
.calc__res{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:3.2rem 0 2.4rem;border-top:1px solid #000}
@media(min-width:641px){.calc__res{grid-template-columns:repeat(4,1fr)}}
.res{padding:1.2rem 1.2rem 1.2rem 0;border-bottom:1px solid var(--line)}
.res .mono{color:var(--muted);margin-bottom:.8rem}
.res__v{font-family:var(--f-head);font-weight:500;font-size:2.8rem;line-height:1;letter-spacing:-.02em}
.res.-wide{grid-column:1/-1}
.res__price{font-size:4.4rem}
@media(min-width:961px){.res__price{font-size:6.4rem}}
.calc__formula{grid-column:1/-1;padding-top:1.2rem;color:var(--muted);line-height:1.6;text-transform:none}
.calc__note{grid-column:1/-1;font-size:1.4rem;color:var(--muted);padding-top:.8rem}

/* поля */
.fld{position:relative;padding-top:1.8rem}
.fld__input{width:100%;font:inherit;font-size:1.6rem;color:#000;background:transparent;border:0;border-bottom:1px solid var(--line);padding:.8rem 0;border-radius:0;outline:none;transition:border-color .2s var(--ease-btn);-moz-appearance:textfield;appearance:none}
.fld__input::-webkit-outer-spin-button,.fld__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
textarea.fld__input{resize:vertical;min-height:8rem}
.fld__input:focus{border-color:#000}
.fld__label{position:absolute;left:0;bottom:.9rem;font-size:1.6rem;color:var(--muted);pointer-events:none;transition:bottom .2s var(--ease-btn),font-size .2s var(--ease-btn),color .2s}
.fld.-area .fld__label{bottom:auto;top:2.6rem;transition:top .2s var(--ease-btn),font-size .2s var(--ease-btn)}
.fld__input:focus+.fld__label,.fld__input:not(:placeholder-shown)+.fld__label{bottom:calc(100% - 1.6rem);font-size:1.2rem;color:#000}
.fld.-area .fld__input:focus+.fld__label,.fld.-area .fld__input:not(:placeholder-shown)+.fld__label{top:0;bottom:auto}
.fld.-err .fld__input{border-color:var(--accent)}
.fld.-err .fld__label{color:var(--accent)}
.radios{display:flex;flex-wrap:wrap;gap:1.6rem 2.4rem}
.radios legend{width:100%;margin-bottom:1rem;color:var(--muted)}
.radios.-center{justify-content:center}
.radio{display:inline-flex;align-items:center;gap:.8rem;cursor:pointer;font-size:1.4rem}
.radio input{appearance:none;width:1.4rem;height:1.4rem;border:1px solid #000;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.radio input:before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:#000;transform:scale(0);transition:transform .3s var(--ease-out)}
.radio input:checked:before{transform:scale(1)}
.check{display:flex;gap:1rem;align-items:flex-start;font-size:1.3rem;cursor:pointer;color:var(--muted)}
.check input{appearance:none;flex-shrink:0;width:1.6rem;height:1.6rem;border:1px solid #000;display:grid;place-items:center;cursor:pointer;margin-top:1px}
.check input:before{content:"";width:.9rem;height:.5rem;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg) scale(0);margin-top:-2px;transition:transform .3s var(--ease-out)}
.check input:checked{background:#000}
.check input:checked:before{transform:rotate(-45deg) scale(1)}
.check.-err input{border-color:var(--accent)}

/* ---------- СЕРВИС (link-list) ---------- */
.llist{display:grid;grid-template-columns:1fr;gap:2.4rem;padding-top:6rem;padding-bottom:6rem;border-top:1px solid var(--line)}
@media(min-width:961px){.llist{grid-template-columns:1fr 1fr;gap:2rem;padding-top:8rem;padding-bottom:10rem}}
.llist__title{max-width:16ch}
.llist__lead{margin-bottom:2.4rem;max-width:56ch}
.lli{position:relative;z-index:0;display:grid;grid-template-columns:auto 1fr auto;column-gap:1.2rem;padding:1.2rem 0;border-top:1px solid var(--line)}
@media(min-width:961px){.lli{column-gap:2rem}}
.lli:last-child{border-bottom:1px solid var(--line)}
.lli:after{content:"";position:absolute;left:0;top:-1px;width:100%;height:2px;background:#000;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-btn)}
.lli__img{width:6.5rem;height:8rem;overflow:hidden}
.lli__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-btn)}
.lli__label{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}
.lli__h{font-family:var(--f-head);font-weight:500;text-transform:uppercase;font-size:1.6rem;line-height:1.1}
@media(min-width:961px){.lli__h{font-size:1.8rem}}
.lli__t{font-size:1.4rem;color:var(--muted);max-width:48ch}
.lli__icon{width:4rem;height:4rem;border:1px solid #000;display:flex;align-items:center;justify-content:center;transition:background .4s var(--ease-btn),color .4s var(--ease-btn)}
.lli__icon svg{width:2.2rem;height:2.2rem}
@media(hover:hover){.lli:hover:after{transform:scaleX(1)}.lli:hover .lli__icon{background:#000;color:#fff}.lli:hover .lli__img img{transform:scale(1.08)}}
.lli:focus-visible:after{transform:scaleX(1)}.lli:focus-visible .lli__icon{background:#000;color:#fff}

/* ---------- ШОУРУМ ---------- */
.showroom{position:relative;min-height:90vh;color:#fafafa;display:flex;align-items:flex-end;overflow:hidden}
.showroom__img{position:absolute!important;inset:0}
.showroom__img:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000000b3,#0000001a 70%);pointer-events:none}
.showroom__inner{position:relative;z-index:1;width:100%;padding-top:12rem;padding-bottom:4rem}
.showroom__eyebrow{margin-bottom:1.6rem}
.showroom__title{font-family:var(--f-head);font-weight:500;text-transform:uppercase;font-size:clamp(4rem,9vw,14rem);line-height:.93;letter-spacing:-.04em;margin-bottom:2.4rem;max-width:12ch}
.showroom__meta{display:flex;flex-wrap:wrap;gap:1rem 3.2rem;padding:1.2rem 0;border-top:1px solid rgba(255,255,255,.5);margin-bottom:2.4rem;max-width:80rem}

/* ---------- ЗАЯВКА ---------- */
.order{display:grid;grid-template-columns:1fr;gap:3.2rem;padding-top:6rem;padding-bottom:6rem}
@media(min-width:961px){.order{grid-template-columns:1fr 1fr;gap:2rem;padding-top:10rem;padding-bottom:10rem}}
.order__head .mono{margin-bottom:1.6rem}
.order__head .h2{margin-bottom:2rem;max-width:14ch}
.order__lead{max-width:44ch;color:var(--muted)}
.order__form{display:grid;row-gap:2rem;align-content:start}
.order__msg{min-height:1.4em;line-height:1.5;text-transform:none}
.order__msg.-ok{color:#000;border:1px solid #000;padding:1rem 1.2rem}
.order__msg.-err{color:var(--accent)}

/* ---------- ФУТЕР ---------- */
.ftr{position:relative;background:var(--bg)}
.ftr__nav{position:relative;padding:2.4rem 0}
.ftr__nav:before,.ftr__nav:after{content:"";position:absolute;left:0;width:100%;height:1px;background:#000;clip-path:inset(0 50% 0 50%);transition:clip-path 1.2s var(--ease-out)}
.ftr__nav:before{top:0}.ftr__nav:after{bottom:0}
.ftr__nav-list{display:grid;justify-content:center;row-gap:.8rem;column-gap:2rem;text-align:center;opacity:0}
@media(min-width:961px){.ftr__nav-list{grid-template-columns:repeat(5,1fr);opacity:0}}
.ftr__nav-list .a-link{font-size:1.3rem}
.ftr__grid{display:grid;grid-template-columns:1fr}
@media(min-width:961px){.ftr__grid{grid-template-columns:1fr 1fr}}
.ftr__left,.ftr__right{padding:3.2rem 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2rem;position:relative}
@media(min-width:961px){.ftr__right{padding-left:4rem;padding-right:4rem}.ftr__left:after{content:"";position:absolute;right:0;top:0;bottom:0;width:1px;background:#000;clip-path:inset(50% 0 50% 0);transition:clip-path 1.2s var(--ease-out) .2s}}
.ftr__right{text-align:left;align-items:stretch}
.ftr__right .ftr__h{text-align:center}
.ftr__h{font-family:var(--f-head);font-weight:500;text-transform:uppercase;font-size:2rem;line-height:1;letter-spacing:-.01em;max-width:24ch}
@media(min-width:961px){.ftr__h{font-size:2.8rem}}
.ftr__form{display:grid;row-gap:1.6rem}
.ftr__social{display:flex;gap:2rem}
.ftr__social a{display:flex;padding:3px;transition:transform .2s cubic-bezier(0,0,.2,1)}
@media(hover:hover){.ftr__social a:hover{transform:translateY(-2px) scale(1.15)}}
.ftr__bottom{position:relative;padding:3.2rem 0 8rem;display:flex;flex-direction:column;align-items:center;gap:2.4rem;text-align:center}
.ftr__bottom:before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:#000;clip-path:inset(0 50% 0 50%);transition:clip-path 1.2s var(--ease-out) .4s}
@media(min-width:961px){.ftr__bottom{flex-direction:row;justify-content:space-between;padding-bottom:4rem;text-align:left}.ftr__bottom>*{flex:1}.ftr__credit{text-align:right}}
.ftr__legal{display:flex;gap:2.4rem;justify-content:center}
@media(min-width:961px){.ftr__legal{justify-content:flex-start}}
.ftr__word{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:3.6rem;letter-spacing:-.03em;line-height:1;text-align:center}
.ftr__credit{line-height:1.6;font-size:1.1rem}
.ftr.-reveal .ftr__nav:before,.ftr.-reveal .ftr__nav:after,.ftr.-reveal .ftr__bottom:before{clip-path:inset(0)}
.ftr.-reveal .ftr__left:after{clip-path:inset(0)}

/* ---------- Диалог проекта ---------- */
.pdlg{position:fixed;inset:0 0 0 auto;margin:0 0 0 auto;height:100%;max-height:none;width:min(100%,64rem);background:var(--bg);color:#000;border:0;padding:8rem var(--gut) 4rem;overflow-y:auto;overscroll-behavior:contain;transform:translateX(110%);transition:transform .6s var(--ease-menu),overlay .6s allow-discrete,display .6s allow-discrete}
.pdlg[open]{transform:none}
@starting-style{.pdlg[open]{transform:translateX(110%)}}
.pdlg::backdrop{background:rgba(0,0,0,.4);opacity:0;transition:opacity .4s var(--ease-menu),overlay .4s allow-discrete,display .4s allow-discrete}
.pdlg[open]::backdrop{opacity:1}
@starting-style{.pdlg[open]::backdrop{opacity:0}}
.pdlg__close{position:absolute;top:1.6rem;right:var(--gut)}
.pdlg__img{aspect-ratio:692/460;overflow:hidden;margin-bottom:1.2rem}
.pdlg__img img{width:100%;height:100%;object-fit:cover}
.pdlg__meta{display:flex;justify-content:space-between;margin-bottom:1.6rem}
.pdlg__h{font-family:var(--f-head);font-weight:500;text-transform:uppercase;font-size:3.2rem;line-height:1;letter-spacing:-.02em;margin-bottom:1.6rem}
.pdlg__t{margin-bottom:2.4rem;color:var(--muted)}
.pdlg__list{display:grid;grid-template-columns:auto 1fr;border-top:1px solid #000;margin-bottom:3.2rem}
.pdlg__list dt,.pdlg__list dd{padding:1rem 0;border-bottom:1px solid var(--line)}
.pdlg__list dt{font-family:var(--f-mono);font-size:1.2rem;text-transform:uppercase;padding-right:2rem;color:var(--muted)}

/* ---------- Плашка демо / тост ---------- */
.demo-badge{position:fixed;left:1.2rem;bottom:1.2rem;z-index:80;background:#000;color:#fff;padding:.8rem 1.2rem;font-size:1.1rem;border:1px solid #000;transition:background .3s,color .3s}
@media(hover:hover){.demo-badge:hover{background:#fafafa;color:#000}}
.toast{position:fixed;left:50%;bottom:1.2rem;z-index:90;transform:translate(-50%,160%);opacity:0;visibility:hidden;background:#fafafa;border:1px solid #000;padding:1rem 1.4rem;max-width:calc(100% - 2.4rem);text-transform:none;transition:transform .5s var(--ease-out),opacity .3s,visibility 0s linear .5s}
.toast.-show{transform:translate(-50%,0);opacity:1;visibility:visible;transition:transform .5s var(--ease-out),opacity .3s,visibility 0s}
@media(max-width:640px){.toast{bottom:5.2rem}}

@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}.pcard__wrapper-image,.ocard__img,.pcard__info,.ftr__nav-list{opacity:1!important;transform:none!important}}
.no-promo .hdr:not(.-sticky){top:0}

html.js:not(.lines-fallback) [data-lines]:not(.is-split),html.js:not(.lines-fallback) [data-lines-hero]:not(.is-split){visibility:hidden}
