/* WNB */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
    --f:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
    --black:#09090b;
    --white:#fff;
    --text:#27272a;
    --mid:#71717a;
    --dim:#a1a1aa;
    --pale:#f4f4f5;
    --wrap:1280px;
}
body{font-family:var(--f);background:var(--white);color:var(--black);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit;transition:opacity .15s}
img{display:block;width:100%;height:100%;object-fit:cover}
::selection{background:var(--black);color:var(--white)}
.label{font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--dim)}
.meta{font-size:.6rem;color:var(--dim)}

/* BREAKING ALERT */
.breaking-alert{
    position:fixed;
    bottom:1.5rem;
    left:50%;
    transform:translateX(-50%);
    z-index:95;
    max-width:550px;
    width:calc(100% - 3rem);
}
.breaking-alert-inner{
    display:flex;
    align-items:center;
    gap:.75rem;
    padding:.7rem 1.5rem;
    background:var(--black);
    border-radius:50px;
    box-shadow:0 4px 24px rgba(0,0,0,.15);
}
.breaking-dot{
    width:8px;height:8px;
    background:#dc2626;
    border-radius:50%;
    flex-shrink:0;
    animation:pulse 1.5s ease infinite;
}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.breaking-headlines{
    flex:1;
    position:relative;
    height:1.3rem;
    overflow:hidden;
}
.breaking-headline{
    position:absolute;
    left:0;top:0;
    width:100%;
    font-size:.78rem;
    font-weight:500;
    color:var(--white);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    line-height:1.3rem;
    opacity:0;
    transform:translateY(8px);
    transition:opacity .4s,transform .4s;
}
.breaking-headline.active{
    opacity:1;
    transform:translateY(0);
}
.breaking-headline:hover{opacity:.7}

/* BREAKING TAG */
.tag-live{position:absolute;top:.65rem;left:.65rem;background:#dc2626;color:var(--white);font-size:.48rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.25rem .65rem;border-radius:50px}

/* HEADER */
.header{position:sticky;top:0;z-index:100;background:var(--white)}
.header-inner{
    max-width:var(--wrap);margin:0 auto;
    padding:1.75rem 2rem;text-align:center;
}
.header-top-row{display:none}
.header-masthead{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:1.5rem;
}
.masthead-side{
    font-size:.6rem;
    color:var(--dim);
    letter-spacing:.3px;
    text-align:left;
}
.masthead-right{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:.5rem;
}
.logo{font-family:'Plus Jakarta Sans',var(--f);font-size:2.4rem;font-weight:800;color:var(--black);letter-spacing:-.04em;display:block;line-height:1}
.desktop-nav{
    display:flex;align-items:center;justify-content:center;
    margin-top:1.25rem;gap:2.25rem;
    max-height:32px;overflow:hidden;
    transition:max-height .3s ease,margin-top .3s ease,opacity .25s ease;
    opacity:1;
}
.desktop-nav.hidden{max-height:0;margin-top:0;opacity:0}
.desktop-nav a{font-size:.7rem;font-weight:500;color:var(--mid);text-transform:uppercase;letter-spacing:.5px;transition:color .15s}
.desktop-nav a:hover{color:var(--black)}
.desktop-nav a.active{color:var(--black);font-weight:700}
.search-btn{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--dim);transition:color .15s}
.search-btn:hover{color:var(--black)}
.header-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--dim);transition:color .15s}
.header-icon:hover{color:var(--black)}
.menu-btn{display:none;background:none;border:none;cursor:pointer;color:var(--black);padding:.25rem}

/* MOBILE MENU */
.mobile-menu{display:none;max-height:0;overflow:hidden;background:var(--white);transition:max-height .3s ease}
.mobile-menu.open{max-height:500px}
.mobile-nav{display:flex;flex-direction:column;max-width:var(--wrap);margin:0 auto;padding:.5rem 0}
.mobile-nav a{padding:.7rem 2rem;font-size:.82rem;font-weight:500;color:var(--black);transition:background .1s}
.mobile-nav a:hover{background:var(--pale)}
.mobile-nav a.active{font-weight:700}

