/*
 * LPI Editorial Article Builder v3.0.0
 * Project Review clean front-end layout.
 *
 * v2.9 renders the saved Gutenberg HTML directly on the public front end,
 * before Kubio/core-group layout wrappers are created. These rules therefore
 * define the complete responsive grid system without JavaScript.
 */

html,body{max-width:100%;overflow-x:clip}

html body .lpi-review-native,
html body .lpi-review-native *{box-sizing:border-box}

html body .lpi-review-native{
    position:relative!important;
    display:block!important;
    width:100vw!important;
    max-width:100vw!important;
    min-width:0!important;
    margin:0 0 0 calc(50% - 50vw)!important;
    padding:0!important;
    float:none!important;
    clear:both!important;
    overflow:hidden!important;
    isolation:isolate!important;
    transform:none!important;
}

html body .lpi-review-native .lpi-hero,
html body .lpi-review-native .lpi-section{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    float:none!important;
    clear:both!important;
    overflow:hidden!important;
    transform:none!important;
}

html body .lpi-review-native .lpi-shell{
    position:relative!important;
    width:min(100%,1280px)!important;
    max-width:1280px!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:28px!important;
    padding-right:28px!important;
    float:none!important;
    clear:both!important;
    transform:none!important;
}

html body .lpi-review-native .lpi-narrow{
    width:min(100%,900px)!important;
    max-width:900px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

/* Remove any sizing left by the theme from the semantic wrappers. */
html body .lpi-review-native :where(
    .lpi-section-heading,.lpi-hero__content,.lpi-hero__media,
    .lpi-glance-grid,.lpi-verdict-grid,.lpi-scorecard-shell,.lpi-score-grid,
    .lpi-overall-score,.lpi-two-column,.lpi-two-column--wide,.lpi-location-grid,
    .lpi-review-floor-grid,.lpi-gallery,.lpi-card-grid,.lpi-risk-grid,.lpi-faq-grid,
    .lpi-investment,.lpi-investment-copy,.lpi-final-card,
    .lpi-glance-card,.lpi-verdict-summary,.lpi-verdict-box,.lpi-score-card,
    .lpi-stat-panel,.lpi-review-floor-card,.lpi-review-floor-card__body,
    .lpi-gallery-card,.lpi-info-card,.lpi-risk-card,.lpi-faq-card,
    .lpi-final-card__media,.lpi-final-card__body
){
    position:relative!important;
    inset:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    margin-left:0!important;
    margin-right:0!important;
    float:none!important;
    clear:none!important;
    transform:none!important;
}

html body .lpi-review-native :where(
    .lpi-glance-grid,.lpi-verdict-grid,.lpi-score-grid,.lpi-overall-score,
    .lpi-two-column,.lpi-two-column--wide,.lpi-location-grid,
    .lpi-review-floor-grid,.lpi-gallery,.lpi-card-grid,
    .lpi-risk-grid,.lpi-faq-grid,.lpi-final-card
){
    display:grid!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    align-content:start!important;
    grid-auto-flow:row!important;
    grid-auto-rows:auto!important;
}

html body .lpi-review-native :where(
    .lpi-glance-grid,.lpi-verdict-grid,.lpi-score-grid,.lpi-overall-score,
    .lpi-two-column,.lpi-two-column--wide,.lpi-location-grid,
    .lpi-review-floor-grid,.lpi-gallery,.lpi-card-grid,
    .lpi-risk-grid,.lpi-faq-grid,.lpi-final-card
)>*{
    position:relative!important;
    inset:auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    float:none!important;
    transform:none!important;
    grid-column:auto!important;
    grid-row:auto!important;
    align-self:stretch!important;
}

/* Empty media wrappers should never reserve a column or create a blank panel. */
html body .lpi-review-native :where(.lpi-two-column,.lpi-location-grid,.lpi-final-card)>:empty{
    display:none!important;
}
html body .lpi-review-native :where(.lpi-two-column,.lpi-location-grid,.lpi-final-card):has(>:empty){
    grid-template-columns:minmax(0,1fr)!important;
}

/* Media always stays in normal flow. */
html body .lpi-review-native figure,
html body .lpi-review-native picture{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
    overflow:hidden!important;
    transform:none!important;
}
html body .lpi-review-native img{
    position:static!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    float:none!important;
    transform:none!important;
}

/* Desktop grid system. */
@media (min-width:961px){
    html body .lpi-review-native .lpi-glance-grid{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:42px 30px!important;
    }
    html body .lpi-review-native .lpi-verdict-grid{
        grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)!important;
        gap:72px!important;
        align-items:center!important;
    }
    html body .lpi-review-native .lpi-score-grid{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:18px!important;
    }
    html body .lpi-review-native .lpi-overall-score{
        grid-template-columns:minmax(0,1fr) auto!important;
        gap:10px 40px!important;
        align-items:center!important;
    }
    html body .lpi-review-native .lpi-overall-score>strong{
        grid-column:2!important;
        grid-row:1 / 3!important;
        align-self:center!important;
    }
    html body .lpi-review-native .lpi-two-column{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:72px!important;
        align-items:center!important;
    }
    html body .lpi-review-native .lpi-two-column--wide{
        grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)!important;
    }
    html body .lpi-review-native .lpi-location-grid{
        grid-template-columns:minmax(0,.44fr) minmax(0,.56fr)!important;
        gap:66px!important;
        align-items:center!important;
    }
    html body .lpi-review-native .lpi-review-floor-grid,
    html body .lpi-review-native .lpi-gallery,
    html body .lpi-review-native .lpi-card-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:22px!important;
    }
    html body .lpi-review-native .lpi-risk-grid,
    html body .lpi-review-native .lpi-faq-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:20px!important;
    }
    html body .lpi-review-native .lpi-final-card{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        align-items:stretch!important;
    }
}

