:root{
  --bg:#0E0A05;--bg2:#160F07;--bg3:#1C1409;
  --ivory:rgba(242,234,212,1);--iv80:rgba(242,234,212,0.80);
  --iv55:rgba(242,234,212,0.55);--iv30:rgba(242,234,212,0.30);--iv15:rgba(242,234,212,0.15);
  --gold:#D4A840;--g70:rgba(212,168,64,0.70);--g40:rgba(212,168,64,0.40);--g15:rgba(212,168,64,0.15);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{overflow-x:hidden;}
html.lenis,html.lenis body{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto!important;}
body{background:var(--bg);color:var(--ivory);font-family:'Jost',sans-serif;font-weight:300;overflow-x:hidden;cursor:none;}

#cur{position:fixed;width:8px;height:8px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:screen;transition:width .3s,height .3s;}
#curR{position:fixed;width:36px;height:36px;border:1px solid var(--g40);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .35s,height .35s,border-color .3s;}
body.chov #cur{width:20px;height:20px;}
body.chov #curR{width:52px;height:52px;border-color:var(--g70);}

#grain{position:fixed;inset:0;z-index:500;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:220px;mix-blend-mode:overlay;}

#prog{position:fixed;top:0;left:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);z-index:700;width:0%;transition:width .05s linear;}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:600;padding:0 clamp(24px,5vw,80px);height:72px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(8,5,2,.92) 0%,rgba(8,5,2,.60) 70%,transparent 100%);backdrop-filter:blur(8px);}
.nav-logo{display:flex;flex-direction:column;text-decoration:none;gap:2px;}
.nav-logo-name{font-family:'Cinzel',serif;font-size:clamp(16px,2vw,24px);font-weight:400;letter-spacing:clamp(4px,1vw,8px);color:var(--ivory);margin-right:clamp(-4px,-1vw,-8px);}
.nav-logo-sub{font-family:'Jost',sans-serif;font-size:clamp(9px,.8vw,11px);font-weight:300;letter-spacing:clamp(3px,.8vw,6px);color:var(--iv80);}
.nav-links{display:flex;list-style:none;gap:clamp(16px,3vw,48px);align-items:center;}
.nav-links a{font-family:'Cinzel',serif;font-size:clamp(10px,.95vw,13px);letter-spacing:clamp(2px,.5vw,4px);color:var(--ivory);text-decoration:none;cursor:none;transition:color .3s;}
.nav-links a:hover,.nav-links a.active{color:var(--gold);}
.nav-cta{font-family:'Cinzel',serif;font-size:clamp(9px,.85vw,11px);letter-spacing:3px;color:var(--gold);text-decoration:none;border:1px solid var(--g40);padding:10px 20px;transition:all .3s;cursor:none;}
.nav-cta:hover{background:var(--gold);color:var(--bg);}
@media(max-width:768px){.nav-links,.nav-cta{display:none;}}

/* ARTICLE HERO */
.art-hero{
  position:relative;width:100%;height:92vh;min-height:520px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  padding-bottom:clamp(48px,8vh,80px);
  overflow:hidden;
}
.art-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.45);}
.art-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,5,2,.88) 0%,rgba(8,5,2,.15) 60%,transparent 100%);}
.art-hero-content{position:relative;z-index:2;text-align:center;max-width:860px;padding:0 clamp(24px,6vw,60px);}
.art-cat{font-family:'Cinzel',serif;font-size:11px;letter-spacing:5px;color:var(--gold);margin-bottom:20px;display:block;}
.art-title{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5.5vw,68px);font-weight:400;color:var(--ivory);line-height:1.15;margin-bottom:20px;}
.art-subtitle{font-family:'Cormorant Garamond',serif;font-size:clamp(16px,2vw,22px);font-style:italic;font-weight:300;color:var(--iv80);margin-bottom:28px;}
.art-meta{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:3px;color:var(--iv55);}

/* ARTICLE BODY */
.art-body{max-width:740px;margin:0 auto;padding:clamp(56px,8vh,96px) clamp(24px,5vw,40px);}

.art-body p{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(17px,1.6vw,21px);
  font-weight:300;
  line-height:1.85;
  color:var(--iv80);
  margin-bottom:clamp(20px,3vh,32px);
}

