/* Sian Group — site styles ("Architectural" design, approved 17.10.2026) */
:root{
  --bg:#F5F3EF; --stone:#E9E5DD; --white:#FFFFFF;
  --ink:#1F2226; --ink2:#55595F; --muted:#6A6D72;
  --navy:#2B375E; --blue:#398EC0; --blue-text:#2A73A6; --blue-light:#7CC0EA;
  --foot:#17191C; --line:#D6D1C7; --line2:#E2DED6; --line3:#B9B3A7;
  --font:'Onest','Noto Sans Georgian',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);font-size:16px;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink)}a:hover{color:var(--blue-text)}
input,select,textarea,button{font:inherit;color:inherit}
h1,h2,h3{font-weight:400;letter-spacing:-.02em;margin:0}
p{margin:0}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--navy);color:#fff;padding:12px 18px;text-decoration:none}
.skip:focus{top:12px;color:#fff}
.wrap{max-width:1320px;margin:0 auto;padding:0 40px}
@media (max-width:640px){.wrap{padding:0 20px}}
.lbl{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-text)}
.h2{font-size:clamp(30px,3vw,44px);line-height:1.12;text-wrap:balance}
.lead{font-size:18px;line-height:1.65;color:var(--ink2)}
.txt{font-size:17px;line-height:1.7;color:var(--ink2)}
.arrow-link{font-weight:500;display:inline-flex;gap:10px;align-items:center;min-height:44px;text-decoration:none}
.arrow-link svg{transition:transform .3s}.arrow-link:hover svg{transform:translateX(5px)}