/* Component heights are explicit and local, never inherited from a parent. */
html body .lpi-review-native .lpi-glance-card{
    min-height:0!important;
    padding:12px 10px!important;
    text-align:center!important;
}
html body .lpi-review-native .lpi-verdict-summary{
    min-height:0!important;
    align-self:center!important;
}
html body .lpi-review-native .lpi-score-card{
    display:flex!important;
    min-height:150px!important;
    padding:30px 24px!important;
    flex-direction:column!important;
    justify-content:space-between!important;
}
html body .lpi-review-native .lpi-info-card{
    min-height:0!important;
}
html body .lpi-review-native #investment .lpi-info-card{
    min-height:300px!important;
}
html body .lpi-review-native #buyer-fit .lpi-info-card{
    display:flex!important;
    min-height:225px!important;
    padding:30px 26px!important;
    align-items:flex-start!important;
}
html body .lpi-review-native .lpi-risk-card{
    min-height:155px!important;
}
html body .lpi-review-native .lpi-faq-card{
    min-height:175px!important;
}

/* Floor plans and facilities. */
html body .lpi-review-native .lpi-review-floor-card,
html body .lpi-review-native .lpi-gallery-card{
    display:flex!important;
    min-height:0!important;
    flex-direction:column!important;
    overflow:hidden!important;
    isolation:isolate!important;
}
html body .lpi-review-native .lpi-review-floor-image,
html body .lpi-review-native .lpi-review-floor-image img{
    width:100%!important;
    aspect-ratio:4 / 3!important;
    height:auto!important;
    object-fit:cover!important;
}
html body .lpi-review-native .lpi-review-floor-card__body{
    display:block!important;
    min-height:0!important;
    padding:22px!important;
}
html body .lpi-review-native .lpi-gallery-card figure,
html body .lpi-review-native .lpi-gallery-card img{
    width:100%!important;
}
html body .lpi-review-native .lpi-gallery-card img{
    height:330px!important;
    object-fit:cover!important;
}

html body .lpi-review-native .lpi-rounded-image,
html body .lpi-review-native .lpi-rounded-image img{
    width:100%!important;
    height:520px!important;
    object-fit:cover!important;
}
html body .lpi-review-native .lpi-location-map,
html body .lpi-review-native .lpi-location-map img{
    width:100%!important;
    height:auto!important;
    max-height:680px!important;
    object-fit:contain!important;
}

/* Final verdict. */
html body .lpi-review-native .lpi-final-card{
    min-height:0!important;
    overflow:hidden!important;
}
html body .lpi-review-native .lpi-final-card__media,
html body .lpi-review-native .lpi-final-card__media figure{
    display:block!important;
    width:100%!important;
    min-height:560px!important;
    height:100%!important;
    overflow:hidden!important;
}
html body .lpi-review-native .lpi-final-card__media img,
html body .lpi-review-native .lpi-final-card__image img{
    width:100%!important;
    height:100%!important;
    min-height:560px!important;
    object-fit:cover!important;
}
html body .lpi-review-native .lpi-final-card__body{
    display:flex!important;
    min-height:560px!important;
    padding:64px!important;
    flex-direction:column!important;
    justify-content:center!important;
}

/* Tablet. */
@media (min-width:721px) and (max-width:960px){
    html body .lpi-review-native .lpi-shell{padding-left:24px!important;padding-right:24px!important}
    html body .lpi-review-native .lpi-glance-grid,
    html body .lpi-review-native .lpi-score-grid,
    html body .lpi-review-native .lpi-review-floor-grid,
    html body .lpi-review-native .lpi-gallery,
    html body .lpi-review-native .lpi-card-grid,
    html body .lpi-review-native .lpi-risk-grid,
    html body .lpi-review-native .lpi-faq-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:20px!important;
    }
    html body .lpi-review-native .lpi-verdict-grid,
    html body .lpi-review-native .lpi-two-column,
    html body .lpi-review-native .lpi-two-column--wide,
    html body .lpi-review-native .lpi-location-grid,
    html body .lpi-review-native .lpi-final-card{
        grid-template-columns:minmax(0,1fr)!important;
        gap:38px!important;
    }
    html body .lpi-review-native .lpi-overall-score{
        grid-template-columns:minmax(0,1fr) auto!important;
    }
    html body .lpi-review-native #investment .lpi-info-card,
    html body .lpi-review-native #buyer-fit .lpi-info-card{min-height:0!important}
    html body .lpi-review-native .lpi-final-card__media,
    html body .lpi-review-native .lpi-final-card__media figure,
    html body .lpi-review-native .lpi-final-card__media img,
    html body .lpi-review-native .lpi-final-card__body{min-height:420px!important}
}

