/* Ahmet Halim Elements v1.3.8 — mobile foundation.
   Loaded last on every AH Elementor widget. It deliberately owns the mobile
   header/menu and homepage hero so older 680/780/1024px rules cannot fight. */

@media (max-width: 1024px){
  /* ---------- Header / mobile navigation ---------- */
  .elementor-widget-ah-header{
    position:sticky!important;
    top:0!important;
    z-index:9999!important;
    overflow:visible!important;
    background:rgba(255,255,255,.98)!important;
    border-bottom:1px solid rgba(17,17,17,.07)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }

  .ah-header,
  body.ah-home-page .ah-header--name-only,
  body.ah-services-page .ah-header--name-only,
  body.ah-blog-page .ah-header--name-only,
  body.ah-contact-page .ah-header--name-only,
  body.ah-about-page .ah-header--name-only{
    position:relative!important;
    width:calc(100% - 28px)!important;
    max-width:none!important;
    min-height:82px!important;
    margin:0 auto!important;
    padding:14px 0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
  }

  .ah-header .ah-brand--name,
  .ah-header .ah-brand,
  body.ah-home-page .ah-brand--name,
  body.ah-services-page .ah-brand--name,
  body.ah-blog-page .ah-brand--name,
  body.ah-contact-page .ah-brand--name,
  body.ah-about-page .ah-brand--name{
    position:relative!important;
    z-index:2!important;
    margin:0!important;
    padding:0!important;
    font-family:'DM Serif Display',Georgia,'Times New Roman',serif!important;
    font-size:27px!important;
    line-height:1!important;
    font-weight:400!important;
    letter-spacing:-.035em!important;
    color:#111!important;
    text-decoration:none!important;
    white-space:nowrap!important;
  }

  .ah-header>.ah-btn{display:none!important}

  .ah-menu-toggle,
  .ah-menu-toggle:hover,
  .ah-menu-toggle:focus,
  .ah-menu-toggle:active{
    appearance:none!important;
    -webkit-appearance:none!important;
    position:relative!important;
    z-index:3!important;
    display:flex!important;
    flex:0 0 48px!important;
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    border:1.5px solid #171717!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#171717!important;
    box-shadow:none!important;
    outline:none!important;
    cursor:pointer!important;
  }
  .ah-menu-toggle:focus-visible{box-shadow:0 0 0 3px rgba(184,134,73,.22)!important}
  .ah-menu-bar{
    display:block!important;
    width:20px!important;
    height:1.5px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:3px!important;
    background:#171717!important;
    transform-origin:center!important;
    transition:transform .2s ease,opacity .15s ease!important;
  }
  .ah-header.ah-menu-open .ah-menu-bar:nth-child(1){transform:translateY(6.5px) rotate(45deg)!important}
  .ah-header.ah-menu-open .ah-menu-bar:nth-child(2){opacity:0!important}
  .ah-header.ah-menu-open .ah-menu-bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)!important}

  .ah-header nav{
    display:none!important;
    position:absolute!important;
    top:calc(100% + 1px)!important;
    left:-14px!important;
    right:-14px!important;
    width:calc(100% + 28px)!important;
    margin:0!important;
    padding:12px 14px 18px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    background:#fff!important;
    border-top:1px solid #eee9e1!important;
    border-bottom:1px solid #e7e0d7!important;
    box-shadow:0 18px 36px rgba(20,17,12,.11)!important;
    z-index:1!important;
  }
  .ah-header.ah-menu-open nav{display:flex!important}
  .ah-header nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:51px!important;
    padding:0 4px!important;
    margin:0!important;
    border-bottom:1px solid #eee9e1!important;
    color:#171717!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1.2!important;
    text-decoration:none!important;
  }
  .ah-header nav a:last-child{border-bottom:0!important}
  .ah-header nav a:after{
    content:'→'!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    background:none!important;
    color:#ad763a!important;
    font-size:16px!important;
  }
}

