/* ========================================= */
/* KAZU HAUS - MOBILE & TABLET STYLES        */
/* ========================================= */

/* 
   This file handles all responsive behavior.
   Desktop-specific styles are stacked vertically 
   for an optimized mobile experience.
*/
html,
body {
    overflow-x: hidden;
}

@media (max-width: 990px) {

    /* Global scaling for tablets */
    :root {
        --section-padding: 80px;
    }

    body {
        font-size: 14px;
    }

    h1 {
        font-size: 48px;
    }

    h2 {
        font-size: 32px;
    }

    .climate-container {
        padding: 0 40px;
    }
}

@media (max-width: 767px) {

    /* Global scaling for mobile */
    :root {
        --section-padding: 40px;
    }

    .climate-left,
    .climate-right,
    .climate-content-left,
    .climate-content-right {
        max-width: 100% !important;
    }

    body {
        font-size: 14px;
        line-height: 1.6;
    }

    h1 {
        font-size: 32px !important;
        line-height: 1.1 !important;
    }

    h2 {
        font-size: 26px !important;
        line-height: 1.2 !important;
    }

    h3 {
        font-size: 20px !important;
    }

    .section-title-large {
        font-size: 28px !important;
        line-height: 1.2 !important;
    }

    .climate-container {
        padding: 0 20px;
    }

    .nav-container,
    .intro-container,
    .flower-container,
    .about-container,
    .kh-contact-container,
    .footer-container,
    .selected-work-container,
    .about-intro-container,
    .people-container,
    .contact-form-container,
    .projects-hero-container,
    .hero-content,
    .climate-container,
    .book-container,
    .turnkey-hero-content,
    .complete-delivery-container,
    .journey-container,
    .turnkey-cta-container,
    .offerings-container,
    .precision-structures-container,
    .who-its-for-container,
    .projects-hero-container,
    .about-intro-container,
    .people-container,
    .contact-intro-container,
    .tk-footer-top,
    .tk-footer-bottom {
        /* width: 100% !important;
    max-width: 100%; */
        /* padding-left: 20px !important; */
        margin: 0 auto !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        /* padding-right: 20px !important; */
    }

}

/* --- GLOBAL MOBILE FIXES --- */
html,
body {
    overflow-x: hidden !important;
    width: 100% !important;
    /* Avoid 100vw which includes scrollbar and can cause layout shift */
    position: relative;
    margin: 0;
    padding: 0;
}

* {
    box-sizing: border-box !important;
}

/* --- CATCH-ALL CONTAINER FIXES --- */
/* This list covers all project and style containers found across the site */
.nav-container,
.intro-container,
.flower-container,
.about-container,
.kh-contact-container,
.footer-container,
.selected-work-container,
.about-intro-container,
.people-container,
.contact-form-container,
.projects-hero-container,
.hero-content,
.climate-container,
.book-container,
.turnkey-hero-content,
.complete-delivery-container,
.journey-container,
.turnkey-cta-container,
.offerings-container,
.precision-structures-container,
.who-its-for-container,
.projects-hero-container,
.about-intro-container,
.people-container,
.contact-intro-container,
.tk-footer-top,
.tk-footer-bottom {
    /* width: 100% !important;
    max-width: 100%; */
    padding-left: 40px;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    padding-right: 40px;
}

/* --- SECTION WIDTH NORMALIZATION --- */
section,
nav,
header,
footer,
.hero-section,
.projects-hero-section,
.about-intro-section,
.turnkey-hero,
.projects-section,
.about-section,
.kh-contact-section,
.complete-delivery-section,
.journey-section,
.turnkey-cta-section,
.offerings-section,
.precision-structures-section,
.who-its-for-section,
.contact-prompt-section,
.about-intro-section,
.people-section,
.about-cta-section,
.contact-intro-section,
.contact-form-section,
.projects-hero-section,
.projects-cta {
    /* width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important; */
    overflow-x: hidden !important;
}

/* Ensure background assets genuinely fill the width */
.hero-bg,
.hero-bg img,
.hero-bg video,
.turnkey-hero-bg img,
.about-intro-visual img {
    width: 100% !important;
    left: 0 !important;
    object-position: center 45% !important;
}

nav {
    padding: 0 !important;
    width: 100% !important;
}

.nav-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}


