@media (prefers-reduced-motion: reduce) {
  .lp-portrait-wrap::before {
    animation: none;
  }

  * {
    scroll-behavior: auto;
  }
}

@media (max-width: 1180px) {
  .lp-menu {
    display: none;
  }

  .lp-hero-shell {
    grid-template-columns: minmax(440px, 1fr) minmax(380px, 1fr);
    gap: 24px;
  }

  .lp-script-words {
    right: -92px;
  }

  .lp-grid-6,
  .lp-stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lp-grid-5,
  .lp-all-project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .lp-header-contact {
    display: none;
  }

  .lp-hero-shell {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 48px 24px 0;
    gap: 8px;
  }

  .lp-hero-copy {
    max-width: none;
    padding-bottom: 18px;
  }

  .lp-portrait-wrap {
    min-height: 505px;
  }

  .lp-portrait-wrap::before {
    width: 490px;
    height: 490px;
    left: 50%;
    top: 34px;
  }

  .lp-portrait-card {
    width: min(410px, 84vw);
    transform: none;
  }

  .lp-portrait-card img {
    height: 500px;
  }

  .lp-script-words {
    right: 6%;
    top: 56px;
  }

  .lp-grid-4,
  .lp-project-hero-grid,
  .lp-testimonial,
  .lp-process-grid {
    grid-template-columns: 1fr;
  }

  .lp-info-bar {
    grid-template-columns: 1fr;
  }

  .lp-info-item {
    border-right: 0;
    border-bottom: 1px solid var(--lp-line);
  }

  .lp-info-item:last-child {
    border-bottom: 0;
  }

  .lp-logo-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lp-project-visual img {
    height: 320px;
  }
}

@media (max-width: 760px) {
  .lp-container,
  .lp-nav,
  .lp-site-footer,
  .lp-stats-section {
    width: calc(100% - 32px);
  }

  .lp-section {
    padding: 24px;
    border-radius: 24px;
  }

  .lp-hero h1 {
    font-size: 48px;
  }

  .lp-proof-list,
  .lp-grid-2,
  .lp-grid-3,
  .lp-grid-5,
  .lp-grid-6,
  .lp-stats-grid,
  .lp-all-project-grid {
    grid-template-columns: 1fr;
  }

  .lp-logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lp-portrait-wrap {
    min-height: 420px;
  }

  .lp-portrait-card img {
    height: 420px;
  }

  .lp-script-words {
    right: 4%;
    top: 40px;
  }

  .lp-script-words span {
    font-size: 46px;
  }

  .lp-cta-banner,
  .lp-site-footer {
    flex-direction: column;
    align-items: flex-start;
  }
}


@media (max-width: 760px) {
  .lp-footer-editable {
    flex-direction: column;
    align-items: flex-start;
  }
}


@media (max-width: 980px) {
  .lp-about-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .lp-experience-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}


@media (max-width: 1180px) {
  .lp-about-index-layout {
    grid-template-columns: 1fr 1fr;
  }

  .lp-about-index-copy {
    grid-column: 1 / -1;
    padding-right: 0;
  }
}

@media (max-width: 760px) {
  .lp-about-index-section {
    padding: 28px;
    border-radius: 26px;
  }

  .lp-about-index-layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .lp-about-index-copy h2 {
    font-size: 38px;
  }

  .lp-about-index-copy > p {
    font-size: 18px;
  }

  .lp-about-index-chips {
    gap: 10px;
    margin-top: 28px;
  }

  .lp-about-index-chips span {
    min-height: 42px;
    padding: 10px 16px;
    font-size: 13px;
  }

  .lp-about-index-card {
    min-height: auto;
  }
}


@media (max-width: 1280px) {
  .lp-skills-index-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lp-skills-index-card {
    min-height: 300px;
  }

  .lp-skills-index-card h3 {
    min-height: 72px;
  }
}

@media (max-width: 760px) {
  .lp-skills-index-section {
    padding: 28px;
    border-radius: 26px;
  }

  .lp-skills-index-section > h2 {
    font-size: 38px;
  }

  .lp-skills-index-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 32px;
  }

  .lp-skills-index-card {
    min-height: auto;
    padding: 28px;
  }

  .lp-skills-index-icon {
    width: 58px;
    height: 58px;
    margin-bottom: 24px;
  }

  .lp-skills-index-card h3 {
    min-height: 0;
    font-size: 28px;
  }

  .lp-skills-index-card p {
    font-size: 17px;
  }
}


