/* IJMTIP Public Home Hotfix v2.11.1
   Visual rebalance after real-screen review.
   Loaded after v2.11 and intentionally authoritative.
*/

/* Main content should feel centered instead of edge-to-edge on very wide displays. */
.site-main{
    max-width:1380px !important;
    padding-left:30px !important;
    padding-right:30px !important;
}

/* Hero: left side is the editorial lead; right side is a compact issue card, not a second hero. */
.home-v211-hero{
    grid-template-columns:minmax(0,1fr) 360px !important;
    gap:18px !important;
    align-items:start !important;
    margin-top:26px !important;
}

.home-v211-copy{
    min-height:0 !important;
    padding:38px 42px 34px !important;
    border-radius:20px !important;
}

.home-v211-copy h1{
    max-width:820px !important;
    margin:24px 0 17px !important;
    font-size:clamp(38px,3.45vw,52px) !important;
    line-height:1.03 !important;
    letter-spacing:-2px !important;
}

.home-v211-copy h1 em{
    margin-top:3px !important;
    letter-spacing:-1.2px !important;
}

.home-v211-copy>p{
    max-width:760px !important;
    font-size:13.5px !important;
    line-height:1.62 !important;
}

.home-v211-actions{
    margin-top:21px !important;
}

/* Current issue card no longer stretches to the height of the hero copy. */
.home-v211-issue{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    align-self:start !important;
    border-radius:20px !important;
    box-shadow:0 10px 28px rgba(16,58,86,.10) !important;
}

.home-v211-journal-mark{
    height:92px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    padding:12px 18px !important;
    background:#f8fbfb !important;
    border-bottom:1px solid #d7e3e5 !important;
}

.home-v211-journal-mark img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:310px !important;
    object-fit:contain !important;
    object-position:center !important;
}

.home-v211-image{
    display:none !important;
}

.home-v211-issue-body{
    align-items:center !important;
    gap:14px !important;
    padding:17px !important;
}

.home-v211-cover{
    flex:0 0 78px !important;
    width:78px !important;
    height:108px !important;
    border-radius:6px !important;
}

.home-v211-issue-copy h2{
    margin:6px 0 5px !important;
    font-size:21px !important;
    letter-spacing:-.35px !important;
}

.home-v211-issue-copy p{
    margin-bottom:10px !important;
    font-size:9.5px !important;
}

.home-v211-issue-link{
    display:inline-flex !important;
    padding:7px 9px !important;
    border:1px solid rgba(255,255,255,.22) !important;
    border-radius:7px !important;
    background:rgba(255,255,255,.07) !important;
    font-size:9.5px !important;
}

/* The information strip should stay visually subordinate. */
.home-v211-trust{
    margin-top:14px !important;
    margin-bottom:50px !important;
    border-radius:12px !important;
}

.home-v211-trust>div{
    padding:11px 14px !important;
}

.home-v211-trust strong{
    font-size:10px !important;
}

.home-v211-trust span{
    font-size:8.5px !important;
}

/* ---------- Footer: keep it compact across real desktop/tablet widths ---------- */
.site-footer-v2{
    width:100% !important;
    max-width:none !important;
    margin:24px 0 0 !important;
    padding:22px max(26px,calc((100vw - 1320px)/2)) 14px !important;
    grid-template-columns:minmax(250px,1.45fr) minmax(120px,.6fr) minmax(220px,1fr) minmax(150px,.65fr) !important;
    gap:16px 26px !important;
    align-items:start !important;
}

/* Brand block becomes horizontal and therefore much shorter. */
.footer-brand-block{
    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) !important;
    grid-template-rows:auto auto auto auto !important;
    column-gap:12px !important;
    row-gap:2px !important;
    max-width:370px !important;
    min-width:0 !important;
    align-items:start !important;
}

.footer-brand-block img.footer-pi-mark{
    grid-column:1 !important;
    grid-row:1/5 !important;
    width:58px !important;
    max-width:58px !important;
    height:58px !important;
    max-height:58px !important;
    object-fit:contain !important;
    margin:0 !important;
}

.footer-brand-block .footer-logo{
    grid-column:2 !important;
    grid-row:1 !important;
    margin:0 !important;
    font-size:22px !important;
    line-height:1.1 !important;
}