/* --- NAVIGATION (Hamburger Menu) --- */
@media (max-width: 1150px) {
    .nav-links {
        display: none;
    }

    .menu-btn {
        display: block;
    }
}

/* --- HERO SECTION --- */
@media (max-width: 1024px) {
    .hero-section {
        min-height: 70vh !important;
    }

    .hero-title {
        font-size: 56px !important;
        margin-bottom: 30px !important;
    }

    .hero-subtitle {
        font-size: 16px !important;
        max-width: 580px;
    }

    .turnkey-hero {
        min-height: 70vh !important;
    }
}

@media (max-width: 768px) {
    .hero-section {
        min-height: 60vh !important;
    }

    .hero-title {
        font-size: 38px !important;
        line-height: 1.1;
    }

    .hero-subtitle {
        font-size: 15px !important;
        max-width: 100%;
        margin-bottom: 30px;
        line-height: 1.5 !important;
    }

    .hero-stats-bar {
        flex-direction: column !important;
        /* Stack one by one */
        gap: 15px !important;
        align-items: flex-start !important;
        margin-top: 25px !important;
    }

    /* GLOBAL FULL WIDTH BUTTONS */
    .btn-primary,
    .btn-outline,
    .turnkey-cta-btn,
    .projects-cta-btn,
    .contact-cta-btn,
    .kh-submit-btn,
    .contact-submit-btn,
    .contact-prompt-btn,
    .about-cta-btn,
    .filter-btn,
    .btn-learn-more {
        display: flex !important;
        width: 100% !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 18px 20px !important;
        /* Unified padding for mobile */
        box-sizing: border-box !important;
    }

    .hero-buttons {
        flex-direction: column !important;
        /* Stack buttons one by one */
        gap: 15px !important;
        width: 100% !important;
    }
}

/* --- TURNKEY HERO --- */
@media (max-width: 768px) {
    .turnkey-hero {
        min-height: 60vh !important;
        padding: 20px 0px 40px !important;
        display: flex !important;
        align-items: flex-end !important;
    }

    .turnkey-hero-subtitle {
        font-size: 10px !important;
        letter-spacing: 2px !important;
        margin-bottom: 10px !important;
    }
}

/* --- INTRO SECTION --- */
@media (max-width: 1024px) {
    #intro {
        padding: 100px 40px !important;
    }

    .intro-grid {
        gap: 60px !important;
        /* Keeping grid structure but with smaller gap */
    }

    .intro-heading {
        font-size: 38px !important;
    }
}

@media (max-width: 768px) {
    #intro {
        padding: 40px 0px !important;
    }

    .intro-grid {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 40px !important;
    }

    .intro-heading {
        font-size: 28px !important;
        margin-bottom: 20px !important;
    }

    .intro-text {
        font-size: 14px !important;
    }

    .intro-metrics {
        display: flex !important;
        flex-direction: column !important;
        /* Stack one by one */
        gap: 15px !important;
        margin: 30px 0 !important;
    }

    .metric-item {
        font-size: 13px !important;
        padding-left: 0 !important;
    }
}

/* --- PRODUCT ROWS --- */
@media (max-width: 990px) {
    .product-row {
        min-height: 300px !important;
    }

    .climate-left,
    .climate-right {
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
    }

    .climate-content-right,
    .climate-content-left {
        padding: 0px !important;
    }

    .climate-title {
        font-size: 24px !important;
    }
}

/* --- FLOWER / LION SECTIONS (.tiger) --- */
@media (max-width: 1024px) {

    .tiger,
    .flower-grid {
        gap: 40px !important;
    }

    .eagle,
    .flower-title {
        font-size: 28px !important;
    }
}

@media (max-width: 768px) {

    .tiger,
    .flower-grid {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 30px !important;
    }

    .eagle,
    .flower-title {
        font-size: 24px !important;
        margin-bottom: 20px !important;
    }

    .flower-image-wrapper {
        margin-bottom: 20px !important;
    }
}

/* --- PROCESS SECTION (.butterfly) --- */
@media (max-width: 1024px) {
    .butterfly {
        gap: 40px !important;
    }

    .firefly {
        font-size: 28px !important;
    }
}

