:root {
  --blue:#4472C4;
  --blue-dark:#264478;
  --orange:#ED7D31;
  --gray:#A5A5A5;
  --bg:#f6f8fc;
  --text:#1f2937;
  --muted:#667085;
  --card:#ffffff;
  --border:#e6eaf2;
  --shadow:0 10px 30px rgba(20,38,77,.10);
  --max:1180px;
}
* {box-sizing:border-box;}
html {scroll-behavior:smooth;}
body {margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg);line-height:1.5;}
a {color:inherit;text-decoration:none;}
img {max-width:100%;display:block;}
.container {width:min(var(--max), calc(100% - 32px));margin:0 auto;}
.section {padding:72px 0;}
.section-white {background:#fff;}
.eyebrow {color:var(--blue);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;}
.h2 {font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.1;margin:10px 0 12px;}
.lead {color:var(--muted);font-size:1.08rem;max-width:760px;}
.btn {display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:700;}
.btn-primary {background:var(--orange);color:#fff;box-shadow:var(--shadow);}
.btn-secondary {border:1px solid rgba(255,255,255,.24);color:#fff;background:rgba(255,255,255,.08);backdrop-filter: blur(8px);}
.topbar {position:sticky;top:0;z-index:10;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:box-shadow .2s ease, background .2s ease;}
.topbar.is-scrolled {background:rgba(255,255,255,.96);box-shadow:0 14px 34px rgba(20,38,77,.12);}
.nav {display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:24px;transition:padding .2s ease;}
.topbar.is-scrolled .nav {padding:18px 0;}
.nav-right {display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end;}
.nav-links {display:flex;gap:18px;flex-wrap:wrap;color:#475467;font-size:.95rem;font-weight:600;transition:font-size .2s ease, color .2s ease, gap .2s ease;}
.topbar.is-scrolled .nav-links {gap:22px;color:#1f2937;font-size:1.08rem;font-weight:700;}
.lang-switcher {position:relative;z-index:20;}
.lang-toggle {appearance:none;border:1px solid var(--border);background:#fff;border-radius:999px;width:44px;height:40px;display:grid;place-items:center;font-size:1.1rem;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(20,38,77,.06);}
.lang-menu {position:absolute;right:0;top:calc(100% + 8px);display:grid;gap:4px;padding:6px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 16px 34px rgba(20,38,77,.16);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .16s ease, transform .16s ease;}
.lang-switcher.is-open .lang-menu {opacity:1;pointer-events:auto;transform:translateY(0);}
.lang-btn {appearance:none;border:0;background:transparent;border-radius:12px;width:34px;height:30px;display:grid;place-items:center;font-size:1.05rem;line-height:1;cursor:pointer;transition:background .2s ease;}
.lang-btn:hover,.lang-btn.is-active {background:#f2f5fb;}
.brand {display:inline-flex;align-items:center;flex:0 0 auto;}
.brand img {height:58px;width:auto;max-width:min(320px, 52vw);object-fit:contain;transition:height .2s ease, max-width .2s ease;}
.topbar.is-scrolled .brand img {height:82px;max-width:min(380px, 58vw);}
.hero {position:relative;color:#fff;background:linear-gradient(rgba(17,28,55,.72), rgba(17,28,55,.68)), url('doit-ops-hero.jpg') center/cover no-repeat;}
.hero-inner {padding:104px 0 94px;display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:end;}
.hero-card {background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);backdrop-filter: blur(10px);padding:24px;border-radius:24px;}
.hero h1 {font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.04;margin:14px 0 16px;max-width:860px;}
.hero p {font-size:1.12rem;max-width:720px;color:rgba(255,255,255,.9);}
.hero-actions {display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}
.badges {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;}
.badge {background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:18px;border-radius:20px;text-align:center;}
.badge strong {display:block;font-size:1.6rem;}
.grid-2 {display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;}
.card-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.card-grid-spaced {margin-top:28px;}
.card {background:var(--card);border:1px solid var(--border);border-radius:24px;padding:22px;box-shadow:var(--shadow);}
.stat-card {text-align:center;padding:28px 18px;}
.stat-card .value {font-size:2rem;color:var(--blue-dark);font-weight:800;line-height:1;}
.stat-card .label {font-weight:700;margin-top:10px;}
.points {display:grid;gap:0;margin-top:22px;border-top:1px solid var(--border);}
.point {display:flex;gap:14px;align-items:flex-start;padding:17px 0;border-bottom:1px solid var(--border);}
.point img {width:22px;height:22px;flex:0 0 22px;margin-top:2px;}
.service-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px;}
.service-card h3 {margin:0 0 8px;font-size:1.08rem;}
.service-card p {margin:0;color:var(--muted);font-size:.96rem;}
.metrics {display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:30px;}
.metric {background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px 18px;box-shadow:var(--shadow);text-align:center;}
.metric .num {font-size:2rem;font-weight:800;color:var(--blue-dark);line-height:1;}
.metric .desc {margin-top:10px;font-weight:700;}
.steps {display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px;}
.step .n {width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:800;margin-bottom:16px;}
.case {display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px;}
.case .case-box {background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:var(--shadow);}
.case h3 {margin:0 0 14px;font-size:1.06rem;color:var(--blue-dark);}
.case ul {margin:0;padding-left:18px;color:var(--muted);}
.result {margin-top:18px;background:linear-gradient(135deg,var(--blue-dark),var(--blue));color:#fff;border-radius:24px;padding:24px;text-align:center;box-shadow:var(--shadow);}
.result strong {display:block;font-size:2.8rem;line-height:1;}
.why {display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,42%);gap:0;align-items:stretch;background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);overflow:hidden;}
.why-copy {padding:34px;}
.team-card {display:flex;align-items:center;justify-content:center;min-height:100%;background:#f8fafc;}
.team-card img {width:100%;height:100%;min-height:440px;object-fit:contain;}
.cta {background:linear-gradient(135deg,var(--blue-dark),#203864);color:#fff;}
.cta .eyebrow {color:#fff;opacity:.86;}
.cta .h2 {color:#fff;}
.cta .lead {color:rgba(255,255,255,.86);}
.cta-wrap {display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:stretch;}
.cta-panel {display:flex;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:22px;}
.icon-row {display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;}
.icon-card {background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:18px;border-radius:20px;text-align:center;}
.icon-card img {width:42px;height:42px;margin:0 auto 12px;}
.contact-list {display:grid;gap:12px;width:100%;}
.company-info {display:grid;gap:12px;}
.company-info-item span {display:grid;gap:2px;}
.company-info-item strong {font-size:.9rem;}
.company-info-item small {color:rgba(255,255,255,.76);font-size:.82rem;font-weight:400;}
.contact-item {display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:14px;min-height:62px;padding:15px 18px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);}
.contact-item img,.contact-item svg {width:28px;height:28px;justify-self:center;}
.contact-item svg {fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.82;}
.contact-item span {font-weight:700;line-height:1.25;overflow-wrap:anywhere;}
.contact-open {appearance:none;border:0;width:100%;justify-content:center;cursor:pointer;}
.contact-form-shell {position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.68);backdrop-filter:blur(8px);}
.contact-form-shell.is-open {display:flex;}
.contact-form-card {position:relative;width:min(680px,100%);max-height:min(760px, calc(100vh - 48px));overflow:auto;border:1px solid rgba(255,255,255,.22);border-radius:20px;background:linear-gradient(135deg,var(--blue-dark),#203864);box-shadow:0 24px 80px rgba(0,0,0,.34);padding:24px;color:#fff;}
.contact-form-head {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;}
.contact-form-head h3 {margin:0;font-size:1.45rem;line-height:1.2;}
.contact-close {appearance:none;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.1);color:#fff;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:1.45rem;line-height:1;cursor:pointer;flex:0 0 40px;}
.contact-form {display:grid;gap:12px;width:100%;}
.form-grid {display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-field {display:grid;gap:6px;}
.form-field label {font-size:.86rem;font-weight:700;color:rgba(255,255,255,.9);}
.form-field input,.form-field textarea {width:100%;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:rgba(255,255,255,.94);color:#1f2937;padding:12px 13px;font:inherit;outline:none;}
.form-field textarea {min-height:126px;resize:vertical;}
.form-field input:focus,.form-field textarea:focus {border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.18);}
.form-field-hidden {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.form-note {font-size:.88rem;color:rgba(255,255,255,.74);margin:0;}
.form-message {border-radius:14px;padding:12px 14px;font-weight:700;}
.form-message:empty {display:none;}
.form-message.success {background:rgba(20,160,90,.18);border:1px solid rgba(120,230,170,.42);color:#fff;}
.form-message.error {background:rgba(190,40,40,.18);border:1px solid rgba(255,150,150,.46);color:#fff;}
.page-notification {position:fixed;right:18px;top:18px;z-index:120;display:flex;align-items:center;gap:10px;max-width:min(420px,calc(100vw - 36px));padding:14px 16px;border-radius:14px;background:#fff;color:#1f2937;border:1px solid rgba(20,160,90,.34);border-left:5px solid #18a05e;box-shadow:0 18px 44px rgba(0,0,0,.22);opacity:1;visibility:visible;transform:translateY(0) scale(1);transition:opacity .22s ease, transform .22s ease, visibility .22s ease;}
.page-notification::before {content:'✓';display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#18a05e;color:#fff;font-weight:800;flex:0 0 22px;}
.page-notification.is-hidden {opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-14px) scale(.98);}
.contact-submit {appearance:none;border:0;justify-content:center;cursor:pointer;}
body.modal-open {overflow:hidden;}
footer {padding:28px 0;background:#fff;border-top:1px solid var(--border);color:#667085;}
.small {font-size:.95rem;color:var(--muted);}
@media (max-width: 1100px) {
  .card-grid,.service-grid,.metrics,.steps {grid-template-columns:repeat(2,1fr);}
  .hero-inner,.grid-2,.why,.cta-wrap,.case {grid-template-columns:1fr;}
}
@media (max-width: 700px) {
  .nav {align-items:flex-start;flex-direction:column;}
  .brand img {height:46px;max-width:260px;}
  .topbar.is-scrolled .brand img {height:58px;max-width:300px;}
  .nav-right {justify-content:flex-start;}
  .nav-links {gap:12px 16px;}
  .topbar.is-scrolled .nav-links {gap:14px 18px;font-size:1rem;}
  .badges,.icon-row,.card-grid,.service-grid,.metrics,.steps,.case {grid-template-columns:1fr;}
  .why-copy {padding:24px;}
  .team-card {min-height:280px;}
  .team-card img {min-height:280px;}
  .cta-panel {padding:18px;}
  .contact-item {grid-template-columns:30px minmax(0,1fr);padding:14px 16px;}
  .contact-form-shell {padding:14px;}
  .contact-form-card {padding:18px;max-height:calc(100vh - 28px);}
  .form-grid {grid-template-columns:1fr;}
  .section {padding:56px 0;}
  .hero-inner {padding:82px 0 72px;}
}