/* SEARCH */
.search-bar{max-height:0;overflow:hidden;transition:max-height .3s}
.search-bar.open{max-height:70px}
.search-bar-inner{max-width:var(--wrap);margin:0 auto;padding:.75rem 2rem}
.search-bar-form{display:flex;align-items:center;gap:.5rem;background:var(--pale);border-radius:50px;padding:.5rem .6rem .5rem 1.25rem}
.search-bar-form input{flex:1;font-size:.82rem;font-family:var(--f);padding:.3rem 0;border:none;background:transparent;color:var(--black);outline:none}
.search-bar-form input::placeholder{color:var(--dim)}
.search-bar-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--white);border:none;font-size:.9rem;cursor:pointer;color:var(--mid);border-radius:50%;transition:all .15s}
.search-bar-close:hover{background:var(--black);color:var(--white)}
.search-page-form{display:flex;gap:.5rem;max-width:500px;margin:0 auto;background:var(--pale);border-radius:50px;padding:.4rem .5rem .4rem 1.25rem}
.search-page-form input{flex:1;padding:.4rem 0;border:none;font-size:.85rem;font-family:var(--f);background:transparent;color:var(--black);outline:none}
.search-page-form input::placeholder{color:var(--dim)}
.search-page-form button{background:var(--black);color:var(--white);border:none;padding:.5rem 1.5rem;font-size:.7rem;font-weight:600;font-family:var(--f);cursor:pointer;border-radius:50px;transition:opacity .15s}
.search-page-form button:hover{opacity:.7}

/* MAIN */
.main{max-width:var(--wrap);margin:0 auto;padding:1rem 2rem 6rem}

/* HOMEPAGE */

/* TOP: Hero + secondary */
.idx-top{display:grid;grid-template-columns:1.5fr 1fr;gap:1.5rem;margin-bottom:2rem}
.idx-hero{display:block}
.idx-hero:hover .idx-hero-img img{transform:scale(1.01)}
.idx-hero-img{aspect-ratio:16/10;overflow:hidden;background:var(--pale);position:relative}
.idx-hero-img img{transition:transform .5s cubic-bezier(.4,0,.2,1)}
.idx-hero-body{padding:.75rem 0 0}
.idx-hero-body h2{font-size:1.3rem;font-weight:800;line-height:1.2;letter-spacing:-.025em;margin:.25rem 0}
.idx-hero-body p{font-size:.75rem;color:var(--mid);line-height:1.45}

.idx-secondary{display:flex;flex-direction:column;gap:1.5rem}
.idx-sec-card{display:block}
.idx-sec-card:hover .idx-sec-img img{transform:scale(1.015)}
.idx-sec-img{aspect-ratio:16/9;overflow:hidden;background:var(--pale);position:relative}
.idx-sec-img img{transition:transform .5s cubic-bezier(.4,0,.2,1)}
.idx-sec-body{padding:.6rem 0 0}
.idx-sec-body h3{font-size:.85rem;font-weight:700;line-height:1.3;margin:.15rem 0}

/* GRID */
.idx-grid-section{margin-bottom:2rem}
.idx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.idx-card{display:block}
.idx-card:hover .idx-card-img img{transform:scale(1.015)}
.idx-card-img{aspect-ratio:16/10;overflow:hidden;background:var(--pale);position:relative}
.idx-card-img img{transition:transform .5s cubic-bezier(.4,0,.2,1)}
.idx-card-body{padding:.6rem 0 0}
.idx-card-body h3{font-size:.8rem;font-weight:700;line-height:1.3;margin:.15rem 0}

/* LIST */
.idx-list-section{margin-bottom:2rem}
.idx-list{display:grid;grid-template-columns:1fr 1fr;gap:0}
.idx-list-item{display:flex;align-items:center;gap:.85rem;padding:.75rem .75rem;border-top:1px solid var(--pale)}
.idx-list-item:hover{opacity:.6}
.idx-list-item:hover .idx-list-num{color:var(--black)}
.idx-list-num{font-size:1.1rem;font-weight:800;color:var(--pale);min-width:1.5rem;transition:color .2s}
.idx-list-body{flex:1}
.idx-list-body h3{font-size:.75rem;font-weight:700;line-height:1.3;margin:.1rem 0}

