@font-face{font-family:Onest;src:url('../fonts/Onest-Regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Onest;src:url('../fonts/Onest-Medium.woff') format('woff');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Onest;src:url('../fonts/Onest-Bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
:root{--paper:#ffffff;--ink:#303438;--muted:#606c76;--brand:#0076b0;--brand-hover:#006295;--line:#dce5ec;--photo-paper:#edf6fc;--ease-out:cubic-bezier(.23,1,.32,1)}
*,*::before,*::after{box-sizing:border-box}
html{color-scheme:light;scrollbar-color:#91a7b6 var(--paper);scrollbar-width:thin}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Onest,Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}
body.dialog-is-open{overflow:hidden}
::selection{color:var(--paper);background:var(--brand)}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
button:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:5px}
button:disabled{opacity:.45;cursor:default}
img{display:block;width:100%;height:auto}
svg{display:block;width:24px;height:24px;flex-shrink:0}
[hidden]{display:none!important}
.frame{width:min(1440px,calc(100% - 112px));margin-inline:auto}
.skip-link{position:fixed;top:10px;left:10px;z-index:100;background:var(--ink);color:var(--paper);padding:12px 18px;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.site-header{height:110px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}
.brand{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;min-width:178px}
.brand-name{font-family:Onest,Arial,sans-serif;font-weight:550;font-size:20px;line-height:1.2;letter-spacing:.025em;display:flex;align-items:baseline;gap:3px}
.brand-point{color:var(--brand);font-size:28px;line-height:0}
.brand-subline{font-size:11px;letter-spacing:.085em;margin-top:6px;color:var(--muted)}
.brand-image{max-width:190px;max-height:65px;object-fit:contain;object-position:left center}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:30px}
.desktop-nav button,.desktop-nav a{font-size:13px;line-height:1.4;padding-block:13px;white-space:nowrap;transition:color 150ms ease}
.desktop-nav button:hover,.desktop-nav a:hover{color:var(--brand)}
.header-contact{text-align:right;flex-shrink:0}
.header-phone{font-size:17px;font-weight:650;letter-spacing:-.025em;white-space:nowrap}
.contact-caption{display:block;margin-left:auto;font-size:11px;color:var(--muted);margin-top:5px;text-decoration:underline;text-decoration-color:#91a7b6;text-underline-offset:4px;min-height:20px}
.contact-caption:hover{color:var(--brand)}
.messengers{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px}
.messengers a{text-decoration:underline}
.header-contact .messengers{justify-content:flex-end;font-size:10px;margin-top:5px}
.mobile-call,.menu-toggle{display:none!important}
.hero{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);column-gap:40px;padding-top:34px;padding-bottom:28px}
.hero-copy{min-width:0;padding-top:72px;padding-right:0;display:flex;flex-direction:column;align-items:flex-start}
h1,h2,h3,p{margin:0}
h1{font-family:Onest,Arial,sans-serif;font-size:clamp(35px,3.24vw,51px);font-weight:700;letter-spacing:-.035em;line-height:1.28;overflow-wrap:normal}
.hero-offer{font-size:clamp(20px,1.7vw,25px);font-weight:500;letter-spacing:-.025em;line-height:1.45;margin-top:29px}
.hero-description{font-size:14px;font-weight:400;line-height:1.85;color:var(--muted);margin-top:21px;max-width:48ch}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px;width:100%}
.button-primary{min-height:61px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--brand);color:#ffffff;padding:18px 24px;border-radius:3px;font-size:14px;font-weight:600;transition:background-color 170ms ease,transform 120ms var(--ease-out);line-height:1.45}
.button-primary:hover{background:var(--brand-hover)}
.button-primary:active{transform:scale(.98)}
.button-primary svg{width:21px;height:21px}
.button-text{font-size:12px;min-height:48px;line-height:1.5;text-decoration:underline;text-decoration-color:#9aafbc;text-underline-offset:5px;transition:color 150ms ease}
.button-text:hover{color:var(--brand)}
.design-preview{display:flex;align-items:center;gap:18px;width:min(100%,431px);text-align:left;border-top:1px solid var(--line);padding-top:24px;margin-top:48px;padding-bottom:10px}
.design-thumb{height:88px;width:80px;overflow:hidden;flex-shrink:0;border-radius:2px;background:var(--photo-paper)}
.design-thumb img{height:100%;object-fit:cover;object-position:50% 65%;transition:transform 350ms var(--ease-out)}
.design-title{font-size:14px;font-weight:600;letter-spacing:-.015em;line-height:1.55;display:block}
.design-description{display:block;font-size:11px;color:var(--muted);margin-top:7px}
.design-arrow{margin-left:auto;align-self:center;display:flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;border:1px solid #b9ccd9;border-radius:50%;transition:color 150ms ease,background-color 150ms ease}
.design-arrow svg{width:18px;height:18px}
.design-preview:hover .design-arrow{color:var(--paper);background:var(--ink);border-color:var(--ink)}
.design-preview:hover .design-thumb img{transform:scale(1.04)}
.hero-visual{min-width:0;position:relative}
.hero-photos{position:relative;height:clamp(500px,calc(100svh - 250px),690px);overflow:hidden;background:var(--photo-paper);border-radius:3px 3px 0 0}
.hero-photo{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;visibility:hidden;transition:opacity 300ms ease,visibility 300ms ease}
.hero-photo.is-active{opacity:1;visibility:visible}
.hero-photo picture,.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--image-position,50% 50%)}
.hero-photo:focus-visible{outline-offset:-7px;outline-color:var(--paper)}
.photo-expand{position:absolute;top:20px;right:20px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--paper);color:var(--ink);border-radius:50%;transition:background-color 150ms ease,color 150ms ease}
.photo-expand svg{width:18px;height:18px}
.hero-photo:hover .photo-expand{background:var(--brand);color:var(--paper)}
.photo-footer{background:var(--photo-paper);min-height:85px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 22px;border-radius:0 0 3px 3px}
.photo-caption{display:flex;flex-direction:column;gap:4px}
.caption-title{font-size:13px;font-weight:600}
.caption-detail{font-size:10px;line-height:1.5;color:#536574}
.photo-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}
.photo-count{font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;color:#536574;white-space:nowrap;margin-right:12px;display:flex;gap:7px}
.photo-count [data-current]{color:var(--ink)}
.count-divider{color:#536574}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;border:1px solid #b9ccd9;border-radius:50%;transition:color 150ms ease,background-color 150ms ease,transform 120ms var(--ease-out)}
.icon-button svg{width:18px;height:18px}
.icon-button:hover{color:var(--paper);background:var(--ink);border-color:var(--ink)}
.icon-button:active{transform:scale(.94)}
.photo-previous svg{transform:rotate(180deg)}
.site-dialog{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(880px,calc(100vw - 64px));max-width:none;max-height:calc(100svh - 64px);overflow:auto;overscroll-behavior:contain;border-radius:4px;box-shadow:0 24px 100px #163c5855}
.site-dialog::backdrop{background:#142535a3}
.site-dialog[open]{display:grid;grid-template-columns:.83fr 1.17fr;animation:dialog-appear 220ms var(--ease-out)}
.dialog-close{position:absolute;right:18px;top:18px;z-index:5;background:var(--paper)}
.dialog-copy{padding:68px 42px 42px;min-width:0}
.dialog-copy h2{font-family:Onest,Arial,sans-serif;font-size:clamp(22px,2vw,28px);letter-spacing:-.025em;font-weight:700;line-height:1.4;max-width:16ch}
.dialog-description{font-size:14px;line-height:1.8;color:var(--muted);margin-top:22px;max-width:45ch}
.contact-photo,.services-photo,.design-dialog-photo{overflow:hidden;background:var(--photo-paper);min-height:100%}
.contact-photo img,.services-photo img,.design-dialog-photo img{height:100%;object-fit:cover}
.contact-photo img{object-position:45% 50%}
.dialog-phone{display:block;font-size:22px;font-weight:600;letter-spacing:-.03em;white-space:nowrap;margin-top:27px;margin-bottom:24px}
.dialog-address{margin-top:32px;border-top:1px solid var(--line);padding-top:22px}
.dialog-address>span{font-size:11px;color:var(--muted)}
.dialog-address p{font-size:13px;line-height:1.8;margin-top:7px}
.service-list{margin:22px 0 28px;display:grid;gap:17px}
.service-list h3{font-size:15px;font-weight:650}
.service-list p{font-size:12px;line-height:1.65;color:var(--muted);margin-top:5px}
.design-dialog-photo img{object-fit:cover}
.design-dialog .dialog-copy{display:flex;flex-direction:column;justify-content:center}
.design-dialog .button-primary{align-self:flex-start;margin-top:28px}
.gallery-dialog{width:min(1080px,calc(100vw - 48px));background:#142535;color:var(--paper)}
.gallery-dialog[open]{display:block}
.gallery-dialog .dialog-close{color:var(--ink)}
.gallery-viewer figure{margin:0;position:relative}
.gallery-viewer img{object-fit:contain;height:calc(100svh - 170px);width:100%;padding:22px}
.gallery-viewer figcaption{text-align:center;padding:0 24px 16px;font-size:13px}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:25px;padding:0 20px 18px;font-size:12px;font-variant-numeric:tabular-nums}
.gallery-controls .icon-button{color:var(--paper);border-color:#6e8ba2}
.gallery-controls .icon-button:hover{color:var(--ink);background:var(--paper)}
.menu-dialog{width:min(450px,calc(100vw - 40px))}
.menu-dialog[open]{display:block;padding:75px 30px 32px}
.mobile-nav{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.mobile-nav a,.mobile-nav button{font-family:Onest,Arial,sans-serif;font-size:19px;letter-spacing:-.025em;padding:12px 0;text-align:left}
.menu-phone{display:block;border-top:1px solid var(--line);padding-top:24px;margin-top:24px;font-size:18px;font-weight:600}
.page-content{padding-block:60px}
.blog-page{padding-block:64px 48px}.blog-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.blog-intro .hero-offer{max-width:25ch}.blog-cover{height:340px;overflow:hidden;border-radius:3px}.blog-cover img{height:100%;object-fit:cover;object-position:50% 60%}.blog-empty{padding-block:32px;color:var(--muted);font-size:14px}.blog-posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:48px}.blog-post img{height:270px;object-fit:cover}.blog-post h2{font-size:23px;font-weight:500;margin-top:20px}.blog-post .button-text{display:inline-flex;align-items:center}.desktop-nav a[aria-current="page"]{color:var(--brand)}
@keyframes dialog-appear{from{opacity:.65;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:1600px){.hero{column-gap:70px}.hero-copy{padding-top:90px}.hero-actions{gap:30px}.design-preview{margin-top:65px}}
@media(max-width:1250px) and (min-width:761px){.frame{width:calc(100% - 72px)}.site-header{gap:20px}.brand{min-width:150px}.brand-name{font-size:18px}.desktop-nav{gap:20px}.desktop-nav button,.desktop-nav a{font-size:12px}.header-phone{font-size:15px}.hero{column-gap:26px}.hero-copy{padding-top:54px}.hero-offer{font-size:21px}.hero-description{font-size:13px}.hero-actions{gap:10px}.button-primary{padding:17px 20px;gap:20px;font-size:13px}.button-text{font-size:11px}.design-preview{margin-top:38px}.photo-footer{padding:16px}.caption-detail{max-width:22ch}.photo-count{margin-right:4px}}
@media(max-width:1000px) and (min-width:761px){.desktop-nav{gap:16px}.desktop-nav button:nth-child(3){display:none}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}h1{font-size:33px}.hero-actions{align-items:flex-start;flex-direction:column;gap:5px}.button-text{min-height:34px}.design-preview{margin-top:24px}.design-thumb{width:65px;height:73px}.design-title{font-size:12px}.design-description{font-size:10px}.photo-count{display:none}.hero-photos{height:590px}}
@media(max-width:760px){
    .blog-page{padding-top:0}.blog-intro{grid-template-columns:1fr;gap:28px}.blog-cover{height:320px}.blog-posts{grid-template-columns:1fr;gap:30px;margin-top:28px}
    .frame{width:calc(100% - 44px)}
    .site-header{height:88px;gap:12px;justify-content:flex-start}
    .brand{min-width:0;margin-right:auto}.brand-name{font-size:17px}.brand-subline{font-size:9px;letter-spacing:.07em;margin-top:4px}.brand-point{font-size:24px}.brand-image{max-width:155px;max-height:52px}
    .desktop-nav,.header-contact{display:none}.mobile-call,.menu-toggle{display:inline-flex!important;width:42px;height:42px;min-width:42px;min-height:42px}.mobile-call{border-color:transparent}.mobile-call svg{width:19px;height:19px}.menu-toggle{border-color:var(--line)}
    .hero{display:flex;flex-direction:column;gap:0;padding-top:0;padding-bottom:28px}.hero-copy{display:contents}
    h1{order:1;font-size:clamp(25px,7.3vw,43px);line-height:1.32;letter-spacing:-.035em;margin-top:32px;font-weight:700}
    .hero-offer{order:2;font-size:18px;line-height:1.45;margin-top:17px;letter-spacing:-.02em}
    .hero-actions{order:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);align-items:center;gap:16px;margin-top:25px;flex-wrap:nowrap}
    .button-primary{padding:17px 18px;min-height:58px;font-size:13px;gap:12px}.button-primary svg{width:18px;height:18px}.button-text{font-size:12px;line-height:1.6;min-height:48px;text-align:left;text-decoration-thickness:1px;max-width:130px}
    .hero-visual{order:4;margin-top:29px}.hero-photos{height:clamp(340px,98vw,540px)}
    .hero-photo picture,.hero-photo img{object-position:50% 48%}.photo-expand{top:16px;right:16px;width:34px;height:34px}
    .photo-footer{min-height:78px;padding:15px 14px;gap:8px}.caption-title{font-size:12px}.caption-detail{font-size:9px;max-width:23ch}.photo-controls{gap:5px}.photo-count{font-size:10px;gap:5px;margin-right:5px}.photo-controls .icon-button{width:34px;min-width:34px;height:40px;border-color:transparent}.photo-controls .icon-button svg{width:17px;height:17px}
    .hero-description{order:5;margin-top:26px;font-size:13px;line-height:1.85;max-width:none}.hero-description br{display:none}
    .design-preview{order:6;margin-top:24px;padding-top:22px;padding-bottom:0;width:100%;gap:16px}.design-thumb{width:76px;height:83px}.design-title{font-size:13px}.design-description{font-size:10px}
    .site-dialog{width:calc(100vw - 32px);max-height:calc(100svh - 32px)}.site-dialog[open]{grid-template-columns:1fr}.dialog-copy{padding:32px 26px}.dialog-copy h2{font-size:24px;max-width:18ch}.dialog-description{font-size:13px;margin-top:17px}.contact-photo,.services-photo{height:160px;min-height:0}.contact-photo img{object-position:50% 42%}.services-photo img{object-position:50% 38%}.dialog-close{right:13px;top:13px}.dialog-phone{font-size:23px;margin-top:24px}.dialog-address{margin-top:26px;padding-top:18px}.design-dialog-photo{height:340px;min-height:0}.design-dialog-photo img{object-position:50% 63%}.design-dialog .dialog-copy{padding-top:26px}.gallery-dialog{width:calc(100vw - 24px)}.gallery-viewer img{height:calc(100svh - 150px);padding:12px}.gallery-viewer figcaption{font-size:12px;padding-bottom:14px}.gallery-controls{padding-bottom:16px}.menu-dialog[open]{display:block;padding:72px 28px 30px}
}
@media(max-width:374px){.frame{width:calc(100% - 36px)}.hero-actions{gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,.67fr)}.button-primary{padding-inline:14px;font-size:12px}.button-text{font-size:11px}.hero-offer{font-size:17px}.photo-footer{padding-inline:12px}.photo-count{display:none}.brand-subline{font-size:8.5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}