/* Ahmet Halim Elements v1.3.7 — site-wide desktop scale normalization.
   Goal: every primary page uses the same visual canvas as the homepage.
   This file is loaded LAST so page-specific legacy widths cannot make the
   header, hero, content or footer jump in size while navigating. */

:root{
  --ah-site-max:1600px;
  --ah-site-gutter:48px;
  --ah-site-width:min(var(--ah-site-max),calc(100% - (var(--ah-site-gutter) * 2)));
}

/* One centered desktop canvas across all public AH pages. */
body.ah-home-page,
body.ah-services-page,
body.ah-blog-page,
body.ah-contact-page,
body.ah-about-page{
  --ah-page-max:var(--ah-site-max);
  --ah-page-gutter:var(--ah-site-gutter);
  overflow-x:clip!important;
}

/* Header: identical left/right anchors, height and typography on every page. */
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:var(--ah-site-width)!important;
  max-width:var(--ah-site-max)!important;
  min-height:78px!important;
  margin:0 auto!important;
  padding:16px 0!important;
  box-sizing:border-box!important;
}
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-family:'DM Serif Display',Georgia,'Times New Roman',serif!important;
  font-size:27px!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:-.025em!important;
}
body.ah-home-page .ah-header nav,
body.ah-services-page .ah-header nav,
body.ah-blog-page .ah-header nav,
body.ah-contact-page .ah-header nav,
body.ah-about-page .ah-header nav{gap:32px!important}
body.ah-home-page .ah-header nav a,
body.ah-services-page .ah-header nav a,
body.ah-blog-page .ah-header nav a,
body.ah-contact-page .ah-header nav a,
body.ah-about-page .ah-header nav a{font-size:12px!important}
body.ah-home-page .ah-header>.ah-btn,
body.ah-services-page .ah-header>.ah-btn,
body.ah-blog-page .ah-header>.ah-btn,
body.ah-contact-page .ah-header>.ah-btn,
body.ah-about-page .ah-header>.ah-btn{
  min-height:44px!important;
  padding:0 21px!important;
  font-size:11px!important;
}

/* Homepage becomes the canonical 1480px canvas as well, preventing its own
   sections from alternating between 1440 / 1480 / 1600px. */
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{
  width:var(--ah-site-width)!important;
  max-width:var(--ah-site-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  box-sizing:border-box!important;
}
body.ah-home-page .ah-stats{
  width:var(--ah-site-width)!important;
  max-width:var(--ah-site-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Services: same page width and hero scale as Home. */
body.ah-services-page{--sv-max:var(--ah-site-max)!important}
body.ah-services-page .ah-services-v110-inner{
  width:var(--ah-site-width)!important;
  max-width:var(--ah-site-max)!important;
}
body.ah-services-page .ah-services-v110-hero{
  width:var(--ah-site-width)!important;
  max-width:var(--ah-site-max)!important;
  min-height:535px!important;
  height:clamp(535px,60vh,620px)!important;
  margin:0 auto!important;
}
body.ah-services-page .ah-services-v110-hero-copy{
  padding:54px clamp(38px,4vw,66px)!important;
}
body.ah-services-page .ah-services-v110-hero h1{
  font-size:clamp(60px,4.7vw,92px)!important;
  max-width:650px!important;
}
body.ah-services-page .ah-services-v110-hero-copy>p{
  font-size:clamp(13px,.9vw,16px)!important;
  max-width:610px!important;
}

/* Blog: identical canvas and hero footprint. */
body.ah-blog-page{--bl-max:var(--ah-site-max)!important}
body.ah-blog-page .ah-blog-v119-inner{
  width:var(--ah-site-width)!important;
  max-width:var(--ah-site-max)!important;
}
body.ah-blog-page .ah-blog-v119-hero{
  width:var(--ah-site-width)!important;
  max-width:var(--ah-site-max)!important;
  min-height:535px!important;
  height:clamp(535px,60vh,620px)!important;
  margin:0 auto!important;
}
body.ah-blog-page .ah-blog-v119-hero-copy{
  padding:54px clamp(38px,4vw,66px)!important;
}
body.ah-blog-page .ah-blog-v119-hero h1{
  font-size:clamp(60px,4.7vw,92px)!important;
  max-width:650px!important;
}
body.ah-blog-page .ah-blog-v119-hero p{
  font-size:clamp(13px,.9vw,16px)!important;
  max-width:610px!important;
}

/* Contact: expands the old 1480/64px mixed system onto the exact same
   homepage anchors and removes the apparent zoom change between pages. */
body.ah-contact-page{--ct-max:var(--ah-site-max)!important;--ct-gutter:var(--ah-site-gutter)!important}
body.ah-contact-page .ah-contact-v116-hero,
body.ah-contact-page .ah-contact-v116-main,
body.ah-contact-page .ah-contact-v116-cta-inner{
  width:var(--ah-site-width)!important;
  max-width:var(--ah-site-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.ah-contact-page .ah-contact-v116-hero{
  min-height:535px!important;
  height:clamp(535px,60vh,620px)!important;
}
body.ah-contact-page .ah-contact-v116-hero-copy{
  padding:54px clamp(38px,4vw,66px)!important;
}
body.ah-contact-page .ah-contact-v116-hero h1{
  font-size:clamp(60px,4.7vw,92px)!important;
  max-width:650px!important;
}
body.ah-contact-page .ah-contact-v116-hero p{
  font-size:clamp(13px,.9vw,16px)!important;
  max-width:610px!important;
}

/* About: align the outer sections to the same canvas while preserving the
   intentionally narrower text measures inside cards/copy blocks. */
body.ah-about-page{--ah-about-max:var(--ah-site-max)!important}
body.ah-about-page .ah-split-hero--about,
body.ah-about-page .ah-story--about,
body.ah-about-page .ah-process-section,
body.ah-about-page .ah-principles-section,
body.ah-about-page .ah-expertise-section,
body.ah-about-page .ah-timeline-section,
body.ah-about-page .ah-cta--about{
  width:var(--ah-site-width)!important;
  max-width:var(--ah-site-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.ah-about-page .ah-stats--about{
  width:var(--ah-site-width)!important;
  max-width:var(--ah-site-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Footer anchors match the same canvas everywhere. */
html body .ah-footer-v136 .ah-footer-shell{
  width:var(--ah-site-width)!important;
  max-width:var(--ah-site-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Tablet: one 24px gutter system. Existing page-specific layout stacking is
   left intact; only the horizontal canvas is normalized. */
@media(max-width:1100px){
  :root{--ah-site-gutter:24px}
  body.ah-services-page .ah-services-v110-hero,
  body.ah-blog-page .ah-blog-v119-hero,
  body.ah-contact-page .ah-contact-v116-hero{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
  }
}

/* Mobile: use the site's existing 14px edge rhythm and let each page's
   dedicated responsive rules control stacking, type and image heights. */
@media(max-width:680px){
  :root{--ah-site-gutter:14px}
  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{
    min-height:66px!important;
    padding:14px 0!important;
  }
  body.ah-services-page .ah-services-v110-hero-copy,
  body.ah-blog-page .ah-blog-v119-hero-copy,
  body.ah-contact-page .ah-contact-v116-hero-copy{padding-left:20px!important;padding-right:20px!important}
}
