/* =====================================================================
   HeadlessWP — professional layout polish (no page builder)
   Scoped to page/blog content. Accent: #f7a823
   ===================================================================== */

:root{
  --hwp-accent:#f7a823;
  --hwp-ink:#1f2733;
  --hwp-muted:#6b7280;
  --hwp-line:#e8eaed;
  --hwp-bg-soft:#f7f8fa;
}

/* ---------- shared content rhythm ---------- */
.main-contain .site-content{padding-top:60px;padding-bottom:70px;}

/* =====================================================================
   SERVICES / ABOUT  (flat, page-builder-less content)
   ===================================================================== */
.page .entry-content{
  max-width:960px;
  margin:0 auto;
  color:#3a414c;
  font-size:17px;
  line-height:1.8;
}
.page .entry-content > h1:first-child,
.page .entry-content > h2:first-child{
  text-align:center;
  font-size:42px;
  line-height:1.2;
  font-weight:800;
  color:var(--hwp-ink);
  margin:0 0 14px;
  letter-spacing:-.5px;
}
/* sub-headline directly under the page title — ONLY on the listing
   pages (Services 11559 / About 12164), where the first <p> is a short
   tagline. On single-service child pages the first <p> is a long intro,
   so it must stay left-aligned and full-size. */
.page-id-11559 .entry-content > h1:first-child + p,
.page-id-11559 .entry-content > h2:first-child + p,
.page-id-12164 .entry-content > h1:first-child + p,
.page-id-12164 .entry-content > h2:first-child + p{
  text-align:center;
  font-size:20px;
  color:var(--hwp-muted);
  max-width:720px;
  margin:0 auto 46px;
}
.page .entry-content h2,
.page .entry-content h3{
  color:var(--hwp-ink);
  font-weight:700;
  line-height:1.3;
  margin:34px 0 12px;
}
.page .entry-content h3{font-size:22px;}
.page .entry-content h2{font-size:30px;}
.page .entry-content p{margin:0 0 18px;}

/* service icon images -> centered, soft circular badge */
.page .entry-content p img,
.page .entry-content img{
  display:block;
  margin:34px auto 14px;
  height:auto;
}
.page .entry-content p img[width="128"],
.page .entry-content img[width="128"]{
  width:96px;height:96px;
  padding:18px;
  background:var(--hwp-bg-soft);
  border:1px solid var(--hwp-line);
  border-radius:50%;
  box-shadow:0 6px 18px rgba(31,39,51,.06);
}
/* large feature/body images (e.g. single-service hero) -> rounded card */
.page .entry-content img:not([width="128"]){
  max-width:100%;
  border-radius:16px;
  box-shadow:0 12px 34px rgba(31,39,51,.1);
  margin:30px auto;
}

