/* ===== Goldzweig - Swiss/Virgil editorial theme ===== */
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased}
body{background:#F7F5F0;color:#0A0A0A;
  font-family:'Helvetica Neue','Helvetica','Arial',sans-serif;line-height:1.5}
img{max-width:100%;display:block}
a{color:#0A0A0A;text-decoration:none}
.gold{color:#B8902E}
.wrap{max-width:1440px;margin:0 auto;padding:0 70px}
.cap{font-size:14px;font-weight:600;letter-spacing:3px;text-transform:uppercase}
.rule{height:2px;background:#0A0A0A}

/* header */
.site-head{display:flex;justify-content:space-between;align-items:center;padding:36px 0 20px}
.logo{font-size:28px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.site-nav a{font-size:14px;font-weight:600;letter-spacing:3px;text-transform:uppercase;margin-left:36px}
.site-nav a.brief{border:2px solid #0A0A0A;padding:7px 16px}
.site-nav a:hover{color:#B8902E}

/* hero */
.hero{padding:84px 0 64px}
.hero .kick{margin-bottom:28px;display:flex;gap:24px;flex-wrap:wrap}
.hero h1{font-size:clamp(48px,8vw,118px);font-weight:800;line-height:.92;letter-spacing:-4px;text-transform:uppercase}
.hero .sub{margin-top:32px;font-size:21px;font-weight:500;max-width:720px;color:#222;line-height:1.5}

/* section head */
.sechead{display:flex;justify-content:space-between;align-items:baseline;
  padding:28px 0 24px;border-top:2px solid #0A0A0A;margin-top:24px}
.sechead h2{font-size:30px;font-weight:800;letter-spacing:1px;text-transform:uppercase}

/* grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-bottom:24px}
.card{display:block}
.card .img{width:100%;aspect-ratio:16/9;overflow:hidden;border:2px solid #0A0A0A;background:#eee}
.card .img img{width:100%;height:100%;object-fit:cover}
.card .meta{display:flex;justify-content:space-between;align-items:center;margin:16px 0 10px}
.tag{border:2px solid #0A0A0A;padding:4px 12px;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;display:inline-block}
.date{font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#555}
.card h3{font-size:28px;font-weight:800;line-height:1.0;letter-spacing:-1px;text-transform:uppercase}
.card p{margin-top:12px;font-size:15px;line-height:1.5;color:#444}
.card:hover h3{color:#B8902E}

/* crash course banner: compact split, full cover (contain) left, text right */
.crash-banner{display:grid;grid-template-columns:1.05fr 1fr;border:2px solid #0A0A0A;margin-bottom:24px;background:#0A0A0A;overflow:hidden}
.crash-banner .crash-img{display:flex;align-items:center;justify-content:center;background:#0A0A0A}
.crash-banner .crash-img img{width:100%;height:auto;object-fit:contain;display:block}
.crash-text{padding:40px 46px;display:flex;flex-direction:column;justify-content:center;color:#F7F5F0}
.crash-text .tag{border-color:#F7F5F0;color:#F7F5F0;margin-bottom:16px;align-self:flex-start}
.crash-text h3{font-size:34px;font-weight:800;text-transform:uppercase;letter-spacing:-1px;line-height:1}
.crash-text p{margin-top:14px;font-size:15px;line-height:1.5;color:#bbb}
.crash-cta{margin-top:22px;font-size:15px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#C9A227}
.crash-banner:hover .crash-cta{color:#F7F5F0}

/* live ticker */
.ticker{display:flex;border-top:2px solid #0A0A0A;border-bottom:2px solid #0A0A0A;margin-top:8px}
.ticker .dn{color:#C0512F}.ticker .up{color:#3f7a4f}
.ticker .tk{flex:1;padding:18px 0;border-right:1px solid #cdcabf}
.ticker .tk:last-child{border-right:none}
.ticker .l{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#777}
.ticker .v{font-size:30px;font-weight:800;letter-spacing:-1px;margin-top:6px}
.ticker .c{font-size:14px;font-weight:700;letter-spacing:1px;margin-top:3px;text-transform:uppercase;color:#888}

/* research index list */
.idx-head{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid #0A0A0A;padding:26px 0 10px;margin-top:34px}
.idx-head h2{font-size:30px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.index{counter-reset:idx}
.irow{display:grid;grid-template-columns:84px 130px 1fr 160px;align-items:center;gap:20px;
 padding:26px 2px;border-top:1px solid #cdcabf;text-decoration:none;color:#0A0A0A;counter-increment:idx}
.irow:first-child{border-top:none}
.irow:hover{background:#efece3}
.irow .num{font-size:22px;font-weight:800}
.irow .num::before{content:"0" counter(idx)}
.irow .t{display:inline-block;border:2px solid #0A0A0A;padding:4px 12px;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.irow h3{font-size:33px;font-weight:800;text-transform:uppercase;letter-spacing:-1px;line-height:1}
.irow:hover h3{color:#B8902E}
.irow .d{text-align:right;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#777}

/* carousel */
.seelink{color:#0A0A0A;text-decoration:none}
.seelink:hover{color:#B8902E}
.carousel{display:flex;gap:30px;overflow-x:auto;padding:4px 2px 18px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.carousel::-webkit-scrollbar{height:3px}
.carousel::-webkit-scrollbar-track{background:#e4e1d8}
.carousel::-webkit-scrollbar-thumb{background:#0A0A0A}
.ccard{flex:0 0 380px;scroll-snap-align:start}

/* mobile box menu */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px 4px}
.nav-toggle span{display:block;width:26px;height:2.5px;background:#0A0A0A;transition:.2s}
body.nav-open .nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
body.nav-open .nav-toggle span:nth-child(2){opacity:0}
body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* briefing strip */
.brief-strip{margin:56px 0;background:#0A0A0A;color:#F7F5F0;padding:54px 60px;
  display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.brief-strip h2{font-size:44px;font-weight:800;letter-spacing:-1px;text-transform:uppercase;line-height:.95}
.brief-strip .bsub{margin-top:14px;font-size:16px;font-weight:500;color:#bbb;letter-spacing:1px}
.brief-form{display:flex;border:2px solid #F7F5F0}
.brief-form input{background:transparent;border:none;color:#F7F5F0;padding:18px 22px;font-size:15px;width:280px;font-family:inherit}
.brief-form input::placeholder{color:#888}
.brief-form button{background:#F7F5F0;color:#0A0A0A;border:none;padding:0 30px;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer}

/* footer */
.site-foot{border-top:2px solid #0A0A0A;padding:38px 0 64px;margin-top:20px}
.foot-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.foot-top .fl{font-size:20px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.disc{margin-top:22px;font-size:12px;color:#888;line-height:1.6;max-width:840px}

/* ===== post / page ===== */
.post,.page{max-width:760px;margin:0 auto;padding:70px 0 40px}
.post-head{margin-bottom:36px}
.post-kick{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}
.post-kick .cap{color:#555}
.post-title{font-size:clamp(40px,6vw,76px);font-weight:800;line-height:.96;letter-spacing:-2px;text-transform:uppercase}
.page-title{margin-bottom:30px}
.post-meta{margin-top:22px;color:#555}
.post-img{margin:0 auto 50px;max-width:1100px;border:2px solid #0A0A0A}
.post-img img{width:100%}
.post-content{font-size:19px;line-height:1.7;color:#1a1a1a}
.post-content p{margin:0 0 24px}
.post-content h2{font-size:30px;font-weight:800;text-transform:uppercase;letter-spacing:-.5px;margin:46px 0 18px}
.post-content h3{font-size:23px;font-weight:700;margin:36px 0 14px}
.post-content ul,.post-content ol{margin:0 0 24px 24px}
.post-content li{margin-bottom:10px}
.post-content strong{font-weight:700}
.post-content a{box-shadow:inset 0 -2px 0 #B8902E}
.post-content hr{border:none;border-top:2px solid #0A0A0A;margin:40px 0}
.post-content blockquote{border-left:3px solid #B8902E;padding-left:24px;margin:0 0 24px;font-style:italic;color:#333}
.post-foot{max-width:760px;margin:48px auto 0;padding-top:24px;border-top:2px solid #0A0A0A;
  display:flex;justify-content:space-between;align-items:center}
.brief-link:hover{color:#B8902E}

/* glossary tooltips */
.gz-term{border-bottom:1.5px dotted #B8902E;cursor:help}
.gz-tip{position:absolute;z-index:90;max-width:300px;background:#0A0A0A;color:#F7F5F0;
 padding:17px 19px;font-size:14px;line-height:1.55;border:none;border-top:3px solid #C9A227;
 box-shadow:0 14px 44px rgba(0,0,0,.38);opacity:0;pointer-events:none;transition:opacity .12s;
 letter-spacing:0;text-transform:none;font-weight:400;font-family:'Helvetica Neue','Helvetica','Arial',sans-serif}
.gz-tip.show{opacity:1}
.gz-tip-term{display:block;font-weight:700;text-transform:uppercase;letter-spacing:2px;
 font-size:12px;color:#C9A227;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #2a2a28}

/* ===== responsive ===== */
@media(max-width:980px){
  .grid{grid-template-columns:1fr 1fr;gap:28px}
  .wrap{padding:0 40px}
}
@media(max-width:680px){
  .grid{grid-template-columns:1fr;gap:34px}
  .wrap{padding:0 22px}
  .site-head{padding:22px 0 14px;position:relative}
  .logo{font-size:24px}
  .nav-toggle{display:flex}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#0A0A0A;flex-direction:column;padding:8px 22px 16px;z-index:80}
  body.nav-open .site-nav{display:flex}
  .site-nav a{margin:0;padding:15px 0;border-bottom:1px solid #2a2a28;color:#F7F5F0;font-size:14px;letter-spacing:2px}
  .site-nav a:hover{color:#C9A227}
  .site-nav a.brief{border:none;margin-top:8px;color:#C9A227}
  .ccard{flex:0 0 80%}
  .ticker{flex-wrap:wrap}
  .ticker .tk{flex:0 0 50%;border-bottom:1px solid #cdcabf;padding:14px 16px}
  .ticker .tk:nth-child(2n){border-right:none}
  .ticker .v{font-size:24px}
  .irow{grid-template-columns:40px 1fr;gap:12px;padding:20px 2px}
  .irow .irow-tag,.irow .d{display:none}
  .irow h3{font-size:21px}
  .idx-head h2{font-size:24px}
  .hero{padding:46px 0 40px}
  .hero .kick{gap:16px;margin-bottom:20px}
  .hero .kick .cap{font-size:12px}
  .hero .sub{font-size:18px;margin-top:24px}
  .sechead{padding:24px 0 20px}
  .sechead h2{font-size:24px}
  .card h3{font-size:26px}
  .brief-strip{flex-direction:column;align-items:stretch;padding:34px 26px;gap:24px}
  .brief-strip h2{font-size:32px}
  .brief-form{width:100%}
  .brief-form input{width:100%;flex:1}
  .post,.page{padding:44px 0 30px}
  .post-content{font-size:17px}
  .post-content h2{font-size:24px}
  .foot-top{flex-direction:column;align-items:flex-start;gap:12px}
  .gz-tip{max-width:74vw}
  .crash-banner{grid-template-columns:1fr}
  .crash-banner .crash-img{aspect-ratio:16/9}
  .crash-text{padding:30px 24px}
  .crash-text h3{font-size:30px}
}
