:root{
  --paper:#F6F1E7;
  --paper-2:#EFE7D3;
  --card:#FFFDF7;
  --ink:#141414;
  --muted:#6B6257;
  --red:#C1272D;
  --red-dark:#8E1B20;
  --black:#111111;
  --line:#DDD2BB;
  --gold:#C9A86A;
  --shadow:0 10px 30px rgba(0,0,0,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.serif{font-family:'Playfair Display',Georgia,serif}

/* top nav — like screenshot blue bar, but Albanian red */
.topbar{
  background:var(--red);
  color:#fff;
  position:sticky;top:0;z-index:50;
  border-bottom:3px solid var(--black);
}
.topbar-inner{
  max-width:1180px;margin:0 auto;
  display:flex;align-items:center;gap:16px;
  padding:10px 18px;
}
.brand-mini{
  width:34px;height:34px;border-radius:50%;
  background:#fff;
  display:grid;place-items:center;
  flex:0 0 auto;overflow:hidden;
  border:2px solid #fff;
}
.brand-mini img{width:100%;height:100%;object-fit:cover;display:block}
.masthead-logo{
  width:92px;height:92px;flex:0 0 auto;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.2));
}
@media(max-width:600px){.masthead-logo{width:68px;height:68px}}
.masthead-title-wrap{display:flex;align-items:center;gap:16px}
.nav-links{display:flex;gap:18px;flex:1;flex-wrap:wrap}
.nav-links a{
  color:#fff;text-decoration:none;
  font-size:13px;font-weight:600;letter-spacing:.02em;
  opacity:.95;
}
.nav-links a:hover,.nav-links a.active{opacity:1;text-decoration:underline;text-underline-offset:4px}
.nav-right{display:flex;align-items:center;gap:10px}
.searchbox{
  display:flex;align-items:center;background:#fff;border-radius:3px;overflow:hidden;
}
.searchbox input{
  border:0;outline:0;padding:7px 10px;font-size:13px;width:150px;background:transparent;color:#111;
}
.searchbox button{border:0;background:var(--black);color:#fff;padding:7px 10px;cursor:pointer}

/* masthead — TheHours style */
.masthead{
  max-width:1180px;margin:0 auto;
  padding:30px 18px 18px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.masthead-title{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(48px,7vw,84px);
  font-weight:900;letter-spacing:-.04em;line-height:.9;margin:0;
}
.masthead-title span.rivoli{color:var(--red)}
.masthead-sub{
  border-left:3px solid var(--black);
  padding-left:12px;margin-bottom:10px;
  font-size:13px;line-height:1.3;font-weight:700;
}
.masthead-meta{
  font-size:12px;color:var(--muted);margin-top:8px;letter-spacing:.02em;
  display:flex;gap:12px;flex-wrap:wrap;
}
.eagle{
  width:54px;height:36px;flex:0 0 auto;margin-bottom:12px;
  background:var(--black);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 70'%3E%3Cpath d='M50 5 L58 25 L80 20 L65 32 L85 40 L63 42 L70 60 L55 48 L50 65 L45 48 L30 60 L37 42 L15 40 L35 32 L20 20 L42 25 Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 70'%3E%3Cpath d='M50 5 L58 25 L80 20 L65 32 L85 40 L63 42 L70 60 L55 48 L50 65 L45 48 L30 60 L37 42 L15 40 L35 32 L20 20 L42 25 Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* hero */
.wrap{max-width:1180px;margin:0 auto;padding:0 18px}
.hero{
  position:relative;background:#000;overflow:hidden;
  border:1px solid var(--black);
}
.hero img{width:100%;height:min(56vw,480px);object-fit:cover;display:block;filter:contrast(1.05) grayscale(.15)}
.hero a#hero-link{display:block}
.hero a#hero-link:hover img{filter:contrast(1.1)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.62));pointer-events:none}
.hero-caption{
  position:absolute;left:18px;right:18px;bottom:64px;z-index:2;
  color:#fff;pointer-events:none;
}
.hero-caption .kicker{color:#fff}
.hero-caption .kicker::before{background:#fff}
.hero-caption h2{margin:6px 0;font-size:clamp(22px,3.5vw,36px);line-height:1.1;letter-spacing:-.01em;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.hero-caption h2 a{color:#fff;text-decoration:none;pointer-events:auto}
.hero-caption h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.hero-caption p{margin:0;font-size:14px;color:#f0e9d8;text-shadow:0 1px 8px rgba(0,0,0,.6);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.breaking-bar{
  position:absolute;left:18px;right:18px;bottom:14px;z-index:2;
  background:var(--red);color:#fff;
  display:flex;gap:10px;align-items:center;
  padding:10px 14px;font-size:13px;
  border-left:6px solid var(--black);
  box-shadow:var(--shadow);
}
.breaking-bar strong{background:var(--black);padding:3px 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.breaking-bar a{color:#fff;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* filter tabs + grid */
.section-head{
  display:flex;align-items:end;justify-content:space-between;gap:12px;
  margin:34px 0 14px;padding-bottom:10px;border-bottom:2px solid var(--black);
}
.section-head h2{font-family:'Playfair Display',serif;font-size:28px;margin:0;letter-spacing:-.02em}
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tabs button{
  border:1px solid var(--black);background:transparent;
  padding:7px 12px;font-size:12px;font-weight:800;letter-spacing:.04em;
  cursor:pointer;border-radius:20px;text-transform:uppercase;
}
.tabs button.active{background:var(--black);color:var(--paper)}
.grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)} .searchbox input{width:90px}}
@media(max-width:600px){.grid{grid-template-columns:1fr} .nav-links{display:none}}
.card{
  background:var(--card);border:1px solid var(--black);
  display:flex;flex-direction:column;overflow:hidden;
  transition:transform .15s ease;
}
.card:hover{transform:translateY(-3px)}
.card-img{aspect-ratio:16/9;overflow:hidden;background:#ddd;border-bottom:1px solid var(--black)}
.card-img img{width:100%;height:100%;object-fit:cover;display:block}
.card-body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.kicker{
  font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);
  display:flex;gap:8px;align-items:center;
}
.kicker::before{content:"";width:18px;height:3px;background:var(--red);display:inline-block}
.card h3{font-family:'Playfair Display',serif;font-size:20px;line-height:1.15;margin:0}
.card h3 a{text-decoration:none}
.card h3 a:hover{color:var(--red)}
.card p{margin:0;font-size:14px;line-height:1.5;color:#3d382f}
.card-meta{margin-top:auto;padding-top:10px;font-size:12px;color:var(--muted);display:flex;gap:10px}

/* figures strip */
.figures{
  margin-top:34px;background:var(--black);color:var(--paper);
  border-top:4px solid var(--red);border-bottom:4px solid var(--red);
}
.figures-inner{max-width:1180px;margin:0 auto;padding:26px 18px}
.figures-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:14px}
@media(max-width:800px){.figures-grid{grid-template-columns:1fr}}
.figure-card{
  background:#1c1c1c;border:1px solid #333;padding:16px;display:flex;gap:14px;align-items:center;
}
.figure-card img{width:84px;height:84px;object-fit:cover;border-radius:50%;border:2px solid var(--red);flex:0 0 auto}
.figure-card h4{margin:0 0 4px;font-family:'Playfair Display',serif;font-size:18px}
.figure-card p{margin:0;font-size:13px;color:#cbbfab;line-height:1.45}
.figure-card a{font-size:12px;font-weight:800;color:#fff}

/* timeline */
.timeline{margin:18px 0 10px;border-left:3px solid var(--red);padding-left:18px;display:grid;gap:16px}
.timeline-item{background:var(--card);border:1px solid var(--line);padding:12px 14px}
.timeline-item strong{font-size:13px;color:var(--red)}
.timeline-item h4{margin:4px 0;font-family:'Playfair Display',serif;font-size:17px}

/* newsletter / footer */
.newsletter{
  margin:34px 0;background:var(--paper-2);border:1px solid var(--black);padding:22px;
  display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;
}
.newsletter input{padding:10px 12px;border:1px solid var(--black);min-width:240px;background:#fff}
.newsletter button{background:var(--red);color:#fff;border:1px solid var(--black);padding:10px 16px;font-weight:800;cursor:pointer}
footer{background:var(--black);color:#d8cfba;margin-top:30px}
.footer-inner{max-width:1180px;margin:0 auto;padding:28px 18px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}
@media(max-width:800px){.footer-inner{grid-template-columns:1fr}}
footer a{color:#fff;text-decoration:none;font-size:13px}
footer h5{margin:0 0 10px;color:#fff;letter-spacing:.08em;font-size:12px;text-transform:uppercase}

/* back to top vertical like screenshot */
.back-top{
  position:fixed;left:0;top:45%;z-index:40;
  writing-mode:vertical-rl;transform:rotate(180deg);
  background:var(--paper-2);border:1px solid var(--black);border-left:0;
  font-size:11px;font-weight:800;letter-spacing:.08em;
  padding:10px 6px;cursor:pointer;
}
.chat-bubble{
  position:fixed;right:16px;bottom:16px;z-index:40;
  width:36px;height:36px;border-radius:50%;
  background:var(--red);color:#fff;border:2px solid #fff;
  display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);
}

/* article page */
.article-hero img{width:100%;max-height:460px;object-fit:cover;border:1px solid var(--black);display:block}
.article-body{max-width:760px;margin:0 auto;font-size:17px;line-height:1.75}
.article-body p{margin:1em 0}
.dropcap::first-letter{font-family:'Playfair Display',serif;font-size:3.2em;float:left;line-height:.9;padding-right:10px;color:var(--red);font-weight:900}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:800px){.related{grid-template-columns:1fr}}
.form-card{background:var(--card);border:1px solid var(--black);padding:20px}
.form-card label{font-size:13px;font-weight:700;display:block;margin:12px 0 6px}
.form-card input,.form-card textarea,.form-card select{width:100%;padding:10px;border:1px solid var(--black);background:#fff;font-size:14px}
.btn{background:var(--black);color:var(--paper);padding:11px 18px;border:0;font-weight:800;cursor:pointer}
.btn-red{background:var(--red);color:#fff}
mark{background:var(--red);color:#fff;padding:0 2px}
