:root{
  --ink:#0f1418;
  --ink-2:#161c22;
  --ink-3:#1e262e;
  --paper:#e8edf2;
  --muted:#93a1ad;
  --dim:#c3cdd6;
  --blue:#4e9bd8;
  --blue-deep:#2f6fae;
  --wrap:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body{margin:0;background:var(--ink);color:var(--paper);
  font-family:"Commissioner",system-ui,-apple-system,sans-serif;
  font-size:17px;line-height:1.62;font-weight:350;-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;line-height:1.14;letter-spacing:-.02em;font-weight:600}
p{margin:0 0 1em;max-width:66ch}
a{color:var(--blue);text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
.skip{position:absolute;left:-9999px;top:0;background:var(--blue-deep);color:#fff;padding:.6rem 1rem;z-index:50}
.skip:focus{left:1rem;top:1rem}

/* header */
.site-head{position:sticky;top:0;z-index:20;background:rgba(15,20,24,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--ink-3)}
.site-head .wrap{display:flex;align-items:center;gap:1.5rem;min-height:70px}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit;margin-right:auto}
.brand img{width:52px;height:auto;display:block}
.brand .wm b{display:block;font-family:"Unbounded",sans-serif;font-weight:600;font-size:.98rem;color:#fff;letter-spacing:.01em;line-height:1.2}
.brand .wm span{font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.site-nav{display:flex;gap:1.35rem;flex-wrap:wrap}
.site-nav a{color:var(--dim);text-decoration:none;font-size:.93rem}
.site-nav a:hover{color:var(--blue)}
.lang{font-size:.9rem;color:var(--muted);text-decoration:none;border:1px solid var(--ink-3);border-radius:2px;padding:.28rem .6rem}
.lang:hover{border-color:var(--blue);color:var(--blue)}
@media (max-width:900px){.site-nav{display:none}}

/* hero */
.hero{position:relative;padding:clamp(3rem,7vw,5.5rem) 0 clamp(2.5rem,5vw,4rem);border-bottom:1px solid var(--ink-3);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(30deg,rgba(78,155,216,.13) 0 1px,transparent 1px 38px),
             repeating-linear-gradient(150deg,rgba(78,155,216,.13) 0 1px,transparent 1px 38px);
  mask-image:linear-gradient(110deg,transparent 38%,#000 100%);
  -webkit-mask-image:linear-gradient(110deg,transparent 38%,#000 100%)}
.hero .wrap{position:relative}
.hero-logo{display:block;width:clamp(180px,26vw,290px);height:auto;margin-bottom:2rem;filter:drop-shadow(0 6px 24px rgba(0,0,0,.5))}
.tag{display:inline-block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);
  border:1px solid rgba(78,155,216,.35);border-radius:2px;padding:.3rem .7rem;margin-bottom:1.5rem}
.hero h1{font-family:"Unbounded",sans-serif;font-size:clamp(2rem,5.4vw,3.6rem);max-width:17ch;color:#fff}
.lede{margin-top:1.4rem;font-size:clamp(1.05rem,2vw,1.2rem);color:#b6c3ce;max-width:58ch}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.1rem}
.btn{display:inline-block;padding:.82rem 1.55rem;border-radius:2px;text-decoration:none;font-weight:500;font-size:.98rem;
  background:var(--blue-deep);color:#fff;border:1px solid var(--blue-deep)}
.btn:hover{background:#25588c;border-color:#25588c}
.btn.ghost{background:transparent;color:var(--blue);border-color:rgba(78,155,216,.45)}
.btn.ghost:hover{background:rgba(78,155,216,.08)}
.facts{display:flex;flex-wrap:wrap;gap:2.6rem;margin-top:3.2rem;padding-top:1.8rem;border-top:1px solid var(--ink-3)}
.facts div{min-width:9rem}
.facts dt{font-size:.83rem;color:var(--muted);margin-bottom:.3rem}
.facts dd{margin:0;font-family:"Unbounded",sans-serif;font-weight:500;font-size:1.7rem;color:#fff;letter-spacing:-.02em}

/* sections */
section{padding:clamp(2.8rem,6vw,4.5rem) 0;border-bottom:1px solid var(--ink-3)}
section>.wrap>h2{font-size:clamp(1.45rem,3vw,2.1rem);color:#fff;margin-bottom:.7rem}
.sub{color:var(--muted);margin-bottom:2.4rem;max-width:70ch}

/* design-section blocks */
.blocks{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.block{background:var(--ink-2);border:1px solid var(--ink-3);padding:1.45rem 1.55rem}
.block-head{display:flex;align-items:baseline;gap:.7rem;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--ink-3)}
.block-num{font-family:"Unbounded",sans-serif;font-size:.82rem;color:var(--blue)}
.block h3{font-size:1rem;color:#fff}
.rows{list-style:none;margin:0;padding:0}
.rows li{display:grid;grid-template-columns:4.6rem 1fr;gap:.7rem;padding:.4rem 0;font-size:.92rem;color:var(--dim);
  border-bottom:1px dashed rgba(255,255,255,.06)}
.rows li:last-child{border-bottom:none}
.code{font-family:"Unbounded",sans-serif;font-size:.7rem;color:var(--blue);padding-top:.18rem}

/* services with details */
.svc{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}
.svc article{background:var(--ink-2);border:1px solid var(--ink-3);padding:1.45rem 1.55rem}
.svc h3{font-size:1.05rem;color:#fff;margin-bottom:.6rem}
.svc p{font-size:.95rem;color:var(--dim);margin:0}
.svc details{margin-top:.9rem;border-top:1px solid var(--ink-3);padding-top:.8rem}
.svc summary{cursor:pointer;color:var(--blue);font-size:.9rem;list-style:none}
.svc summary::-webkit-details-marker{display:none}
.svc summary::after{content:" +";font-family:"Unbounded",sans-serif}
.svc details[open] summary::after{content:" −"}
.svc details p{margin-top:.8rem;font-size:.92rem;color:var(--muted);line-height:1.6}

/* projects */
.projects{display:grid;gap:2.2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.projects h3{font-size:1rem;color:#fff;margin-bottom:.9rem;padding-bottom:.5rem;border-bottom:2px solid var(--blue-deep)}
.projects ul{list-style:none;margin:0;padding:0}
.projects li{padding:.55rem 0;border-bottom:1px solid var(--ink-3);font-size:.93rem;color:var(--dim)}
.projects .yr{color:var(--muted);font-size:.83rem}

/* clients */
.clients{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));list-style:none;padding:0;margin:0}
.clients li{background:var(--ink-2);border-left:3px solid var(--blue-deep);padding:.8rem 1rem;font-size:.9rem;color:var(--dim)}

/* partner */
.partner{display:grid;gap:2.2rem;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}
.partner ol{margin:0;padding-left:1.15rem}
.partner li{margin-bottom:.65rem;color:var(--dim)}
.pullquote{background:#0b1015;border:1px solid var(--ink-3);border-left:3px solid var(--blue);padding:1.7rem;font-size:1.03rem;color:#dbe4ec}
.pullquote p:last-child{margin-bottom:0}
@media (max-width:820px){.partner{grid-template-columns:1fr}}

/* faq */
.faq details{border-bottom:1px solid var(--ink-3);padding:.9rem 0}
.faq summary{cursor:pointer;color:#fff;font-size:1rem;font-weight:500;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:" +";color:var(--blue);font-family:"Unbounded",sans-serif}
.faq details[open] summary::after{content:" −"}
.faq p{margin:.8rem 0 0;color:var(--muted);font-size:.95rem}

/* contacts + footer */
.contact-grid{display:grid;gap:2.2rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.contact-grid h3{font-size:.95rem;color:#fff;margin-bottom:.55rem}
.contact-grid p,.contact-grid address{font-size:.95rem;color:var(--dim);font-style:normal}
.site-foot{padding:2.2rem 0 3rem;font-size:.87rem;color:var(--muted)}
.site-foot .wrap{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between}
.site-foot a{color:var(--muted)}

/* три напрями */
.pillars{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.pillar{background:var(--ink-2);border:1px solid var(--ink-3);border-top:2px solid var(--blue);padding:1.6rem 1.6rem 1.7rem}
.pillar .block-num{display:block;margin-bottom:.5rem}
.pillar h3{font-size:1.25rem;color:#fff;margin-bottom:.6rem}
.pillar p{margin:0;font-size:.95rem;color:var(--dim)}

/* будівельні роботи */
.worklist{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));list-style:none;padding:0;margin:0}
.worklist li{background:var(--ink-2);border:1px solid var(--ink-3);padding:.75rem 1rem;font-size:.93rem;color:var(--dim)}
.worklist li::before{content:"— ";color:var(--blue)}
.buildnote{margin-top:1.4rem;padding:1rem 1.2rem;background:#0b1015;border-left:3px solid var(--blue);
  font-size:.9rem;color:var(--muted);max-width:none}

/* перший екран у дві колонки */
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:3rem;align-items:start}
.hero h1{max-width:none}
.hero .lede{max-width:52ch}
.hero-side{display:flex;flex-direction:column;gap:.6rem;padding-top:.4rem}
.hero-line{display:flex;align-items:baseline;gap:.85rem;text-decoration:none;
  background:rgba(22,28,34,.75);border:1px solid var(--ink-3);border-left:2px solid var(--blue);
  padding:1rem 1.1rem;transition:background .15s}
.hero-line:hover{background:rgba(30,38,46,.9)}
.hero-line .hl-t{font-size:1.02rem;color:#fff;font-weight:500}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:2.2rem}
  .hero-side{flex-direction:row;flex-wrap:wrap}
  .hero-line{flex:1 1 200px}
}

.hero-line{align-items:flex-start}
.hl-b{display:flex;flex-direction:column;gap:.15rem}
.hl-s{font-size:.85rem;color:var(--muted);line-height:1.45}
