/** Responsive overrides, including 360/375/390/430px devices. */
@media (max-width: 1199.98px) {
  .navbar-nav > .menu-item > a { padding-right: 9px; padding-left: 9px; font-size: .83rem; }
  .navbar-collapse > .btn { padding-right: 1rem; padding-left: 1rem; }
  .hero-content { max-width: 590px; }
  .hero-content h1 { max-width: 590px; font-size: clamp(3.25rem, 6vw, 4.25rem); }
  .hero-visual-identity { right: 2.5%; width: 330px; padding: 27px; }
  .hero-visual-identity > strong { font-size: 3.65rem; }
  .content-grid, .detail-layout { grid-template-columns: minmax(0,1fr) 290px; gap: 40px; }
  .hp-cta-inner { padding: 55px; }
  .project-featured { height: 530px; }
}

@media (max-width: 991.98px) {
  :root { --hp-header-height: 74px; }
  body.admin-bar .site-header.is-sticky { top: 32px; }
  .hp-navbar { min-height: var(--hp-header-height); }
  .navbar-brand .custom-logo { max-width: 175px; max-height: 52px; }
  .hp-hero, .hero-content-wrap { min-height: 650px; }
  .hero-content-wrap { padding-top: 65px; padding-bottom: 65px; }
  .hero-overlay { background: linear-gradient(90deg, rgba(4,35,23,.94), rgba(7,50,30,.64)); }
  .hero-visual-identity, .hp-webgl-scene { display: none; }
  .hero-content { max-width: 760px; }
  .hero-content h1 { max-width: 760px; font-size: clamp(3rem, 8vw, 4.4rem); }
  .section-space { padding: 82px 0; }
  .about-visual { max-width: 650px; margin: 0 auto; }
  .field-grid { grid-template-columns: repeat(2,1fr); }
  .hp-overview-grid { grid-template-columns: repeat(2,1fr); }
  .field-card:nth-child(3n) { border-right: 1px solid var(--hp-line); }
  .field-card:nth-child(2n) { border-right: 0; }
  .field-card:nth-last-child(-n+3) { border-bottom: 1px solid var(--hp-line); }
  .field-card:nth-last-child(-n+2) { border-bottom: 0; }
  .content-grid, .detail-layout { grid-template-columns: 1fr; }
  .site-sidebar { grid-template-columns: repeat(3,1fr); margin-top: 25px; }
  .sticky-card, .sticky-heading { position: static; }
  .hp-cta-inner { grid-template-columns: 1fr; gap: 32px; }
  .cta-actions { flex-direction: row; align-items: center; flex-wrap: wrap; }
  .value-grid { grid-template-columns: repeat(2,1fr); }
  .project-facts { grid-template-columns: repeat(2,1fr); }
  .project-facts > div:nth-child(2) { border-right: 0; }
  .project-facts > div:nth-child(-n+2) { border-bottom: 1px solid var(--hp-line); }
  .project-featured { height: 460px; }
  .gallery-album-grid, .hp-gallery-large { grid-template-columns: repeat(2,1fr); }
  .featured-news-media { min-height: 360px; }
  .featured-news-copy { min-height: auto; }
}

@media (max-width: 782px) {
  body.admin-bar .site-header.is-sticky { top: 46px; }
}