/* Mobile spacing — Project category & Project detail only */
@media (max-width: 760px) {
  .lan-project-archive.lp-container,
  .lan-project-detail-page .container,
  .lan-project-detail-page .project-hero.container {
    width: calc(100% - 28px);
  }

  .lan-project-archive.lp-container {
    margin-top: 16px;
    margin-bottom: 28px;
  }

  .lan-project-archive .lp-section {
    padding: 22px 18px;
    border-radius: 22px;
  }

  .lan-project-archive .lp-section-title {
    margin-bottom: 10px;
    font-size: 28px;
    line-height: 1.08;
  }

  .lan-project-archive .lp-section-intro {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.5;
  }

  .lan-project-archive .lp-filter-bar {
    margin-top: 18px;
    gap: 8px;
  }

  .lan-project-archive .lp-filter-button {
    min-height: 38px;
    padding: 0 14px;
    font-size: 12px;
  }

  .lan-project-archive .lp-all-project-list-section {
    margin-top: 18px;
  }

  .lan-project-archive .lp-all-project-grid {
    gap: 16px;
  }

  .lan-project-archive .lp-project-card img {
    height: 168px;
    max-height: 168px;
  }

  .lan-project-archive .lp-project-card-body {
    min-height: auto;
    padding: 18px;
  }

  .lan-project-archive .lp-project-meta-row--top {
    margin-bottom: 10px;
  }

  .lan-project-archive .all-project-card h3 {
    margin-bottom: 10px;
    font-size: 22px;
    line-height: 1.08;
  }

  .lan-project-archive .all-project-card p,
  .lan-project-archive .all-project-card .lp-project-summary {
    margin-bottom: 30px;
    font-size: 13.5px;
    line-height: 1.5;
  }

  .lan-project-archive .all-project-bottom {
    padding-top: 14px;
  }

  .lan-project-archive .all-project-card .lp-project-result {
    font-size: 24px;
  }

  .lan-project-detail-page .project-hero {
    padding: 24px 0 18px;
  }

  .lan-project-detail-page .back {
    margin-bottom: 22px;
    font-size: 13px;
  }

  .lan-project-detail-page .project-hero-grid {
    gap: 20px;
  }

  .lan-project-detail-page .project-hero h1 {
    margin: 8px 0 12px;
    font-size: 42px;
    line-height: .98;
    letter-spacing: -.06em;
  }

  .lan-project-detail-page .project-hero .lead {
    font-size: 15px;
    line-height: 1.55;
  }

  .lan-project-detail-page .hero-visual img {
    height: 240px;
    border-radius: 18px;
  }

  .lan-project-detail-page .info-bar {
    margin-top: 22px;
    border-radius: 18px;
  }

  .lan-project-detail-page .info-item {
    padding: 16px 18px;
  }

  .lan-project-detail-page .info-item span {
    margin-top: 5px;
    font-size: 14px;
  }

  .lan-project-detail-page main.container {
    margin-top: 0;
  }

  .lan-project-detail-page .section {
    padding: 22px 18px;
    border-radius: 22px;
  }

  .lan-project-detail-page .section + .section {
    margin-top: 18px;
  }

  .lan-project-detail-page .section-title {
    margin-bottom: 10px;
    font-size: 27px;
    line-height: 1.08;
  }

  .lan-project-detail-page .section-intro,
  .lan-project-detail-page .overview-card p,
  .lan-project-detail-page .process-step p,
  .lan-project-detail-page .role-list li {
    font-size: 13.5px;
    line-height: 1.5;
  }

  .lan-project-detail-page .overview-grid,
  .lan-project-detail-page .process,
  .lan-project-detail-page .visual-grid,
  .lan-project-detail-page .role-list,
  .lan-project-detail-page .related-grid {
    gap: 14px;
  }

  .lan-project-detail-page .overview-card {
    min-height: auto;
    padding: 18px;
    border-radius: 10px;
  }

  .lan-project-detail-page .process {
    margin-top: 16px;
  }

  .lan-project-detail-page .process-step {
    padding: 16px 10px;
    text-align: left;
  }

  .lan-project-detail-page .process-step::before {
    display: none;
  }

  .lan-project-detail-page .process-step h3 {
    margin: 12px 0 8px;
  }

  .lan-project-detail-page .visual-grid img {
    height: 188px;
    border-radius: 16px;
  }

  .lan-project-detail-page .role-list li {
    padding-right: 0;
    padding-bottom: 10px;
  }

  .lan-project-detail-page .related-card {
    grid-template-columns: 86px 1fr;
    gap: 12px;
    padding: 12px;
    border-radius: 10px;
  }

  .lan-project-detail-page .related-card img {
    width: 86px;
    height: 70px;
    border-radius: 12px;
  }

  .lan-project-detail-page .related-card h3 {
    font-size: 15px;
    line-height: 1.12;
  }

  .lan-project-detail-page .section + .cta-banner,
  .lan-project-detail-page .related-grid + .cta-banner,
  .lan-project-detail-page .section.soft-lavender + .cta-banner {
    margin-top: 18px;
  }

  .lan-project-detail-page .cta-banner {
    gap: 16px;
    padding: 22px 18px;
    border-radius: 18px;
  }
}

@media (max-width: 480px) {
  .lan-project-archive.lp-container,
  .lan-project-detail-page .container,
  .lan-project-detail-page .project-hero.container {
    width: calc(100% - 24px);
  }

  .lan-project-archive .lp-section,
  .lan-project-detail-page .section {
    padding: 20px 16px;
  }

  .lan-project-detail-page .project-hero {
    padding-top: 20px;
  }

  .lan-project-detail-page .project-hero h1 {
    font-size: 38px;
  }

  .lan-project-detail-page .hero-visual img {
    height: 220px;
  }

  .lan-project-archive .lp-project-card img {
    height: 156px;
    max-height: 156px;
  }
}