/* Mobile. */
@media (max-width:720px){
    html body .lpi-review-native .lpi-shell{padding-left:18px!important;padding-right:18px!important}
    html body .lpi-review-native :where(
        .lpi-glance-grid,.lpi-verdict-grid,.lpi-overall-score,
        .lpi-two-column,.lpi-two-column--wide,.lpi-location-grid,
        .lpi-review-floor-grid,.lpi-gallery,.lpi-card-grid,
        .lpi-risk-grid,.lpi-faq-grid,.lpi-final-card
    ){
        grid-template-columns:minmax(0,1fr)!important;
        gap:18px!important;
    }
    html body .lpi-review-native .lpi-score-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
    }
    html body .lpi-review-native .lpi-overall-score>strong{
        grid-column:auto!important;
        grid-row:auto!important;
    }
    html body .lpi-review-native .lpi-score-card,
    html body .lpi-review-native #investment .lpi-info-card,
    html body .lpi-review-native #buyer-fit .lpi-info-card,
    html body .lpi-review-native .lpi-risk-card,
    html body .lpi-review-native .lpi-faq-card{
        min-height:0!important;
    }
    html body .lpi-review-native .lpi-rounded-image,
    html body .lpi-review-native .lpi-rounded-image img{height:360px!important}
    html body .lpi-review-native .lpi-gallery-card img{height:280px!important}
    html body .lpi-review-native .lpi-final-card__media,
    html body .lpi-review-native .lpi-final-card__media figure,
    html body .lpi-review-native .lpi-final-card__media img,
    html body .lpi-review-native .lpi-final-card__body{min-height:320px!important}
    html body .lpi-review-native .lpi-final-card__body{padding:36px 24px!important}
}

@media (max-width:460px){
    html body .lpi-review-native .lpi-score-grid{grid-template-columns:minmax(0,1fr)!important}
}

/* ========================================================================
 * v3.15.1 Project Review layout lock
 * Locks the approved LPI Project Review composition while while keeping the v3.15.0 Developer Review format and validation base unchanged.
 * ====================================================================== */
html body .lpi-review-native{
    --lpi-project-gap:clamp(28px,4vw,68px);
    --lpi-project-card-radius:18px;
    --lpi-project-soft-shadow:0 14px 38px rgba(67,74,86,.07);
}

/* Keep every section in normal document flow so content length cannot push
 * neighbouring sections into overlapping or displaced positions. */
html body .lpi-review-native .lpi-section,
html body .lpi-review-native .lpi-hero{
    contain:layout paint!important;
    isolation:isolate!important;
}
html body .lpi-review-native .lpi-section > .lpi-shell,
html body .lpi-review-native .lpi-hero > .lpi-shell{
    display:block!important;
}

/* Hero: approved centred editorial composition with a taller landscape image. */
html body .lpi-review-native .lpi-hero{
    padding-top:clamp(70px,7vw,108px)!important;
    padding-bottom:clamp(48px,5vw,76px)!important;
    background:#F6F8FA!important;
}
html body .lpi-review-native .lpi-hero__content{
    width:min(100%,980px)!important;
    margin-inline:auto!important;
    text-align:center!important;
}
html body .lpi-review-native .lpi-hero__content .lpi-hero__project-name,
html body .lpi-review-native .lpi-hero__content .lpi-hero__subtitle,
html body .lpi-review-native .lpi-hero__content .lpi-lead{
    margin-left:auto!important;
    margin-right:auto!important;
}
html body .lpi-review-native .lpi-hero__content .lpi-lead{
    width:min(100%,820px)!important;
}
html body .lpi-review-native .lpi-hero__media{
    width:min(100%,1280px)!important;
    margin:clamp(48px,6vw,74px) auto 0!important;
    padding-inline:28px!important;
}
html body .lpi-review-native .lpi-hero__media figure{
    border-radius:30px!important;
    box-shadow:0 22px 60px rgba(67,74,86,.12)!important;
    overflow:hidden!important;
}
html body .lpi-review-native .lpi-hero__media img,
html body .lpi-review-native .lpi-hero-image img{
    width:100%!important;
    height:clamp(680px,58vw,820px)!important;
    min-height:680px!important;
    object-fit:cover!important;
    object-position:center center!important;
}

/* At a glance: locked 4 x 2 desktop grid and equal-height cards. */
html body .lpi-review-native #at-a-glance .lpi-section-heading{
    margin-bottom:34px!important;
}
html body .lpi-review-native #at-a-glance .lpi-glance-grid{
    align-items:stretch!important;
}
html body .lpi-review-native #at-a-glance .lpi-glance-card{
    display:flex!important;
    min-height:188px!important;
    padding:26px 18px!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    border:1px solid rgba(67,74,86,.14)!important;
    border-radius:var(--lpi-project-card-radius)!important;
    background:#fff!important;
    box-shadow:var(--lpi-project-soft-shadow)!important;
}
html body .lpi-review-native #at-a-glance .lpi-glance-card h3{
    margin-top:0!important;
    margin-bottom:8px!important;
}
html body .lpi-review-native #at-a-glance .lpi-glance-card p{
    margin-top:auto!important;
    margin-bottom:0!important;
}

