/* Amped Up Electrical Adelaide — shared theme: blog (generation A)
   Extracted from 36 pages that each carried an identical copy inline.
   Edit here, not per page. */
@font-face{font-family:'Satoshi';font-weight:400;font-style:normal;font-display:swap;src:url('/assets/fonts/satoshi-400.woff2') format('woff2')}@font-face{font-family:'Satoshi';font-weight:500;font-style:normal;font-display:swap;src:url('/assets/fonts/satoshi-500.woff2') format('woff2')}@font-face{font-family:'Satoshi';font-weight:700;font-style:normal;font-display:swap;src:url('/assets/fonts/satoshi-700.woff2') format('woff2')}@font-face{font-family:'Satoshi';font-weight:900;font-style:normal;font-display:swap;src:url('/assets/fonts/satoshi-900.woff2') format('woff2')}
:root {
  --navy: #1a2744;
  --gold: #d4a843;
  --accent: #14213d;
  --accent-hover: #0c1326;
  --white: #ffffff;
  --off-white: #efebe2;
  --bg: #f6f4ef;
  --panel: #ffffff;
  --text: #283042;
  --muted: #5a6478;
  --light-muted: #8b93a3;
  --border: #e5e1d6;
  --green: #22c55e;
  --shadow-sm: 0 1px 2px rgba(20,33,61,.05);
  --shadow-md: 0 10px 30px rgba(20,33,61,.10);
  --shadow-lg: 0 24px 60px rgba(20,26,42,.16);
  --radius: 12px;
  --radius-lg: 20px;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Satoshi', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
.wrap { max-width: 1140px; margin: 0 auto; padding: 0 24px; }

/* TRUST BAR */
.trustBar {
  background: var(--navy); color: var(--white);
  padding: 10px 20px;
  display: flex; align-items: center; justify-content: center;
  gap: 28px; font-size: 13px; font-weight: 500;
}
.trustBar .liveDot {
  width: 8px; height: 8px; border-radius: 50%; background: var(--green);
  animation: pulse 1.5s ease-in-out infinite; flex-shrink: 0;
}
@keyframes pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(34,197,94,.5); }
  50% { box-shadow: 0 0 0 6px rgba(34,197,94,0); }
}
.trustBar .tbItems { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; justify-content: center; }
.trustBar .tbItems span { display: flex; align-items: center; gap: 6px; font-size: 12px; letter-spacing: .3px; }
.trustBar .tbItems span::before {
  content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--gold); flex-shrink: 0;
}
.trustBar .tbItems span:first-child::before { display: none; }
.tbTime { color: rgba(255,255,255,.62); font-size: 11px; font-weight: 400; }
.tbCall {
  background: #c9a24a; color: #0c1326; padding: 6px 16px; border-radius: 6px;
  font-weight: 800; font-size: 12px; white-space: nowrap; transition: filter .2s; letter-spacing: .3px;
}
.tbCall:hover { filter: brightness(1.06); }
.tbSocials { display: inline-flex; gap: 6px; align-items: center; }
.tbSocials a {
  display: inline-flex; width: 26px; height: 26px;
  align-items: center; justify-content: center; border-radius: 6px;
  background: rgba(255,255,255,.08); color: rgba(255,255,255,.85);
  transition: background .2s, color .2s;
}
.tbSocials a:hover { background: var(--accent); color: var(--navy); }

