/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #f5f5f5;
}

/* Container Layout */
.container {
    display: flex;
    min-height: calc(100vh - 60px);
    max-width: 1400px;
    margin: 0 auto;
    background-color: #fff;
}

/* Sidebar Styles */
.sidebar {
    width: 250px;
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    color: white;
    padding: 2rem 0;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
}

.logo {
    padding: 0 1.5rem;
    margin-bottom: 2rem;
    border-bottom: 2px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 1.5rem;
}

.logo h1 {
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
}

.nav-menu ul {
    list-style: none;
    padding: 0;
}

.nav-menu li {
    margin: 0.5rem 0;
}

.nav-menu a {
    display: block;
    padding: 1rem 1.5rem;
    color: white;
    text-decoration: none;
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
}

.nav-menu a:hover,
.nav-menu a.active {
    background-color: rgba(255, 255, 255, 0.1);
    border-left: 3px solid #ffd700;
    padding-left: 1.8rem;
}

/* Main Content Area */
.main-content {
    flex: 1;
    padding: 2rem;
    max-width: 900px;
    margin: 0 auto;
}

.page-header {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #e0e0e0;
}

.page-header h2 {
    font-size: 2rem;
    color: #1e3c72;
    margin-bottom: 0.5rem;
}

.date {
    color: #666;
    font-size: 0.9rem;
}

/* Column Review Styles */
.column-review {
    background: white;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    margin-bottom: 3rem;
}

.column-review p {
    margin-bottom: 2rem;
    line-height: 1.8;
}

.column-review p:last-child {
    margin-bottom: 0;
}

.author-info {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e0e0e0;
    flex-wrap: wrap;
}

.author-ad {
    margin-left: auto;
    min-width: 300px;
    max-width: 336px;
    text-align: right;
}

.author-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin-right: 1rem;
    overflow: hidden;
    flex-shrink: 0;
}

.author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.author-details h3 {
    margin-bottom: 0.25rem;
    color: #1e3c72;
}

.author-title {
    color: #666;
    font-size: 0.9rem;
}

.column-content {
    margin-bottom: 2rem;
}

.column-content h2 {
    font-size: 1.8rem;
    color: #1e3c72;
    margin-bottom: 1.5rem;
    line-height: 1.3;
}

.column-content p {
    margin-bottom: 1.5rem;
    font-size: 1.05rem;
    text-align: justify;
}

.column-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 1.5rem;
    border-top: 1px solid #e0e0e0;
    flex-wrap: wrap;
    gap: 1rem;
}

.tags {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.tag {
    background-color: #e8f0fe;
    color: #1e3c72;
    padding: 0.4rem 0.8rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
}

.share-btn {
    background-color: #1e3c72;
    color: white;
    border: none;
    padding: 0.6rem 1.5rem;
    border-radius: 5px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background-color 0.3s ease;
}

.share-btn:hover {
    background-color: #2a5298;
}

/* Featured Section */
.featured-section {
    margin-top: 3rem;
}

.featured-section h3 {
    font-size: 1.5rem;
    color: #1e3c72;
    margin-bottom: 1.5rem;
}

.article-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
}

