/* Ahmet Halim Elements v1.1.2 — Homepage width / scale pass.
   Scoped only to the real front page. No Services styles are changed. */
body.ah-home-page{
  --hv-max:1600px;
  overflow-x:hidden!important;
  background:#fff!important;
}

/* Elementor / Hello Elementor: use the real viewport width on Home.
   This neutralizes stale boxed/flex widths and the legacy 100vw negative-margin breakout. */
body.ah-home-page #page,
body.ah-home-page .site,
body.ah-home-page #content,
body.ah-home-page .site-content,
body.ah-home-page .site-main,
body.ah-home-page main,
body.ah-home-page article,
body.ah-home-page .entry-content,
body.ah-home-page .elementor,
body.ah-home-page .elementor-section-wrap{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
  overflow-x:clip!important;
}
body.ah-home-page .elementor > .elementor-element,
body.ah-home-page .elementor .e-con,
body.ah-home-page .elementor .e-con-inner,
body.ah-home-page .ah-host-container{
  --width:100%!important;
  --content-width:100%!important;
  --container-widget-width:100%!important;
  --container-widget-flex-grow:1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  flex:0 0 100%!important;
  align-self:stretch!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
  box-sizing:border-box!important;
}

body.ah-home-page .elementor-widget-ah-header,
body.ah-home-page .elementor-widget-ah-home-hero,
body.ah-home-page .elementor-widget-ah-stats,
body.ah-home-page .elementor-widget-ah-services-grid,
body.ah-home-page .elementor-widget-ah-projects-grid,
body.ah-home-page .elementor-widget-ah-blog-grid,
body.ah-home-page .elementor-widget-ah-cta,
body.ah-home-page .elementor-widget-ah-footer{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  transform:none!important;
  flex:0 0 100%!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
}
body.ah-home-page .elementor-widget-ah-header > .elementor-widget-container,
body.ah-home-page .elementor-widget-ah-home-hero > .elementor-widget-container,
body.ah-home-page .elementor-widget-ah-stats > .elementor-widget-container,
body.ah-home-page .elementor-widget-ah-services-grid > .elementor-widget-container,
body.ah-home-page .elementor-widget-ah-projects-grid > .elementor-widget-container,
body.ah-home-page .elementor-widget-ah-blog-grid > .elementor-widget-container,
body.ah-home-page .elementor-widget-ah-cta > .elementor-widget-container,
body.ah-home-page .elementor-widget-ah-footer > .elementor-widget-container{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  box-sizing:border-box!important;
}

/* Header: same comfortable width system as Services. */
body.ah-home-page .ah-header{
  width:min(var(--hv-max),calc(100% - 96px))!important;
  max-width:var(--hv-max)!important;
  min-height:78px!important;
  margin:0 auto!important;
  padding:16px 0!important;
}
body.ah-home-page .ah-brand b{font-size:31px!important}
body.ah-home-page .ah-header nav a{font-size:13px!important}

/* Hero: preserve the approved three-column composition, but let it breathe. */
body.ah-home-page .ah-home-hero{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  min-height:0!important;
}
body.ah-home-page .ah-hero-inner{
  width:min(var(--hv-max),calc(100% - 96px))!important;
  max-width:var(--hv-max)!important;
  min-height:535px!important;
  margin:0 auto!important;
  grid-template-columns:39% 39% 22%!important;
}
body.ah-home-page .ah-hero-copy{
  padding:62px 55px 54px 0!important;
}
body.ah-home-page .ah-home-hero h1{
  font-size:clamp(64px,4.7vw,92px)!important;
  max-width:560px!important;
  margin-bottom:15px!important;
}
body.ah-home-page .ah-home-hero h3{
  font-size:21px!important;
  max-width:540px!important;
}
body.ah-home-page .ah-home-hero p{
  font-size:14px!important;
  max-width:540px!important;
}
body.ah-home-page .ah-hero-visual,
body.ah-home-page .ah-hero-aside{min-height:535px!important}
body.ah-home-page .ah-photo-shell{height:96%!important}
body.ah-home-page .ah-handnote{font-size:35px!important}
body.ah-home-page .ah-side-note{font-size:24px!important;margin-bottom:22px!important}
body.ah-home-page .ah-float-card{padding:15px 16px!important;min-height:74px!important}
body.ah-home-page .ah-float-card strong{font-size:28px!important}
body.ah-home-page .ah-float-card span:not(.ah-float-icon){font-size:10px!important}
body.ah-home-page .ah-bottom-note{font-size:19px!important}