.section-label{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--dim);margin-bottom:1rem}

@media(max-width:900px){
    .idx-top{grid-template-columns:1fr}
    .idx-secondary{flex-direction:row;gap:1rem}
    .idx-sec-card{flex:1}
    .idx-grid{grid-template-columns:repeat(2,1fr)}
    .idx-list{grid-template-columns:1fr}
}
@media(max-width:600px){
    .idx-hero-body h2{font-size:1.1rem}
    .idx-secondary{flex-direction:column}
    .idx-grid{grid-template-columns:1fr}
}

/* FOOTER */
.footer{padding:4rem 0 0}
.footer-inner{max-width:var(--wrap);margin:0 auto;padding:0 2rem}
.footer-top{display:flex;justify-content:space-between;gap:4rem;padding-bottom:2.5rem}
.footer-brand{max-width:280px}
.footer-logo{font-family:'Plus Jakarta Sans',var(--f);font-size:1.1rem;font-weight:800;color:var(--black);letter-spacing:-.03em;display:block}
.footer-tagline{font-size:.72rem;color:var(--mid);margin-top:.5rem;line-height:1.6}
.footer-columns{display:flex;gap:4rem}
.footer-col{display:flex;flex-direction:column;gap:.4rem}
.footer-col h4{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--dim);margin-bottom:.4rem}
.footer-col a{font-size:.75rem;color:var(--mid);transition:color .15s}
.footer-col a:hover{color:var(--black)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;border-top:1px solid var(--pale);font-size:.6rem;color:var(--dim)}
.footer-bottom .footer-legal a{text-decoration:underline;color:var(--mid)}
.footer-bottom .footer-legal a:hover{color:var(--black)}

@media(max-width:768px){
    .footer-top{flex-direction:column;gap:2rem}
    .footer-columns{gap:2.5rem}
    .footer-bottom{flex-direction:column;gap:.5rem;align-items:flex-start}
}
@media(max-width:480px){
    .footer-columns{flex-direction:column;gap:1.5rem}
}