/* Quick verdict: fixed score panel + editorial verdict column. */
html body .lpi-review-native #lpi-quick-verdict .lpi-verdict-grid{
    grid-template-columns:minmax(250px,.38fr) minmax(0,.62fr)!important;
    gap:clamp(42px,6vw,82px)!important;
    align-items:center!important;
}
html body .lpi-review-native #lpi-quick-verdict .lpi-verdict-summary{
    position:static!important;
    display:flex!important;
    min-height:330px!important;
    padding:0!important;
    flex-direction:column!important;
    justify-content:center!important;
    overflow:hidden!important;
    border:1px solid rgba(67,74,86,.16)!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:var(--lpi-project-soft-shadow)!important;
}
html body .lpi-review-native #lpi-quick-verdict .lpi-verdict-summary > *{
    margin:0!important;
    padding-left:38px!important;
    padding-right:38px!important;
}
html body .lpi-review-native #lpi-quick-verdict .lpi-verdict-summary p{
    padding-top:20px!important;
}
html body .lpi-review-native #lpi-quick-verdict .lpi-verdict-summary strong{
    padding-top:8px!important;
    padding-bottom:22px!important;
    border-bottom:1px solid rgba(67,74,86,.12)!important;
}
html body .lpi-review-native #lpi-quick-verdict .lpi-verdict-summary strong:last-child{
    border-bottom:0!important;
}
html body .lpi-review-native #lpi-quick-verdict .lpi-verdict-box{
    border-radius:12px!important;
}

/* Scorecard: stable overall panel + 4 x 2 equal cards. */
html body .lpi-review-native #scorecard .lpi-overall-score{
    max-width:none!important;
    min-height:170px!important;
    padding:34px 42px!important;
    border-radius:18px!important;
}
html body .lpi-review-native #scorecard .lpi-score-grid{
    align-items:stretch!important;
}
html body .lpi-review-native #scorecard .lpi-score-card{
    min-height:154px!important;
    border-radius:16px!important;
}

/* Approved dark thesis sections. */
html body .lpi-review-native #why-this-project-matters .lpi-two-column--wide,
html body .lpi-review-native #liveability-review .lpi-two-column--wide{
    grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr)!important;
    gap:clamp(48px,7vw,100px)!important;
    align-items:center!important;
}
html body .lpi-review-native #why-this-project-matters .lpi-stat-panel,
html body .lpi-review-native #liveability-review .lpi-stat-panel{
    min-height:330px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    border-radius:22px!important;
}

/* All text/image review sections use one consistent 44/56 split. */
html body .lpi-review-native #overview .lpi-two-column,
html body .lpi-review-native #developer-review .lpi-two-column,
html body .lpi-review-native #location .lpi-location-grid{
    grid-template-columns:minmax(0,.44fr) minmax(0,.56fr)!important;
    gap:clamp(42px,6vw,78px)!important;
    align-items:center!important;
}
html body .lpi-review-native #overview .lpi-rounded-image,
html body .lpi-review-native #developer-review .lpi-rounded-image{
    height:clamp(460px,42vw,610px)!important;
    object-fit:cover!important;
    border-radius:24px!important;
}
html body .lpi-review-native #location .lpi-location-map img{
    max-height:650px!important;
}

/* Layout cards: fixed 3-column row with consistent image and body heights. */
html body .lpi-review-native #layouts .lpi-review-floor-grid{
    align-items:stretch!important;
}
html body .lpi-review-native #layouts .lpi-review-floor-card{
    min-height:520px!important;
    border:1px solid rgba(67,74,86,.14)!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:var(--lpi-project-soft-shadow)!important;
}
html body .lpi-review-native #layouts .lpi-review-floor-image,
html body .lpi-review-native #layouts .lpi-review-floor-image img{
    aspect-ratio:4 / 3!important;
    height:auto!important;
    object-fit:contain!important;
    background:#fff!important;
}
html body .lpi-review-native #layouts .lpi-review-floor-card__body{
    flex:1 1 auto!important;
    min-height:170px!important;
}
html body .lpi-review-native #layouts .lpi-project-details-cta{
    max-width:760px!important;
    margin:34px auto 0!important;
}

/* Facilities: centred heading + three equal image cards. */
html body .lpi-review-native #facilities-review .lpi-gallery{
    align-items:stretch!important;
}
html body .lpi-review-native #facilities-review .lpi-gallery figure{
    display:flex!important;
    min-height:430px!important;
    flex-direction:column!important;
    border-radius:18px!important;
}
html body .lpi-review-native #facilities-review .lpi-gallery img{
    height:360px!important;
    object-fit:cover!important;
}
html body .lpi-review-native #facilities-review .lpi-gallery figcaption{
    min-height:70px!important;
    display:flex!important;
    align-items:center!important;
}

/* Investment: fixed centred score meter + three equal cards. */
html body .lpi-review-native #investment .lpi-investment-meter{
    width:min(100%,820px)!important;
}
html body .lpi-review-native #investment .lpi-investment-copy{
    width:min(100%,880px)!important;
    margin-inline:auto!important;
}
html body .lpi-review-native #investment .lpi-card-grid{
    align-items:stretch!important;
}
html body .lpi-review-native #investment .lpi-info-card{
    display:flex!important;
    min-height:330px!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    text-align:center!important;
}
html body .lpi-review-native #investment .lpi-info-card h3{
    margin-top:0!important;
}

/* Buyer fit: two balanced halves, each containing a locked 3 x 2 grid. */
html body .lpi-review-native #buyer-fit > .lpi-shell.lpi-two-column{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:72px!important;
    align-items:start!important;
}
html body .lpi-review-native #buyer-fit .lpi-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
}
html body .lpi-review-native #buyer-fit .lpi-info-card{
    min-height:230px!important;
    padding:28px 24px!important;
}
html body .lpi-review-native #buyer-fit .lpi-info-card h3{
    font-size:clamp(1.08rem,1.7vw,1.42rem)!important;
}