@media (max-width: 768px) {
    .butterfly {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 40px !important;
    }

    .firefly {
        font-size: 24px !important;
        margin-bottom: 25px !important;
    }

    .caterpillar {
        position: relative !important;
        top: 0 !important;
        margin-bottom: 20px !important;
    }
}

/* --- ABOUT SECTION --- */
@media (max-width: 1024px) {

    .about-section,
    .about-section1 {
        padding: 80px 40px !important;
    }

    .about-title {
        font-size: 32px !important;
    }
}

@media (max-width: 768px) {

    .about-section,
    .about-section1 {
        padding: 40px 20px !important;
    }

    .about-title {
        font-size: 26px !important;
        margin-bottom: 25px !important;
    }

    .about-text {
        font-size: 14px !important;
    }

    .harmony-box {
        padding: 25px !important;
        margin-top: 40px !important;
    }
}

/* --- TEAM SECTION (.hiroshima) --- */
@media (max-width: 1024px) {
    .hiroshima {
        grid-template-columns: 150px 1fr !important;
        gap: 30px !important;
    }
}

@media (max-width: 768px) {
    .hiroshima {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 20px !important;
        margin-bottom: 60px !important;
        text-align: left !important;
    }

    .fukuoka {
        width: 80px !important;
        height: 80px !important;
        margin-bottom: 15px !important;
    }

    .nara {
        font-size: 26px !important;
    }

    .kobe {
        font-size: 15px !important;
    }
}

@media (max-width: 768px) {

    .selected-work-grid,
    .selected-work-grid.reversed {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 15px !important;
    }

    .project-card {
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
        /* Square aspect ratio for mobile cards */
    }

    .projects-grid .project-card {
        aspect-ratio: 3 / 2 !important;
    }

    .large-card,
    .small-card,
    .full-card {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }
}

@media (max-width: 990px) {

    .selected-work-grid,
    .selected-work-grid.reversed {
        grid-template-columns: 1fr 1fr !important;
        gap: 15px !important;
    }

    .project-card,
    .large-card,
    .small-card,
    .full-card {
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
        grid-row: span 1 !important;
        grid-column: span 1 !important;
    }

    .projects-grid .project-card {
        aspect-ratio: 3 / 2 !important;
    }

    .element-steps {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }

    .element-main-title {
        font-size: 32px !important;
    }
}

@media (max-width: 768px) {
    .element-steps {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 30px !important;
    }

    .element-main-title {
        font-size: 24px !important;
        margin-bottom: 30px !important;
    }

    .element-step {
        margin-bottom: 20px !important;
    }

    .element-step h3 {
        font-size: 16px !important;
    }

    .element-step p {
        font-size: 14px !important;
    }

    .element-step-number {
        font-size: 36px !important;
        margin-bottom: 10px !important;
    }
}

/* --- CONTACT SECTION --- */
@media (max-width: 1024px) {
    .kh-contact-grid {
        gap: 40px !important;
    }

    .kh-contact-title {
        font-size: 38px !important;
    }
}

@media (max-width: 768px) {
    .kh-contact-grid {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 30px !important;
    }

    .kh-contact-section {
        padding: 40px 0px !important;
    }

    .kh-contact-title {
        font-size: 24px !important;
    }

    .kh-contact-desc {
        font-size: 14px !important;
        margin-bottom: 30px !important;
    }

    .kh-form-row {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 15px !important;
    }
}

@media (max-width: 768px) {
    .desk-v {
        display: none !important;
    }

    .mob-v {
        display: block !important;
    }

    .product-row {
        flex-direction: column !important;
        /* Stack image above content */
        min-height: auto !important;
    }

    .video-box {
        margin-bottom: 20px;
    }

    .climate-left,
    .climate-right {
        width: 100% !important;
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
        /* Square aspect ratio for mobile stack */
    }

    .climate-content-right,
    .climate-content-left {
        padding: 30px 20px !important;
        width: 100% !important;
    }

    .climate-title {
        font-size: 24px !important;
        margin-bottom: 20px !important;
    }

    .badge-container {
        display: flex !important;
        flex-direction: column !important;
        /* Stack one by one */
        gap: 10px !important;
        align-items: flex-start !important;
        margin-bottom: 25px !important;
    }

    .climate-desc {
        font-size: 14px !important;
    }

    .badge {
        font-size: 8px !important;
        padding: 4px 8px !important;
    }

    .btn-learn-more {
        font-size: 14px !important;
    }
}

