/* ── RESET & VARS ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0D1B2A;--navy-mid:#1A2E45;
  --gold:#C9A84C;--gold-light:#E8C96E;--gold-pale:#F9F2E2;
  --teal:#1E7A6E;--teal-light:#25998A;
  --white:#fff;--offwhite:#F7F6F2;
  --gray:#8A8A8A;--gray-dark:#3D3D3D;--border:#E2DFD6;
  --text:#1A1A1A;
}
body{font-family:'DM Sans',sans-serif;color:var(--text);background:var(--white);font-size:15px;line-height:1.7}

/* ══════════════════════════════════════
   NAV (same as other pages)
══════════════════════════════════════ */
.topbar{background:var(--navy);color:rgba(255,255,255,.65);font-size:12px;padding:7px 0}
.topbar-inner{max-width:1240px;margin:0 auto;padding:0 28px;display:flex;justify-content:space-between;align-items:center}
.topbar a{color:var(--gold-light);text-decoration:none}

.site-nav{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:300;box-shadow:0 2px 20px rgba(13,27,42,.08)}
.nav-inner{max-width:1240px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;height:70px}
.nav-logo{display:flex;align-items:center;text-decoration:none}
.nav-links-simple{display:flex;align-items:center;gap:2px}
.nav-links-simple a{font-size:13.5px;font-weight:500;color:var(--gray-dark);text-decoration:none;padding:8px 13px;border-radius:6px}
.nav-links-simple a:hover,.nav-links-simple a.active{background:var(--offwhite);color:var(--navy)}
.nav-links-simple .has-drop::after{content:' ▾';font-size:9px;opacity:.5}
.nav-cta{background:var(--gold);color:var(--navy);font-size:13.5px;font-weight:700;padding:10px 22px;border-radius:7px;text-decoration:none}

/* ══════════════════════════════════════
   BREADCRUMB
══════════════════════════════════════ */
.breadcrumb{background:var(--offwhite);border-bottom:1px solid var(--border);padding:10px 0}
.bc-inner{max-width:1240px;margin:0 auto;padding:0 28px;font-size:12.5px;color:var(--gray);display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.bc-inner a{color:var(--teal);text-decoration:none}
.bc-inner a:hover{text-decoration:underline}

/* ══════════════════════════════════════
   SERVICE HERO BANNER
══════════════════════════════════════ */
.service-banner{
  background:var(--navy);
  padding:56px 0 52px;
  position:relative;overflow:hidden;
}
.sb-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(201,168,76,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,.05) 1px,transparent 1px);
  background-size:48px 48px;
}
.sb-accent{
  position:absolute;right:-60px;top:-60px;
  width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,.1) 0%,transparent 70%);
}
.sb-accent2{
  position:absolute;left:-40px;bottom:-40px;
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(30,122,110,.12) 0%,transparent 70%);
}
.sb-inner{
  max-width:1240px;margin:0 auto;padding:0 28px;
  display:grid;grid-template-columns:1fr 360px;
  gap:48px;align-items:center;
  position:relative;z-index:2;
}

/* Left text side */
.sb-label{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.3);
  border-radius:100px;padding:5px 14px;
  font-size:11px;font-weight:600;color:var(--gold-light);
  letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;
}
.sb-label-dot{width:5px;height:5px;background:var(--gold);border-radius:50%}
.sb-title{
  font-family:'Playfair Display',serif;font-size:42px;font-weight:700;
  color:var(--white);line-height:1.2;margin-bottom:16px;
}
.sb-excerpt{
  font-size:15.5px;color:rgba(255,255,255,.62);
  line-height:1.75;margin-bottom:28px;max-width:580px;
}
.sb-tags{display:flex;flex-wrap:wrap;gap:9px}
.sb-tag{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);
  border-radius:6px;padding:6px 13px;
  font-size:12.5px;font-weight:500;color:rgba(255,255,255,.8);
}

