/*
 * Laptop viewport optimization
 * Targets common 15.6-inch displays: 1366x768, 1440x900 and 1536x864.
 * Loaded after the page-specific stylesheet so it can tighten proportions
 * without changing the mobile layouts or the established visual language.
 */

@media (min-width: 1101px) and (max-width: 1600px) {
  html { font-size: 15px; }

  :root {
    --container: 1080px;
    --header-height: 72px;
  }

  .container { width: min(calc(100% - 40px), 1080px); }
  .section { padding: 82px 0; }
  .section-heading { margin-bottom: 36px; }
  .heading-split { gap: 32px; }
  .heading-split > p { max-width: 420px; }

  .eyebrow { margin-bottom: 14px; }
  .button { min-height: 44px; padding-inline: 20px; }

  .site-header { height: var(--header-height); }
  .header-inner { grid-template-columns: 190px minmax(0, 1fr) auto; }
  .brand { gap: 10px; }
  .brand-mark { width: 36px; height: 36px; }
  .brand-mark::before,
  .brand-mark::after { height: 22px; }
  .brand-copy strong { font-size: .92rem; }
  .brand-copy small { margin-top: 4px; font-size: .43rem; }
  .nav-list { gap: 23px; }
  .nav-link { min-height: var(--header-height); font-size: .69rem; }
  .header-icon { width: 36px; height: 36px; }
  .header-quote { min-height: 38px; padding-inline: 16px; font-size: .68rem; }

  .page-hero { min-height: 300px; }
  .page-hero h1 { font-size: clamp(2.9rem, 4vw, 4.15rem); }
  .page-hero-content { padding-top: 12px; }

  .blog-section { padding-block: 78px; }
  .blog-page-grid { gap: 20px; }
  .blog-image { height: 210px; }
  .blog-card { padding-bottom: 24px; }
  .blog-card h3 { font-size: 1.08rem; }

  .project-grid { gap: 20px; }
  .project-card { min-height: 410px; }
  .project-card .portfolio-overlay { inset: auto 18px 18px; padding: 18px; }

  .results-section { padding: 58px 0; }
  .contact-cta { padding: 54px 0; }

  .site-footer .container { width: min(calc(100% - 40px), 1080px); }
  .footer-main { padding: 58px 0 45px; gap: 38px; }
  .footer-column h3 { margin-bottom: 16px; }
  .footer-bottom { padding: 16px 0; }

  /* Home */
  .home-page {
    --wide-container: 1120px;
    --header-height: 76px;
    font-size: 14px;
  }
  .home-page .container { width: min(calc(100% - 40px), 1120px); }
  .home-page .section { padding: 82px 0; }
  .home-page .site-header .container { width: min(calc(100% - 48px), 1280px); }
  .home-page .header-inner { grid-template-columns: 225px minmax(0, 1fr) auto; }
  .home-page .brand { gap: 12px; }
  .home-page .brand-mark { width: 43px; height: 43px; }
  .home-page .brand-mark::before { top: 8px; height: 27px; }
  .home-page .brand-copy strong { font-size: 1.42rem; }
  .home-page .brand-copy small { margin-top: 5px; font-size: .61rem; }
  .home-page .nav-list { gap: 21px; }
  .home-page .nav-link { font-size: .72rem; }
  .home-page .header-actions { gap: 11px; }
  .home-page .header-icon { width: 33px; height: 33px; }
  .home-page .header-quote { min-width: 126px; min-height: 39px; }

  .home-page .home-hero {
    min-height: 620px;
    height: 100svh;
    max-height: 760px;
  }
  .home-page .hero-copy { width: min(560px, 48%); transform: translate3d(0, 72px, 0); }
  .home-page .hero h1 { max-width: 560px; font-size: clamp(3.65rem, 4.6vw, 4.8rem); }
  .home-page .hero-copy > .button { margin-top: 28px; }
  .home-page .hero-arrow { width: 50px; height: 50px; }
  .home-page .hero-arrow svg { width: 23px; height: 23px; }

  .home-page .about-section { padding: 88px 0 92px; }
  .home-page .about-grid { gap: 62px; }
  .home-page .about-visual { min-height: 455px; }
  .home-page .about-content { max-width: 475px; }
  .home-page .about-content h2 { margin: 12px 0 30px; }
  .home-page .experience-card {
    width: 320px;
    min-height: 90px;
    grid-template-columns: 104px 60px 1fr;
  }
  .home-page .experience-card > img { height: 90px; }
  .home-page .experience-icon { width: 48px; height: 48px; }
  .home-page .experience-icon svg { width: 39px; height: 39px; }
  .home-page .experience-card strong { font-size: 1.02rem; }
  .home-page .experience-card small { margin-top: 4px; font-size: .69rem; }
  .home-page .tab-list { gap: 32px; }
  .home-page .tab-panels { min-height: 84px; padding-top: 20px; font-size: .9rem; }
  .home-page .about-leader { margin-top: 28px; grid-template-columns: 52px 1fr; }
  .home-page .about-leader img { width: 52px; height: 52px; }

  .home-page .services-shell { padding: 46px 18px 0; }
  .home-page .services-panel { height: auto; min-height: 620px; padding: 64px 0 58px; }
  .home-page .services-panel .container { width: min(calc(100% - 44px), 1120px); }
  .home-page .services-heading { margin-bottom: 36px; }
  .home-page .service-image { height: 186px; }
  .home-page .service-body { min-height: 176px; padding-top: 46px; }
  .home-page .service-icon { top: -30px; width: 60px; height: 60px; }
  .home-page .service-icon svg { width: 31px; height: 31px; }
  .home-page .service-card p { min-height: 54px; font-size: .82rem; }

  .home-page .expertise-marquee { padding-bottom: 20px; }
  .home-page .marquee-track span { font-size: clamp(2.8rem, 4.3vw, 4.9rem); }

  .home-page .why-section { padding: 30px 0 48px; }
  .home-page .why-section > .container { width: min(calc(100% - 40px), 760px); }
  .home-page .why-top { grid-template-columns: 325px 365px; gap: 42px; }
  .home-page .why-image { height: 250px; }
  .home-page .why-content h2 { font-size: 2.2rem; }
  .home-page .why-intro { font-size: .8rem; }
  .home-page .why-features { margin-top: 34px; gap: 18px; }
  .home-page .why-feature { grid-template-columns: 44px 1fr; gap: 14px; }
  .home-page .feature-symbol { width: 42px; height: 42px; }
  .home-page .feature-symbol svg { width: 24px; height: 24px; }

  .home-page .trusted-shell { padding: 10px 14px 48px; }
  .home-page .trusted-strip { width: calc(100% - 28px); height: 285px; min-height: 285px; }
  .home-page .trusted-copy { padding: 34px 20px; }
  .home-page .trusted-copy h2 { font-size: clamp(2.35rem, 3vw, 3rem); }
  .home-page .trusted-copy .button { margin-top: 20px; }

  .home-page .portfolio-section { padding-top: 48px; }
  .home-page .portfolio-heading { max-width: 760px; margin-bottom: 24px; }
  .home-page .portfolio-row { width: calc(100% - 28px); gap: 13px; }
  .home-page .portfolio-card { min-height: 390px; }
  .home-page .portfolio-overlay { inset: auto 20px 20px; }

  .home-page .pricing-section { padding: 44px 0 54px; }
  .home-page .pricing-layout {
    width: min(calc(100% - 40px), 760px);
    max-width: 760px;
    grid-template-columns: 315px 315px;
    gap: 90px;
  }
  .home-page .pricing-intro > p:not(.eyebrow):not(.pricing-note) { margin: 20px 0 14px; }
  .home-page .pricing-accordion-trigger { min-height: 44px; }
  .home-page .pricing-accordion-item.is-open .pricing-accordion-panel { padding-bottom: 16px; }

  .home-page .home-footer .container { max-width: 760px; }
  .home-page .footer-main { padding: 38px 0 26px; gap: 48px; }
  .home-page .footer-column h3 { margin-bottom: 14px; font-size: .88rem; }
  .home-page .footer-lower { min-height: 58px; }

  /* About and Contact shared header/hero */
  .about-page { --about-wide: 1080px; }
  .about-page .container { width: min(calc(100% - 40px), 1080px); }
  .about-page .about-hero { min-height: 285px; }
  .about-page .about-hero-inner { width: min(calc(100% - 40px), 760px); padding-top: 54px; }
  .about-page .about-hero h1 { font-size: clamp(2.7rem, 3.55vw, 3.8rem); }
  .about-page .about-overview { padding: 76px 0 64px; }
  .about-page .about-overview-grid { width: min(calc(100% - 40px), 760px); grid-template-columns: 170px 1fr 174px; column-gap: 31px; }
  .about-page .about-primary-image img { height: 305px; }
  .about-page .about-overview-copy { padding-top: 20px; padding-right: 166px; }
  .about-page .about-overview-copy h2,
  .about-page .about-pricing-intro h2,
  .about-page .about-testimonial-heading h2 { font-size: clamp(2rem, 2.65vw, 2.9rem); }
  .about-page .about-secondary-image { margin-top: 133px; }
  .about-page .about-secondary-image img { height: 195px; }
  .about-page .about-stat-panel { min-height: 82px; }
  .about-page .about-stat { min-height: 60px; padding-inline: 23px; }
  .about-page .about-process-grid { width: min(calc(100% - 40px), 760px); margin-top: 50px; gap: 25px; }
  .about-page .about-testimonials { min-height: 390px; }
  .about-page .about-testimonials-inner { width: min(calc(100% - 40px), 760px); padding: 52px 0 55px; }
  .about-page .about-testimonial-stage { margin-top: 34px; }
  .about-page .about-testimonial-track { min-height: 155px; }
  .about-page .about-pricing { padding: 64px 0 68px; }
  .about-page .about-pricing-layout { width: min(calc(100% - 40px), 760px); }
  .about-page .about-footer .container { width: min(calc(100% - 40px), 760px); }
  .about-page .about-footer-main { padding: 38px 0 26px; gap: 47px; }
  .about-page .about-footer-lower { min-height: 58px; }
  .about-page .about-demo-toolbar { top: 160px; }
  .about-page .about-demo-toolbar a { width: 36px; height: 36px; }

  /* Contact */
  .contact-page { --contact-content: 760px; }
  .contact-page .contact-hero { min-height: 285px; }
  .contact-reference { padding: 54px 0 48px; }
  .contact-reference-layout { width: min(calc(100% - 40px), 760px); grid-template-columns: minmax(0, 1.45fr) minmax(238px, .9fr); gap: 15px; }
  .contact-reference-card,
  .contact-reference-details { min-height: 400px; }
  .contact-reference-card { padding: 24px 25px 22px; }
  .contact-reference-card h2 { font-size: clamp(1.85rem, 2.25vw, 2.55rem); }
  .contact-reference-intro { margin: 12px 0 16px; }
  .contact-reference-form { row-gap: 8px; }
  .contact-reference-details { padding: 19px 30px; }
  .contact-reference-icon { width: 40px; height: 40px; margin-bottom: 8px; }
  .contact-reference-icon svg { width: 21px; height: 21px; }
  .contact-map { height: 190px; }
  .contact-page .about-footer-main { padding-top: 38px; }

  /* Services landing */
  .services-page { --services-container: 800px; --header-height: 56px; }
  .services-page .container,
  .services-page .site-header .container,
  .services-page .site-footer .container { width: min(calc(100% - 40px), 800px); }
  .services-page .section { padding: 82px 0; }
  .services-page .header-inner { grid-template-columns: 145px minmax(0, 1fr) auto; column-gap: 20px; }
  .services-page .nav-list { gap: 20px; }
  .services-page .services-hero { min-height: 225px; }
  .services-page .services-hero h1 { font-size: clamp(2.65rem, 3.2vw, 3.55rem); }
  .services-page .services-intro-section { padding: 76px 0 60px; }
  .services-page .services-intro { grid-template-columns: 270px 1fr; gap: 67px; }
  .services-page .services-intro-copy h2 { font-size: clamp(2.25rem, 2.6vw, 2.75rem); }
  .services-page .services-intro-image img { height: 285px; }
  .services-page .services-catalog { padding: 78px 0 88px; }
  .services-page .services-heading { margin-bottom: 32px; }
  .services-page .services-card-grid { width: min(100%, 720px); gap: 17px; }
  .services-page .service-card-compact { min-height: 172px; padding: 27px 21px 20px; }
  .services-page .services-process-section { padding: 82px 0 88px; }
  .services-page .services-process-section .section-heading { margin-bottom: 34px; }
  .services-page .services-process-grid { gap: 13px; }
  .services-page .services-process-card { min-height: 158px; padding: 22px 19px; }
  .services-page .services-process-card h3 { margin-top: 28px; }
  .services-page .services-pricing-section { padding: 82px 0 76px; }
  .services-page .services-pricing-heading { margin-bottom: 38px; }
  .services-page .services-price-grid { width: min(100%, 590px); }
  .services-page .services-price-card { min-height: 278px; padding: 20px 17px 17px; }
  .services-page .services-price-card.is-featured { min-height: 302px; }
  .services-page .services-contact-cta { min-height: 174px; padding: 38px 0; }
  .services-page .services-contact-cta-inner { min-height: 92px; }
  .services-page .footer-main { padding: 42px 0 36px; gap: 32px; }

  /* Business Strategy / service detail */
  .service-detail-page {
    --detail-wide: 1080px;
    --detail-content: 820px;
    --detail-sidebar: 235px;
    --header-height: 58px;
    --preview-height: 32px;
  }
  .market-preview-bar { height: var(--preview-height); padding-inline: 17px; }
  .market-preview-buy { height: 21px; min-width: 60px; }
  .service-detail-page .container { width: min(calc(100% - 40px), 1080px); }
  .service-detail-page .site-header .container { width: min(calc(100% - 46px), 1280px); }
  .service-detail-page .header-inner { grid-template-columns: 185px minmax(0, 1fr) auto; column-gap: 20px; }
  .service-detail-page .nav-list { gap: 22px; }
  .service-detail-page .nav-link { font-size: .63rem; }
  .service-detail-page .service-detail-hero { min-height: 245px; }
  .service-detail-hero-content { width: min(calc(100% - 40px), 820px) !important; padding-top: 52px; }
  .service-detail-hero h1 { font-size: clamp(2.5rem, 3.45vw, 3.5rem); }
  .service-detail-main { padding: 60px 0 68px; }
  .service-detail-layout { width: min(calc(100% - 40px), 820px) !important; gap: 30px; }
  .service-detail-sidebar { gap: 15px; }
  .service-sidebar-panel { padding: 18px 17px; }
  .service-sidebar-panel h2 { margin-bottom: 13px; }
  .service-list a { min-height: 39px; padding-inline: 12px; }
  .service-download { min-height: 51px; }
  .service-sidebar-cta { min-height: 285px; }
  .service-detail-cover { margin-bottom: 23px; }
  .service-detail-cover img { height: 250px; }
  .service-detail-copy h2 { font-size: 1.34rem; }
  .service-detail-copy p { font-size: .68rem; line-height: 1.64; }
  .service-detail-copy p + p { margin-top: 16px; }
  .service-check-grid { gap: 12px; }
  .service-benefit-grid { margin-top: 26px; gap: 22px; }
  .service-faq { margin-top: 28px; }
  .service-faq-trigger { min-height: 40px; }
  .service-detail-footer .container { width: min(calc(100% - 40px), 820px); }
  .service-detail-footer-main { padding: 38px 0 27px; gap: 46px; }
  .service-detail-footer-lower { min-height: 58px; }
  .service-detail-page .service-detail-demo-toolbar { top: 126px; }
}