/* Risks and FAQ: fixed 2-column equal-height cards. */
html body .lpi-review-native #risks .lpi-risk-grid,
html body .lpi-review-native #faq .lpi-faq-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;
}
html body .lpi-review-native #risks .lpi-risk-card{
    min-height:170px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
}
html body .lpi-review-native #faq .lpi-faq-card{
    min-height:170px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
}

/* Alternatives and Louis' Perspective use calm single-column editorial width. */
html body .lpi-review-native #alternatives .lpi-narrow,
html body .lpi-review-native #louis-perspective .lpi-narrow{
    width:min(100%,880px)!important;
}
html body .lpi-review-native #alternatives .lpi-narrow{
    text-align:center!important;
}
html body .lpi-review-native #louis-perspective .lpi-narrow{
    text-align:center!important;
}
html body .lpi-review-native #louis-perspective .lpi-pencil{
    margin-inline:auto!important;
}
html body .lpi-review-native #louis-perspective .lpi-signature{
    margin-top:22px!important;
}

/* Final verdict: stable equal-height 50/50 split. */
html body .lpi-review-native #final-verdict .lpi-final-card{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    min-height:650px!important;
    border:1px solid rgba(67,74,86,.14)!important;
    border-radius:24px!important;
    box-shadow:var(--lpi-project-soft-shadow)!important;
}
html body .lpi-review-native #final-verdict .lpi-final-card__media,
html body .lpi-review-native #final-verdict .lpi-final-card__media figure,
html body .lpi-review-native #final-verdict .lpi-final-card__media img{
    min-height:650px!important;
}
html body .lpi-review-native #final-verdict .lpi-final-card__body{
    min-height:650px!important;
    padding:clamp(46px,6vw,78px)!important;
}

/* Source-check remains compact and does not become another full article section. */
html body .lpi-review-native .lpi-source-check-section{
    padding-top:42px!important;
    padding-bottom:42px!important;
}

/* Tablet lock. */
@media (min-width:721px) and (max-width:1024px){
    html body .lpi-review-native .lpi-hero__media img,
    html body .lpi-review-native .lpi-hero-image img{
        height:620px!important;
        min-height:620px!important;
    }
    html body .lpi-review-native #at-a-glance .lpi-glance-grid,
    html body .lpi-review-native #scorecard .lpi-score-grid,
    html body .lpi-review-native #layouts .lpi-review-floor-grid,
    html body .lpi-review-native #facilities-review .lpi-gallery,
    html body .lpi-review-native #investment .lpi-card-grid,
    html body .lpi-review-native #risks .lpi-risk-grid,
    html body .lpi-review-native #faq .lpi-faq-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    html body .lpi-review-native #lpi-quick-verdict .lpi-verdict-grid,
    html body .lpi-review-native #why-this-project-matters .lpi-two-column--wide,
    html body .lpi-review-native #liveability-review .lpi-two-column--wide,
    html body .lpi-review-native #overview .lpi-two-column,
    html body .lpi-review-native #developer-review .lpi-two-column,
    html body .lpi-review-native #location .lpi-location-grid,
    html body .lpi-review-native #final-verdict .lpi-final-card{
        grid-template-columns:minmax(0,1fr)!important;
    }
    html body .lpi-review-native #buyer-fit > .lpi-shell.lpi-two-column{
        grid-template-columns:minmax(0,1fr)!important;
        gap:56px!important;
    }
    html body .lpi-review-native #buyer-fit .lpi-card-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
    html body .lpi-review-native #final-verdict .lpi-final-card,
    html body .lpi-review-native #final-verdict .lpi-final-card__media,
    html body .lpi-review-native #final-verdict .lpi-final-card__media figure,
    html body .lpi-review-native #final-verdict .lpi-final-card__media img,
    html body .lpi-review-native #final-verdict .lpi-final-card__body{
        min-height:460px!important;
    }
}