@media (max-width: 680px){
  /* ---------- Homepage hero: one deterministic mobile composition ---------- */
  body.ah-home-page .ah-home-hero{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#f8f2e9!important;
  }
  body.ah-home-page .ah-hero-inner{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    overflow:hidden!important;
  }
  body.ah-home-page .ah-hero-copy{
    position:relative!important;
    width:100%!important;
    min-height:0!important;
    padding:48px 32px 42px!important;
    display:block!important;
    box-sizing:border-box!important;
    z-index:3!important;
  }
  body.ah-home-page .ah-eyebrow{
    margin:0 0 19px!important;
    font-size:10px!important;
    line-height:1.2!important;
    letter-spacing:.27em!important;
  }
  body.ah-home-page .ah-home-hero h1{
    width:auto!important;
    max-width:310px!important;
    margin:0 0 18px!important;
    font-size:clamp(50px,14.5vw,56px)!important;
    line-height:.91!important;
    letter-spacing:-.045em!important;
  }
  body.ah-home-page .ah-home-hero h3{
    max-width:305px!important;
    margin:0 0 17px!important;
    font-size:19px!important;
    line-height:1.14!important;
  }
  body.ah-home-page .ah-home-hero p{
    max-width:305px!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.58!important;
    color:#595550!important;
  }
  body.ah-home-page .ah-actions{
    margin-top:24px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:22px!important;
  }
  body.ah-home-page .ah-actions .ah-btn{
    min-height:50px!important;
    padding:0 25px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:7px!important;
    font-size:13px!important;
  }
  body.ah-home-page .ah-actions .ah-link{font-size:13px!important}
  body.ah-home-page .ah-scroll-cue{
    margin-top:28px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    font-size:10px!important;
  }

  /* Fixed visual slot removes the height changes caused by the older
     530/545/410px breakpoint rules and by the hidden desktop aside. */
  body.ah-home-page .ah-hero-visual{
    position:relative!important;
    width:100%!important;
    height:clamp(380px,108vw,430px)!important;
    min-height:0!important;
    max-height:430px!important;
    margin:0!important;
    padding:0!important;
    flex:0 0 auto!important;
    display:block!important;
    overflow:hidden!important;
    background:transparent!important;
  }
  body.ah-home-page .ah-photo-shell{
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    bottom:0!important;
    top:auto!important;
    width:min(86vw,340px)!important;
    height:100%!important;
    margin:0!important;
    transform:translateX(-50%)!important;
    border-radius:49% 49% 0 0!important;
    overflow:hidden!important;
  }
  body.ah-home-page .ah-photo-shell img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 38%!important;
    transform:none!important;
  }
  body.ah-home-page .ah-handnote{display:none!important}

  /* The desktop proof-card aside duplicates the stats section directly below
     on small screens and was making the hero height depend on card wrapping. */
  body.ah-home-page .ah-hero-aside{display:none!important}

  body.ah-home-page .ah-stats{
    position:relative!important;
    width:calc(100% - 28px)!important;
    max-width:none!important;
    margin:14px auto 0!important;
    z-index:5!important;
  }
}

@media (max-width: 380px){
  .ah-header .ah-brand--name,
  body.ah-home-page .ah-brand--name,
  body.ah-services-page .ah-brand--name,
  body.ah-blog-page .ah-brand--name,
  body.ah-contact-page .ah-brand--name,
  body.ah-about-page .ah-brand--name{font-size:25px!important}
  body.ah-home-page .ah-hero-copy{padding-left:28px!important;padding-right:28px!important}
}

/* =========================================================
   v1.3.9 — Homepage mobile proof bar
   Keep the three primary metrics on one compact row instead
   of stacking them into a near full-screen card.
   ========================================================= */