/* ARTICLE */
.article-page{max-width:var(--wrap);margin:0 auto;padding:1rem 2rem 4rem;display:grid;grid-template-columns:1fr 280px;gap:3.5rem;align-items:start}
.article-main{}
.article-header{margin-bottom:2rem}
.article-category{font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--dim);display:inline-block;margin-bottom:.6rem}
.article-header h1{font-size:2.1rem;font-weight:800;line-height:1.18;letter-spacing:-.035em;margin-bottom:.85rem}
.article-meta{display:flex;gap:.5rem;font-size:.68rem;color:var(--mid);flex-wrap:wrap;align-items:center}
.article-meta .sep{color:var(--dim)}
.article-image{margin:2rem 0;aspect-ratio:16/9;overflow:hidden;background:var(--pale);position:relative}
.image-source{position:absolute;bottom:0;right:0;font-size:.6rem;font-weight:600;color:var(--white);padding:.5rem .75rem;font-style:normal;background:rgba(0,0,0,.6)}
.article-body{font-size:1.05rem;line-height:1.85;color:var(--text)}
.article-body p{margin-bottom:1.5rem}
.article-body h2,.article-body h3{font-weight:800;color:var(--black);margin:2.5rem 0 .85rem;letter-spacing:-.02em}
.article-body blockquote{padding:1.25rem 1.5rem;margin:2rem 0;background:var(--pale);font-style:italic;color:var(--mid)}
.article-body a{color:var(--black);text-decoration:underline;text-underline-offset:2px}
.article-tags{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:2.5rem}
.article-tags a{font-size:.58rem;font-weight:500;padding:.3rem .7rem;background:var(--pale);color:var(--mid);transition:all .15s;border-radius:50px}
.article-tags a:hover{background:var(--black);color:var(--white)}
.share-bottom{margin-top:3rem;padding:2rem;background:var(--pale);border-radius:0;display:flex;align-items:center;gap:2rem}
.share-bottom-text{flex:1}
.share-bottom-label{font-size:.82rem;font-weight:700;margin-bottom:.25rem;color:var(--black)}
.share-bottom-desc{font-size:.65rem;color:var(--mid);line-height:1.5}
.share-bottom .share-buttons{display:flex;gap:.4rem;flex-wrap:wrap;flex-shrink:0}
.share-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:var(--white);border:none;color:var(--mid);cursor:pointer;transition:all .2s;font-family:var(--f);border-radius:50%}
.share-btn:hover{background:var(--black);color:var(--white);transform:translateY(-2px)}
@media(max-width:600px){.share-bottom{flex-direction:column;align-items:flex-start;gap:1rem}}
.article-sidebar{position:sticky;top:140px}
.sidebar-title{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--dim);margin-bottom:1.25rem}
.sidebar-item{display:flex;gap:.85rem;padding:.75rem 0}
.sidebar-item:hover{opacity:.6}
.sidebar-thumb{width:56px;height:56px;min-width:56px;overflow:hidden;background:var(--pale)}
.sidebar-text{display:flex;flex-direction:column;gap:.15rem;justify-content:center}
.sidebar-headline{font-size:.72rem;font-weight:600;line-height:1.35;color:var(--black);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sidebar-time{font-size:.55rem;color:var(--dim)}

/* COMMENTS */
.comments-section{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--pale)}
.comments-title{font-size:.88rem;font-weight:800;margin-bottom:1.25rem;letter-spacing:-.01em}
.comments-list{margin-bottom:2rem}
.comment-item{display:flex;gap:.85rem;padding:1rem 0;border-bottom:1px solid var(--pale)}
.comment-item:last-child{border-bottom:none}
.comment-avatar{width:34px;height:34px;min-width:34px;background:var(--pale);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.65rem;color:var(--mid);border-radius:50%}
.comment-content{flex:1}
.comment-meta{display:flex;gap:.5rem;align-items:center;margin-bottom:.25rem}
.comment-author{font-size:.76rem;font-weight:700;color:var(--black)}
.comment-date{font-size:.58rem;color:var(--dim)}
.comment-body{font-size:.8rem;color:var(--mid);line-height:1.6}
.no-comments{font-size:.8rem;color:var(--dim);padding:1.5rem 0}
.comment-form-wrapper{padding:1.75rem 0;margin-top:.5rem}
.comment-form-wrapper h3{font-size:.82rem;font-weight:700;margin-bottom:1rem}
.comment-form .form-group{margin-bottom:.8rem}
.comment-form .form-group label{display:block;font-size:.6rem;font-weight:600;color:var(--mid);margin-bottom:.25rem}
.comment-form .form-group label small{font-weight:400;color:var(--dim)}
.comment-form .form-group input,.comment-form .form-group textarea{width:100%;padding:.6rem .85rem;border:none;font-size:.8rem;font-family:var(--f);background:var(--pale);color:var(--black);border-radius:6px}
.comment-form .form-group input:focus,.comment-form .form-group textarea:focus{outline:2px solid var(--black);outline-offset:0}
.comment-form .form-group input::placeholder,.comment-form .form-group textarea::placeholder{color:var(--dim)}
.comment-form .form-group textarea{resize:vertical;min-height:90px}
.comment-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.btn-comment-submit{background:var(--black);color:var(--white);border:none;padding:.6rem 1.75rem;font-size:.7rem;font-weight:600;font-family:var(--f);cursor:pointer;transition:opacity .15s;border-radius:50px}
.btn-comment-submit:hover{opacity:.75}
.comments-section .alert{padding:.6rem .9rem;font-size:.72rem;margin-bottom:.8rem;border-radius:6px}
.comments-section .alert-error{background:#fef2f2;color:#b91c1c}
.comments-section .alert-success{background:#f0fdf4;color:#15803d}

/* PAGES */
.page-header{max-width:var(--wrap);margin:0 auto;padding:1rem 2rem .75rem;text-align:center}
.page-title{font-size:1.4rem;font-weight:800;letter-spacing:-.025em}
.page-description{font-size:.7rem;color:var(--dim);margin-top:.3rem}
.container{max-width:var(--wrap);margin:0 auto;padding:0 2rem}
.main-content{padding:1rem 0 5rem}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 2rem}
.news-card{display:flex;flex-direction:column}
.news-card:hover .card-image img{transform:scale(1.015)}
.news-card .card-image{aspect-ratio:3/2;overflow:hidden;background:var(--pale);position:relative}
.news-card .card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.news-card .card-body{padding:1rem 0 0}
.news-card .card-category{font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--dim);margin-bottom:.25rem;display:block}
.news-card h3{font-size:.88rem;font-weight:700;line-height:1.35;color:var(--black);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-card .card-excerpt{font-size:.75rem;color:var(--mid);margin-top:.3rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-card .card-meta{font-size:.58rem;color:var(--dim);margin-top:.35rem}
.breaking-badge{position:absolute;top:.65rem;left:.65rem;background:#dc2626;color:var(--white);font-size:.48rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.25rem .65rem;border-radius:50px}

/* RESPONSIVE */
@media(max-width:900px){
    .hero-link{grid-template-columns:1fr;gap:1.5rem}
    .featured{grid-template-columns:repeat(2,1fr)}
    .latest-list{grid-template-columns:1fr}
    .latest-list .l-item:nth-child(odd){padding-right:0}
    .latest-list .l-item:nth-child(even){padding-left:0;border-left:none}
    .news-grid{grid-template-columns:repeat(2,1fr)}
    .article-page{padding:1rem 1.5rem 4rem;grid-template-columns:1fr;gap:2rem}
    .article-sidebar{position:static}
    .article-image{margin:1.5rem 0}
}
@media(max-width:600px){
    .featured{grid-template-columns:1fr}
    .news-grid{grid-template-columns:1fr}
    .header-inner{padding:.65rem 1.5rem;text-align:left}
    .header-top-row{
        display:flex;
        align-items:center;
        justify-content:space-between;
    }
    .header-top-row .logo{font-size:1.2rem}
    .header-masthead{display:none}
    .desktop-nav{display:none}
    .menu-btn{display:block}
    .mobile-menu{display:block}
    .hero-content h1{font-size:1.5rem}
    .article-header h1{font-size:1.6rem}
    .comment-form-row{grid-template-columns:1fr}
    .main{padding:.5rem 1.5rem 4rem}
}

/* EMPTY STATE */
.empty-state{text-align:center;padding:8rem 2rem;max-width:400px;margin:0 auto}
.empty-icon{font-size:2.5rem;color:var(--pale);margin-bottom:1.5rem}
.empty-state h2{font-size:1.2rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem}
.empty-state p{font-size:.78rem;color:var(--mid);line-height:1.7}

/* 404 PAGE */
.error-page{text-align:center;padding:6rem 2rem;max-width:450px;margin:0 auto}
.error-page .error-code{font-size:5rem;font-weight:900;color:var(--pale);letter-spacing:-.04em;line-height:1}
.error-page h1{font-size:1.4rem;font-weight:800;margin-top:1rem;letter-spacing:-.02em}
.error-page p{font-size:.82rem;color:var(--mid);line-height:1.6;margin-top:.5rem}
.error-page .error-link{display:inline-block;margin-top:1.5rem;font-size:.7rem;font-weight:600;color:var(--white);background:var(--black);padding:.5rem 1.5rem;border-radius:50px;transition:opacity .15s}
.error-page .error-link:hover{opacity:.7}

/* COOKIE BANNER */
.cookie-banner{
    position:fixed;
    bottom:0;left:0;right:0;
    z-index:9999;
    background:var(--white);
    box-shadow:0 -4px 24px rgba(0,0,0,.08);
    transform:translateY(100%);
    transition:transform .4s cubic-bezier(.4,0,.2,1);
}
.cookie-banner.show{transform:translateY(0)}
.cookie-inner{
    max-width:var(--wrap);
    margin:0 auto;
    padding:1.5rem 2rem;
    display:flex;
    align-items:center;
    gap:1.5rem;
}
.cookie-icon{flex-shrink:0;font-size:1.5rem;color:var(--mid)}
.cookie-text{flex:1}
.cookie-text h3{font-size:.82rem;font-weight:700;margin-bottom:.25rem}
.cookie-text p{font-size:.7rem;color:var(--mid);line-height:1.55}
.cookie-actions{display:flex;gap:.5rem;flex-shrink:0}
.cookie-btn{
    padding:.5rem 1.25rem;
    font-size:.68rem;
    font-weight:600;
    font-family:var(--f);
    border:none;
    border-radius:50px;
    cursor:pointer;
    transition:opacity .15s;
}
.cookie-accept{background:var(--black);color:var(--white)}
.cookie-accept:hover{opacity:.8}
.cookie-reject{background:var(--pale);color:var(--black)}
.cookie-reject:hover{background:var(--dim);color:var(--white)}

@media(max-width:600px){
    .cookie-inner{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem}
    .cookie-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
    .cookie-btn{text-align:center}
}

/* FLOATING COMMENTS BUTTON */
.floating-comments{
    position:fixed;
    bottom:1.5rem;
    left:calc(50% - 235px);
    z-index:90;
    background:var(--black);
    color:var(--white);
    border:none;
    padding:.6rem 1.25rem;
    font-size:.7rem;
    font-weight:600;
    font-family:var(--f);
    border-radius:50px;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:.4rem;
    box-shadow:0 4px 16px rgba(0,0,0,.12);
    transition:transform .2s,opacity .2s;
}
.floating-comments:hover{transform:translateY(-2px)}
.floating-comments.hide{opacity:0;pointer-events:none}

@media(max-width:900px){
    .floating-comments{left:50%;transform:translateX(-50%)}
    .floating-comments:hover{transform:translateX(-50%) translateY(-2px)}
}

/* READING PROGRESS BAR */
.progress-bar{
    position:fixed;
    top:0;left:0;
    height:2px;
    width:0%;
    background:var(--black);
    z-index:9999;
    transition:width .1s linear;
}

/* YOU MIGHT ALSO LIKE */
.also-like{
    max-width:var(--wrap);
    margin:0 auto;
    padding:3rem 2rem 0;
}
.also-like-inner{}
.also-like .section-label{margin-bottom:1.25rem}
.also-like-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2rem;
}
.al-card{display:flex;flex-direction:column;transition:opacity .2s}
.al-card:hover{opacity:.7}
.al-img{aspect-ratio:3/2;overflow:hidden;background:var(--pale)}
.al-img img{width:100%;height:100%;object-fit:cover}
.al-body{padding:.85rem 0 0;display:flex;flex-direction:column;gap:.25rem}
.al-body h3{font-size:.85rem;font-weight:700;line-height:1.35;letter-spacing:-.01em}

/* NEWSLETTER */
.newsletter{
    max-width:var(--wrap);
    margin:0 auto;
    padding:4rem 2rem;
}
.newsletter-inner{
    background:var(--pale);
    padding:3rem;
    text-align:center;
    max-width:560px;
    margin:0 auto;
}
.newsletter-inner h2{font-size:1.3rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.4rem}
.newsletter-inner p{font-size:.75rem;color:var(--mid);line-height:1.5;margin-bottom:1.25rem}
.newsletter-form{display:flex;gap:.4rem;max-width:380px;margin:0 auto}
.newsletter-form input{
    flex:1;
    padding:.55rem 1rem;
    border:none;
    font-size:.78rem;
    font-family:var(--f);
    background:var(--white);
    color:var(--black);
    border-radius:50px;
}
.newsletter-form input:focus{outline:2px solid var(--black)}
.newsletter-form input::placeholder{color:var(--dim)}
.newsletter-form button{
    background:var(--black);
    color:var(--white);
    border:none;
    padding:.55rem 1.5rem;
    font-size:.7rem;
    font-weight:600;
    font-family:var(--f);
    border-radius:50px;
    cursor:pointer;
    transition:opacity .15s;
}
.newsletter-form button:hover{opacity:.7}
.newsletter-success{color:var(--black);font-weight:600;font-size:.78rem;margin-top:.75rem}

@media(max-width:600px){
    .also-like-grid{grid-template-columns:1fr}
    .newsletter-inner{padding:2rem 1.5rem}
    .newsletter-form{flex-direction:column}
    .newsletter-form button{width:100%}
}

/* ABOUT PAGE */
.about-page{max-width:var(--wrap);margin:0 auto}
.about-hero{margin-bottom:3rem}
.about-hero h1{font-size:2rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.75rem}
.about-lead{font-size:1rem;color:var(--mid);line-height:1.7}
.about-section{margin-bottom:3rem}
.about-section h2{font-size:1.1rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.75rem}
.about-section p{font-size:.88rem;color:var(--text);line-height:1.75;margin-bottom:.75rem}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1rem}
.value-item h3{font-size:.8rem;font-weight:700;margin-bottom:.3rem}
.value-item p{font-size:.78rem;color:var(--mid);line-height:1.6;margin-bottom:0}

/* BRANDING SECTION */
.about-branding{margin-top:4rem}
.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0 2.5rem}
.brand-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1.5rem;gap:1rem}
.brand-dark{background:var(--black)}
.brand-light{background:var(--pale)}
.brand-logo{font-family:'Plus Jakarta Sans',var(--f);font-size:1.3rem;font-weight:800;letter-spacing:-.04em}
.brand-dark .brand-logo{color:var(--white)}
.brand-light .brand-logo{color:var(--black)}
.brand-short{font-size:1.6rem}
.brand-icon-mark{font-size:2rem;font-weight:900}
.brand-label{font-size:.55rem;color:var(--dim);text-transform:uppercase;letter-spacing:.5px}
.brand-dark .brand-label{color:rgba(255,255,255,.4)}