.footer-brand-block p{
    grid-column:2 !important;
    grid-row:2 !important;
    margin:3px 0 2px !important;
    font-size:9.5px !important;
    line-height:1.35 !important;
}

.footer-brand-block span{
    grid-column:2 !important;
    margin:0 !important;
    font-size:8.5px !important;
    line-height:1.35 !important;
}

.footer-menu{
    gap:4px !important;
    min-width:0 !important;
}

.footer-menu strong{
    margin:0 0 4px !important;
    font-size:8.5px !important;
    line-height:1.2 !important;
}

.footer-menu a{
    font-size:9.5px !important;
    line-height:1.25 !important;
}

.footer-bottom{
    padding-top:10px !important;
    margin-top:1px !important;
    gap:6px 18px !important;
    font-size:8.5px !important;
}

/* Keep four columns much longer than v2.11 did.
   The old 1050px breakpoint caused the large footer seen in the screenshot. */
@media(max-width:1120px) and (min-width:781px){
    .site-main{
        padding-left:22px !important;
        padding-right:22px !important;
    }

    .home-v211-hero{
        grid-template-columns:minmax(0,1fr) 315px !important;
        gap:15px !important;
    }

    .home-v211-copy{
        padding:31px !important;
    }

    .home-v211-copy h1{
        font-size:40px !important;
        letter-spacing:-1.5px !important;
    }

    .home-v211-journal-mark{
        height:78px !important;
    }

    .home-v211-cover{
        flex-basis:68px !important;
        width:68px !important;
        height:96px !important;
    }

    .site-footer-v2{
        grid-template-columns:minmax(220px,1.3fr) minmax(105px,.55fr) minmax(190px,1fr) minmax(125px,.65fr) !important;
        gap:14px 18px !important;
        padding:20px 22px 13px !important;
    }

    .footer-brand-block{
        grid-template-columns:52px minmax(0,1fr) !important;
    }

    .footer-brand-block img.footer-pi-mark{
        width:48px !important;
        max-width:48px !important;
        height:48px !important;
        max-height:48px !important;
    }
}

/* Tablet: two-row layout, still compact. */
@media(max-width:780px){
    .site-main{
        padding-left:15px !important;
        padding-right:15px !important;
    }

    .home-v211-hero{
        grid-template-columns:1fr !important;
    }

    .home-v211-copy{
        padding:29px 24px !important;
    }

    .home-v211-copy h1{
        font-size:39px !important;
    }

    .home-v211-issue{
        display:grid !important;
        grid-template-columns:minmax(0,.75fr) minmax(300px,1.25fr) !important;
    }

    .home-v211-journal-mark{
        height:100% !important;
        min-height:150px !important;
        border-bottom:0 !important;
        border-right:1px solid #d7e3e5 !important;
    }

    .home-v211-issue-body{
        min-width:0 !important;
    }

    .site-footer-v2{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
        gap:14px 20px !important;
        padding:19px 17px 13px !important;
    }

    .footer-brand-block{
        grid-column:1/-1 !important;
        max-width:520px !important;
    }

    .footer-bottom{
        grid-column:1/-1 !important;
    }
}

