.elementor-2709 .elementor-element.elementor-element-f946735a{padding:0px 0px 0px 0px;}.elementor-2709 .elementor-element.elementor-element-5dc60831{padding:0px 0px 0px 0px;}.elementor-2709 .elementor-element.elementor-element-d88c3c6f{padding:0px 0px 0px 0px;}.elementor-2709 .elementor-element.elementor-element-0c48547d{padding:0px 0px 0px 0px;}.elementor-2709 .elementor-element.elementor-element-3e23a33b{padding:0px 0px 0px 0px;}.elementor-2709 .elementor-element.elementor-element-e0ad177a{padding:0px 0px 0px 0px;}.elementor-2709 .elementor-element.elementor-element-523bea60{padding:0px 0px 0px 0px;}.elementor-2709 .elementor-element.elementor-element-d90d1a69{padding:0px 0px 0px 0px;}.elementor-2709 .elementor-element.elementor-element-9c1cb18e{padding:0px 0px 0px 0px;}/* Start custom CSS *//* ======================================================================
   SERVICE PAGE TEMPLATE  (.sv)
   One template, nine blocks, copy swapped per service. Structure borrowed
   from Indi's three-tier architecture; card anatomy and objection-as-title
   from Andrew Lee Jenkins. Colours and type are SEO Monkey's own.
   No child combinators anywhere: Elementor escapes them in this field.
   ====================================================================== */
.sv{
  --gold:#FFC700; --gold-press:#E0AE00; --gold-ink:#8A6100;
  --ink:#0F172A; --ink-2:#1B2438; --rule-ink:#333D57;
  --paper:#FAF7F2; --paper-2:#F1ECE2; --paper-3:#E7E0D2;
  --line:#E0D8C4; --muted:#5A5750; --slate:#4E5462;
  font-family:Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink);
}
.sv *{ box-sizing:border-box; }
.sv-wrap{ max-width:75rem; margin:0 auto; padding:0 clamp(1.25rem,5vw,2.5rem); }
.sv-band{ width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); }
.sv-pad{ padding:clamp(3.5rem,7vw,6rem) 0; }

.sv-chip{
  display:inline-block; margin:0 0 1.125rem; padding:.4375rem 1rem;
  border-radius:999px; background:var(--gold); color:var(--ink);
  font:700 .78125rem/1 Poppins,system-ui,sans-serif;
  letter-spacing:.07em; text-transform:uppercase;
}
.sv-kick{
  display:block; margin:0 0 .875rem;
  font:700 .78125rem/1 Poppins,system-ui,sans-serif;
  letter-spacing:.11em; text-transform:uppercase; color:#7A5600;
}
.sv-h2{
  margin:0; font-weight:800; letter-spacing:-.025em; line-height:1.1;
  font-size:clamp(1.625rem,3.6vw,2.75rem); text-wrap:balance;
}
.sv-h2 em{ font-style:normal; color:var(--gold-ink); }
.sv-lead{
  margin:1rem 0 0; max-width:60ch;
  font:400 clamp(1rem,1.25vw,1.125rem)/1.65 Poppins,system-ui,sans-serif;
  color:var(--slate);
}

/* ---------- hero ---------- */
.sv-hero{
  position:relative; overflow:hidden; isolation:isolate;
  background:var(--ink); color:var(--paper);
  padding:clamp(3rem,6vw,5rem) 0 clamp(3rem,6vw,4.5rem);
}
.sv-hero::before{
  content:""; position:absolute; inset:0; z-index:-2;
  background-image:url("https://seomonkey.co.nz/wp-content/uploads/2026/08/sm-hd-t1200.jpg");
  background-size:cover; background-position:54% 40%;
  filter:grayscale(1) contrast(1.1); opacity:.30;
}
.sv-hero::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,rgba(15,23,42,.84) 0%,rgba(15,23,42,.68) 45%,rgba(15,23,42,.95) 100%);
}
.sv-hero-in{
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(1.5rem,4vw,3.5rem); align-items:center;
}
/* the keyword phrase is the h1, sized as a chip; the display line is a div.
   Google gets the exact-match heading, the reader gets the big line. */