/* Mobile lock: all editorial sections become a predictable single column. */
@media (max-width:720px){
    html body .lpi-review-native .lpi-hero{
        padding-top:64px!important;
        padding-bottom:44px!important;
    }
    html body .lpi-review-native .lpi-hero__media{
        padding-inline:var(--lpi-design-mobile-padding,18px)!important;
    }
    html body .lpi-review-native .lpi-hero__media figure{
        border-radius:20px!important;
    }
    html body .lpi-review-native .lpi-hero__media img,
    html body .lpi-review-native .lpi-hero-image img{
        height:460px!important;
        min-height:460px!important;
    }
    html body .lpi-review-native #at-a-glance .lpi-glance-grid,
    html body .lpi-review-native #lpi-quick-verdict .lpi-verdict-grid,
    html body .lpi-review-native #why-this-project-matters .lpi-two-column--wide,
    html body .lpi-review-native #liveability-review .lpi-two-column--wide,
    html body .lpi-review-native #overview .lpi-two-column,
    html body .lpi-review-native #developer-review .lpi-two-column,
    html body .lpi-review-native #location .lpi-location-grid,
    html body .lpi-review-native #layouts .lpi-review-floor-grid,
    html body .lpi-review-native #facilities-review .lpi-gallery,
    html body .lpi-review-native #investment .lpi-card-grid,
    html body .lpi-review-native #buyer-fit > .lpi-shell.lpi-two-column,
    html body .lpi-review-native #buyer-fit .lpi-card-grid,
    html body .lpi-review-native #risks .lpi-risk-grid,
    html body .lpi-review-native #faq .lpi-faq-grid,
    html body .lpi-review-native #final-verdict .lpi-final-card{
        grid-template-columns:minmax(0,1fr)!important;
        gap:20px!important;
    }
    html body .lpi-review-native #scorecard .lpi-score-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    html body .lpi-review-native #at-a-glance .lpi-glance-card,
    html body .lpi-review-native #buyer-fit .lpi-info-card,
    html body .lpi-review-native #risks .lpi-risk-card,
    html body .lpi-review-native #faq .lpi-faq-card,
    html body .lpi-review-native #investment .lpi-info-card{
        min-height:0!important;
    }
    html body .lpi-review-native #lpi-quick-verdict .lpi-verdict-summary{
        min-height:0!important;
    }
    html body .lpi-review-native #overview .lpi-rounded-image,
    html body .lpi-review-native #developer-review .lpi-rounded-image{
        height:360px!important;
    }
    html body .lpi-review-native #facilities-review .lpi-gallery figure{
        min-height:0!important;
    }
    html body .lpi-review-native #facilities-review .lpi-gallery img{
        height:290px!important;
    }
    html body .lpi-review-native #final-verdict .lpi-final-card,
    html body .lpi-review-native #final-verdict .lpi-final-card__media,
    html body .lpi-review-native #final-verdict .lpi-final-card__media figure,
    html body .lpi-review-native #final-verdict .lpi-final-card__media img,
    html body .lpi-review-native #final-verdict .lpi-final-card__body{
        min-height:0!important;
    }
    html body .lpi-review-native #final-verdict .lpi-final-card__media,
    html body .lpi-review-native #final-verdict .lpi-final-card__media figure,
    html body .lpi-review-native #final-verdict .lpi-final-card__media img{
        height:360px!important;
    }
}

@media (max-width:460px){
    html body .lpi-review-native .lpi-hero__media img,
    html body .lpi-review-native .lpi-hero-image img{
        height:400px!important;
        min-height:400px!important;
    }
    html body .lpi-review-native #scorecard .lpi-score-grid{
        grid-template-columns:minmax(0,1fr)!important;
    }
}

/* ======================================================================
 * v3.15.2 — Hero flow + stacked Final Verdict correction
 * ----------------------------------------------------------------------
 * The base Project Review stylesheet still contains the historical blue
 * hero background and image positioning rules. These stronger final rules
 * keep the hero in normal document flow, prevent image wrappers from being
 * displaced by theme/Kubio styles, and use a clean white editorial canvas.
 * Final Verdict is intentionally stacked (image above, text below) on every
 * viewport so longer verdict copy remains readable.
 * ====================================================================== */
html body .lpi-review-native .lpi-hero{
    position:relative!important;
    display:block!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    margin:0!important;
    background:#fff!important;
    overflow:visible!important;
    contain:none!important;
}
html body .lpi-review-native .lpi-hero > .lpi-shell,
html body .lpi-review-native .lpi-hero__content,
html body .lpi-review-native .lpi-hero__media{
    position:relative!important;
    inset:auto!important;
    float:none!important;
    clear:both!important;
    transform:none!important;
    order:initial!important;
}
html body .lpi-review-native .lpi-hero__content{
    display:block!important;
    color:var(--lpi-ink,#434a56)!important;
}
html body .lpi-review-native .lpi-hero__media{
    display:block!important;
    margin-top:clamp(42px,5vw,68px)!important;
    margin-bottom:0!important;
}
html body .lpi-review-native .lpi-hero__media figure,
html body .lpi-review-native .lpi-hero__media .wp-block-image,
html body .lpi-review-native .lpi-hero__media .lpi-hero-image{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
    inset:auto!important;
    transform:none!important;
}
html body .lpi-review-native .lpi-hero__media img,
html body .lpi-review-native .lpi-hero-image img{
    position:relative!important;
    display:block!important;
    inset:auto!important;
    transform:none!important;
    margin:0!important;
}

/* Final Verdict: one-column editorial stack for long conclusions. */
html body .lpi-review-native #final-verdict .lpi-final-card{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    min-height:0!important;
    width:100%!important;
    overflow:hidden!important;
}
html body .lpi-review-native #final-verdict .lpi-final-card__media{
    order:1!important;
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:16/9!important;
    overflow:hidden!important;
}
html body .lpi-review-native #final-verdict .lpi-final-card__media figure,
html body .lpi-review-native #final-verdict .lpi-final-card__media .wp-block-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
}
html body .lpi-review-native #final-verdict .lpi-final-card__media img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
    object-position:center center!important;
}
html body .lpi-review-native #final-verdict .lpi-final-card__body{
    order:2!important;
    width:100%!important;
    min-height:0!important;
    padding:clamp(40px,6vw,76px)!important;
}
html body .lpi-review-native #final-verdict .lpi-final-card__body h2{
    max-width:920px!important;
}
html body .lpi-review-native #final-verdict .lpi-final-card__body p{
    max-width:920px!important;
}

@media (max-width:720px){
    html body .lpi-review-native #final-verdict .lpi-final-card__media{
        aspect-ratio:4/3!important;
        height:auto!important;
    }
    html body .lpi-review-native #final-verdict .lpi-final-card__body{
        padding:34px 24px 40px!important;
    }
}


