
/* Prakriti About Page Builder v1.0.0 */
.pab-section,
.pab-section *{
    box-sizing:border-box;
}
.pab-section{
    position:relative;
    width:100%;
    margin-left:auto;
    margin-right:auto;
    overflow:hidden;
}
.pab-force-full{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
}
.pab-inner{
    width:100%;
    margin:0 auto;
    transform:translate(var(--pab-section-x,0),var(--pab-section-y,0));
}
.pab-movable{
    transform:translate(var(--pab-x,0),var(--pab-y,0));
}
.pab-image-placeholder{
    min-height:180px;
    width:100%;
    height:100%;
    border:1px dashed #cfb5aa;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fbf3ee;
    color:#a56f61;
    font-size:13px;
}

/* HERO */
.pab-hero{
    background-color:#fbf4ef;
    background-position:var(--pab-bg-x,50%) var(--pab-bg-y,50%);
    background-size:cover;
    background-repeat:no-repeat;
    padding:0;
    isolation:isolate;
}
.pab-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(255,248,244,.25);
    opacity:.25;
    z-index:0;
    pointer-events:none;
}
.pab-hero-grid{
    position:relative;
    z-index:1;
    display:flex;
    align-items:stretch;
    min-height:520px;
}
.pab-hero-copy{
    width:45%;
    max-width:45%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:60px 36px 60px 20px;
}
.pab-hero-eyebrow{
    margin-bottom:20px;
    font-size:13px;
    letter-spacing:.18em;
    font-weight:700;
}
.pab-hero-title{
    margin:0 0 18px;
    font-family:Georgia,serif;
    font-size:52px;
    line-height:1.08;
    font-weight:600;
}
.pab-hero-subtitle{
    margin-bottom:28px;
    font-size:19px;
    font-weight:700;
}
.pab-hero-body{
    font-size:16px;
    line-height:1.8;
}
.pab-hero-body p{
    margin:0 0 24px;
}
.pab-hero-button-wrap{
    margin-top:6px;
}
.pab-hero-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#c75a43;
    color:#fff;
    padding:15px 28px;
    border-radius:30px;
    text-decoration:none!important;
}

/* VALUES STRIP */
.pab-values{
    padding:34px 32px;
    background:#fff;
}
.pab-values-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.pab-value-card{
    position:relative;
    min-width:0;
    display:flex;
    align-items:center;
    gap:20px;
    padding:24px 26px;
    background:#fbf1ec;
    border-radius:10px;
}
.pab-values-grid.pab-with-divider .pab-value-card:not(:last-child):after{
    content:"";
    position:absolute;
    right:-10px;
    top:18%;
    bottom:18%;
    width:1px;
    background:#eaded8;
}
.pab-value-icon{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:48px;
    color:#b96c61;
}
.pab-value-title{
    margin:0 0 7px;
    font-size:18px;
    line-height:1.2;
}
.pab-value-desc{
    font-size:14px;
    line-height:1.55;
}