.sv-hero-display{
  margin:0; font-weight:800; letter-spacing:-.03em; line-height:1.04;
  font-size:clamp(2rem,4.6vw,3.5rem); color:var(--paper); text-wrap:balance;
}
.sv-hero-display em{ font-style:normal; color:var(--gold); }
.sv-hero p{
  margin:1.125rem 0 0; max-width:46ch;
  font:400 clamp(1rem,1.3vw,1.125rem)/1.6 Poppins,system-ui,sans-serif; color:#E4E0D8;
}
.sv-cta{ display:flex; flex-wrap:wrap; gap:.875rem; margin-top:clamp(1.5rem,3vw,2.25rem); }
.sv-btn, .sv-btn2{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:3.25rem; padding:0 1.75rem; border-radius:999px;
  font:700 1rem Poppins,system-ui,sans-serif; text-decoration:none; white-space:nowrap;
  transition:background .2s cubic-bezier(.16,1,.3,1), transform .2s cubic-bezier(.16,1,.3,1);
}
.sv-btn{ background:var(--gold); color:var(--ink); }
.sv-btn:hover{ background:var(--gold-press); color:var(--ink); transform:translateY(-2px); }
.sv-btn2{ color:var(--paper); border:2px solid rgba(250,247,242,.42); }
.sv-btn2:hover{ border-color:var(--gold); background:rgba(255,199,0,.1); color:var(--paper); transform:translateY(-2px); }
.sv-btn:focus-visible, .sv-btn2:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; }
.sv-mascot{ display:block; width:100%; max-width:20rem; margin:0 auto; height:auto; }
.sv-hero-proof{
  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem .75rem;
  margin:clamp(1.25rem,2.4vw,1.75rem) 0 0;
  font:400 .9375rem Poppins,system-ui,sans-serif; color:#DCD8CE;
}
.sv-hero-proof b{ color:var(--paper); font-weight:700; }
.sv-stars{ color:var(--gold); letter-spacing:.14em; }

/* ---------- pain block ---------- */
.sv-pain{ background:var(--paper-2); }
.sv-pain-in{
  display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(1.5rem,4vw,3rem); align-items:center;
}
.sv-pain p{
  margin:1rem 0 0; max-width:58ch;
  font:400 clamp(1rem,1.2vw,1.0625rem)/1.7 Poppins,system-ui,sans-serif; color:var(--slate);
}
.sv-pain p.sv-slap{
  margin-top:1.25rem;
  font:700 clamp(1.0625rem,1.6vw,1.25rem)/1.5 Poppins,system-ui,sans-serif; color:var(--ink);
}