.article-card {
    background: white;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.article-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.article-card h4 {
    color: #1e3c72;
    margin-bottom: 0.75rem;
    font-size: 1.1rem;
}

.article-card p {
    color: #666;
    font-size: 0.9rem;
    margin-bottom: 1rem;
}

.read-more {
    color: #2a5298;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

.read-more:hover {
    color: #1e3c72;
    text-decoration: underline;
}

/* Google AdSense Ad Containers */
.sidebar-ad {
    padding: 1rem;
    margin-top: 2rem;
    text-align: center;
}

.content-ad {
    background: #f8f9fa;
    padding: 1rem;
    margin: 2rem 0;
    border-radius: 8px;
    text-align: center;
    min-height: 100px;
}

/* Disqus Comments Section */
#disqus_thread {
    background: white;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    margin-top: 3rem;
}

/* Footer */
.site-footer {
    background-color: #1e3c72;
    color: white;
    text-align: center;
    padding: 1.5rem;
    margin-top: 2rem;
}

/* Responsive Design - Mobile */
@media (max-width: 768px) {
    .container {
        flex-direction: column;
    }

    .sidebar {
        width: 100%;
        height: auto;
        position: relative;
        padding: 1rem 0;
    }

    .logo {
        padding: 0 1rem;
        margin-bottom: 1rem;
    }

    .logo h1 {
        font-size: 1.5rem;
    }

    .nav-menu ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        padding: 0 1rem;
    }

    .nav-menu li {
        margin: 0.25rem;
    }

    .nav-menu a {
        padding: 0.75rem 1rem;
        border-left: none;
        border-bottom: 2px solid transparent;
        border-radius: 5px;
    }

    .nav-menu a:hover,
    .nav-menu a.active {
        border-left: none;
        border-bottom: 2px solid #ffd700;
        padding-left: 1rem;
        background-color: rgba(255, 255, 255, 0.15);
    }

    .main-content {
        padding: 1.5rem 1rem;
    }

    .column-review {
        padding: 1.5rem;
    }

    .column-content h2 {
        font-size: 1.5rem;
    }

    .column-content p {
        font-size: 1rem;
    }

    .article-grid {
        grid-template-columns: 1fr;
    }

    .column-footer {
        flex-direction: column;
        align-items: flex-start;
    }

    #disqus_thread {
        padding: 1.5rem;
        margin-top: 2rem;
    }

    .sidebar-ad {
        display: none; /* Hide sidebar ads on mobile */
    }

    .content-ad {
        margin: 1.5rem 0;
        padding: 0.5rem;
    }

    .author-ad {
        display: none; /* Hide author section ad on tablet */
    }
}

@media (max-width: 480px) {
    .main-content {
        padding: 1rem 0.75rem;
    }

    .column-review {
        padding: 1rem;
    }

    .page-header h2 {
        font-size: 1.5rem;
    }

    .column-content h2 {
        font-size: 1.3rem;
    }

    .author-info {
        flex-direction: column;
        text-align: center;
    }

    .author-avatar {
        margin-right: 0;
        margin-bottom: 0.75rem;
    }
}

