
:root{--orange:#e77d00;--dark:#242424;--muted:#666;--line:#e7e7e7;--soft:#f8f8f7;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--dark);font-family:Arial,Helvetica,sans-serif;line-height:1.6;background:#fff}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.header{border-bottom:1px solid var(--line);background:#fff}.nav{min-height:126px;display:flex;align-items:center;justify-content:space-between;gap:32px}.logo img{width:185px;height:auto}.links{display:flex;gap:42px}.links a{position:relative;padding:8px 0}.links a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--orange);transition:.2s}.links a:hover:after{right:0}.menu{display:none;border:0;background:transparent;padding:8px}.menu span{display:block;width:27px;height:2px;background:#222;margin:6px}
.hero{overflow:hidden}.hero-grid{min-height:520px;display:grid;grid-template-columns:.95fr 1.05fr}.hero-copy{align-self:center;padding:72px 70px 72px 0}.kicker{margin:0 0 14px;color:#c96800;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero h1,.company h2{margin:0;font-weight:500;letter-spacing:-.035em;line-height:1.12}.hero h1{font-size:clamp(2.7rem,5vw,5rem)}.lead{max-width:520px;margin:28px 0 32px;color:var(--muted);font-size:1.08rem}.button{display:inline-flex;align-items:center;gap:30px;min-height:50px;padding:0 22px;border:1px solid var(--orange)}.button:hover{background:var(--orange);color:white}
.visual{position:relative;min-height:520px;background:#f5f0e9;overflow:hidden}.visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff,transparent 28%)}.visual i{position:absolute;z-index:1;display:block;height:44px;border-radius:3px;background:repeating-linear-gradient(90deg,#d89a55 0 48px,#c98741 48px 52px,#e0a762 52px 100px);box-shadow:0 14px 28px rgba(75,47,21,.12);transform-origin:left center}.b1{width:640px;left:20px;bottom:8px;transform:rotate(-53deg)}.b2{width:610px;left:88px;bottom:25px;transform:rotate(-29deg)}.b3{width:560px;left:160px;top:68px;transform:rotate(33deg)}.b4{width:520px;left:245px;top:30px;transform:rotate(59deg)}.b5{width:500px;left:56px;top:160px;transform:rotate(9deg)}
.services{background:var(--soft);border-block:1px solid var(--line)}.cards{display:grid;grid-template-columns:repeat(3,1fr)}.cards article{position:relative;padding:58px 60px;text-align:center}.cards article+article:before{content:"";position:absolute;left:0;top:54px;bottom:54px;width:1px;background:var(--line)}.cards h2{font-size:1.08rem;font-weight:500;margin:16px 0 8px}.cards p{max-width:300px;margin:auto;color:var(--muted);font-size:.92rem}.icon{width:46px;height:46px;margin:auto;position:relative;color:var(--orange)}.house:before{content:"";position:absolute;left:8px;top:16px;width:28px;height:24px;border:2px solid var(--orange);border-top:0}.house:after{content:"";position:absolute;left:8px;top:7px;width:28px;height:28px;border-left:2px solid var(--orange);border-top:2px solid var(--orange);transform:rotate(45deg)}.hammer{font-size:3rem;line-height:1;transform:rotate(-35deg)}.leaf:before{content:"";position:absolute;inset:7px 8px 11px;border:2px solid var(--orange);border-radius:100% 0 100% 0;transform:rotate(-18deg)}.leaf:after{content:"";position:absolute;left:21px;top:9px;width:2px;height:34px;background:var(--orange);transform:rotate(42deg)}
.company{padding:82px 0}.company-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px}.company-grid>div+div{border-left:1px solid var(--line);padding-left:70px}.company h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:20px}.company p{max-width:600px;color:var(--muted)}address{display:grid;gap:16px;font-style:normal;color:var(--muted)}address span,address a{display:block}address b{font-weight:400;margin-left:24px}
footer{border-top:1px solid var(--line);padding:28px 0;font-size:.84rem}.footer{display:flex;justify-content:space-between;gap:30px}.footer nav{display:flex;gap:34px}
.legal{padding:72px 0 100px}.legal .content{max-width:850px}.legal h1{font-size:clamp(2.2rem,5vw,4.5rem);font-weight:500;margin:0 0 36px}.legal h2{margin-top:34px;font-size:1.25rem}.legal p{color:var(--muted)}.notice{padding:18px 20px;border-left:3px solid var(--orange);background:var(--soft)}
@media(max-width:900px){.nav{min-height:96px}.logo img{width:145px}.menu{display:block}.links{position:absolute;top:96px;left:24px;right:24px;display:none;padding:24px;flex-direction:column;gap:18px;background:white;border:1px solid var(--line);box-shadow:0 18px 45px rgba(0,0,0,.08);z-index:20}.links.open{display:flex}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:60px 0 44px}.visual{min-height:340px;margin-inline:-24px}.cards{grid-template-columns:1fr}.cards article{display:grid;grid-template-columns:58px 1fr;column-gap:22px;padding:30px 0;text-align:left}.cards article+article:before{top:0;left:0;right:0;bottom:auto;width:auto;height:1px}.cards .icon{grid-row:1/span 2;margin:0}.cards h2{margin-top:0}.cards p{margin:0}.company-grid{grid-template-columns:1fr;gap:52px}.company-grid>div+div{border-left:0;border-top:1px solid var(--line);padding:48px 0 0}}
@media(max-width:560px){.container{width:calc(100% - 32px)}.nav{min-height:86px}.logo img{width:126px}.links{top:86px;left:16px;right:16px}.hero h1{font-size:2.55rem}.visual{min-height:265px;margin-inline:-16px}.visual i{height:34px}.footer{flex-direction:column}}





