:root{
  --blue:#3155f5;
  --blue-dark:#2445d8;
  --blue-soft:#e9edff;
  --accent:#ffb000;
  --black:#101012;
  --ink:#111216;
  --white:#fff;
  --soft:#f5f5f2;
  --gray:#666973;
  --line:#d8dae2;
  --max:1240px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--white);
  font-family:Inter,"Helvetica Neue",Arial,sans-serif;
  line-height:1.55;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin-top:0}
img{max-width:100%;display:block}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.site-nav{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(0,0,0,.08);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.nav-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{width:180px;height:44px;overflow:hidden;position:relative}
.brand img{
  width:260px;
  max-width:none;
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%) scaleX(.92);
}
.back-link{font-size:14px;font-weight:700;display:flex;align-items:center;gap:9px}
.back-link span{transition:transform .2s var(--ease)}
.back-link:hover span{transform:translateX(-4px)}
.section{padding:112px 0}
.soft{background:var(--soft)}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:var(--blue);margin-bottom:22px}
h1{font-size:clamp(48px,6vw,84px);line-height:.94;letter-spacing:-.065em}
h2{font-size:clamp(38px,4.6vw,66px);line-height:.98;letter-spacing:-.055em}
.lead{font-size:20px;color:var(--gray);max-width:760px}
.button{appearance:none;-webkit-appearance:none;display:inline-flex;min-height:54px;padding:0 24px;border:0;border-radius:0;align-items:center;justify-content:center;background:var(--black);color:#fff;font:inherit;font-weight:750;cursor:pointer;text-align:center}
.case-cta{padding:104px 0;background:var(--blue);color:#fff;text-align:center}
.case-cta h2{max-width:820px;margin:0 auto 22px}
.case-cta p{max-width:680px;margin:0 auto 30px;color:rgba(255,255,255,.7);font-size:19px}
footer{padding:28px 0;background:var(--black);color:rgba(255,255,255,.55);font-size:13px}
.footer-inner{display:flex;justify-content:space-between;gap:20px}
body.modal-open{overflow:hidden}
.contact-modal{width:min(calc(100% - 32px),620px);max-height:calc(100vh - 32px);padding:0;border:0;background:#fff;color:#111216;box-shadow:0 34px 100px rgba(0,0,0,.38)}
.contact-modal::backdrop{background:rgba(7,8,12,.72);backdrop-filter:blur(8px)}
.contact-modal-inner{padding:44px;position:relative}
.contact-modal-close{position:absolute;top:18px;right:18px;width:42px;height:42px;border:1px solid #d8dae2;background:#fff;cursor:pointer;font-size:24px;line-height:1}
.contact-modal h2{max-width:500px;margin:0 0 14px;font-size:clamp(36px,5vw,58px)}
.contact-modal-intro{color:#666973;font-size:17px;margin:0 0 30px;max-width:500px}
.contact-form{display:grid;gap:18px}.form-field{display:grid;gap:8px}.form-field label{font-size:13px;font-weight:700}
.form-field input,.form-field textarea{width:100%;border:1px solid #d8dae2;background:#fff;color:#111216;padding:13px 14px;font:inherit;border-radius:0;outline:none}
.form-field textarea{min-height:140px;resize:vertical}.form-field input:focus,.form-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
.contact-form-status{min-height:20px;font-size:14px}.contact-form-status.success{color:#176b38;font-weight:700}.contact-form-status.error{color:#b42318}
.contact-submit{min-height:52px;padding:0 22px;border:1px solid var(--black);background:var(--black);color:#fff;font:inherit;font-weight:700;cursor:pointer}.contact-submit:disabled{opacity:.55;cursor:wait}
@media(max-width:620px){
  .container{width:min(calc(100% - 24px),var(--max))}
  .nav-inner{min-height:72px}
  .brand{width:150px}
  .brand img{width:230px}
  .section{padding:80px 0}
  .footer-inner{flex-direction:column}
  .contact-modal-inner{padding:34px 22px 24px}.contact-modal h2{font-size:36px;padding-right:34px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
}
