/*
 * HAUS OF LESS — LIVE-SAFE REFINEMENTS
 *
 * This file contains additive visual refinements only.
 * Existing CSS is intentionally left untouched.
 */

/* ==========================================================
   HEADER — CLEAN DESKTOP ALIGNMENT
========================================================== */
@media (min-width:1101px){
    .site-header .header-grid{
        grid-template-columns:240px minmax(0,1fr) 290px;
        column-gap:24px;
        align-items:center;
        min-height:92px;
    }

    .site-header .site-logo{
        height:64px;
        display:flex;
        align-items:center;
    }

    .site-header .site-logo .logo{
        display:block;
        width:auto;
        height:auto;
        max-width:220px;
        max-height:56px;
        object-fit:contain;
    }

    .site-header .main-navigation{
        position:static;
        left:auto;
        top:auto;
        transform:none;
        justify-self:center;
        min-width:0;
    }

    .site-header .navigation-list{
        gap:2.35rem;
    }

    .site-header .nav-link{
        font-size:1.05rem;
        white-space:nowrap;
    }

    .site-header .header-actions{
        justify-self:end;
        width:auto;
    }

    .site-header .header-cta{
        min-height:54px;
        padding:.85rem 1.75rem;
        font-size:.98rem;
        white-space:nowrap;
    }
}

/* Keep the logo vertically centered on solid headers even when both
   logo states point to the same source image. */
.site-header--solid .site-logo,
.site-header--transparent .site-logo{
    align-items:center;
}

.site-header .site-logo img{
    margin:0;
    vertical-align:middle;
}