/* Right image side */
.sb-image{
  border-radius:16px;overflow:hidden;
  aspect-ratio:16/10;
  background:linear-gradient(135deg,#1A2E45 0%,#0D1B2A 100%);
  border:1px solid rgba(255,255,255,.1);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;
}
.sb-image img{width:100%;height:100%;object-fit:cover;display:block}
.sb-ph-icon{font-size:52px;opacity:.35}
.sb-ph-label{
  font-size:10.5px;font-weight:600;letter-spacing:1.5px;
  text-transform:uppercase;color:rgba(201,168,76,.5);
  text-align:center;padding:0 16px;
}
.sb-ph-dim{font-size:10px;color:rgba(255,255,255,.2)}

/* ══════════════════════════════════════
   MAIN CONTENT WRAPPER
══════════════════════════════════════ */
.service-content-wrap{
  max-width:1240px;margin:0 auto;
  padding:56px 28px 80px;
  display:grid;
  grid-template-columns:1fr 300px;
  gap:48px;
  align-items:start;
}

/* ══════════════════════════════════════
   THE_CONTENT() AREA — RICH TYPOGRAPHY
   All styles scoped to .entry-content
   so they won't bleed into other areas.
══════════════════════════════════════ */
.entry-content{
  /* Base text */
  font-family:'DM Sans',sans-serif;
  font-size:15px;
  line-height:1.8;
  color:var(--gray-dark);
  /* Remove any inherited list styles */
  word-break:break-word;
}

/* ── Headings ── */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6{
  font-family:'Playfair Display',serif;
  color:var(--navy);
  line-height:1.3;
  margin-top:2em;
  margin-bottom:.6em;
}
/* First heading: no top margin */
.entry-content > :first-child{ margin-top:0 }

.entry-content h1{ font-size:34px;font-weight:700 }
.entry-content h2{
  font-size:26px;font-weight:700;
  padding-bottom:10px;
  border-bottom:2px solid var(--gold-pale);
  position:relative;
}
/* Gold accent left rule on h2 */
.entry-content h2::before{
  content:'';position:absolute;
  left:0;bottom:-2px;width:48px;height:2px;
  background:var(--gold);
}
.entry-content h3{
  font-size:21px;font-weight:600;
  color:var(--navy-mid);
}
.entry-content h4{ font-size:17px;font-weight:600;color:var(--navy) }
.entry-content h5{ font-size:15px;font-weight:700;color:var(--gray-dark);font-family:'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.8px }
.entry-content h6{ font-size:13px;font-weight:700;color:var(--gray);font-family:'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:1px }

/* ── Paragraphs ── */
.entry-content p{
  margin-bottom:1.4em;
  font-size:15px;
  line-height:1.8;
  color:var(--gray-dark);
}
.entry-content p:last-child{ margin-bottom:0 }

/* ── Lead paragraph (add class="lead" in editor) ── */
.entry-content p.lead{
  font-size:17px;
  color:var(--navy);
  font-weight:400;
  line-height:1.7;
  border-left:3px solid var(--gold);
  padding-left:20px;
  margin-bottom:1.6em;
}

/* ── Links ── */
.entry-content a{
  color:var(--teal);
  text-decoration:underline;
  text-underline-offset:2px;
  transition:color .15s;
}
.entry-content a:hover{ color:var(--navy) }

/* ── Unordered lists ── */
.entry-content ul{
  list-style:none;
  margin:0 0 1.4em 0;
  padding:0;
  display:flex;flex-direction:column;gap:8px;
}
.entry-content ul li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:15px;color:var(--gray-dark);line-height:1.65;
  padding-left:0;
}
.entry-content ul li::before{
  content:'';
  width:8px;height:8px;
  background:var(--gold);
  border-radius:50%;
  flex-shrink:0;
  margin-top:7px;
}
/* Nested ul */
.entry-content ul ul{
  margin-top:8px;margin-bottom:0;
  padding-left:20px;
}
.entry-content ul ul li::before{
  background:transparent;
  border:2px solid var(--teal);
}

/* ── Ordered lists ── */
.entry-content ol{
  list-style:none;
  margin:0 0 1.4em 0;
  padding:0;
  counter-reset:ttc-counter;
  display:flex;flex-direction:column;gap:10px;
}
.entry-content ol li{
  display:flex;align-items:flex-start;gap:12px;
  font-size:15px;color:var(--gray-dark);line-height:1.65;
  counter-increment:ttc-counter;
}
.entry-content ol li::before{
  content:counter(ttc-counter);
  min-width:26px;height:26px;
  background:var(--navy);color:var(--white);
  font-size:12px;font-weight:700;
  border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:2px;
}
/* Nested ol */
.entry-content ol ol{ margin-top:8px;margin-bottom:0;padding-left:20px }
.entry-content ol ol li::before{ background:var(--teal);font-size:11px;min-width:22px;height:22px;border-radius:4px }

/* ── Blockquote ── */
.entry-content blockquote{
  margin:2em 0;
  padding:28px 32px;
  background:var(--navy);
  border-left:5px solid var(--gold);
  border-radius:0 12px 12px 0;
  position:relative;
}
.entry-content blockquote::before{
  content:'\201C';
  font-family:'Playfair Display',serif;
  font-size:80px;line-height:1;
  color:var(--gold);opacity:.3;
  position:absolute;top:10px;left:24px;
}
.entry-content blockquote p{
  font-size:17px;font-style:italic;
  color:rgba(255,255,255,.85);
  line-height:1.7;margin-bottom:10px;
  padding-left:32px;position:relative;z-index:1;
}
.entry-content blockquote cite{
  display:block;
  font-size:13px;font-style:normal;font-weight:600;
  color:var(--gold-light);
  padding-left:32px;position:relative;z-index:1;
}
.entry-content blockquote cite::before{ content:'— ' }

/* ── Pull quote (alternate style: class="pullquote") ── */
.entry-content .pullquote{
  border-left:none;
  border-top:3px solid var(--gold);
  border-bottom:3px solid var(--gold);
  background:var(--gold-pale);
  border-radius:0;padding:24px 28px;
  text-align:center;
}
.entry-content .pullquote::before{ display:none }
.entry-content .pullquote p{
  font-family:'Playfair Display',serif;
  font-size:20px;color:var(--navy);
  font-style:italic;padding-left:0;
}

/* ── Horizontal Rule ── */
.entry-content hr{
  border:none;
  height:1px;
  background:linear-gradient(to right,var(--gold),transparent);
  margin:2.5em 0;
  opacity:.4;
}

/* ── Tables ── */
.entry-content table{
  width:100%;border-collapse:collapse;
  margin:1.6em 0;font-size:14px;
  border-radius:10px;overflow:hidden;
  border:1px solid var(--border);
}
.entry-content table thead tr{ background:var(--navy) }
.entry-content table thead th{
  padding:12px 16px;text-align:left;
  font-size:12px;font-weight:700;
  color:rgba(255,255,255,.85);
  letter-spacing:.4px;text-transform:uppercase;
}
.entry-content table tbody tr{ border-bottom:1px solid #F0EDE6 }
.entry-content table tbody tr:last-child{ border-bottom:none }
.entry-content table tbody tr:nth-child(even){ background:var(--offwhite) }
.entry-content table tbody tr:hover{ background:#F5F3EC }
.entry-content table tbody td{
  padding:12px 16px;
  color:var(--gray-dark);line-height:1.5;
}

/* ── Images ── */
.entry-content img{
  max-width:100%;height:auto;
  border-radius:10px;
  display:block;margin:1.6em 0;
}
.entry-content img.alignleft{
  float:left;margin:0.4em 24px 1em 0;
  max-width:45%;
}
.entry-content img.alignright{
  float:right;margin:0.4em 0 1em 24px;
  max-width:45%;
}
.entry-content img.aligncenter{
  margin-left:auto;margin-right:auto;
}
/* WP figure/caption */
.entry-content figure{
  margin:2em 0;
}
.entry-content figure img{ margin:0;border-radius:10px }
.entry-content figcaption{
  font-size:12.5px;color:var(--gray);
  text-align:center;margin-top:8px;
  font-style:italic;line-height:1.5;
}
/* Clearfix after floats */
.entry-content::after{ content:'';display:table;clear:both }

/* ── Video / Embed ── */
.entry-content .wp-block-embed,
.entry-content .video-wrap{
  margin:2em 0;
  border-radius:12px;overflow:hidden;
  position:relative;padding-bottom:56.25%;height:0;
  background:var(--navy);
}
.entry-content .wp-block-embed iframe,
.entry-content .video-wrap iframe{
  position:absolute;top:0;left:0;
  width:100%;height:100%;border:0;
}

/* ── Highlight / callout boxes ── */
/* Use WP block classes or shortcode wrappers */
.entry-content .wp-block-info,
.entry-content .callout-info{
  background:#E6F4F1;border:1px solid #B3DDD6;
  border-left:4px solid var(--teal);
  border-radius:0 8px 8px 0;
  padding:16px 20px;margin:1.6em 0;
  font-size:14.5px;color:var(--navy);line-height:1.6;
}
.entry-content .callout-warning{
  background:#FFF8E6;border:1px solid #F0D98B;
  border-left:4px solid var(--gold);
  border-radius:0 8px 8px 0;
  padding:16px 20px;margin:1.6em 0;
  font-size:14.5px;color:var(--navy);
}
.entry-content .callout-navy{
  background:var(--navy);border-left:4px solid var(--gold);
  border-radius:0 8px 8px 0;
  padding:20px 24px;margin:1.6em 0;
  font-size:15px;color:rgba(255,255,255,.85);line-height:1.65;
}
.entry-content .callout-navy h4{ color:var(--gold-light);margin-top:0 }

/* ── Bold / Italic / Inline code ── */
.entry-content strong{ font-weight:700;color:var(--navy) }
.entry-content em{ font-style:italic }
.entry-content code{
  font-family:monospace;font-size:13px;
  background:var(--offwhite);
  border:1px solid var(--border);
  padding:2px 7px;border-radius:4px;
  color:var(--teal);
}
.entry-content pre{
  background:var(--navy);border-radius:10px;
  padding:20px 24px;overflow-x:auto;
  font-size:13px;line-height:1.6;
  color:rgba(255,255,255,.8);
  margin:1.6em 0;
}
.entry-content pre code{
  background:none;border:none;padding:0;
  color:inherit;font-size:inherit;
}

/* ══════════════════════════════════════
   STICKY SIDEBAR
══════════════════════════════════════ */
.service-sidebar{
  position:sticky;top:90px;
  display:flex;flex-direction:column;gap:18px;
}

/* Sidebar card */
.s-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;overflow:hidden;
}
.s-card-head{
  background:var(--navy);padding:18px 20px;
}
.s-card-head h4{
  font-family:'Playfair Display',serif;
  font-size:16px;font-weight:600;
  color:var(--white);margin-bottom:3px;
}
.s-card-head p{ font-size:12px;color:rgba(255,255,255,.5) }
.s-card-body{ padding:18px 20px }
.s-card-item{
  display:flex;align-items:center;gap:12px;
  padding:10px 0;border-bottom:1px solid #F5F3EC;
  font-size:13px;
}
.s-card-item:last-child{ border-bottom:none }
.s-card-icon{
  width:36px;height:36px;border-radius:8px;
  background:var(--offwhite);display:flex;
  align-items:center;justify-content:center;
  font-size:16px;flex-shrink:0;
}
.s-card-label{ color:var(--gray);font-size:12px }
.s-card-val{ font-weight:600;color:var(--navy);font-size:13px }

/* CTA buttons */
.s-cta{ padding:16px 20px 20px;display:flex;flex-direction:column;gap:9px;border-top:1px solid #F5F3EC }
.btn-block-navy{
  display:block;width:100%;padding:12px;
  background:var(--navy);color:var(--white);
  font-size:14px;font-weight:600;border:none;
  border-radius:8px;cursor:pointer;text-align:center;
  text-decoration:none;font-family:'DM Sans',sans-serif;
  transition:background .15s;
}
.btn-block-navy:hover{ background:var(--navy-mid) }
.btn-block-gold{
  display:block;width:100%;padding:11px;
  background:var(--gold);color:var(--navy);
  font-size:14px;font-weight:700;border:none;
  border-radius:8px;cursor:pointer;text-align:center;
  text-decoration:none;font-family:'DM Sans',sans-serif;
  transition:background .15s;
}
.btn-block-gold:hover{ background:var(--gold-light) }
.s-help{
  text-align:center;font-size:12px;
  color:var(--gray);padding:10px 20px 14px;
}
.s-help a{ color:var(--teal);font-weight:500;text-decoration:none }

/* Related services list */
.s-related-list{
  list-style:none;padding:18px 20px;
  display:flex;flex-direction:column;gap:2px;
}
.s-related-list li a{
  display:flex;align-items:center;gap:10px;
  font-size:13.5px;font-weight:500;color:var(--gray-dark);
  text-decoration:none;padding:9px 10px;border-radius:7px;
  transition:background .14s,color .14s;
}
.s-related-list li a:hover{ background:var(--offwhite);color:var(--navy) }
.s-related-list li a.current{ color:var(--navy);font-weight:600 }
.s-related-list li a .s-rel-icon{ font-size:15px;width:20px;flex-shrink:0 }
.s-related-list .s-rel-head{
  font-size:10.5px;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:var(--teal);
  padding:4px 10px 8px;
}

/* ══════════════════════════════════════
   CTA STRIP
══════════════════════════════════════ */
.cta-strip{background:var(--teal);padding:56px 0}
.cta-strip-inner{
  max-width:1240px;margin:0 auto;padding:0 28px;
  display:flex;justify-content:space-between;align-items:center;gap:28px;
}
.cta-strip h2{
  font-family:'Playfair Display',serif;
  font-size:28px;font-weight:700;color:var(--white);margin-bottom:6px;
}
.cta-strip p{ font-size:15px;color:rgba(255,255,255,.72) }
.cta-strip-btns{ display:flex;gap:11px;flex-shrink:0 }
.btn-white-cta{background:var(--white);color:var(--teal);font-weight:700;font-size:14px;padding:12px 26px;border-radius:8px;text-decoration:none}
.btn-ghost-cta{background:transparent;border:1.5px solid rgba(255,255,255,.45);color:var(--white);font-size:14px;padding:11px 24px;border-radius:8px;text-decoration:none}

.blog-meta-date, .blog-meta-author {color: var(--white);margin-right: 25px;}

.related-services-section {padding-bottom: 60px;background-color: #F7F6F2;padding-top: 60px;}

/* ══════════════════════════════════════
   FOOTER
══════════════════════════════════════ */
footer{background:var(--navy);color:rgba(255,255,255,.55)}
.ft-grid{max-width:1240px;margin:0 auto;padding:56px 28px 36px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px}
.ft-brand-desc{font-size:13px;line-height:1.7;margin:14px 0 18px;max-width:270px}
.ft-social{display:flex;gap:8px}
.ft-sc{width:34px;height:34px;background:rgba(255,255,255,.07);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;color:rgba(255,255,255,.55);text-decoration:none}
.ft-col h5{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.ft-col a{display:block;font-size:13px;color:rgba(255,255,255,.5);text-decoration:none;margin-bottom:9px}
.ft-col a:hover{color:var(--gold-light)}
.ft-btm{border-top:1px solid rgba(255,255,255,.08)}
.ft-btm-in{max-width:1240px;margin:0 auto;padding:18px 28px;display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.3)}
.ft-btm-in a{color:rgba(201,168,76,.6);text-decoration:none}

/* WA FAB */
.wa-fab{position:fixed;bottom:26px;right:26px;width:54px;height:54px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:0 4px 18px rgba(37,211,102,.45);cursor:pointer;z-index:999}

/* MOCKUP label */
.mwl{position:fixed;top:10px;right:10px;background:var(--teal);color:var(--white);font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;padding:5px 12px;border-radius:4px;z-index:9999}

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media(max-width:1239px){
  .sb-inner{padding:0 24px;gap:36px}
  .sb-inner{grid-template-columns:1fr 300px}
  .sb-title{font-size:36px}
  .service-content-wrap{padding:44px 24px 68px;gap:36px}
}
@media(max-width:1023px){
  .sb-inner{grid-template-columns:1fr;gap:24px;padding:0 24px}
  .sb-image{order:-1;aspect-ratio:16/8;max-height:280px}
  .service-content-wrap{grid-template-columns:1fr;padding:32px 24px 56px}
  .service-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .cta-strip-inner{flex-direction:column;align-items:flex-start;gap:20px;padding:0 24px}
  .ft-grid{grid-template-columns:1fr 1fr;padding:44px 24px 28px}
  .ft-brand{grid-column:1/-1}
  .entry-content img.alignleft,.entry-content img.alignright{float:none;max-width:100%;margin:1.4em 0}
}
@media(max-width:767px){
  .topbar{display:none}
  .nav-links-simple{display:none}
  .service-banner{padding:32px 0 28px}
  .sb-inner{padding:0 18px;gap:18px}
  .sb-title{font-size:26px;line-height:1.25}
  .sb-excerpt{font-size:14px}
  .sb-tags{gap:6px}
  .sb-tag{font-size:11.5px;padding:5px 10px}
  .sb-image{max-height:210px;border-radius:12px}
  .service-content-wrap{padding:24px 18px 44px;gap:28px}
  .service-sidebar{grid-template-columns:1fr}
  .entry-content h1{font-size:26px}
  .entry-content h2{font-size:22px}
  .entry-content h3{font-size:18px}
  .entry-content h4{font-size:16px}
  .entry-content p,.entry-content ul li,.entry-content ol li{font-size:14.5px}
  .entry-content blockquote{padding:20px 20px 20px 24px}
  .entry-content blockquote::before{font-size:60px;top:6px;left:14px}
  .entry-content blockquote p{font-size:15px;padding-left:20px}
  .entry-content blockquote cite{padding-left:20px}
  .entry-content table{font-size:13px}
  .entry-content table thead th,.entry-content table tbody td{padding:10px 12px}
  .cta-strip{padding:40px 0}
  .cta-strip-inner{padding:0 18px}
  .cta-strip h2{font-size:22px}
  .cta-strip-btns{flex-direction:column;width:100%}
  .btn-white-cta,.btn-ghost-cta{text-align:center}
  .ft-grid{grid-template-columns:1fr 1fr;padding:32px 18px 24px;gap:20px}
  .ft-btm-in{flex-direction:column;gap:6px;text-align:center;padding:14px 18px}
}
@media(max-width:479px){
  .sb-title{font-size:22px}
  .service-content-wrap{padding:20px 15px 36px}
  .ft-grid{grid-template-columns:1fr}
  .ft-col{border-top:1px solid rgba(255,255,255,.07);padding-top:14px}
  .entry-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}