/* Mobile spacing & typography — Homepage only */
@media (max-width: 760px) {
  body.home .container,
  body.front-page .container,
  body.page-template-page-lan-fixed-homepage .container {
    width: calc(100% - 28px);
  }

  body.home .hero-shell,
  body.front-page .hero-shell,
  body.page-template-page-lan-fixed-homepage .hero-shell {
    min-height: auto !important;
    padding: 28px 18px 0 !important;
    gap: 0 !important;
  }

  body.home .hero-copy,
  body.front-page .hero-copy,
  body.page-template-page-lan-fixed-homepage .hero-copy {
    padding-bottom: 12px !important;
  }

  body.home .hero h1,
  body.front-page .hero h1,
  body.page-template-page-lan-fixed-homepage .hero h1 {
    font-size: 42px !important;
    line-height: .96 !important;
    letter-spacing: -.065em !important;
    margin-bottom: 10px !important;
  }

  body.home .hero h2,
  body.front-page .hero h2,
  body.page-template-page-lan-fixed-homepage .hero h2 {
    font-size: 20px !important;
    line-height: 1.14 !important;
    margin-bottom: 12px !important;
  }

  body.home .hero p,
  body.front-page .hero p,
  body.page-template-page-lan-fixed-homepage .hero p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  body.home .proof-list,
  body.front-page .proof-list,
  body.page-template-page-lan-fixed-homepage .proof-list {
    margin: 16px 0 18px !important;
    gap: 8px !important;
  }

  body.home .proof-list li,
  body.front-page .proof-list li,
  body.page-template-page-lan-fixed-homepage .proof-list li {
    font-size: 13px;
    line-height: 1.38;
  }

  body.home .hero-actions,
  body.front-page .hero-actions,
  body.page-template-page-lan-fixed-homepage .hero-actions {
    gap: 10px !important;
  }

  body.home .hero-actions .btn,
  body.front-page .hero-actions .btn,
  body.page-template-page-lan-fixed-homepage .hero-actions .btn {
    min-height: 42px;
    padding: 11px 16px;
    font-size: 12px;
  }

  body.home .portrait-wrap,
  body.front-page .portrait-wrap,
  body.page-template-page-lan-fixed-homepage .portrait-wrap {
    min-height: 360px !important;
  }

  body.home .portrait-wrap::before,
  body.front-page .portrait-wrap::before,
  body.page-template-page-lan-fixed-homepage .portrait-wrap::before {
    width: 360px !important;
    height: 360px !important;
    top: 24px !important;
  }

  body.home .portrait-card img,
  body.front-page .portrait-card img,
  body.page-template-page-lan-fixed-homepage .portrait-card img {
    height: 360px !important;
  }

  body.home .hero-script-words,
  body.front-page .hero-script-words,
  body.page-template-page-lan-fixed-homepage .hero-script-words {
    top: 30px !important;
    right: 2% !important;
    gap: 8px !important;
  }

  body.home .hero-script-words span,
  body.front-page .hero-script-words span,
  body.page-template-page-lan-fixed-homepage .hero-script-words span {
    font-size: 42px !important;
  }

  body.home .stats-section,
  body.front-page .stats-section,
  body.page-template-page-lan-fixed-homepage .stats-section {
    width: calc(100% - 28px);
    margin: 16px auto 20px;
  }

  body.home .stats-section .stats-strip,
  body.front-page .stats-section .stats-strip,
  body.page-template-page-lan-fixed-homepage .stats-section .stats-strip,
  body.home .hero .stats-strip,
  body.front-page .hero .stats-strip,
  body.page-template-page-lan-fixed-homepage .hero .stats-strip {
    gap: 10px !important;
  }

  body.home .stats-section .stat,
  body.front-page .stats-section .stat,
  body.page-template-page-lan-fixed-homepage .stats-section .stat,
  body.home .hero .stat,
  body.front-page .hero .stat,
  body.page-template-page-lan-fixed-homepage .hero .stat {
    min-height: 74px !important;
    padding: 13px 12px 12px !important;
    border-radius: 16px !important;
  }

  body.home .stats-section .stat strong,
  body.front-page .stats-section .stat strong,
  body.page-template-page-lan-fixed-homepage .stats-section .stat strong,
  body.home .hero .stat strong,
  body.front-page .hero .stat strong,
  body.page-template-page-lan-fixed-homepage .hero .stat strong {
    font-size: 22px !important;
  }

  body.home .stats-section .stat span,
  body.front-page .stats-section .stat span,
  body.page-template-page-lan-fixed-homepage .stats-section .stat span,
  body.home .hero .stat span,
  body.front-page .hero .stat span,
  body.page-template-page-lan-fixed-homepage .hero .stat span {
    margin-top: 5px !important;
    font-size: 10.5px !important;
    line-height: 1.2 !important;
  }

  body.home main.container,
  body.front-page main.container,
  body.page-template-page-lan-fixed-homepage main.container {
    margin-top: 0;
  }

  body.home .section,
  body.front-page .section,
  body.page-template-page-lan-fixed-homepage .section,
  body.home .lp-section,
  body.front-page .lp-section,
  body.page-template-page-lan-fixed-homepage .lp-section {
    padding: 22px 18px !important;
    border-radius: 22px !important;
  }

  body.home .section + .section,
  body.front-page .section + .section,
  body.page-template-page-lan-fixed-homepage .section + .section,
  body.home .lp-section + .lp-section,
  body.front-page .lp-section + .lp-section,
  body.page-template-page-lan-fixed-homepage .lp-section + .lp-section {
    margin-top: 18px !important;
  }

  body.home .eyebrow,
  body.front-page .eyebrow,
  body.page-template-page-lan-fixed-homepage .eyebrow,
  body.home .lp-eyebrow,
  body.front-page .lp-eyebrow,
  body.page-template-page-lan-fixed-homepage .lp-eyebrow,
  body.home .contact-label,
  body.front-page .contact-label,
  body.page-template-page-lan-fixed-homepage .contact-label,
  body.home .edu-type,
  body.front-page .edu-type,
  body.page-template-page-lan-fixed-homepage .edu-type {
    font-size: 9.5px !important;
    line-height: 1.2 !important;
    letter-spacing: .10em !important;
    margin-bottom: 10px !important;
  }

  body.home .section-title,
  body.front-page .section-title,
  body.page-template-page-lan-fixed-homepage .section-title,
  body.home .lp-section-title,
  body.front-page .lp-section-title,
  body.page-template-page-lan-fixed-homepage .lp-section-title,
  body.home .section-head-row h2,
  body.front-page .section-head-row h2,
  body.page-template-page-lan-fixed-homepage .section-head-row h2,
  body.home .footer-cta-clean h2,
  body.front-page .footer-cta-clean h2,
  body.page-template-page-lan-fixed-homepage .footer-cta-clean h2 {
    font-size: 24px !important;
    line-height: 1.08 !important;
    letter-spacing: -.045em !important;
    margin-bottom: 10px !important;
  }

  body.home .section-intro,
  body.front-page .section-intro,
  body.page-template-page-lan-fixed-homepage .section-intro,
  body.home .lp-section-intro,
  body.front-page .lp-section-intro,
  body.page-template-page-lan-fixed-homepage .lp-section-intro,
  body.home .section-note,
  body.front-page .section-note,
  body.page-template-page-lan-fixed-homepage .section-note,
  body.home .footer-cta-clean p,
  body.front-page .footer-cta-clean p,
  body.page-template-page-lan-fixed-homepage .footer-cta-clean p {
    font-size: 13.5px !important;
    line-height: 1.48 !important;
  }

  body.home .about-layout,
  body.front-page .about-layout,
  body.page-template-page-lan-fixed-homepage .about-layout,
  body.home .experience-grid,
  body.front-page .experience-grid,
  body.page-template-page-lan-fixed-homepage .experience-grid,
  body.home .contact-grid,
  body.front-page .contact-grid,
  body.page-template-page-lan-fixed-homepage .contact-grid,
  body.home .footer-cta-clean,
  body.front-page .footer-cta-clean,
  body.page-template-page-lan-fixed-homepage .footer-cta-clean,
  body.home .section-head-row,
  body.front-page .section-head-row,
  body.page-template-page-lan-fixed-homepage .section-head-row,
  body.home .testimonial-content,
  body.front-page .testimonial-content,
  body.page-template-page-lan-fixed-homepage .testimonial-content {
    gap: 16px !important;
  }

  body.home .chips,
  body.front-page .chips,
  body.page-template-page-lan-fixed-homepage .chips,
  body.home .brand-row,
  body.front-page .brand-row,
  body.page-template-page-lan-fixed-homepage .brand-row,
  body.home .cta-actions,
  body.front-page .cta-actions,
  body.page-template-page-lan-fixed-homepage .cta-actions {
    margin-top: 16px !important;
    gap: 8px !important;
  }

  body.home .chip,
  body.front-page .chip,
  body.page-template-page-lan-fixed-homepage .chip {
    padding: 7px 11px;
    font-size: 11.5px;
  }

  body.home .card,
  body.front-page .card,
  body.page-template-page-lan-fixed-homepage .card,
  body.home .info-panel,
  body.front-page .info-panel,
  body.page-template-page-lan-fixed-homepage .info-panel,
  body.home .contact-card-clean,
  body.front-page .contact-card-clean,
  body.page-template-page-lan-fixed-homepage .contact-card-clean,
  body.home .edu-card,
  body.front-page .edu-card,
  body.page-template-page-lan-fixed-homepage .edu-card,
  body.home .edu-card-heading-logo,
  body.front-page .edu-card-heading-logo,
  body.page-template-page-lan-fixed-homepage .edu-card-heading-logo {
    padding: 18px !important;
    border-radius: 18px !important;
    min-height: auto !important;
  }

  body.home .card h3,
  body.front-page .card h3,
  body.page-template-page-lan-fixed-homepage .card h3,
  body.home .edu-card h3,
  body.front-page .edu-card h3,
  body.page-template-page-lan-fixed-homepage .edu-card h3,
  body.home .edu-title-row h3,
  body.front-page .edu-title-row h3,
  body.page-template-page-lan-fixed-homepage .edu-title-row h3 {
    font-size: 16px !important;
    line-height: 1.14 !important;
    letter-spacing: -.025em !important;
  }

  body.home .card p,
  body.front-page .card p,
  body.page-template-page-lan-fixed-homepage .card p,
  body.home .info-panel dd,
  body.front-page .info-panel dd,
  body.page-template-page-lan-fixed-homepage .info-panel dd,
  body.home .timeline-desc,
  body.front-page .timeline-desc,
  body.page-template-page-lan-fixed-homepage .timeline-desc,
  body.home .edu-card p,
  body.front-page .edu-card p,
  body.page-template-page-lan-fixed-homepage .edu-card p,
  body.home .edu-card-heading-logo p:not(.edu-type),
  body.front-page .edu-card-heading-logo p:not(.edu-type),
  body.page-template-page-lan-fixed-homepage .edu-card-heading-logo p:not(.edu-type),
  body.home .contact-card-clean p,
  body.front-page .contact-card-clean p,
  body.page-template-page-lan-fixed-homepage .contact-card-clean p {
    font-size: 13px !important;
    line-height: 1.48 !important;
  }

  body.home .skill-cards,
  body.front-page .skill-cards,
  body.page-template-page-lan-fixed-homepage .skill-cards,
  body.home .category-cards,
  body.front-page .category-cards,
  body.page-template-page-lan-fixed-homepage .category-cards,
  body.home .case-grid,
  body.front-page .case-grid,
  body.page-template-page-lan-fixed-homepage .case-grid,
  body.home .category-cards-refined,
  body.front-page .category-cards-refined,
  body.page-template-page-lan-fixed-homepage .category-cards-refined,
  body.home .education-grid-with-logos,
  body.front-page .education-grid-with-logos,
  body.page-template-page-lan-fixed-homepage .education-grid-with-logos,
  body.home .education-grid-heading-logos,
  body.front-page .education-grid-heading-logos,
  body.page-template-page-lan-fixed-homepage .education-grid-heading-logos {
    gap: 14px !important;
    margin-top: 18px !important;
  }

  body.home .timeline,
  body.front-page .timeline,
  body.page-template-page-lan-fixed-homepage .timeline {
    gap: 14px !important;
  }

  body.home .timeline-row,
  body.front-page .timeline-row,
  body.page-template-page-lan-fixed-homepage .timeline-row {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  body.home .timeline-row::before,
  body.front-page .timeline-row::before,
  body.page-template-page-lan-fixed-homepage .timeline-row::before {
    display: none !important;
  }

  body.home .timeline-date,
  body.front-page .timeline-date,
  body.page-template-page-lan-fixed-homepage .timeline-date {
    font-size: 12px !important;
  }

  body.home .timeline-role,
  body.front-page .timeline-role,
  body.page-template-page-lan-fixed-homepage .timeline-role {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  body.home .tool-logo-grid,
  body.front-page .tool-logo-grid,
  body.page-template-page-lan-fixed-homepage .tool-logo-grid {
    gap: 8px !important;
  }

  body.home .tool-logo,
  body.front-page .tool-logo,
  body.page-template-page-lan-fixed-homepage .tool-logo {
    min-height: 48px !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
  }

  body.home .tool-logo svg,
  body.front-page .tool-logo svg,
  body.page-template-page-lan-fixed-homepage .tool-logo svg {
    width: 24px !important;
    height: 24px !important;
  }

  body.home .tool-logo span,
  body.front-page .tool-logo span,
  body.page-template-page-lan-fixed-homepage .tool-logo span {
    font-size: 11px !important;
  }

  body.home .category-card-refined,
  body.front-page .category-card-refined,
  body.page-template-page-lan-fixed-homepage .category-card-refined {
    min-height: 158px !important;
    padding: 20px !important;
    border-radius: 20px !important;
  }

  body.home .category-card-refined .category-index,
  body.front-page .category-card-refined .category-index,
  body.page-template-page-lan-fixed-homepage .category-card-refined .category-index {
    left: 20px !important;
    top: 18px !important;
    font-size: 10px !important;
  }

  body.home .category-card-refined .category-arrow,
  body.front-page .category-card-refined .category-arrow,
  body.page-template-page-lan-fixed-homepage .category-card-refined .category-arrow {
    right: 18px !important;
    top: 14px !important;
    width: 34px !important;
    height: 34px !important;
  }

  body.home .category-card-refined h3,
  body.front-page .category-card-refined h3,
  body.page-template-page-lan-fixed-homepage .category-card-refined h3 {
    margin-top: 38px !important;
    min-height: auto !important;
    font-size: 19px !important;
    line-height: 1.04 !important;
  }

  body.home .category-card-refined p,
  body.front-page .category-card-refined p,
  body.page-template-page-lan-fixed-homepage .category-card-refined p {
    min-height: auto !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  body.home .featured-case-section .case-card img,
  body.front-page .featured-case-section .case-card img,
  body.page-template-page-lan-fixed-homepage .featured-case-section .case-card img {
    height: 132px !important;
    flex-basis: 132px !important;
  }

  body.home .featured-case-section .case-card-body,
  body.front-page .featured-case-section .case-card-body,
  body.page-template-page-lan-fixed-homepage .featured-case-section .case-card-body {
    height: auto !important;
    min-height: 156px !important;
    padding: 16px !important;
    grid-template-rows: 16px auto 1fr 28px 18px !important;
    row-gap: 5px !important;
  }

  body.home .featured-case-section .case-card h3,
  body.front-page .featured-case-section .case-card h3,
  body.page-template-page-lan-fixed-homepage .featured-case-section .case-card h3 {
    min-height: auto !important;
    font-size: 16px !important;
    line-height: 1.14 !important;
  }

  body.home .featured-case-section .case-card .result,
  body.front-page .featured-case-section .case-card .result,
  body.page-template-page-lan-fixed-homepage .featured-case-section .case-card .result {
    min-height: 28px !important;
    font-size: 21px !important;
  }

  body.home .featured-more-wrap,
  body.front-page .featured-more-wrap,
  body.page-template-page-lan-fixed-homepage .featured-more-wrap {
    margin-top: 18px !important;
  }

  body.home .brand-image-strip,
  body.front-page .brand-image-strip,
  body.page-template-page-lan-fixed-homepage .brand-image-strip,
  body.home .balanced-brand-logo-grid,
  body.front-page .balanced-brand-logo-grid,
  body.page-template-page-lan-fixed-homepage .balanced-brand-logo-grid,
  body.home .custom-color-logo-grid,
  body.front-page .custom-color-logo-grid,
  body.page-template-page-lan-fixed-homepage .custom-color-logo-grid {
    gap: 12px !important;
    margin-top: 18px !important;
  }

  body.home .brand-logo-card,
  body.front-page .brand-logo-card,
  body.page-template-page-lan-fixed-homepage .brand-logo-card,
  body.home .balanced-logo-cell,
  body.front-page .balanced-logo-cell,
  body.page-template-page-lan-fixed-homepage .balanced-logo-cell {
    min-height: 58px !important;
    height: 58px !important;
    border-radius: 14px !important;
  }

  body.home .testimonial-section-refined,
  body.front-page .testimonial-section-refined,
  body.page-template-page-lan-fixed-homepage .testimonial-section-refined {
    padding: 22px 18px !important;
  }

  body.home .testimonial-section-refined .testimonial-heading,
  body.front-page .testimonial-section-refined .testimonial-heading,
  body.page-template-page-lan-fixed-homepage .testimonial-heading {
    margin-bottom: 14px !important;
  }

  body.home .testimonial-content .quote,
  body.front-page .testimonial-content .quote,
  body.page-template-page-lan-fixed-homepage .testimonial-content .quote,
  body.home .quote,
  body.front-page .quote,
  body.page-template-page-lan-fixed-homepage .quote {
    font-size: 20px !important;
    line-height: 1.22 !important;
    letter-spacing: -.035em !important;
  }

  body.home .testimonial-author,
  body.front-page .testimonial-author,
  body.page-template-page-lan-fixed-homepage .testimonial-author {
    grid-template-columns: 72px 1fr !important;
    gap: 12px !important;
    padding: 14px !important;
    border-radius: 18px !important;
  }

  body.home .testimonial-author img,
  body.front-page .testimonial-author img,
  body.page-template-page-lan-fixed-homepage .testimonial-author img,
  body.home .reviewer-placeholder,
  body.front-page .reviewer-placeholder,
  body.page-template-page-lan-fixed-homepage .reviewer-placeholder {
    width: 72px !important;
    height: 72px !important;
  }

  body.home .testimonial-author h3,
  body.front-page .testimonial-author h3,
  body.page-template-page-lan-fixed-homepage .testimonial-author h3 {
    font-size: 15px !important;
    margin-bottom: 4px !important;
  }

  body.home .testimonial-author p,
  body.front-page .testimonial-author p,
  body.page-template-page-lan-fixed-homepage .testimonial-author p {
    font-size: 12.5px !important;
    line-height: 1.42 !important;
  }

  body.home .footer-cta-clean,
  body.front-page .footer-cta-clean,
  body.page-template-page-lan-fixed-homepage .footer-cta-clean {
    grid-template-columns: 1fr !important;
  }

  body.home .contact-card-clean p,
  body.front-page .contact-card-clean p,
  body.page-template-page-lan-fixed-homepage .contact-card-clean p {
    margin-bottom: 12px !important;
  }
}

@media (max-width: 480px) {
  body.home .container,
  body.front-page .container,
  body.page-template-page-lan-fixed-homepage .container,
  body.home .stats-section,
  body.front-page .stats-section,
  body.page-template-page-lan-fixed-homepage .stats-section {
    width: calc(100% - 24px);
  }

  body.home .hero-shell,
  body.front-page .hero-shell,
  body.page-template-page-lan-fixed-homepage .hero-shell {
    padding: 24px 16px 0 !important;
  }

  body.home .hero h1,
  body.front-page .hero h1,
  body.page-template-page-lan-fixed-homepage .hero h1 {
    font-size: 38px !important;
  }

  body.home .hero h2,
  body.front-page .hero h2,
  body.page-template-page-lan-fixed-homepage .hero h2 {
    font-size: 18px !important;
  }

  body.home .portrait-wrap,
  body.front-page .portrait-wrap,
  body.page-template-page-lan-fixed-homepage .portrait-wrap {
    min-height: 330px !important;
  }

  body.home .portrait-wrap::before,
  body.front-page .portrait-wrap::before,
  body.page-template-page-lan-fixed-homepage .portrait-wrap::before {
    width: 330px !important;
    height: 330px !important;
  }

  body.home .portrait-card img,
  body.front-page .portrait-card img,
  body.page-template-page-lan-fixed-homepage .portrait-card img {
    height: 330px !important;
  }

  body.home .hero-script-words span,
  body.front-page .hero-script-words span,
  body.page-template-page-lan-fixed-homepage .hero-script-words span {
    font-size: 36px !important;
  }

  body.home .section,
  body.front-page .section,
  body.page-template-page-lan-fixed-homepage .section,
  body.home .lp-section,
  body.front-page .lp-section,
  body.page-template-page-lan-fixed-homepage .lp-section {
    padding: 20px 16px !important;
  }

  body.home .section-title,
  body.front-page .section-title,
  body.page-template-page-lan-fixed-homepage .section-title,
  body.home .lp-section-title,
  body.front-page .lp-section-title,
  body.page-template-page-lan-fixed-homepage .lp-section-title,
  body.home .section-head-row h2,
  body.front-page .section-head-row h2,
  body.page-template-page-lan-fixed-homepage .section-head-row h2,
  body.home .footer-cta-clean h2,
  body.front-page .footer-cta-clean h2,
  body.page-template-page-lan-fixed-homepage .footer-cta-clean h2 {
    font-size: 22px !important;
  }

  body.home .stats-section .stat,
  body.front-page .stats-section .stat,
  body.page-template-page-lan-fixed-homepage .stats-section .stat,
  body.home .hero .stat,
  body.front-page .hero .stat,
  body.page-template-page-lan-fixed-homepage .hero .stat {
    min-height: 70px !important;
    padding: 12px 11px !important;
  }

  body.home .stats-section .stat strong,
  body.front-page .stats-section .stat strong,
  body.page-template-page-lan-fixed-homepage .stats-section .stat strong,
  body.home .hero .stat strong,
  body.front-page .hero .stat strong,
  body.page-template-page-lan-fixed-homepage .hero .stat strong {
    font-size: 20px !important;
  }

  body.home .category-card-refined,
  body.front-page .category-card-refined,
  body.page-template-page-lan-fixed-homepage .category-card-refined {
    min-height: 148px !important;
    padding: 18px !important;
  }

  body.home .category-card-refined h3,
  body.front-page .category-card-refined h3,
  body.page-template-page-lan-fixed-homepage .category-card-refined h3 {
    font-size: 18px !important;
  }

  body.home .testimonial-content .quote,
  body.front-page .testimonial-content .quote,
  body.page-template-page-lan-fixed-homepage .testimonial-content .quote,
  body.home .quote,
  body.front-page .quote,
  body.page-template-page-lan-fixed-homepage .quote {
    font-size: 18px !important;
  }
}


/* Mobile hero order — visual first, copy second */
@media (max-width: 760px) {
  body.home .hero-shell,
  body.front-page .hero-shell,
  body.page-template-page-lan-fixed-homepage .hero-shell {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 10px !important;
  }

  body.home .portrait-wrap,
  body.front-page .portrait-wrap,
  body.page-template-page-lan-fixed-homepage .portrait-wrap {
    order: 1 !important;
    grid-row: 1 !important;
    min-height: 350px !important;
    margin-bottom: 6px !important;
  }

  body.home .hero-copy,
  body.front-page .hero-copy,
  body.page-template-page-lan-fixed-homepage .hero-copy {
    order: 2 !important;
    grid-row: 2 !important;
    padding-bottom: 22px !important;
  }

  body.home .portrait-wrap::before,
  body.front-page .portrait-wrap::before,
  body.page-template-page-lan-fixed-homepage .portrait-wrap::before {
    top: 10px !important;
  }

  body.home .portrait-card,
  body.front-page .portrait-card,
  body.page-template-page-lan-fixed-homepage .portrait-card {
    align-self: end !important;
  }

  body.home .hero-script-words,
  body.front-page .hero-script-words,
  body.page-template-page-lan-fixed-homepage .hero-script-words {
    top: 24px !important;
  }

  body.home .hero h1,
  body.front-page .hero h1,
  body.page-template-page-lan-fixed-homepage .hero h1 {
    margin-top: 0 !important;
  }

  body.home .hero-actions,
  body.front-page .hero-actions,
  body.page-template-page-lan-fixed-homepage .hero-actions {
    margin-top: 14px !important;
  }
}

@media (max-width: 480px) {
  body.home .portrait-wrap,
  body.front-page .portrait-wrap,
  body.page-template-page-lan-fixed-homepage .portrait-wrap {
    min-height: 322px !important;
    margin-bottom: 4px !important;
  }

  body.home .portrait-wrap::before,
  body.front-page .portrait-wrap::before,
  body.page-template-page-lan-fixed-homepage .portrait-wrap::before {
    top: 8px !important;
  }

  body.home .hero-script-words,
  body.front-page .hero-script-words,
  body.page-template-page-lan-fixed-homepage .hero-script-words {
    top: 20px !important;
  }

  body.home .hero-copy,
  body.front-page .hero-copy,
  body.page-template-page-lan-fixed-homepage .hero-copy {
    padding-bottom: 20px !important;
  }
}


/* Mobile hero script words position — avoid portrait face */
@media (max-width: 760px) {
  body.home .hero-script-words,
  body.front-page .hero-script-words,
  body.page-template-page-lan-fixed-homepage .hero-script-words {
    top: 112px !important;
    right: -5% !important;
    gap: 7px !important;
    transform: rotate(-4deg) translateX(12px) !important;
    z-index: 3 !important;
  }

  body.home .hero-script-words span,
  body.front-page .hero-script-words span,
  body.page-template-page-lan-fixed-homepage .hero-script-words span {
    font-size: 32px !important;
    line-height: .82 !important;
  }

  body.home .hero-script-words span:nth-child(1),
  body.front-page .hero-script-words span:nth-child(1),
  body.page-template-page-lan-fixed-homepage .hero-script-words span:nth-child(1) {
    margin-left: 18px !important;
  }

  body.home .hero-script-words span:nth-child(2),
  body.front-page .hero-script-words span:nth-child(2),
  body.page-template-page-lan-fixed-homepage .hero-script-words span:nth-child(2) {
    margin-left: 42px !important;
  }

  body.home .hero-script-words span:nth-child(3),
  body.front-page .hero-script-words span:nth-child(3),
  body.page-template-page-lan-fixed-homepage .hero-script-words span:nth-child(3) {
    margin-left: 70px !important;
  }
}

@media (max-width: 480px) {
  body.home .hero-script-words,
  body.front-page .hero-script-words,
  body.page-template-page-lan-fixed-homepage .hero-script-words {
    top: 102px !important;
    right: -8% !important;
    gap: 6px !important;
    transform: rotate(-4deg) translateX(14px) !important;
  }

  body.home .hero-script-words span,
  body.front-page .hero-script-words span,
  body.page-template-page-lan-fixed-homepage .hero-script-words span {
    font-size: 29px !important;
    line-height: .82 !important;
  }

  body.home .hero-script-words span:nth-child(1),
  body.front-page .hero-script-words span:nth-child(1),
  body.page-template-page-lan-fixed-homepage .hero-script-words span:nth-child(1) {
    margin-left: 18px !important;
  }

  body.home .hero-script-words span:nth-child(2),
  body.front-page .hero-script-words span:nth-child(2),
  body.page-template-page-lan-fixed-homepage .hero-script-words span:nth-child(2) {
    margin-left: 38px !important;
  }

  body.home .hero-script-words span:nth-child(3),
  body.front-page .hero-script-words span:nth-child(3),
  body.page-template-page-lan-fixed-homepage .hero-script-words span:nth-child(3) {
    margin-left: 64px !important;
  }
}


/* Tablet hero order & script words — visual first like mobile */
@media (min-width: 761px) and (max-width: 1024px) {
  body.home .hero-shell,
  body.front-page .hero-shell,
  body.page-template-page-lan-fixed-homepage .hero-shell {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 12px !important;
    min-height: auto !important;
    padding: 34px 24px 0 !important;
  }

  body.home .portrait-wrap,
  body.front-page .portrait-wrap,
  body.page-template-page-lan-fixed-homepage .portrait-wrap {
    order: 1 !important;
    grid-row: 1 !important;
    min-height: 430px !important;
    margin-bottom: 8px !important;
    justify-content: center !important;
  }

  body.home .hero-copy,
  body.front-page .hero-copy,
  body.page-template-page-lan-fixed-homepage .hero-copy {
    order: 2 !important;
    grid-row: 2 !important;
    max-width: none !important;
    padding-bottom: 28px !important;
  }

  body.home .portrait-wrap::before,
  body.front-page .portrait-wrap::before,
  body.page-template-page-lan-fixed-homepage .portrait-wrap::before {
    width: 430px !important;
    height: 430px !important;
    left: 50% !important;
    top: 16px !important;
    transform: translateX(-50%) !important;
  }

  body.home .portrait-card,
  body.front-page .portrait-card,
  body.page-template-page-lan-fixed-homepage .portrait-card {
    width: min(370px, 70vw) !important;
    margin: 0 auto !important;
    transform: none !important;
    align-self: end !important;
  }

  body.home .portrait-card img,
  body.front-page .portrait-card img,
  body.page-template-page-lan-fixed-homepage .portrait-card img {
    height: 430px !important;
  }

  body.home .hero-script-words,
  body.front-page .hero-script-words,
  body.page-template-page-lan-fixed-homepage .hero-script-words {
    top: 128px !important;
    right: 4% !important;
    gap: 8px !important;
    transform: rotate(-4deg) translateX(14px) !important;
    z-index: 3 !important;
  }

  body.home .hero-script-words span,
  body.front-page .hero-script-words span,
  body.page-template-page-lan-fixed-homepage .hero-script-words span {
    font-size: 34px !important;
    line-height: .82 !important;
  }

  body.home .hero-script-words span:nth-child(1),
  body.front-page .hero-script-words span:nth-child(1),
  body.page-template-page-lan-fixed-homepage .hero-script-words span:nth-child(1) {
    margin-left: 20px !important;
  }

  body.home .hero-script-words span:nth-child(2),
  body.front-page .hero-script-words span:nth-child(2),
  body.page-template-page-lan-fixed-homepage .hero-script-words span:nth-child(2) {
    margin-left: 46px !important;
  }

  body.home .hero-script-words span:nth-child(3),
  body.front-page .hero-script-words span:nth-child(3),
  body.page-template-page-lan-fixed-homepage .hero-script-words span:nth-child(3) {
    margin-left: 76px !important;
  }

  body.home .hero h1,
  body.front-page .hero h1,
  body.page-template-page-lan-fixed-homepage .hero h1 {
    margin-top: 0 !important;
  }

  body.home .hero-actions,
  body.front-page .hero-actions,
  body.page-template-page-lan-fixed-homepage .hero-actions {
    margin-top: 16px !important;
  }
}


/* Homepage responsive color refinements */
@media (max-width: 1024px) {
  body.home .lan-global-header .nav,
  body.front-page .lan-global-header .nav,
  body.page-template-page-lan-fixed-homepage .lan-global-header .nav {
    background: rgba(255, 255, 255, .78);
  }
}

@media (max-width: 760px) {
  body.home .hero-shell,
  body.front-page .hero-shell,
  body.page-template-page-lan-fixed-homepage .hero-shell {
    background:
      radial-gradient(circle at 2% 98%, rgba(255, 151, 120, .26) 0%, rgba(255, 205, 190, .15) 18%, rgba(255, 205, 190, 0) 36%),
      radial-gradient(circle at 14% 100%, rgba(255, 236, 198, .28) 0%, rgba(255, 236, 198, 0) 28%),
      radial-gradient(circle at 14% 18%, rgba(220, 233, 251, .50) 0%, rgba(220, 233, 251, 0) 34%),
      radial-gradient(circle at 88% 18%, rgba(255, 234, 228, .36) 0%, rgba(255, 234, 228, 0) 28%),
      linear-gradient(90deg, #edf4ff 0%, #f8fbfe 48%, #fff7f4 100%);
  }
}

/* Hero morph blob group responsive tuning */
@media (max-width: 1024px) {
  body.home .hero-morph-blob--main,
  body.front-page .hero-morph-blob--main,
  body.page-template-page-lan-fixed-homepage .hero-morph-blob--main {
    width: 430px !important;
    height: 430px !important;
    left: 50% !important;
    top: 16px !important;
  }

  body.home .hero-morph-blob--mint,
  body.front-page .hero-morph-blob--mint,
  body.page-template-page-lan-fixed-homepage .hero-morph-blob--mint {
    left: 15%;
        top: 98px;
  }

  body.home .hero-morph-blob--peach,
  body.front-page .hero-morph-blob--peach,
  body.page-template-page-lan-fixed-homepage .hero-morph-blob--peach {
            left: 51% ;
        top: 167px ;
  }
}

@media (max-width: 760px) {
  body.home .hero-morph-blob--main,
  body.front-page .hero-morph-blob--main,
  body.page-template-page-lan-fixed-homepage .hero-morph-blob--main {
    width: 330px !important;
    height: 330px !important;
    left: 50% !important;
    top: 8px !important;
  }

  body.home .hero-morph-blob--mint,
  body.front-page .hero-morph-blob--mint,
  body.page-template-page-lan-fixed-homepage .hero-morph-blob--mint {
    width: 243px ;
        height: 255px ;
        left: 0;
        top: 74px;
  }

  body.home .hero-morph-blob--peach,
  body.front-page .hero-morph-blob--peach,
  body.page-template-page-lan-fixed-homepage .hero-morph-blob--peach {
            width: 220px ;
        height: 201px ;
        left: 50% ;
        top: 146px ;
  }
}

