
*{box-sizing:border-box}
:root{
  --bg:#101112;
  --bg2:#161819;
  --panel:#1b1d1e;
  --line:#303334;
  --text:#f3f3f1;
  --muted:#a3a6a5;
  --silver:#d7d8d5;
  --max:1200px;
}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
.wrap{width:min(calc(100% - 44px),var(--max));margin:auto}

.header{
  position:fixed;inset:0 0 auto;z-index:1000;
  background:rgba(13,14,15,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo-link img{
  width:235px;
  height:auto;
  object-fit:contain;
  object-position:left center;
}
.logo-card{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
  padding:0;
  border-radius:0;
  box-shadow:none;
}
.navlinks{display:flex;align-items:center;gap:30px;font-size:14px}
.navlinks a{color:#d5d7d6}
.navlinks a:hover{color:#fff}
.navbutton{border:1px solid #4a4d4d;padding:10px 17px;border-radius:999px}
.menu{display:none;background:none;border:0;padding:8px;width:44px}
.menu span{display:block;height:2px;background:#fff;margin:6px 0}

.hero{padding:145px 0 80px;min-height:760px;display:flex;align-items:center}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.kicker{
  margin:0 0 17px;
  color:#a8adac;
  font-size:11px;
  font-weight:800;
  letter-spacing:.24em
}
.hero h1,.section h2,.statement h2,.contact h2,.about h2,.work-section h2{
  margin:0;
  font-weight:700;
  letter-spacing:-.045em;
  line-height:.98
}
.hero h1{font-size:clamp(58px,7vw,100px)}
.hero h1 span{color:#8d9190}
.lead{max-width:610px;color:#b8bcba;font-size:20px;line-height:1.65;margin:29px 0 0}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.button{
  min-height:52px;padding:0 22px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid transparent;font-weight:700;cursor:pointer
}
.primary{background:#f0f0ed;color:#111}
.ghost{border-color:#454849;color:#fff}
.quick{display:flex;gap:42px;margin-top:60px;padding-top:23px;border-top:1px solid var(--line)}
.quick div{display:flex;flex-direction:column;gap:6px}
.quick small,.facts small,.contact-list small{
  color:#767b79;font-size:10px;font-weight:700;letter-spacing:.17em
}
.quick a,.quick strong{font-size:14px}
.hero-photo{position:relative;height:590px;background:#1a1c1d;overflow:hidden}
.hero-photo>img{width:100%;height:100%;object-fit:cover}
.hero-photo:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.55),transparent 45%)
}
.hero-label{
  position:absolute;left:24px;right:24px;bottom:22px;z-index:2;
  display:flex;justify-content:space-between;align-items:end;
  border-top:1px solid rgba(255,255,255,.45);padding-top:15px
}
.hero-label span{color:#b7bcba;font-size:11px}
.hero-label p{margin:0;text-align:right;font-size:14px;line-height:1.4}

.statement{padding:95px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#141617}
.statement-grid{display:grid;grid-template-columns:.45fr 1.55fr;gap:55px}
.statement h2{font-size:clamp(39px,5vw,72px);max-width:900px}

.section,.work-section{padding:110px 0}
.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:50px}
.section h2,.work-section h2{font-size:clamp(42px,5vw,68px)}
.section-head>p{margin:0;color:var(--muted);line-height:1.7;max-width:500px}

.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}
.service-grid article{padding:28px;min-height:285px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-grid span{font-size:11px;color:#747977}
.service-grid h3{margin:78px 0 12px;font-size:22px}
.service-grid p{margin:0;color:var(--muted);font-size:15px;line-height:1.65}

.work-section{background:#161819;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gallery{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:240px;
  gap:14px
}
.gallery figure{margin:0;position:relative;overflow:hidden;background:#222}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gallery figure:hover img{transform:scale(1.025)}
.gallery figure:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.gallery figcaption{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:17px;
}
.gallery figcaption span{
  display:inline-block;
  color:#ffffff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.26em;
  text-transform:uppercase;
}
.g1{grid-column:span 7;grid-row:span 2}
.g2{grid-column:span 5;grid-row:span 2}
.g3,.g4,.g5{grid-column:span 4}
.g6{grid-column:span 12;grid-row:span 2}

.about{background:#0d0f10}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}
.about-logo{border:1px solid var(--line);min-height:430px;display:grid;place-items:center;background:#151718}
.about-logo-card{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
  box-shadow:none;
}
.about-logo img{width:64%;max-width:390px}
.about h2{font-size:clamp(42px,5vw,68px)}
.about-text{color:var(--muted);font-size:18px;line-height:1.75;margin:30px 0 35px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.facts div{border-top:1px solid var(--line);padding-top:14px}
.facts strong{display:block;margin-top:6px;font-size:14px}

.contact{padding:110px 0;background:#17191a}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.contact h2{font-size:clamp(50px,6vw,80px)}
.contact-lead{color:var(--muted);max-width:500px;line-height:1.7}
.contact-list{display:grid;margin-top:42px;border-top:1px solid var(--line)}
.contact-list a{padding:16px 0;border-bottom:1px solid var(--line)}
.contact-list strong{display:block;margin-top:6px;font-size:15px}

form{border:1px solid var(--line);padding:28px;background:#101213}
form label{display:block;color:#bfc2c1;font-size:12px;font-weight:700;margin-bottom:17px}
input,textarea{
  width:100%;margin-top:8px;padding:13px 14px;
  background:#181b1c;border:1px solid #343839;border-radius:8px;color:#fff;outline:none
}
input:focus,textarea:focus{border-color:#8c9391}
textarea{resize:vertical;min-height:145px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.submit{border:0;width:100%}
.hidden{position:absolute;left:-9999px}

footer{padding:34px 0 95px;background:#090a0b}
.footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:35px;align-items:center}
.footer-logo-card{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
  padding:0;
  border-radius:0;
  box-shadow:none;
}
.footer-grid img{width:220px;height:auto}
.footer-grid p,.footer-grid>a{color:#777c7a;font-size:12px}
.mobile-cta{display:none}

@media(max-width:900px){
  .nav{height:70px}
  .logo-link img{width:200px;height:auto}
  .menu{display:block}
  .navlinks{
    position:fixed;top:70px;left:18px;right:18px;
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    background:#111314;border:1px solid var(--line);padding:8px;
    opacity:0;visibility:hidden;transform:translateY(-12px);transition:.2s
  }
  .navlinks.open{opacity:1;visibility:visible;transform:none}
  .navlinks a{padding:14px}
  .hero{padding-top:118px;min-height:0}
  .hero-grid,.statement-grid,.section-head,.about-grid,.contact-grid{grid-template-columns:1fr;gap:36px}
  .hero-photo{height:520px}
  .quick{margin-top:42px}
  .service-grid{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:320px}
  .g1,.g2,.g3,.g4,.g5,.g6{grid-column:auto;grid-row:auto}
  .about-logo{min-height:330px}
  .facts{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;align-items:start}
}
@media(max-width:600px){
  .wrap{width:min(calc(100% - 28px),var(--max))}
  .logo-link img{width:172px}
  .hero{padding:110px 0 58px}
  .hero h1{font-size:clamp(53px,16vw,75px)}
  .lead{font-size:17px}
  .hero-buttons{display:grid}
  .button{width:100%}
  .quick{display:grid;grid-template-columns:1fr 1fr;gap:15px}
  .hero-photo{height:440px}
  .statement,.section,.work-section,.contact{padding:70px 0}
  .service-grid{grid-template-columns:1fr}
  .service-grid article{min-height:225px}
  .service-grid h3{margin-top:50px}
  .gallery{grid-template-columns:1fr;grid-auto-rows:360px}
  .form-row{grid-template-columns:1fr}
  footer{padding-bottom:105px}
  .mobile-cta{
    display:grid;position:fixed;z-index:999;bottom:10px;left:10px;right:10px;
    grid-template-columns:1fr 1fr;background:#efefec;color:#111;
    border-radius:999px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.42)
  }
  .mobile-cta a{padding:14px;text-align:center;font-size:14px;font-weight:800}
  .mobile-cta a+a{border-left:1px solid #cacbc8}
}


/* ---- polished brand integration ---- */
.header{
  background:linear-gradient(180deg, rgba(8,10,11,.94), rgba(8,10,11,.88));
  border-bottom:1px solid rgba(255,255,255,.06);
}
.logo-link{
  display:flex;
  align-items:center;
  gap:16px;
}
.logo-card{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
  padding:0;
  box-shadow:none;
}
.logo-link img{
  width:250px;
  height:auto;
  display:block;
}
.brand-tag{
  color:#8b9290;
  font-size:11px;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
  white-space:nowrap;
  opacity:.95;
}
.hero{
  padding-top:150px;
}
.about-logo{
  border:1px solid var(--line);
  min-height:430px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#131516,#0f1112);
}
.about-brand-block{
  width:min(82%,520px);
  display:grid;
  gap:18px;
}
.about-logo-card{
  display:block;
  background:transparent;
  padding:0;
  box-shadow:none;
}
.about-logo-card img{
  width:100%;
  height:auto;
  display:block;
}
.brand-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.brand-pills span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  color:#d7dbda;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  background:rgba(255,255,255,.02);
}
.footer-grid{
  grid-template-columns:1fr auto auto;
  gap:26px;
}
.footer-brand{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-logo-card{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  background:transparent;
  border:0;
  padding:0;
  border-radius:0;
  box-shadow:none;
}
.footer-grid img{
  width:220px;
  height:auto;
  display:block;
}
.footer-brand small{
  color:#707674;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
@media(max-width:900px){
  .brand-tag{
    display:none;
  }
  .footer-grid{
    grid-template-columns:1fr;
    align-items:start;
  }
}
@media(max-width:600px){
  .logo-link img{
    width:178px;
  }
  .about-brand-block{
    width:min(88%,420px);
  }
  .brand-pills{
    gap:8px;
  }
  .brand-pills span{
    font-size:10px;
    letter-spacing:.12em;
    min-height:34px;
    padding:0 12px;
  }
}