.brand-colours{margin-bottom:2rem}
.brand-colours h3{font-size:.85rem;font-weight:700;margin-bottom:1rem}
.colour-swatches{display:flex;gap:1.25rem;flex-wrap:wrap}
.swatch{display:flex;flex-direction:column;align-items:center;gap:.5rem}
.swatch-block{width:50px;height:50px;border-radius:8px}
.swatch span{font-size:.6rem;color:var(--mid);text-align:center;line-height:1.4}

.brand-type h3{font-size:.85rem;font-weight:700;margin-bottom:.5rem}
.brand-type p{font-size:.78rem;color:var(--mid);margin-bottom:.25rem}

@media(max-width:600px){
    .about-values{grid-template-columns:1fr}
    .brand-grid{grid-template-columns:1fr 1fr}
}

/* LEGAL PAGES */
.legal-page{max-width:var(--wrap);margin:0 auto}
.legal-page h1{font-size:1.8rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.25rem}
.legal-updated{font-size:.7rem;color:var(--dim);margin-bottom:2.5rem}
.legal-page h2{font-size:.95rem;font-weight:700;margin:2rem 0 .5rem}
.legal-page p{font-size:.85rem;color:var(--text);line-height:1.75;margin-bottom:.75rem}
.legal-page ul{margin:0 0 1rem 1.5rem;font-size:.85rem;color:var(--text);line-height:1.75}
.legal-page li{margin-bottom:.35rem}
.cookie-table{width:100%;margin:1rem 0 1.5rem;font-size:.78rem}
.cookie-table th{text-align:left;padding:.5rem .75rem;font-weight:600;color:var(--mid);font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;background:var(--pale)}
.cookie-table td{padding:.5rem .75rem;color:var(--text)}
.cookie-table code{font-size:.72rem;background:var(--pale);padding:.15rem .4rem;border-radius:3px}

