/* ============================================================
   NEW ESSEX HOUSE PRESS — Shared Stylesheet
   neh-styles.css
   ============================================================ */

/* RESET & ROOT */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#0a0806;--paper:#f0e8d8;--aged:#d4c4a0;--blood:#8b1a1a;
  --rust:#c0392b;--gold:#d4a017;--smoke:#1e1810;--vault:#141008;--rebel:#120606;
}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font-family:'Playfair Display',serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}

/* NAV */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 2.5rem;display:flex;justify-content:space-between;align-items:center;transition:background .4s ease;background:rgba(10,8,6,.7)}
.site-nav.scrolled{background:rgba(10,8,6,.96);border-bottom:1px solid rgba(176,144,80,.1);backdrop-filter:blur(8px)}
.nav-logo{height:30px;opacity:0;transition:opacity .4s ease}
.site-nav.scrolled .nav-logo{opacity:1}
.nav-links{display:flex;gap:2rem;list-style:none;align-items:center}
.nav-links a{font-family:'Oswald',sans-serif;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--aged);transition:color .3s}
.nav-links a:hover,.nav-links a.active{color:var(--paper)}
.nav-sep{width:1px;height:16px;background:rgba(176,144,80,.2)}

/* BADGES */
.badge{display:inline-block;font-family:'Oswald',sans-serif;font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;padding:.28rem .6rem}
.badge-available{background:var(--gold);color:var(--ink);font-weight:600}
.badge-coming-soon{background:transparent;border:1px solid var(--aged);color:var(--aged)}
.badge-print-only{background:transparent;border:1px solid rgba(176,144,80,.35);color:rgba(212,196,160,.7)}
.badge-in-press{background:var(--blood);color:var(--paper)}
.badge-development{background:transparent;border:1px solid var(--rust);color:var(--rust)}
.badge-forthcoming{background:transparent;border:1px solid rgba(212,196,160,.3);color:rgba(212,196,160,.5)}
.badge-row{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.5rem;justify-content:center}

/* FOOTER */
.site-footer{background:var(--ink);border-top:1px solid rgba(176,144,80,.1);padding:2.5rem 2rem;text-align:center}
.footer-logos{display:flex;align-items:center;justify-content:center;gap:2.5rem;margin-bottom:1.2rem}
.footer-neh{height:38px;opacity:.38;filter:invert(1) brightness(.5);transition:opacity .3s}
.footer-neh:hover{opacity:.62}
.footer-rh{height:46px;opacity:.35;transition:opacity .3s}
.footer-rh:hover{opacity:.58}
.footer-div{width:1px;height:44px;background:rgba(176,144,80,.14)}
.footer-copy{font-family:'Special Elite',cursive;font-size:1rem;color:rgba(176,164,136,.55)}
.footer-copy a{color:var(--blood)}
.footer-submissions{font-family:'Special Elite',cursive;font-size:1rem;color:rgba(176,164,136,.55);margin-bottom:2.4rem}
.footer-submissions a{color:var(--blood);text-decoration:none;border-bottom:1px solid rgba(139,26,26,.3);padding-bottom:.1rem}
.footer-submissions a:hover{color:var(--paper);border-bottom-color:var(--paper)}
.footer-social{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}
.footer-social-link{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;border:1px solid rgba(212,160,23,.35);color:#d4a017;transition:color .3s,border-color .3s}
.footer-social-link:hover{color:#f5c400;border-color:rgba(245,196,0,.6)}
.footer-social-link svg{width:27px;height:27px}

/* PAGE HERO */
.page-hero{padding:7rem 2rem 3.5rem;text-align:center;position:relative}
.page-hero .eyebrow{font-family:'Oswald',sans-serif;font-size:.75rem;letter-spacing:.5em;color:var(--blood);text-transform:uppercase;margin-bottom:.9rem}
.page-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5vw,4rem);font-weight:900;color:var(--paper);line-height:1}
.page-hero .sub{font-family:'Oswald',sans-serif;font-size:.68rem;letter-spacing:.2em;color:var(--aged);text-transform:uppercase;margin-top:.75rem}
.hero-rule{width:48px;height:2px;background:var(--blood);margin:1.5rem auto 0}
.hero-dark{background:var(--smoke)}