/* --- Redesign additions --- */
.home-lead{display:flex;flex-direction:column;gap:2rem}
.home-lead.news-first .lead-news{order:1}.home-lead.news-first .lead-commentary{order:2}
.home-lead.commentary-first .lead-commentary{order:1}.home-lead.commentary-first .lead-news{order:2}
.headline-list{margin:1rem 0;padding-left:1.2rem}.headline-list li{padding:.4rem 0}
.block-title{color:#1e3c72;margin-bottom:.5rem}
.commentary-latest blockquote{font-style:italic;border-left:4px solid #1e3c72;padding-left:1rem;margin:1rem 0}
.news-item{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}
.news-date{color:#666;font-size:.9rem;margin-bottom:.5rem}
.news-source{font-size:.8rem;color:#666}
.ad-unit{margin:1.5rem 0;text-align:center}
.ad-label{display:block;font-size:.7rem;color:#999;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}
.site-footer a{color:inherit}
.story-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.5rem 0}
.story-btn{display:inline-block;padding:.9rem 1.6rem;background:#1e3c72;color:#fff!important;border-radius:8px;font-size:1.1rem;font-weight:700;text-decoration:none}
.story-btn:hover{background:#2a5298}.story-btn.disabled{background:#ccc;color:#777!important;cursor:default}
.story-count{font-weight:600;color:#555}
.story-title{font-size:1.6rem;margin-bottom:.5rem}
@media(max-width:600px){.story-nav{flex-wrap:wrap}.story-btn{flex:1;text-align:center}}

/* ===== SumoTalk visual system (flair) ===== */
:root{--navy:#14254a;--blue:#1e3c72;--blue2:#2a5298;--red:#c8102e;--gold:#d4a017;--paper:#faf7f0;--ink:#1d1d1f}
body{font-family:'Inter','Segoe UI',sans-serif;color:var(--ink);background:#e9ecf2 radial-gradient(circle at 20% 0,#fff 0,#e9ecf2 60%)}
h1,h2,h3,.page-header h2,.story-title{font-family:'Oswald','Segoe UI',sans-serif;letter-spacing:.01em}
.container{box-shadow:0 0 40px rgba(20,37,74,.12)}
.sidebar{background:linear-gradient(170deg,#0f1d3d 0%,var(--blue) 55%,var(--blue2) 100%);position:sticky;border-right:4px solid var(--gold)}
.sidebar::after{content:"";position:absolute;inset:auto -60px 40px auto;width:220px;height:220px;border:10px solid rgba(212,160,23,.12);border-radius:50%;pointer-events:none}
.logo{text-align:center;border-bottom:1px solid rgba(255,255,255,.15)}
.wordmark{display:flex;flex-direction:column;align-items:center;gap:.6rem;color:#fff;text-decoration:none}
.dohyo-ring{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;font-family:'Noto Serif JP',serif;font-size:1.3rem;background:radial-gradient(circle,#e8d3a3 0 52%,var(--gold) 53% 58%,#e8d3a3 59% 100%);color:var(--red);box-shadow:0 0 0 4px var(--red),0 6px 18px rgba(0,0,0,.35);transition:transform .4s}
.wordmark:hover .dohyo-ring{transform:rotate(-12deg) scale(1.05)}
.wm-text{font-family:'Oswald',sans-serif;font-size:1.9rem;letter-spacing:.12em;font-weight:500}
.wm-text b{color:var(--gold);font-weight:700}
.tagline{font-size:.72rem;opacity:.75;letter-spacing:.08em;text-transform:uppercase;margin-top:.3rem}
.nav-menu a{font-weight:600;letter-spacing:.02em}
.nav-menu a:hover,.nav-menu a.active{border-left:4px solid var(--gold);background:rgba(255,255,255,.12)}
.main-content{max-width:960px}
.page-header{border-bottom:3px solid var(--red)}
.page-header h2{color:var(--navy);font-size:2.4rem;text-transform:uppercase}
a{color:var(--blue2)}
.section-head{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin:0 0 1rem;border-bottom:3px solid var(--red);padding-bottom:.4rem}
.section-head h2{font-size:1.7rem;text-transform:uppercase;color:var(--navy)}
.section-head small{color:#777;font-size:.85rem}
.featured-section{background:none;padding:0;box-shadow:none}
.basho-badge{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;background:linear-gradient(90deg,var(--red),#8f0b20);color:#fff;padding:.6rem 1.2rem;border-radius:999px;font-size:.95rem;box-shadow:0 4px 14px rgba(200,16,46,.35);margin-bottom:1.5rem}
.basho-badge strong{font-family:'Oswald',sans-serif;letter-spacing:.06em;text-transform:uppercase}
.countdown{color:#ffd76a;font-weight:600}
.badge-dot{width:10px;height:10px;border-radius:50%;background:#ffd76a;animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.3;transform:scale(1.5)}}
.hero{position:relative;display:block;border-radius:14px;overflow:hidden;text-decoration:none;color:#fff;min-height:340px;
 background:linear-gradient(115deg,rgba(15,29,61,.97) 0%,rgba(30,60,114,.93) 55%,rgba(200,16,46,.7) 100%),url(sumo-a.jpg) center/cover;box-shadow:0 14px 34px rgba(20,37,74,.35);transition:transform .3s,box-shadow .3s}
.hero::before{content:"";position:absolute;right:-90px;top:50%;width:380px;height:380px;transform:translateY(-50%);border-radius:50%;border:14px solid rgba(212,160,23,.35);box-shadow:inset 0 0 0 40px rgba(232,211,163,.06)}
.hero::after{content:"土俵";position:absolute;right:40px;bottom:10px;font-family:'Noto Serif JP',serif;font-size:5rem;color:rgba(255,255,255,.07)}
.hero:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(20,37,74,.45)}
.hero-inner{position:relative;z-index:1;padding:2.5rem;max-width:640px}
.hero-kicker{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .7rem;border-radius:4px}
.hero-title{font-size:2.6rem;line-height:1.1;margin:1rem 0;text-transform:uppercase}
.hero-excerpt{font-size:1.05rem;opacity:.92;line-height:1.6;margin-bottom:1.5rem}
.hero-btn{display:inline-block;background:var(--red);padding:.8rem 1.5rem;border-radius:8px;font-weight:700;box-shadow:0 4px 0 #7a0a1c;transition:background .2s}
.hero:hover .hero-btn{background:#e0193a}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.5rem}
.news-card{display:flex;flex-direction:column;background:#fff;border-radius:12px;padding:1.3rem;text-decoration:none;color:var(--ink);border-top:5px solid var(--blue);box-shadow:0 4px 14px rgba(0,0,0,.08);transition:transform .25s,box-shadow .25s,border-color .25s}
.news-card:hover{transform:translateY(-5px);box-shadow:0 12px 26px rgba(20,37,74,.2);border-color:var(--red)}
.news-card h3{font-size:1.15rem;color:var(--navy);margin:.4rem 0;line-height:1.25}
.news-card p{font-size:.88rem;color:#555;flex:1}
.card-kicker{font-size:.72rem;color:var(--red);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.card-more{margin-top:.8rem;font-weight:700;color:var(--blue2);font-size:.9rem}
.all-news{text-align:right;margin-top:1rem;font-weight:700}
.commentary-latest{position:relative;background:linear-gradient(135deg,var(--paper),#fff);border-left:6px solid var(--gold);overflow:hidden}
.commentary-latest::after{content:"”";position:absolute;right:20px;top:-30px;font-size:12rem;font-family:Georgia,serif;color:rgba(200,16,46,.08)}
.commentary-latest .author-avatar{width:96px;height:96px;box-shadow:0 0 0 4px #fff,0 0 0 7px var(--gold)}
.commentary-latest .author-details h3{font-size:1.4rem;color:var(--navy)}
.commentary-latest blockquote{font-family:Georgia,serif;font-size:1.25rem;border-left:4px solid var(--red);color:#333}
.read-more{display:inline-block;background:var(--navy);color:#fff!important;padding:.6rem 1.2rem;border-radius:8px;text-decoration:none;font-weight:600;transition:background .2s}
.read-more:hover{background:var(--red)}
.column-review{border-radius:14px;box-shadow:0 6px 20px rgba(20,37,74,.1)}
.news-story{border-top:6px solid var(--red)}
.story-title{font-size:2.1rem;color:var(--navy);text-transform:uppercase;line-height:1.15}
.story-btn{font-family:'Oswald',sans-serif;letter-spacing:.05em;text-transform:uppercase;padding:1rem 1.8rem;box-shadow:0 4px 0 #0c1730;transition:transform .15s,background .2s}
.story-btn.next{background:var(--red);box-shadow:0 4px 0 #7a0a1c}
.story-btn:hover{transform:translateY(-2px)}.story-btn.next:hover{background:#e0193a}
.story-btn.disabled{box-shadow:none}
.story-count{background:#fff;border:2px solid var(--gold);border-radius:999px;padding:.35rem 1rem;font-family:'Oswald',sans-serif}
.headline-list li{padding:.7rem 0;border-bottom:1px dashed #d8d8d8}
.headline-list a{font-weight:600;color:var(--navy);text-decoration:none}.headline-list a:hover{color:var(--red)}
.ad-unit{background:#f3f4f7;border:1px solid #e3e5ea;border-radius:8px;padding:.5rem;min-height:120px}
.sidebar .ad-unit{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);margin:1.5rem 1rem}
.sidebar .ad-label{color:rgba(255,255,255,.6)}
.site-footer{background:linear-gradient(90deg,#0f1d3d,var(--blue));color:#cfd8ea;border-top:4px solid var(--gold);padding:1.6rem;text-align:center;font-size:.9rem}
.site-footer a{color:#ffd76a;text-decoration:none}.site-footer a:hover{text-decoration:underline}
@media(max-width:900px){.card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
 .container{flex-direction:column}
 .sidebar{width:100%;height:auto;position:relative;padding:1rem 0;border-right:0;border-bottom:4px solid var(--gold)}
 .sidebar::after{display:none}
 .logo{margin-bottom:.5rem;padding-bottom:.8rem}
 .wordmark{flex-direction:row;justify-content:center}.dohyo-ring{width:48px;height:48px;font-size:.85rem}
 .tagline{display:none}
 .nav-menu ul{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem;padding:0 .5rem}
 .nav-menu li{margin:0}.nav-menu a{padding:.45rem .7rem;font-size:.85rem;border-left:0!important;border-radius:6px}
 .nav-menu a:hover,.nav-menu a.active{padding-left:.7rem;background:rgba(255,255,255,.18)}
 .sidebar .ad-unit{display:none}
 .main-content{padding:1.2rem}
 .hero{min-height:0}.hero-inner{padding:1.6rem}.hero-title{font-size:1.8rem}.hero::before{width:220px;height:220px;right:-80px}
 .card-grid{grid-template-columns:1fr}
 .story-nav{flex-wrap:wrap}.story-count{order:-1;width:100%;text-align:center}
 .story-btn{flex:1;text-align:center;padding:.9rem .5rem}
 .page-header h2{font-size:1.8rem}.story-title{font-size:1.6rem}
}
@media(max-width:768px){html,body{overflow-x:hidden}.container,.main-content{width:100%;max-width:100%;min-width:0}
 .home-lead,.lead-news,.lead-commentary,.hero,.card-grid,.column-review{min-width:0;max-width:100%}
 .author-info{flex-direction:column;text-align:center}.author-avatar{margin:0 0 .6rem}
 .basho-badge{border-radius:14px}.section-head small{display:block}}
/* ===== Illustrated art ===== */
.hero{background:linear-gradient(100deg,rgba(10,20,45,.95) 0%,rgba(15,29,61,.85) 45%,rgba(30,20,60,.45) 75%,rgba(200,16,46,.25) 100%),url(img/hero-tachiai.jpg) center 35%/cover}
.hero::before{border-color:rgba(212,160,23,.25)}
.art-banner{position:relative;height:200px;border-radius:14px;margin-bottom:1.2rem;overflow:hidden;display:flex;align-items:flex-end;
 background:linear-gradient(0deg,rgba(10,20,45,.85),rgba(10,20,45,.1) 60%),url(img/salt-throw.jpg) center 30%/cover;box-shadow:0 10px 26px rgba(20,37,74,.3);border-bottom:5px solid var(--gold)}
.art-banner span{font-family:'Oswald',sans-serif;color:#fff;font-size:2.6rem;text-transform:uppercase;letter-spacing:.06em;padding:1rem 1.6rem;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.art-banner + .page-header h2{display:none}
.commentary-latest{background:linear-gradient(90deg,rgba(250,247,240,.97) 55%,rgba(250,247,240,.8)),url(img/dohyo-topdown.jpg) right center/cover}
.site-footer{background:linear-gradient(90deg,rgba(15,29,61,.95),rgba(30,60,114,.9)),url(img/dohyo-topdown.jpg) center/cover}
.sidebar{background:linear-gradient(170deg,rgba(15,29,61,.97) 0%,rgba(30,60,114,.95) 55%,rgba(42,82,152,.93) 100%),url(img/dohyo-topdown.jpg) center bottom/180% auto no-repeat,#1e3c72}
@media(max-width:768px){.art-banner{height:130px}.art-banner span{font-size:1.7rem}
 .hero{background-position:center,65% center}}
/* ===== Secondary pages ===== */
.art-banner.hero{background:linear-gradient(0deg,rgba(10,20,45,.88),rgba(10,20,45,.15) 65%),url(img/hero-tachiai.jpg) center/cover}
.art-banner.dohyo{background:linear-gradient(0deg,rgba(10,20,45,.88),rgba(10,20,45,.25) 65%),url(img/dohyo-topdown.jpg) center/cover}
.art-banner.v1{background-position:0 0,center 40%}.art-banner.v2{background-position:0 0,center 25%}
.art-banner.v3{background-position:0 0,center 50%}.art-banner.v4{background-position:0 0,right 60%}
.art-banner.v5{background-position:0 0,left 70%;background-size:auto,140%}.art-banner.v6{background-position:0 0,center 20%;background-size:auto,160%}
.art-banner.v7{background-position:0 0,right 30%;background-size:auto,150%}.art-banner.v8{background-position:0 0,left 40%;background-size:auto,140%}
.art-banner.v9{background-position:0 0,center 80%}.art-banner.v10{background-position:0 0,center 65%}
.art-banner.v11{background-position:0 0,center 35%;filter:saturate(.8)}
.banner-text{padding:1.1rem 1.6rem}
.banner-text h2{font-family:'Oswald',sans-serif;color:#fff;font-size:2.6rem;text-transform:uppercase;letter-spacing:.05em;line-height:1.05;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.banner-kicker{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.25rem .6rem;border-radius:4px;margin-bottom:.4rem}
.page-meta{color:#666;font-size:.9rem;margin:-.4rem 0 1rem}
.topic-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem}
.topic-nav a{padding:.5rem 1.1rem;border-radius:999px;background:#fff;border:2px solid var(--blue);color:var(--blue);font-weight:700;text-decoration:none;font-family:'Oswald',sans-serif;letter-spacing:.05em;text-transform:uppercase;font-size:.9rem;transition:all .2s}
.topic-nav a:hover{background:var(--blue);color:#fff}
.topic-nav a.current{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 4px 12px rgba(200,16,46,.35)}
.column-review > h2{font-size:1.7rem;color:var(--navy);text-transform:uppercase;margin-bottom:.8rem;padding-left:.8rem;border-left:6px solid var(--red)}
.column-review > div,.column-review > section{background:#fff;border:1px solid #ebe6da;border-top:4px solid var(--gold);border-radius:12px;padding:1.3rem 1.5rem;margin:1.4rem 0;box-shadow:0 4px 14px rgba(20,37,74,.06);transition:transform .2s,box-shadow .2s}
.column-review > div:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(20,37,74,.12)}
.column-review h3{color:var(--navy);font-size:1.3rem;margin-bottom:.5rem}
.column-review h3::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;border:3px solid var(--red);margin-right:.5rem;vertical-align:middle}
.column-review ul{padding-left:1.2rem}.column-review li::marker{color:var(--red)}
.column-review p{margin-bottom:1.2rem}
.topic-cards{list-style:none;padding:0!important;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.topic-cards li{background:linear-gradient(135deg,#fff,var(--paper));border-radius:12px;padding:1.3rem;border-left:6px solid var(--red);box-shadow:0 4px 14px rgba(20,37,74,.08);transition:transform .2s}
.topic-cards li:hover{transform:translateY(-4px)}
.topic-cards a{font-family:'Oswald',sans-serif;font-size:1.5rem;text-transform:uppercase;color:var(--navy);text-decoration:none}
.topic-cards a::after{content:" →";color:var(--red)}
.topic-cards p{color:#555;margin:.3rem 0 0!important}
.column-review > div:has(.topic-cards),.column-review > div:has(.term-grid){background:none;border:0;box-shadow:none;padding:0;transform:none}
.term-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}
.term-grid .term{display:flex;flex-direction:column}.term-grid dd{flex:1}
.term-grid dt{background:var(--navy);color:#fff;font-family:'Oswald',sans-serif;font-size:1.15rem;letter-spacing:.04em;padding:.6rem 1rem;border-radius:10px 10px 0 0;border-bottom:3px solid var(--gold)}
.term-grid dt strong{font-weight:500}
.term-grid dd{background:#fff;margin:0 0 0 0;padding:.8rem 1rem;border:1px solid #e6e2d6;border-top:0;border-radius:0 0 10px 10px;font-size:.92rem;color:#444;line-height:1.5}
.term-grid{grid-auto-flow:row dense}
.callout,.column-review blockquote{position:relative;background:var(--paper);border-left:6px solid var(--red);padding:1.2rem 1.5rem 1.2rem 3rem;border-radius:0 12px 12px 0;font-family:Georgia,serif;font-size:1.1rem;font-style:italic}
.callout::before{content:"“";position:absolute;left:.7rem;top:-.4rem;font-size:3.5rem;color:var(--gold);font-family:Georgia,serif}
@media(max-width:768px){.banner-text h2{font-size:1.7rem}.topic-cards{grid-template-columns:1fr}.term-grid{grid-template-columns:1fr}
 .art-banner{background-size:cover,cover!important}}
.art-banner .banner-kicker{font-size:.72rem;padding:.25rem .6rem;text-shadow:none;letter-spacing:.12em;font-family:Inter,sans-serif}
/* ===== Banzuke pyramid (sumo-structure) ===== */
.column-review > div:has(.banzuke-pyramid):hover{transform:none}
.banzuke-pyramid{margin:1.5rem 0 1.8rem;padding:1.6rem 1rem 1rem;border-radius:16px;position:relative;overflow:hidden;
 background:radial-gradient(circle at 50% 108%,rgba(212,160,23,.22) 0 22%,transparent 22.5%),radial-gradient(circle at 50% 108%,transparent 0 30%,rgba(212,160,23,.12) 30.5% 31.5%,transparent 32%),
 repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 2px,transparent 2px 7px),linear-gradient(160deg,#0c1834,#14254a 60%,#1e3c72);box-shadow:inset 0 0 0 2px rgba(212,160,23,.5),0 12px 30px rgba(20,37,74,.35)}
.pyr-grid{display:grid;grid-template-columns:92px minmax(0,560px) 104px 104px;grid-template-rows:repeat(10,42px);justify-content:center;column-gap:0}
.pyr{grid-column:2;grid-row:1/11;display:grid;grid-template-rows:subgrid;list-style:none;margin:0;padding:0!important;
 clip-path:polygon(41% 0,59% 0,100% 100%,0 100%);filter:drop-shadow(0 0 0 #000)}
.pyr-grid::before{content:"";grid-column:2;grid-row:1/11;clip-path:polygon(41% 0,59% 0,100% 100%,0 100%);background:var(--gold);transform:scale(1.025,1.02) translateY(-2px);z-index:0}
.pyr{z-index:1;margin:3px!important}
.tier{display:flex;align-items:center;justify-content:center;gap:.55rem;color:#fff;border-bottom:2px solid rgba(212,160,23,.85);position:relative;transition:filter .25s,background .25s}
.tier:hover{filter:brightness(1.25) drop-shadow(0 0 8px rgba(255,215,106,.9))}
.tier .t-en{font-family:'Oswald',sans-serif;font-size:1.02rem;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.tier .t-jp{font-family:'Noto Serif JP',serif;font-size:.85rem;color:#ffd76a;opacity:.95}
.t-yoko{background:linear-gradient(180deg,#ffe28a,#d4a017);border-bottom-color:#7a5a05}
.t-yoko .t-en{color:#3a2600;text-shadow:none;font-size:.82rem}.t-yoko .t-jp{color:#8f0b20;font-size:.72rem}
.t-mk{background:linear-gradient(180deg,#d4173a,#9e0c26)}
.t-mk:nth-child(3),.t-mk:nth-child(4){background:linear-gradient(180deg,#b81130,#8a0a21)}
.t-mk:nth-child(5){background:linear-gradient(180deg,#8f0b20,#6e0818)}
.t-jur{background:linear-gradient(180deg,#5b1838,#3d1238);border-bottom:4px solid var(--gold)}
.t-low1{background:linear-gradient(180deg,#2a5298,#234785)}.t-low2{background:linear-gradient(180deg,#1e3c72,#1a3466)}
.t-low3{background:linear-gradient(180deg,#183060,#142952)}.t-low4{background:linear-gradient(180deg,#132449,#0f1d3d)}
.tier:last-child{border-bottom:0}
.br{position:relative;display:flex;align-items:center;font-family:'Oswald',sans-serif;color:#ffd76a;text-transform:uppercase;letter-spacing:.06em;font-size:.88rem;line-height:1.1}
.br small{display:block;font-family:'Inter',sans-serif;text-transform:none;letter-spacing:0;color:#cfd8ea;font-size:.7rem}
.br-sanyaku{grid-column:1;grid-row:2/5;justify-content:flex-end;padding-right:14px;margin:4px 0;text-align:right}
.br-sanyaku::before{content:"";position:absolute;right:0;top:0;bottom:0;width:10px;border:2px solid var(--gold);border-right:0;border-radius:8px 0 0 8px}
.br-right{grid-column:3;grid-row:1/6;padding-left:14px;margin:4px 0}
.br-right::before,.br-far::before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;border:2px solid var(--gold);border-left:0;border-radius:0 8px 8px 0}
.br-far{grid-column:4;grid-row:1/7;padding-left:16px;margin:4px 0;color:#fff}
.br-far::before{border-color:#ffd76a;box-shadow:4px 0 12px -4px rgba(255,215,106,.8)}
.br-far span{background:linear-gradient(90deg,#d4a017,#ffd76a);color:#14254a;padding:.35rem .5rem;border-radius:6px;box-shadow:0 0 14px rgba(255,215,106,.45)}
.br-far small{color:#14254a}
.banzuke-pyramid figcaption{color:#cfd8ea;font-size:.85rem;text-align:center;margin-top:1rem;font-style:italic}
@media(max-width:768px){
 .banzuke-pyramid{padding:1rem .3rem .8rem;margin-left:-.8rem;margin-right:-.8rem}
 .pyr-grid{grid-template-columns:52px minmax(0,1fr) 58px 58px;grid-template-rows:repeat(10,34px)}
 .tier{flex-direction:column;gap:0;line-height:1}.tier .t-en{font-size:.72rem;letter-spacing:.02em}.tier .t-jp{font-size:.62rem}
 .t-yoko .t-en{font-size:.55rem}.t-yoko .t-jp{display:none}
 .br{font-size:.62rem;letter-spacing:.02em}.br small{font-size:.55rem}
 .br-right{padding-left:12px}.br-far{padding-left:12px}.br-far span{padding:.25rem .3rem}
 .pyr-grid{grid-template-columns:0 minmax(0,1fr) 54px 60px}
 .br-sanyaku{display:none}
 .pyr,.pyr-grid::before{clip-path:polygon(30% 0,70% 0,100% 100%,0 100%)}
 .pyr-legend{display:block}
}
.pyr-legend{display:none;color:#ffd76a;font-size:.72rem;text-align:center;margin-top:.6rem;font-family:Oswald,sans-serif;letter-spacing:.04em;text-transform:uppercase}
@media(max-width:768px){.pyr-legend{display:block}}
/* Daily commentary day strip */
.day-strip{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 1.2rem;padding:.8rem;background:#fff;border:2px solid var(--gold);border-radius:12px;box-shadow:0 4px 14px rgba(20,37,74,.08)}
.day-pill{display:inline-block;min-width:4.2rem;text-align:center;padding:.5rem .6rem;border-radius:8px;font-family:'Oswald',sans-serif;font-size:.95rem;letter-spacing:.03em;text-decoration:none}
.day-pill.posted{background:var(--navy);color:#fff!important}.day-pill.posted:hover{background:var(--red)}
.day-pill.current{background:var(--red);color:#fff;box-shadow:0 0 0 3px #ffd76a}
.day-pill.pending{background:#eceef2;color:#9aa0aa;cursor:default}
.day-pill.hub{background:var(--gold);color:var(--navy)!important;font-weight:700}
.comm-list{display:grid;gap:1rem;margin-top:1rem}.comm-author{font-weight:600;color:#555!important;flex:0!important}
.comm-empty{text-align:center;padding:1.5rem}.comm-empty h3{font-family:'Oswald',sans-serif;color:var(--navy);font-size:1.6rem}
@media(max-width:768px){.day-strip{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.day-pill{flex:0 0 auto;min-width:3.6rem;scroll-snap-align:start}}
