/* ============================================================
   BTT Homepage — pixel-perfect implementation of the new design
   Design tokens: --navy #1C1F26, --gold #F2400F, --grad linear-gradient(90deg,#FF8A24,#FF1208)
   ============================================================ */

/* Base font — must be set here since homepage skips main.css */
body, .hp, .hp * {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.hp a { text-decoration: none; }
.hp a:not(.hp-header__cta):not(.hp-hero__btn-primary):not(.hp-hero__btn-secondary):not(.hp-mobnav__cta):not(.hp-contact__form-header) { color: inherit; }
.hp ::selection { background: rgba(242,64,15,.16); }

/* ── CSS Variables (override/extend main.css) ── */
:root {
  --navy:    #1C1F26;
  --navy-2:  #2A2E37;
  --ink:     #1A1C21;
  --muted:   #6B6F77;
  --line:    #E6E7EA;
  --bg-soft: #F5F6F7;
  --gold:    #F2400F;
  --white:   #fff;
  --grad:    linear-gradient(90deg, #FF8A24 0%, #FF1208 100%);
  --radius:  6px;
  --radius-lg: 10px;
}

/* ── Keyframes ── */
@keyframes hpFade { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes hpMarquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ── Reveal animation ── */
.hp [data-reveal] { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
.hp [data-reveal].in { opacity:1; transform:none; }

/* ── Industry card hover ── */
.hp [data-ind] { transition: border-color .2s, transform .2s, box-shadow .2s; }
.hp [data-ind]:hover { border-color:#cfd2d8; transform:translateY(-2px); box-shadow:0 14px 30px -20px rgba(14,42,71,.4); }

/* ── Utility bar ── */
.hp-util {
  background: var(--grad);
  color: rgba(255,255,255,.96);
  font-size: 12.5px;
  padding: 8px 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  letter-spacing: .2px;
}
.hp-util__left { display:inline-flex; align-items:center; gap:8px; }
.hp-util__right { display:inline-flex; align-items:center; gap:18px; }
.hp-util__right span { display:inline-flex; align-items:center; gap:6px; }

/* ── Dropdown nav (shared with main layout) ── */
.site-nav__group { position: relative; }
.site-nav__link {
  font-size: 14.5px;
  font-weight: 500;
  color: var(--ink);
  padding: 6px 0;
  transition: color .2s;
  text-decoration: none;
}
.site-nav__link:hover { color: var(--gold); }
.site-nav__dropdown {
  display: block;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: -16px;
  padding-top: 12px;
  background: transparent;
  z-index: 200;
  transition: opacity .18s ease, visibility .18s ease;
}
.site-nav__dropdown__inner {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: 0 12px 40px -10px rgba(14,42,71,.18);
  min-width: 240px;
  padding: 8px 0;
}
.site-nav__dropdown a {
  display: block;
  padding: 10px 20px;
  font-size: 14px;
  color: var(--ink);
  text-decoration: none;
  transition: background .15s, color .15s;
}
.site-nav__dropdown a:hover { background: var(--bg-soft); color: var(--gold); }
.site-nav__group:hover .site-nav__dropdown,
.site-nav__group:focus-within .site-nav__dropdown {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

/* ── Header / Nav ── */
.hp-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 48px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 100;
}
.hp-header__logo img { display:block; width:373px; height:81px; }
.hp-header__nav { display:flex; align-items:center; gap:30px; }
.hp-header__actions { display:flex; align-items:center; gap:16px; }
.hp-header__lang { font-size:13px; font-weight:600; color:var(--muted); }
.hp-header__cta {
  background: var(--grad);
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  padding: 11px 20px;
  border-radius: var(--radius);
  text-decoration: none;
}
.hp-burger { display:none; background:none; border:none; cursor:pointer; padding:4px; color:var(--ink); }

/* ── Mobile nav (full-screen overlay) ── */
.hp-mobnav {
  display: none;
  flex-direction: column;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: #fff;
  z-index: 999;
  padding: 20px 28px;
  overflow-y: auto;
  gap: 0;
}
.hp-mobnav.open { display: flex; }

/* Close row with logo */
.hp-mobnav__close-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 20px;
  margin-bottom: 8px;
  border-bottom: 2px solid var(--navy);
}

/* Section groups */
.hp-mobnav__section {
  padding: 4px 0 8px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 4px;
}
.hp-mobnav__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--gold);
  padding: 12px 0 6px;
}
.hp-mobnav__section a {
  display: block;
  padding: 9px 0 9px 12px;
  font-size: 15px;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--bg-soft);
}
.hp-mobnav__section a:last-child { border-bottom: none; }
.hp-mobnav__section a:hover { color: var(--gold); }

/* CTA */
.hp-mobnav__cta-wrap {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.hp-mobnav__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--grad);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  padding: 14px;
  border-radius: var(--radius);
  text-decoration: none;
}