/* INNER PAGE LAYOUT */
.page-wrap{max-width:1060px;margin:0 auto;padding:2rem 2rem 5rem}
.author-hdr{padding:4rem 0 2rem;border-bottom:1px solid rgba(176,144,80,.12);margin-bottom:.5rem;text-align:center;width:100%}
.author-hdr-eyebrow{font-family:'Oswald',sans-serif;font-size:.75rem;letter-spacing:.5em;text-transform:uppercase;color:var(--blood);margin-bottom:.8rem}
.author-hdr-name{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:900;color:var(--paper);line-height:1;margin-bottom:.5rem}
.author-hdr-tag{font-family:'Oswald',sans-serif;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--aged);margin-bottom:1.5rem}
.author-hdr-bio{font-family:'Playfair Display',serif;font-size:.96rem;line-height:1.82;color:rgba(240,232,216,.78);max-width:700px;margin:0 auto;text-align:left}
.author-hdr-bio em{color:var(--paper)}
.author-sep{height:1px;background:repeating-linear-gradient(90deg,var(--aged) 0,var(--aged) 4px,transparent 4px,transparent 8px);opacity:.15;margin:3rem auto;width:100%}
.title-grid{display:grid;grid-template-columns:repeat(3,minmax(0,280px));gap:2.5rem;margin:2rem auto;justify-content:center;justify-items:start}
.title-card{display:flex;flex-direction:column;gap:1.1rem}
.no-flip img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;border:1px solid rgba(176,144,80,.18)}
.card-text{display:flex;flex-direction:column;gap:.7rem}
.tr-eyebrow{font-family:'Oswald',sans-serif;font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;color:var(--blood)}
.tr-title{font-family:'Playfair Display',serif;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:900;color:var(--paper);line-height:1.1}
.tr-author{font-family:'Oswald',sans-serif;font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--aged)}
.tr-rule{width:36px;height:2px;background:var(--blood)}
.tr-desc{font-family:'Playfair Display',serif;font-size:.9rem;line-height:1.78;color:rgba(240,232,216,.8)}
.tr-desc em{color:var(--paper);font-style:italic}
.tr-quote{border-left:3px solid var(--blood);padding-left:1rem;font-family:'Playfair Display',serif;font-style:italic;font-size:.83rem;color:var(--aged);line-height:1.6}
.tr-meta{font-family:'Special Elite',cursive;font-size:.7rem;color:rgba(212,196,160,.55)}

/* FREE SPIRIT SHARED */
.fs-section{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(176,144,80,.1)}
.fs-section-hdr{padding:2rem;background:var(--smoke);margin-bottom:1.5rem;text-align:center}
.fs-eyebrow{font-family:'Oswald',sans-serif;font-size:.56rem;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;text-align:center}
.fs-title-text{font-family:'Playfair Display',serif;font-size:clamp(1.2rem,2.5vw,1.7rem);font-weight:900;color:var(--paper);margin-bottom:.5rem;text-align:center}
.fs-desc{font-family:'Special Elite',cursive;font-size:.82rem;color:var(--aged);line-height:1.7;max-width:560px;margin:0 auto 1rem;text-align:center}
.fs-link{font-family:'Oswald',sans-serif;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--blood);text-decoration:none;display:block;text-align:center}
.fs-3grid{display:grid;grid-template-columns:repeat(3,minmax(0,165px));gap:1.2rem;margin-top:1.5rem;justify-content:center}
.fs-card{display:flex;flex-direction:column;gap:.5rem}
.fs-card img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;border:1px solid rgba(176,144,80,.12);transition:transform .3s}
.fs-card img:hover{transform:translateY(-3px)}
.fs-card-num{font-family:'Oswald',sans-serif;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);opacity:.7}
.fs-card-title{font-family:'Playfair Display',serif;font-size:.8rem;font-weight:700;color:var(--paper);line-height:1.2}