/* HEADER */
.header { background: rgba(250,249,246,.92); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--border); padding: 16px 0; }
.headerInner { display: flex; align-items: center; justify-content: space-between; }
.logo { height: 96px; width: auto; }
.headerNav { display: flex; gap: 6px; align-items: center; }
.navDropdown { position: relative; }
.navBtn {
  padding: 9px 16px; border-radius: 8px; background: transparent;
  border: 1px solid var(--border); color: var(--text); font-weight: 600;
  cursor: pointer; font-size: 13px; transition: all .2s;
}
.navBtn:hover { border-color: var(--accent); color: var(--accent); }
.navBtn.active { background: rgba(201,162,74,.10); border-color: rgba(201,162,74,.4); color: var(--accent); }
.dropdownMenu {
  display: none; position: absolute; top: 100%; left: 0; min-width: 260px;
  background: var(--panel); border: 1px solid var(--border); border-radius: 12px;
  padding: 6px; box-shadow: var(--shadow-lg); z-index: 50; padding-top: 10px; margin-top: 0;
}
.dropdownMenu::before { content: ''; position: absolute; top: -8px; left: 0; right: 0; height: 8px; }
.navDropdown:hover .dropdownMenu { display: block; }
.dropdownMenu a {
  display: flex; align-items: center; gap: 10px; padding: 10px 14px;
  border-radius: 8px; font-size: 13px; transition: all .15s;
}
.dropdownMenu a:hover { background: var(--off-white); color: var(--accent); }
.headerActions { display: flex; gap: 8px; }
.btn {
  padding: 10px 20px; border-radius: 8px; border: 1px solid var(--border);
  background: #ffffff; color: var(--navy); font-weight: 700; cursor: pointer;
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  transition: all .2s; font-size: 13px;
}
.btn:hover { border-color: var(--accent); color: var(--accent); }
.btn.primary { border: none; background: #14213d; color: #fff; font-weight: 800; }
.btn.primary:hover { background: var(--accent-hover); }

/* FOOTER */
footer { padding: 40px 0; text-align: center; font-size: 13px; color: var(--muted); border-top: 1px solid var(--border); }
footer a { color: var(--accent); }
footer a:hover { text-decoration: underline; }

/* STICKY DESKTOP CALL */
.stickyCallBtn {
  position: fixed; bottom: 20px; right: 20px; z-index: 90;
  background: #c9a24a; color: #0c1326; padding: 14px 24px;
  border-radius: 999px; font-weight: 800; font-size: 14px;
  box-shadow: var(--shadow-lg); transition: all .2s;
}
.stickyCallBtn:hover { background: var(--accent-hover); transform: scale(1.05); }

/* MOBILE STICKY CALL */
.mobileStickyCall { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 999;
  padding: 12px 16px; background: linear-gradient(135deg,#0f1117,#1a1d24);
  border-top: 2px solid var(--accent); box-shadow: 0 -8px 24px rgba(0,0,0,.3);
}
.mobileStickyCall a {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; padding: 14px;
  background: linear-gradient(135deg,#c9a24a,#b0863a);
  color: #111; font-weight: 900; font-size: 17px; border-radius: 12px;
  text-decoration: none; box-shadow: 0 4px 12px rgba(201,162,74,.4);
}
.mobileStickyCall a:active { transform: scale(.98); }

@media (max-width: 900px) {
  .trustBar .tbItems { display: none; }
  .headerNav { display: none; }
}
@media (max-width: 600px) {
  .stickyCallBtn { bottom: 80px; right: 12px; padding: 12px 20px; font-size: 13px; }
  .logo { height: 72px !important; }
  .headerActions .btn:not(.primary) { display: none; }
  .headerActions .btn.primary { padding: 9px 14px; font-size: 12px; }
  .trustBar { gap: 12px; padding: 8px 14px; flex-wrap: wrap; }
  .tbSocials a { width: 24px; height: 24px; }
}
@media (max-width: 768px) { .mobileStickyCall { display: block; } body { padding-bottom: 80px; } }


.postShell { padding: 36px 0 60px; }
.backLink { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 13px; font-weight: 600; margin-bottom: 22px; padding: 6px 12px; border-radius: 8px; border: 1px solid var(--border); transition: all .2s; }
.backLink:hover { color: var(--accent); border-color: var(--accent); }
.postBody { background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 56px clamp(24px,5vw,72px); box-shadow: var(--shadow-sm); max-width: 880px; margin: 0 auto; }
.postBody h1 { font-family: 'Satoshi',system-ui,-apple-system,sans-serif; font-weight: 700; font-size: clamp(30px, 4vw, 44px); line-height: 1.1; letter-spacing: .015em; margin-bottom: 22px; color: var(--text); }
.postBody h2 { font-size: clamp(22px, 2.6vw, 28px); margin: 40px 0 14px; color: var(--text); letter-spacing: -.01em; }
.postBody h3 { font-size: clamp(17px, 1.9vw, 20px); margin: 28px 0 10px; color: var(--text); }
.postBody p { font-size: 16px; line-height: 1.75; color: var(--text); margin-bottom: 16px; }
.postBody ul, .postBody ol { margin: 8px 0 18px 22px; }
.postBody li { font-size: 16px; line-height: 1.7; color: var(--text); margin-bottom: 8px; }
.postBody a { color: var(--accent); font-weight: 600; }
.postBody a:hover { text-decoration: underline; }
.postBody strong { color: var(--text); font-weight: 700; }
.postBody blockquote { border-left: 3px solid var(--accent); padding: 8px 16px; margin: 16px 0; color: var(--muted); font-style: italic; background: var(--off-white); border-radius: 0 8px 8px 0; }
.postBody hr { border: none; border-top: 1px solid var(--border); margin: 28px 0; }
.postBody img { border-radius: 12px; margin: 16px 0; }

.postCta { background: var(--navy); color: var(--white); border-radius: var(--radius-lg); padding: 44px 32px; text-align: center; margin: 36px auto 0; max-width: 880px; }
.postCta h3 { color: var(--white); font-size: 22px; margin-bottom: 8px; }
.postCta p { color: rgba(255,255,255,.7); font-size: 14px; margin-bottom: 20px; }
.postCta .btn.primary { font-size: 15px; padding: 13px 26px; }
.postCta .btn { margin: 0 4px; }

@media (max-width: 600px) { .postBody { padding: 28px 22px; } .postBody h1 { font-size: 26px; } }

/* ============================================================
   BLOG VISUAL REFRESH 2026-08-09 — appended to theme-blog*.css
   CSS only. Covers all 76 blog posts.
   ============================================================ */

/* --- 1. Load Anton -------------------------------------------
   assets/fonts/anton-latin.woff2 has been sitting in the repo
   unreferenced: no @font-face anywhere declared it, so every post
   title fell back to Arial Narrow / Impact — a face nobody chose.
   Declaring it makes the existing design render as intended. */
@font-face{
  font-family:'Anton';
  font-weight:400;
  font-style:normal;
  font-display:swap;
  src:url('/assets/fonts/anton-latin.woff2') format('woff2');
}

/* --- 2. Article readability ----------------------------------
   These are long-form pages whose whole job is being read. 16px at
   1.75 is tight for that; 17.5/1.78 with a capped measure is the
   comfortable range for body copy. */
.postBody p,
.postBody li{
  font-size:17.5px;
  line-height:1.78;
  color:#2f3a4f;
}
.postBody p{ margin-bottom:20px; }
.postBody li{ margin-bottom:10px; }

/* Keep the measure readable even on wide screens. */
.postBody > p,
.postBody > ul,
.postBody > ol,
.postBody > h2,
.postBody > h3{
  max-width:68ch;
}

/* --- 3. Heading rhythm ---------------------------------------- */
.postBody h1{
  letter-spacing:.005em;
  margin-bottom:18px;
}
.postBody h2{
  font-family:'Satoshi',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-weight:700;
  letter-spacing:-.022em;
  margin:46px 0 12px;
  color:var(--accent,#14213d);
}
.postBody h3{
  font-family:'Satoshi',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-weight:700;
  letter-spacing:-.015em;
  margin:32px 0 10px;
}

/* --- 4. In-body links -----------------------------------------
   Bold navy on near-navy body text made whole paragraphs read as
   link soup. Same colour, normal weight, a quiet gold underline
   that only strengthens on hover. */
.postBody p a,
.postBody li a{
  font-weight:500;
  text-decoration:none;
  border-bottom:1px solid rgba(201,162,74,.55);
  transition:border-color .18s, color .18s;
}
.postBody p a:hover,
.postBody li a:hover{
  border-bottom-color:var(--accent,#14213d);
}

/* --- 5. Mid-article CTA ---------------------------------------
   The solid mustard block was the loudest thing on the page and
   competed with the writing. Softer wash, navy heading. */
.postBody .callout,
.postBody div[style*="c9a24a"]{
  border-radius:18px;
}

/* --- 6. Focus visibility -------------------------------------- */
.postBody a:focus-visible,
.postCta a:focus-visible{
  outline:2px solid #b0863a;
  outline-offset:2px;
  border-radius:5px;
}

/* --- 7. Mobile ------------------------------------------------- */
@media (max-width:768px){
  .postBody p, .postBody li{ font-size:17px; line-height:1.72; }
  .postBody h2{ margin:34px 0 10px; }
}