/* ==========================================================
   $99 IN-HOME CONSULTATION — PREMIUM PACKAGE ADD-ON
========================================================== */
.in-home-consultation{
    padding:92px 0 100px;
    background:var(--color-stone, #E7E2D9);
}

.in-home-consultation .consultation-card{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
    gap:0;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(31,58,46,.10);
    border-radius:28px;
    background:var(--color-white, #fff);
    box-shadow:0 24px 70px rgba(31,58,46,.10);
}

.in-home-consultation .consultation-content{
    padding:clamp(2.5rem,5vw,4.5rem);
}

.in-home-consultation .section-label{
    margin-bottom:1rem;
}

.in-home-consultation .consultation-content h2{
    margin:.1rem 0 .15rem;
    color:var(--color-forest, #1F3A2E);
    font-family:var(--font-heading, "Cormorant Garamond", serif);
    font-size:clamp(4rem,7vw,6.25rem);
    line-height:.82;
    letter-spacing:-.035em;
}

.in-home-consultation .consultation-content h3{
    margin:1rem 0 .65rem;
    color:var(--color-forest, #1F3A2E);
    font-family:var(--font-heading, "Cormorant Garamond", serif);
    font-size:clamp(1.8rem,3vw,2.45rem);
    font-weight:500;
}

.in-home-consultation .consultation-content > p{
    max-width:720px;
    margin-bottom:1.75rem;
}

.in-home-consultation .consultation-content h4{
    margin:1.5rem 0 .75rem;
    color:var(--color-forest, #1F3A2E);
    font-family:var(--font-heading, "Cormorant Garamond", serif);
    font-size:1.35rem;
    font-weight:500;
}

.in-home-consultation .consultation-content ul{
    margin:0 0 1.75rem;
    padding:0;
    list-style:none;
}

.in-home-consultation .consultation-content li{
    position:relative;
    padding:.42rem 0 .42rem 1.55rem;
    color:var(--color-text, #282828);
}

.in-home-consultation .consultation-content li::before{
    content:"";
    position:absolute;
    left:0;
    top:1.05em;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--color-brass, #B08A4E);
    transform:translateY(-50%);
}

.in-home-consultation .consultation-credit{
    margin:0;
    color:var(--color-forest, #1F3A2E);
}

.in-home-consultation .consultation-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:clamp(2.5rem,4vw,4rem);
    background:var(--color-forest, #1F3A2E);
}

.in-home-consultation .consultation-actions__inner{
    width:100%;
    max-width:320px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:1.15rem;
}

.in-home-consultation .consultation-actions__eyebrow{
    color:rgba(255,255,255,.72);
    font-family:var(--font-body, Inter, sans-serif);
    font-size:.78rem;
    font-weight:600;
    letter-spacing:.20em;
    text-transform:uppercase;
}

.in-home-consultation .consultation-actions .btn{
    width:100%;
    justify-content:center;
    text-align:center;
}

.in-home-consultation .consultation-actions .text-link{
    color:#fff;
    text-underline-offset:5px;
    opacity:.9;
}

.in-home-consultation .consultation-actions .text-link:hover{
    opacity:1;
}

@media(max-width:900px){
    .site-header .navigation-list{
        gap:1.65rem;
    }

    .site-header .nav-link{
        font-size:1rem;
    }

    .in-home-consultation .consultation-card{
        grid-template-columns:1fr;
    }

    .in-home-consultation .consultation-actions{
        align-items:flex-start;
    }
}

@media(max-width:768px){
    .in-home-consultation{
        padding:72px 0 80px;
    }

    .in-home-consultation .consultation-card{
        border-radius:22px;
    }

    .in-home-consultation .consultation-content,
    .in-home-consultation .consultation-actions{
        padding:2rem 1.5rem;
    }
}


/* ==========================================================
   FINAL SITEWIDE REFINEMENT — HEADER + SPACING
   User-approved final pass
   - Remove header consultation CTA
   - Keep logo unchanged
   - Align desktop navigation from the left
   - Establish one restrained vertical rhythm sitewide
   - Improve heading/body breathing room
========================================================== */

/* ----------------------------------------------------------
   HEADER — NO DESKTOP CTA, LEFT-ALIGNED NAV
---------------------------------------------------------- */
@media (min-width:1101px){
    .site-header .header-grid{
        grid-template-columns:240px minmax(0,1fr);
        column-gap:28px;
        align-items:center;
    }

    .site-header .site-logo{
        justify-self:start;
    }

    .site-header .main-navigation{
        position:static;
        inset:auto;
        left:auto;
        top:auto;
        transform:none;
        justify-self:start;
        display:flex;
        align-items:center;
        justify-content:flex-start;
        min-width:0;
    }

    .site-header .navigation-list{
        justify-content:flex-start;
        gap:2.35rem;
    }

    .site-header .header-actions{
        display:none !important;
    }
}

/* Header CTA is intentionally removed on all breakpoints. */
.site-header .header-actions,
.mobile-menu .mobile-cta{
    display:none !important;
}

/* Preserve the existing logo exactly; only its position changes. */
.site-header .site-logo{
    justify-self:start;
}

/* Visible header phone: retain the existing navigation styling and place the
   existing phone link in the unused right-hand header column. */
@media (min-width:1101px){
    .site-header .header-grid{
        grid-template-columns:240px minmax(0,1fr) auto;
    }

    .site-header .header-actions{
        display:flex !important;
        justify-self:end;
    }

    .site-header .header-actions .header-cta{
        display:none !important;
    }

    .site-header .header-actions .header-cta:first-child{
        display:inline-flex !important;
        align-items:center;
        gap:.45rem;
        min-height:0;
        padding:0;
        border-radius:0;
        color:var(--color-charcoal);
        background:transparent;
        box-shadow:none;
        font-size:1.05rem;
        font-weight:500;
        letter-spacing:.03em;
    }

    .site-header .header-actions .header-cta:first-child::before{
        content:"";
        width:18px;
        height:18px;
        flex:0 0 18px;
        background:url("../images/icons/haus-standard/phone.png") center / contain no-repeat;
    }

    .site-header .header-actions .header-cta:first-child:hover{
        transform:none;
        box-shadow:none;
        color:var(--color-brass);
    }
}

/* Keep the existing phone link available in the mobile menu while the
   consultation button remains hidden, as intended by the original header. */
.mobile-menu .mobile-actions .mobile-cta:first-child{
    display:inline-flex !important;
}

/* ----------------------------------------------------------
   SITEWIDE SECTION RHYTHM
   88px desktop / 72px tablet / 56px mobile.
   Hero and page-intro sections retain their own composition.
---------------------------------------------------------- */
main > section:not(.hero):not(.page-intro):not(.transformations-hero):not(.contact-hero){
    padding-top:88px !important;
    padding-bottom:88px !important;
}

@media (max-width:992px){
    main > section:not(.hero):not(.page-intro):not(.transformations-hero):not(.contact-hero){
        padding-top:72px !important;
        padding-bottom:72px !important;
    }
}

@media (max-width:768px){
    main > section:not(.hero):not(.page-intro):not(.transformations-hero):not(.contact-hero){
        padding-top:56px !important;
        padding-bottom:56px !important;
    }
}

/* ----------------------------------------------------------
   CONSISTENT TEXT RHYTHM
   Prevents large accidental gaps while keeping paragraphs
   visually separated and readable.
---------------------------------------------------------- */
main p{
    margin-top:0;
}

main p + p{
    margin-top:1.25rem;
}

/* Section intros: heading → description stays compact. */
main .section-intro h2,
main .section-heading h2{
    margin-bottom:1.25rem;
}

main .section-intro p,
main .section-heading p{
    margin-top:0;
}

main .section-intro p + p,
main .section-heading p + p{
    margin-top:1rem;
}

/* Editorial content follows the same rhythm. */
main .editorial-content h2{
    margin-bottom:1.25rem;
}

main .editorial-content p + p{
    margin-top:1.15rem;
}

/* Keep CTA distance intentional rather than accidentally large. */
main .section-cta,
main .journey-cta{
    margin-top:2rem;
}

/* Card copy should stay tight; card-specific heading margins win. */
main article p,
main .card p,
main .package-item p,
main .package-display p{
    margin-top:0;
}

main article p + p,
main .card p + p{
    margin-top:1rem;
}

/* Mobile breathing room remains compact and consistent. */
@media (max-width:768px){
    main p + p{
        margin-top:1rem;
    }

    main .section-intro h2,
    main .section-heading h2,
    main .editorial-content h2{
        margin-bottom:1rem;
    }

    main .section-cta,
    main .journey-cta{
        margin-top:1.75rem;
    }
}


/* ==========================================================
   SERVICES — PACKAGE INTRO ALIGNMENT
   ========================================================== */

.page-services .package-top{
    display:block;
    margin-bottom:2rem;
}

.page-services .package-content{
    max-width:760px;
    margin:0 auto;
    text-align:center;
}

.page-services .package-content .package-tag{
    display:flex;
    width:max-content;
    margin:0 auto 1.5rem;
}

.page-services .package-content h3{
    text-align:center;
}

.page-services .package-content > p{
    max-width:760px;
    margin:0 auto 1.75rem;
    text-align:center;
}

.page-services .package-branch{
    display:none;
}