/* CONTACT / FORMS */
.text-page{max-width:700px;margin:0 auto;padding:3.5rem 2rem 5rem}
.text-page p{font-family:'Playfair Display',serif;font-size:.98rem;line-height:1.85;color:rgba(240,232,216,.82);margin-bottom:1.1rem}
.form-wrap{margin-top:2rem;display:flex;flex-direction:column;gap:1rem}
.form-field{display:flex;flex-direction:column;gap:.35rem}
.form-label{font-family:'Oswald',sans-serif;font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--aged)}
.form-input,.form-textarea{background:rgba(255,255,255,.04);border:1px solid rgba(176,144,80,.18);padding:.75rem 1rem;color:var(--paper);font-family:'Special Elite',cursive;font-size:.88rem;outline:none;transition:border-color .3s;width:100%}
.form-input:focus,.form-textarea:focus{border-color:rgba(176,144,80,.45)}
.form-textarea{height:130px;resize:vertical}
.btn-submit{display:inline-block;font-family:'Oswald',sans-serif;font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--paper);background:var(--blood);border:none;padding:.85rem 1.8rem;cursor:pointer;align-self:flex-start;transition:background .3s}
.btn-submit:hover{background:var(--rust)}
.honeypot{display:none}

/* SECTION RULE */
.section-rule{height:1px;background:repeating-linear-gradient(90deg,var(--aged) 0px,var(--aged) 4px,transparent 4px,transparent 8px);opacity:.18}

/* BUTTONS */
.btn-outline{display:inline-block;font-family:'Oswald',sans-serif;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--paper);border:1px solid var(--blood);padding:.85rem 1.8rem;transition:all .3s;cursor:pointer;background:transparent;align-self:flex-start;margin-top:1rem;text-decoration:none}
.btn-outline:hover{background:var(--blood)}

/* ANIMATIONS */
@keyframes riseIn{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top;opacity:1}50%{transform:scaleY(1);transform-origin:top;opacity:1}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom;opacity:0}}

/* FREE SPIRIT INTERSTITIAL */
.fs-interstitial{background:var(--vault);padding:5rem 2rem;border-top:1px solid rgba(176,144,80,.1);border-bottom:1px solid rgba(176,144,80,.08);text-align:center}
.fs-interstitial-inner{max-width:640px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;width:100%}
.fs-interstitial-eyebrow{font-family:'Oswald',sans-serif;font-size:.75rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);opacity:.8;text-align:center;width:100%}
.fs-interstitial-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:900;color:var(--paper);font-style:italic;line-height:1;text-align:center;width:100%}
.fs-interstitial-rule{width:40px;height:2px;background:var(--blood);margin:0 auto}
.fs-interstitial-desc{font-family:'Special Elite',cursive;font-size:.92rem;color:var(--aged);line-height:1.8;max-width:520px;text-align:center;margin:0 auto}
.fs-interstitial .btn-outline{align-self:center;margin-left:auto;margin-right:auto;display:block;width:fit-content}

/* FREE SPIRIT PROMO (index + originals) */
.fs-promo-full{width:100%;padding:5rem 2rem;border-top:1px solid rgba(176,144,80,.12);border-bottom:1px solid rgba(176,144,80,.08);background:var(--smoke)}
.fs-promo-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center;max-width:860px;margin:0 auto}
.fs-promo-covers{display:flex;flex-direction:row;justify-content:center;gap:1rem;margin:1rem auto 0}
.fs-promo-covers .home-cover-card{width:clamp(70px,18vw,120px);flex-shrink:0}
.fs-eyebrow-promo{font-family:'Oswald',sans-serif;font-size:.55rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);opacity:.8}
.fs-title-promo{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;color:var(--paper);font-style:italic}
.fs-desc-promo{font-family:'Special Elite',cursive;font-size:.82rem;color:var(--aged);line-height:1.7;text-align:center;max-width:480px}

/* RESPONSIVE */
@media(max-width:768px){
  .title-grid{grid-template-columns:1fr}
  .site-nav{padding:1rem 1.5rem}
  .nav-links{gap:1.2rem}
  .fs-3grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