@media (max-width: 767.98px) {
  body { font-size: 15px; }
  h1 { font-size: clamp(2.15rem,10vw,3rem); }
  h2 { font-size: clamp(1.7rem,7vw,2.35rem); }
  .section-space { padding: 66px 0; }
  .section-heading { margin-bottom: 32px; }
  .heading-row { display: block; }
  .heading-row > p { margin-bottom: 0; }
  .hp-hero, .hero-content-wrap { min-height: 590px; }
  .hero-content-wrap { padding-top: 45px; padding-bottom: 60px; }
  .hero-content h1 { margin-bottom: 19px; font-size: clamp(2.55rem, 8.5vw, 3.55rem); line-height: 1.04; }
  .hero-description { margin-bottom: 27px; }
  .hero-overlay { background: linear-gradient(90deg, rgba(4,35,23,.95), rgba(7,50,30,.72)); }
  .eco-leaf { right: 0; opacity: .65; }
  .about-visual { min-height: 470px; padding: 0 35px 35px 0; }
  .about-visual > img, .about-placeholder { min-height: 440px; }
  .about-badge { width: 145px; height: 145px; border-width: 7px; }
  .about-badge strong { font-size: 2rem; }
  .field-grid { grid-template-columns: 1fr; }
  .hp-overview-grid { grid-template-columns: 1fr; }
  .field-card { min-height: 220px; border-right: 0 !important; border-bottom: 1px solid var(--hp-line) !important; }
  .field-card:last-child { border-bottom: 0 !important; }
  .why-grid { grid-template-columns: 1fr; }
  .why-item { min-height: 190px; }
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .stat-item:nth-child(2) { border-right: 0; }
  .stat-item:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.3); }
  .hp-partner-grid { grid-template-columns: repeat(2,1fr); gap: 16px; }
  .hp-cta-section { padding: 65px 0; }
  .hp-cta-inner { padding: 40px 28px; border-radius: var(--hp-radius); }
  .cta-actions { flex-direction: column; align-items: flex-start; }
  .footer-main { padding: 65px 0 45px; }
  .content-entry { grid-template-columns: 1fr; }
  .content-entry-image { height: 230px; }
  .site-sidebar { grid-template-columns: 1fr; }
  .page-hero { padding: 52px 0 57px; }
  .single-post-header { padding: 50px 0 35px; }
  .single-post-header .hp-breadcrumb { margin-bottom: 28px; }
  .single-meta { gap: 10px 15px; }
  .single-meta span:not(:last-child)::after { display: none; }
  .single-article .entry-content { margin: 35px auto; }
  .post-navigation { grid-template-columns: 1fr; }
  .post-navigation > div:last-child { text-align: left; }
  .detail-hero, .project-detail-header { padding: 35px 0 60px; }
  .detail-hero .hp-breadcrumb, .project-detail-header .hp-breadcrumb { margin-bottom: 35px; }
  .detail-hero-media { height: 340px; }
  .benefit-grid, .process-list { grid-template-columns: 1fr; }
  .hp-gallery-grid { grid-template-columns: repeat(2,1fr); }
  .hp-lightbox-item { height: 155px; }
  .project-detail-header { padding-bottom: 105px; }
  .project-featured { height: 360px; margin-top: -65px; border-width: 6px; }
  .project-facts, .job-facts { grid-template-columns: repeat(2,1fr); margin-bottom: 45px; }
  .project-facts > div, .job-facts > div { min-height: 95px; }
  .project-facts > div:nth-child(2n), .job-facts > div:nth-child(2n) { border-right: 0; }
  .project-facts > div:nth-last-child(n+3), .job-facts > div:nth-last-child(n+3) { border-bottom: 1px solid var(--hp-line); }
  .gallery-album-card > a { height: 320px; }
  .job-card { grid-template-columns: 1fr; gap: 20px; padding: 25px; }
  .job-card-action { align-items: flex-start; }
  .contact-form-card { padding: 28px 22px; }
  .contact-map { height: 360px; margin-top: 60px; }
  .value-grid { grid-template-columns: 1fr; }
  .value-grid article { min-height: 220px; }
  .value-grid h3 { margin-top: 35px; }
  .alignwide { width: calc(100vw - 24px); }
}