/* Mobile: no giant footer stack. Menus remain two columns. */
@media(max-width:520px){
    .home-v211-copy{
        padding:25px 20px !important;
    }

    .home-v211-copy h1{
        font-size:34px !important;
        letter-spacing:-1.3px !important;
    }

    .home-v211-copy>p{
        font-size:12.5px !important;
    }

    .home-v211-issue{
        display:block !important;
    }

    .home-v211-journal-mark{
        height:72px !important;
        min-height:0 !important;
        border-right:0 !important;
        border-bottom:1px solid #d7e3e5 !important;
    }

    .home-v211-issue-body{
        padding:13px !important;
    }

    .home-v211-cover{
        flex-basis:62px !important;
        width:62px !important;
        height:88px !important;
    }

    .home-v211-trust{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .site-footer-v2{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:13px 15px !important;
        padding:17px 14px 12px !important;
    }

    .footer-brand-block{
        grid-template-columns:48px minmax(0,1fr) !important;
        column-gap:10px !important;
    }

    .footer-brand-block img.footer-pi-mark{
        width:44px !important;
        max-width:44px !important;
        height:44px !important;
        max-height:44px !important;
    }

    .footer-brand-block .footer-logo{
        font-size:18px !important;
    }

    .footer-brand-block p{
        font-size:8.5px !important;
    }

    .footer-menu a{
        font-size:9px !important;
    }

    .footer-bottom{
        display:flex !important;
        flex-direction:column !important;
    }
}

/* ========================================================================
   IJMTIP v2.18.5 — authoritative responsive footer
   Remove breakpoint-dependent column jumps and keep the footer compact.
   ======================================================================== */
.site-footer-v2{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:clip !important;
    margin:24px 0 0 !important;
    padding:20px max(18px,calc((100vw - 1320px)/2)) 13px !important;
    display:grid !important;
    grid-template-columns:minmax(220px,1.45fr) repeat(3,minmax(110px,.72fr)) !important;
    grid-auto-flow:row !important;
    gap:14px 24px !important;
    align-items:start !important;
}
.site-footer-v2>*{min-width:0 !important;max-width:100% !important}
.site-footer-v2 .footer-brand-block{
    grid-column:auto !important;
    display:grid !important;
    grid-template-columns:58px minmax(0,1fr) !important;
    grid-template-rows:auto !important;
    gap:2px 11px !important;
    width:auto !important;
    max-width:390px !important;
    margin:0 !important;
}
.site-footer-v2 .footer-brand-block img.footer-pi-mark{
    grid-column:1 !important;
    grid-row:1/6 !important;
    width:52px !important;
    height:52px !important;
    max-width:52px !important;
    max-height:52px !important;
    margin:0 !important;
}
.site-footer-v2 .footer-brand-block .footer-logo{grid-column:2 !important;margin:0 !important;font-size:20px !important;line-height:1.08 !important}
.site-footer-v2 .footer-brand-block p{grid-column:2 !important;margin:2px 0 !important;font-size:9px !important;line-height:1.35 !important}
.site-footer-v2 .footer-brand-block span{grid-column:2 !important;margin:0 !important;font-size:8.5px !important;line-height:1.3 !important}
.site-footer-v2 .footer-menu{
    grid-column:auto !important;
    display:flex !important;
    flex-direction:column !important;
    gap:4px !important;
    margin:0 !important;
}
.site-footer-v2 .footer-menu strong{margin:0 0 3px !important;font-size:8.5px !important;line-height:1.2 !important}
.site-footer-v2 .footer-menu a{font-size:9.5px !important;line-height:1.28 !important;overflow-wrap:anywhere !important}
.site-footer-v2 .footer-bottom{
    grid-column:1/-1 !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:space-between !important;
    gap:4px 16px !important;
    margin:0 !important;
    padding-top:9px !important;
    font-size:8.5px !important;
}

@media(max-width:900px){
    .site-footer-v2{
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
        gap:12px 16px !important;
        padding:18px 16px 12px !important;
    }
    .site-footer-v2 .footer-brand-block{
        grid-column:1/-1 !important;
        max-width:560px !important;
    }
    .site-footer-v2 .footer-menu{
        grid-column:span 2 !important;
    }
}

@media(max-width:520px){
    .site-footer-v2{
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
        gap:11px 10px !important;
        padding:16px 12px 11px !important;
    }
    .site-footer-v2 .footer-brand-block{
        grid-column:1/-1 !important;
        grid-template-columns:46px minmax(0,1fr) !important;
        gap:2px 9px !important;
    }
    .site-footer-v2 .footer-brand-block img.footer-pi-mark{
        width:42px !important;
        height:42px !important;
        max-width:42px !important;
        max-height:42px !important;
    }
    .site-footer-v2 .footer-brand-block .footer-logo{font-size:18px !important}
    .site-footer-v2 .footer-brand-block p{font-size:8.3px !important}
    .site-footer-v2 .footer-brand-block span{font-size:8px !important}
    .site-footer-v2 .footer-menu{grid-column:span 2 !important}
    .site-footer-v2 .footer-menu a{font-size:8.7px !important}
    .site-footer-v2 .footer-bottom{
        grid-column:1/-1 !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        gap:2px !important;
    }
}
