/* Home redesign (staging) */
.hx-hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#17332B}
.hx-hero-img{position:absolute;inset:-4% 0;background-size:cover;background-position:center;transform:scale(1.06);animation:hxzoom 22s ease-out forwards}
@keyframes hxzoom{to{transform:scale(1)}}
.hx-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,51,43,.35) 0%,rgba(23,51,43,.15) 35%,rgba(23,51,43,.88) 100%)}
.hx-hero-in{position:relative;z-index:2;width:100%;max-width:1180px;margin:0 auto;padding:0 24px 56px}
.hx-kicker{display:inline-block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#F0D08A;font-weight:600;margin-bottom:14px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.hx-hero h1{color:#fff;font-size:clamp(2.4rem,6.4vw,5rem);line-height:1.04;font-weight:500;margin:0 0 16px;max-width:15ch}
.hx-hero h1 em{color:var(--gold)}
.hx-hero p.sub{font-size:1.12rem;max-width:50ch;color:rgba(255,255,255,.88);margin:0 0 28px}
.hx-actions{display:flex;gap:12px;flex-wrap:wrap}
.hx-actions .btn-primary{background:var(--gold);border-color:var(--gold);color:var(--pine)}
.hx-actions .btn-outline{color:#fff;border-color:rgba(255,255,255,.7)}
.hx-actions .btn-outline:hover{background:#fff;color:var(--pine)}
.hx-latest{position:absolute;z-index:2;right:24px;bottom:56px;width:300px;background:rgba(251,248,242,.96);color:var(--ink);border-radius:14px;padding:16px 18px;text-decoration:none;box-shadow:0 12px 40px rgba(0,0,0,.3)}
.hx-latest small{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:6px}
.hx-latest strong{font-family:Fraunces,serif;font-weight:500;font-size:1.02rem;line-height:1.25;color:var(--pine);display:block}
.hx-latest span{display:block;margin-top:8px;font-size:.84rem;color:var(--sage)}
.hx-sec{padding:84px 0}
.hx-dark{background:var(--pine);color:var(--parchment)}
.hx-dark .section-title,.hx-dark h2{color:var(--parchment)}
.hx-eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 10px}
.hx-title{font-size:clamp(1.9rem,4vw,3rem);font-weight:500;margin:0 0 12px;line-height:1.1}
.hx-lead{max-width:56ch;color:var(--sage);margin:0 0 36px;font-size:1.05rem}
.hx-dark .hx-lead{color:rgba(251,248,242,.75)}
.hx-series{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.hx-s{position:relative;aspect-ratio:3/4.3;border-radius:16px;overflow:hidden;color:#fff;text-decoration:none;display:flex;align-items:flex-end;background:#0f241e}
.hx-s i{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.hx-s::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,25,20,.9))}
.hx-s:hover i{transform:scale(1.08)}
.hx-s div{position:relative;z-index:2;padding:20px}
.hx-s b{font-family:Fraunces,serif;font-weight:500;font-size:1.45rem;display:block;line-height:1.1}
.hx-s span{font-size:.85rem;color:rgba(255,255,255,.8);display:block;margin-top:6px}
.hx-rows{border-top:1px solid var(--sage-line)}
.hx-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 4px;border-bottom:1px solid var(--sage-line);text-decoration:none;color:var(--pine);overflow:hidden;transition:padding .4s}
.hx-row .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .5s}
.hx-row .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,51,43,.85),rgba(23,51,43,.45))}
.hx-row>*{position:relative;z-index:2}
.hx-row b{font-family:Fraunces,serif;font-weight:500;font-size:clamp(1.9rem,5vw,3.4rem);line-height:1;transition:color .4s,transform .4s}
.hx-row small{display:block;color:var(--sage);margin-top:8px;font-size:.92rem;transition:color .4s}
.hx-row .arr{font-size:1.8rem;color:var(--gold);transition:transform .4s}
.hx-row:hover{padding-left:24px;padding-right:24px}
.hx-row:hover .bg{opacity:1}
.hx-row:hover b{color:#fff}
.hx-row:hover small{color:rgba(255,255,255,.85)}
.hx-row:hover .arr{transform:translateX(8px)}
.hx-feed{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.hx-feed .post-card:first-child{grid-column:span 2;grid-row:span 1}
.hx-feed .post-card:first-child .post-card-photo{height:340px}
.hx-feed .post-card-photo{transition:transform .8s}
.hx-feed .post-card{overflow:hidden}
.hx-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.hx-reveal.in{opacity:1;transform:none}
.hx-progress{position:fixed;top:0;left:0;height:3px;background:var(--gold);width:0;z-index:99}
@media (max-width:900px){
 .hx-series{grid-template-columns:repeat(2,1fr)}
 .hx-feed{grid-template-columns:1fr 1fr}
 .hx-feed .post-card:first-child{grid-column:span 2}
 .hx-latest{position:relative;right:auto;bottom:auto;width:auto;margin:28px 24px 0;align-self:stretch}
}
@media (max-width:600px){
 .hx-hero{min-height:88vh;flex-direction:column;justify-content:flex-end}
 .hx-hero-in{padding-bottom:20px}
 .hx-latest{margin:0 16px 20px}
 .hx-sec{padding:56px 0}
 .hx-series{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:0 16px 8px}
 .hx-s{flex:0 0 72%;scroll-snap-align:start}
 .hx-feed{grid-template-columns:1fr}
 .hx-feed .post-card:first-child{grid-column:auto}
 .hx-feed .post-card:first-child .post-card-photo{height:auto}
}
@media (prefers-reduced-motion:reduce){.hx-hero-img{animation:none;transform:none}.hx-reveal{opacity:1;transform:none;transition:none}}
.hx-dark .hx-rows{border-top-color:rgba(255,255,255,.18)}
.hx-dark .hx-row{border-bottom-color:rgba(255,255,255,.18);color:var(--parchment)}
.hx-dark .hx-row small{color:rgba(251,248,242,.65)}
.hx-feed .post-card{display:flex;flex-direction:column;height:100%}
.hx-feed .post-card-photo{width:100%;height:220px;flex:none}
.hx-feed .post-card:first-child{grid-column:span 3;flex-direction:row}
.hx-feed .post-card:first-child .post-card-photo{width:55%;height:auto;min-height:340px}
.hx-feed .post-card:first-child h3{font-size:1.6rem}
.hx-feed .post-card:nth-child(n+5){display:none}
@media (max-width:900px){.hx-feed .post-card:first-child{grid-column:span 2}.hx-feed .post-card:nth-child(n+5){display:none}}
@media (max-width:600px){.hx-feed .post-card:first-child{flex-direction:column}.hx-feed .post-card:first-child .post-card-photo{width:100%;min-height:220px;height:220px}}
.hx-slides{position:absolute;inset:-4% 0;z-index:0}
.hx-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.07);transition:opacity 1.4s ease}
.hx-slide.on{opacity:1;animation:hxzoom 9s ease-out forwards}
.hx-cap{position:absolute;z-index:2;right:24px;bottom:56px;width:300px;background:rgba(251,248,242,.96);border-radius:14px;padding:16px 18px 14px;box-shadow:0 12px 40px rgba(0,0,0,.3)}
.hx-capi{display:none;text-decoration:none;color:var(--ink)}
.hx-capi.on{display:block}
.hx-capi small{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#9a6f1f;font-weight:700;margin-bottom:6px}
.hx-capi strong{font-family:Fraunces,serif;font-weight:500;font-size:1.3rem;color:var(--pine);display:block;line-height:1.2}
.hx-capi em{display:block;font-style:normal;color:var(--sage);font-size:.9rem;margin-top:2px}
.hx-capi span{display:block;margin-top:10px;font-size:.88rem;font-weight:600;color:var(--pine)}
.hx-dots{display:flex;gap:8px;margin-top:12px}
.hx-dots button{width:28px;height:4px;border:0;padding:0;border-radius:2px;background:var(--sage-line);cursor:pointer}
.hx-dots button.on{background:var(--gold)}
@media (max-width:900px){.hx-cap{position:relative;right:auto;bottom:auto;width:auto;margin:28px 24px 0;align-self:stretch}}
@media (max-width:600px){.hx-cap{margin:0 16px 20px}}
/* readability */
.hx-hero::after{background:linear-gradient(180deg,rgba(15,36,30,.45) 0%,rgba(15,36,30,.25) 25%,rgba(15,36,30,.72) 55%,rgba(15,36,30,.94) 100%)}
.hx-hero h1,.hx-hero p.sub{text-shadow:0 2px 14px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.5)}
.hx-hero h1 em{color:#E8BE68}
.hx-hero p.sub{color:#fff}
.hx-kicker{color:#F6DDA0;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.hx-actions .btn-outline{background:rgba(15,36,30,.45);border-color:rgba(255,255,255,.85)}
@media (max-width:600px){.hx-hero::after{background:linear-gradient(180deg,rgba(15,36,30,.4) 0%,rgba(15,36,30,.55) 35%,rgba(15,36,30,.88) 65%,rgba(15,36,30,.96) 100%)}}
.hx-series{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
@media (max-width:900px){.hx-series{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}
@media (max-width:600px){.hx-series{grid-template-columns:none}}