/* Drop cap */
.art-body p.drop-cap::first-letter{
  font-family:'Cinzel',serif;
  font-size:clamp(56px,7vw,88px);
  font-weight:400;
  color:var(--gold);
  float:left;
  line-height:.75;
  margin-right:12px;
  margin-top:8px;
}

/* Pull quote */
.art-pull{
  border-left:2px solid var(--gold);
  margin:clamp(36px,5vh,56px) 0;
  padding:clamp(20px,3vh,32px) clamp(24px,4vw,40px);
  background:rgba(212,168,64,.04);
}
.art-pull p{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(20px,2.4vw,28px);
  font-style:italic;
  font-weight:400;
  color:var(--ivory);
  line-height:1.5;
  margin:0;
}

/* Mid image */
.art-img-wrap{margin:clamp(36px,5vh,56px) 0;overflow:hidden;}
.art-img-wrap img{width:100%;max-height:520px;object-fit:cover;display:block;}
.art-img-caption{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:2px;color:var(--iv30);margin-top:12px;text-align:center;}

/* Duo images */
.art-img-duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,20px);margin:clamp(36px,5vh,56px) 0;}
.art-img-duo .art-img-wrap{margin:0;}
@media(max-width:600px){.art-img-duo{grid-template-columns:1fr;}}

/* Divider */
.art-rule{display:flex;align-items:center;gap:16px;margin:clamp(36px,5vh,56px) 0;}
.art-rl{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--g40),transparent);}
.art-rd{width:5px;height:5px;background:var(--gold);transform:rotate(45deg);flex-shrink:0;}

/* CTA */
.art-cta-box{background:var(--bg2);border:1px solid var(--g15);padding:clamp(32px,4vh,48px);text-align:center;margin:clamp(48px,6vh,72px) 0;}
.art-cta-label{font-family:'Cinzel',serif;font-size:11px;letter-spacing:4px;color:var(--g70);display:block;margin-bottom:14px;}
.art-cta-text{font-family:'Cormorant Garamond',serif;font-size:clamp(18px,2vw,24px);font-style:italic;color:var(--ivory);margin-bottom:24px;}
.art-cta-btn{display:inline-block;font-family:'Cinzel',serif;font-size:10px;letter-spacing:4px;color:var(--gold);border:1px solid var(--g40);padding:14px 32px;text-decoration:none;transition:all .3s;cursor:none;}
.art-cta-btn:hover{background:var(--gold);color:var(--bg);}

/* Back link */
.art-back{display:inline-flex;align-items:center;gap:8px;font-family:'Cinzel',serif;font-size:10px;letter-spacing:3px;color:var(--g70);text-decoration:none;margin-bottom:clamp(32px,5vh,56px);transition:color .3s;cursor:none;}
.art-back:hover{color:var(--gold);}

/* FOOTER */
footer#foot{background:var(--bg);border-top:1px solid var(--g15);padding:clamp(48px,6vh,80px) clamp(24px,8vw,100px) clamp(24px,3vh,40px);}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(32px,5vw,80px);margin-bottom:clamp(32px,4vh,56px);}
@media(max-width:768px){.foot-top{grid-template-columns:1fr;gap:32px;}}
.foot-brand-name{display:block;font-family:'Cinzel',serif;font-size:clamp(16px,1.8vw,22px);letter-spacing:6px;color:var(--ivory);margin-bottom:6px;}
.foot-brand-sub{display:block;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:4px;color:var(--g70);margin-bottom:16px;}
.foot-brand-desc{font-size:13px;color:var(--iv55);line-height:1.8;max-width:280px;}
.foot-col-title{display:block;font-family:'Cinzel',serif;font-size:11px;letter-spacing:4px;color:var(--g70);margin-bottom:20px;}
.foot-links{list-style:none;}
.foot-links li{margin-bottom:12px;}
.foot-links a{font-size:13px;color:var(--iv55);text-decoration:none;transition:color .3s;cursor:none;}
.foot-links a:hover{color:var(--ivory);}
.foot-social-link{display:flex;align-items:center;gap:10px;}
.foot-bottom{border-top:1px solid var(--g15);padding-top:clamp(20px,3vh,32px);}
.foot-copy{font-size:11px;letter-spacing:2px;color:var(--iv30);text-align:center;}