/* --- COMPLETE DELIVERY SECTION (Turnkey) --- */
@media (max-width: 768px) {
    .complete-delivery-section {
        padding: 40px 0px !important;
    }

    .complete-delivery-container {
        flex-direction: column !important;
        /* Stack vertically */
        gap: 40px !important;
    }

    .complete-delivery-left {
        max-width: 100% !important;
        width: 100% !important;
    }

    .complete-delivery-content h2 {
        font-size: 28px !important;
        line-height: 1.2 !important;
        margin-bottom: 25px !important;
    }

    .complete-delivery-text p {
        font-size: 14px !important;
    }

    .complete-delivery-right {
        display: flex !important;
        flex-direction: column !important;
        /* One by One */
        gap: 20px !important;
        width: 100% !important;
    }

    .stat-card {
        padding: 25px !important;
        height: auto !important;
        /* No fixed height */
        min-height: 120px !important;
        width: 100% !important;
    }

    .stat-value {
        font-size: 20px !important;
        margin-bottom: 5px !important;
    }
}

/* --- YOUR JOURNEY SECTION (Turnkey) --- */
@media (max-width: 768px) {
    .journey-section {
        padding: 40px 0px !important;
    }

    .journey-title {
        font-size: 24px !important;
        margin-bottom: 0px !important;
    }

    .journey-grid {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 0px !important;
    }

    .people-subtitle {
        margin-bottom: 0px !important;
    }

    .journey-card {
        padding: 30px 0 !important;
        border-right: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    }

    .journey-number {
        font-size: 32px !important;
    }

    .journey-card-title {
        font-size: 18px !important;
    }
}

/* --- TURNKEY CTA --- */
@media (max-width: 768px) {
    .turnkey-cta-section {
        padding: 40px 0px !important;
    }

    .turnkey-cta-title {
        font-size: 26px !important;
        margin-bottom: 30px !important;
        line-height: 1.3 !important;
    }
}

/* --- PERFORMANCE SECTION --- */
@media (max-width: 768px) {

    #performance,
    .performance-section {
        padding: 40px 0px !important;
    }

    .perf-top {
        grid-template-columns: 1fr !important;
        /* Stack vertically (Grid) */
        gap: 40px !important;
    }

    .perf-title-col,
    .perf-text-col {
        width: 100% !important;
        max-width: 100% !important;
        padding-top: 0 !important;
        /* Remove desktop offset */
    }

    .perf-title-large {
        font-size: 28px !important;
        line-height: 1.2 !important;
    }

    .perf-title-large br {
        content: " " !important;
        display: inline !important;
    }

    .perf-text-col p {
        font-size: 14px !important;
        line-height: 1.6 !important;
        margin-bottom: 20px !important;
    }

    .perf-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 30px !important;
    }

    .perf-card {
        padding: 0 !important;
        border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
        padding-top: 25px !important;
    }

    .perf-card h3 {
        font-size: 18px !important;
        margin-bottom: 12px !important;
    }

    .perf-card p {
        font-size: 14px !important;
    }
}

@media (max-width: 1024px) {
    .book-grid {
        gap: 40px !important;
    }

    .book-title {
        font-size: 30px !important;
    }
}

@media (max-width: 768px) {
    .book-section {
        padding: 40px 20px !important;
    }

    .book-grid {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 40px !important;
    }

    .book-title {
        font-size: 22px !important;
        margin-bottom: 20px !important;
    }

    .book-desc {
        font-size: 15px !important;
        margin-bottom: 30px !important;
    }

    .book-form-grid {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 15px !important;
    }
}

@media (max-width: 768px) {
    .process-stats-grid {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 20px !important;
    }

    .process-stat-box {
        padding: 20px !important;
        border: 1px solid rgba(255, 255, 255, 0.05) !important;
        text-align: left !important;
    }

    .stat-value {
        font-size: 20px !important;
    }

    .process-steps-grid {
        grid-template-columns: 1fr !important;
        /* Stack one by one */
        gap: 20px !important;
    }

    .process-step-card {
        padding: 25px !important;
        border-left: 2px solid #ccc !important;
        border-bottom: none !important;
    }
}