/* JOURNEY */
.pab-journey{
    background:#fff;
    padding:30px 34px 34px;
}
.pab-journey-grid{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:34px;
}
.pab-journey-media{
    flex:0 0 52%;
    min-width:0;
}
.pab-journey-collage{
    display:grid;
    grid-template-columns:1.18fr .98fr;
    gap:10px;
}
.pab-journey-stack{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.pab-journey-media img{
    width:100%;
    display:block;
    object-fit:cover;
    border-radius:18px;
}
.pab-journey-large img{
    height:360px;
}
.pab-journey-small img{
    height:175px;
}
.pab-journey-copy{
    flex:0 0 43%;
    max-width:43%;
    min-width:0;
    padding-top:4px;
}
.pab-journey-eyebrow{
    margin-bottom:14px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.18em;
}
.pab-journey-title{
    margin:0 0 17px;
    font-family:Georgia,serif;
    font-size:34px;
    line-height:1.12;
}
.pab-journey-description{
    margin-bottom:18px;
    font-size:14px;
    line-height:1.65;
}
.pab-journey-points{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.pab-journey-point{
    display:flex;
    align-items:flex-start;
    gap:12px;
}
.pab-journey-point-icon{
    width:38px;
    height:38px;
    border:1.5px solid currentColor;
    border-radius:50%;
    flex:0 0 38px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#b66a60;
    font-size:20px;
}
.pab-journey-point-title{
    margin:0 0 3px;
    font-size:15px;
    line-height:1.25;
}
.pab-journey-point-desc{
    font-size:12.5px;
    line-height:1.45;
}

/* LOVE US */
.pab-love{
    background:#fbf2ee;
    padding:42px 30px 48px;
}
.pab-love-title{
    margin:0 0 30px;
    text-align:center;
    font-family:Georgia,serif;
    font-size:31px;
}
.pab-love-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
}
.pab-love-card{
    text-align:center;
    padding:18px 26px;
    border-right:1px solid #e9ddd7;
}
.pab-love-card:last-child{
    border-right:none;
}
.pab-love-icon{
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:54px;
    margin-bottom:14px;
    font-size:42px;
    color:#b56b61;
}
.pab-love-card-title{
    margin:0 0 10px;
    font-size:17px;
    line-height:1.25;
}
.pab-love-card-desc{
    font-size:13px;
    line-height:1.65;
}

/* HANDS */
.pab-hands{
    background:#fff;
    padding:56px 34px 64px;
}
.pab-hands-title{
    margin:0 0 42px;
    text-align:center;
    font-family:Georgia,serif;
    font-size:34px;
}
.pab-hands-grid{
    display:flex;
    gap:28px;
    align-items:stretch;
}
.pab-hands-copy{
    flex:0 0 24%;
    padding:18px 18px 18px 0;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.pab-hands-body{
    font-size:15px;
    line-height:1.85;
}
.pab-hands-body p{
    margin:0 0 28px;
}
.pab-hands-signature{
    margin-top:6px;
    font-family:cursive;
    font-size:21px;
    line-height:1.5;
}
.pab-hands-signature strong{
    display:block;
    margin-top:4px;
    font-weight:500;
}
.pab-hands-gallery{
    flex:1;
    min-width:0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.pab-hands-image img{
    width:100%;
    height:360px;
    object-fit:cover;
    border-radius:16px;
    display:block;
}

/* TABLET */
@media(max-width:1024px){
    .pab-hero-grid,
    .pab-journey-grid{
        gap:28px;
    }
    .pab-hero-copy{
        padding:42px 28px;
    }
    .pab-hero-title,
    .pab-journey-title{
        font-size:42px;
    }
    .pab-values-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .pab-values-grid.pab-with-divider .pab-value-card:after{
        display:none;
    }
    .pab-love-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:12px;
    }
    .pab-love-card{
        border-right:none;
    }
}

/* MOBILE */
@media(max-width:767px){
    .pab-section{
        max-width:100%;
    }
    .pab-hero-grid,
    .pab-journey-grid,
    .pab-hands-grid{
        display:block;
    }
    .pab-hero-copy{
        width:100%;
        max-width:100%;
        padding:34px 20px 30px;
    }
    .pab-hero-title{
        font-size:38px;
    }
    .pab-hero-subtitle{
        font-size:17px;
    }
    .pab-values{
        padding:24px 14px;
    }
    .pab-values-grid{
        grid-template-columns:1fr;
        gap:12px;
    }
    .pab-value-card{
        padding:19px;
    }
    .pab-journey{
        padding:40px 14px;
    }
    .pab-journey-media{
        margin-bottom:34px;
    }
    .pab-journey-collage{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }
    .pab-journey-stack{
        gap:10px;
    }
    .pab-journey-large img{
        height:390px;
    }
    .pab-journey-small img{
        height:190px;
    }
    .pab-journey-title{
        font-size:38px;
    }
    .pab-love{
        padding:34px 14px;
    }
    .pab-love-title{
        font-size:28px;
    }
    .pab-love-grid{
        
        gap:10px;
    }
    .pab-love-card{
        padding:16px 10px;
        border:none;
        min-width:0;
    }
    .pab-love-grid.pab-center-last .pab-love-card:last-child:nth-child(odd){
        grid-column:1 / -1;
        width:50%;
        justify-self:center;
    }
    .pab-love-icon{
        min-height:42px;
        margin-bottom:10px;
    }
    .pab-love-card-title{
        font-size:14px;
        line-height:1.25;
    }
    .pab-love-card-desc{
        font-size:11.5px;
        line-height:1.45;
    }
    .pab-hands{
        padding:40px 14px;
    }
    .pab-hands-title{
        margin-bottom:28px;
        font-size:30px;
    }
    .pab-hands-copy{
        padding:0 6px 28px;
    }
    .pab-hands-gallery{
        grid-template-columns:1fr;
        gap:12px;
    }
    .pab-hands-image img{
        height:320px;
    }
}


/* Journey placeholder sizes match the reference layout */
.pab-journey-large .pab-image-placeholder{
    min-height:360px;
    height:360px;
}
.pab-journey-small .pab-image-placeholder{
    min-height:175px;
    height:175px;
}

/* Keep Journey centered and compact on wide desktop */
@media (min-width: 1200px){
    .pab-journey .pab-inner{
        max-width:1500px;
    }
}

/* Mobile Journey remains clean and proportional */
@media (max-width:767px){
    .pab-journey{
        padding:26px 14px 30px;
    }
    .pab-journey-copy{
        max-width:100%;
        padding-top:0;
    }
    .pab-journey-large img,
    .pab-journey-large .pab-image-placeholder{
        height:340px;
        min-height:340px;
    }
    .pab-journey-small img,
    .pab-journey-small .pab-image-placeholder{
        height:165px;
        min-height:165px;
    }
    .pab-journey-title{
        font-size:34px;
    }
}


/* =========================================
   ABOUT SERVICE STRIP
========================================= */
.pab-service-strip{
    background:#fff;
    padding:18px 0;
}
.pab-service-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px;
    width:100%;
    padding:22px 28px;
    background:#fbefea;
}
.pab-service-item{
    position:relative;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
}
.pab-service-icon{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:31px;
    color:#ad665c;
}
.pab-service-title{
    margin:0 0 5px;
    font-size:15px;
    line-height:1.25;
    font-weight:700;
}
.pab-service-desc{
    font-size:12.5px;
    line-height:1.4;
}
.pab-service-dividers .pab-service-item:not(:last-child):after{
    content:"";
    position:absolute;
    right:-8px;
    top:18%;
    bottom:18%;
    width:1px;
    background:#ead9d1;
}

/* Tablet */
@media(max-width:1024px){
    .pab-service-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .pab-service-dividers .pab-service-item:after{
        display:none;
    }
}

/* Phone: 2 columns, 3 rows, 5th centered */
@media(max-width:767px){
    .pab-service-strip{
        padding:12px 0;
    }
    .pab-service-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px;
        padding:14px 10px;
    }
    .pab-service-item{
        justify-content:flex-start;
        min-height:90px;
        padding:12px 8px;
        gap:10px;
    }
    .pab-service-icon{
        font-size:26px;
    }
    .pab-service-title{
        font-size:13px;
        margin-bottom:3px;
    }
    .pab-service-desc{
        font-size:11px;
    }
    .pab-service-grid.pab-center-last .pab-service-item:last-child:nth-child(odd){
        grid-column:1 / -1;
        width:50%;
        justify-self:center;
    }
}


