:root {
  --glue-primary: #d7263d;
  --glue-accent: #111827;
  --glue-bg: #f8f9fb;
  --glue-text: #111827;
  --glue-muted: #5a6475;
  --glue-border: #d7dce4;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--glue-text); background: #fff; line-height: 1.55; }
a { color: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline: 2px solid var(--glue-primary); outline-offset: 2px; }
.glue-wrap { max-width: 1180px; margin: 0 auto; padding: 0 1rem; }
.glue-site-header { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.94); backdrop-filter: blur(8px); border-bottom: 1px solid var(--glue-border); }
.glue-head-row { min-height: 72px; display: flex; gap: 1rem; align-items: center; justify-content: space-between; }
.glue-logo { display: inline-flex; flex-direction: column; text-decoration: none; }
.glue-logo-svg { display: inline-flex; align-items: center; }
.glue-logo-svg svg { width: auto; height: 56px; max-width: 210px; display: block; }
.glue-logo-main { font-weight: 800; letter-spacing: -0.02em; font-size: 1.3rem; }
.glue-logo-sub { font-size: .72rem; color: var(--glue-muted); text-transform: uppercase; letter-spacing: .08em; }
.glue-nav { display: flex; align-items: center; gap: .75rem; }
.glue-nav a { text-decoration: none; padding: .4rem .6rem; border-radius: .5rem; }
.glue-nav a:hover { background: #f0f2f6; }
.glue-nav-toggle { display: none; border: 1px solid var(--glue-border); border-radius: .5rem; background: #fff; padding: .45rem .65rem; }
.glue-main { overflow-x: clip; }
.glue-section { padding: clamp(2rem, 5vw, 4rem) 0; }
.glue-section--tight { padding: .6rem 0 1.2rem; }
.glue-section--alt { background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); border-top: 1px solid #eef1f6; border-bottom: 1px solid #eef1f6; }
.glue-prose { max-width: 78ch; }
.glue-prose h1, .glue-prose h2, .glue-prose h3 { line-height: 1.2; letter-spacing: -0.01em; }
.glue-prose p, .glue-prose li { color: #1f2937; }
.glue-prose img { max-width: 100%; height: auto; border-radius: .7rem; }
.glue-grid { display: grid; gap: 1rem; }
.glue-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.glue-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.glue-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.glue-card { border: 1px solid var(--glue-border); background: #fff; border-radius: .95rem; padding: 1.1rem; }
.glue-card h2, .glue-card h3 { margin-top: 0; }
.glue-card--tone-0 { background: linear-gradient(180deg, #fff 0%, #fff8f8 100%); }
.glue-card--tone-1 { background: linear-gradient(180deg, #fff 0%, #f8fbff 100%); }
.glue-card--tone-2 { background: linear-gradient(180deg, #fff 0%, #fffaf3 100%); }
.glue-card--tone-3 { background: linear-gradient(180deg, #fff 0%, #f7fcf8 100%); }
.glue-card--tone-4 { background: linear-gradient(180deg, #fff 0%, #faf8ff 100%); }
.glue-card--tone-5 { background: linear-gradient(180deg, #fff 0%, #f9fbfc 100%); }
.glue-eyebrow { font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; color: var(--glue-muted); margin: 0 0 .35rem; }
.glue-text-link { display: inline-flex; align-items: center; gap: .35rem; text-decoration: none; color: var(--glue-primary); font-weight: 600; }
.glue-text-link:hover { text-decoration: underline; }
.glue-meta-inline { color: var(--glue-muted); font-size: .9rem; margin: 0 0 .65rem; }
.glue-intro-text { max-width: 82ch; color: #334155; font-size: 1.03rem; margin: 0; }
.glue-price-soft { opacity: .75; font-size: .86rem; }
.glue-pill { display: inline-flex; padding: .55rem .8rem; border: 1px solid var(--glue-border); border-radius: 999px; text-decoration: none; }
.glue-pill:hover { border-color: var(--glue-primary); color: var(--glue-primary); }
.glue-lead { max-width: 70ch; color: var(--glue-muted); font-size: 1.1rem; }
.glue-hero-actions { display: flex; gap: .7rem; flex-wrap: wrap; margin-top: 1.2rem; }
.glue-btn { display:inline-flex; align-items:center; gap:.5rem; padding:.85rem 1.15rem; border-radius:.7rem; text-decoration:none; font-weight:600; }
.glue-btn--primary { background: var(--glue-primary); color: #fff; }
.glue-btn--secondary { border:1px solid var(--glue-border); color: var(--glue-text); }
.glue-btn--nav { box-shadow: 0 10px 24px rgba(215, 38, 61, .22); }
.glue-btn svg { width: 1.05rem; height: 1.05rem; }
.glue-urgency { margin: 0 0 .7rem; display: inline-flex; align-items: center; gap: .45rem; border: 1px solid #fecdd3; background: #fff4f6; color: #9f1239; border-radius: 999px; padding: .35rem .72rem; font-weight: 600; font-size: .92rem; }
.glue-urgency svg { width: 1rem; height: 1rem; }
.glue-trust-strip { display: flex; flex-wrap: wrap; gap: .6rem; }
.glue-trust-strip span { display: inline-flex; align-items: center; gap: .35rem; border: 1px solid var(--glue-border); border-radius: 999px; padding: .38rem .65rem; background: #fff; color: #334155; font-size: .92rem; }
.glue-trust-strip svg { width: .92rem; height: .92rem; color: var(--glue-primary); }
.glue-google-badge a { display: inline-flex; align-items: center; gap: .35rem; border: 1px solid #fde68a; background: #fffbeb; color: #92400e; border-radius: 999px; padding: .4rem .72rem; text-decoration: none; font-weight: 600; }
.glue-proof-card p { margin-top: 0; }
.glue-proof-card cite { font-style: normal; color: #475569; font-size: .9rem; }
.glue-compare { border: 1px solid var(--glue-border); border-radius: .9rem; overflow: hidden; }
.glue-compare > div { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: .8rem 1rem; border-top: 1px solid var(--glue-border); }
.glue-compare > div:first-child { border-top: 0; }
.glue-compare strong { color: #991b1b; }
.glue-compare span { color: #065f46; font-weight: 600; }
.glue-home-kpis { margin-top: 1rem; display: grid; gap: .8rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.glue-home-kpis .glue-kpi strong { display: block; margin-bottom: .25rem; font-size: .98rem; color: #0f172a; }
.glue-home-kpis .glue-kpi p { margin: 0; color: #334155; }
.glue-service-snapshot { display: grid; gap: .9rem; grid-template-columns: 1.4fr 1fr 1fr; }
.glue-kpi { border: 1px solid var(--glue-border); border-radius: .9rem; padding: .95rem 1rem; background: #fff; }
.glue-kpi h2 { margin: 0 0 .45rem; font-size: 1rem; }
.glue-location-intro { display: grid; gap: 1rem; grid-template-columns: 1.35fr 1fr; }
.glue-section--cta { background: linear-gradient(170deg,#fff 0%,#f6f8fc 100%); }
.glue-card--cta { max-width: 760px; }
.glue-steps { margin: 0; padding-left: 1.2rem; display: grid; gap: .5rem; }
.glue-process-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(170px, 1fr)); gap: .8rem; overflow-x: auto; }
.glue-process-flow--wrapped { grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
.glue-process-flow--wrapped .glue-process-arrow { display: none; }
.glue-process-step { position: relative; border: 1px solid var(--glue-border); border-radius: .9rem; background: #fff; padding: .85rem .85rem .8rem; min-height: 88px; display: grid; gap: .45rem; align-content: start; }
.glue-process-icon { width: 1.2rem; height: 1.2rem; color: var(--glue-primary); display: inline-flex; }
.glue-process-icon svg, .glue-process-arrow svg { width: 100%; height: 100%; }
.glue-process-label { font-weight: 600; line-height: 1.3; }
.glue-process-arrow { position: absolute; right: -.52rem; top: 50%; transform: translateY(-50%); width: 1rem; height: 1rem; color: #9aa3b4; background: #fff; border: 1px solid var(--glue-border); border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; }
.glue-post-hero { background: linear-gradient(180deg,#fff 0%,#f8fafc 100%); border-bottom: 1px solid var(--glue-border); padding-bottom: 1.2rem; }
.glue-post-image { margin: 1rem 0 0; }
.glue-post-image img { width: 100%; height: auto; border-radius: .8rem; border: 1px solid var(--glue-border); }
.glue-case-study-image { width: 100%; height: auto; border-radius: .8rem; border: 1px solid var(--glue-border); display: block; }
.glue-case-card-image { display: block; margin: -.1rem -.1rem .8rem; }
.glue-case-card-image img { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; border: 1px solid var(--glue-border); border-radius: .75rem; display: block; }
.glue-faq-list { display: grid; gap: .8rem; }
.glue-faq-item { border: 1px solid var(--glue-border); border-radius: .8rem; padding: .8rem .95rem; background: #fff; }
.glue-faq-item summary { cursor: pointer; font-weight: 600; }
.glue-form { display: grid; gap: .8rem; }
.glue-form-row { margin: 0; display: grid; gap: .35rem; }
.glue-form-row input, .glue-form-row textarea, .glue-form-row select { width: 100%; border: 1px solid var(--glue-border); border-radius: .6rem; padding: .65rem .7rem; font: inherit; }
.glue-form-row--hp { position: absolute; left: -9999px; top: auto; }
.glue-form-msg { padding: .7rem .8rem; border-radius: .6rem; }
.glue-form-msg--success { background: #eaf9ef; border: 1px solid #9fd3ad; }
.glue-form-msg--error { background: #fff1f1; border: 1px solid #efb3b3; }
.glue-breadcrumbs ol { display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; list-style: none; margin: .8rem 0 0; padding: 0; color: var(--glue-muted); font-size: .92rem; }
.glue-breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: .4rem; }
.glue-pagination ul { list-style: none; display: flex; gap: .45rem; flex-wrap: wrap; padding: 0; margin: 1.1rem 0 0; }
.glue-pagination a, .glue-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; padding: .4rem .6rem; border: 1px solid var(--glue-border); border-radius: .55rem; text-decoration: none; }
.glue-pagination .current { background: #0f172a; color: #fff; border-color: #0f172a; }
.glue-site-footer { padding: 2.6rem 0; background: #0f172a; color: #e2e8f0; }
.glue-foot-grid { display: grid; gap: 1rem; grid-template-columns: 2fr 1fr; }
.glue-foot-grid--rich { grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr; }
.glue-foot-grid h2 { margin-top: 0; font-size: 1rem; }
.glue-foot-list { list-style: none; margin: .2rem 0 0; padding: 0; display: grid; gap: .35rem; }
.glue-foot-list a { color: #cbd5e1; text-decoration: none; }
.glue-foot-list a:hover { color: #fff; text-decoration: underline; }

.woocommerce div.product,
.woocommerce-page .woocommerce {
  border: 1px solid var(--glue-border);
  border-radius: .95rem;
  padding: 1rem;
  background: #fff;
}

@media (max-width: 960px) {
  .glue-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .glue-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .glue-grid--2, .glue-foot-grid, .glue-foot-grid--rich { grid-template-columns: 1fr; }
  .glue-service-snapshot { grid-template-columns: 1fr; }
  .glue-location-intro { grid-template-columns: 1fr; }
  .glue-nav-toggle { display: inline-block; }
  .glue-nav { position: absolute; left: 0; right: 0; top: 72px; background: #fff; border-bottom: 1px solid var(--glue-border); padding: .7rem 1rem; display: none; flex-direction: column; align-items: stretch; }
  .glue-nav.is-open { display: flex; }
  .glue-process-flow { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
  .glue-process-arrow { display: none; }
  .glue-process-flow--wrapped { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .glue-home-kpis { grid-template-columns: 1fr; }
  .glue-compare > div { grid-template-columns: 1fr; }
}

@media (max-width: 1180px) {
  .glue-foot-grid--rich { grid-template-columns: 1fr 1fr 1fr; }
}

@media (max-width: 640px) {
  .glue-grid--3, .glue-grid--4 { grid-template-columns: 1fr; }
  .glue-process-flow { grid-template-columns: 1fr; }
  .glue-process-flow--wrapped { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: no-preference) {
  .glue-process-step { animation: glueFadeUp .45s ease both; }
  .glue-process-step:nth-child(2) { animation-delay: .05s; }
  .glue-process-step:nth-child(3) { animation-delay: .1s; }
  .glue-process-step:nth-child(4) { animation-delay: .15s; }
  .glue-process-step:nth-child(5) { animation-delay: .2s; }
}

@keyframes glueFadeUp {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