@media (max-width: 1024px) {
    .solarsystem {
        padding: 100px 40px !important;
        min-height: auto !important;
        display: block !important;
    }

    .star-title {
        font-size: 32px !important;
    }
}

@media (max-width: 768px) {
    .solarsystem {
        padding: 40px 20px !important;
    }

    .star-title {
        font-size: 24px !important;
        margin-bottom: 25px !important;
        line-height: 1.2 !important;
    }

    .comet-text {
        font-size: 14px !important;
    }
}

@media (max-width: 768px) {
    .about-grid-split {
        grid-template-columns: 1fr !important;
        /* Stack vertically (Grid) */
        gap: 40px !important;
    }

    .about-split-left,
    .about-split-right {
        width: 100% !important;
        padding-top: 0 !important;
    }

    .about-split-title {
        font-size: 28px !important;
        line-height: 1.2 !important;
        margin-bottom: 25px !important;
    }

    .about-split-text p {
        font-size: 14px !important;
        margin-bottom: 20px !important;
    }

    .harmony-border-list {
        margin: 30px 0 !important;
        padding-left: 0 !important;
    }

    .harmony-border-list li {
        font-size: 16px !important;
        padding: 12px 0 !important;
    }

    .harmony-italic-quote {
        font-size: 16px !important;
        padding-left: 0 !important;
        border-left: none !important;
        font-style: italic !important;
        color: rgba(255, 255, 255, 0.6) !important;
    }
}

/* --- GENERIC CLIMATE GRID REFINEMENTS --- */
@media (max-width: 990px) {

    .climate-grid,
    .climate-grid-redesign {
        gap: 40px !important;
    }
}

@media (max-width: 768px) {
    .climate-section {
        padding: 30px 0px !important;
    }

    .climate-grid,
    .climate-grid-redesign {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 40px !important;
    }

    .climate-title {
        font-size: 24px !important;
        margin-bottom: 20px !important;

    }

    .climate-text {
        font-size: 14px !important;
        margin-bottom: 25px !important;
        margin-top: 20px;
    }

    .climate-features {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 20px !important;
    }

    .climate-content-right,
    .climate-content-left {
        padding: 20px 0 !important;
        /* Remove horizontal padding in stack */
    }
}

/* --- FOOTER STYLES --- */
@media (max-width: 1024px) {

    .tk-footer-top,
    .footer-grid {
        gap: 40px !important;
    }
}

@media (max-width: 768px) {

    .tk-footer,
    .footer-container {
        padding: 40px 0px !important;
    }

    .tk-footer-top {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 40px !important;
    }

    .tk-footer-brand {
        flex: 1 1 auto !important;
        margin-bottom: 0 !important;
    }

    .footer-grid {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 30px !important;
    }

    .tk-footer-desc,
    .footer p {
        font-size: 13px !important;
    }

    .tk-footer-bottom {
        flex-direction: column !important;
        gap: 15px !important;
        align-items: flex-start !important;
        padding: 20px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
    }
}

/* --- PROJECTS PAGE STYLES --- */
@media (max-width: 1024px) {
    /* No override needed for projects-grid gap here to keep it uniform with desktop */

    .projects-filter-bar {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        overflow-x: auto !important;
        margin-bottom: 30px !important;
        padding-bottom: 5px !important;
        /* Scrollbar allowance */
    }

    .filter-btn {
        flex: 1 1 auto !important;
        white-space: nowrap !important;
        padding: 0 15px !important;
        font-size: 9px !important;
    }
}

@media (max-width: 991px) {
    .projects-hero-section {
        padding: 100px 0px 40px !important;
    }

    .climate-left,
    .climate-right,
    .climate-content-left,
    .climate-content-right {
        max-width: 100% !important;
    }

    .selected-work-grid,
    .selected-work-grid.reversed {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .selected-work-grid .project-card {
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }

    .kyoto21 {
        padding: 20px 0px !important;
    }

    .projects-filter-bar {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        margin-top: 25px !important;
        margin-bottom: 35px !important;
    }

    .filter-btn {
        height: auto !important;
        min-height: 50px !important;
        padding: 12px 10px !important;
        font-size: 10px !important;
        letter-spacing: 1px !important;
        line-height: 1.2 !important;
        text-align: center !important;
        justify-content: center !important;
        display: flex !important;
        align-items: center !important;
    }

    .projects-section {
        padding: 40px 20px 40px !important;
    }

    .projects-grid {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 40px !important;
    }

    .projects-grid .project-card {
        aspect-ratio: 3 / 2 !important;
    }

    .project-card-title {
        font-size: 18px !important;
    }

    .projects-cta {
        padding: 30px 20px !important;
        text-align: center !important;
    }
}

/* --- OFFERINGS SECTION (Tiny Houses) --- */
@media (max-width: 1024px) {
    .offering-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }
}

