/*
Theme Name: HyperRankSEO Custom
Theme URI: https://hyperrankseo.us/
Author: HyperRankSEO
Description: Custom conversion-focused WordPress theme for HyperRankSEO.
Version: 1.5.0
Text Domain: hyperrankseo
*/

:root {
  --navy: #071a3a;
  --navy-2: #04152f;
  --navy-3: #0a234d;
  --lime: #79d323;
  --lime-dark: #58ad0c;
  --ink: #0c1b38;
  --muted: #65728a;
  --soft: #f6f8fb;
  --line: #e2e7ef;
  --white: #ffffff;
  --blue: #4382ee;
  --purple: #7a63d8;
  --shadow: 0 14px 36px rgba(14, 35, 68, 0.09);
  --radius: 14px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: 'Manrope', Arial, sans-serif; font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input { font: inherit; }
.container { width: min(var(--container), calc(100% - 48px)); margin: 0 auto; }
.section { padding: 88px 0; }
.eyebrow { margin: 0 0 10px; color: var(--lime-dark); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow.light { color: #91e342; }
h1,h2,h3,h4,p { margin-top: 0; }
h1 { margin-bottom: 22px; font-size: clamp(42px, 5vw, 66px); line-height: 1.08; letter-spacing: -.045em; }
h2 { margin-bottom: 16px; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.16; letter-spacing: -.035em; }
h3 { line-height: 1.3; }
.section-heading { max-width: 770px; margin-bottom: 42px; }
.section-heading.centered { margin-left: auto; margin-right: auto; text-align: center; }
.section-heading p:last-child { color: var(--muted); }

.topbar { background: #061934; color: #f5f8fc; font-size: 13px; }
.topbar-inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topbar-right { display: flex; align-items: center; gap: 22px; }
.topbar-right a, .topbar-right span { opacity: .92; }
.topbar i { margin-right: 6px; color: #8bd832; }
.site-header { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(12,27,56,.07); backdrop-filter: blur(12px); }
.header-inner { min-height: 76px; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 8px; min-width: 205px; color: var(--ink); font-size: 22px; font-weight: 800; letter-spacing: -.04em; }
.brand-mark { width: 30px; height: 30px; color: var(--lime); fill: var(--lime); }
.brand-accent { color: var(--lime-dark); }
.desktop-nav { margin-left: auto; display: flex; align-items: center; gap: 28px; font-size: 14px; font-weight: 700; }
.desktop-nav a { transition: color .2s ease; }
.desktop-nav a:hover { color: var(--lime-dark); }
.desktop-nav i { margin-left: 4px; font-size: 10px; }
.btn { min-height: 48px; padding: 0 22px; border: 1px solid transparent; border-radius: 7px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; font-weight: 800; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #0c2137; background: linear-gradient(135deg,#8cdf2f,#71c817); box-shadow: 0 10px 20px rgba(112, 201, 24,.2); }
.btn-primary:hover { box-shadow: 0 14px 26px rgba(112, 201, 24,.28); }
.btn-outline-light { color: var(--white); border-color: rgba(255,255,255,.65); background: rgba(255,255,255,.02); }
.header-cta { min-width: 168px; }
.menu-btn { display: none; border: 0; background: none; font-size: 30px; color: var(--ink); }

.hero { position: relative; overflow: hidden; padding: 76px 0 82px; color: var(--white); background: linear-gradient(125deg,#071d42 0%,#041733 58%,#08234d 100%); }
.hero:before { content: ''; position: absolute; inset: 0; opacity: .15; background-image: radial-gradient(circle at 25% 15%,#fff 0 1px,transparent 1px), radial-gradient(circle at 70% 70%,#fff 0 1px,transparent 1px); background-size: 58px 58px, 74px 74px; }
.hero-glow { position: absolute; border-radius: 999px; filter: blur(12px); opacity: .22; }
.hero-glow-1 { width: 520px; height: 520px; background: #123f78; left: -220px; top: -160px; }
.hero-glow-2 { width: 420px; height: 420px; background: #0c4276; right: -190px; bottom: -220px; }
.hero-grid { position: relative; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 72px; }
.hero-copy { max-width: 570px; }
.hero-lead { max-width: 530px; margin-bottom: 30px; color: #d6deea; font-size: 14px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 40px; }
.hero-proof { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.proof-item { display: grid; grid-template-columns: 30px 1fr; grid-template-rows: auto auto; align-items: center; }
.proof-icon { grid-row: 1/3; width: 26px; height: 26px; display: grid; place-items: center; color: #8ddd34; font-size: 19px; }
.proof-item strong { font-size: 16px; line-height: 1.2; }
.proof-item small { color: #d8e0ec; font-size: 12px; }

.performance-card { padding: 20px; color: var(--ink); background: #fff; border-radius: 12px; box-shadow: 0 25px 65px rgba(0,0,0,.18); }
.performance-head { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin-bottom: 15px; }
.performance-head h3 { margin: 0; font-size: 15px; }
.performance-head span { padding: 7px 9px; color: var(--muted); border: 1px solid var(--line); border-radius: 6px; font-size: 11px; }
.metric-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 16px; }
.metric { min-width: 0; padding: 11px 10px; border: 1px solid var(--line); border-radius: 8px; background: #fbfcfe; }
.metric small, .metric strong, .metric em { display: block; }
.metric small { min-height: 30px; color: #738097; font-size: 11px; line-height: 1.35; }
.metric strong { font-size: 21px; }
.metric em { color: #64b90f; font-size: 11px; font-style: normal; font-weight: 800; }
.chart-layout { display: grid; grid-template-columns: 1.65fr .68fr; gap: 12px; }
.line-chart { position: relative; min-height: 250px; padding: 5px 0 0 34px; }
.line-chart svg { width: 100%; height: 184px; overflow: visible; }
.grid-lines line { stroke: #e8edf4; stroke-width: 1; }
.area { fill: url(#greenArea); }
.line { fill: none; stroke-width: 3; stroke-linecap: round; }
.line.green { stroke: #71c71f; }
.line.blue { stroke: #4382ee; }
.chart-axis.y { position: absolute; left: 0; top: 18px; bottom: 53px; display: flex; flex-direction: column; justify-content: space-between; color: #77859c; font-size: 10px; }
.months { display: flex; justify-content: space-between; padding: 0 8px; color: #77859c; font-size: 10px; }
.chart-legend { display: flex; gap: 18px; justify-content: center; margin-top: 10px; font-size: 11px; color: #647189; }
.dot { display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 50%; }
.blue-dot { background: var(--blue); } .green-dot { background: #71c71f; } .purple-dot { background: var(--purple); } .gray-dot { background: #b5c0cf; }
.channel-card { padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.channel-card h4 { font-size: 13px; }
.donut { width: 92px; height: 92px; margin: 6px auto 13px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(#4382ee 0 68%,#71c71f 68% 84%,#7864d7 84% 93%,#d8dee8 93% 100%); }
.donut:before { content: ''; position: absolute; width: 65px; height: 65px; border-radius: 50%; background: white; }
.donut div { position: relative; z-index: 2; text-align: center; line-height: 1.1; }
.donut strong { display: block; font-size: 16px; }
.donut small { font-size: 9px; }
.channel-card ul { margin: 0; padding: 0; list-style: none; font-size: 11px; }
.channel-card li { display: flex; justify-content: space-between; margin-top: 5px; }

.trust-strip { padding: 25px 0; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 10px 28px rgba(14,36,69,.04); }
.trust-grid { display: grid; grid-template-columns: 1.4fr repeat(6,1fr); gap: 28px; align-items: center; text-align: center; }
.trust-intro { text-align: left; color: #5f6b80; font-size: 13px; font-weight: 700; }
.partner { color: #212b3d; font-size: 21px; font-weight: 800; line-height: 1.05; }
.partner small { display: block; margin-top: 5px; color: #778399; font-size: 10px; font-weight: 600; }
.partner.google span { color: #4285f4; } .partner.ms span { font-size: 15px; } .partner.fb strong { color: #2578d8; } .partner.tp strong { color: #169c61; font-size: 15px; }

.problem-section { background: linear-gradient(180deg,#fff 0,#fbfcfe 100%); }
.problem-grid { display: grid; grid-template-columns: 1.08fr .95fr .62fr; gap: 30px; align-items: stretch; }
.problem-copy p:not(.eyebrow) { color: #4f5d74; }
.search-demo, .journey-card { padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.search-demo h4, .journey-card h4 { margin-bottom: 14px; }
.search-box { padding: 12px 14px; margin-bottom: 10px; color: #46546a; border: 1px solid var(--line); border-radius: 7px; background: #fbfcfe; font-size: 13px; }
.search-box i { margin-right: 7px; }
.serp-card { display: flex; gap: 10px; padding: 12px; margin-top: 9px; border: 1px solid var(--line); border-radius: 8px; }
.serp-card .avatar { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #eff5ff; font-size: 12px; }
.serp-card div { flex: 1; min-width: 0; }
.serp-card small, .serp-card strong, .serp-card p { display: block; }
.serp-card small { color: #3172df; font-size: 11px; font-weight: 800; }
.serp-card strong { font-size: 13px; }
.serp-card p { margin: 4px 0; color: #768197; font-size: 11px; line-height: 1.45; }
.stars { color: #ffb21c; font-size: 11px; letter-spacing: 1px; }.reviews { color: #99a3b2; font-size: 10px; }
.competitor { align-items: center; }
.competitor strong { color: #4c77c9; }
.fake-line { display: block; width: 80%; height: 4px; margin-top: 7px; border-radius: 3px; background: #d7dce4; }.fake-line.short { width: 62%; }
.journey-card { position: relative; }
.journey-card:before { content: ''; position: absolute; left: 37px; top: 67px; bottom: 36px; border-left: 1px dashed #99cd68; }
.journey-item { position: relative; z-index: 2; display: flex; gap: 12px; align-items: center; margin: 17px 0; }
.journey-item > span { width: 29px; height: 29px; display: grid; place-items: center; color: #568f19; border: 4px solid #edf7e4; border-radius: 50%; background: #dff1c7; font-size: 10px; }
.journey-item b,.journey-item small { display: block; }.journey-item b { font-size: 13px; }.journey-item small { color: #7b8798; font-size: 11px; line-height: 1.45; }

.services { padding-top: 72px; }
.services-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.service-card { padding: 28px 24px; border: 1px solid var(--line); border-radius: 10px; background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.service-card:hover { transform: translateY(-4px); border-color: #cfe8b6; box-shadow: var(--shadow); }
.service-icon { width: 38px; height: 38px; display: grid; place-items: center; margin-bottom: 15px; color: #60b513; border-radius: 50%; background: #edf8df; font-size: 18px; }
.service-card h3 { margin-bottom: 9px; font-size: 17px; }
.service-card p { min-height: 118px; margin-bottom: 12px; color: #647188; font-size: 14px; line-height: 1.7; }
.service-card a { color: #61b716; font-size: 13px; font-weight: 800; }

.audit-section { padding: 10px 0 66px; }
.audit-card { min-height: 86px; padding: 18px 25px; display: flex; gap: 35px; align-items: center; justify-content: space-between; color: #fff; border-radius: 9px; background: linear-gradient(120deg,#08234c,#061836); box-shadow: var(--shadow); }
.audit-title { display: flex; align-items: center; gap: 14px; min-width: 380px; }
.audit-title strong, .audit-title small { display: block; }.audit-title strong { font-size: 21px; }.audit-title small { color: #cfdaea; font-size: 13px; }
.audit-icon { width: 48px; height: 48px; display: grid; place-items: center; color: #91e43f; font-size: 29px; }
.audit-form { flex: 1; display: flex; gap: 8px; }
.audit-form input { flex: 1; min-width: 0; height: 48px; padding: 0 16px; border: 1px solid #d9e0e9; border-radius: 6px; outline: none; }

.process-section { padding-top: 50px; }
.process-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 24px; }
.process-step { position: relative; text-align: center; }
.process-step:not(:last-child):after { content: '→'; position: absolute; right: -18px; top: 37px; color: #8dcf55; font-size: 22px; }
.step-num { position: absolute; left: 0; top: 47px; width: 22px; height: 22px; display: grid; place-items: center; color: #fff; border-radius: 50%; background: #75c925; font-size: 10px; font-weight: 800; }
.step-icon { width: 58px; height: 58px; margin: 0 auto 14px; display: grid; place-items: center; color: #17345e; font-size: 31px; }
.process-step h3 { margin-bottom: 8px; font-size: 15px; }.process-step p { color: #69758a; font-size: 13px; line-height: 1.6; }

.cases { padding-top: 62px; background: #fbfcfe; }
.case-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.case-card { overflow: hidden; display: grid; grid-template-columns: 150px 1fr; min-height: 280px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.case-card img { width: 100%; height: 100%; object-fit: cover; }
.case-content { padding: 23px 21px; }
.case-content small { display: block; margin-bottom: 9px; color: #5d6a80; font-size: 12px; font-weight: 800; }
.case-content strong { display: block; color: #182742; font-size: 14px; margin-bottom: 4px; line-height: 1; }
.case-content p { margin: 14px 0; color: #69758a; font-size: 13px; line-height: 1.6; }
.case-content a { color: #62b718; font-size: 12px; font-weight: 800; }

.why-section { padding: 86px 0; }
.why-grid { display: grid; grid-template-columns: .95fr 1.2fr .42fr; gap: 30px; align-items: center; }
.team-visual img { width: 100%; height: 255px; object-fit: cover; border-radius: 11px; }
.why-copy p { color: #647188; }.why-copy h2 { font-size: 32px; }
.check-list { margin: 18px 0 0; padding: 0; list-style: none; }
.check-list li { margin: 0px 0; color: #48566c; font-size: 14px; }
.check-list i { margin-right: 8px; color: #67bd19; }
.why-stats { padding: 25px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: var(--shadow); }
.why-stats div + div { margin-top: 30px; }
.why-stats strong { display: block; color: #6abd1d; font-size: 34px; line-height: 1; }.why-stats span { color: #617086; font-size: 13px; }

.ai-section { padding: 78px 0; background: #fbfcfe; }
.ai-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 46px; align-items: center; }
.ai-copy p { color: #65728a; }.ai-copy > a { color: #61b716; font-size: 13px; font-weight: 800; }
.check-list.compact li { font-size: 14px; }
.search-ecosystem { position: relative; min-height: 280px; display: grid; grid-template-columns: 1fr .58fr 1fr; gap: 20px; align-items: center; }
.search-column { position: relative; z-index: 2; min-height: 230px; padding: 23px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.search-column h3 { color: #5276bb; font-size: 15px; }.search-column.ai-powered h3 { color: #58a820; }
.search-column span { display: block; margin: 17px 0; color: #49566c; font-size: 13px; }.search-column span i { width: 23px; margin-right: 8px; color: #2f78dc; }
.business-core { position: relative; z-index: 3; width: 105px; height: 105px; display: grid; place-items: center; justify-self: center; color: #fff; border-radius: 50%; text-align: center; font-weight: 800; background: #071d46; box-shadow: 0 0 0 10px #eef5fb; }
.search-ecosystem:before,.search-ecosystem:after { content: ''; position: absolute; top: 50%; width: 31%; border-top: 1px dashed #70b72d; }.search-ecosystem:before { left: 27%; }.search-ecosystem:after { right: 27%; }

.supporting-section { padding-top: 68px; }
.supporting-grid { display: grid; grid-template-columns: 1fr 1.12fr; gap: 20px; }
.support-panel { padding: 30px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.support-panel h2 { margin-bottom: 22px; text-align: center; font-size: 21px; }
.mini-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 13px; }
.mini-grid div { min-height: 92px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; text-align: center; color: #516078; font-size: 12px; line-height: 1.35; }
.mini-grid i { color: #2f72c8; font-size: 23px; }.industries-grid { grid-template-columns: repeat(5,1fr); }

.faq-section { padding-top: 62px; }
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
details { margin-bottom: 9px; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
summary { position: relative; padding: 16px 46px 16px 18px; list-style: none; cursor: pointer; font-size: 14px; font-weight: 700; }
summary::-webkit-details-marker { display: none; }
summary:after { content: '+'; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: #55708c; font-size: 16px; }
details[open] summary:after { content: '−'; }
details p { padding: 0 18px 18px; margin: 0; color: #68758a; font-size: 14px; line-height: 1.7; }

.bottom-cta { padding: 0 0 24px; }
.bottom-cta-inner { min-height: 118px; padding: 28px 38px; display: flex; align-items: center; justify-content: space-between; gap: 25px; color: #fff; border-radius: 10px; background: linear-gradient(120deg,#09244e,#061834); overflow: hidden; position: relative; }
.bottom-cta-inner:after { content: ''; position: absolute; right: 0; bottom: -30px; width: 330px; height: 110px; opacity: .22; background: linear-gradient(135deg,transparent 40%,#2872a4 40% 41%,transparent 41% 58%,#68be1e 58% 59%,transparent 59%); }
.bottom-cta h2 { margin-bottom: 5px; font-size: 25px; }.bottom-cta p { margin-bottom: 0; color: #cfdaea; font-size: 14px; }
.bottom-actions { position: relative; z-index: 2; display: flex; gap: 10px; }

.footer { color: #d7e0ec; background: linear-gradient(135deg,#061a39,#04152f); }
.footer-grid { padding: 66px 0 54px; display: grid; grid-template-columns: 1.55fr repeat(3,1fr); gap: 44px 38px; }
.footer-brand { color: #fff; margin-bottom: 18px; }
.footer-brand-col p { max-width: 320px; color: #aeb9c9; font-size: 13px; line-height: 1.75; }
.footer h3 { margin-bottom: 17px; color: #fff; font-size: 15px; }
.footer-grid > div > a,.footer-grid > div > span { display: block; margin: 9px 0; color: #b7c2d1; font-size: 13px; line-height: 1.5; }.footer-grid > div > span i { margin-right: 7px; color: #75c92a; }

.footer-grid > div > a { transition: color .2s ease, transform .2s ease; }
.footer-grid > div > a:hover { color: #ffffff; transform: translateX(2px); }

.socials { display: flex; gap: 8px; margin-top: 16px; }.socials a { width: 29px; height: 29px; display: grid; place-items: center; color: #fff; border-radius: 50%; background: rgba(255,255,255,.1); }
.footer-bottom { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #8190a5; border-top: 1px solid rgba(255,255,255,.08); font-size: 12px; }.footer-bottom div { display: flex; gap: 20px; }

@media (max-width: 1100px) {
  .desktop-nav { gap: 16px; }
  .header-cta { display: none; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { max-width: 760px; }
  .performance-card { max-width: 800px; }
  .trust-grid { grid-template-columns: repeat(3,1fr); }
  .trust-intro { grid-column: 1/-1; text-align: center; }
  .problem-grid { grid-template-columns: 1fr 1fr; }.problem-copy { grid-column: 1/-1; max-width: 780px; }
  .services-grid { grid-template-columns: repeat(2,1fr); }
  .process-grid { grid-template-columns: repeat(3,1fr); row-gap: 40px; }.process-step:nth-child(3):after { display:none; }
  .case-grid { grid-template-columns: 1fr; }.case-card { grid-template-columns: 180px 1fr; }
  .why-grid { grid-template-columns: .9fr 1.1fr; }.why-stats { grid-column: 1/-1; display: flex; justify-content: center; gap: 80px; }.why-stats div + div { margin: 0; }
  .ai-grid { grid-template-columns: 1fr; }
  .supporting-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1.45fr repeat(2,1fr); gap: 36px 30px; }.footer-grid > div:nth-child(n+5) { margin-top: 0; }
}

@media (max-width: 760px) {
  .container { width: min(100% - 32px, var(--container)); }
  .section { padding: 64px 0; }
  .topbar-right { display: none; }
  .topbar-inner { justify-content: center; }
  .desktop-nav,.header-cta { display: none; }.menu-btn { display: block; margin-left: auto; }
  .site-header .brand { min-width: auto; }
  .hero { padding: 56px 0 60px; }.hero-grid { gap: 42px; }.hero-lead { font-size: 16px; }
  .hero-proof { grid-template-columns: repeat(2,1fr); }
  .metric-row { grid-template-columns: repeat(2,1fr); }.chart-layout { grid-template-columns: 1fr; }.channel-card { max-width: 320px; }
  .trust-grid { grid-template-columns: repeat(2,1fr); }.partner { font-size: 17px; }
  .problem-grid { grid-template-columns: 1fr; }.problem-copy { grid-column:auto; }.journey-card { min-height: 300px; }
  .services-grid { grid-template-columns: 1fr; }.service-card p { min-height: 0; }
  .audit-card { align-items: flex-start; flex-direction: column; }.audit-title { min-width: 0; }.audit-form { width: 100%; flex-direction: column; }.audit-form .btn { width: 100%; }
  .process-grid { grid-template-columns: 1fr; }.process-step:not(:last-child):after { content:'↓'; top:auto; right:50%; bottom:-28px; }.step-num { left: calc(50% - 50px); }
  .case-card { grid-template-columns: 1fr; }.case-card img { height: 190px; }.why-grid { grid-template-columns: 1fr; }.why-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.team-visual img { height: 230px; }
  .search-ecosystem { grid-template-columns: 1fr; }.business-core { order: -1; }.search-ecosystem:before,.search-ecosystem:after { display:none; }
  .mini-grid,.industries-grid { grid-template-columns: repeat(2,1fr); }
  .faq-grid { grid-template-columns: 1fr; }
  .bottom-cta-inner { align-items: flex-start; flex-direction: column; }.bottom-actions { width: 100%; flex-direction: column; }.bottom-actions .btn { width: 100%; }
  .footer-grid { grid-template-columns: 1fr 1fr; }.footer-brand-col { grid-column: 1/-1; }.footer-bottom { align-items:flex-start; flex-direction:column; padding: 18px 0; }
}

@media (max-width: 430px) {
  h1 { font-size: 39px; }
  .brand { font-size: 19px; }
  .brand-mark { width: 27px; height: 27px; }
  .performance-card { padding: 14px; }.metric strong { font-size: 17px; }
  .line-chart { padding-left: 28px; }.channel-card { max-width:none; }
  .hero-actions,.hero-actions .btn { width: 100%; }
  .why-stats { grid-template-columns: 1fr; }.why-stats div + div { margin-top: 0; }
  .footer-grid { grid-template-columns: 1fr; }.footer-brand-col { grid-column:auto; }
}

/* =========================================================
   Layout restoration and typography refinement
   Restores the cleaner pre-typography layout while keeping
   readable text sizes across cards, navigation and footer.
   ========================================================= */

/* Keep typography readable without expanding every component */
body { font-size: 15px; line-height: 1.65; }
.section-heading p:last-child { font-size: 15px; line-height: 1.3; }
.problem-copy p:not(.eyebrow), .why-copy > p:not(.eyebrow), .ai-copy > p:not(.eyebrow) { font-size: 15px; line-height: 1.3; }
.service-card { padding: 24px 22px; }
.service-card p { min-height: 96px; font-size: 13.5px; line-height: 1.62; }
.service-card h3 { font-size: 16px; }
.service-card a { font-size: 12.5px; }
.process-step p { font-size: 12.75px; line-height: 1.58; }
.case-content p { font-size: 12.75px; line-height: 1.58; }
.check-list li { font-size: 13.5px; }
summary { font-size: 13.5px; }
details p { font-size: 13.5px; line-height: 1.65; }

/* Services mega menu */
.nav-dropdown { position: relative; }
.nav-dropdown-trigger {
  appearance: none;
  border: 0;
  padding: 10px 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: inherit;
  background: transparent;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: color .2s ease;
}
.nav-dropdown-trigger:hover,
.nav-dropdown-trigger[aria-expanded="true"] { color: var(--lime-dark); }
.nav-dropdown-trigger i {
  margin-left: 2px;
  font-size: 10px;
  transition: transform .2s ease;
}
.nav-dropdown-trigger[aria-expanded="true"] i { transform: rotate(180deg); }
.services-mega {
  position: absolute;
  top: calc(100% + 18px);
  left: 50%;
  width: min(940px, calc(100vw - 48px));
  padding: 22px;
  display: grid;
  grid-template-columns: 1.15fr 1fr .9fr .9fr;
  gap: 14px;
  visibility: hidden;
  opacity: 0;
  transform: translate(-50%, 10px);
  pointer-events: none;
  border: 1px solid #e7edf4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(7, 26, 58, .16);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.services-mega:before {
  content: '';
  position: absolute;
  top: -19px;
  left: 0;
  right: 0;
  height: 19px;
}
.nav-dropdown:hover .services-mega,
.nav-dropdown:focus-within .services-mega,
.nav-dropdown.is-open .services-mega {
  visibility: visible;
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}
.mega-intro {
  padding: 22px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg, #071d42 0%, #0a2a58 100%);
}
.mega-kicker {
  display: block;
  margin-bottom: 12px;
  color: #9be343;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.mega-intro > strong {
  display: block;
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 1.4;
}
.mega-intro p {
  margin: 0 0 18px;
  color: #cbd7e7;
  font-size: 12px;
  line-height: 1.62;
}
.mega-overview {
  display: inline-flex !important;
  min-height: auto !important;
  padding: 0 !important;
  gap: 7px;
  color: #a3e94e !important;
  background: transparent !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
.mega-overview:hover { color: #fff !important; }
.mega-column { min-width: 0; padding: 8px 3px; }
.mega-label {
  display: block;
  margin: 2px 8px 9px;
  color: #62728a;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.services-mega .mega-column > a {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  min-height: 52px;
  padding: 7px 8px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: #26364f;
  font-size: 12px;
  font-weight: 700;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}
.services-mega .mega-column > a > i {
  width: 32px;
  height: 32px;
  margin: 0;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #5da611;
  background: #f0f8e7;
  font-size: 14px;
}
.services-mega .mega-column > a span { min-width: 0; }
.services-mega .mega-column > a strong {
  display: block;
  color: #152640;
  font-size: 12.25px;
  line-height: 1.25;
}
.services-mega .mega-column > a small {
  display: block;
  margin-top: 2px;
  overflow: hidden;
  color: #7c899d;
  font-size: 10.25px;
  font-weight: 500;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.services-mega .mega-column > a:hover,
.services-mega .mega-column > a:focus-visible {
  color: var(--navy);
  border-color: #e8eef5;
  background: #f7f9fc;
  transform: translateY(-1px);
}
.services-mega .mega-column > a:hover > i,
.services-mega .mega-column > a:focus-visible > i { background: #e7f5d7; }

/* Beyond SEO section */
.growth-services-section {
  padding: 84px 0 90px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border-top: 1px solid #edf1f6;
}
.growth-services-section .section-heading { margin-bottom: 36px; }
.growth-services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.growth-service-card {
  min-width: 0;
  padding: 25px 23px 23px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 9px 26px rgba(15, 38, 72, .045);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.growth-service-card:hover {
  transform: translateY(-3px);
  border-color: #cde6b6;
  box-shadow: 0 16px 34px rgba(15, 38, 72, .08);
}
.growth-service-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  margin-bottom: 15px;
  color: #2e67af;
  border-radius: 10px;
  background: #f0f5fb;
  font-size: 19px;
}
.growth-service-card:nth-child(2n) .growth-service-icon { color: #58a914; background: #f0f8e8; }
.growth-service-card h3 { margin-bottom: 9px; font-size: 16px; }
.growth-service-card p {
  min-height: 132px;
  margin-bottom: 14px;
  color: #647188;
  font-size: 13.5px;
  line-height: 1.3;
}
.growth-service-card a {
  color: #5cae14;
  font-size: 12.5px;
  font-weight: 800;
}

/* Industries remains a distinct, lighter follow-up section */
.industries-section { padding: 72px 0 82px; background: #fff; }
.compact-heading { margin-bottom: 28px; }
.industries-panel { padding: 25px 28px; box-shadow: none; }
.industries-panel .mini-grid div { min-height: 84px; font-size: 18px; font-weight: 600; }
.industries-panel .mini-grid i { font-size: 22px; }

/* Restore compact, single-band footer rather than the multi-row 4-column version */
.footer .container { width: min(1280px, calc(100% - 48px)); }
.footer-grid {
  padding: 56px 0 46px;
  display: grid;
  grid-template-columns: 1.55fr 1fr 1fr .85fr .9fr .9fr 1.25fr;
  gap: 25px;
  align-items: start;
}
.footer-brand-col p { max-width: 260px; font-size: 12.5px; line-height: 1.68; }
.footer h3 { margin-bottom: 14px; font-size: 13.5px; }
.footer-grid > div > a,
.footer-grid > div > span { margin: 7px 0; font-size: 14px; line-height: 1.45; }
.footer-grid > div > span { color: #b7c2d1; }
.footer-bottom { min-height: 60px; font-size: 11.5px; }
.socials a { width: 28px; height: 28px; }

@media (max-width: 1180px) {
  .services-mega { left: auto; right: -170px; transform: translateY(10px); }
  .nav-dropdown:hover .services-mega,
  .nav-dropdown:focus-within .services-mega,
  .nav-dropdown.is-open .services-mega { transform: translateY(0); }
  .footer-grid { grid-template-columns: 1.4fr repeat(3, 1fr); gap: 34px 28px; }
  .footer-brand-col { grid-row: span 2; }
}

@media (max-width: 1100px) {
  .growth-services-grid { grid-template-columns: repeat(2, 1fr); }
  .growth-service-card p { min-height: 92px; }
}

@media (max-width: 760px) {
  body { font-size: 15px; }
  .growth-services-section { padding: 64px 0; }
  .growth-services-grid { grid-template-columns: 1fr; }
  .growth-service-card p { min-height: 0; font-size: 14px; }
  .industries-section { padding: 58px 0 64px; }
  .footer .container { width: min(100% - 32px, 1280px); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 24px; padding: 48px 0 38px; }
  .footer-brand-col { grid-column: 1 / -1; grid-row: auto; }
  .footer-brand-col p { max-width: 500px; font-size: 13px; }
  .footer h3 { font-size: 14px; }
  .footer-grid > div > a,
  .footer-grid > div > span { font-size: 12.5px; }
}

@media (max-width: 430px) {
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand-col { grid-column: auto; }
}

/* WordPress integration */
.admin-bar .site-header { top: 32px; }
.custom-logo { display:block; width:auto; max-width:205px; max-height:42px; object-fit:contain; }
.content-page { padding: 80px 0; }
.content-page .entry-content { max-width: 820px; margin: 0 auto; }
.content-page .entry-title { margin-bottom: 24px; font-size: clamp(34px, 4vw, 54px); }

/* Larger footer logo requested, without changing the approved footer layout */
.footer .footer-brand { font-size: 27px; gap: 10px; min-width: 0; }
.footer .footer-brand .brand-mark { width: 40px; height: 40px; }
.footer .footer-brand .custom-logo { max-width: 250px; max-height: 52px; }

@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 760px) {
  .desktop-nav.is-open {
    position: absolute;
    top: 100%; left: 16px; right: 16px;
    z-index: 50;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(12,27,56,.16);
  }
  .desktop-nav.is-open > a,
  .desktop-nav.is-open .nav-dropdown-trigger { width: 100%; padding: 12px 10px; justify-content: space-between; text-align: left; }
  .desktop-nav.is-open .nav-dropdown { width: 100%; }
  .desktop-nav.is-open .services-mega {
    position: static;
    width: 100%;
    max-height: 0;
    margin: 0;
    padding: 0 8px;
    visibility: hidden;
    opacity: 0;
    overflow: hidden;
    transform: none;
    pointer-events: none;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transition: max-height .28s ease, opacity .2s ease, padding .28s ease;
  }
  .desktop-nav.is-open .nav-dropdown.is-open .services-mega {
    max-height: 1180px;
    padding: 8px;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
  .desktop-nav.is-open .services-mega:before { display: none; }
  .desktop-nav.is-open .mega-intro { margin-bottom: 10px; padding: 18px; }
  .desktop-nav.is-open .mega-column { padding: 10px 0 2px; border-top: 1px solid #edf1f6; }
  .desktop-nav.is-open .mega-label { margin-top: 2px; }
  .desktop-nav.is-open .services-mega .mega-column > a { min-height: 54px; }
  .desktop-nav.is-open .services-mega .mega-column > a small { white-space: normal; }
  .footer .footer-brand { font-size: 25px; }
  .footer .footer-brand .brand-mark { width: 36px; height: 36px; }
}
/* === HyperRankSEO Inner Service Pages === */
.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; }
.btn-dark { color:#fff; background:var(--navy); border-color:var(--navy); }
.btn-dark:hover { background:var(--navy-3); }
.text-link { display:inline-flex; align-items:center; gap:8px; color:var(--navy); font-weight:800; font-size:14px; }
.text-link i { color:var(--lime-dark); }
.service-hero { position:relative; overflow:hidden; padding:92px 0 88px; color:#fff; background:linear-gradient(135deg,#061a39 0%,#071f45 56%,#0b2b5c 100%); }
.service-hero:after { content:''; position:absolute; inset:auto -8% -42% 38%; height:360px; opacity:.16; background:repeating-linear-gradient(125deg,transparent 0 28px,rgba(121,211,35,.65) 29px 30px); transform:rotate(-5deg); }
.service-hero-orb { position:absolute; border-radius:50%; filter:blur(3px); pointer-events:none; }
.service-hero-orb.orb-one { width:420px; height:420px; right:-170px; top:-210px; background:radial-gradient(circle,rgba(121,211,35,.18),transparent 66%); }
.service-hero-orb.orb-two { width:520px; height:520px; left:30%; bottom:-430px; background:radial-gradient(circle,rgba(67,130,238,.22),transparent 64%); }
.service-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; }
.service-hero-copy h1 { max-width:780px; font-size:clamp(42px,4.6vw,64px); }
.service-hero-lead { max-width:720px; margin-bottom:30px; color:#c9d7e9; font-size:18px; line-height:1.72; }
.service-proof-row { margin-top:27px; display:flex; flex-wrap:wrap; gap:10px 22px; color:#b9c7da; font-size:13px; font-weight:700; }
.service-proof-row i { margin-right:6px; color:#8cdc38; }
.service-visual-card { position:relative; padding:24px; border:1px solid rgba(255,255,255,.16); border-radius:18px; background:linear-gradient(155deg,rgba(255,255,255,.12),rgba(255,255,255,.055)); box-shadow:0 30px 70px rgba(0,0,0,.22); backdrop-filter:blur(14px); }
.service-visual-head { padding-bottom:20px; display:flex; align-items:center; gap:12px; border-bottom:1px solid rgba(255,255,255,.12); }
.service-visual-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:12px; color:#061a39; background:var(--lime); font-size:21px; }
.service-visual-head div { min-width:0; display:flex; flex-direction:column; }
.service-visual-head small { color:#9fb0c8; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.service-visual-head strong { font-size:16px; }
.status-pill { margin-left:auto; padding:5px 9px; color:#a9ed63; border:1px solid rgba(137,220,56,.3); border-radius:20px; background:rgba(121,211,35,.09); font-size:11px; font-weight:800; }
.service-visual-track { padding:20px 0 10px; }
.service-track-item { padding:10px 0; display:grid; grid-template-columns:34px 1fr 22px; gap:10px; align-items:center; }
.track-num { color:#8194ad; font-size:11px; font-weight:800; }
.track-copy { min-width:0; display:flex; flex-direction:column; gap:7px; }
.track-copy strong { font-size:13px; }
.track-bar { height:5px; overflow:hidden; border-radius:10px; background:rgba(255,255,255,.09); }
.track-bar i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--lime),#a8ee64); }
.service-track-item > i { color:#8bd832; }
.service-visual-footer { padding-top:17px; display:flex; align-items:center; justify-content:center; gap:9px; color:#98a9c1; border-top:1px solid rgba(255,255,255,.1); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.service-visual-footer i { width:28px; height:1px; background:#536681; }
.service-outcome-strip { border-bottom:1px solid var(--line); background:#fff; }
.service-outcome-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.service-outcome-grid article { min-height:150px; padding:27px 24px; display:flex; gap:13px; border-right:1px solid var(--line); }
.service-outcome-grid article:last-child { border-right:0; }
.outcome-check { flex:0 0 29px; width:29px; height:29px; display:grid; place-items:center; color:#488e0c; border-radius:50%; background:#eaf7dd; }
.service-outcome-grid h3 { margin:2px 0 6px; font-size:15px; }
.service-outcome-grid p { margin:0; color:var(--muted); font-size:12.5px; line-height:1.62; }
.service-intro-section { background:#fff; }
.service-intro-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:start; }
.service-intro-heading { position:sticky; top:116px; }
.service-intro-heading h2 { max-width:500px; }
.service-intro-callout { margin-top:28px; padding:18px 20px; max-width:470px; display:flex; gap:13px; align-items:flex-start; color:#23415d; border:1px solid #dce8f2; border-radius:10px; background:#f7fbff; font-size:13px; font-weight:700; }
.service-intro-callout i { color:var(--lime-dark); font-size:20px; }
.service-intro-copy > p { margin-bottom:22px; color:#526078; font-size:16px; line-height:1.82; }
.service-principles { margin-top:34px; border-top:1px solid var(--line); }
.service-principles div { padding:16px 0; display:grid; grid-template-columns:48px 1fr; align-items:center; border-bottom:1px solid var(--line); }
.service-principles strong { color:var(--lime-dark); font-size:12px; }
.service-principles span { color:#263b54; font-size:14px; font-weight:800; }
.service-capabilities { background:var(--soft); }
.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.capability-card { position:relative; min-height:276px; padding:28px; overflow:hidden; border:1px solid #e0e6ee; border-radius:12px; background:#fff; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.capability-card:hover { transform:translateY(-3px); border-color:#cfe3bd; box-shadow:var(--shadow); }
.capability-index { position:absolute; right:20px; top:15px; color:#d8e0e9; font-size:28px; font-weight:800; letter-spacing:-.05em; }
.capability-icon { width:44px; height:44px; margin-bottom:22px; display:grid; place-items:center; color:#559f12; border-radius:10px; background:#eef9e4; font-size:19px; }
.capability-card h3 { margin-bottom:10px; font-size:17px; }
.capability-card p { margin:0; color:var(--muted); font-size:13.5px; line-height:1.72; }
.service-inline-cta { padding:34px 0; background:var(--soft); }
.service-inline-card { padding:36px 40px; display:grid; grid-template-columns:1fr .9fr; gap:45px; align-items:center; color:#fff; border-radius:16px; background:linear-gradient(125deg,#071c3f,#0a2d61); box-shadow:0 25px 55px rgba(7,26,58,.18); }
.service-inline-card h2 { margin-bottom:9px; font-size:30px; }
.service-inline-card p:last-child { max-width:620px; margin:0; color:#c6d4e6; font-size:14px; }
.service-inline-form { display:flex; gap:10px; }
.service-inline-form input { min-width:0; flex:1; height:50px; padding:0 16px; color:#10203b; border:1px solid rgba(255,255,255,.38); border-radius:7px; outline:0; background:#fff; }
.service-inline-form input:focus { box-shadow:0 0 0 3px rgba(121,211,35,.25); }
.service-process { background:#fff; }
.service-process-grid { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:0; }
.service-process-grid:before { content:''; position:absolute; left:8%; right:8%; top:45px; border-top:1px dashed #b6c3d2; }
.service-process-step { position:relative; padding:0 18px; text-align:center; }
.service-process-step > span { position:absolute; top:-4px; left:calc(50% + 24px); z-index:2; color:#7c8ba0; font-size:10px; font-weight:800; }
.process-icon { position:relative; z-index:1; width:70px; height:70px; margin:10px auto 20px; display:grid; place-items:center; color:#528f18; border:1px solid #d7e7ca; border-radius:50%; background:#f5fbef; box-shadow:0 0 0 9px #fff; font-size:22px; }
.service-process-step h3 { margin-bottom:8px; font-size:16px; }
.service-process-step p { margin:0; color:var(--muted); font-size:12.5px; line-height:1.65; }
.service-benefits-section { background:linear-gradient(180deg,#f8fafc,#fff); }
.service-benefits-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center; }
.service-benefits-copy p:not(.eyebrow) { color:var(--muted); font-size:15px; line-height:1.75; }
.benefit-card-grid { display:grid; gap:14px; }
.benefit-card-grid article { padding:24px 24px 22px 62px; position:relative; border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:0 7px 18px rgba(14,35,68,.035); }
.benefit-card-grid article > i { position:absolute; left:23px; top:24px; color:var(--lime-dark); font-size:22px; }
.benefit-card-grid h3 { margin-bottom:6px; font-size:16px; }
.benefit-card-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.service-why-section { color:#fff; background:linear-gradient(135deg,#061934,#08244e); }
.service-why-section .section-heading p:last-child { color:#b8c8db; }
.service-why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.service-why-grid article { min-height:250px; padding:28px 24px; border:1px solid rgba(255,255,255,.1); border-radius:12px; background:rgba(255,255,255,.055); }
.service-why-grid i { width:42px; height:42px; margin-bottom:21px; display:grid; place-items:center; color:#92df42; border-radius:10px; background:rgba(121,211,35,.1); font-size:19px; }
.service-why-grid h3 { margin-bottom:10px; font-size:16px; }
.service-why-grid p { margin:0; color:#b9c8d9; font-size:12.8px; line-height:1.68; }
.service-related-section { background:#fff; }
.related-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.related-service-card { padding:25px; display:flex; gap:17px; border:1px solid var(--line); border-radius:12px; background:#fff; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.related-service-card:hover { transform:translateY(-3px); border-color:#cbdcbf; box-shadow:var(--shadow); }
.related-service-card > span { flex:0 0 45px; width:45px; height:45px; display:grid; place-items:center; color:#4e9611; border-radius:10px; background:#edf8e4; font-size:19px; }
.related-service-card h3 { margin-bottom:7px; font-size:16px; }
.related-service-card p { margin-bottom:13px; color:var(--muted); font-size:12.5px; line-height:1.62; }
.related-service-card b { color:#355877; font-size:12px; }
.related-service-card b i { margin-left:4px; color:var(--lime-dark); }
.service-faq { background:var(--soft); }
.service-faq-grid { grid-template-columns:.75fr 1.25fr; gap:70px; align-items:start; }
.service-faq-intro { position:sticky; top:116px; }
.service-faq-intro p:not(.eyebrow) { color:var(--muted); font-size:14px; }
.service-faq-intro .btn { margin-top:10px; }
.service-faq details { background:#fff; }
.service-bottom-cta { padding-top:24px; background:var(--soft); }

@media (max-width:1100px) {
  .service-hero-grid { grid-template-columns:1fr; gap:44px; }
  .service-hero-copy { max-width:800px; }
  .service-visual-card { max-width:820px; }
  .service-outcome-grid { grid-template-columns:repeat(2,1fr); }
  .service-outcome-grid article:nth-child(2) { border-right:0; }
  .service-outcome-grid article:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .capability-grid { grid-template-columns:repeat(2,1fr); }
  .service-inline-card { grid-template-columns:1fr; gap:24px; }
  .service-process-grid { grid-template-columns:repeat(5,minmax(150px,1fr)); overflow-x:auto; padding-bottom:12px; }
  .service-benefits-grid { gap:38px; }
  .service-why-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:760px) {
  .service-hero { padding:62px 0 64px; }
  .service-hero-copy h1 { font-size:40px; }
  .service-hero-lead { font-size:16px; }
  .service-proof-row { flex-direction:column; gap:8px; }
  .service-visual-card { padding:18px; }
  .service-outcome-grid { grid-template-columns:1fr; }
  .service-outcome-grid article { min-height:0; border-right:0; border-bottom:1px solid var(--line); }
  .service-outcome-grid article:last-child { border-bottom:0; }
  .service-intro-grid { grid-template-columns:1fr; gap:32px; }
  .service-intro-heading,.service-faq-intro { position:static; }
  .service-intro-copy > p { font-size:15px; }
  .capability-grid { grid-template-columns:1fr; }
  .capability-card { min-height:0; }
  .service-inline-card { padding:28px 22px; }
  .service-inline-form { flex-direction:column; }
  .service-inline-form .btn { width:100%; }
  .service-process-grid { grid-template-columns:1fr; overflow:visible; gap:30px; }
  .service-process-grid:before { display:none; }
  .service-process-step { padding:0 14px; }
  .service-benefits-grid { grid-template-columns:1fr; }
  .service-why-grid { grid-template-columns:1fr; }
  .related-service-grid { grid-template-columns:1fr; }
  .service-faq-grid { grid-template-columns:1fr; gap:34px; }
}

@media (max-width:430px) {
  .service-hero-copy h1 { font-size:36px; }
  .service-visual-head { align-items:flex-start; flex-wrap:wrap; }
  .status-pill { margin-left:0; }
  .service-track-item { grid-template-columns:28px 1fr 18px; }
  .service-inline-card h2 { font-size:26px; }
}

/* =========================================
   Company pages
   ========================================= */
.company-page { overflow: hidden; }
.company-hero { position: relative; overflow: hidden; padding: 92px 0 88px; color: #fff; background: linear-gradient(135deg,#061a39 0%,#071f45 58%,#0b2c5c 100%); }
.company-hero-compact { padding: 82px 0 80px; }
.company-hero:before { content: ''; position: absolute; inset: 0; opacity: .12; background-image: radial-gradient(circle at 22% 18%,#fff 0 1px,transparent 1px),radial-gradient(circle at 78% 70%,#fff 0 1px,transparent 1px); background-size: 58px 58px,78px 78px; }
.company-hero-glow { position: absolute; border-radius: 50%; pointer-events: none; }
.company-glow-one { width: 520px; height: 520px; right: -180px; top: -250px; background: radial-gradient(circle,rgba(121,211,35,.20),transparent 68%); }
.company-glow-two { width: 560px; height: 560px; left: 20%; bottom: -470px; background: radial-gradient(circle,rgba(67,130,238,.23),transparent 68%); }
.company-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.02fr .98fr; gap: 72px; align-items: center; }
.company-hero h1 { max-width: 760px; font-size: clamp(44px,5vw,68px); }
.company-hero-lead { max-width: 720px; margin-bottom: 30px; color: #c9d7e9; font-size: 18px; line-height: 1.75; }
.company-hero-panel { padding: 32px; color: var(--ink); border: 1px solid rgba(255,255,255,.35); border-radius: 16px; background: rgba(255,255,255,.97); box-shadow: 0 28px 65px rgba(0,0,0,.2); }
.company-hero-panel h2 { margin-bottom: 24px; font-size: 31px; }
.company-panel-kicker { margin: 0 0 10px; color: var(--lime-dark); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.company-principle-list { display: grid; gap: 10px; }
.company-principle-list > div { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfe; }
.company-principle-list > div > span { width: 36px; height: 36px; display: grid; place-items: center; color: #4f9f0d; border-radius: 9px; background: #edf7e3; font-size: 11px; font-weight: 800; }
.company-principle-list p { margin: 0; }
.company-principle-list strong,.company-principle-list small { display: block; }
.company-principle-list strong { margin-bottom: 4px; font-size: 14px; }
.company-principle-list small { color: #65728a; font-size: 12px; line-height: 1.55; }

.company-story-section { background: linear-gradient(180deg,#fff,#fbfcfe); }
.company-story-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; align-items: start; }
.company-sticky-heading { position: sticky; top: 120px; }
.company-story-copy p { color: #4f5d74; font-size: 17px; line-height: 1.82; }
.company-story-copy p:last-child { margin-bottom: 0; }

.company-values-section { background: #fff; }
.company-value-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.company-value-grid article { min-height: 245px; padding: 30px 28px; border: 1px solid var(--line); border-radius: 12px; background: #fff; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.company-value-grid article:hover { transform: translateY(-4px); border-color: #cce4b6; box-shadow: var(--shadow); }
.company-value-grid i { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 20px; color: #62b517; border-radius: 12px; background: #edf7e3; font-size: 21px; }
.company-value-grid h3 { margin-bottom: 10px; font-size: 18px; }
.company-value-grid p { margin-bottom: 0; color: #65728a; font-size: 14px; line-height: 1.75; }

.company-capability-section { background: #f7f9fc; }
.company-capability-grid { display: grid; grid-template-columns: .86fr 1.14fr; gap: 70px; align-items: center; }
.company-capability-grid > div:first-child p:not(.eyebrow) { color: #5c697e; font-size: 16px; }
.text-link { color: #5ead15; font-size: 14px; font-weight: 800; }
.company-capability-map { position: relative; min-height: 410px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow); }
.company-capability-map:before,.company-capability-map:after { content: ''; position: absolute; left: 50%; top: 50%; border: 1px dashed #bddba0; border-radius: 50%; transform: translate(-50%,-50%); }
.company-capability-map:before { width: 280px; height: 280px; }
.company-capability-map:after { width: 185px; height: 185px; }
.capability-core { position: absolute; left: 50%; top: 50%; z-index: 3; width: 110px; height: 110px; display: grid; place-items: center; color: #fff; border: 8px solid #edf5e7; border-radius: 50%; background: #081f46; transform: translate(-50%,-50%); font-size: 25px; font-weight: 800; }
.capability-node { position: absolute; z-index: 4; min-width: 145px; padding: 12px 15px; color: #34455f; border: 1px solid var(--line); border-radius: 9px; background: #fff; box-shadow: 0 10px 25px rgba(15,38,72,.08); font-size: 12px; font-weight: 800; }
.capability-node i { margin-right: 6px; color: #62b517; }
.capability-node.n1 { left: 7%; top: 14%; }.capability-node.n2 { right: 7%; top: 14%; }.capability-node.n3 { left: 4%; top: 45%; }.capability-node.n4 { right: 4%; top: 45%; }.capability-node.n5 { left: 12%; bottom: 12%; }.capability-node.n6 { right: 12%; bottom: 12%; }

.company-team-section { background: #fff; }
.company-team-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: center; }
.company-team-grid > div:last-child > p:not(.eyebrow) { color: #5c697e; }
.company-team-visual { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.team-grid-card { min-height: 185px; padding: 26px; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid var(--line); border-radius: 13px; background: linear-gradient(160deg,#fff,#f5f8fc); box-shadow: 0 12px 28px rgba(15,38,72,.06); }
.team-grid-card i { margin-bottom: auto; color: #66b91b; font-size: 28px; }
.team-grid-card strong { margin-bottom: 5px; font-size: 17px; }
.team-grid-card span { color: #6a7689; font-size: 12px; line-height: 1.55; }
.company-checks { margin: 22px 0 0; padding: 0; list-style: none; }
.company-checks li { margin: 10px 0; color: #46546a; font-size: 14px; }
.company-checks i { margin-right: 9px; color: #66bb18; }
.two-column-checks { display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; }
.company-bottom-cta { padding-top: 18px; }

/* Case studies */
.result-standard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.result-standard-grid div { padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfe; }
.result-standard-grid i { display: block; margin-bottom: 9px; color: #63b617; font-size: 22px; }
.result-standard-grid strong { display: block; margin-bottom: 5px; font-size: 14px; }
.result-standard-grid span { color: #69758a; font-size: 12px; line-height: 1.55; }
.case-library-section { background: #fbfcfe; }
.company-case-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.company-case-card { padding: 24px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: 0 12px 32px rgba(14,35,68,.05); }
.case-card-top { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 18px; }
.case-type { padding: 6px 9px; color: #4d9710; border-radius: 999px; background: #edf7e3; font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.case-status { color: #7b8798; font-size: 10px; }
.case-visual-placeholder { min-height: 145px; margin-bottom: 20px; display: flex; align-items: center; justify-content: center; gap: 12px; color: #244269; border: 1px solid #dce6f1; border-radius: 10px; background: linear-gradient(135deg,#f8fafc,#eef4f9); font-size: 14px; font-weight: 800; }
.case-visual-placeholder i { color: #65b918; font-size: 30px; }
.company-case-card h3 { margin-bottom: 10px; font-size: 18px; }
.company-case-card > p { color: #65728a; font-size: 13px; line-height: 1.7; }
.case-metric-placeholder { padding-top: 16px; margin-top: 18px; border-top: 1px solid var(--line); }
.case-metric-placeholder span,.case-metric-placeholder strong { display: block; }
.case-metric-placeholder span { color: #8490a0; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.case-metric-placeholder strong { margin-top: 4px; color: #4c5b71; font-size: 15px; }
.verification-note { margin-top: 25px; padding: 18px 20px; display: flex; gap: 14px; color: #4e5d74; border: 1px solid #dce6f1; border-radius: 10px; background: #f6f9fc; }
.verification-note i { color: #4d79ad; font-size: 20px; }
.verification-note strong { display: block; margin-bottom: 4px; color: #203553; }
.verification-note p { margin: 0; font-size: 13px; }
.case-method-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 16px; }
.case-method-grid article { position: relative; padding: 27px 22px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.case-method-grid article > span { display: block; margin-bottom: 24px; color: #69ba1b; font-size: 12px; font-weight: 800; }
.case-method-grid h3 { margin-bottom: 8px; font-size: 16px; }
.case-method-grid p { margin: 0; color: #68758a; font-size: 12px; line-height: 1.65; }
.case-proof-section { background: #f8fafc; }
.proof-do-not-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 22px 0; }
.proof-do-not-grid div { padding: 14px 16px; display: flex; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: #556379; font-size: 13px; }
.proof-do-not-grid i { color: #d25d5d; }

/* Process */
.process-overview-panel { padding: 28px; }
.process-mini-map { display: grid; gap: 8px; }
.process-mini-map span { min-height: 51px; padding: 10px 14px; display: flex; gap: 12px; align-items: center; border: 1px solid var(--line); border-radius: 8px; background: #fbfcfe; font-size: 13px; font-weight: 800; }
.process-mini-map span b { width: 27px; height: 27px; display: grid; place-items: center; color: #4a970c; border-radius: 50%; background: #edf7e3; font-size: 10px; }
.process-mini-map > i { justify-self: center; color: #7cc737; transform: rotate(90deg); }
.process-framework-section { background: #fbfcfe; }
.process-detailed-list { display: grid; gap: 20px; }
.process-detailed-list article { position: relative; display: grid; grid-template-columns: 70px 66px 1fr; gap: 22px; padding: 32px 34px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 12px 30px rgba(14,35,68,.04); }
.process-big-num { color: #dce4ef; font-size: 42px; font-weight: 800; line-height: 1; }
.process-detailed-icon { width: 56px; height: 56px; display: grid; place-items: center; color: #5eae16; border-radius: 14px; background: #edf7e3; font-size: 23px; }
.process-detailed-list h3 { margin-bottom: 10px; font-size: 20px; }
.process-detailed-list article > div:last-child > p:not(.eyebrow) { color: #617086; }
.process-detailed-list ul { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 25px; margin: 14px 0 0; padding-left: 18px; color: #56657b; font-size: 13px; }
.process-collab-section { background: #fff; }
.process-collab-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.process-collab-grid > div:first-child > p:not(.eyebrow) { color: #65728a; }
.collab-model-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.collab-model-grid article { min-height: 230px; padding: 26px; border: 1px solid var(--line); border-radius: 11px; background: #fbfcfe; }
.collab-model-grid i { display: block; margin-bottom: 30px; color: #5ead15; font-size: 28px; }
.collab-model-grid h3 { margin-bottom: 10px; font-size: 17px; }
.collab-model-grid p { color: #68758a; font-size: 13px; }
.process-reporting-section { background: #f8fafc; }
.reporting-question-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.reporting-question-grid article { padding: 27px 24px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.reporting-question-grid span { display: block; margin-bottom: 20px; color: #62b517; font-size: 12px; font-weight: 800; }
.reporting-question-grid h3 { font-size: 17px; }
.reporting-question-grid p { margin: 0; color: #68758a; font-size: 13px; line-height: 1.7; }

/* Careers */
.career-value-list { display: grid; gap: 11px; }
.career-value-list > div { padding: 16px; display: grid; grid-template-columns: 42px 1fr; gap: 14px; align-items: start; border: 1px solid var(--line); border-radius: 9px; background: #fbfcfe; }
.career-value-list > div > i { width: 38px; height: 38px; display: grid; place-items: center; color: #5dac16; border-radius: 9px; background: #edf7e3; font-size: 18px; }
.career-value-list strong,.career-value-list small { display: block; }
.career-value-list strong { margin-bottom: 3px; font-size: 14px; }
.career-value-list small { color: #68758a; font-size: 12px; line-height: 1.55; }
.career-culture-section { background: #fbfcfe; }
.open-roles-section { background: #fff; }
.career-empty-state { padding: 30px 34px; display: grid; grid-template-columns: 64px 1fr auto; gap: 24px; align-items: center; border: 1px solid var(--line); border-radius: 13px; background: linear-gradient(135deg,#fbfcfe,#f4f8fb); }
.career-empty-icon { width: 58px; height: 58px; display: grid; place-items: center; color: #61b517; border-radius: 14px; background: #edf7e3; font-size: 26px; }
.career-empty-state h3 { margin-bottom: 5px; font-size: 19px; }
.career-empty-state p { margin: 0; color: #68758a; font-size: 14px; }
.career-fit-section { background: #f8fafc; }

/* Contact */
.company-contact-hero { padding-bottom: 96px; }
.contact-hero-grid { grid-template-columns: .84fr 1.16fr; align-items: start; }
.contact-quick-grid { display: grid; gap: 11px; margin-top: 34px; }
.contact-quick-grid > a,.contact-quick-grid > div { max-width: 520px; padding: 13px 15px; display: grid; grid-template-columns: 36px 1fr; gap: 12px; align-items: center; color: #dce5f1; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(255,255,255,.06); }
.contact-quick-grid i { color: #8ddd34; font-size: 18px; }
.contact-quick-grid small,.contact-quick-grid strong { display: block; }
.contact-quick-grid small { margin-bottom: 2px; color: #8f9eb2; font-size: 9px; font-weight: 800; letter-spacing: .06em; }
.contact-quick-grid strong { color: #f1f5fa; font-size: 13px; }
.contact-form-card { position: relative; z-index: 3; padding: 34px; color: var(--ink); border-radius: 16px; background: #fff; box-shadow: 0 28px 65px rgba(0,0,0,.2); }
.contact-form-card h2 { margin-bottom: 22px; font-size: 31px; }
.company-contact-form { display: grid; gap: 16px; }
.contact-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.company-contact-form label { color: #415069; font-size: 12px; font-weight: 800; }
.company-contact-form input,.company-contact-form select,.company-contact-form textarea { width: 100%; margin-top: 6px; padding: 12px 13px; color: var(--ink); border: 1px solid #dbe2eb; border-radius: 7px; background: #fbfcfe; font: inherit; font-size: 13px; outline: none; transition: border-color .2s ease,box-shadow .2s ease; }
.company-contact-form input,.company-contact-form select { min-height: 46px; }
.company-contact-form textarea { resize: vertical; min-height: 130px; }
.company-contact-form input:focus,.company-contact-form select:focus,.company-contact-form textarea:focus { border-color: #8acb4d; box-shadow: 0 0 0 3px rgba(121,211,35,.12); }
.contact-submit { width: 100%; }
.form-privacy { margin: -4px 0 0; color: #7c8797; font-size: 10px; line-height: 1.5; text-align: center; }
.form-notice { padding: 12px 14px; margin-bottom: 16px; border-radius: 8px; font-size: 12px; font-weight: 700; }
.form-notice.success { color: #356f0b; background: #eef8e5; border: 1px solid #d5eabb; }
.form-notice.error { color: #963d3d; background: #fff1f1; border: 1px solid #f1cccc; }
.form-notice i { margin-right: 6px; }
.contact-expect-section { background: #fbfcfe; }
.contact-step-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.contact-step-grid article { position: relative; min-height: 255px; padding: 28px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.contact-step-grid article > span { position: absolute; right: 22px; top: 20px; color: #dce4ed; font-size: 29px; font-weight: 800; }
.contact-step-grid i { display: block; margin-bottom: 28px; color: #61b517; font-size: 27px; }
.contact-step-grid h3 { margin-bottom: 9px; font-size: 18px; }
.contact-step-grid p { margin: 0; color: #68758a; font-size: 13px; line-height: 1.7; }
.contact-fit-section { background: #fff; }
.contact-fit-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.contact-fit-grid > div:first-child > p:not(.eyebrow) { color: #65728a; }
.contact-brief-list { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.contact-brief-list div { padding: 15px 17px; display: flex; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 8px; background: #fbfcfe; color: #506078; font-size: 13px; }
.contact-brief-list i { color: #62b517; }

@media (max-width: 1100px) {
  .company-hero-grid,.company-capability-grid,.company-team-grid,.process-collab-grid,.contact-hero-grid,.contact-fit-grid { grid-template-columns: 1fr; gap: 45px; }
  .company-hero-grid > div:first-child { max-width: 820px; }
  .company-story-grid { gap: 48px; }
  .company-value-grid { grid-template-columns: repeat(2,1fr); }
  .company-case-grid { grid-template-columns: 1fr 1fr; }
  .company-case-card:last-child { grid-column: 1/-1; max-width: 560px; }
  .case-method-grid { grid-template-columns: repeat(3,1fr); }
  .process-detailed-list article { grid-template-columns: 56px 56px 1fr; }
  .collab-model-grid,.reporting-question-grid { grid-template-columns: repeat(2,1fr); }
  .contact-form-card { max-width: 760px; }
}

@media (max-width: 760px) {
  .company-hero,.company-hero-compact { padding: 62px 0 64px; }
  .company-hero h1 { font-size: 39px; }
  .company-hero-lead { font-size: 16px; }
  .company-hero-panel,.contact-form-card { padding: 24px; }
  .company-hero-panel h2,.contact-form-card h2 { font-size: 25px; }
  .company-story-grid { grid-template-columns: 1fr; gap: 28px; }
  .company-sticky-heading { position: static; }
  .company-story-copy p { font-size: 15px; }
  .company-value-grid,.company-case-grid,.case-method-grid,.result-standard-grid,.reporting-question-grid,.collab-model-grid,.contact-step-grid { grid-template-columns: 1fr; }
  .company-case-card:last-child { grid-column: auto; max-width: none; }
  .company-team-visual,.proof-do-not-grid,.two-column-checks,.contact-brief-list { grid-template-columns: 1fr; }
  .company-capability-map { min-height: 500px; }
  .capability-node { min-width: 135px; }
  .capability-node.n1 { left: 5%; top: 10%; }.capability-node.n2 { right: 5%; top: 24%; }.capability-node.n3 { left: 5%; top: 39%; }.capability-node.n4 { right: 5%; top: 54%; }.capability-node.n5 { left: 5%; bottom: 14%; }.capability-node.n6 { right: 5%; bottom: 3%; }
  .process-detailed-list article { grid-template-columns: 48px 1fr; gap: 15px; padding: 25px 22px; }
  .process-detailed-icon { grid-column: 1; grid-row: 2; }
  .process-detailed-list article > div:last-child { grid-column: 2; grid-row: 1/3; }
  .process-detailed-list ul { grid-template-columns: 1fr; }
  .career-empty-state { grid-template-columns: 52px 1fr; padding: 24px; }
  .career-empty-state .btn { grid-column: 1/-1; width: 100%; }
  .contact-form-row { grid-template-columns: 1fr; }
  .contact-quick-grid strong { font-size: 12px; }
}

@media (max-width: 480px) {
  .company-hero h1 { font-size: 34px; }
  .company-value-grid { gap: 14px; }
  .company-value-grid article { min-height: 0; padding: 24px 21px; }
  .company-capability-map { min-height: 560px; }
  .capability-core { width: 94px; height: 94px; font-size: 21px; }
  .capability-node { min-width: 128px; font-size: 11px; }
  .company-team-visual { gap: 12px; }
  .team-grid-card { min-height: 160px; }
  .process-detailed-list article { grid-template-columns: 1fr; }
  .process-big-num { font-size: 34px; }
  .process-detailed-icon,.process-detailed-list article > div:last-child { grid-column: 1; grid-row: auto; }
}