/* Extra vertical tightening for the most common 1366x768 class of laptops. */
@media (min-width: 1101px) and (max-width: 1440px) and (max-height: 850px) {
  html { font-size: 14px; }

  .section { padding: 70px 0; }
  .page-hero { min-height: 270px; }

  .home-page .home-hero { min-height: 590px; max-height: 700px; }
  .home-page .hero-copy { transform: translate3d(0, 56px, 0); }
  .home-page .hero h1 { font-size: clamp(3.35rem, 4.25vw, 4.25rem); }
  .home-page .about-section { padding: 74px 0 78px; }
  .home-page .about-visual { min-height: 420px; }
  .home-page .services-panel { height: 430px; min-height: 430px; padding-top: 36px; }
  .home-page .service-image { height: 128px; }
  .home-page .trusted-strip { height: 260px; min-height: 260px; }
  .home-page .portfolio-card { min-height: 350px; }
  .home-page .pricing-section { padding: 38px 0 46px; }

  .about-page .about-hero,
  .contact-page .contact-hero { min-height: 260px; }
  .about-page .about-overview { padding: 66px 0 56px; }
  .about-page .about-primary-image img { height: 285px; }
  .about-page .about-secondary-image { margin-top: 122px; }
  .about-page .about-secondary-image img { height: 180px; }
  .about-page .about-process-grid { margin-top: 42px; }
  .about-page .about-testimonials { min-height: 355px; }
  .about-page .about-testimonials-inner { padding: 44px 0 46px; }
  .about-page .about-pricing { padding: 54px 0 58px; }

  .contact-reference { padding: 45px 0 40px; }
  .contact-reference-card,
  .contact-reference-details { min-height: 370px; }
  .contact-map { height: 170px; }

  .services-page .services-hero { min-height: 205px; }
  .services-page .services-intro-section { padding: 66px 0 52px; }
  .services-page .services-intro-image img { height: 260px; }
  .services-page .services-catalog,
  .services-page .services-process-section,
  .services-page .services-pricing-section { padding-top: 68px; padding-bottom: 72px; }
  .services-page .service-card-compact { min-height: 160px; }
  .services-page .services-process-card { min-height: 148px; }
  .services-page .services-price-card { min-height: 260px; }
  .services-page .services-price-card.is-featured { min-height: 282px; }
  .services-page .services-contact-cta { min-height: 160px; padding: 32px 0; }

  .service-detail-page .service-detail-hero { min-height: 225px; }
  .service-detail-main { padding: 52px 0 58px; }
  .service-detail-cover img { height: 230px; }
  .service-sidebar-cta { min-height: 265px; }
}