@media (max-width: 680px){
  body.ah-home-page .ah-stats:not(.ah-stats--about){
    width:calc(100% - 24px)!important;
    max-width:460px!important;
    margin:12px auto 0!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:stretch!important;
    border-radius:12px!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid rgba(18,17,15,.05)!important;
    box-shadow:0 12px 30px rgba(24,20,14,.07)!important;
  }

  body.ah-home-page .ah-stats:not(.ah-stats--about) .ah-stat-item{
    min-width:0!important;
    min-height:92px!important;
    margin:0!important;
    padding:15px 10px 13px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    border-right:1px solid #ece5dc!important;
    border-bottom:0!important;
    background:#fff!important;
  }
  body.ah-home-page .ah-stats:not(.ah-stats--about) .ah-stat-item:nth-child(3){
    border-right:0!important;
  }
  body.ah-home-page .ah-stats:not(.ah-stats--about) .ah-stat-item>div{
    width:100%!important;
    min-width:0!important;
  }
  body.ah-home-page .ah-stats:not(.ah-stats--about) .ah-stat-item strong{
    display:block!important;
    margin:0!important;
    font-size:clamp(22px,6.6vw,27px)!important;
    line-height:.98!important;
    letter-spacing:-.035em!important;
    white-space:nowrap!important;
  }
  body.ah-home-page .ah-stats:not(.ah-stats--about) .ah-stat-item span{
    display:block!important;
    margin-top:7px!important;
    font-size:9.5px!important;
    line-height:1.25!important;
    color:#6b6762!important;
  }

  body.ah-home-page .ah-stats:not(.ah-stats--about) .ah-stat-tagline{
    grid-column:1/-1!important;
    min-height:62px!important;
    margin:0!important;
    padding:11px 15px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    border-top:1px solid #ece5dc!important;
    border-right:0!important;
    border-bottom:0!important;
    background:#fff!important;
  }
  body.ah-home-page .ah-stats:not(.ah-stats--about) .ah-stat-tagline strong{
    max-width:220px!important;
    margin:0!important;
    font-size:16px!important;
    line-height:1.08!important;
    letter-spacing:-.02em!important;
  }
  body.ah-home-page .ah-stats:not(.ah-stats--about) .ah-stat-arrow{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    flex:0 0 34px!important;
    margin:0!important;
    border-radius:50%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:15px!important;
  }
}

@media (max-width: 380px){
  body.ah-home-page .ah-stats:not(.ah-stats--about){width:calc(100% - 18px)!important}
  body.ah-home-page .ah-stats:not(.ah-stats--about) .ah-stat-item{
    min-height:84px!important;
    padding:13px 8px 11px!important;
  }
  body.ah-home-page .ah-stats:not(.ah-stats--about) .ah-stat-item strong{
    font-size:clamp(20px,6.2vw,24px)!important;
  }
  body.ah-home-page .ah-stats:not(.ah-stats--about) .ah-stat-item span{
    font-size:8.8px!important;
  }
  body.ah-home-page .ah-stats:not(.ah-stats--about) .ah-stat-tagline{
    min-height:58px!important;
    padding:10px 13px!important;
  }
  body.ah-home-page .ah-stats:not(.ah-stats--about) .ah-stat-tagline strong{font-size:15px!important}
}

/* =========================================================
   v1.3.10 — Services mobile compaction + truly shared menu
   - One mobile header/menu behavior across every page scope.
   - Services hero metrics mirror the compact homepage proof row.
   - Service cards become compact icon/title rows.
   - Process items become compact icon/title rows.
   ========================================================= */