/* Journey: separate phone collage */
.pab-journey-mobile-collage{
    display:none;
}
.pab-journey-mobile-collage img{
    width:100%;
    display:block;
    object-fit:cover;
}


@media(max-width:767px){
    .pab-journey-collage{
        display:none!important;
    }
    .pab-journey-mobile-collage{
        display:grid;
        grid-template-columns:1fr;
        gap:10px;
        padding:0 10px;
        width:100%;
    }
    .pab-journey-mobile-top,
    .pab-journey-mobile-small{
        min-width:0;
    }
    .pab-journey-mobile-top img{
        width:100%;
        height:210px;
        object-fit:cover;
        border-radius:14px;
    }
    .pab-journey-mobile-bottom{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }
    .pab-journey-mobile-small img{
        width:100%;
        height:165px;
        object-fit:cover;
        border-radius:14px;
    }
    .pab-journey-mobile-top .pab-image-placeholder{
        height:210px;
        min-height:210px;
    }
    .pab-journey-mobile-small .pab-image-placeholder{
        height:165px;
        min-height:165px;
    }
}


/* ==========================================================
   v1.0.6 — PHONE POLISH
   Why You'll Love Us: 5 clear cards, 2 columns + centered last
   Journey: shorter top image + full-width readable text
========================================================== */
@media(max-width:767px){

    /* WHY YOU'LL LOVE US — proper cards */
    .pab-love{
        padding-left:10px !important;
        padding-right:10px !important;
    }
    .pab-love-grid{
        
        
        align-items:stretch;
    }
    .pab-love-card{
        
        
        
        
        
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:flex-start;
        
        overflow:hidden;
    }
    .pab-love-grid.pab-center-last .pab-love-card:last-child:nth-child(odd){
        grid-column:1 / -1 !important;
        width:calc(50% - 6px) !important;
        justify-self:center !important;
    }
    .pab-love-icon{
        margin-bottom:10px !important;
        min-height:42px;
    }
    .pab-love-card-title{
        margin:0 0 8px !important;
        text-align:center;
    }
    .pab-love-card-desc{
        width:100%;
        text-align:center;
    }

    /* JOURNEY — stacked correctly on mobile */
    .pab-journey .pab-inner,
    .pab-journey-grid{
        width:100% !important;
        max-width:100% !important;
    }
    .pab-journey-grid{
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:22px !important;
    }
    .pab-journey-media{
        width:100% !important;
        max-width:100% !important;
        flex:0 0 100% !important;
        transform:none !important;
        left:auto !important;
        right:auto !important;
    }
    .pab-journey-copy{
        width:100% !important;
        max-width:100% !important;
        flex:0 0 100% !important;
        position:relative !important;
        top:0 !important;
        left:auto !important;
        right:auto !important;
        transform:none !important;
        
        box-sizing:border-box;
    }
    .pab-journey-eyebrow,
    .pab-journey-title,
    .pab-journey-description,
    .pab-journey-points{
        width:100% !important;
        max-width:100% !important;
    }
    .pab-journey-title{
        
        
        white-space:normal !important;
        word-break:normal !important;
        overflow-wrap:normal !important;
        hyphens:none !important;
        
    }
    .pab-journey-description{
        
        
        
    }
    .pab-journey-point{
        width:100%;
    }
    .pab-journey-point > div:last-child{
        min-width:0;
        flex:1 1 auto;
    }

    /* 30% shorter than old 300px top image */
    .pab-journey-mobile-top img{
        
    }
    .pab-journey-mobile-top .pab-image-placeholder{
        
        
    }
}