.references-compact {
  padding: 82px 0 92px;
  background: #ffffff;
  border-top: 1px solid var(--line);
}

.references-heading {
  max-width: 680px;
  margin: 0 auto 38px;
  text-align: center;
}

.references-heading h2 {
  margin: 0 0 12px;
  font-size: clamp(1.9rem, 4vw, 2.8rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.references-heading > p:last-child {
  margin: 0;
  color: var(--muted);
}

.gallery-compact {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 1040px;
  margin: 0 auto;
}

.gallery-card {
  margin: 0;
}

.gallery-button {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.gallery-image-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 220px;
  padding: 10px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f6f5f2;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.gallery-image-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gallery-button:hover .gallery-image-frame,
.gallery-button:focus-visible .gallery-image-frame {
  transform: translateY(-3px);
  border-color: rgba(231,125,0,.45);
  box-shadow: 0 14px 30px rgba(0,0,0,.09);
}

.gallery-button:focus-visible {
  outline: none;
}

.gallery-card figcaption {
  display: grid;
  gap: 2px;
  padding: 14px 4px 0;
  text-align: left;
}

.gallery-card figcaption strong {
  font-size: .98rem;
  font-weight: 600;
}

.gallery-card figcaption span {
  color: var(--muted);
  font-size: .84rem;
}

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px 82px;
  background: rgba(12,12,12,.92);
  backdrop-filter: blur(8px);
}

.lightbox.open {
  display: flex;
}

.lightbox-content {
  width: min(1100px, 100%);
  max-height: calc(100vh - 80px);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lightbox-content img {
  max-width: 100%;
  max-height: calc(100vh - 150px);
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 24px 70px rgba(0,0,0,.38);
}

.lightbox-meta {
  width: min(900px, 100%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 14px;
  color: rgba(255,255,255,.84);
  font-size: .92rem;
}

.lightbox-meta p {
  margin: 0;
}

.lightbox-close,
.lightbox-nav {
  position: absolute;
  border: 0;
  color: #fff;
  background: rgba(255,255,255,.12);
  cursor: pointer;
  transition: background 180ms ease;
}

.lightbox-close:hover,
.lightbox-nav:hover {
  background: rgba(255,255,255,.22);
}

.lightbox-close {
  top: 22px;
  right: 26px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  font-size: 2rem;
  line-height: 1;
}

.lightbox-nav {
  top: 50%;
  width: 48px;
  height: 64px;
  margin-top: -32px;
  border-radius: 10px;
  font-size: 2.5rem;
}

.lightbox-prev { left: 22px; }
.lightbox-next { right: 22px; }

body.lightbox-active {
  overflow: hidden;
}

@media (max-width: 900px) {
  .gallery-compact {
    gap: 18px;
  }

  .gallery-image-frame {
    height: 180px;
  }

  .lightbox {
    padding-inline: 58px;
  }
}

@media (max-width: 700px) {
  .gallery-compact {
    grid-template-columns: 1fr;
    max-width: 480px;
  }

  .gallery-image-frame {
    height: 240px;
  }
}

@media (max-width: 560px) {
  .references-compact {
    padding: 68px 0 74px;
  }

  .gallery-image-frame {
    height: 210px;
  }

  .lightbox {
    padding: 72px 16px 24px;
  }

  .lightbox-nav {
    top: auto;
    bottom: 18px;
    width: 46px;
    height: 46px;
    margin: 0;
    border-radius: 50%;
  }

  .lightbox-prev {
    left: calc(50% - 58px);
  }

  .lightbox-next {
    right: calc(50% - 58px);
  }

  .lightbox-meta {
    padding: 0 2px;
  }
}