@media (max-width: 575.98px) {
  :root { --hp-header-height: 68px; }
  body.admin-bar .site-header.is-sticky { top: 0; }
  .container-xl { --bs-gutter-x: 1.4rem; }
  .hp-navbar { padding: 7px 0; }
  .navbar-brand .custom-logo { max-width: 145px; max-height: 48px; }
  .brand-mark { width: 40px; height: 40px; }
  .brand-copy strong { font-size: 1rem; }
  .brand-copy small { font-size: .5rem; }
  .icon-button { width: 42px; height: 42px; }
  .phone-button { display: none; }
  .hp-hero, .hero-content-wrap { min-height: 560px; }
  .hero-content h1 { font-size: clamp(2.25rem, 10.5vw, 3rem); letter-spacing: -.05em; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .btn { width: 100%; }
  .hp-hero .carousel-indicators { bottom: 18px; }
  .about-visual { min-height: 380px; padding: 0 22px 25px 0; }
  .about-visual > img, .about-placeholder { min-height: 360px; }
  .about-symbol .hp-icon { width: 170px; height: 170px; }
  .about-badge { width: 118px; height: 118px; border-width: 6px; }
  .about-badge strong { font-size: 1.65rem; }
  .about-badge span { width: 80px; font-size: .65rem; }
  .field-card { padding: 27px; }
  .hp-card-media { height: 210px; }
  .hp-card-body { padding: 23px; }
  .project-card-media { height: 270px; }
  .stats-grid { margin-right: -11px; margin-left: -11px; }
  .hp-cta-inner { margin-right: -2px; margin-left: -2px; padding: 35px 22px; }
  .cta-actions, .cta-actions .btn { width: 100%; }
  .footer-bottom { text-align: center; }
  .floating-actions { right: 11px; bottom: 75px; }
  .floating-action { width: 42px; height: 42px; }
  .back-to-top { right: 11px; bottom: 20px; width: 42px; height: 42px; }
  .page-hero-pattern { right: -100px; }
  .archive-filters { flex-wrap: nowrap; margin-right: -11px; margin-left: -11px; padding: 0 11px 8px; overflow-x: auto; scrollbar-width: none; }
  .archive-filters::-webkit-scrollbar { display: none; }
  .filter-button { flex: 0 0 auto; }
  .featured-news-media { min-height: 270px; }
  .featured-news-copy { padding: 28px 23px; }
  .share-row { align-items: flex-start; }
  .share-row strong { width: 100%; }
  .detail-hero-media { height: 280px; }
  .project-featured { height: 290px; }
  .project-facts, .job-facts { grid-template-columns: 1fr; }
  .project-facts > div, .job-facts > div { min-height: 83px; border-right: 0; border-bottom: 1px solid var(--hp-line); }
  .project-facts > div:last-child, .job-facts > div:last-child { border-bottom: 0; }
  .project-result { padding: 23px; }
  .hp-gallery-grid, .hp-gallery-large { grid-template-columns: 1fr; }
  .hp-lightbox-item, .hp-gallery-large .hp-lightbox-item { height: 250px; }
  .gallery-album-grid { grid-template-columns: 1fr; }
  .gallery-album-card > a { height: 340px; }
  .contact-info-list li { align-items: flex-start; }
  .contact-map { height: 320px; }
  .about-slogan-section p::before, .about-slogan-section p::after { display: none; }
  .about-slogan-section p { font-size: 1rem; letter-spacing: .06em; }
}

@media (max-width: 389.98px) {
  body { font-size: 14.5px; }
  .container-xl { --bs-gutter-x: 1.15rem; }
  .navbar-brand { gap: 8px; }
  .navbar-brand .custom-logo { max-width: 132px; }
  .brand-copy small { letter-spacing: .09em; }
  .hp-hero, .hero-content-wrap { min-height: 545px; }
  .hero-content h1 { font-size: 2.08rem; }
  .hero-description { font-size: .94rem; }
  .section-space { padding: 58px 0; }
  .field-card { min-height: 205px; }
  .hp-partner-grid { grid-template-columns: 1fr; }
  .stat-item strong { font-size: 2rem; }
  .hp-card-media { height: 195px; }
  .gallery-album-card > a { height: 305px; }
  .hp-lightbox-item, .hp-gallery-large .hp-lightbox-item { height: 220px; }
}
