:root {
  --navy: #0b182b;
  --navy-2: #10233a;
  --navy-3: #1a3554;
  --ink: #182538;
  --muted: #627084;
  --gold: #c7a467;
  --gold-light: #e3c997;
  --gold-deep: #b99356;
  --cloud: #f4f6f8;
  --cloud-2: #edf1f5;
  --line: #dee4ea;
  --white: #ffffff;
  --container: 1200px;
  --shadow-soft: 0 20px 70px rgba(11, 24, 43, 0.08);
  --shadow-strong: 0 30px 80px rgba(7, 20, 36, 0.18);
  --radius-xl: 28px;
  --radius-lg: 18px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body {
  margin: 0;
  font-family: "DM Sans", Arial, sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.65;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 {
  font-family: Manrope, "DM Sans", Arial, sans-serif;
  line-height: 1.12;
  letter-spacing: -0.04em;
}
h1 { font-size: clamp(2.9rem, 5vw, 5rem); }
h2 { font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 800; }
h3 { font-size: clamp(1.2rem, 2vw, 1.6rem); }
button, input, textarea { font: inherit; }
button, a, input, textarea { outline-offset: 4px; }
.container { width: min(var(--container), calc(100% - 64px)); margin: auto; }
.section { padding: 108px 0; }
.section-tight { padding: 70px 0; }
.section-soft { background: var(--cloud); }
.section-deep { background: var(--navy); color: #fff; }
.skip-link { position: absolute; top: -60px; left: 12px; padding: 10px; background: #fff; z-index: 999; }
.skip-link:focus { top: 12px; }
.topline {
  background: #081322;
  color: #aab9cb;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 8px max(32px, calc((100vw - var(--container))/2));
  font-size: .62rem;
  letter-spacing: .18em;
  font-weight: 700;
}
.topline-right { color: var(--gold); }
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(14px);
  box-shadow: 0 1px 0 rgba(17, 30, 45, 0.07);
}
.nav-wrap {
  min-height: 94px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand { display: inline-flex; align-items: center; gap: 14px; }
.brand-mark {
  width: 52px; height: 52px; flex: none;
  filter: drop-shadow(0 10px 18px rgba(10,24,43,.12));
}
.brand-text strong {
  display: block; font-size: 1.68rem; letter-spacing: .22em;
  color: var(--navy); font-weight: 800;
}
.brand-text small {
  display: block; font-size: .56rem; letter-spacing: .25em; color: #738191; font-weight: 800;
}
.nav { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }
.nav-chip {
  min-height: 44px; padding: 11px 16px; border-radius: 15px; font-size: .79rem; font-weight: 800; letter-spacing: .04em;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid transparent; box-shadow: 0 12px 26px rgba(10,22,39,.06);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.nav-chip:hover, .nav-chip.is-active { transform: translateY(-2px); box-shadow: 0 18px 30px rgba(10,22,39,.11); }
.chip-slate { background: #eff3f7; color: #26384f; }
.chip-blue { background: #e7eef6; color: #223b5e; }
.chip-steel { background: #edf2f6; color: #304257; }
.chip-outline { background: #fff; color: #304257; border-color: #d7dee7; }
.chip-gold { background: linear-gradient(135deg, #b8904e, #d6b57b); color: #102033; }
.menu-toggle { display: none; }
.hero { position: relative; overflow: hidden; background: linear-gradient(115deg, #0b182b 28%, #12243b 100%); color: #fff; }
.hero::before {
  content: ""; position: absolute; inset: 0; opacity: .14;
  background-image: linear-gradient(#b0c3d1 1px, transparent 1px), linear-gradient(90deg, #b0c3d1 1px, transparent 1px);
  background-size: 82px 82px; mask-image: linear-gradient(90deg, transparent 12%, #000 96%);
}
.hero::after {
  content: ""; position: absolute; right: -18%; top: -44%; width: 75%; height: 130%; background: radial-gradient(circle, #32608055, transparent 65%);
}
.hero-orb { position: absolute; border-radius: 50%; animation: drift 12s ease-in-out infinite; }
.orb-one { width: 220px; height: 220px; background: radial-gradient(circle, rgba(199,164,103,.14), transparent 70%); left: -70px; bottom: 40px; }
.orb-two { width: 280px; height: 280px; background: radial-gradient(circle, rgba(80,122,169,.16), transparent 70%); right: -40px; top: 130px; animation-delay: -4s; }
.hero-layout {
  position: relative; min-height: 720px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 34px;
}
.hero-copy { padding: 70px 0; }
.eyebrow, .section-kicker {
  font-size: .69rem; letter-spacing: .21em; font-weight: 800;
}
.eyebrow { color: var(--gold-light); display: flex; align-items: center; gap: 12px; }
.eyebrow-line { width: 29px; height: 1px; background: var(--gold); display: inline-block; }
.hero h1 { margin: 27px 0; font-weight: 800; line-height: 1.08; }
.hero h1 em, .highlight-gold, .contact-heading h2 em { color: var(--gold-light); font-style: normal; }
.hero-lede { color: #b9c8d7; font-size: 1.05rem; max-width: 570px; line-height: 1.85; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin: 34px 0 56px; }
.button {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 22px;
  min-height: 54px; padding: 15px 23px; border-radius: 15px; border: 1px solid transparent;
  font-size: .84rem; font-weight: 800; transition: transform .2s, background .2s, border-color .2s, color .2s;
}
.button:hover { transform: translateY(-2px); }
.button-gold { background: var(--gold); color: #101d2e; }
.button-gold:hover { background: var(--gold-light); }
.button-outline { border-color: #5a6c80; color: #fff; background: rgba(255,255,255,.02); }
.button-outline:hover { border-color: var(--gold); }
.button-dark { background: var(--navy); color: #fff; }
.button-light { background: #fff; color: var(--navy); }
.hero-proof { font-size: .67rem; letter-spacing: .14em; color: #9bb1c7; display: flex; gap: 17px; align-items: center; font-weight: 700; flex-wrap: wrap; }
.proof-rule { height: 1px; width: 35px; background: var(--gold); }
.proof-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--gold); }
.hero-visual { position: relative; min-height: 570px; display: grid; place-items: center; }
.technical-ring { position: absolute; border: 1px solid rgba(105,128,155,.25); border-radius: 50%; aspect-ratio: 1; }
.ring-one { width: 95%; }
.ring-two { width: 77%; }
.ring-three { width: 59%; border-style: dashed; }
.hero-visual::before, .hero-visual::after { content: ""; position: absolute; background: rgba(120,153,170,.35); }
.hero-visual::before { width: 100%; height: 1px; }
.hero-visual::after { width: 1px; height: 95%; }
.visual-panel {
  position: relative; width: min(360px, 81%); aspect-ratio: .96; background: linear-gradient(143deg, #1c3552, #0e2138 70%);
  border: 1px solid rgba(96,122,150,.3); box-shadow: 20px 35px 0 rgba(7,21,38,.44), 0 0 80px rgba(75,120,146,.16);
  display: flex; align-items: center; justify-content: center; transform: rotate(-7deg); z-index: 1; animation: floatyPanel 8s ease-in-out infinite;
}
.visual-panel::after { content: ""; position: absolute; inset: 15px; border: 1px solid rgba(127,154,177,.28); }
.visual-panel img { width: 46%; filter: drop-shadow(0 0 32px rgba(220,183,125,.22)); }
.panel-top, .panel-bottom {
  position: absolute; z-index: 2; left: 31px; color: #a5bbce; font-size: .55rem; letter-spacing: .2em;
}
.panel-top { top: 27px; }
.panel-bottom { bottom: 27px; right: 31px; display: flex; justify-content: space-between; }
.panel-bottom b { color: var(--gold); font-weight: 400; }
.brand-card {
  position: absolute; left: 8px; bottom: 82px; width: min(300px, 64%); padding: 18px 18px 16px; z-index: 2;
  border: 1px solid rgba(124,149,173,.32); background: rgba(14,31,52,.82); backdrop-filter: blur(14px); box-shadow: 0 18px 40px rgba(3,13,27,.28);
}
.brand-card-header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.brand-card-header img { width: 42px; height: 42px; }
.brand-card-header strong { display: block; letter-spacing: .16em; color: #fff; font-family: Manrope, sans-serif; }
.brand-card-header small { display: block; color: #9fb3c6; letter-spacing: .15em; font-size: .52rem; }
.brand-card p { margin: 0; color: #d0dbe6; font-size: .82rem; line-height: 1.7; }
.float-label {
  position: absolute; right: -5px; bottom: 64px; z-index: 2; padding: 13px 18px; background: #142d49; border: 1px solid #3a5570;
  color: #e9dbbf; font-size: .61rem; letter-spacing: .18em; display: flex; align-items: center; gap: 12px; box-shadow: 0 10px 25px rgba(3,13,27,.33);
}
.pulse { width: 7px; height: 7px; background: var(--gold); border-radius: 50%; animation: pulse 2.8s ease-out infinite; }
.crosshair { position: absolute; color: #d9be8f; font-size: 24px; font-weight: 100; }
.crosshair-one { top: 24px; right: 55px; }
.crosshair-two { bottom: 60px; left: 29px; }
.hero-bottomline { border-top: 1px solid rgba(130,152,173,.2); position: relative; }
.hero-bottomline .container { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; color: #8da6bc; font-size: .6rem; letter-spacing: .16em; }
.hero-bottomline a { font-size: 1.4rem; line-height: 1; color: var(--gold); }
.page-hero {
  position: relative; overflow: hidden; background: linear-gradient(115deg, #0d1d33 28%, #193250 100%); color: #fff;
}
.page-hero::before {
  content: ""; position: absolute; inset: 0; opacity: .12;
  background-image: linear-gradient(#b0c3d1 1px, transparent 1px), linear-gradient(90deg, #b0c3d1 1px, transparent 1px);
  background-size: 86px 86px;
}
.page-hero .inner { position: relative; padding: 112px 0 86px; max-width: 850px; }
.page-hero p { color: #b8c8d8; max-width: 760px; }
.page-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
.quick-links-floating { position: relative; margin-top: -48px; z-index: 5; }
.quick-links-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 16px; }
.quick-link-card {
  min-height: 220px; padding: 24px 22px 22px; border-radius: var(--radius-xl); position: relative; overflow: hidden;
  box-shadow: var(--shadow-soft); display: block; transition: transform .28s ease, box-shadow .28s ease;
}
.quick-link-card:hover { transform: translateY(-6px); box-shadow: 0 24px 65px rgba(11,24,43,.14); }
.quick-link-card::after {
  content: ""; position: absolute; inset: auto -25% -45% auto; width: 120px; height: 120px; border-radius: 32px; background: rgba(255,255,255,.12); transform: rotate(28deg);
}
.quick-num {
  display: inline-flex; min-width: 46px; min-height: 32px; align-items: center; justify-content: center; border-radius: 999px; background: rgba(255,255,255,.17);
  font-size: .71rem; font-weight: 800; letter-spacing: .14em; margin-bottom: 24px;
}
.quick-link-card h3 { font-size: 1.28rem; margin-bottom: 10px; }
.quick-link-card p { font-size: .88rem; margin: 0; max-width: 240px; }
.quick-arrow { position: absolute; right: 22px; bottom: 18px; font-size: 1.1rem; font-weight: 700; }
.quick-navy { background: linear-gradient(135deg, #12253f, #233e62); color: #fff; }
.quick-gold { background: linear-gradient(135deg, #c29a58, #e4c98f); color: #11243b; }
.quick-steel { background: linear-gradient(135deg, #e9eef4, #d8e2ea); color: #203247; }
.quick-light { background: linear-gradient(135deg, #f8fafc, #ecf1f5); color: #1f3146; }
.quick-dark { background: linear-gradient(135deg, #0c1728, #162d49); color: #fff; }
.section-kicker { color: #aa834a; margin-bottom: 18px; }
.lead-copy { color: #5d6b7c; font-size: 1.02rem; line-height: 1.9; }
.intro-grid, .two-col { display: grid; grid-template-columns: 1fr .9fr; gap: 94px; }
.intro-grid h2 span, .two-col h2 span, .industry-grid h2 span, .process h2 span { color: #768598; }
.panel-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.info-panel, .service-card, .dark-card, .value-card, .contact-card, .faq-item {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-xl); box-shadow: var(--shadow-soft);
}
.info-panel { padding: 28px; }
.info-panel h3 { margin-bottom: 10px; }
.info-panel p { margin-bottom: 0; color: #667485; }
.metric-strip {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 34px;
}
.metric-card {
  padding: 22px; border-radius: 22px; background: linear-gradient(180deg, #fbfcfd, #eff4f8); border: 1px solid var(--line);
}
.metric-card strong { display: block; font-size: 2rem; font-family: Manrope, sans-serif; color: var(--navy); }
.metric-card span { color: #607084; font-size: .85rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 45px; }
.section-head h2 { margin: 0; max-width: 700px; }
.section-head > p { max-width: 365px; color: #647385; margin: 0 0 7px; }
.capability-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: #dfe3e7; border: 1px solid #dfe3e7; }
.capability-card {
  background: #fff; padding: 34px 35px 32px; min-height: 310px; position: relative; transition: background .2s, transform .25s ease;
}
.capability-card:not(.capability-feature):hover { background: #fcfaf5; transform: translateY(-2px); }
.card-num { font-size: .63rem; letter-spacing: .18em; color: #8995a3; font-weight: 700; }
.card-icon { margin: 19px 0 14px; color: #ae8c56; }
.card-icon svg { width: 43px; height: 43px; }
.capability-card h3 { margin-bottom: 10px; }
.capability-card p { font-size: .88rem; color: #6a7784; max-width: 270px; }
.card-arrow { position: absolute; right: 31px; top: 30px; color: #b4a081; }
.capability-feature {
  background: #11263e; overflow: hidden; display: flex; flex-direction: column; align-items: start; justify-content: center; color: #fff;
}
.feature-bg { position: absolute; right: -25px; bottom: -105px; font-family: Manrope,sans-serif; font-size: 390px; font-weight: 800; color: rgba(255,255,255,.03); line-height: 1; }
.feature-overline { font-size: .62rem !important; letter-spacing: .18em; color: var(--gold-light) !important; font-weight: 700; }
.capability-feature h3 { position: relative; font-size: 1.8rem; line-height: 1.28; max-width: 285px; }
.capability-feature h3 em { color: var(--gold-light); font-style: normal; }
.capability-feature a { position: relative; color: var(--gold-light); border-bottom: 1px solid var(--gold); font-size: .85rem; font-weight: 700; padding-bottom: 7px; margin-top: 20px; }
.industry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.industry-lede { margin-top: 27px; max-width: 440px; color: #627084; }
.industry-list { border-top: 1px solid #dce1e5; }
.industry-row { display: grid; grid-template-columns: 40px 1fr 20px; gap: 20px; padding: 24px 0; border-bottom: 1px solid #dce1e5; }
.industry-row > span:first-child { color: #ad8954; font-size: .69rem; font-weight: 800; letter-spacing: .1em; margin-top: 7px; }
.industry-row p { font-size: .88rem; color: #6a7784; margin: 0; }
.steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 31px; margin-top: 62px; }
.step { border-top: 2px solid #c7a467; padding-top: 23px; }
.step-no { font-size: .78rem; font-weight: 800; letter-spacing: .13em; color: #ab8750; display: flex; justify-content: space-between; }
.step-no span { color: #d7dce1; letter-spacing: -.2em; }
.step h3 { margin: 29px 0 11px; }
.step p { color: #667485; font-size: .9rem; }
.service-grid, .value-grid, .contact-grid-cards, .faq-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.service-card, .value-card, .contact-card, .faq-item { padding: 28px; }
.service-card p, .value-card p, .contact-card p, .faq-item p { color: #667485; margin-bottom: 0; }
.list-box {
  background: linear-gradient(180deg, #fbfcfd, #f2f6f9); border: 1px solid var(--line); border-radius: 24px; padding: 30px; box-shadow: var(--shadow-soft);
}
.check-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.check-list li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: start; color: #566679; }
.check-list li span { width: 24px; height: 24px; border-radius: 999px; background: #efe3c7; color: #8b6d39; display: grid; place-items: center; font-size: .85rem; font-weight: 700; }
.logo-showcase {
  display: grid; grid-template-columns: .9fr 1.1fr; gap: 36px; align-items: center;
  padding: 36px; border-radius: 28px; background: linear-gradient(135deg, #f6f8fa, #edf2f6); border: 1px solid var(--line); box-shadow: var(--shadow-soft);
}
.logo-card-dark {
  background: linear-gradient(135deg, #10233a, #173256); border-radius: 24px; padding: 30px; min-height: 260px; display: grid; place-items: center;
}
.logo-card-dark img { max-width: 88%; }
.contact-section { background: #0c1d31; color: #fff; }
.contact-grid-main { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; }
.contact-heading > p:not(.section-kicker) { color: #afc0d0; max-width: 410px; line-height: 1.85; margin: 25px 0 45px; }
.contact-detail { border-top: 1px solid rgba(113,131,155,.38); padding: 19px 0; display: flex; flex-direction: column; gap: 6px; }
.contact-detail span { font-size: .64rem; letter-spacing: .2em; color: #bb9a64; font-weight: 800; }
.contact-detail a, .contact-detail strong { color: #e1eaf1; font-size: .95rem; font-weight: 500; overflow-wrap: anywhere; }
.form-panel {
  background: #fff; color: var(--ink); padding: 36px 40px; border-radius: 28px; box-shadow: var(--shadow-strong);
}
.form-panel h3 { font-size: 1.65rem; margin-bottom: 9px; }
.form-panel > p { font-size: .85rem; color: #738193; margin-bottom: 25px; }
.form-panel form { display: flex; flex-direction: column; }
.form-panel label { font-size: .77rem; font-weight: 800; color: #344458; margin: 13px 0 6px; }
.form-panel label span { color: #aa854d; }
.form-panel input, .form-panel textarea {
  width: 100%; padding: 12px 13px; background: #f7f8fa; border: 1px solid #dee3e8; color: #1b2d41; font-size: .89rem; border-radius: 14px;
}
.form-panel textarea { resize: vertical; min-height: 118px; }
.form-panel input:focus, .form-panel textarea:focus { outline: 2px solid #b79763; outline-offset: 0; background: #fff; }
.form-split { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.form-split > div { display: flex; flex-direction: column; }
.form-submit { margin-top: 23px; width: 100%; }
.form-note { font-size: .72rem !important; margin: 12px 0 0 !important; color: #8793a1 !important; }
.text-link { display: inline-block; font-size: .83rem; font-weight: 800; margin-top: 13px; border-bottom: 1px solid var(--gold); padding-bottom: 8px; }
.text-link:hover { color: #a77f40; }
.site-footer { background: #081321; color: #c3cbd4; padding: 54px 0 20px; }
.footer-main { display: flex; justify-content: space-between; align-items: start; gap: 30px; padding-bottom: 55px; }
.footer-main p { color: #93a4b5; margin: 22px 0 0; font-size: .9rem; }
.footer-links { display: flex; gap: 14px; flex-wrap: wrap; font-size: .78rem; font-weight: 700; }
.footer-links a { padding: 10px 14px; background: rgba(255,255,255,.05); border: 1px solid rgba(145,163,181,.16); border-radius: 14px; }
.footer-bottom { border-top: 1px solid rgba(114,133,154,.25); padding-top: 18px; display: flex; justify-content: space-between; gap: 25px; color: #8194a8; font-size: .73rem; }
.footer-bottom a { text-decoration: underline; text-underline-offset: 3px; }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
@keyframes floatyPanel { 0%,100% { transform: translateY(0) rotate(-7deg); } 50% { transform: translateY(-10px) rotate(-7deg);} }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(199,164,103,.26);} 70% { box-shadow: 0 0 0 12px rgba(199,164,103,0);} 100% { box-shadow: 0 0 0 0 rgba(199,164,103,0);} }
@keyframes drift { 0%,100% { transform: translateY(0) translateX(0);} 50% { transform: translateY(-18px) translateX(8px);} }
@media (max-width: 1180px) {
  .quick-links-grid { grid-template-columns: repeat(3,1fr); }
  .metric-strip, .panel-grid, .service-grid, .value-grid, .contact-grid-cards, .faq-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 1060px) {
  .container { width: min(var(--container), calc(100% - 44px)); }
  .brand-text strong { font-size: 1.38rem; }
  .hero-layout { grid-template-columns: 1.1fr .9fr; }
  .intro-grid, .two-col, .contact-grid-main, .industry-grid, .logo-showcase { gap: 48px; }
  .float-label { right: 0; }
}
@media (max-width: 860px) {
  .topline-right { display: none; }
  .topline { justify-content: center; text-align: center; }
  .nav-wrap { min-height: 80px; }
  .menu-toggle { display: flex; flex-direction: column; justify-content: center; gap: 5px; border: 0; background: transparent; padding: 14px; cursor: pointer; }
  .menu-toggle span { width: 24px; height: 2px; background: var(--navy); display: block; }
  .nav {
    display: none; position: absolute; left: 0; right: 0; top: 80px; background: white; padding: 22px; box-shadow: 0 18px 35px rgba(11,24,43,.12);
    flex-direction: column; align-items: stretch; gap: 12px;
  }
  .nav.is-open { display: flex; }
  .nav-chip { justify-content: space-between; border-radius: 14px; }
  .hero-layout { grid-template-columns: 1fr; min-height: unset; }
  .hero-copy { padding: 76px 0 40px; }
  .hero-visual { min-height: 420px; margin: -10px 0 30px; }
  .visual-panel { width: 265px; }
  .brand-card { left: 0; bottom: 55px; width: min(280px,70%); }
  .float-label { right: 8%; bottom: 22px; }
  .hero-bottomline .container span:nth-child(2) { display: none; }
  .section { padding: 78px 0; }
  .page-hero .inner { padding: 88px 0 70px; }
  .quick-links-floating { margin-top: -24px; }
  .quick-links-grid, .capability-grid, .steps, .service-grid, .value-grid, .contact-grid-cards, .faq-grid { grid-template-columns: repeat(2,1fr); }
  .intro-grid, .two-col, .contact-grid-main, .industry-grid, .logo-showcase { grid-template-columns: 1fr; gap: 34px; }
  .section-head { flex-direction: column; align-items: start; gap: 18px; }
  .metric-strip { grid-template-columns: repeat(2,1fr); }
  .footer-main { flex-direction: column; gap: 35px; }
}
@media (max-width: 560px) {
  .container { width: calc(100% - 36px); }
  h1 { font-size: clamp(2.5rem, 11vw, 4rem); }
  .hero-lede { font-size: .96rem; }
  .hero-actions, .page-hero-actions { gap: 10px; }
  .hero-actions .button, .page-hero-actions .button { width: 100%; }
  .hero-proof { font-size: .58rem; gap: 10px; }
  .hero-visual { min-height: 350px; }
  .visual-panel { width: 218px; }
  .brand-card { right: 8px; left: auto; width: min(220px,67%); padding: 14px; }
  .brand-card p { font-size: .73rem; }
  .float-label { font-size: .53rem; right: 0; }
  .quick-links-grid, .capability-grid, .steps, .panel-grid, .metric-strip, .service-grid, .value-grid, .contact-grid-cards, .faq-grid { grid-template-columns: 1fr; }
  .capability-card { min-height: 265px; }
  .form-panel { padding: 25px 20px; }
  .form-split { grid-template-columns: 1fr; gap: 0; }
  .footer-links { gap: 10px; }
  .footer-bottom { flex-direction: column; gap: 6px; }
  .brand-text strong { font-size: 1.28rem; }
  .brand-text small { font-size: .47rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Official owner-provided Valor logo: intentionally use the exact supplied artwork. */
.official-logo-link { display:inline-flex; flex:0 1 auto; min-width:0; align-items:center; }
.official-logo { display:block; width:clamp(205px,24vw,335px); height:auto; aspect-ratio:1206 / 416; object-fit:contain; }
.nav-wrap { gap:18px; }
.nav { flex-wrap:nowrap; gap:8px; }
.nav-chip { padding:11px 13px; font-size:.75rem; white-space:nowrap; }
.footer-logo-link { background:#fff; border-radius:10px; padding:10px 14px; }
.footer-logo-link .official-logo { width:min(310px,75vw); }
.visual-panel .hero-logo-frame { position:relative; z-index:2; width:87%; padding:13px; background:#fff; border-radius:8px; box-shadow:0 15px 35px rgba(0,0,0,.2); }
.visual-panel .hero-logo-frame img { display:block; width:100%; height:auto; filter:none; }
.brand-card-header .brand-card-logo { width:100%; height:auto; background:#fff; border-radius:5px; padding:7px; }
.logo-card-dark img { background:#fff; padding:16px; border-radius:10px; max-width:95%; }
@media(max-width:1180px) and (min-width:861px) {
  .official-logo { width:clamp(190px,22vw,290px); }
  .nav { gap:6px; }
  .nav-chip { padding:10px 10px; font-size:.7rem; }
}
@media(max-width:860px){ .official-logo { width:clamp(195px,55vw,295px); } .nav { flex-wrap:wrap; } }
@media(max-width:560px){ .official-logo { width:min(245px,60vw); } .footer-logo-link .official-logo{width:min(280px,72vw);} }