/* Stats: widen the existing approved bar; do not redesign it. */
body.ah-home-page .ah-stats{
  width:min(1480px,calc(100% - 144px))!important;
  max-width:1480px!important;
  margin:-22px auto 0!important;
}
body.ah-home-page .ah-stats>div{min-height:88px!important;padding:18px 30px!important}
body.ah-home-page .ah-stats strong{font-size:34px!important}
body.ah-home-page .ah-stats span{font-size:11px!important}
body.ah-home-page .ah-stat-tagline strong{font-size:19px!important;max-width:210px!important}

/* Main home sections: same wide inner canvas as Services, while preserving layouts. */
body.ah-home-page .ah-services--home,
body.ah-home-page .ah-projects--home,
body.ah-home-page .ah-blog--home{width:100%!important;max-width:none!important;margin:0!important}
body.ah-home-page .ah-services-home-inner,
body.ah-home-page .ah-projects-home-inner,
body.ah-home-page .ah-blog-home-inner{
  width:min(var(--hv-max),calc(100% - 96px))!important;
  max-width:var(--hv-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.ah-home-page .ah-services-home-inner{padding:70px 0 58px!important}
body.ah-home-page .ah-services-top{margin-bottom:32px!important;gap:64px!important}
body.ah-home-page .ah-services-top h2{font-size:48px!important;max-width:460px!important}
body.ah-home-page .ah-services-top>p{font-size:13px!important;max-width:390px!important}
body.ah-home-page .ah-services--home .ah-services-grid article{min-height:158px!important;padding:18px 34px 20px 0!important;margin-right:30px!important}
body.ah-home-page .ah-services--home h3{font-size:16px!important}
body.ah-home-page .ah-services--home p{font-size:12px!important;max-width:235px!important}
body.ah-home-page .ah-service-icon{font-size:36px!important}

body.ah-home-page .ah-projects-home-inner{padding:50px 0 48px!important}
body.ah-home-page .ah-projects-home-layout{grid-template-columns:330px 1fr!important;gap:54px!important}
body.ah-home-page .ah-projects-copy h2{font-size:42px!important}
body.ah-home-page .ah-projects-copy p{font-size:12px!important}
body.ah-home-page .ah-projects--home .ah-project-grid{gap:18px!important}
body.ah-home-page .ah-projects--home .ah-card-image{height:150px!important}
body.ah-home-page .ah-projects--home .ah-project-body{min-height:86px!important;padding:12px 14px!important}
body.ah-home-page .ah-projects--home .ah-project-body h3{font-size:18px!important}
body.ah-home-page .ah-projects--home .ah-project-body p{font-size:10px!important}

body.ah-home-page .ah-blog-home-inner{padding:54px 0 48px!important}
body.ah-home-page .ah-blog-home-layout{grid-template-columns:310px 1fr!important;gap:58px!important}
body.ah-home-page .ah-blog-copy h2{font-size:44px!important}
body.ah-home-page .ah-blog-copy p{font-size:11.5px!important;max-width:255px!important}
body.ah-home-page .ah-blog--home .ah-blog-grid{gap:26px!important}
body.ah-home-page .ah-blog--home .ah-card-image{height:120px!important}
body.ah-home-page .ah-blog--home .ah-blog-body h3{font-size:18px!important}
body.ah-home-page .ah-blog--home .ah-meta,
body.ah-home-page .ah-blog--home .ah-blog-body .ah-link{font-size:9.5px!important}

/* CTA/footer keep their design, only use the same wide alignment. */
body.ah-home-page .ah-cta--home{
  width:100%!important;
  max-width:none!important;
  padding-left:max(48px,calc((100% - var(--hv-max))/2))!important;
  padding-right:max(48px,calc((100% - var(--hv-max))/2))!important;
  min-height:120px!important;
}
body.ah-home-page .ah-cta--home h2{font-size:34px!important}
body.ah-home-page .ah-cta--home p{font-size:11.5px!important}
body.ah-home-page .ah-footer{
  width:min(var(--hv-max),calc(100% - 96px))!important;
  max-width:var(--hv-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:25px 0 18px!important;
}
body.ah-home-page .ah-footer-main{grid-template-columns:330px 1fr 100px!important}
body.ah-home-page .ah-footer nav a{font-size:10px!important}
body.ah-home-page .ah-footer-bottom{font-size:8px!important}

@media(max-width:1100px){
  body.ah-home-page .ah-header,
  body.ah-home-page .ah-hero-inner,
  body.ah-home-page .ah-services-home-inner,
  body.ah-home-page .ah-projects-home-inner,
  body.ah-home-page .ah-blog-home-inner,
  body.ah-home-page .ah-footer{width:calc(100% - 48px)!important}
  body.ah-home-page .ah-hero-inner{grid-template-columns:1fr 1fr!important;min-height:0!important}
  body.ah-home-page .ah-hero-aside{grid-column:1/-1!important;min-height:0!important}
  body.ah-home-page .ah-stats{width:calc(100% - 64px)!important}
  body.ah-home-page .ah-projects-home-layout,
  body.ah-home-page .ah-blog-home-layout{grid-template-columns:1fr!important}
  body.ah-home-page .ah-projects--home .ah-project-grid,
  body.ah-home-page .ah-blog--home .ah-blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:680px){
  body.ah-home-page .ah-header,
  body.ah-home-page .ah-services-home-inner,
  body.ah-home-page .ah-projects-home-inner,
  body.ah-home-page .ah-blog-home-inner,
  body.ah-home-page .ah-footer{width:calc(100% - 28px)!important}
  body.ah-home-page .ah-hero-inner{width:100%!important;display:block!important}
  body.ah-home-page .ah-hero-copy{padding:48px 20px 32px!important}
  body.ah-home-page .ah-home-hero h1{font-size:54px!important}
  body.ah-home-page .ah-hero-visual{min-height:410px!important}
  body.ah-home-page .ah-hero-aside{padding:18px 20px 30px!important}
  body.ah-home-page .ah-stats{width:calc(100% - 28px)!important}
  body.ah-home-page .ah-services--home .ah-services-grid,
  body.ah-home-page .ah-projects--home .ah-project-grid,
  body.ah-home-page .ah-blog--home .ah-blog-grid{grid-template-columns:1fr!important}
  body.ah-home-page .ah-cta--home{padding:30px 20px!important}
}


/* =========================================================
   v1.1.3 — HOME SERVICES ONLY: restore approved compact layout
   Keep the wider v1.1.2 homepage everywhere else.
   ========================================================= */
body.ah-home-page .ah-services-home-inner{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:72px 0 55px!important;
}
body.ah-home-page .ah-services-top{
  display:grid!important;
  grid-template-columns:1.05fr .92fr auto!important;
  gap:54px!important;
  align-items:center!important;
  margin:0 0 28px!important;
}
body.ah-home-page .ah-services-top h2{
  font-size:42px!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  max-width:390px!important;
  margin:0!important;
}
body.ah-home-page .ah-services-top>p{
  font-size:12px!important;
  line-height:1.5!important;
  max-width:325px!important;
  margin:14px 0 0!important;
}
body.ah-home-page .ah-services-all{
  align-self:start!important;
  margin-top:31px!important;
  white-space:nowrap!important;
}
body.ah-home-page .ah-services--home .ah-services-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
}
body.ah-home-page .ah-services--home .ah-services-grid article{
  min-height:132px!important;
  padding:14px 24px 16px 0!important;
  margin-right:24px!important;
  border-right:1px solid #e5dfd6!important;
}
body.ah-home-page .ah-services--home .ah-services-grid article:last-child{
  margin-right:0!important;
  border-right:0!important;
}
body.ah-home-page .ah-services--home .ah-service-body{
  padding:0!important;
}
body.ah-home-page .ah-services--home .ah-service-icon{
  font-size:34px!important;
  min-height:34px!important;
  margin-bottom:10px!important;
}
body.ah-home-page .ah-services--home h3{
  font-size:14px!important;
  line-height:1.15!important;
  margin:0 0 7px!important;
}
body.ah-home-page .ah-services--home p{
  font-size:11px!important;
  line-height:1.42!important;
  max-width:195px!important;
  margin:0!important;
}
body.ah-home-page .ah-services--home .ah-card-arrow{
  right:5px!important;
  bottom:16px!important;
  width:26px!important;
  height:26px!important;
  font-size:12px!important;
}

@media(max-width:1100px){
  body.ah-home-page .ah-services-home-inner{width:calc(100% - 48px)!important}
  body.ah-home-page .ah-services-top{grid-template-columns:1fr 1fr!important;gap:32px!important}
  body.ah-home-page .ah-services-all{grid-column:2!important;margin-top:-16px!important;justify-self:start!important}
  body.ah-home-page .ah-services--home .ah-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ah-home-page .ah-services--home .ah-services-grid article:nth-child(2){border-right:0!important;margin-right:0!important}
  body.ah-home-page .ah-services--home .ah-services-grid article:nth-child(-n+2){border-bottom:1px solid #e5dfd6!important}
}
@media(max-width:680px){
  body.ah-home-page .ah-services-home-inner{width:calc(100% - 28px)!important;padding:58px 0 42px!important}
  body.ah-home-page .ah-services-top{display:block!important}
  body.ah-home-page .ah-services-top h2{font-size:36px!important}
  body.ah-home-page .ah-services-top>p{margin:18px 0!important}
  body.ah-home-page .ah-services-all{display:inline-flex!important;margin:0 0 22px!important}
  body.ah-home-page .ah-services--home .ah-services-grid{grid-template-columns:1fr!important}
  body.ah-home-page .ah-services--home .ah-services-grid article{
    min-height:118px!important;
    margin:0!important;
    border-right:0!important;
    border-bottom:1px solid #e5dfd6!important;
    padding:14px 38px 14px 0!important;
  }
  body.ah-home-page .ah-services--home .ah-services-grid article:last-child{border-bottom:0!important}
}


/* v1.1.4 — Home services: correct service icons + optical centering only. */
@media(min-width:1101px){
  body.ah-home-page .ah-services-home-inner{
    margin-left:auto!important;
    margin-right:auto!important;
    position:relative!important;
    left:18px!important;
  }
}
body.ah-home-page .ah-services--home .ah-service-icon{
  width:32px!important;
  height:32px!important;
  min-height:32px!important;
  margin-bottom:11px!important;
  color:#b57b37!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
body.ah-home-page .ah-services--home .ah-service-icon svg{
  width:30px!important;
  height:30px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
@media(max-width:1100px){
  body.ah-home-page .ah-services-home-inner{left:auto!important;}
}


/* =========================================================
   v1.1.5 — HOME SERVICES ONLY
   Visible centering correction. The previous +18px optical nudge
   was too subtle and the block still looked left-heavy at 100% zoom.
   ========================================================= */
@media(min-width:1101px){
  body.ah-home-page .ah-services-home-inner{
    width:min(1440px,calc(100% - 96px))!important;
    max-width:1440px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    padding-left:28px!important;
    padding-right:28px!important;
    box-sizing:border-box!important;
  }
  body.ah-home-page .ah-services-top{
    grid-template-columns:minmax(340px,1fr) minmax(300px,.85fr) auto!important;
    gap:72px!important;
  }
  body.ah-home-page .ah-services--home .ah-services-grid{
    width:100%!important;
    margin:0 auto!important;
  }
  body.ah-home-page .ah-services--home .ah-services-grid article{
    padding-left:18px!important;
    padding-right:38px!important;
    margin-right:0!important;
  }
  body.ah-home-page .ah-services--home .ah-services-grid article:first-child{
    padding-left:0!important;
  }
  body.ah-home-page .ah-services--home .ah-services-grid article:last-child{
    padding-right:0!important;
  }
  body.ah-home-page .ah-services--home .ah-card-arrow{
    right:12px!important;
  }
}

/* =========================================================
   v1.3.0 — HOME BLOG: deterministic viewport-width showcase
   The section can live inside any Elementor Flexbox width. JavaScript
   aligns the outer section to the preview/public viewport; this CSS
   owns only the internal layout and post-count responsiveness.
   ========================================================= */
.ah-blog--home{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.ah-blog--home .ah-blog-home-inner{
  width:min(1440px,calc(100% - 72px))!important;
  max-width:1440px!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:64px 0 60px!important;
  box-sizing:border-box!important;
}
.ah-blog--home .ah-blog-home-layout{
  display:grid!important;
  grid-template-columns:minmax(260px,320px) minmax(0,1fr)!important;
  gap:64px!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.ah-blog--home .ah-blog-copy{
  width:100%!important;
  max-width:320px!important;
  min-width:0!important;
}
.ah-blog--home .ah-blog-copy h2{
  margin:0 0 13px!important;
  font-size:44px!important;
  line-height:.98!important;
}
.ah-blog--home .ah-blog-copy p{
  max-width:290px!important;
  margin:0 0 16px!important;
  font-size:11.5px!important;
  line-height:1.55!important;
}
.ah-blog--home .ah-blog-grid{
  display:grid!important;
  grid-template-columns:repeat(var(--ah-blog-cols,3),minmax(0,1fr))!important;
  gap:26px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  align-items:start!important;
  justify-content:stretch!important;
}
.ah-blog--home .ah-blog-grid article{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.ah-blog--home .ah-card-image{
  display:block!important;
  width:100%!important;
  height:175px!important;
  min-width:0!important;
  overflow:hidden!important;
  border-radius:7px!important;
}
.ah-blog--home .ah-card-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
}
.ah-blog--home .ah-blog-body{
  width:100%!important;
  min-width:0!important;
  padding:12px 0 0!important;
}
.ah-blog--home .ah-meta{
  font-size:9.5px!important;
  line-height:1.35!important;
}
.ah-blog--home .ah-blog-body h3{
  width:100%!important;
  min-width:0!important;
  margin:5px 0 9px!important;
  font-size:20px!important;
  line-height:1.08!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.ah-blog--home .ah-blog-body h3 a{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  color:inherit!important;
  text-decoration:none!important;
  white-space:normal!important;
  word-break:normal!important;
}
.ah-blog--home .ah-blog-body .ah-link{font-size:10.5px!important}

/* Count-specific visual scale. Columns are driven by --ah-blog-cols from PHP. */
.ah-blog--home .ah-blog-grid.ah-blog-count-1{
  max-width:460px!important;
  justify-self:start!important;
}
.ah-blog--home .ah-blog-grid.ah-blog-count-1 .ah-card-image{height:235px!important}
.ah-blog--home .ah-blog-grid.ah-blog-count-1 .ah-blog-body h3{font-size:27px!important;line-height:1.04!important}
.ah-blog--home .ah-blog-grid.ah-blog-count-2{
  max-width:860px!important;
  justify-self:start!important;
}
.ah-blog--home .ah-blog-grid.ah-blog-count-2 .ah-card-image{height:205px!important}
.ah-blog--home .ah-blog-grid.ah-blog-count-2 .ah-blog-body h3{font-size:23px!important;line-height:1.05!important}
.ah-blog--home .ah-blog-grid.ah-blog-count-3 .ah-card-image{height:185px!important}
.ah-blog--home .ah-blog-grid.ah-blog-count-3 .ah-blog-body h3{font-size:21px!important}
.ah-blog--home .ah-blog-grid.ah-blog-count-4 .ah-card-image{height:165px!important}
.ah-blog--home .ah-blog-grid.ah-blog-count-4 .ah-blog-body h3{font-size:18px!important}
.ah-blog--home .ah-blog-grid[class*="ah-blog-count-"]:not(.ah-blog-count-1):not(.ah-blog-count-2):not(.ah-blog-count-3):not(.ah-blog-count-4) .ah-card-image{height:165px!important}
.ah-blog--home .ah-blog-home-empty{font-size:13px;color:#777;padding:22px 0}

@media (max-width:1200px){
  .ah-blog--home .ah-blog-home-inner{width:calc(100% - 48px)!important;padding:52px 0!important}
  .ah-blog--home .ah-blog-home-layout{grid-template-columns:1fr!important;gap:32px!important}
  .ah-blog--home .ah-blog-copy{max-width:560px!important}
  .ah-blog--home .ah-blog-grid{grid-template-columns:repeat(min(var(--ah-blog-cols,3),3),minmax(0,1fr))!important;gap:22px!important}
  .ah-blog--home .ah-card-image{height:170px!important}
}
@media (max-width:900px){
  .ah-blog--home .ah-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:none!important}
}
@media (max-width:680px){
  .ah-blog--home .ah-blog-home-inner{width:calc(100% - 28px)!important;padding:44px 0!important}
  .ah-blog--home .ah-blog-home-layout{grid-template-columns:1fr!important;gap:26px!important}
  .ah-blog--home .ah-blog-grid,
  .ah-blog--home .ah-blog-grid.ah-blog-count-1,
  .ah-blog--home .ah-blog-grid.ah-blog-count-2{
    grid-template-columns:1fr!important;
    max-width:none!important;
  }
  .ah-blog--home .ah-card-image,
  .ah-blog--home .ah-blog-grid.ah-blog-count-1 .ah-card-image,
  .ah-blog--home .ah-blog-grid.ah-blog-count-2 .ah-card-image{height:210px!important}
  .ah-blog--home .ah-blog-body h3,
  .ah-blog--home .ah-blog-grid.ah-blog-count-1 .ah-blog-body h3,
  .ah-blog--home .ah-blog-grid.ah-blog-count-2 .ah-blog-body h3{font-size:22px!important;line-height:1.07!important}
}