/* ── Hero ── */
.hp-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 495px;
  gap: 60px;
  padding: 84px 48px 80px;
  align-items: stretch;
  background-color: #1C1F26;
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
}
.hp-hero__content { position:relative; z-index:2; animation:hpFade .5s ease both; }
.hp-hero__eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:24px; }
.hp-hero__eyebrow-line { width:28px; height:1.5px; background:var(--gold); }
.hp-hero__eyebrow-text { font-size:12.5px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:#FF8A24; }
.hp-hero h1 { margin:0; font-size:52px; font-weight:700; line-height:1.1; letter-spacing:-1px; color:#fff; max-width:680px; }
.hp-hero__body { margin:24px 0 0; font-size:17.5px; line-height:1.62; color:rgba(255,255,255,.82); max-width:560px; }
.hp-hero__actions { display:flex; gap:14px; margin-top:32px; }
.hp-hero__btn-primary {
  background: var(--grad); color:#fff !important; font-size:15px; font-weight:600;
  padding:14px 26px; border-radius:var(--radius);
  display:inline-flex; align-items:center; gap:9px; text-decoration:none;
}
.hp-hero__btn-secondary {
  background: rgba(255,255,255,.10); color:#fff !important; font-size:15px; font-weight:600;
  padding:14px 26px; border-radius:var(--radius); border:1.5px solid rgba(255,255,255,.35);
  text-decoration:none;
}
.hp-hero__trust { display:flex; align-items:center; gap:18px; margin-top:40px; padding-top:28px; border-top:1px solid rgba(255,255,255,.18); flex-wrap:wrap; }
.hp-hero__trust-item { display:inline-flex; align-items:center; gap:8px; font-size:13.5px; color:#fff; font-weight:500; }
.hp-hero__trust-sep { width:1px; height:18px; background:rgba(255,255,255,.25); }

/* ── Quote form (hero) ── */
.hp-qform-wrap { position:relative; z-index:2; display:flex; }
.hp-qform-glow { position:absolute; inset:-26px -18px; background:var(--grad); filter:blur(64px); opacity:.16; border-radius:48px; z-index:0; pointer-events:none; }
.hp-qform {
  position:relative; z-index:1; flex:1;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  box-shadow:0 24px 60px -30px rgba(14,42,71,.35); overflow:hidden;
  animation:hpFade .6s ease both;
}
.hp-qform__header { background:var(--navy); padding:20px 26px; }
.hp-qform__header h3 { margin:0; font-size:19px; font-weight:600; color:#fff; }
.hp-qform__header p { margin:3px 0 0; font-size:13px; color:#A6AAB2; }
.hp-qform__body { padding:24px 26px; display:flex; flex-direction:column; gap:10px; }
.hp-qform .form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.hp-qform .form-label { display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:500; color:var(--ink); margin-top:9px; }
.hp-qform .form-input,
.hp-qform .form-select { height:44px; padding:0 12px; border:1px solid var(--line); border-radius:var(--radius); font-size:14px; color:var(--ink); background:var(--bg-soft); font-family:inherit; }
.hp-qform .form-textarea { min-height:62px; resize:vertical; padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius); font-size:14px; color:var(--ink); background:var(--bg-soft); font-family:inherit; }
.hp-qform .form-submit { background:var(--grad); color:#fff; border:none; font-family:inherit; font-size:15px; font-weight:600; padding:14px; border-radius:var(--radius); cursor:pointer; width:100%; }
.hp-qform .form-submit:hover { opacity:.92; }
.hp-qform .alert--success { background:#ecfdf5; border:1px solid #6ee7b7; color:#065f46; padding:12px 14px; border-radius:var(--radius); font-size:14px; }

/* ── Trust numbers bar ── */
.hp-stats { background:var(--navy); padding:52px 48px; }
.hp-stats__grid { display:grid; grid-template-columns:repeat(5,1fr); }
.hp-stats__item { text-align:center; padding:0 14px; }
.hp-stats__item + .hp-stats__item { border-left:1px solid rgba(255,255,255,.1); }
.hp-stats__num { font-size:40px; font-weight:700; letter-spacing:-1px; color:#fff; }
.hp-stats__num--gold { color:var(--gold); }
.hp-stats__label { font-size:13px; color:#9CA0A8; margin-top:8px; }

/* ── Client logo marquee ── */
.hp-marquee-section { padding:40px 48px; border-bottom:1px solid var(--line); background:#fff; }
.hp-marquee__label { text-align:center; font-size:12.5px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); margin:0 0 46px; }
.hp-marquee__track { position:relative; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.hp-marquee__inner { display:flex; gap:56px; width:max-content; align-items:center; animation:hpMarquee 38s linear infinite; }
.hp-marquee__inner img { height:36px; width:auto; display:block; }

/* ── Services bento ── */
.hp-services { padding:82px 48px; }
.hp-section-eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:16px; }
.hp-section-eyebrow__line { width:28px; height:1.5px; background:var(--gold); }
.hp-section-eyebrow__text { font-size:12.5px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--gold); }
.hp-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:42px; }
.hp-section-head h2 { margin:0; font-size:38px; font-weight:700; letter-spacing:-.8px; color:var(--navy); max-width:560px; line-height:1.15; }
.hp-section-head p { margin:0; max-width:380px; font-size:15px; color:var(--muted); line-height:1.6; }
.hp-bento { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:1fr; gap:18px; }

/* Flagship card */
.hp-bento__flagship {
  grid-column:span 2; grid-row:span 2;
  background:var(--navy); border-radius:var(--radius-lg); padding:40px;
  display:flex; flex-direction:column; position:relative; overflow:hidden;
}
.hp-bento__flagship-glow { position:absolute; top:-60px; right:-60px; width:240px; height:240px; background:var(--grad); filter:blur(70px); opacity:.22; pointer-events:none; }
.hp-bento__flagship-top { position:relative; display:flex; align-items:center; justify-content:space-between; }
.hp-bento__flagship-icon { width:52px; height:52px; border-radius:12px; background:var(--grad); display:flex; align-items:center; justify-content:center; }
.hp-bento__flagship-badge { font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--gold); border:1px solid rgba(242,64,15,.5); padding:5px 11px; border-radius:9999px; }
.hp-bento__flagship-body { position:relative; margin-top:auto; padding-top:34px; }
.hp-bento__flagship-title { font-size:28px; font-weight:700; letter-spacing:-.5px; color:#fff; margin-bottom:12px; }
.hp-bento__flagship-desc { margin:0 0 22px; font-size:16px; color:#C9CCD2; line-height:1.65; max-width:460px; }
.hp-bento__flagship-link { display:inline-flex; align-items:center; gap:8px; font-size:14.5px; font-weight:600; color:#fff !important; text-decoration:none; }

/* Standard service card */
.hp-bento__card {
  border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden;
  background:#fff; display:flex; flex-direction:column;
}
.hp-bento__card-accent { height:3px; background:var(--grad); }
.hp-bento__card-body { padding:28px; }
.hp-bento__card-icon { width:44px; height:44px; border-radius:9px; background:var(--bg-soft); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.hp-bento__card-title { font-size:18px; font-weight:600; color:var(--navy); margin-bottom:8px; }
.hp-bento__card-desc { margin:0 0 14px; font-size:14px; color:var(--muted); line-height:1.6; }
.hp-bento__card-link { display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:600; color:var(--gold); text-decoration:none; }
.hp-bento__card-links { display:flex; flex-wrap:wrap; gap:14px; }

/* Wide interpreting card */
.hp-bento__wide {
  grid-column:span 3;
  border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; background:#fff;
}
.hp-bento__wide-inner { padding:30px 34px; display:flex; align-items:center; gap:26px; }
.hp-bento__wide-icon { width:48px; height:48px; flex:none; border-radius:10px; background:var(--bg-soft); display:flex; align-items:center; justify-content:center; }
.hp-bento__wide-content { flex:1; }
.hp-bento__wide-title { font-size:18px; font-weight:600; color:var(--navy); margin-bottom:5px; }
.hp-bento__wide-desc { margin:0; font-size:14px; color:var(--muted); line-height:1.6; max-width:680px; }
.hp-bento__wide-link { flex:none; display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:var(--gold); text-decoration:none; }

/* ── Process / Quality ── */
.hp-process { padding:82px 48px; background:#fff; }
.hp-proc-grid { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.hp-proc-line { position:absolute; top:27px; left:11%; right:11%; height:2px; background:var(--line); }
.hp-proc-step { display:flex; flex-direction:column; align-items:flex-start; position:relative; }
.hp-proc-step__iso-label { position:absolute; top:-18px; left:0; font-size:10.5px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:var(--gold); }
.hp-proc-step__num {
  width:56px; height:56px; border-radius:50%;
  background:#fff; border:2px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  font-size:18px; font-weight:700; color:var(--navy); margin-bottom:22px;
}
.hp-proc-step__num--highlight {
  background:var(--grad); border-color:transparent; color:#fff;
  box-shadow:0 10px 24px -10px rgba(242,64,15,.6);
}
.hp-proc-step__title { font-size:18px; font-weight:600; color:var(--navy); margin-bottom:9px; }
.hp-proc-step__desc { margin:0; font-size:14px; color:var(--muted); line-height:1.6; }
.hp-proc-badges { display:flex; flex-wrap:wrap; gap:14px; margin-top:46px; padding-top:30px; border-top:1px solid var(--line); }
.hp-proc-badge { display:inline-flex; align-items:center; gap:9px; font-size:14px; color:var(--ink); font-weight:500; }
.hp-proc-sep { width:1px; height:18px; background:var(--line); }

/* ── Industries ── */
.hp-industries { padding:82px 48px; background:var(--bg-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hp-ind-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.hp-ind-card {
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  overflow:hidden; display:flex; flex-direction:column;
  text-decoration:none;
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.hp-ind-card:hover { border-color:#cfd2d8; transform:translateY(-2px); box-shadow:0 14px 30px -20px rgba(14,42,71,.4); }

/* Photo area */
.hp-ind-card__img {
  position:relative;
  height:172px;
  flex:none;
}
.hp-ind-card__img img {
  width:100%; height:100%; object-fit:cover; display:block;
}
.hp-ind-card__overlay {
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(26,30,38,0) 45%, rgba(26,30,38,.5) 100%);
}
.hp-ind-card__icon {
  position:absolute; left:20px; bottom:-21px;
  width:44px; height:44px; border-radius:11px;
  background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 18px -8px rgba(242,64,15,.7);
  z-index:1;
}

/* Text area */
.hp-ind-card__body {
  padding:32px 24px 26px;
}
.hp-ind-card__title { font-size:17px; font-weight:600; color:var(--navy); margin-bottom:8px; }
.hp-ind-card__clients { font-size:13px; color:var(--muted); line-height:1.55; }

/* ── Testimonials ── */
.hp-testi { padding:82px 48px; }
.hp-testi-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:18px; align-items:stretch; }
.hp-testi-featured {
  background:var(--navy); border-radius:var(--radius-lg); padding:44px;
  position:relative; overflow:hidden; display:flex; flex-direction:column;
}
.hp-testi-featured__glow { position:absolute; top:-70px; left:-40px; width:260px; height:260px; background:var(--grad); filter:blur(80px); opacity:.18; pointer-events:none; }
.hp-testi-featured__quote { position:relative; width:40px; height:40px; color:var(--gold); margin-bottom:20px; }
.hp-testi-featured__text { position:relative; margin:0 0 26px; font-size:19px; line-height:1.62; color:#EDEEF0; font-weight:400; }
.hp-testi-featured__author { position:relative; margin-top:auto; display:flex; align-items:center; gap:14px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); }
.hp-testi-featured__avatar { width:48px; height:48px; border-radius:50%; background:var(--grad); color:#fff; display:flex; align-items:center; justify-content:center; font-size:15px; font-weight:600; flex:none; }
.hp-testi-featured__name { font-size:15px; font-weight:600; color:#fff; }
.hp-testi-featured__role { font-size:13px; color:#9CA0A8; }
.hp-testi-stack { display:flex; flex-direction:column; gap:18px; }
.hp-testi-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:28px; flex:1; }
.hp-testi-card__stars { color:#FF6A1A; font-size:14px; letter-spacing:2px; margin-bottom:12px; }
.hp-testi-card__text { margin:0 0 18px; font-size:14.5px; color:var(--ink); line-height:1.6; }
.hp-testi-card__author { display:flex; align-items:center; gap:12px; }
.hp-testi-card__avatar { width:42px; height:42px; border-radius:50%; background:var(--bg-soft); color:var(--navy); display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:600; flex:none; }
.hp-testi-card__name { font-size:14px; font-weight:600; color:var(--ink); }
.hp-testi-card__role { font-size:12.5px; color:var(--muted); }

/* ── Long-term partnerships / News ── */
.hp-news { padding:0 48px 82px; }
.hp-news__box { background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius-lg); padding:40px 44px; }
.hp-news__head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; flex-wrap:wrap; }
.hp-news__head h2 { margin:0; font-size:27px; font-weight:700; letter-spacing:-.5px; color:var(--navy); max-width:680px; line-height:1.2; }
.hp-news__all { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:var(--gold); white-space:nowrap; text-decoration:none; }
.hp-news__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.hp-news__card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px; display:block; text-decoration:none; }
.hp-news__card-tag { font-size:12px; font-weight:600; letter-spacing:.5px; text-transform:uppercase; color:var(--gold); margin-bottom:10px; }
.hp-news__card-title { font-size:16px; font-weight:600; color:var(--navy); margin-bottom:6px; }
.hp-news__card-desc { font-size:13px; color:var(--muted); line-height:1.5; }

/* ── Why Us ── */
.hp-why { padding:82px 48px; background:var(--navy); position:relative; overflow:hidden; }
.hp-why__glow { position:absolute; right:-120px; top:-80px; width:480px; height:380px; background:var(--grad); filter:blur(110px); opacity:.14; pointer-events:none; }
.hp-why__inner { position:relative; }
.hp-why__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.hp-why__item { border-top:2px solid rgba(255,255,255,.14); padding-top:24px; }
.hp-why__num { font-size:13px; font-weight:700; letter-spacing:1px; color:var(--gold); margin-bottom:18px; }
.hp-why__title { font-size:19px; font-weight:600; color:#fff; margin-bottom:10px; }
.hp-why__desc { margin:0; font-size:14px; color:#9CA0A8; line-height:1.65; }

/* ── About ── */
.hp-about { padding:82px 48px; }
.hp-about__grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.hp-about__title { margin:0 0 18px; font-size:34px; font-weight:700; letter-spacing:-.8px; color:var(--navy); line-height:1.18; }
.hp-about__body { margin:0 0 16px; font-size:15.5px; color:var(--muted); line-height:1.7; }
.hp-about__cta { display:inline-flex; align-items:center; gap:9px; background:#fff; border:1.5px solid var(--navy); color:var(--navy); font-size:14px; font-weight:600; padding:13px 24px; border-radius:var(--radius); text-decoration:none; }
.hp-about__stats { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.hp-about__stat { border:1px solid var(--line); border-radius:var(--radius-lg); padding:28px; }
.hp-about__stat--dark { background:var(--navy); border-color:var(--navy); }
.hp-about__stat--dark .hp-about__stat-num { color:#fff; }
.hp-about__stat--dark .hp-about__stat-label { color:#9CA0A8; }
.hp-about__stat--soft { background:var(--bg-soft); }
.hp-about__stat-num { font-size:34px; font-weight:700; letter-spacing:-1px; color:var(--navy); }
.hp-about__stat-label { font-size:13px; color:var(--muted); margin-top:6px; }
.hp-about__iso { display:flex; flex-direction:column; gap:10px; }
.hp-about__iso-item { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--navy); }

/* ── Contact / Quote section ── */
.hp-contact { padding:82px 48px; background:var(--bg-soft); border-top:1px solid var(--line); }
.hp-contact__grid { display:grid; grid-template-columns:1fr 460px; gap:60px; align-items:start; }
.hp-contact__title { margin:0 0 16px; font-size:38px; font-weight:700; letter-spacing:-.8px; color:var(--navy); line-height:1.15; max-width:520px; }
.hp-contact__body { margin:0 0 32px; font-size:16px; color:var(--muted); line-height:1.65; max-width:480px; }
.hp-contact__info { display:flex; flex-direction:column; gap:18px; }
.hp-contact__info-item { display:flex; align-items:center; gap:14px; }
.hp-contact__info-icon { width:44px; height:44px; border-radius:10px; background:#fff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; flex:none; }
.hp-contact__info-label { font-size:13px; color:var(--muted); }
.hp-contact__info-value { font-size:16px; font-weight:600; color:var(--navy); }
.hp-contact__form-wrap { position:relative; display:flex; }
.hp-contact__form-glow { position:absolute; inset:-22px -14px; background:var(--grad); filter:blur(58px); opacity:.14; border-radius:48px; z-index:0; pointer-events:none; }
.hp-contact__form {
  position:relative; z-index:1; flex:1;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  box-shadow:0 24px 60px -30px rgba(14,42,71,.35); overflow:hidden;
}
.hp-contact__form-header { background:var(--navy); padding:20px 26px; }
.hp-contact__form-header h3 { margin:0; font-size:19px; font-weight:600; color:#fff; }
.hp-contact__form-header p { margin:3px 0 0; font-size:13px; color:#A6AAB2; }
.hp-contact__form-body { padding:24px 26px; display:flex; flex-direction:column; gap:14px; }
.hp-contact__form .form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.hp-contact__form .form-label { display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:500; color:var(--ink); }
.hp-contact__form .form-input,
.hp-contact__form .form-select { height:44px; padding:0 12px; border:1px solid var(--line); border-radius:var(--radius); font-size:14px; color:var(--ink); background:var(--bg-soft); font-family:inherit; }
.hp-contact__form .form-textarea { min-height:84px; resize:vertical; padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius); font-size:14px; color:var(--ink); background:var(--bg-soft); font-family:inherit; }
.hp-contact__form .form-submit { background:var(--grad); color:#fff; border:none; font-family:inherit; font-size:15px; font-weight:600; padding:14px; border-radius:var(--radius); cursor:pointer; width:100%; }
.hp-contact__form .form-submit:hover { opacity:.92; }
.hp-contact__form .alert--success { background:#ecfdf5; border:1px solid #6ee7b7; color:#065f46; padding:12px 14px; border-radius:var(--radius); font-size:14px; }

/* ── Footer ── */
.hp-footer { background:#141519; padding:56px 48px 30px; color:#9CA0A8; }
.hp-footer__grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.08); }
.hp-footer__brand { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.hp-footer__logo img { display:block; height:48px; width:auto; }
.hp-footer__desc { font-size:13.5px; margin:0 0 16px; line-height:1.6; max-width:300px; }
.hp-footer__iso { display:flex; gap:8px; }
.hp-footer__iso span { font-size:11px; padding:5px 10px; border:1px solid rgba(255,255,255,.14); border-radius:5px; }
.hp-footer__col-title { font-size:12px; font-weight:600; letter-spacing:.6px; text-transform:uppercase; color:#fff; margin-bottom:16px; }
.hp-footer__links { display:flex; flex-direction:column; gap:11px; font-size:14px; }
.hp-footer__links a { color:#9CA0A8; text-decoration:none; }
.hp-footer__links a:hover { color:#fff; }
.hp-footer__contact-item { display:flex; gap:8px; align-items:center; font-size:14px; }
.hp-footer__bottom { display:flex; justify-content:space-between; align-items:center; padding-top:24px; font-size:13px; color:#777A81; }

/* ── Responsive ── */
@media (max-width: 980px) {
  .hp-util { padding-left:28px; padding-right:28px; }
  .hp-util__right { display:none; }
  .hp-header { padding:16px 28px; }
  .hp-header__logo img { width:230px; height:auto; }
  .hp-header__nav { display:none; }
  .hp-burger { display:inline-flex; }
  .hp-hero { grid-template-columns:1fr; gap:36px; padding:48px 28px 52px; }
  .hp-hero h1 { font-size:40px; }
  .hp-stats { padding:40px 28px; }
  .hp-stats__grid { grid-template-columns:repeat(3,1fr); row-gap:34px; }
  .hp-stats__item + .hp-stats__item { border-left:none; }
  .hp-marquee-section { padding:32px 28px; }
  .hp-services { padding:56px 28px; }
  .hp-section-head { flex-direction:column; align-items:flex-start; gap:14px; }
  .hp-bento { grid-template-columns:1fr; }
  .hp-bento__flagship { grid-column:auto; grid-row:auto; }
  .hp-bento__wide { grid-column:auto; }
  .hp-bento__wide-inner { flex-direction:column; align-items:flex-start; gap:16px; }
  .hp-process { padding:56px 28px; }
  .hp-proc-grid { grid-template-columns:repeat(2,1fr); row-gap:36px; }
  .hp-proc-line { display:none; }
  .hp-industries { padding:56px 28px; }
  .hp-ind-grid { grid-template-columns:repeat(2,1fr); }
  .hp-ind-card__img { height:140px; }
  .hp-testi { padding:56px 28px; }
  .hp-testi-grid { grid-template-columns:1fr; }
  .hp-news { padding:0 28px 56px; }
  .hp-news__grid { grid-template-columns:repeat(2,1fr); }
  .hp-news__head { flex-direction:column; align-items:flex-start; gap:16px; }
  .hp-why { padding:56px 28px; }
  .hp-why__grid { grid-template-columns:repeat(2,1fr); }
  .hp-about { padding:56px 28px; }
  .hp-about__grid { grid-template-columns:1fr; gap:40px; }
  .hp-contact { padding:56px 28px; }
  .hp-contact__grid { grid-template-columns:1fr; gap:40px; }
  .hp-footer { padding:40px 28px 24px; }
  .hp-footer__grid { grid-template-columns:repeat(2,1fr); gap:32px; }
}

@media (max-width: 560px) {
  .hp-util { padding-left:18px; padding-right:18px; }
  .hp-header { padding:14px 18px; }
  .hp-header__logo img { width:178px; }
  .hp-header__cta { display:none; }
  .hp-hero { padding:36px 18px 44px; }
  .hp-hero h1 { font-size:31px; }
  .hp-qform .form-row { grid-template-columns:1fr; }
  .hp-stats__grid { grid-template-columns:repeat(2,1fr); }
  .hp-ind-grid { grid-template-columns:1fr; }
  .hp-news__grid { grid-template-columns:1fr; }
  .hp-why__grid { grid-template-columns:1fr; }
  .hp-proc-grid { grid-template-columns:1fr; }
  .hp-footer__grid { grid-template-columns:1fr; }
  .hp-footer__bottom { flex-direction:column; gap:10px; align-items:flex-start; }
  .hp-contact__form .form-row { grid-template-columns:1fr; }
}