/* links / "View More" -> orange text-button */
.page .entry-content a{
  color:var(--hwp-accent);
  font-weight:600;
  text-decoration:none;
  transition:color .2s ease;
}
.page .entry-content a:hover{color:#d98a0c;text-decoration:underline;}

/* tidy the stray <br> spam from the builder export */
.page .entry-content br + br{display:none;}

/* lists */
.page .entry-content ul,
.page .entry-content ol{margin:0 0 18px;padding-left:22px;}
.page .entry-content li{margin:0 0 8px;}

/* =====================================================================
   SERVICES PAGE — rebuilt card grid (page id 11559)
   ===================================================================== */
.hwp-services{max-width:1170px;margin:0 auto;}
.hwp-sec-head{text-align:center;max-width:760px;margin:10px auto 46px;}
.hwp-eyebrow{
  display:inline-block;
  color:var(--hwp-accent);
  font-weight:700;
  font-size:14px;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:12px;
}
.hwp-sec-head h2{
  font-size:38px;
  font-weight:800;
  line-height:1.25;
  color:var(--hwp-ink);
  letter-spacing:-.5px;
  margin:0;
}

/* card grid */
.hwp-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  margin-bottom:80px;
}
.hwp-card{
  background:#fff;
  border:1px solid var(--hwp-line);
  border-radius:16px;
  padding:38px 32px;
  text-align:center;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.hwp-card:hover{
  transform:translateY(-6px);
  border-color:transparent;
  box-shadow:0 22px 48px rgba(31,39,51,.12);
}
.hwp-card-icon{
  width:96px;height:96px;
  margin:0 auto 24px;
  display:flex;align-items:center;justify-content:center;
  background:var(--hwp-bg-soft);
  border-radius:50%;
  transition:background .25s ease;
}
.hwp-card:hover .hwp-card-icon{background:#fdeccb;}
.hwp-card-icon img{width:54px;height:54px;object-fit:contain;}
.hwp-card h3{font-size:21px;font-weight:700;margin:0 0 12px;line-height:1.3;}
.hwp-card h3 a{color:var(--hwp-ink);text-decoration:none;transition:color .2s ease;}
.hwp-card:hover h3 a{color:var(--hwp-accent);}
.hwp-card p{color:#5b6470;font-size:15.5px;line-height:1.75;margin:0 0 22px;}
.hwp-readmore{
  display:inline-flex;align-items:center;gap:7px;
  color:var(--hwp-accent);font-weight:700;font-size:15px;
  text-decoration:none;transition:gap .2s ease;
}
.hwp-readmore span{transition:transform .2s ease;}
.hwp-readmore:hover{color:#d98a0c;}
.hwp-readmore:hover span{transform:translateX(4px);}

/* working process steps */
.hwp-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
  margin-bottom:80px;
}
.hwp-step{
  position:relative;
  background:var(--hwp-bg-soft);
  border:1px solid var(--hwp-line);
  border-radius:16px;
  padding:40px 26px 30px;
  text-align:center;
}
.hwp-step-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:58px;height:58px;
  margin-bottom:18px;
  background:var(--hwp-accent);
  color:#fff;font-weight:800;font-size:20px;
  border-radius:50%;
  box-shadow:0 10px 22px rgba(247,168,35,.32);
}
.hwp-step h4{font-size:19px;font-weight:700;color:var(--hwp-ink);margin:0 0 10px;}
.hwp-step p{color:#5b6470;font-size:14.5px;line-height:1.7;margin:0;}

/* CTA banner */
.hwp-cta{
  position:relative;
  overflow:hidden;
  background:linear-gradient(120deg,#1f2733 0%,#2b3647 100%);
  border-radius:20px;
  padding:64px 40px;
  text-align:center;
  margin-bottom:20px;
}
/* subtle orange glow accent */
.hwp-cta:before{
  content:"";position:absolute;top:-60px;right:-60px;
  width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(247,168,35,.28) 0%,rgba(247,168,35,0) 70%);
  pointer-events:none;
}
.hwp-cta .hwp-eyebrow{color:#f7a823;margin-bottom:14px;}
.page .entry-content .hwp-cta h3,
.hwp-services .hwp-cta h3{
  color:#ffffff !important;
  font-size:30px;font-weight:800;line-height:1.35;
  max-width:780px;margin:0 auto 30px;
}
.hwp-btn{
  display:inline-block;
  background:var(--hwp-accent);
  color:#fff !important;
  font-weight:700;font-size:16px;
  padding:15px 38px;border-radius:10px;
  text-decoration:none;
  transition:transform .2s ease, background .2s ease;
}
.hwp-btn:hover{background:#d98a0c;transform:translateY(-3px);}

@media (max-width:991px){
  .hwp-grid{grid-template-columns:repeat(2,1fr);gap:24px;}
  .hwp-steps{grid-template-columns:repeat(2,1fr);}
  .hwp-sec-head h2{font-size:30px;}
  .hwp-cta h3{font-size:23px;}
}
@media (max-width:575px){
  .hwp-grid,.hwp-steps{grid-template-columns:1fr;}
}

/* =====================================================================
   ABOUT PAGE — rebuilt sections (page id 12164)
   ===================================================================== */
.hwp-about{margin-top:6px;}
.hwp-about-hero{margin-bottom:58px;}
.hwp-about-intro{max-width:860px;margin:0 auto 74px;}
.page .entry-content .hwp-about-intro p{
  text-align:center;color:#4b5563;font-size:17.5px;line-height:1.9;margin:0 0 18px;
}
.page .entry-content .hwp-about-intro p:last-child{margin-bottom:0;}
.page .entry-content .hwp-about-intro strong{color:var(--hwp-ink);}

/* neutralise the generic .page .entry-content img rules inside About */
.page .entry-content .hwp-about .hwp-svc-hero-media img{
  width:100%;max-width:430px;height:auto;display:block;margin:0 auto;
  border-radius:0;box-shadow:none;
}
.page .entry-content .hwp-about .hwp-card-icon img{
  width:54px;height:54px;display:inline-block;margin:0;
  border-radius:0;box-shadow:none;
}

/* keep rebuilt headings clean against the generic .page h2/h3 rules */
.page .entry-content .hwp-about .hwp-sec-head h2{margin:0;}
.page .entry-content .hwp-about .hwp-card h3{margin:0 0 12px;font-size:21px;}
.page .entry-content .hwp-about .hwp-step h4{margin:0 0 10px;font-size:19px;}
.page .entry-content .hwp-about .hwp-svc-hero-text h1{margin:0 0 18px;}

/* =====================================================================
   SINGLE SERVICE PAGES  (children of Services, body.page-child)
   ===================================================================== */
.page-child .entry-content{max-width:960px;}

/* two-column hero: eyebrow + title + lead + CTA  |  image */
.hwp-svc-hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
  margin:10px 0 50px;
}
.hwp-svc-hero-text .hwp-eyebrow{text-align:left;margin-bottom:14px;}
.hwp-svc-hero-text h1{
  text-align:left !important;
  font-size:40px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.6px;
  color:var(--hwp-ink);
  margin:0 0 18px;
  padding-left:0 !important;
}
.hwp-svc-hero-text h1:before{display:none !important;}
.hwp-svc-lead{
  text-align:left !important;
  color:#4b5563;
  font-size:18px;
  line-height:1.7;
  margin:0 0 28px !important;
}
.hwp-svc-herobtn{margin-top:4px;}
/* images are pre-composed graphics (white bg baked in) — show clean */
.hwp-svc-hero-media{text-align:center;}
.hwp-svc-hero-media img{
  width:100% !important;
  max-width:430px !important;
  height:auto;
  margin:0 auto !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
/* remaining intro narrative, flowed full-width under the hero */
.hwp-svc-intro{max-width:880px;margin:0 auto 56px;}
.hwp-svc-intro p{
  text-align:left;
  color:#3a414c;
  font-size:17px;
  line-height:1.9;
  margin:0;
}
.hwp-svc-hero--noimg{grid-template-columns:1fr;max-width:820px;margin-left:auto;margin-right:auto;}
.hwp-svc-hero--noimg .hwp-svc-hero-text .hwp-eyebrow,
.hwp-svc-hero--noimg .hwp-svc-hero-text h1,
.hwp-svc-hero--noimg .hwp-svc-lead{text-align:center !important;}
.hwp-svc-hero--noimg .hwp-svc-herobtn{display:inline-block;}
@media (max-width:850px){
  .hwp-svc-hero{grid-template-columns:1fr;gap:26px;text-align:center;}
  .hwp-svc-hero-media{order:-1;max-width:420px;margin:0 auto;}
  .hwp-svc-hero-text .hwp-eyebrow,
  .hwp-svc-hero-text h1,
  .hwp-svc-lead{text-align:center !important;}
  .hwp-svc-hero-text h1{font-size:31px;}
}

/* page title centered, body copy left-aligned & readable */
.page-child .entry-content > h1:first-child{margin-bottom:34px;}
.page-child .entry-content > p{
  text-align:left;
  color:#3a414c;
  font-size:17px;
  line-height:1.85;
}
.page-child .entry-content h2,
.page-child .entry-content h3,
.page-child .entry-content h4{
  text-align:left;
  position:relative;
  padding-left:16px;
}
.page-child .entry-content h2:before,
.page-child .entry-content h3:before{
  content:"";position:absolute;left:0;top:6px;bottom:6px;
  width:4px;border-radius:3px;background:var(--hwp-accent);
}
.page-child .entry-content ul li{position:relative;list-style:none;padding-left:26px;}
.page-child .entry-content ul{padding-left:4px;}
.page-child .entry-content ul li:before{
  content:"\2713";position:absolute;left:0;top:0;
  color:var(--hwp-accent);font-weight:800;
}
/* in-body images are pre-composed graphics — show clean, no card/shadow */
.page-child .entry-content img:not([width="128"]){
  display:block;
  max-width:440px;
  width:100%;
  height:auto;
  margin:28px auto;
  border-radius:0 !important;
  box-shadow:none !important;
}
/* inline section eyebrow (was orphaned lowercase label) */
.hwp-inline-eyebrow{
  display:block;
  text-align:left;
  color:var(--hwp-accent) !important;
  font-weight:700;
  font-size:14px;
  letter-spacing:2px;
  text-transform:uppercase;
  margin:10px 0 0;
}

/* rebuilt stats band */
.hwp-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin:46px 0 10px;
  padding:38px 26px;
  background:var(--hwp-bg-soft);
  border:1px solid var(--hwp-line);
  border-radius:18px;
}
.hwp-stat{text-align:center;}
.hwp-stat-num{
  display:block;
  font-size:34px;
  font-weight:800;
  color:var(--hwp-accent);
  line-height:1.1;
  letter-spacing:-.5px;
}
.hwp-stat-label{
  display:block;
  margin-top:8px;
  font-size:14.5px;
  font-weight:600;
  color:var(--hwp-ink);
  line-height:1.4;
}
@media (max-width:767px){
  .hwp-stats{grid-template-columns:repeat(2,1fr);}
}

/* closing CTA on single service pages — neutralize the section accent bar
   and keep the banner heading centered + white */
.hwp-svc-cta{margin-top:60px;}
.page-child .entry-content .hwp-cta h3{
  text-align:center !important;
  padding-left:0 !important;
}
.page-child .entry-content .hwp-cta h3:before{display:none !important;}
.page-child .entry-content .hwp-cta .hwp-eyebrow{text-align:center;}

/* =====================================================================
   BLOG ARCHIVE  (theme markup: .blog-item)
   ===================================================================== */
.rs-blog.blog-page .blog-item,
.rs-blog .blog-item{
  background:#fff;
  border:1px solid var(--hwp-line);
  border-radius:14px;
  overflow:hidden;
  margin-bottom:40px;
  box-shadow:0 8px 24px rgba(31,39,51,.05);
  transition:transform .25s ease, box-shadow .25s ease;
}
.rs-blog .blog-item:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 38px rgba(31,39,51,.1);
}
.rs-blog .blog-item .blog-img{margin:0;overflow:hidden;}
.rs-blog .blog-item .blog-img img{
  width:100%;
  height:auto;            /* show the full banner — no cropping */
  display:block;
  transition:transform .4s ease;
}
.rs-blog .blog-item:hover .blog-img img{transform:scale(1.05);}
.rs-blog .blog-item .full-blog-content,
.rs-blog .blog-item .blog-desc{padding:6px 28px 28px;}
.rs-blog .blog-item .blog-meta{padding:22px 28px 0;}
.rs-blog .blog-item .blog-date{
  color:var(--hwp-muted);
  font-size:14px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.rs-blog .blog-item .blog-title,
.rs-blog .blog-item .blog-title a{
  color:var(--hwp-ink);
  font-size:24px;
  font-weight:700;
  line-height:1.3;
}
.rs-blog .blog-item .blog-title a:hover{color:var(--hwp-accent);}
.rs-blog .blog-item .blog-desc p{color:#5b6470;line-height:1.75;margin:10px 0 18px;}
.rs-blog .blog-item .blog-button a,
.rs-blog .blog-item .blog-button .readon{
  display:inline-block;
  background:var(--hwp-accent);
  color:#fff !important;
  font-weight:600;
  padding:11px 26px;
  border-radius:8px;
  text-decoration:none;
  transition:background .2s ease, transform .2s ease;
}
.rs-blog .blog-item .blog-button a:hover,
.rs-blog .blog-item .blog-button .readon:hover{
  background:#d98a0c;
  transform:translateY(-2px);
}
/* the theme injects a stray absolutely-positioned flaticon arrow that
   escapes the restyled button — kill it and add a clean inline arrow */
.rs-blog .blog-item .blog-button a:before,
.rs-blog .blog-item .blog-button .readon:before{content:none !important;display:none !important;}
.rs-blog .blog-item .blog-button a{position:relative;}
.rs-blog .blog-item .blog-button a:after{
  content:"\2192";
  margin-left:9px;
  font-weight:700;
  display:inline-block;
  transition:transform .2s ease;
}
.rs-blog .blog-item .blog-button a:hover:after{transform:translateX(4px);}

/* category pill overlaid on the featured image */
.rs-blog .blog-item .blog-img{position:relative;}
.rs-blog .blog-item .tag-line{position:absolute;left:16px;bottom:16px;margin:0;z-index:2;}
.rs-blog .blog-item .tag-line .post-categories{
  list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;
}
.rs-blog .blog-item .tag-line .post-categories li{margin:0;border:0;padding:0;}
.rs-blog .blog-item .tag-line .post-categories a{
  display:inline-block;background:var(--hwp-accent);color:#fff;
  font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
  padding:6px 14px;border-radius:30px;text-decoration:none;
  box-shadow:0 6px 16px rgba(247,168,35,.35);
}
.rs-blog .blog-item .tag-line .post-categories a:hover{background:#d98a0c;}

/* meta row: date + author inline with icons */
.rs-blog .blog-item .blog-meta .btm-cate{
  list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:18px;align-items:center;
}
.rs-blog .blog-item .blog-meta .btm-cate li{margin:0;border:0;padding:0;}
.rs-blog .blog-item .blog-meta .blog-date,
.rs-blog .blog-item .blog-meta .author{
  color:var(--hwp-muted);font-size:13px;font-weight:600;
  text-transform:uppercase;letter-spacing:.4px;
  display:flex;align-items:center;gap:7px;
}
.rs-blog .blog-item .blog-meta .blog-date i,
.rs-blog .blog-item .blog-meta .author i{color:var(--hwp-accent);font-size:14px;}

/* tighten the title for the narrower grid card */
.rs-blog .blog-item .blog-title,
.rs-blog .blog-item .blog-title a{font-size:21px;}
.rs-blog .blog-item .title-wrap{margin-bottom:6px;}

/* two-column post grid — content area only; .pagination-area sits
   outside this .row, so it is untouched */
@media (min-width:768px){
  .full-layout-right > .row{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:34px 30px;
    align-items:stretch;
  }
  .full-layout-right > .row > [class*="col-"]{
    width:auto;max-width:none;float:none;
    padding-left:0;padding-right:0;margin:0;
  }
  .full-layout-right > .row > [class*="col-"] .blog-item{
    margin-bottom:0;height:100%;display:flex;flex-direction:column;
  }
  .full-layout-right > .row > [class*="col-"] .blog-item .full-blog-content{
    flex:1;display:flex;flex-direction:column;
  }
  .full-layout-right > .row > [class*="col-"] .blog-item .blog-button{margin-top:auto;}
}

/* pagination */
.page-numbers{
  display:inline-block;
  min-width:42px;
  text-align:center;
  padding:9px 12px;
  margin:4px;
  border:1px solid var(--hwp-line);
  border-radius:8px;
  color:var(--hwp-ink);
  font-weight:600;
  text-decoration:none;
}
.page-numbers.current,
.page-numbers:hover{background:var(--hwp-accent);border-color:var(--hwp-accent);color:#fff;}

/* =====================================================================
   SINGLE POST  (theme markup: .rs-blog-details)
   ===================================================================== */
.rs-blog-details .single-content-full{
  font-size:18px;
  line-height:1.85;
  color:#3a414c;
}
.rs-blog-details .single-content-full > img,
.rs-blog-details .single-content-full figure img{
  border-radius:14px;
  margin:14px 0 26px;
  height:auto;
}
.rs-blog-details .single-content-full h2{font-size:30px;}
.rs-blog-details .single-content-full h3{font-size:24px;}
.rs-blog-details .single-content-full h2,
.rs-blog-details .single-content-full h3,
.rs-blog-details .single-content-full h4{
  color:var(--hwp-ink);
  font-weight:700;
  line-height:1.3;
  margin:36px 0 14px;
}
.rs-blog-details .single-content-full p{margin:0 0 20px;}
.rs-blog-details .single-content-full a{color:var(--hwp-accent);font-weight:600;}
.rs-blog-details .single-content-full ul,
.rs-blog-details .single-content-full ol{margin:0 0 20px;padding-left:24px;}
.rs-blog-details .single-content-full li{margin:0 0 10px;}
.rs-blog-details .single-content-full blockquote{
  border-left:4px solid var(--hwp-accent);
  background:var(--hwp-bg-soft);
  padding:18px 24px;
  margin:24px 0;
  border-radius:0 10px 10px 0;
  font-style:italic;
  color:var(--hwp-ink);
}
.rs-blog-details .single-content-full pre,
.rs-blog-details .single-content-full code{
  background:#0f172a;
  color:#e2e8f0;
  border-radius:8px;
}
.rs-blog-details .single-content-full pre{padding:18px 20px;overflow:auto;}
.rs-blog-details .single-content-full code{padding:2px 7px;font-size:.9em;}
.rs-blog-details .single-content-full pre code{background:none;padding:0;}
.single-posts-meta{
  color:var(--hwp-muted);
  font-size:15px;
  margin-bottom:18px;
}
.single-posts-meta .p-date,
.single-posts-meta .p-user{margin-right:18px;}

/* =====================================================================
   SIDEBAR widgets (blog + single)
   ===================================================================== */
.widget-area .widget{
  background:#fff;
  border:1px solid var(--hwp-line);
  border-radius:14px;
  padding:24px 26px;
  margin-bottom:30px;
  box-shadow:0 8px 24px rgba(31,39,51,.04);
}
.widget-area .widget .widget-title,
.widget-area .widget .wp-block-heading,
.widget-area .widget h2{
  font-size:20px;
  font-weight:700;
  color:var(--hwp-ink);
  margin:0 0 18px;
  padding-bottom:12px;
  border-bottom:2px solid var(--hwp-line);
  position:relative;
}
.widget-area .widget .widget-title:after,
.widget-area .widget .wp-block-heading:after{
  content:"";position:absolute;left:0;bottom:-2px;
  width:48px;height:2px;background:var(--hwp-accent);
}
.widget-area .widget ul{list-style:none;margin:0;padding:0;}
.widget-area .widget ul li{
  padding:9px 0;
  border-bottom:1px solid var(--hwp-line);
}
.widget-area .widget ul li:last-child{border-bottom:0;}
.widget-area .widget ul li a{
  color:#3a414c;
  text-decoration:none;
  transition:color .2s ease, padding .2s ease;
}
.widget-area .widget ul li a:hover{color:var(--hwp-accent);padding-left:6px;}
.widget-area .wp-block-search__inside-wrapper{display:flex;gap:8px;}
.widget-area .wp-block-search__input{
  flex:1;border:1px solid var(--hwp-line);border-radius:8px;padding:10px 12px;
}
.widget-area .wp-block-search__button{
  background:var(--hwp-accent);color:#fff;border:0;border-radius:8px;
  padding:10px 18px;font-weight:600;cursor:pointer;
}

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width:991px){
  .page .entry-content > h1:first-child,
  .page .entry-content > h2:first-child{font-size:32px;}
  .rs-blog .blog-item .blog-img img{height:auto;}
  .rs-blog-details .single-content-full{font-size:17px;}
}