/* ==========================================================
   v1.0.7 - editable phone controls
========================================================== */
@media (max-width:767px){

    /* Why You'll Love Us */
    .pab-love-grid{
        align-items:stretch;
    }
    .pab-love-card{
        box-sizing:border-box;
        display:flex;
        flex-direction:column;
        align-items:center;
    }
    .pab-love-grid.pab-center-last .pab-love-card:last-child:nth-child(odd){
        grid-column:1 / -1;
        justify-self:center;
    }

    /* Journey - structure only, dimensions come from Elementor */
    .pab-journey-grid{
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
    }
    .pab-journey-media{
        width:100% !important;
        max-width:100% !important;
        flex:0 0 100% !important;
        transform:none !important;
    }
    .pab-journey-copy{
        width:100% !important;
        max-width:100% !important;
        flex:0 0 100% !important;
        box-sizing:border-box;
        transform:none !important;
        top:0 !important;
        left:auto !important;
        right:auto !important;
    }
    .pab-journey-title,
    .pab-journey-description{
        white-space:normal !important;
        word-break:normal !important;
        overflow-wrap:break-word !important;
        hyphens:none !important;
    }
    .pab-journey-mobile-collage{
        display:grid;
        grid-template-columns:1fr;
        width:100%;
        box-sizing:border-box;
    }
    .pab-journey-mobile-top{
        justify-self:center;
    }
    .pab-journey-mobile-top img,
    .pab-journey-mobile-small img{
        width:100%;
        display:block;
        object-fit:cover;
    }
    .pab-journey-mobile-bottom{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        width:100%;
    }
}


/* Phone-only clean banner image */
.pab-hero-mobile-image{
    display:none;
}


/* ==========================================================
   v1.0.8 PHONE LAYOUT
========================================================== */
@media(max-width:767px){

    /* ABOUT HERO: image only on phone, no text, no button */
    .pab-hero{
        background-image:none !important;
        background-color:transparent !important;
        min-height:0 !important;
        padding:0 !important;
    }
    .pab-hero::before{
        display:none !important;
    }
    .pab-hero-grid{
        display:none !important;
    }
    .pab-hero-mobile-image{
        display:block;
        width:100%;
        padding:0 8px;
        box-sizing:border-box;
        background:#fff;
    }
    .pab-hero-mobile-image img{
        width:100%;
        height:305px;
        display:block;
        object-fit:cover;
        object-position:50% var(--pab-mobile-y,50%);
        border-radius:4px;
    }

    /* SERVICE STRIP: all 5 are separate equal raised boxes */
    .pab-service-strip{
        background:#fff;
        padding:12px 10px !important;
    }
    .pab-service-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:12px !important;
        padding:0 !important;
        background:transparent !important;
        align-items:stretch;
    }
    .pab-service-item{
        width:100% !important;
        min-height:108px;
        margin:0 !important;
        padding:14px 12px;
        background:#fffaf7;
        border:1px solid #eadbd4;
        border-radius:14px;
        justify-content:flex-start;
        align-items:center;
        box-sizing:border-box;
    }
    .pab-service-grid.pab-phone-raised .pab-service-item{
        box-shadow:0 7px 18px rgba(66,43,34,.09);
    }
    .pab-service-grid.pab-center-last .pab-service-item:last-child:nth-child(odd){
        grid-column:1 / -1 !important;
        width:100% !important;
        max-width:100% !important;
        justify-self:stretch !important;
    }
    .pab-service-icon{
        flex:0 0 auto;
    }
    .pab-service-copy{
        min-width:0;
        flex:1 1 auto;
    }
}


/* v1.0.9: phone banner is owned by Service Strip so it sits directly
   below the header and above the five service boxes. */
.pab-service-phone-banner{
    display:none;
}

@media(max-width:767px){
    .pab-service-strip{
        padding-top:0 !important;
    }
    .pab-service-phone-banner{
        display:block;
        width:100%;
        padding:0 8px;
        margin-bottom:14px;
        box-sizing:border-box;
    }
    .pab-service-phone-banner img{
        display:block;
        width:100%;
        height:285px;
        object-fit:cover;
        object-position:50% var(--pab-svc-banner-y,50%);
        border-radius:4px;
    }
}