/* WEATHER WIDGET */
.sidebar-weather{margin-top:2rem}
.weather-grid{display:flex;flex-direction:column;gap:0}
.weather-loading{font-size:.7rem;color:var(--dim)}
.weather-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}
.weather-left{display:flex;align-items:center;gap:.5rem}
.weather-icon{font-size:.85rem;color:var(--mid);width:1.2rem;text-align:center}
.weather-city{font-size:.72rem;font-weight:600;color:var(--black)}
.weather-right{display:flex;align-items:center;gap:.4rem}
.weather-temp{font-size:.82rem;font-weight:700;color:var(--black)}
.weather-desc{font-size:.58rem;color:var(--dim)}

/* SKELETON LOADING */
.weather-skeleton{display:flex;flex-direction:column;gap:.6rem}
.skel-row{display:flex;align-items:center;justify-content:space-between;padding:.4rem 0}
.skel-bar{height:10px;background:var(--pale);border-radius:50px;animation:shimmer 1.5s infinite}
.skel-short{width:45%}
.skel-tiny{width:20%}
@keyframes shimmer{0%{opacity:1}50%{opacity:.4}100%{opacity:1}}

/* LAZY LOADING IMAGES */
.hero-media,
.f-img,
.news-card .card-image,
.article-image,
.sidebar-thumb{
    background:var(--pale);
    position:relative;
    overflow:hidden;
}
.hero-media::before,
.f-img::before,
.news-card .card-image::before,
.article-image::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,var(--pale) 25%,#ebebeb 50%,var(--pale) 75%);
    background-size:200% 100%;
    animation:shimmer-slide 1.5s infinite;
    z-index:1;
}
.hero-media.loaded::before,
.f-img.loaded::before,
.news-card .card-image.loaded::before,
.article-image.loaded::before{
    opacity:0;
    transition:opacity .3s;
}
.lazy-img{
    opacity:0;
    transition:opacity .4s ease;
}
.lazy-img.loaded{
    opacity:1;
}
@keyframes shimmer-slide{
    0%{background-position:200% 0}
    100%{background-position:-200% 0}
}