/* ======================================================================
 * v3.15.5 — keep language nav + hero at the top with balanced spacing
 * ----------------------------------------------------------------------
 * Some themes apply flex/order rules to top-level groups. Ensure the native
 * hero remains the first major content block and visually matches the approved
 * M Legasi reference: clean white canvas, centered copy, image directly below.
 * ====================================================================== */
html body .lpi-review-native{display:block!important;}
html body .lpi-review-native > .lpi-hero{order:1!important;}
html body .lpi-review-native > .lpi-section{order:2!important;}
html body .lpi-review-native > .lpi-hero .lpi-shell{max-width:1180px!important;}
html body .lpi-review-native > .lpi-hero{padding-top:clamp(28px,3.6vw,48px)!important;}
html body .lpi-review-native > .lpi-hero .lpi-hero__content{padding-top:clamp(16px,2vw,28px)!important;}
html body .lpi-review-native > .lpi-hero .lpi-hero__media{margin-top:clamp(26px,3vw,40px)!important;}
html body .lpi-review-native > .lpi-hero .lpi-hero__media img,
html body .lpi-review-native > .lpi-hero .lpi-hero-image img{
    width:100%!important;
    height:clamp(360px,48vw,620px)!important;
    object-fit:cover!important;
    object-position:center center!important;
    border-radius:34px!important;
}
@media (max-width: 782px){
  html body .lpi-review-native > .lpi-hero{padding-top:44px!important;}
  html body .lpi-review-native > .lpi-hero .lpi-hero__content{padding-top:20px!important;}
  html body .lpi-review-native > .lpi-hero .lpi-hero__media{margin-top:24px!important;}
  html body .lpi-review-native > .lpi-hero .lpi-hero__media img,
  html body .lpi-review-native > .lpi-hero .lpi-hero-image img{
      height:clamp(240px,58vw,390px)!important;
      border-radius:22px!important;
  }
}
@media (max-width: 600px){
  html body .lpi-review-native > .lpi-hero{padding-top:56px!important;}
  html body .lpi-review-native > .lpi-hero .lpi-hero__content{padding-top:12px!important;}
}


/* ======================================================================
 * v3.15.7 — quick verdict, scorecard, thesis and image composition
 * ====================================================================== */
html body .lpi-review-native .lpi-verdict-grid{gap:clamp(34px,4vw,64px)!important;align-items:start!important;}
html body .lpi-review-native .lpi-verdict-summary{text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:34px 28px!important;}
html body .lpi-review-native .lpi-verdict-summary p,
html body .lpi-review-native .lpi-verdict-summary strong{display:block!important;width:100%!important;text-align:center!important;}
html body .lpi-review-native .lpi-verdict-summary p{margin:10px 0 0!important;}
html body .lpi-review-native .lpi-verdict-summary strong{margin:0 0 14px!important;}
html body .lpi-review-native .lpi-overall-score{text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;}
html body .lpi-review-native .lpi-overall-score>strong{order:1!important;display:block!important;margin:0 auto 14px!important;text-align:center!important;}
html body .lpi-review-native .lpi-overall-score>span{order:2!important;display:block!important;text-align:center!important;margin:0 auto 12px!important;}
html body .lpi-review-native .lpi-overall-score>p{order:3!important;max-width:760px!important;text-align:center!important;margin:0 auto!important;}
html body .lpi-review-native .lpi-section--dark .lpi-stat-panel{background:#fff!important;color:#20252a!important;border-color:rgba(32,37,42,.14)!important;box-shadow:0 18px 46px rgba(22,28,34,.16)!important;}
html body .lpi-review-native .lpi-section--dark .lpi-stat-panel span,
html body .lpi-review-native .lpi-section--dark .lpi-stat-panel strong,
html body .lpi-review-native .lpi-section--dark .lpi-stat-panel p{color:#20252a!important;}
html body .lpi-review-native figure.wp-block-image{overflow:hidden!important;}
@media (max-width:782px){html body .lpi-review-native .lpi-verdict-grid{gap:28px!important;}}


/* v3.16.7 — compact, left-aligned source check after FAQ and before Kubio tail sections. */
html body .lpi-review-native #trusted-third-party-source-check{
    position:relative!important;
    z-index:1!important;
    clear:both!important;
    padding-top:24px!important;
    padding-bottom:38px!important;
    background:#fff!important;
}
html body .lpi-review-native #trusted-third-party-source-check > .lpi-shell{
    display:block!important;
}
html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-wrap{
    width:min(100%,430px)!important;
    max-width:430px!important;
    margin:0 auto 0 0!important;
}
html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-kicker{
    margin:0 0 7px!important;
    font-size:10px!important;
    line-height:1.2!important;
    letter-spacing:.18em!important;
    text-align:left!important;
}
html body .lpi-review-native #trusted-third-party-source-check details.lpi-source-check{
    border-radius:12px!important;
    box-shadow:0 8px 22px rgba(30,42,55,.03)!important;
}
html body .lpi-review-native #trusted-third-party-source-check details.lpi-source-check>summary{
    min-height:58px!important;
    padding:14px 48px 14px 16px!important;
    font-size:14px!important;
    line-height:1.35!important;
    font-weight:600!important;
    letter-spacing:0!important;
}
html body .lpi-review-native #trusted-third-party-source-check details.lpi-source-check>summary::after{
    right:18px!important;
    width:9px!important;
    height:9px!important;
    border-width:0 1.5px 1.5px 0!important;
}
html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-body{
    padding:16px!important;
}
html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-row{
    grid-template-columns:26px minmax(90px,118px) minmax(0,1fr)!important;
    gap:8px 10px!important;
    padding:8px 0!important;
}
html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-icon{
    width:24px!important;
    height:24px!important;
}
html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-icon svg{
    width:18px!important;
    height:18px!important;
}
html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-row__label,
html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-row__value,
html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-note,
html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-chip,
html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-link{
    font-size:13px!important;
}
@media (max-width:720px){
    html body .lpi-review-native #trusted-third-party-source-check{
        padding-top:20px!important;
        padding-bottom:30px!important;
    }
    html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-wrap{
        width:100%!important;
        max-width:100%!important;
    }
    html body .lpi-review-native #trusted-third-party-source-check details.lpi-source-check>summary{
        min-height:56px!important;
        padding:13px 44px 13px 14px!important;
        font-size:13.5px!important;
        line-height:1.35!important;
    }
    html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-body{
        padding:14px!important;
    }
    html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-row{
        grid-template-columns:24px minmax(0,1fr)!important;
        gap:3px 9px!important;
    }
    html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-row__label,
    html body .lpi-review-native #trusted-third-party-source-check .lpi-source-check-row__value{
        grid-column:2!important;
    }
}


