﻿:root{--ink:#11151B;--soft:#5F6670;--faint:#8C929A;--paper:#F3F3EE;--white:#fff;--line:rgba(17,21,27,.12);--line2:rgba(17,21,27,.20);--blue:#3552FF;--blue2:#2437C8;--blue-soft:#EEF1FF;--coral:#FF7555;--green:#1F8A4C;--green-soft:#E8F4EA;--radius:18px;--max:1180px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}.wrap{max-width:var(--max);margin:0 auto;padding:0 30px}h1,h2,h3,h4{font-family:'Manrope',sans-serif;letter-spacing:-.035em;line-height:1.05}.eyebrow{font:600 11px/1.3 'DM Sans',sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--blue);margin-bottom:16px;display:flex;align-items:center;gap:9px}.eyebrow:before{content:"";width:22px;height:1px;background:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid transparent;font-size:14px;font-weight:700;transition:.18s ease;cursor:pointer}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:var(--blue);transform:translateY(-1px)}.btn-ghost{border-color:var(--line2);background:transparent}.btn-ghost:hover{border-color:var(--ink)}.top-note{background:var(--ink);color:rgba(255,255,255,.72);font:500 11px/1.4 'DM Sans',sans-serif}.top-note .wrap{display:flex;justify-content:space-between;gap:24px;padding-top:8px;padding-bottom:8px}.site-header{position:sticky;top:0;z-index:100;background:rgba(243,243,238,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:10px;font-family:'Manrope',sans-serif;font-weight:700}.brand-mark{width:40px;height:40px;border-radius:11px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:13px;position:relative}.brand-mark:after{content:"";position:absolute;right:-3px;bottom:-3px;width:9px;height:9px;border-radius:50%;background:var(--blue);border:2px solid var(--paper)}.brand-copy{font-size:18px}.brand-copy small{display:block;font:600 8.5px/1.2 'DM Sans',sans-serif;color:var(--faint);letter-spacing:.12em;text-transform:uppercase;margin-top:2px}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a{font-size:14px;font-weight:600;color:#414752}.nav-links a:hover{color:var(--ink)}.nav-actions{display:flex;align-items:center;gap:10px}.menu-toggle{display:none}.mobile-drawer{display:none;padding:0 0 18px;border-top:1px solid var(--line)}.mobile-drawer.open{display:grid}.mobile-drawer a{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}
.hero{padding:84px 0 68px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.hero h1{font-size:clamp(48px,6vw,74px);max-width:690px}.hero h1 span{color:var(--blue)}.hero-lead{max-width:600px;color:var(--soft);font-size:18px;line-height:1.65;margin:24px 0 30px}.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}.hero-proof{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;font-size:12.5px;color:#535A63}.hero-proof span{display:flex;align-items:center;gap:8px}.hero-proof i{width:18px;height:18px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:900}.search-map{background:var(--white);border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:0 28px 80px -34px rgba(17,21,27,.23)}.search-map-label{font:600 10.5px/1.3 'DM Sans',sans-serif;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;margin-bottom:18px}.channel-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.channel{border:1px solid var(--line);border-radius:15px;padding:18px;background:#FBFBF8}.channel strong{font-size:14px;display:block;margin-bottom:6px}.channel p{font-size:12.5px;color:var(--soft);line-height:1.55}.channel.ai{background:var(--blue-soft);border-color:#DDE2FF}.arrow-line{width:1px;height:34px;background:var(--line2);margin:auto}.business-node{border-radius:16px;background:var(--ink);color:#fff;padding:18px 20px;text-align:center}.business-node strong{font-size:18px}.business-node p{font-size:12px;color:rgba(255,255,255,.62);margin-top:5px}.results-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.result{border:1px solid var(--line);border-radius:12px;padding:12px 8px;text-align:center;background:#fff}.result b{display:block;font-size:12.5px;margin-bottom:3px}.result span{font-size:10.5px;color:var(--soft)}
.trust{padding:30px 0;background:#FAFAF7;border-bottom:1px solid var(--line)}.trust-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.trust-label{font:600 10.5px/1.4 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--faint)}.trust-logos{display:flex;gap:32px;align-items:center;flex-wrap:wrap;color:#747B82;font-family:'Manrope',sans-serif;font-weight:700}.sec{padding:88px 0}.sec.white{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sec-head{display:grid;grid-template-columns:1fr .72fr;gap:58px;align-items:end;margin-bottom:40px}.sec-head h2{font-size:clamp(34px,4.4vw,52px)}.sec-head p{font-size:15px;line-height:1.65;color:var(--soft)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:27px;background:#fff;transition:.2s ease}.card:hover{transform:translateY(-3px);box-shadow:0 24px 50px -28px rgba(17,21,27,.22)}.card-num{font:600 10.5px/1.3 'DM Sans',sans-serif;color:var(--blue);letter-spacing:.08em;margin-bottom:24px}.card h3{font-size:25px;margin-bottom:12px}.card>p{font-size:14px;line-height:1.6;color:var(--soft);margin-bottom:20px}.card ul{list-style:none;display:grid;gap:9px}.card li{font-size:12.8px;color:#48505A;display:flex;gap:8px}.card li:before{content:"â€”";color:var(--blue)}.card a.more{display:inline-block;margin-top:24px;font-size:13px;font-weight:700}.flow{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.flow span{background:#F3F4F0;border-radius:10px;padding:11px 13px;font-size:12px;font-weight:700}.flow i{font-style:normal;color:#A2A7AD}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:58px;align-items:center}.split h2{font-size:clamp(34px,4vw,50px);margin-bottom:18px}.split p{color:var(--soft);font-size:15px;line-height:1.7}.industry-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden}.industry{padding:27px 14px;text-align:center;border-right:1px solid var(--line);background:#fff;transition:.18s ease}.industry:last-child{border-right:none}.industry:hover{background:#F7F8F4}.ind-icon{width:42px;height:42px;border-radius:13px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;margin:0 auto 13px;font-weight:800}.industry h3{font-size:14px;letter-spacing:-.01em}.industry span{display:block;font-size:10.5px;color:var(--faint);margin-top:4px}
.page-hero{padding:72px 0 54px;border-bottom:1px solid var(--line)}.page-hero-inner{max-width:820px}.page-hero h1{font-size:clamp(42px,5.5vw,66px)}.page-hero p{font-size:18px;color:var(--soft);line-height:1.65;margin-top:22px;max-width:760px}.breadcrumbs{font:600 10px/1.4 'DM Sans',sans-serif;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:20px}.breadcrumbs a{color:var(--blue)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.metric{border:1px solid var(--line);border-radius:15px;padding:19px;background:#fff}.metric strong{font:700 26px/1 'Manrope',sans-serif;display:block;margin-bottom:7px}.metric span{font-size:12px;color:var(--soft);line-height:1.45}.case-feature{background:#10271F;color:#fff;border-radius:24px;padding:34px}.case-feature p{color:rgba(255,255,255,.7)}.case-feature .metric{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.15)}.case-feature .metric span{color:rgba(255,255,255,.6)}.case-feature .eyebrow{color:#91D9B2}.case-feature .eyebrow:before{background:#91D9B2}.bullet-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{border:1px solid var(--line);border-radius:20px;background:#fff;padding:30px}.panel h2{font-size:30px;margin-bottom:14px}.panel h3{font-size:22px;margin-bottom:12px}.panel p{color:var(--soft);line-height:1.7;font-size:14px}.checklist{list-style:none;display:grid;gap:11px;margin-top:18px}.checklist li{font-size:14px;color:#46504A;display:flex;gap:10px}.subnav{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.pill{border:1px solid var(--line2);border-radius:999px;padding:9px 13px;font-size:12px;font-weight:700;background:#fff}.pill:hover{border-color:var(--blue);color:var(--blue)}.faq-list{max-width:850px}.faq{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;padding:21px 0;font-family:'Manrope',sans-serif;font-weight:600;font-size:18px}.faq summary::-webkit-details-marker{display:none}.faq p{padding:0 0 20px;color:var(--soft);line-height:1.7;font-size:14px}.cta{background:var(--ink);color:#fff;border-radius:26px;padding:44px;display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}.cta h2{font-size:clamp(30px,4vw,44px)}.cta p{color:rgba(255,255,255,.65);line-height:1.65;margin-top:14px}.lead-form{display:grid;gap:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px}.field label{font-size:12px;font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line2);border-radius:12px;padding:13px 14px;background:#fff;color:var(--ink);outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue)}.field textarea{min-height:125px;resize:vertical}.fine{font-size:10.5px;color:var(--faint)}.alert{padding:13px 15px;border-radius:12px;margin-bottom:18px;font-size:13px}.alert.error{background:#FDECEA;color:#8B2B20}.alert.success{background:#E9F5EB;color:#1D6D39}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.blog-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:24px}.blog-card .meta{font:600 10px/1.4 'DM Sans',sans-serif;color:var(--faint);text-transform:uppercase;letter-spacing:.06em}.blog-card h2{font-size:24px;margin:13px 0}.blog-card p{font-size:13.5px;line-height:1.65;color:var(--soft)}.article{max-width:800px;margin:auto}.article h1{font-size:clamp(42px,5.5vw,64px);margin-bottom:18px}.article .meta{font:600 10px/1.4 'DM Sans',sans-serif;color:var(--faint);text-transform:uppercase}.prose{margin-top:35px}.prose h2{font-size:30px;margin:38px 0 14px}.prose h3{font-size:23px;margin:30px 0 12px}.prose p{font-size:16px;line-height:1.8;color:#3E454C;margin:0 0 18px}.prose ul{margin:0 0 22px 22px}.prose li{margin-bottom:8px;line-height:1.65}.prose a{color:var(--blue);text-decoration:underline}.empty{border:1px dashed var(--line2);border-radius:18px;padding:30px;color:var(--soft);background:#fff}
footer{background:#fff;border-top:1px solid var(--line);padding:54px 0 30px}.foot-top{display:flex;justify-content:space-between;gap:42px;align-items:flex-start}.foot-copy{max-width:400px;margin-top:15px;color:var(--soft);font-size:13px;line-height:1.65}.foot-links{display:flex;gap:48px;flex-wrap:wrap}.foot-col{display:grid;gap:9px}.foot-col strong{font-size:12px}.foot-col a{font-size:12px;color:var(--soft)}.foot-bottom{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:#7D838A}
@media(max-width:980px){.nav-links{display:none}.menu-toggle{display:inline-flex}.hero-grid,.sec-head,.split,.cta{grid-template-columns:1fr}.card-grid,.blog-grid{grid-template-columns:1fr 1fr}.industry-grid{grid-template-columns:repeat(3,1fr)}.industry{border-bottom:1px solid var(--line)}.industry:nth-child(3n){border-right:none}.trust-inner{align-items:flex-start;flex-direction:column}.metric-grid{grid-template-columns:1fr 1fr}.bullet-grid{grid-template-columns:1fr}}
@media(max-width:640px){.wrap{padding:0 18px}.top-note{display:none}.nav{height:66px}.nav-actions>.btn{display:none}.brand-copy{font-size:16px}.brand-copy small{display:none}.hero{padding:56px 0 50px}.hero h1{font-size:44px}.hero-lead,.page-hero p{font-size:16px}.channel-row,.results-row{grid-template-columns:1fr}.sec{padding:64px 0}.sec-head{gap:18px;margin-bottom:28px}.card-grid,.blog-grid{grid-template-columns:1fr}.industry-grid{grid-template-columns:repeat(2,1fr)}.industry:nth-child(3n){border-right:1px solid var(--line)}.industry:nth-child(2n){border-right:none}.metric-grid{grid-template-columns:1fr 1fr}.cta{padding:30px 22px;gap:26px}.form-row{grid-template-columns:1fr}.foot-top,.foot-bottom{flex-direction:column}}

.blog-image{display:block;margin:-24px -24px 20px;border-radius:18px 18px 0 0;overflow:hidden;aspect-ratio:16/9;background:#E8EAE5}.blog-image img{width:100%;height:100%;object-fit:cover}.article-image{margin:28px 0 34px;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#fff}.article-image img{width:100%;height:auto}

/* Case Study CMS public components */
.case-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.case-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff}.case-card-image{display:block;aspect-ratio:16/9;background:#eceee9;overflow:hidden}.case-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.case-card:hover .case-card-image img{transform:scale(1.02)}.case-card-body{padding:26px}.case-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.case-card h2{font-size:28px;margin-bottom:7px}.case-card h3{font-size:18px;line-height:1.28;letter-spacing:-.02em;margin-bottom:12px}.case-card p{font-size:13.5px;line-height:1.65;color:var(--soft)}.case-type{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font:700 10px/1 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.04em}.case-type.verified{background:#e8f5eb;color:#1f6d3e}.case-type.project{background:#fff2d8;color:#7a5200}.case-type.audit{background:#eef0ff;color:#3145c7}.case-hero .wrap{max-width:1180px}.case-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}.case-hero h1{margin-top:12px}.case-hero-media{border:1px solid var(--line);background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 28px 70px -38px rgba(17,21,27,.32)}.case-hero-media img{width:100%;height:auto}.case-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:26px}.case-meta span{border-top:1px solid var(--line);padding-top:10px;font-size:12px;color:var(--soft)}.case-meta b{display:block;color:var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.case-metrics .metric{position:relative}.verified-mark{display:block;margin-top:11px;font-size:9.5px;font-weight:800;color:var(--green);text-transform:uppercase;letter-spacing:.05em}.case-copy{max-width:900px}.prose.compact{margin-top:12px}.prose.compact h2,.prose.compact h3{margin-top:20px}.prose.compact p{font-size:14px;line-height:1.75;margin-bottom:12px}.prose.compact ul{margin-bottom:10px}.prose.light p,.prose.light li{color:rgba(255,255,255,.72)}.secondary-copy{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.section-title-small{max-width:820px;margin-bottom:28px}.section-title-small h2{font-size:clamp(30px,4vw,46px)}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:16px}.before-after>div{border:1px solid var(--line);border-radius:18px;padding:25px;background:#fff}.before-after>div>span{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.before>span{background:#f8e8e5;color:#8b3328}.after>span{background:#e8f5eb;color:#1f6d3e}.case-media{margin-top:22px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}.case-media.inline{max-width:760px}.case-media img{width:100%;height:auto}.case-media figcaption{font-size:11px;color:var(--soft);padding:10px 14px;border-top:1px solid var(--line)}.case-quote{max-width:900px;margin:auto;border-left:4px solid var(--blue);background:#fff;border-radius:0 18px 18px 0;padding:35px}.case-quote p{font-family:'Manrope',sans-serif;font-size:clamp(24px,3vw,38px);line-height:1.25}.case-quote cite{display:block;margin-top:18px;color:var(--soft);font-style:normal}.video-block{max-width:960px;margin:auto}.video-block h2{font-size:clamp(32px,4vw,48px);margin-bottom:20px}.video-placeholder{display:grid;place-items:center;min-height:280px;border:1px dashed var(--line2);border-radius:20px;background:#10151b;color:#fff;font-weight:800;margin:20px 0}.video-cover{position:relative;display:block;border-radius:20px;overflow:hidden;background:#10151b}.video-cover img{width:100%;height:auto;opacity:.78}.video-cover span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:800;font-size:18px}.transcript{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.transcript summary{cursor:pointer;font-weight:800}.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.evidence-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:20px}.evidence-card h3{font-size:18px;margin:12px 0}.evidence-card p{font-size:12.5px;color:var(--soft);line-height:1.55;margin:7px 0}.evidence-card img{margin-top:14px;border:1px solid var(--line);border-radius:10px}.evidence-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;text-transform:uppercase}.evidence-status.verified{background:#e8f5eb;color:#1f6d3e}.evidence-status.pending{background:#fff2d8;color:#7a5200}.case-cta-btn{background:#fff;color:var(--ink)}
@media(max-width:980px){.case-library,.case-hero-grid,.before-after{grid-template-columns:1fr}.evidence-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.case-library,.evidence-grid{grid-template-columns:1fr}.case-card-body{padding:20px}.case-meta{grid-template-columns:1fr}.video-placeholder{min-height:200px}}

/* GMH typography system â€” Manrope + DM Sans */
:root{--font-display:'Manrope',sans-serif;--font-body:'DM Sans',sans-serif}
body{font-family:var(--font-body);font-weight:400;line-height:1.6;text-rendering:optimizeLegibility}
button,input,textarea,select{font-family:var(--font-body)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.035em}
.hero h1,.page-hero h1,.article h1,.case-hero h1{font-weight:800;letter-spacing:-.045em;line-height:1.02}
.metric strong,.case-metric strong,.result b{font-family:var(--font-display);font-weight:800}
.brand,.brand-copy{font-family:var(--font-display);font-weight:700}
.nav-links a,.btn,.pill,.field label{font-family:var(--font-body);font-weight:600}
.eyebrow,.breadcrumbs,.top-note,.trust-label,.card-num,.blog-card .meta,.article .meta,.brand-copy small,.search-map-label{font-family:var(--font-body);font-weight:700;letter-spacing:.085em}
.prose p,.panel p,.hero-lead,.page-hero p{font-family:var(--font-body)}
@media(max-width:640px){.hero h1,.page-hero h1,.article h1,.case-hero h1{letter-spacing:-.04em}}

/* GMH launch readability and UX pass */
html{font-size:16px}
body{font-family:var(--font-body,'DM Sans',sans-serif);font-size:1rem;line-height:1.6}
.btn{min-height:46px;font-size:.925rem;padding-inline:22px}
.nav-links a{font-size:.925rem}
.top-note{font-size:.75rem}
.brand-copy small{font-size:.625rem}
.eyebrow,.trust-label,.search-map-label,.card-num,.breadcrumbs,.blog-card .meta,.article .meta{font-size:.75rem;line-height:1.4}
.channel p,.result b,.metric span{font-size:.8rem}
.result span,.industry span,.fine{font-size:.75rem}
.card>p,.panel p,.sec-head p{font-size:.95rem}
.foot-copy{font-size:.875rem}
.foot-col strong,.foot-col a{font-size:.8125rem}
.foot-bottom{font-size:.75rem}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(53,82,255,.38);outline-offset:3px}
@media(max-width:640px){
  .hero h1{font-size:clamp(2.6rem,12vw,3.15rem)}
  .eyebrow{font-size:.7rem}
  .card>p,.panel p{font-size:.9375rem}
}
/* GMH SEO hub launch */
.service-hero .page-hero-inner{max-width:900px}
.service-hero h1{max-width:880px}
.service-hero p{max-width:780px}
.primary-pill{background:var(--ink);color:#fff;border-color:var(--ink)}
.service-hub-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;margin-bottom:38px}
.service-hub-intro h2{font-family:var(--font-display,'Manrope',sans-serif);font-size:clamp(2.1rem,4vw,3.2rem);line-height:1.02;letter-spacing:-.04em;margin:8px 0 0}
.service-hub-intro>p{font-size:1.05rem;max-width:590px;margin:0}
.service-principles{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.service-principle{padding:24px;border-right:1px solid var(--line)}
.service-principle:last-child{border-right:0}
.service-principle span,.seo-pillar .card-num{display:block;font-size:.72rem;font-weight:700;color:var(--blue);margin-bottom:18px}
.service-principle strong{display:block;font-family:var(--font-display,'Manrope',sans-serif);font-size:1.15rem;margin-bottom:8px}
.service-principle p{margin:0;font-size:.92rem}
.seo-pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.seo-pillar{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;min-height:280px;display:flex;flex-direction:column}
.seo-pillar h3{font-family:var(--font-display,'Manrope',sans-serif);font-size:1.35rem;line-height:1.1;letter-spacing:-.025em;margin:0 0 12px}
.seo-pillar p{font-size:.94rem;margin:0 0 22px}
.seo-pillar .more{margin-top:auto}
.process-grid .card{min-height:175px}
.service-measure{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.service-measure-copy h2,.modern-search-panel h2,.faq-section>h2{font-family:var(--font-display,'Manrope',sans-serif);font-size:clamp(2rem,4vw,3rem);line-height:1.03;letter-spacing:-.035em;margin:8px 0 18px}
.service-measure-copy p{font-size:1rem}
.measure-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.measure-item{border:1px solid var(--line);border-radius:14px;padding:22px;background:var(--paper)}
.measure-item strong{font-family:var(--font-display,'Manrope',sans-serif);font-size:1.05rem}
.measure-item p{font-size:.9rem;margin:8px 0 0}
.modern-search-section{background:var(--ink);color:#fff}
.modern-search-section .eyebrow{color:#8fa2ff}
.modern-search-panel{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.modern-search-panel p{color:#d4d8df;font-size:1rem}
.modern-search-panel .more{color:#fff}
.faq-section{max-width:930px}
@media(max-width:900px){
  .service-hub-intro,.service-measure,.modern-search-panel{grid-template-columns:1fr;gap:28px}
  .seo-pillar-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .service-principles,.seo-pillar-grid,.measure-grid{grid-template-columns:1fr}
  .service-principle{border-right:0;border-bottom:1px solid var(--line)}
  .service-principle:last-child{border-bottom:0}
  .seo-pillar{min-height:auto}
}
/* GMH checklist encoding-safe icon */
.checklist{
  list-style:none;
  padding-left:0;
  margin-left:0;
}
.checklist li{
  position:relative;
  padding-left:1.7rem;
}
.checklist li::before{
  content:"\2713";
  position:absolute;
  left:0;
  top:.02em;
  font-weight:800;
  color:#0f8a4b;
  font-family:Arial,sans-serif;
}
/* GMH Local SEO launch */
.local-factor-grid .service-principle{min-height:220px}
@media(max-width:640px){
  .local-factor-grid .service-principle{min-height:auto}
}
/* GMH all SEO child pages launch */
.process-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.specialist-area-grid .seo-pillar{min-height:270px}
@media(max-width:900px){
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .process-grid{grid-template-columns:1fr}
  .specialist-area-grid .seo-pillar{min-height:auto}
}
/* GMH AI search launch */
.modern-search-section .eyebrow{letter-spacing:.08em}
.modern-search-panel .more{display:inline-flex;margin-top:12px}
@media(max-width:640px){
  .modern-search-panel{gap:20px}
}
/* GMH Web & eCommerce launch */
.service-hero .subnav{gap:10px}
@media(max-width:640px){
  .service-hero .subnav{align-items:stretch}
  .service-hero .subnav .pill{text-align:center}
}
/* GMH industry pages launch */
.industry-hero .page-hero-inner{max-width:900px}
.industry-intro{margin-bottom:36px}
.industry-signals .service-principle{min-height:205px}
.industry-journey .card p{margin-top:10px;font-size:.9rem}
.industry-service-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.industry-service-link{display:flex;align-items:center;min-height:74px;border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:18px 20px;font-weight:700;text-decoration:none}
.industry-service-link:hover{transform:translateY(-1px);border-color:#bfc8ff}
.industry-faq-wrap{border-top:1px solid var(--line)}
@media(max-width:900px){
  .industry-service-links{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .industry-signals .service-principle{min-height:auto}
  .industry-service-links{grid-template-columns:1fr}
}

/* GMH Lead & Contact Launch */
.contact-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:52px;align-items:start}
.contact-form-card{background:var(--ink);border-radius:20px;padding:28px;color:#fff}
.contact-points{display:grid;gap:14px;margin-top:28px}
.contact-points>div{display:grid;gap:3px;padding:16px 0;border-bottom:1px solid var(--line)}
.contact-points a{text-decoration:none}
.lead-form{display:grid;gap:13px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{display:grid;gap:6px}
.field span{font-size:.76rem;font-weight:700}
.field small{font-weight:400;opacity:.7}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;box-sizing:border-box;border:1px solid #d4d8df;border-radius:8px;background:#fff;color:#111820;padding:11px 12px;font:inherit}
.lead-form textarea{resize:vertical;min-height:92px}
.full-btn{width:100%;justify-content:center;text-align:center}
.whatsapp-btn{background:#fff;color:#10161d;border:1px solid #fff}
.lead-form-divider{display:flex;align-items:center;gap:10px;font-size:.72rem;opacity:.7}
.lead-form-divider:before,.lead-form-divider:after{content:"";height:1px;background:rgba(255,255,255,.22);flex:1}
.form-note{font-size:.7rem;line-height:1.45;opacity:.65;margin:0}
@media(max-width:820px){
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .form-row{grid-template-columns:1fr}
  .contact-form-card{padding:20px}
}

/* GMH Analytics + UX Cleanup */
.lead-form .btn.primary,
.lead-form button.btn.primary,
.lead-form button[type="submit"]{
  background:var(--blue);
  color:#fff;
  border-color:var(--blue);
}
.lead-form .btn.primary:hover,
.lead-form button.btn.primary:hover,
.lead-form button[type="submit"]:hover{
  filter:brightness(.95);
}

/* GMH core pages + contact launch */
.about-hero .page-hero-inner,.markets-hero .page-hero-inner,.contact-hero .page-hero-inner{max-width:920px}
.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.market-card{border:1px solid var(--line);border-radius:16px;padding:26px;background:#fff;min-height:230px}
.market-card h3{font-family:var(--font-display,'Manrope',sans-serif);font-size:1.35rem;letter-spacing:-.025em;margin:10px 0}
.market-card p{font-size:.94rem}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:start}
.contact-grid h2{font-family:var(--font-display,'Manrope',sans-serif);font-size:clamp(2rem,4vw,3rem);line-height:1.03;letter-spacing:-.035em;margin:8px 0 18px}
.contact-checklist{margin-top:24px}
.contact-methods{display:grid;gap:10px;margin-top:28px}
.contact-method{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:12px;padding:15px 17px;background:var(--paper);text-decoration:none}
.contact-method span{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}
.contact-method strong{color:var(--ink);font-family:var(--font-display,'Manrope',sans-serif);font-size:.96rem}
.contact-method-muted{cursor:default}
.contact-form-panel{padding:28px}
.lead-form .optional{font-size:.72rem;color:var(--muted);font-weight:500}
.lead-form textarea{resize:vertical;min-height:112px}
@media(max-width:900px){
  .market-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr;gap:28px}
}
@media(max-width:640px){
  .market-grid{grid-template-columns:1fr}
  .market-card{min-height:auto}
  .contact-form-panel{padding:20px}
}

/* GMH MOBILE NAV + CLICKABLE CARDS START */

/* Mobile navigation injected by assets/js/site.js. */
.gmh-mobile-menu-toggle,
.gmh-mobile-menu-panel {
    display: none;
}

.gmh-clickable-card {
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.gmh-clickable-card:focus-visible {
    outline: 3px solid #3157ff;
    outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
    .gmh-clickable-card:hover {
        transform: translateY(-2px);
    }
}

/* Keep the normal desktop header untouched. */
@media (max-width: 900px) {
    .gmh-mobile-menu-toggle {
        display: inline-flex;
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        margin-left: auto;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(17, 21, 27, .16);
        border-radius: 12px;
        background: #fff;
        color: #11151b;
        cursor: pointer;
        position: relative;
        z-index: 10002;
        padding: 0;
    }

    .gmh-mobile-menu-toggle span,
    .gmh-mobile-menu-toggle::before,
    .gmh-mobile-menu-toggle::after {
        content: "";
        display: block;
        width: 19px;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
        position: absolute;
        left: 12px;
        transition: transform .2s ease, opacity .2s ease, top .2s ease;
    }

    .gmh-mobile-menu-toggle::before {
        top: 14px;
    }

    .gmh-mobile-menu-toggle span {
        top: 21px;
    }

    .gmh-mobile-menu-toggle::after {
        top: 28px;
    }

    .gmh-mobile-menu-toggle[aria-expanded="true"]::before {
        top: 21px;
        transform: rotate(45deg);
    }

    .gmh-mobile-menu-toggle[aria-expanded="true"] span {
        opacity: 0;
    }

    .gmh-mobile-menu-toggle[aria-expanded="true"]::after {
        top: 21px;
        transform: rotate(-45deg);
    }

    .gmh-mobile-menu-panel {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 10000;
        background: rgba(17, 21, 27, .42);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .2s ease, visibility .2s ease;
    }

    .gmh-mobile-menu-panel.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .gmh-mobile-menu-sheet {
        position: absolute;
        top: 0;
        right: 0;
        width: min(88vw, 380px);
        height: 100%;
        overflow-y: auto;
        background: #f7f6f1;
        padding: 88px 24px 32px;
        box-shadow: -20px 0 50px rgba(17, 21, 27, .14);
        transform: translateX(100%);
        transition: transform .24s ease;
    }

    .gmh-mobile-menu-panel.is-open .gmh-mobile-menu-sheet {
        transform: translateX(0);
    }

    .gmh-mobile-menu-close {
        position: absolute;
        top: 22px;
        right: 22px;
        width: 42px;
        height: 42px;
        border-radius: 12px;
        border: 1px solid rgba(17, 21, 27, .16);
        background: #fff;
        color: #11151b;
        font: inherit;
        font-size: 27px;
        line-height: 1;
        cursor: pointer;
    }

    .gmh-mobile-menu-links {
        display: grid;
        gap: 0;
    }

    .gmh-mobile-menu-links > a {
        display: flex;
        align-items: center;
        min-height: 58px;
        padding: 13px 4px;
        border-bottom: 1px solid rgba(17, 21, 27, .12);
        color: #11151b;
        font-weight: 700;
        text-decoration: none;
        font-size: 17px;
    }

    .gmh-mobile-menu-links > a:hover,
    .gmh-mobile-menu-links > a:focus-visible {
        color: #3157ff;
    }

    .gmh-mobile-menu-links > a.gmh-mobile-audit-link {
        justify-content: center;
        margin-top: 22px;
        min-height: 50px;
        padding: 13px 18px;
        border: 0;
        border-radius: 999px;
        background: #11151b;
        color: #fff;
        text-align: center;
    }

    body.gmh-mobile-menu-open {
        overflow: hidden;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gmh-mobile-menu-panel,
    .gmh-mobile-menu-sheet,
    .gmh-mobile-menu-toggle span,
    .gmh-mobile-menu-toggle::before,
    .gmh-mobile-menu-toggle::after,
    .gmh-clickable-card {
        transition: none !important;
    }
}

/* GMH MOBILE NAV + CLICKABLE CARDS END */

/* GMH LOGO DOT ANIMATION START */

/* Animate ONLY the small logo status dot: blue -> green -> blue. */
@keyframes gmh-logo-dot-color {
    0%, 100% { background-color: #3157ff; }
    50% { background-color: #22a65a; }
}

/* If the current logo dot is already a ::after pseudo-element, animate it. */
.brand-mark::after,
.logo-mark::after,
.site-logo-mark::after,
[class*="brand-mark"]::after,
[class*="logo-mark"]::after {
    animation: gmh-logo-dot-color 2.4s ease-in-out infinite;
}

/* JS fallback for logos where the blue dot is part of the image/markup. */
.gmh-logo-dot-host {
    position: relative !important;
}

.gmh-logo-color-dot {
    position: absolute;
    right: -3px;
    bottom: -3px;
    width: 10px;
    height: 10px;
    border: 2px solid #f7f6f1;
    border-radius: 999px;
    background-color: #3157ff;
    animation: gmh-logo-dot-color 2.4s ease-in-out infinite;
    pointer-events: none;
    z-index: 5;
}

@media (prefers-reduced-motion: reduce) {
    .brand-mark::after,
    .logo-mark::after,
    .site-logo-mark::after,
    [class*="brand-mark"]::after,
    [class*="logo-mark"]::after,
    .gmh-logo-color-dot {
        animation: none !important;
        background-color: #3157ff !important;
    }
}

/* GMH LOGO DOT ANIMATION END */

/* GMH WHATSAPP INTEGRATION START */

.gmh-whatsapp-float {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 9000;
    display: inline-flex;
    min-height: 52px;
    padding: 10px 16px 10px 11px;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(17,21,27,.12);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(17,21,27,.14);
    color: #11151b;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.gmh-whatsapp-float:hover,
.gmh-whatsapp-float:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(34,166,90,.34);
    box-shadow: 0 18px 46px rgba(17,21,27,.18);
}

.gmh-whatsapp-icon {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #22a65a;
    color: #fff;
}

.gmh-whatsapp-icon svg {
    width: 21px;
    height: 21px;
    fill: currentColor;
}

.gmh-contact-whatsapp {
    width: min(1120px, calc(100% - 32px));
    margin: 24px auto 56px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 1px solid rgba(17,21,27,.12);
    border-radius: 18px;
    background: #f7f6f2;
}

.gmh-contact-whatsapp > div {
    display: grid;
    gap: 4px;
}

.gmh-contact-whatsapp strong {
    color: #11151b;
    font-size: 16px;
}

.gmh-contact-whatsapp span {
    color: #66707d;
    font-size: 14px;
}

@media (max-width: 700px) {
    .gmh-whatsapp-float {
        right: 16px;
        bottom: 16px;
        width: 52px;
        height: 52px;
        min-height: 52px;
        padding: 10px;
        justify-content: center;
    }

    .gmh-whatsapp-label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0,0,0,0);
        white-space: nowrap;
        border: 0;
    }

    .gmh-contact-whatsapp {
        margin-bottom: 80px;
        align-items: flex-start;
        flex-direction: column;
    }

    .gmh-contact-whatsapp .btn {
        width: 100%;
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gmh-whatsapp-float {
        transition: none;
    }
}

/* GMH WHATSAPP INTEGRATION END */

/* GMH SEO content release */
.brand-logo{width:148px;height:54px;object-fit:contain;display:block}
.foot-nap{margin-top:16px;color:var(--soft);font-size:.8125rem;line-height:1.65}
.foot-nap a{text-decoration:underline;text-underline-offset:3px}
.editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.editorial-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}
.editorial-panel h2{font-size:clamp(24px,2.4vw,34px);margin-bottom:14px}
.editorial-panel p{color:var(--soft);line-height:1.75}
.location-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.location-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}
.location-card h2{font-size:clamp(25px,2.6vw,36px);margin-bottom:14px}
.location-card p{color:var(--soft);line-height:1.7;margin-bottom:18px}
.notice-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;max-width:900px}
.notice-panel h2{font-size:clamp(26px,3vw,38px);margin-bottom:12px}
.notice-panel p{color:var(--soft);line-height:1.7}
@media(max-width:900px){.editorial-grid,.location-card-grid{grid-template-columns:1fr}.brand-logo{width:132px;height:auto}.nav-links{gap:18px}}