@media (max-width: 1024px){
  /* Older page skins used more-specific `display:none!important` rules for nav.
     Own the open/closed state here with higher specificity so the same header
     behaves identically on Home, Services, Blog, Contact and About. */
  html body .elementor-widget-ah-header .ah-header nav{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  html body .elementor-widget-ah-header .ah-header.ah-menu-open nav{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  html body .elementor-widget-ah-header .ah-menu-toggle{
    display:flex!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
}

@media (max-width: 680px){
  /* ---------- Services: compact proof stats, same visual language as Home ---------- */
  body.ah-services-page .ah-services-v110-stats{
    width:100%!important;
    max-width:460px!important;
    margin:2px 0 0!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:stretch!important;
    overflow:hidden!important;
    border:1px solid rgba(18,17,15,.06)!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:0 9px 24px rgba(24,20,14,.055)!important;
  }
  body.ah-services-page .ah-services-v110-stats>div,
  body.ah-services-page .ah-services-v110-stats>div:first-child,
  body.ah-services-page .ah-services-v110-stats>div:last-child{
    min-width:0!important;
    min-height:82px!important;
    margin:0!important;
    padding:13px 9px 11px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    border:0!important;
    border-right:1px solid #ece5dc!important;
    background:#fff!important;
  }
  body.ah-services-page .ah-services-v110-stats>div:last-child{border-right:0!important}
  body.ah-services-page .ah-services-v110-stats strong{
    display:block!important;
    margin:0!important;
    font-size:clamp(21px,6.2vw,26px)!important;
    line-height:.98!important;
    letter-spacing:-.035em!important;
    white-space:nowrap!important;
    color:#111!important;
  }
  body.ah-services-page .ah-services-v110-stats span{
    display:block!important;
    margin:6px 0 0!important;
    font-size:9px!important;
    line-height:1.24!important;
    color:#6b6762!important;
  }

  /* ---------- Services cards: icon + title on one row ---------- */
  body.ah-services-page .ah-services-v110-section{
    padding:48px 0 54px!important;
  }
  body.ah-services-page .ah-services-v110-section-head{
    margin-bottom:24px!important;
  }
  body.ah-services-page .ah-services-v110-grid{
    gap:9px!important;
  }
  body.ah-services-page .ah-services-v110-grid article{
    min-height:0!important;
    padding:14px 14px 13px!important;
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr) 20px!important;
    grid-template-rows:auto auto!important;
    column-gap:10px!important;
    row-gap:7px!important;
    align-items:center!important;
    border-radius:9px!important;
    box-shadow:0 5px 16px rgba(56,42,24,.03)!important;
  }
  body.ah-services-page .ah-services-v110-icon{
    grid-column:1!important;
    grid-row:1!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    margin:0!important;
    border-radius:7px!important;
  }
  body.ah-services-page .ah-services-v110-icon svg{
    width:16px!important;
    height:16px!important;
  }
  body.ah-services-page .ah-services-v110-grid h3{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    margin:0!important;
    font-size:13.5px!important;
    line-height:1.2!important;
  }
  body.ah-services-page .ah-services-v110-grid p{
    grid-column:1 / -1!important;
    grid-row:2!important;
    max-width:none!important;
    margin:0!important;
    font-size:10.5px!important;
    line-height:1.45!important;
  }
  body.ah-services-page .ah-services-v110-arrow{
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
    padding:0!important;
    font-size:16px!important;
    line-height:1!important;
  }

  /* ---------- Process: compact list, icon + heading on one row ---------- */
  body.ah-services-page .ah-services-v110-process{
    padding:44px 0 48px!important;
  }
  body.ah-services-page .ah-services-v110-process .ah-services-v110-section-head{
    margin-bottom:20px!important;
  }
  body.ah-services-page .ah-services-v110-process-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  body.ah-services-page .ah-services-v110-process-grid article{
    position:relative!important;
    min-height:0!important;
    margin:0!important;
    padding:12px 0!important;
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    column-gap:10px!important;
    row-gap:4px!important;
    align-items:center!important;
    border-bottom:1px solid rgba(171,137,96,.18)!important;
  }
  body.ah-services-page .ah-services-v110-process-grid article:last-child{
    border-bottom:0!important;
  }
  body.ah-services-page .ah-services-v110-process-icon{
    grid-column:1!important;
    grid-row:1!important;
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    margin:0!important;
  }
  body.ah-services-page .ah-services-v110-process-icon svg{
    width:14px!important;
    height:14px!important;
  }
  body.ah-services-page .ah-services-v110-process-grid h3{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    margin:0!important;
    font-size:13.5px!important;
    line-height:1.2!important;
  }
  body.ah-services-page .ah-services-v110-step{
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
    font-size:9px!important;
    line-height:1!important;
    letter-spacing:.08em!important;
    color:#a46f36!important;
  }
  body.ah-services-page .ah-services-v110-process-grid p{
    grid-column:2 / -1!important;
    grid-row:2!important;
    max-width:none!important;
    margin:0!important;
    font-size:10px!important;
    line-height:1.42!important;
  }
}

@media (max-width: 380px){
  body.ah-services-page .ah-services-v110-stats>div,
  body.ah-services-page .ah-services-v110-stats>div:first-child,
  body.ah-services-page .ah-services-v110-stats>div:last-child{
    min-height:76px!important;
    padding:11px 7px 10px!important;
  }
  body.ah-services-page .ah-services-v110-stats strong{font-size:20px!important}
  body.ah-services-page .ah-services-v110-stats span{font-size:8.4px!important}
}