/* ======================================================================
 * v3.16.8 — spacing-only refinement between stacked Quick Verdict columns.
 * No other Project Review layout or component is changed.
 * ====================================================================== */
@media (max-width:1024px){
    html body .lpi-review-native #lpi-quick-verdict .lpi-verdict-summary{
        margin-bottom:36px!important;
    }
}
@media (max-width:720px){
    html body .lpi-review-native #lpi-quick-verdict .lpi-verdict-summary{
        margin-bottom:30px!important;
    }
}

/* v3.16.9 — Layout gallery only: fixed three-card preview, expandable remainder and lightbox. */
html body .lpi-review-native #layouts .lpi-review-floor-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
html body .lpi-review-native #layouts .lpi-floor-details{
    margin-top:28px!important;
}
html body .lpi-review-native #layouts .lpi-floor-details > summary{
    width:max-content!important;
    margin:0 auto!important;
    padding:12px 20px!important;
    border:1px solid rgba(67,74,86,.18)!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#4b5563!important;
    cursor:pointer!important;
    list-style:none!important;
    font-weight:700!important;
}
html body .lpi-review-native #layouts .lpi-floor-details > summary::-webkit-details-marker{display:none!important;}
html body .lpi-review-native #layouts .lpi-review-floor-grid--extra{
    margin-top:28px!important;
}
html body .lpi-review-native #layouts .lpi-layout-zoomable{
    cursor:zoom-in!important;
}
html body .lpi-review-native #layouts .lpi-layout-zoomable:focus-visible{
    outline:3px solid rgba(35,79,127,.5)!important;
    outline-offset:4px!important;
}
html.lpi-layout-lightbox-open{overflow:hidden!important;}
.lpi-layout-lightbox{display:none;position:fixed;inset:0;z-index:999999;}
.lpi-layout-lightbox.is-open{display:block;}
.lpi-layout-lightbox__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.88);backdrop-filter:blur(4px);}
.lpi-layout-lightbox__dialog{position:absolute;inset:clamp(18px,4vw,52px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;align-items:center;color:#fff;}
.lpi-layout-lightbox__close{position:absolute;top:0;right:0;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:32px;line-height:1;cursor:pointer;z-index:2;}
.lpi-layout-lightbox__meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 18px;padding-right:60px;align-items:baseline;}
.lpi-layout-lightbox__meta strong{font:600 clamp(22px,3vw,34px)/1.15 "Noto Serif Display",serif;}
.lpi-layout-lightbox__meta span{font:500 15px/1.5 Quicksand,sans-serif;color:rgba(255,255,255,.78);}
.lpi-layout-lightbox__stage{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:center;min-height:0;height:100%;overflow:auto;touch-action:pinch-zoom;}
.lpi-layout-lightbox__stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;background:#fff;border-radius:12px;box-shadow:0 20px 70px rgba(0,0,0,.38);}
.lpi-layout-lightbox__nav{width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:34px;line-height:1;cursor:pointer;}
.lpi-layout-lightbox__prev{grid-column:1;grid-row:2;}
.lpi-layout-lightbox__next{grid-column:3;grid-row:2;}
.lpi-layout-lightbox__count{grid-column:1/-1;text-align:center;font:600 14px/1.4 Quicksand,sans-serif;color:rgba(255,255,255,.8);}
@media (min-width:721px) and (max-width:1024px){
    html body .lpi-review-native #layouts .lpi-review-floor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:720px){
    html body .lpi-review-native #layouts .lpi-review-floor-grid{grid-template-columns:minmax(0,1fr)!important;}
    .lpi-layout-lightbox__dialog{inset:12px;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;}
    .lpi-layout-lightbox__stage{grid-column:1;grid-row:2;padding:54px 0 58px;}
    .lpi-layout-lightbox__nav{position:absolute;bottom:8px;z-index:2;}
    .lpi-layout-lightbox__prev{left:12px;}
    .lpi-layout-lightbox__next{right:12px;}
    .lpi-layout-lightbox__count{grid-column:1;grid-row:3;align-self:end;}
}