/* ========================================================================== 
   Comprehensive 15.6-inch laptop refinement — all pages
   Adds safeguards and page-specific density rules for 1366×768 through
   1536×864 while leaving tablet/mobile breakpoints untouched.
   ========================================================================== */

@media (min-width: 1101px) and (max-width: 1600px) {
  /* Shared geometry and overflow safeguards */
  *, *::before, *::after { min-width: 0; }
  html, body { max-width: 100%; overflow-x: clip; }
  body { line-height: 1.58; }
  img, svg, video, iframe { max-width: 100%; }
  main { overflow: clip; }

  .header-inner,
  .footer-main,
  .heading-split,
  .contact-cta-inner,
  .results-grid { min-width: 0; }

  .site-header .container { width: min(calc(100% - 40px), 1180px); }
  .header-inner { min-height: var(--header-height); column-gap: 20px; }
  .nav-list { flex-wrap: nowrap; white-space: nowrap; }
  .nav-link { padding-inline: 0; }
  .header-actions { flex-shrink: 0; }
  .header-quote, .button { white-space: nowrap; }

  .page-hero { background-position: center; }
  .page-hero-content { width: min(calc(100% - 40px), 1040px); }
  .page-hero .breadcrumbs { margin-top: 14px; }

  .section-heading h2 { line-height: 1.04; }
  .section-heading > p,
  .heading-split > p { line-height: 1.72; }

  .site-footer { overflow: clip; }
  .footer-main > * { min-width: 0; }
  .newsletter-form { max-width: 100%; }
  .newsletter-form input { min-width: 0; }

  /* Portfolio */
  .projects-page { font-size: 14px; }
  .projects-page .container { width: min(calc(100% - 40px), 1040px); }
  .projects-page .page-hero { min-height: 270px; }
  .projects-page .page-hero h1 { font-size: clamp(2.8rem, 3.6vw, 3.9rem); }
  .projects-page main > .section { padding: 68px 0 76px; }
  .projects-page .section-heading { margin-bottom: 28px; }
  .projects-page .heading-split { grid-template-columns: minmax(0, 1.05fr) minmax(300px, .72fr); align-items: end; }
  .projects-page .heading-split h2 { font-size: clamp(2.25rem, 3vw, 3.15rem); }
  .projects-page .filter-bar { margin-bottom: 28px; gap: 8px; }
  .projects-page .filter-button { min-height: 34px; padding: 8px 14px; font-size: .66rem; }
  .projects-page .project-grid { gap: 18px; }
  .projects-page .project-card { min-height: 350px; border-radius: 10px; }
  .projects-page .project-card .portfolio-overlay { inset: auto 16px 16px; padding: 16px 56px 16px 16px; }
  .projects-page .project-card .portfolio-overlay h3 { font-size: 1rem; }
  .projects-page .project-card .portfolio-overlay a { right: 14px; bottom: 14px; width: 34px; height: 34px; }
  .projects-page .results-section { padding: 50px 0; }
  .projects-page .results-grid { grid-template-columns: 1.45fr repeat(3, .5fr); gap: 24px; }
  .projects-page .results-copy h2 { font-size: clamp(2rem, 2.65vw, 2.75rem); }
  .projects-page .stat strong { font-size: 2.25rem; }
  .projects-page .contact-cta { padding: 48px 0; }
  .projects-page .contact-cta h2 { font-size: clamp(2rem, 2.7vw, 2.8rem); }
  .projects-page .footer-main { padding: 48px 0 38px; }

  /* Blog */
  .blog-page { font-size: 14px; }
  .blog-page .container { width: min(calc(100% - 40px), 1040px); }
  .blog-page .page-hero { min-height: 270px; }
  .blog-page .page-hero h1 { font-size: clamp(2.8rem, 3.6vw, 3.9rem); }
  .blog-page .blog-section { padding: 68px 0 76px; }
  .blog-page .section-heading { margin-bottom: 30px; }
  .blog-page .heading-split { grid-template-columns: minmax(0, 1.05fr) minmax(300px, .72fr); align-items: end; }
  .blog-page .heading-split h2 { font-size: clamp(2.25rem, 3vw, 3.15rem); }
  .blog-page .blog-page-grid { gap: 18px; }
  .blog-page .blog-card { border-radius: 10px; overflow: hidden; padding-bottom: 20px; }
  .blog-page .blog-image { height: 190px; }
  .blog-page .blog-meta,
  .blog-page .blog-card h3,
  .blog-page .blog-card > .text-link { margin-inline: 20px; }
  .blog-page .blog-meta { margin-top: 18px; font-size: .64rem; }
  .blog-page .blog-card h3 { min-height: 52px; margin-top: 10px; margin-bottom: 16px; font-size: 1rem; }
  .blog-page .contact-cta { padding: 48px 0; }
  .blog-page .contact-cta h2 { font-size: clamp(2rem, 2.7vw, 2.8rem); }
  .blog-page .footer-main { padding: 48px 0 38px; }

  /* Home page density and clipping safeguards */
  .home-page .hero-copy,
  .home-page .about-grid,
  .home-page .why-top,
  .home-page .pricing-layout { min-width: 0; }
  .home-page .about-image,
  .home-page .service-card,
  .home-page .portfolio-card { overflow: hidden; }
  .home-page .portfolio-row { max-width: 1500px; margin-inline: auto; }

  /* About page */
  .about-page .about-overview-grid,
  .about-page .about-process-grid,
  .about-page .about-pricing-layout { min-width: 0; }
  .about-page .about-overview-copy p { line-height: 1.7; }
  .about-page .about-process-item p { line-height: 1.58; }

  /* Contact page */
  .contact-page .contact-reference-layout { min-width: 0; }
  .contact-page input,
  .contact-page textarea { width: 100%; min-width: 0; }
  .contact-page .contact-reference-details { overflow: hidden; }
  .contact-page .contact-map iframe { width: 100%; height: 100%; }

  /* Services landing */
  .services-page .services-intro,
  .services-page .services-card-grid,
  .services-page .services-process-grid,
  .services-page .services-price-grid { min-width: 0; }
  .services-page .service-card-compact p,
  .services-page .services-process-card p,
  .services-page .services-price-card p { line-height: 1.58; }

  /* Service detail and duplicate detail file */
  .service-detail-page .service-detail-layout,
  .service-detail-page .service-check-grid,
  .service-detail-page .service-benefit-grid { min-width: 0; }
  .service-detail-page .service-detail-article { min-width: 0; }
  .service-detail-page .service-sidebar-panel { overflow: hidden; }
  .service-detail-page .service-detail-copy { overflow-wrap: anywhere; }
}

