:root{
  --black:#050505;
  --text:#222;
  --muted:#6e6e6e;
  --line:#e5e5e5;
  --soft:#fafafa;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  color:var(--text);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
.site-header{
  min-height:125px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:22px 3.2vw;
  border-bottom:1px solid #eee;
}
.brand img{display:block;width:355px;max-width:34vw;height:auto}
.nav{display:flex;align-items:center;gap:31px;font-size:14px;font-weight:650;letter-spacing:.03em}
.nav a{color:#111;text-decoration:none;white-space:nowrap}
.nav a:hover{opacity:.55}
.nav span{width:1px;height:26px;background:#d5d5d5}
.menu-toggle{display:none;background:none;border:0;font-size:26px;cursor:pointer}
.hero{text-align:center;padding:102px 24px 54px}
.hero h1{margin:0;font-size:28px;letter-spacing:.19em;font-weight:700;color:#090909}
.short-rule{width:75px;height:1px;background:#777;margin:34px auto 27px}
.hero p{margin:0;font-size:19px;line-height:1.72;letter-spacing:.02em;color:#373737}
.cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:42px;
  width:min(1320px,86vw);
  margin:0 auto 72px;
}
.card{
  min-height:425px;
  border:1px solid #e5e5e5;
  border-radius:6px;
  box-shadow:0 3px 12px rgba(0,0,0,.05);
  text-align:center;
  padding:42px 34px 36px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}
.icon{width:76px;height:76px;margin:0 auto 20px}
.icon svg{width:100%;height:100%;fill:none;stroke:#050505;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.card h2{font-size:22px;letter-spacing:.08em;margin:0;font-weight:700;color:#0b0b0b}
.mini-rule{width:48px;height:1px;background:#bababa;margin:18px auto 22px}
.card p{margin:0 0 35px;color:#454545;font-size:16.5px;line-height:1.7;min-height:58px}
.btn{
  margin-top:auto;
  width:100%;
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  text-decoration:none;
  font-size:17px;
  font-weight:700;
  letter-spacing:.06em;
  border-radius:4px;
  transition:.18s ease;
}
.btn b{font-size:26px;font-weight:300;line-height:1}
.btn-dark{background:#050505;color:#fff;border:1px solid #050505}
.btn-dark:hover{background:#222}
.btn-light{background:#fff;color:#111;border:1.5px solid #111}
.btn-light:hover{background:#f5f5f5}
.hidden-info{max-width:920px;margin:0 auto;padding:60px 24px;text-align:center;border-top:1px solid #eee}
.hidden-info h2{letter-spacing:.14em}.hidden-info p{color:#555;line-height:1.7}
footer{
  min-height:145px;
  background:#fafafa;
  border-top:1px solid #f0f0f0;
  display:grid;
  grid-template-columns:1.15fr 1px 1.25fr 1px 1.05fr;
  align-items:center;
  gap:46px;
  padding:26px 9.5vw;
}
.footer-brand img{width:300px;max-width:100%;display:block}
.footer-divider{height:72px;background:#d3d3d3}
.contact-block p,.copyright p{margin:8px 0;font-size:15px;letter-spacing:.01em}
.contact-block span{display:inline-block;width:28px;color:#111}
@media (max-width:1050px){
  .brand img{width:285px}.nav{gap:18px;font-size:12px}.cards{gap:22px;width:92vw}.card{padding:34px 24px}.card h2{font-size:18px}.card p{font-size:15px}.btn{font-size:14px}
  footer{padding:24px 4vw;gap:24px}.footer-brand img{width:240px}
}
@media (max-width:820px){
  .site-header{min-height:92px;padding:14px 20px;position:relative}.brand img{width:240px;max-width:70vw}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:91px;background:#fff;border-bottom:1px solid #eee;flex-direction:column;gap:0;z-index:10}.nav.open{display:flex}.nav a{padding:17px;width:100%;text-align:center;border-top:1px solid #f1f1f1}.nav span{display:none}
  .hero{padding:72px 20px 44px}.hero h1{font-size:21px;line-height:1.55;letter-spacing:.13em}.hero p{font-size:16.5px}.desktop-only{display:none}
  .cards{grid-template-columns:1fr;width:min(92vw,560px);gap:22px;margin-bottom:45px}.card{min-height:360px}.card p{min-height:auto}
  footer{grid-template-columns:1fr;text-align:center;gap:12px;padding:30px 20px}.footer-brand img{margin:0 auto;width:250px}.footer-divider{width:64px;height:1px;margin:2px auto}.contact-block span{width:auto;margin-right:8px}
}
