*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.4;
}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px;}
img.placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  background:repeating-linear-gradient(45deg,#e4d9c8,#e4d9c8 10px,#ddd0ba 10px,#ddd0ba 20px);
  color:#7a6b56;
  font-family:Arial,sans-serif;
  font-size:12px;
  text-align:center;
  width:100%;
  height:100%;
}
.ph{
  background:repeating-linear-gradient(45deg,#e4d9c8,#e4d9c8 10px,#ddd0ba 10px,#ddd0ba 20px);
  color:#7a6b56;
  font-family:Arial,sans-serif;
  font-size:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:6px;
}

/* ===== Top social bar ===== */
.social-bar{
  background:var(--header-dark);
  color:#c9bda9;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
}
.social-bar .wrap{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:14px;
  padding:6px 20px;
}
.social-bar .icon{
  width:26px;height:26px;
  border:1px solid #4a3f37;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;
  color:#c9bda9;
}

/* ===== Header / logo / nav ===== */
header.site-header{
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.logo-row{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:28px 20px 18px;
  text-align:center;
}
.logo-row .site-title{
  font-size:40px;
  letter-spacing:3px;
  font-weight:700;
  color:var(--brand-deep);
  text-transform:uppercase;
}
.logo-row .site-title span{color:var(--accent);}
.logo-row .tagline{
  margin-top:6px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--ink-soft);
}

nav.main-nav{
  background:var(--header-dark-2);
}
nav.main-nav .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
nav.main-nav ul{
  list-style:none;
  display:flex;
  margin:0;padding:0;
  flex-wrap:wrap;
}
nav.main-nav li{border-right:1px solid #463c34;}
nav.main-nav a{
  display:block;
  padding:13px 18px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:#e6dccb;
}
nav.main-nav a:hover{background:var(--brand-deep);color:#fff;}
.nav-search{
  display:flex;
  align-items:center;
  padding:8px 14px;
}
.nav-search input{
  background:#3a302a;
  border:1px solid #55483e;
  color:#e6dccb;
  padding:6px 10px;
  font-size:12px;
  font-family:Arial,Helvetica,sans-serif;
  width:150px;
}
.nav-search button{
  background:var(--accent);
  border:none;
  color:#241d19;
  padding:7px 12px;
  font-size:11px;
  text-transform:uppercase;
  cursor:pointer;
}

section{padding:34px 0;}
.section-inner{max-width:1200px;margin:0 auto;padding:0 20px;}

.col-title{
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--brand-deep);
  border-bottom:3px solid var(--accent);
  padding-bottom:8px;
  margin-bottom:16px;
  font-weight:700;
}

/* ===== Featured 5-grid ===== */
.featured-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:14px;
}
.featured-main{
  position:relative;
  height:420px;
  background:var(--paper);
  border:1px solid var(--line);
  overflow:hidden;
}
.featured-main .ph{height:100%;}
.featured-main .cap{
  position:absolute;
  left:0;right:0;bottom:0;
  background:linear-gradient(to top,rgba(24,18,15,0.92),rgba(24,18,15,0));
  padding:60px 22px 18px;
}
.featured-main .cap .label{
  background:var(--accent);
  color:#241d19;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:3px 9px;
  display:inline-block;
  margin-bottom:10px;
}
.featured-main .cap .title{
  color:#fff;
  font-size:26px;
  line-height:1.25;
  font-weight:700;
}
.featured-side{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:14px;
}
.featured-thumb{
  position:relative;
  height:203px;
  background:var(--paper);
  border:1px solid var(--line);
  overflow:hidden;
}
.featured-thumb .ph{height:100%;}
.featured-thumb .cap{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(to top,rgba(24,18,15,0.9),rgba(24,18,15,0));
  padding:30px 12px 10px;
}
.featured-thumb .cap .title{
  color:#fff;
  font-size:14px;
  line-height:1.3;
  font-weight:700;
}

/* ===== Three column layout ===== */
.three-col{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:26px;
  align-items:start;
}

/* Left col: headline card */
.headline-card{
  border:1px solid var(--line);
  background:var(--paper);
  margin-bottom:18px;
}
.headline-card .thumb{height:180px;}
.headline-card .thumb .ph{height:100%;}
.headline-card .body{padding:14px 16px 18px;}
.headline-card .date{
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  color:var(--accent-deep);
  text-transform:uppercase;
  letter-spacing:1px;
}
.headline-card .title{
  font-size:19px;
  font-weight:700;
  margin-top:6px;
  color:var(--ink);
  line-height:1.3;
}

.list-item{
  display:flex;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}
.list-item .thumb{
  width:78px;height:56px;
  flex:0 0 auto;
}
.list-item .thumb .ph{height:100%;font-size:9px;}
.list-item .meta .date{
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  color:var(--accent-deep);
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.list-item .meta .title{
  font-size:14px;
  font-weight:700;
  margin-top:4px;
  line-height:1.3;
  color:var(--ink);
}

.category-block{
  margin-top:18px;
  position:relative;
  height:200px;
  background:var(--steel-deep);
  overflow:hidden;
}
.category-block .ph{height:100%;background:repeating-linear-gradient(45deg,#3d4348,#3d4348 10px,#454c52 10px,#454c52 20px);color:#cfd6da;}
.category-block .label{
  position:absolute;
  top:14px;left:14px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#fff;
  background:var(--steel);
  padding:5px 10px;
}
.category-block .cap{
  position:absolute;left:0;right:0;bottom:0;
  padding:14px;
  background:linear-gradient(to top,rgba(10,10,10,0.85),rgba(10,10,10,0));
  color:#fff;
  font-size:16px;
  font-weight:700;
}

/* Middle col: text timeline */
.timeline-item{
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.timeline-item .date{
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  color:var(--accent-deep);
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.timeline-item .title{
  font-size:15px;
  font-weight:700;
  margin-top:5px;
  line-height:1.35;
  color:var(--ink);
}

.ad-slot{
  margin-top:20px;
  height:250px;
  background:var(--paper);
  border:1px dashed var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  color:var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:1px;
}

/* Right col: featured tag card */
.tag-feature-card{
  position:relative;
  height:230px;
  background:var(--paper);
  border:1px solid var(--line);
  overflow:hidden;
  margin-bottom:16px;
}
.tag-feature-card .ph{height:100%;}
.tag-feature-card .label{
  position:absolute;
  top:12px;left:12px;
  background:var(--accent);
  color:#241d19;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:4px 10px;
  font-weight:700;
}
.tag-feature-card .cap{
  position:absolute;left:0;right:0;bottom:0;
  padding:14px;
  background:linear-gradient(to top,rgba(24,18,15,0.92),rgba(24,18,15,0));
}
.tag-feature-card .cap .title{
  color:#fff;
  font-size:17px;
  font-weight:700;
  line-height:1.3;
}

.profile-card{
  display:flex;
  gap:12px;
  border:1px solid var(--line);
  background:var(--paper);
  padding:14px;
  margin-top:18px;
  align-items:center;
}
.profile-card .thumb{
  width:72px;height:72px;
  border-radius:50%;
  overflow:hidden;
  flex:0 0 auto;
}
.profile-card .thumb .ph{height:100%;font-size:9px;border-radius:50%;}
.profile-card .name{font-weight:700;font-size:15px;}
.profile-card .role{
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  color:var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:0.5px;
  margin-top:3px;
}

.follow-card{
  margin-top:18px;
  background:var(--brand-deep);
  color:#f3e9db;
  padding:20px;
  text-align:center;
}
.follow-card .title{
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:14px;
  font-weight:700;
}
.follow-card .icons{
  display:flex;
  justify-content:center;
  gap:10px;
}
.follow-card .icons span{
  width:34px;height:34px;
  border:1px solid #a9855f;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
}

/* ===== What's Hot banner ===== */
.whats-hot{
  grid-column:1 / span 2;
  margin-top:26px;
  background:var(--header-dark);
  padding:24px;
}
.whats-hot .col-title{
  color:var(--accent);
  border-bottom-color:var(--accent);
}
.whats-hot-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.whats-hot-card{
  position:relative;
  height:150px;
  overflow:hidden;
  border:1px solid #3a2f28;
}
.whats-hot-card .ph{height:100%;background:repeating-linear-gradient(45deg,#332822,#332822 10px,#3d302a 10px,#3d302a 20px);color:#c9b89a;}
.whats-hot-card .play{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:46px;height:46px;
  border-radius:50%;
  background:rgba(176,141,87,0.9);
  display:flex;align-items:center;justify-content:center;
  color:#241d19;
  font-size:16px;
}
.whats-hot-card .cap{
  position:absolute;left:0;right:0;bottom:0;
  padding:10px 12px;
  background:linear-gradient(to top,rgba(0,0,0,0.85),rgba(0,0,0,0));
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1.3;
}

/* ===== Footer ===== */
footer{
  background:var(--footer-bg);
  color:var(--footer-ink);
  padding:44px 0 0;
  margin-top:20px;
}
.footer-cols{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:30px;
  padding-bottom:34px;
  border-bottom:1px solid #33291f;
}
.footer-cols h4{
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 16px;
}
.footer-cols p{
  font-size:14px;
  line-height:1.7;
  color:#b9ac99;
}
.footer-links{list-style:none;margin:0;padding:0;}
.footer-links li{
  padding:7px 0;
  border-bottom:1px solid #2a2119;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
}
.footer-latest{
  display:flex;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid #2a2119;
}
.footer-latest .thumb{width:56px;height:44px;flex:0 0 auto;}
.footer-latest .thumb .ph{height:100%;font-size:8px;}
.footer-latest .title{
  font-size:12.5px;
  line-height:1.35;
  color:#d8cdbc;
}
.tag-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.tag-pill{
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.5px;
  padding:6px 12px;
  border:1px solid #4a3c2c;
  color:#cfc3b3;
  border-radius:2px;
}
.copyright-bar{
  text-align:center;
  padding:18px 0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  color:#8a7c68;
  letter-spacing:0.5px;
}

/* ===== Generic content page (about/contact/privacy/terms) ===== */
.page-header{
  background:var(--header-dark);
  padding:40px 0;
  text-align:center;
}
.page-header h1{
  color:#fff;
  font-size:32px;
  letter-spacing:1px;
  margin:0;
}
.page-header .sub{
  color:var(--accent);
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-top:10px;
}
.content-page{
  max-width:820px;
  margin:0 auto;
  padding:40px 20px 60px;
}
.content-page h2{
  color:var(--brand-deep);
  font-size:22px;
  margin-top:34px;
  margin-bottom:12px;
  border-bottom:2px solid var(--accent);
  padding-bottom:8px;
}
.content-page p{
  font-size:16px;
  line-height:1.75;
  color:var(--ink);
  margin-bottom:16px;
}
.content-page ul{
  padding-left:22px;
  margin-bottom:16px;
}
.content-page li{
  font-size:16px;
  line-height:1.75;
  color:var(--ink);
  margin-bottom:6px;
}
.contact-info{
  background:var(--paper);
  border:1px solid var(--line);
  padding:24px;
  margin-top:24px;
}
.contact-info dt{
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--accent-deep);
  margin-top:14px;
}
.contact-info dt:first-child{margin-top:0;}
.contact-info dd{
  margin:4px 0 0;
  font-size:16px;
  color:var(--ink);
}

/* ===== Category listing page ===== */
.category-hero{
  position:relative;
  height:260px;
  background:var(--steel-deep);
  overflow:hidden;
}
.category-hero .ph{height:100%;}
.category-hero .cap{
  position:absolute;left:0;right:0;bottom:0;
  padding:30px;
  background:linear-gradient(to top,rgba(10,10,10,0.85),rgba(10,10,10,0));
}
.category-hero .cap h1{
  color:#fff;
  font-size:30px;
  margin:0;
}
.category-hero .cap .sub{
  color:#cfd6da;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-top:8px;
}
.category-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:26px;
}

@media (max-width:900px){
  .featured-grid{grid-template-columns:1fr;}
  .three-col{grid-template-columns:1fr;}
  .whats-hot{grid-column:1;}
  .whats-hot-grid{grid-template-columns:1fr;}
  .footer-cols{grid-template-columns:1fr;}
  .category-list{grid-template-columns:1fr;}
}