@media (min-width: 1101px) and (max-width: 1440px) and (max-height: 850px) {
  /* Shared compact rhythm for the most common 1366×768 laptop viewport */
  .site-header .container { width: min(calc(100% - 32px), 1120px); }
  .page-hero-content { width: min(calc(100% - 32px), 1000px); }
  .button { min-height: 40px; padding-inline: 17px; }

  .projects-page .page-hero,
  .blog-page .page-hero { min-height: 238px; }
  .projects-page main > .section,
  .blog-page .blog-section { padding: 56px 0 62px; }
  .projects-page .project-card { min-height: 310px; }
  .projects-page .results-section,
  .projects-page .contact-cta,
  .blog-page .contact-cta { padding: 42px 0; }
  .blog-page .blog-image { height: 174px; }
  .blog-page .blog-card h3 { min-height: 48px; }

  .home-page .site-header .container { width: min(calc(100% - 34px), 1220px); }
  .home-page .home-hero { height: calc(100svh - 0px); min-height: 560px; max-height: 660px; }
  .home-page .about-grid { gap: 48px; }
  .home-page .portfolio-row { gap: 11px; }

  .about-page .about-overview-grid,
  .about-page .about-process-grid,
  .about-page .about-testimonials-inner,
  .about-page .about-pricing-layout,
  .about-page .about-footer .container,
  .contact-reference-layout { width: min(calc(100% - 32px), 740px); }

  .services-page .container,
  .services-page .site-header .container,
  .services-page .site-footer .container { width: min(calc(100% - 32px), 780px); }
  .services-page .services-card-grid { width: min(100%, 700px); }

  .service-detail-layout,
  .service-detail-hero-content,
  .service-detail-footer .container { width: min(calc(100% - 32px), 800px) !important; }
}