@media (max-width: 768px) {
    .offerings-section {
        padding: 0px 0px !important;
    }

    .offering-grid {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 20px !important;
    }

    .offering-card {
        padding: 30px 25px !important;
    }

    .offering-title {
        font-size: 17px !important;
        margin-bottom: 15px !important;
    }

    .offering-desc {
        font-size: 14px !important;
    }
}

/* --- PRECISION STRUCTURES (Timber Kits) --- */
@media (max-width: 1024px) {
    .precision-structures-container {
        gap: 40px !important;
    }

    .precision-content {
        flex: 0 0 350px !important;
    }
}

@media (max-width: 768px) {
    .precision-structures-section {
        padding: 40px 0px !important;
    }

    .who-its-for-grid {
        padding-top: 0px !important;
    }

    .precision-structures-container {
        flex-direction: column !important;
        /* Stack vertically */
        gap: 0px !important;
    }

    .precision-content {
        flex: 1 !important;
        margin-bottom: 0px !important;
    }

    .precision-title {
        font-size: 24px !important;
    }

    .precision-text p {
        font-size: 14px !important;
    }

    .included-grid {
        grid-template-columns: 1fr !important;
    }
}

/* --- WHO IT'S FOR (Timber Kits) --- */
@media (max-width: 1024px) {
    .who-its-for-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 40px !important;
    }
}

@media (max-width: 768px) {
    .who-its-for-section {
        padding: 40px 0px !important;
    }

    .who-its-for-grid {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 40px !important;
    }

    .who-its-for-subtitle {
        font-size: 18px !important;
        margin-bottom: 15px !important;
    }
}

/* --- ABOUT PAGE INTRO --- */
@media (max-width: 1024px) {
    .about-intro-container {
        gap: 40px !important;
    }

    .about-intro-content {
        flex: 0 0 400px !important;
    }

    .about-intro-title {
        font-size: 38px !important;
    }
}

@media (max-width: 768px) {
    .about-intro-section {
        padding: 100px 0px 0px !important;
    }

    .about-intro-container {
        flex-direction: column !important;
        /* Stack vertically */
        gap: 40px !important;
        align-items: flex-start !important;
    }

    .about-intro-content {
        flex: 1 !important;
    }

    .about-intro-title {
        font-size: 26px !important;
        margin-bottom: 25px !important;
    }

    .about-intro-text p {
        font-size: 14px !important;
    }

    .about-intro-visual {
        width: 100% !important;
    }
}

/* --- PEOPLE SECTION (About Page) --- */
@media (max-width: 1024px) {
    .people-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 40px !important;
    }
}

@media (max-width: 768px) {
    .people-section {
        padding: 40px 0px !important;
    }
    .projects-grid {
        margin-bottom: 0px !important;
    }

    .kakiik{
        padding-top: 0px !important;
    }
    .people-grid {
        grid-template-columns: 1fr !important;
        /* Stack vertically */
        gap: 40px !important;
    }

    .people-col .initial {
        margin-bottom: 20px !important;
    }
}

/* --- CONTACT FORM PAGE --- */
@media (max-width: 1024px) {
    .contact-form-grid {
        gap: 60px !important;
    }
}

@media (max-width: 768px) {
    .contact-intro-section {
        padding: 120px 0px 40px !important;
    }

    .contact-title {
        font-size: 32px !important;
        line-height: 1.2 !important;
    }

    .contact-form-section {
        padding: 40px 0px 60px !important;
    }

    .contact-form-grid {
        grid-template-columns: 1fr !important;
        /* Separation of Form and Info items */
        gap: 50px !important;
    }

    .form-row {
        grid-template-columns: 1fr !important;
        /* Full width fields for usability */
        gap: 15px !important;
    }
}