
/* AvenSci Publishing — Phase 7 final visual finishing
   Keeps the approved logo and identity. Only proportions/spacing are refined. */

.fm-wrap{
    width:min(calc(100vw - 40px), 1480px) !important;
}

/* Slightly more substantial header, without changing its identity */
.fm-header{
    height:92px !important;
}
.fm-logo{
    flex-basis:325px !important;
}
.fm-logo img{
    width:300px !important;
}

/* Hero: taller, continuous and better balanced */
.fm-hero{
    min-height:342px !important;
}
.fm-hero__inner{
    min-height:342px !important;
}
.fm-hero__copy{
    width:46.5% !important;
    padding-left:22px !important;
}
.fm-hero h1{
    font-size:54px !important;
    line-height:1.055 !important;
    margin-bottom:18px !important;
}
.fm-hero p{
    max-width:520px !important;
    font-size:15.5px !important;
    line-height:1.48 !important;
}

/* Keep book/DNA integrated, reduce the feeling of a rectangular image block */
.fm-hero::after{
    width:61% !important;
    right:1.5% !important;
    top:10px !important;
    bottom:0 !important;
    background-size:contain !important;
    background-position:center bottom !important;
}
.fm-hero::before{
    background:linear-gradient(
        90deg,
        rgba(255,255,255,.98) 0%,
        rgba(255,255,255,.95) 27%,
        rgba(255,255,255,.82) 39%,
        rgba(255,255,255,.50) 49%,
        rgba(255,255,255,.17) 61%,
        rgba(255,255,255,0) 75%
    ) !important;
}

/* Cards */
.fm-audience{
    padding:12px 0 15px !important;
}
.fm-audience__grid{
    gap:14px !important;
}
.fm-audience-card{
    min-height:151px !important;
    padding:21px 24px !important;
}
.fm-audience-card h3{
    font-size:18px !important;
}
.fm-audience-card p{
    font-size:13.5px !important;
}

/* Latest publications gets more presence and breathing room */
.fm-latest{
    padding:11px 0 24px !important;
    min-height:285px !important;
}
.fm-latest__grid{
    grid-template-columns:275px 1fr !important;
    gap:38px !important;
}
.fm-latest__lead{
    padding-left:8px !important;
    padding-top:8px !important;
}
.fm-latest h2{
    margin:14px 0 20px !important;
    font-size:22px !important;
}
.fm-books{
    grid-template-columns:repeat(5, minmax(150px, 172px)) !important;
    gap:30px !important;
}
.fm-cover{
    height:228px !important;
    border-radius:2px !important;
}

/* Footer proportions closer to reference */
.fm-footer__main{
    padding:29px 0 25px !important;
    gap:35px !important;
}
.fm-footer__brand img{
    width:200px !important;
}
.fm-footer p,
.fm-footer a{
    font-size:11.5px !important;
    line-height:1.52 !important;
}
.fm-footer h4{
    font-size:11.5px !important;
}
.fm-footer__bottom{
    padding:15px 0 17px !important;
}

/* Large desktop: avoid a narrow island in the center */
@media(min-width:1500px){
    .fm-wrap{
        width:min(calc(100vw - 70px), 1560px) !important;
    }
    .fm-hero__copy{
        padding-left:30px !important;
    }
    .fm-books{
        grid-template-columns:repeat(5, 178px) !important;
        gap:34px !important;
    }
    .fm-cover{
        height:238px !important;
    }
}

/* Tablet */
@media(max-width:1000px){
    .fm-wrap{width:calc(100vw - 30px) !important}
    .fm-hero::after{width:58% !important;right:0 !important}
    .fm-books{grid-template-columns:repeat(4,1fr) !important}
}

/* Mobile */
@media(max-width:760px){
    .fm-wrap{width:calc(100vw - 24px) !important}
    .fm-header{height:auto !important}
    .fm-logo{flex:0 0 205px !important}
    .fm-logo img{width:200px !important}
    .fm-hero{min-height:440px !important}
    .fm-hero__inner{min-height:440px !important}
    .fm-hero__copy{width:100% !important;padding-left:0 !important}
    .fm-hero h1{font-size:39px !important}
    .fm-hero::after{
        width:100% !important;
        right:0 !important;
        top:150px !important;
        opacity:.45 !important;
    }
    .fm-latest{min-height:auto !important}
    .fm-latest__grid{grid-template-columns:1fr !important}
    .fm-books{grid-template-columns:repeat(2,1fr) !important}
}