/* placeholder tones (used until real photos are uploaded) */
.p0{background:linear-gradient(160deg,#9AA3A8 0%,#6C757B 45%,#3E4549 100%)}
.p1{background:linear-gradient(160deg,#B9C1C3 0%,#7F8C93 50%,#454F57 100%)}
.p2{background:linear-gradient(160deg,#A79C8C 0%,#7A6F61 50%,#433C35 100%)}
.p3{background:linear-gradient(160deg,#A8AE9C 0%,#737B69 50%,#3C4237 100%)}
.media{position:relative;overflow:hidden;background:#3E4549}
.media>img,.media>.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 28px;text-decoration:none;font-weight:500;font-size:15px;border:0;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.btn-dark{background:var(--navy);color:#fff}.btn-dark:hover{background:var(--blue);color:#fff}
.btn-line{border:1px solid var(--ink);color:var(--ink);background:transparent}.btn-line:hover{background:var(--ink);color:#fff}
.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:#fff;color:var(--navy)}
.btn[disabled]{opacity:.6;cursor:wait}

/* top bar */
.topbar{background:var(--navy);color:#D9D6CF;font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:40px}
.topbar .tb-l,.topbar .tb-r{display:flex;gap:28px;align-items:center}
.topbar .tb-r{gap:20px}
.topbar a{color:#D9D6CF;text-decoration:none}.topbar a:hover{color:#fff}
.langs{display:flex}
.langs a{color:#9AA3BE;padding:0 6px;min-height:36px;display:inline-flex;align-items:center;font-size:13px}
.langs a.on{color:#fff}

/* header */
.hdr{background:#fff;border-bottom:1px solid var(--line2);position:relative;z-index:20}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;height:92px}
.logo{display:flex;align-items:center;flex:none}
.logo img{height:68px;width:auto}
.nav{display:flex;gap:34px;font-size:15px}
.nl{color:var(--ink);text-decoration:none;position:relative;padding:8px 0}
.nl::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--blue-text);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nl:hover{color:var(--ink)}.nl:hover::after,.nl.on::after{transform:scaleX(1)}
.nl.on{color:var(--blue-text)}
.hdr-r{display:flex;align-items:center;gap:20px}
.hphone{display:flex;flex-direction:column;text-decoration:none;line-height:1.2}
.hphone small{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.hphone b{font-weight:600;font-size:17px;white-space:nowrap}
.hcta{min-height:48px;padding:0 22px}
.burger{display:none;width:48px;height:48px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--ink);cursor:pointer}
@media (max-width:1100px){.nav{gap:24px}}
@media (max-width:1020px){.nav{display:none}.burger{display:flex}.tb-hide{display:none!important}}
@media (max-width:640px){.hcta{display:none}.hphone small{display:none}.logo img{height:54px}.hdr .wrap{height:76px;gap:14px}.hphone b{font-size:15px}}
@media (max-width:400px){.hphone b{font-size:13px}.logo img{height:46px}}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:90;background:rgba(15,20,35,.5);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.drawer.open{opacity:1;visibility:visible}
.drawer-in{position:absolute;right:0;top:0;bottom:0;width:min(380px,88vw);background:#fff;padding:24px 28px;display:flex;flex-direction:column;gap:8px;transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.7,.2,1);overflow-y:auto}
.drawer.open .drawer-in{transform:none}
.drawer-close{align-self:flex-end;width:48px;height:48px;border:1px solid var(--ink);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}
.drawer nav{display:flex;flex-direction:column;margin:12px 0 20px}
.drawer nav a{font-size:22px;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line2)}
.drawer nav a.on{color:var(--blue-text)}
.drawer .dphone{font-size:22px;font-weight:600;text-decoration:none;padding:10px 0}
.drawer .langs a{color:var(--muted);font-size:15px;min-height:44px}.drawer .langs a.on{color:var(--navy);font-weight:600}

/* slider */
.slider{position:relative;height:700px;background:#3E4549;overflow:hidden}
@media (max-width:760px){.slider{height:620px}}
.sl{position:absolute;inset:0;overflow:hidden;visibility:hidden}
.sl.prev{visibility:visible;z-index:1}
.sl.on{visibility:visible;z-index:2;animation:curtain 1.3s cubic-bezier(.77,0,.18,1) both}
.sl.first.on{animation:none}
@keyframes curtain{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
.sl .img{position:absolute;inset:0}
.sl .img img{width:100%;height:100%;object-fit:cover}
.sl.on .img{animation:kb 9s ease-out both}
@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1.02)}}
.sl .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,22,25,.35),rgba(20,22,25,0) 60%)}
.panel{position:absolute;left:max(40px,calc((100% - 1320px)/2 + 40px));bottom:120px;width:min(600px,calc(100% - 80px));background:#fff;padding:48px 52px;display:flex;flex-direction:column;gap:20px;opacity:0}
.sl.on .panel{animation:rise 1s .55s cubic-bezier(.2,.7,.2,1) both}
.sl.prev .panel,.sl.first.on .panel{opacity:1;animation:none}
@keyframes rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.sl .ln{opacity:1}
.sl.on:not(.first) .ln{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.sl.on .l1{animation-delay:.8s}.sl.on .l2{animation-delay:.92s}.sl.on .l3{animation-delay:1.04s}.sl.on .l4{animation-delay:1.16s}
.panel .lbl{display:flex;gap:14px;align-items:center}
.panel .lbl::before{content:"";width:32px;height:1px;background:var(--blue-text)}
.panel .st{font-size:clamp(32px,3.6vw,52px);line-height:1.08;text-wrap:balance}
.panel p{font-size:17px;line-height:1.6;color:var(--ink2)}
.panel .btns{display:flex;flex-wrap:wrap;gap:12px;padding-top:6px}
.ctrl{position:absolute;z-index:5;right:max(40px,calc((100% - 1320px)/2 + 40px));bottom:40px;display:flex;align-items:center;justify-content:flex-end;gap:24px;color:#fff}
.dots{display:flex}
.dot{background:transparent;border:0;color:rgba(255,255,255,.6);cursor:pointer;font-size:14px;min-width:36px;min-height:44px;padding:0}
.dot.on{color:#fff;font-weight:600}
.prog{height:2px;background:rgba(255,255,255,.3);position:relative;overflow:hidden;width:180px}
.prog i{position:absolute;left:0;top:0;bottom:0;width:0;background:#fff}
.prog.run i{animation:pg 6.5s linear both}
.slider.paused .prog.run i{animation-play-state:paused}
@keyframes pg{from{width:0}to{width:100%}}
.arrs{display:flex;gap:8px}
.arr{width:54px;height:54px;border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s}
.arr:hover{background:#fff;color:var(--ink)}
@media (max-width:760px){.panel{left:20px;right:20px;width:auto;bottom:96px;padding:24px 22px;gap:14px}.panel .st{font-size:clamp(24px,7vw,32px)}.panel p{font-size:15px;line-height:1.5}.panel .btns .btn{min-height:46px;padding:0 18px;font-size:14px}.ctrl{left:20px;right:20px;justify-content:space-between}.prog{width:90px}.arr{width:46px;height:46px}}

/* sections */
.sec{padding:110px 0}
.sec-0{padding:0 0 110px}
.sec-stone{background:var(--stone);padding:96px 0}
@media (max-width:640px){.sec{padding:72px 0}.sec-0{padding:0 0 72px}.sec-stone{padding:64px 0}}
.shead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:48px;border-top:1px solid var(--ink);padding-top:28px}
.shead>div{display:flex;flex-direction:column;gap:14px}
.shead.plain{border-top:0;padding-top:0}

/* intro */
.intro{display:flex;flex-wrap:wrap;gap:40px 80px}
.intro>div:first-child{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:22px}
.intro>div:last-child{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:36px;padding-top:34px}
.intro h2{font-size:clamp(32px,3.4vw,50px);line-height:1.12;text-wrap:balance}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:24px;border-top:1px solid var(--line);padding-top:28px}
.fact{display:flex;flex-direction:column;gap:6px}
.fact b{font-size:44px;font-weight:300;letter-spacing:-.03em;line-height:1.1}
.fact span{font-size:14px;color:var(--muted);line-height:1.4}
.facts.big .fact b{font-size:52px;color:var(--navy)}

/* product tiles */
.grid-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:52px 32px}
.tile{display:flex;flex-direction:column;gap:18px}
.tile .media{aspect-ratio:4/3}
.tile .media img,.tile .media .ph{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tile .media:hover img,.tile .media:hover .ph{transform:scale(1.05)}
.tile.sale .media{outline:2px solid var(--blue)}
.vbtn{display:block;width:100%;padding:0;border:0;cursor:pointer;text-align:left}
.play{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy);display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s,transform .25s;z-index:2}
.vbtn:hover .play{background:var(--blue);color:#fff;transform:scale(1.06)}
.play.big{width:96px;height:96px;margin:-48px 0 0 -48px}
.vtag{position:absolute;left:16px;bottom:14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(43,55,94,.85);padding:6px 10px;z-index:2}
.tname{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;color:var(--ink);text-decoration:none}
.tname:hover{color:var(--ink)}.tname:hover .tn{color:var(--blue-text)}
.tname>span{display:flex;flex-direction:column;gap:6px}
.tname .num{font-size:13px;color:var(--blue-text)}
.tn{font-size:22px;font-weight:500;letter-spacing:-.01em;transition:color .2s;line-height:1.3}
.tdesc{font-size:15px;color:var(--muted);line-height:1.5}
.ta{transition:transform .3s;flex:none;margin-top:26px}
.tname:hover .ta{transform:translateX(6px)}

/* full cycle */
.cycle-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px 60px;align-items:flex-end;margin-bottom:52px}
.cycle-head>div{display:flex;flex-direction:column;gap:14px}
.cycle-head p{max-width:460px;font-size:16px;line-height:1.65;color:var(--ink2)}
.cycle{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));border-top:1px solid var(--line3)}
.cycle>div{padding:32px 28px 8px 0;display:flex;flex-direction:column;gap:16px}
.cycle .n{font-size:13px;color:var(--blue-text)}
.cycle b{font-size:20px;font-weight:500}
.cycle span.t{font-size:15px;line-height:1.6;color:var(--ink2);padding-right:20px}

/* split (image + text) */
.split{display:flex;flex-wrap:wrap;gap:56px 80px;align-items:center}
.split>.media{flex:1 1 520px;min-width:0;aspect-ratio:5/4}
.split>div:last-child{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:24px}
.phl{position:absolute;left:16px;bottom:14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85);z-index:1}

/* videos */
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:32px}
.vcard{display:flex;flex-direction:column;gap:14px}
.vcard .media{aspect-ratio:16/9}
.vcard .media img{transition:transform .8s}
.vcard .vbtn:hover img{transform:scale(1.04)}
.vcard .cat{font-size:13px;color:var(--blue-text)}
.vcard .vt{font-size:19px;line-height:1.35;font-weight:500}
.yt{position:absolute;right:14px;top:14px;font-size:11px;letter-spacing:.1em;color:#fff;background:#C4302B;padding:4px 8px;z-index:2}
.vfeat{grid-column:span 2;grid-row:span 2}
.vfeat .media{aspect-ratio:auto;height:100%;min-height:320px}
@media (max-width:900px){.vfeat{grid-column:auto;grid-row:auto}.vfeat .media{aspect-ratio:16/9;min-height:0}}

/* news cards */
.grid-news{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:48px 32px}
.ncard{display:flex;flex-direction:column;gap:16px;color:var(--ink);text-decoration:none}
.ncard .media{aspect-ratio:3/2}
.ncard .media img,.ncard .media .ph{transition:transform .8s}
.ncard:hover .media img,.ncard:hover .media .ph{transform:scale(1.05)}
.ncard:hover{color:var(--ink)}.ncard:hover .nt{color:var(--blue-text)}
.meta{display:flex;gap:14px;font-size:13px;color:var(--muted)}
.meta .c{color:var(--blue-text)}
.nt{font-size:21px;line-height:1.35;font-weight:500;transition:color .2s}
.nex{font-size:15px;line-height:1.6;color:var(--ink2)}
.featnews{display:flex;flex-wrap:wrap;gap:32px 56px;align-items:center;color:var(--ink);text-decoration:none;padding-bottom:56px;border-bottom:1px solid var(--line);margin-bottom:56px}
.featnews:hover{color:var(--ink)}.featnews:hover .nt{color:var(--blue-text)}
.featnews .media{flex:1 1 560px;min-width:0;aspect-ratio:16/10}
.featnews .media img,.featnews .media .ph{transition:transform .8s}
.featnews:hover .media img,.featnews:hover .media .ph{transform:scale(1.04)}
.featnews>div:last-child{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:18px}
.featnews .nt{font-size:clamp(28px,2.8vw,40px);line-height:1.15;font-weight:400;letter-spacing:-.02em}

/* request block */
.req{background:var(--navy);color:#fff;padding:96px 0}
@media (max-width:640px){.req{padding:64px 0}}
.req .wrap{display:flex;flex-wrap:wrap;gap:48px 80px;align-items:flex-start}
.req-l{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:20px}
.req-l .lbl{color:var(--blue-light)}
.req-l h2{font-size:clamp(30px,3.2vw,46px);line-height:1.12;text-wrap:balance}
.req-l p{font-size:17px;line-height:1.65;color:#C9CFE0}
.req-l .big-phone{color:#fff;font-size:30px;font-weight:500;text-decoration:none;padding-top:10px}
.form{flex:1 1 520px;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px}
.form label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#C9CFE0}
.form .full{grid-column:1/-1}
.fld{width:100%;min-height:54px;border:1px solid #5A668C;background:transparent;color:#fff;padding:0 18px;outline:none;border-radius:0}
.fld:focus{border-color:var(--blue-light)}
.fld::placeholder{color:#9AA3BE}
select.fld option{color:var(--ink)}
textarea.fld{padding:14px 18px;resize:vertical;min-height:96px}
.form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding-top:6px}
.form-foot small{font-size:13px;color:#9AA3BE;max-width:320px;line-height:1.5}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.fmsg{grid-column:1/-1;padding:16px 18px;font-size:15px;line-height:1.5;display:none}
.fmsg.ok{display:block;background:rgba(124,192,234,.15);border-left:3px solid var(--blue-light);color:#fff}
.fmsg.err{display:block;background:rgba(196,48,43,.15);border-left:3px solid #E06A5E;color:#fff}
.form.light label{color:var(--ink2)}
.form.light .fmsg.ok{background:#EAF3F9;color:var(--ink);border-left-color:var(--blue)}
.form.light .fmsg.err{background:#FBECEA;color:var(--ink);border-left-color:#C4302B}
.fldl{width:100%;min-height:54px;border:1px solid var(--line3);background:#fff;color:var(--ink);padding:0 18px;outline:none;border-radius:0}
.fldl:focus{border-color:var(--blue)}
textarea.fldl{padding:14px 18px;resize:vertical;min-height:110px}
.attach{position:relative;grid-column:1/-1;display:flex!important;flex-direction:row!important;align-items:center;gap:12px!important;min-height:54px;border:1px dashed var(--line3);padding:0 18px;font-size:15px!important;color:var(--navy)!important;cursor:pointer}
.attach input{position:absolute;width:1px;height:1px;opacity:0}
.attach small{color:var(--muted);font-size:12px;margin-left:auto}
.attach:focus-within{outline:3px solid var(--blue);outline-offset:2px}

/* footer */
.foot{background:var(--foot);color:#B9B6AE;padding:72px 0 32px;font-size:15px}
.foot .wrap{display:flex;flex-direction:column;gap:56px}
.fcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:40px}
.fcols>div{display:flex;flex-direction:column;gap:12px}
.fcols .brand{color:#fff;font-weight:700;font-size:20px;letter-spacing:.08em}
.fcols .lbl{color:#fff}
.flink{color:#B9B6AE;text-decoration:none}.flink:hover{color:#fff}
.socials{display:flex;flex-wrap:wrap;gap:12px 18px;padding-top:6px}
.fbottom{border-top:1px solid #2E3136;padding-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:#85827B}

/* video modal */
.modal{position:fixed;inset:0;z-index:100;background:rgba(15,20,35,.88);display:none;align-items:center;justify-content:center;padding:24px}
.modal.open{display:flex;animation:mfade .25s ease both}
@keyframes mfade{from{opacity:0}to{opacity:1}}
.mback{position:absolute;inset:0;border:0;background:transparent;cursor:default}
.mbox{position:relative;width:min(1100px,100%);display:flex;flex-direction:column;gap:16px}
.mclose{position:absolute;top:-56px;right:0;width:48px;height:48px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.mclose:hover{background:#fff;color:var(--navy)}
.mframe{aspect-ratio:16/9;background:#000}
.mframe iframe{width:100%;height:100%;border:0;display:block}
.mcap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:#fff;align-items:center}
.mcap span{font-size:20px;font-weight:500}
.mcap a{color:var(--blue-light);font-size:15px}

/* inner page header */
.phead{background:var(--stone);padding:30px 0 64px}
.crumbs{font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.crumbs a{color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:10px}
.crumbs [aria-current]{color:var(--ink)}
.phead-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 60px;padding-top:52px}
.phead-row>div{display:flex;flex-direction:column;gap:16px}
.phead h1{font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.025em}
.phead p{max-width:520px;font-size:18px;line-height:1.65;color:var(--ink2)}
@media (max-width:640px){.phead-row{padding-top:32px}.phead{padding-bottom:44px}}

/* pills / pagination */
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:999px;padding:0 20px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font-size:15px;transition:background .2s,color .2s}
.pill:hover{background:var(--stone);color:var(--ink)}
.pill.on{background:var(--navy);border-color:var(--navy);color:#fff}
.pill sup{font-size:11px;margin-left:6px;opacity:.7}
.toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:44px}
.count{font-size:14px;color:var(--muted)}
.pager{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:72px}
.pager a,.pager span{min-width:48px;min-height:48px;border:1px solid var(--line3);display:inline-flex;align-items:center;justify-content:center;padding:0 14px;text-decoration:none;color:var(--ink)}
.pager a:hover{border-color:var(--ink)}
.pager .on{background:var(--navy);border-color:var(--navy);color:#fff}

/* boxes */
.boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:32px}
.box{background:#fff;padding:44px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.box.acc{border-top:3px solid var(--blue)}
.box h2{font-size:28px}
.box p{font-size:16px;line-height:1.6;color:var(--ink2)}
.box .bphone{font-size:26px;font-weight:500;text-decoration:none}
@media (max-width:640px){.box{padding:28px}}

/* product page */
.pcrumbs{padding-top:28px}
.phero{display:flex;flex-wrap:wrap;gap:48px 72px;align-items:flex-start}
.pgal{flex:1 1 560px;min-width:0;display:flex;flex-direction:column;gap:14px}
.pgal .main{aspect-ratio:4/3}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:12px}
.thumb{border:0;padding:0;cursor:pointer;aspect-ratio:4/3;outline:2px solid transparent;outline-offset:2px;position:relative;overflow:hidden;background:#3E4549}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb.on{outline-color:var(--blue)}
.pinfo{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:24px}
.pinfo h1{font-size:clamp(34px,3.6vw,54px);line-height:1.08}
.specs{border-top:1px solid var(--ink)}
.spec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}
.spec span:first-child{color:var(--muted)}
.spec span:last-child{font-weight:500}
.tabs{display:flex;flex-wrap:wrap;gap:36px;border-bottom:1px solid var(--line);margin-bottom:44px}
.tab{background:transparent;border:0;border-bottom:2px solid transparent;padding:0 2px;min-height:56px;cursor:pointer;font-size:17px;color:var(--muted)}
.tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--blue)}
.tabpanel[hidden]{display:none}
.uses{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:24px}
.use{background:#fff;padding:28px;border-top:3px solid var(--blue);display:flex;flex-direction:column;gap:10px}
.use b{font-size:19px;font-weight:500}
.use span{font-size:15px;line-height:1.6;color:var(--ink2)}
.rel{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink)}
.rel .media{aspect-ratio:4/3}
.rel:hover .rn{color:var(--blue-text)}
.rn{font-size:19px;font-weight:500}

.price{font-size:16px;color:var(--ink2)}.price b{font-size:30px;font-weight:500;color:var(--navy);letter-spacing:-.01em}

/* rich text */
.rich{font-size:18px;line-height:1.75;color:#3F4349;max-width:820px}
.rich>*+*{margin-top:1em}
.rich h2{font-size:30px;line-height:1.2;margin-top:1.6em;color:var(--ink)}
.rich h3{font-size:23px;line-height:1.3;margin-top:1.4em;color:var(--ink);font-weight:500}
.rich ul,.rich ol{padding-left:1.3em}
.rich li+li{margin-top:.35em}
.rich ul li::marker{color:var(--blue)}
.rich a{color:var(--blue-text)}
.rich img{margin:1.5em 0}
.rich blockquote{margin-left:0;padding-left:24px;border-left:3px solid var(--blue);color:var(--ink2)}
.rich table{border-collapse:collapse;width:100%;font-size:16px}
.rich td,.rich th{border-bottom:1px solid var(--line);padding:12px 8px;text-align:left}
.rich .ql-align-center{text-align:center}.rich .ql-align-right{text-align:right}

/* services */
.srow{display:flex;flex-wrap:wrap;gap:40px 80px;align-items:center;padding:64px 0;border-top:1px solid var(--line)}
.srow:first-child{border-top:0}
.srow.rev{flex-direction:row-reverse}
.srow>.media{flex:1 1 480px;min-width:0;aspect-ratio:4/3}
.srow>div:last-child{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:20px}
.srow .num{font-size:14px;color:var(--blue-text)}
.buls{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.buls li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5}
.buls li::before{content:"";flex:none;width:8px;height:8px;margin-top:8px;background:var(--blue)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:32px}
.step{display:flex;flex-direction:column;gap:14px;padding-top:24px;border-top:2px solid var(--navy)}
.step .sn{font-size:44px;font-weight:300;color:var(--blue-text);letter-spacing:-.03em;line-height:1}
.step b{font-size:19px;font-weight:500}
.step span{font-size:15px;line-height:1.6;color:var(--ink2)}
.faqwrap{display:flex;flex-wrap:wrap;gap:40px 80px}
.faqwrap>div:first-child{flex:1 1 320px;display:flex;flex-direction:column;gap:14px}
.faqlist{flex:2 1 560px;min-width:0;border-bottom:1px solid var(--line)}
.faq{border-top:1px solid var(--line)}
.faq summary{list-style:none;padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;font-size:20px;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--blue-text)}
.faq summary svg{transition:transform .3s;flex:none}
.faq[open] summary svg{transform:rotate(45deg)}
.faq .ans{padding:0 60px 26px 0;font-size:17px;line-height:1.7;color:var(--ink2)}
@media (max-width:640px){.faq summary{font-size:18px}.faq .ans{padding-right:0}}

/* company */
.stmt{display:flex;flex-wrap:wrap;gap:40px 80px}
.stmt h2{flex:1 1 520px;font-size:clamp(30px,3.4vw,50px);line-height:1.15;text-wrap:balance}
.stmt>div{flex:1 1 420px;display:flex;flex-direction:column;gap:20px}
.cvid .media{aspect-ratio:21/9}
@media (max-width:760px){.cvid .media{aspect-ratio:16/9}}
.hist{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:32px}
.hist .step .sn{font-size:32px}
.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:32px}
.value{background:#fff;padding:36px;border-top:3px solid var(--blue);display:flex;flex-direction:column;gap:14px}
.value .n{font-size:14px;color:var(--blue-text)}
.value b{font-size:22px;font-weight:500}
.value span{font-size:16px;line-height:1.65;color:var(--ink2)}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));grid-auto-rows:240px;gap:16px}
.gal .media.big{grid-column:span 2;grid-row:span 2}
@media (max-width:760px){.gal .media.big{grid-column:auto;grid-row:auto}}
.gal .media img{transition:transform .8s}.gal .media:hover img{transform:scale(1.04)}
.clients{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:16px}
.client{min-height:110px;background:#fff;display:flex;align-items:center;justify-content:center;padding:20px;text-decoration:none;color:var(--muted)}
.client img{max-height:70px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.8;transition:filter .3s,opacity .3s}
.client:hover img{filter:none;opacity:1}
.reqs{max-width:860px;border-top:1px solid var(--ink)}
.rowline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--line);font-size:16px}
.rowline span:first-child{color:var(--muted)}
.rowline span:last-child{font-weight:500}

/* contacts */
.cwrap{display:flex;flex-wrap:wrap;gap:56px 80px;align-items:flex-start}
.cinfo{flex:1 1 420px;min-width:0;display:flex;flex-direction:column}
.crow{display:flex;flex-direction:column;gap:6px;padding:22px 0;border-top:1px solid var(--line)}
.crow .lbl{color:var(--muted)}
.crow .v{font-size:24px;font-weight:500;text-decoration:none}
.crow .note{font-size:14px;color:var(--muted)}
.msgs{display:flex;flex-wrap:wrap;gap:10px;padding-top:6px}
.msg{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid var(--ink);text-decoration:none;color:var(--ink);transition:background .2s,color .2s}
.msg:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.cform{flex:1 1 520px;min-width:0;background:#fff;padding:44px;border-top:3px solid var(--blue)}
@media (max-width:640px){.cform{padding:28px 20px}}
.cform .fh{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.cform h2{font-size:32px}
.map{position:relative;aspect-ratio:21/8;min-height:380px;background-color:#DCDFE2;background-image:linear-gradient(rgba(43,55,94,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(43,55,94,.07) 1px,transparent 1px);background-size:48px 48px}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mapcard{position:absolute;left:32px;top:32px;background:#fff;padding:28px;max-width:340px;display:flex;flex-direction:column;gap:12px;box-shadow:0 10px 30px rgba(20,30,60,.12);z-index:2}
.mapcard b{font-weight:600;font-size:18px}
.mapcard span{font-size:15px;line-height:1.6;color:var(--ink2)}
@media (max-width:640px){.map{aspect-ratio:auto;min-height:0;display:flex;flex-direction:column}.map iframe{position:relative;height:340px}.mapcard{position:relative;left:0;top:0;max-width:none;box-shadow:none}}
.pin{position:absolute;left:58%;top:42%;transform:translate(-50%,-100%)}

/* article */
.art-head{max-width:900px;display:flex;flex-direction:column;gap:20px;padding:40px 0 40px}
.art-head h1{font-size:clamp(34px,4vw,58px);line-height:1.1;text-wrap:balance}
.art-img{aspect-ratio:16/8;margin-bottom:56px}
@media (max-width:640px){.art-img{aspect-ratio:3/2}}

/* 404 */
.e404{padding:120px 0;display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.e404 .code{font-size:clamp(90px,14vw,180px);font-weight:300;line-height:1;color:var(--navy);letter-spacing:-.04em}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .panel,.sl .ln{opacity:1}
}