/* ========================================================================== 
   Home services — reference scale restoration
   Keeps the homepage services block at the large editorial proportions shown
   in the supplied reference, including on 15.6-inch laptop viewports.
   ========================================================================== */
@media (min-width: 1101px) {
  .home-page .services-shell {
    padding: 46px 28px 0;
  }

  .home-page .services-panel {
    height: auto;
    min-height: 790px;
    padding: 92px 0 78px;
    border-radius: 6px;
  }

  .home-page .services-panel .container {
    width: min(calc(100% - 64px), 1288px);
    max-width: 1288px;
  }

  .home-page .services-heading {
    margin-bottom: 54px;
  }

  .home-page .services-heading .eyebrow {
    margin-bottom: 13px;
  }

  .home-page .services-heading h2 {
    font-size: clamp(3.2rem, 4vw, 5rem);
    line-height: .98;
  }

  .home-page .service-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }

  .home-page .service-image {
    height: 260px;
    border-radius: 6px 6px 0 0;
  }

  .home-page .service-body {
    min-height: 224px;
    margin-top: -46px;
    padding: 62px 28px 0;
    border-radius: 0 0 6px 6px;
  }

  .home-page .service-icon {
    top: -39px;
    width: 78px;
    height: 78px;
  }

  .home-page .service-icon svg {
    width: 37px;
    height: 37px;
  }

  .home-page .service-card h3 {
    font-size: 1.18rem;
  }

  .home-page .service-card p {
    min-height: 66px;
    margin: 12px 0 18px;
    font-size: .92rem;
    line-height: 1.62;
  }

  .home-page .service-link {
    height: 60px;
    margin-inline: -28px;
    font-size: .92rem;
  }
}