/* ---------- card grids ---------- */
.sv-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.125rem; margin-top:clamp(1.75rem,3.4vw,2.75rem); }
.sv-grid-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.sv-card{
  background:#fff; border:1px solid var(--line); border-radius:16px;
  padding:1.625rem 1.5rem 1.5rem; position:relative; overflow:hidden;
  transition:border-color .2s cubic-bezier(.16,1,.3,1), box-shadow .2s cubic-bezier(.16,1,.3,1), transform .2s cubic-bezier(.16,1,.3,1);
}
.sv-card::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--gold); opacity:0; transition:opacity .2s cubic-bezier(.16,1,.3,1);
}
.sv-card:hover{ border-color:#D3CAB2; box-shadow:0 14px 30px rgba(15,23,42,.07); transform:translateY(-2px); }
.sv-card:hover::before{ opacity:1; }
.sv-tag{
  display:inline-block; margin:0 0 .75rem; padding:.3125rem .625rem; border-radius:6px;
  background:var(--gold); color:var(--ink);
  font:700 .75rem/1.2 Poppins,system-ui,sans-serif; letter-spacing:.03em; text-transform:uppercase;
}
.sv-card.bad .sv-tag{ background:#FEE2E2; color:#9B1C2E; }
.sv-micro{ display:block; margin:0 0 .5rem; font:700 .875rem/1.4 Poppins,system-ui,sans-serif; color:var(--ink); }
.sv-card p{ margin:0; font:400 .9375rem/1.65 Poppins,system-ui,sans-serif; color:var(--slate); }

/* ---------- steps ---------- */
.sv-steps{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.125rem; margin-top:clamp(1.75rem,3.4vw,2.75rem); counter-reset:svstep; }
.sv-step{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:1.75rem 1.5rem; }
.sv-step b{
  display:block; margin:0 0 .75rem;
  font:800 2rem/1 Poppins,system-ui,sans-serif; color:var(--gold-ink); letter-spacing:-.02em;
}
.sv-step h3{ margin:0 0 .5rem; font:800 1.0625rem/1.35 Poppins,system-ui,sans-serif; }
.sv-step p{ margin:0; font:400 .9375rem/1.65 Poppins,system-ui,sans-serif; color:var(--slate); }

/* ---------- proof strip ---------- */
.sv-proof{ background:var(--ink); color:var(--paper); }
.sv-proof .sv-kick{ color:var(--gold); }
.sv-proof .sv-h2{ color:var(--paper); }
.sv-proof .sv-h2 em{ color:var(--gold); }
.sv-proof .sv-lead{ color:#DCD8CE; }
.sv-nums{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,2.4vw,2rem); margin-top:clamp(1.75rem,3.4vw,2.5rem); padding-top:clamp(1.5rem,3vw,2rem); border-top:1px solid var(--rule-ink); }
.sv-nums b{ display:block; font:800 clamp(1.875rem,3.6vw,2.75rem)/1 Poppins,system-ui,sans-serif; color:var(--gold); letter-spacing:-.02em; }
.sv-nums span{ display:block; margin-top:.5rem; max-width:26ch; font:400 .875rem/1.55 Poppins,system-ui,sans-serif; color:#C9C4B8; }

/* ---------- cta band ---------- */
.sv-cta-band{ background:var(--paper-2); border-top:1px solid var(--paper-3); border-bottom:1px solid var(--paper-3); }
.sv-cta-in{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.25rem 2.5rem; padding:clamp(2rem,4vw,3rem) 0; }
.sv-cta-in .sv-h3{ margin:0; font:800 clamp(1.25rem,2.2vw,1.625rem)/1.25 Poppins,system-ui,sans-serif; letter-spacing:-.02em; text-wrap:balance; }
.sv-cta-in p{ margin:.4375rem 0 0; font:400 .9375rem/1.55 Poppins,system-ui,sans-serif; color:var(--muted); }

/* ---------- pairs with ---------- */
.sv-pairs{ display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin-top:1.25rem; }
.sv-pill{
  display:inline-flex; align-items:center; padding:.625rem 1.125rem; border-radius:999px;
  border:1px solid var(--line); background:#fff; color:var(--ink); text-decoration:none;
  font:600 .875rem/1 Poppins,system-ui,sans-serif;
  transition:border-color .2s cubic-bezier(.16,1,.3,1), background .2s cubic-bezier(.16,1,.3,1);
}
.sv-pill:hover{ border-color:var(--gold); background:#FFFDF4; color:var(--ink); }
.sv-pill:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; }

/* ---------- faq ---------- */
.sv-faq-in{ display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:clamp(1.5rem,4vw,3rem); align-items:start; }
.sv-q{
  background:#fff; border:1px solid var(--line); border-radius:14px;
  margin-bottom:.75rem; overflow:hidden;
  transition:border-color .2s cubic-bezier(.16,1,.3,1);
}
.sv-q[open]{ border-color:rgba(255,199,0,.75); }
.sv-q:hover{ border-color:#D3CAB2; }
.sv-q summary{
  display:flex; align-items:flex-start; justify-content:space-between; gap:1rem;
  padding:1.125rem 1.375rem; cursor:pointer; list-style:none;
  font:700 1rem/1.4 Poppins,system-ui,sans-serif; color:var(--ink);
}
.sv-q summary::-webkit-details-marker{ display:none; }
.sv-q summary::marker{ content:''; }
.sv-q summary::after{ content:'+'; flex:0 0 auto; font:700 1.5rem/1 Poppins,system-ui,sans-serif; color:var(--gold-ink); }
.sv-q[open] summary::after{ content:'−'; }
.sv-q summary:focus-visible{ outline:3px solid var(--gold); outline-offset:-3px; border-radius:14px; }
.sv-q .sv-a{ padding:0 1.375rem 1.25rem; }
.sv-q .sv-a p{ margin:0; font:400 .9375rem/1.7 Poppins,system-ui,sans-serif; color:var(--slate); max-width:62ch; }
.sv-q .sv-a p + p{ margin-top:.75rem; }

/* ---------- closing ---------- */
.sv-close{ background:var(--ink); color:var(--paper); border-top:4px solid var(--gold); text-align:center; }
.sv-close .sv-h2{ color:var(--paper); }
.sv-close .sv-h2 em{ color:var(--gold); }
.sv-close .sv-lead{ color:#DCD8CE; margin-left:auto; margin-right:auto; }
.sv-close .sv-cta{ justify-content:center; }
.sv-note{ margin:1.125rem 0 0; font:400 .875rem Poppins,system-ui,sans-serif; color:var(--muted-inv,#A9A497); }

/* ---------- responsive ---------- */
@media (max-width:60rem){
  .sv-grid, .sv-steps, .sv-nums{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:48rem){
  .sv-hero-in, .sv-pain-in, .sv-faq-in{ grid-template-columns:minmax(0,1fr); }
  .sv-mascot{ max-width:13rem; }
  .sv-grid, .sv-grid-2, .sv-steps, .sv-nums{ grid-template-columns:minmax(0,1fr); }
  .sv-cta{ flex-direction:column; align-items:stretch; }
  .sv-btn, .sv-btn2{ width:100%; }
  .sv-cta-in{ flex-direction:column; align-items:flex-start; }
  .sv-chip{ font-size:.6875rem; letter-spacing:.04em; }
}
@media (prefers-reduced-motion: reduce){
  .sv-card, .sv-card::before, .sv-btn, .sv-btn2, .sv-pill, .sv-q{ transition:none; }
}

/* --- service template additions ---------------------------------------- */
.sv-mascot-sm{ width:clamp(4rem,7vw,5.5rem); margin:0; flex:0 0 auto; }
.sv-mascot-faq{ max-width:11rem; margin-top:1.5rem; }
.sv-close .sv-mascot{ max-width:9rem; margin:0 auto 1.25rem; }
.sv-cta-in .sv-mascot-sm{ align-self:center; }
.sv-pain .sv-mascot{ max-width:17rem; }
@media (max-width:48rem){
  .sv-cta-in .sv-mascot-sm{ width:4.5rem; }
  .sv-pain .sv-mascot{ max-width:11rem; }
  .sv-mascot-faq{ max-width:8rem; }
}

/* FIX: mascot normalisation - one box per pose, bottom aligned */
.sv-mascot, .kk-monkey{ display:block; width:var(--mk-w,130px); height:var(--mk-h,150px); object-fit:contain; object-position:bottom center; transform:scale(var(--mk-s,1)); transform-origin:bottom center; }
.sv-mascot-sm, .kk-monkey-faq{ --mk-w:90px; --mk-h:104px; }
.sv-mascot-faq{ --mk-w:104px; --mk-h:120px; }
.kk-monkey-dazed{ --mk-w:200px; --mk-h:230px; }
img[src*="sm-monkey-magnet"]{ --mk-s:1.55; }
img[src*="sm-monkey-mappin"]{ --mk-s:1.50; }
img[src*="sm-monkey-hanging"]{ --mk-s:1.50; }
img[src*="sm-monkey-celebrate"]{ --mk-s:1.45; }
img[src*="sm-monkey-phonecall"]{ --mk-s:1.35; }
img[src*="sm-monkey-shopfront"]{ --mk-s:1.20; }
img[src*="sm-monkey-funnel"]{ --mk-s:1.15; }
img[src*="sm-monkey-chart"]{ --mk-s:1.10; }
img[src*="sm-monkey-magnify"]{ --mk-s:0.95; }
img[src*="sm-monkey-point"]{ --mk-s:0.95; }
img[src*="sm-monkey-thinking"]{ --mk-s:0.92; }/* End custom CSS */