*{box-sizing:border-box}
:root{
  --black:#050505;
  --black2:#0d0d0d;
  --panel:#131313;
  --white:#fff;
  --soft:#d0d0d0;
  --muted:#8f8f8f;
  --line:#292929;
}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#fff;
  color:#111;
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.55;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(1160px,calc(100% - 34px));margin:auto}
.topbar{background:#000;color:#aaa;font-size:12px;border-bottom:1px solid #222}
.topbar-inner{min-height:36px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(5,5,5,.96);border-bottom:1px solid #222;backdrop-filter:blur(12px)}
.nav-wrap{min-height:86px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:13px;color:#fff}
.brand img{width:68px;height:68px;border-radius:50%;object-fit:cover}
.brand strong{display:block;letter-spacing:.2em;font-size:17px}
.brand small{display:block;color:#aaa;letter-spacing:.25em;font-size:9px;margin-top:3px}
nav{display:flex;align-items:center;gap:24px;color:#ccc;font-size:12px;font-weight:700;text-transform:uppercase}
nav a:hover{color:#fff}
.nav-cta{border:1px solid #fff;padding:11px 14px;color:#fff}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:26px}
.hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#050505 0%,#0b0b0b 55%,#151515 100%);color:#fff;min-height:680px}
.hero-shape{position:absolute;right:-10%;top:0;width:58%;height:100%;background:linear-gradient(145deg,transparent 0 27%,#1b1b1b 27% 62%,#0d0d0d 62%);clip-path:polygon(25% 0,100% 0,100% 100%,0 100%);opacity:.9}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center;padding:105px 0}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.24em;color:#aaa;text-transform:uppercase}
.eyebrow.dark{color:#555}
.hero h1{font-size:clamp(58px,7.6vw,96px);line-height:.92;letter-spacing:-.055em;margin:18px 0 24px;text-transform:uppercase}
.hero h1 span{color:#aaa}
.hero-text{font-size:18px;max-width:620px;color:#c9c9c9}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid transparent;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.btn-light{background:#fff;color:#050505}
.btn-outline{border-color:#fff;color:#fff;background:transparent}
.btn-dark{background:#050505;color:#fff}
.hero-tags{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px;color:#999;font-size:12px}
.hero-card{border:1px solid #2e2e2e;background:rgba(0,0,0,.6);padding:34px;max-width:430px;justify-self:end}
.hero-logo{width:110px;height:110px;border-radius:50%;object-fit:cover;margin-bottom:24px}
.hero-card h2{font-size:34px;line-height:1.05;margin:0 0 15px}
.hero-card p{color:#aaa}
.text-link{font-size:12px;font-weight:800;color:#fff}
.trust-strip{background:#090909;color:#fff;border-top:1px solid #222;border-bottom:1px solid #222}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.trust-grid>div{padding:25px 22px;border-right:1px solid #222}
.trust-grid>div:last-child{border-right:0}
.trust-grid strong{display:block;font-size:15px}
.trust-grid span{display:block;color:#777;font-size:12px;margin-top:3px}
.section{padding:95px 0}
.section-heading{max-width:780px;margin-bottom:42px}
.section-heading h2,.contact-section h2{font-size:clamp(38px,5vw,58px);line-height:1.03;letter-spacing:-.045em;margin:10px 0 15px}
.section-heading>p:last-child,.contact-section>p{color:#666}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.service-card{border:1px solid #ddd;padding:28px;min-height:280px;display:flex;flex-direction:column;background:#fff}
.service-card.featured{background:#fff;color:#111;border-color:#ddd}
.service-card .icon{font-size:28px;margin-bottom:28px}
.service-card h3{font-size:21px;margin:0 0 10px}
.service-card p{font-size:14px;color:#666;margin:0 0 24px}
.service-card.featured p{color:#666}
.service-card a{margin-top:auto;font-size:12px;font-weight:800}
.dark-section{background:#090909;color:#fff}
.split{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid #252525}
.about-visual{min-height:500px;background:radial-gradient(circle at center,#1d1d1d 0%,#0b0b0b 65%);display:grid;place-items:center}
.about-visual img{width:300px;height:300px;border-radius:50%;object-fit:cover;filter:grayscale(1) contrast(1.15)}
.about-copy{padding:55px}
.about-copy h2{font-size:48px;line-height:1.04;letter-spacing:-.04em;margin:12px 0 18px}
.about-copy>p{color:#aaa}
.checks{display:grid;gap:18px;margin-top:28px}
.checks>div{display:grid;grid-template-columns:28px 1fr;gap:12px}
.checks span{width:24px;height:24px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:11px}
.checks p{margin:0;color:#aaa;font-size:14px}
.checks strong{color:#fff}
.work-section{background:#f4f4f4}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.photo-placeholder{aspect-ratio:4/3;background:linear-gradient(135deg,#111,#222);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;border:1px solid #333}
.photo-placeholder span{font-size:15px;font-weight:800;letter-spacing:.08em}
.photo-placeholder small{color:#777;margin-top:5px}
.cta{background:#050505;color:#fff;padding:60px 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.cta h2{font-size:clamp(32px,4vw,52px);line-height:1.04;max-width:820px;margin:10px 0 0}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}
.contact-info{margin-top:28px}
.contact-info p{margin:0 0 18px;color:#555}
.contact-info strong{color:#111}
.quote-form{display:grid;gap:12px;padding:30px;border:1px solid #ddd;background:#fafafa}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
input,select,textarea{width:100%;border:1px solid #ccc;background:#fff;padding:14px;font:inherit}
textarea{min-height:130px;resize:vertical}
.form-msg{font-size:12px;color:#555;margin:0}
footer{background:#050505;color:#fff;padding:45px 0 25px;border-top:1px solid #222}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:50px}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-brand img{width:85px;height:85px;border-radius:50%;object-fit:cover}
.footer-brand strong{display:block;letter-spacing:.18em}
.footer-brand small{display:block;color:#777;letter-spacing:.2em;font-size:9px;margin-top:4px}
footer h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 13px}
footer p{color:#777;font-size:12px;margin:6px 0}
.copyright{margin-top:30px;padding-top:18px;border-top:1px solid #222;color:#555;font-size:11px}
@media(max-width:900px){
  .menu-btn{display:block}
  nav{display:none;position:absolute;left:0;right:0;top:86px;background:#050505;padding:22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid #222}
  nav.open{display:flex}
  .hero-grid,.split,.contact-grid{grid-template-columns:1fr}
  .hero-card{justify-self:start}
  .trust-grid{grid-template-columns:1fr 1fr}
  .trust-grid>div:nth-child(2){border-right:0}
  .services-grid{grid-template-columns:1fr 1fr}
  .work-grid{grid-template-columns:1fr}
  .cta-inner{align-items:flex-start;flex-direction:column}
  .footer-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .topbar-inner{justify-content:center;text-align:center}
  .topbar-inner span:last-child{display:none}
  .brand div{display:none}
  .nav-wrap{min-height:76px}
  .brand img{width:58px;height:58px}
  nav{top:76px}
  .hero-grid{padding:75px 0}
  .hero h1{font-size:58px}
  .hero-card{padding:24px}
  .trust-grid,.services-grid,.two-col{grid-template-columns:1fr}
  .trust-grid>div{border-right:0;border-bottom:1px solid #222}
  .section{padding:70px 0}
  .about-copy{padding:30px}
  .about-copy h2{font-size:38px}
  .about-visual{min-height:330px}
  .about-visual img{width:220px;height:220px}
}

.service-card {
  overflow: hidden;
  padding: 0;
}

.service-card-image,
.service-image-placeholder {
  width: 100%;
  height: 220px;
}
/* ///////////// */
.service-card-image {
  width: 100%;
  height: 240px;
  object-fit: contain;
  object-position: center;
  background: #f5f5f5;
  display: block;
}

.service-image-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  background: linear-gradient(135deg, #111, #222);
  color: #fff;
  text-align: center;
}

.service-image-placeholder span {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .08em;
}

.service-image-placeholder small {
  margin-top: 6px;
  color: #777;
}

.service-card-content {
  padding: 28px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.service-card-content h3 {
  margin: 0 0 10px;
}

.service-card-content p {
  margin: 0 0 24px;
}

.service-card-content a {
  margin-top: auto;
}