/* PWA INSTALL BANNER */
.pwa-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    padding:1rem 0;
    margin-bottom:1.5rem;
}
.pwa-banner-left{display:flex;align-items:center;gap:.75rem}
.pwa-icon{width:32px;height:32px;border-radius:6px}
.pwa-banner-text{display:flex;flex-direction:column;gap:.1rem}
.pwa-banner-text strong{font-size:.75rem;font-weight:700}
.pwa-banner-text span{font-size:.62rem;color:var(--mid)}
.pwa-banner-actions{display:flex;align-items:center;gap:.5rem}
.pwa-install-btn{
    background:var(--black);color:var(--white);
    border:none;padding:.45rem 1.1rem;
    font-size:.65rem;font-weight:600;font-family:var(--f);
    border-radius:50px;cursor:pointer;transition:opacity .15s;
}
.pwa-install-btn:hover{opacity:.8}
.pwa-dismiss-btn{
    background:none;border:none;
    font-size:1.1rem;color:var(--dim);
    cursor:pointer;padding:.2rem;line-height:1;
}
.pwa-dismiss-btn:hover{color:var(--black)}

/* LOAD MORE */
.load-more-section{text-align:center;padding:2rem 0 0}
.load-more-btn{
    background:var(--pale);
    color:var(--black);
    border:none;
    padding:.7rem 2rem;
    font-size:.72rem;
    font-weight:600;
    font-family:var(--f);
    border-radius:50px;
    cursor:pointer;
    transition:all .2s;
}
.load-more-btn:hover{background:var(--black);color:var(--white)}
.load-more-btn:disabled{opacity:.4;cursor:default}

/* INLINE ARTICLE IMAGE */
.article-image-inline{margin:2rem 0;aspect-ratio:16/9;overflow:hidden;background:var(--pale);position:relative}
.article-image-inline img{width:100%;height:100%;object-fit:cover}

/* SIDEBAR FOLLOW */
.sidebar-follow{margin-top:2rem}
.sidebar-promo{
    display:flex;
    align-items:center;
    gap:.85rem;
    padding:1.1rem 1.25rem;
    background:var(--black);
    border-radius:14px;
    transition:opacity .15s;
}
.sidebar-promo:hover{opacity:.9}
.sidebar-promo i{font-size:1.2rem;color:var(--white);flex-shrink:0}
.sidebar-promo-text{display:flex;flex-direction:column;gap:.15rem}
.sidebar-promo-text strong{font-size:.72rem;font-weight:700;color:var(--white)}
.sidebar-promo-text span{font-size:.6rem;color:rgba(255,255,255,.55);line-height:1.4}

.article-author{font-weight:600;color:var(--black)}
