/* ============================================================
   Plume & Page Press — shared stylesheet
   Edit design tokens below once; every page updates.
   ============================================================ */

:root{
  --ink:#1c1a24;
  --deep:#232030;
  --deep2:#2a2636;
  --cream:#f4efe6;
  --paper:#faf7f1;
  --gold:#b08a4f;
  --gold-light:#c79c5e;
  --rust:#8b5a3c;
  --sage:#8a8577;
  --line:rgba(28,26,36,0.12);
  --lightline:rgba(255,255,255,0.25);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'Karla',sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;font-weight:500;margin:0;letter-spacing:0.01em;}
a{color:inherit;}
img{max-width:100%;display:block;}
em{font-style:italic;}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

/* ---------- Navigation ---------- */
.sitenav{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  max-width:1080px;margin:0 auto;padding:18px 28px;
}
.sitenav .brand{
  font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;
  letter-spacing:0.04em;text-decoration:none;white-space:nowrap;
}
.sitenav .links{display:flex;gap:26px;align-items:center;flex-wrap:wrap;}
.sitenav .links a{
  font-family:'Karla',sans-serif;font-size:0.74rem;letter-spacing:0.16em;
  text-transform:uppercase;text-decoration:none;font-weight:500;opacity:0.88;
  transition:opacity .15s ease;padding-bottom:3px;
}
.sitenav .links a:hover{opacity:1;}
.sitenav .links a.active{opacity:1;border-bottom:1px solid var(--gold);}

/* nav over the video hero (home) */
.hero-nav{position:absolute;top:0;left:0;right:0;z-index:4;color:#fff;}
.hero-nav .brand,.hero-nav .links a{color:#fff;}

/* solid nav bar (inner pages) */
.topbar{background:var(--deep);color:#fff;border-bottom:1px solid rgba(255,255,255,0.08);}
.topbar .brand,.topbar .links a{color:#fff;}

/* ---------- Hero (home) ---------- */
.hero{position:relative;height:62vh;min-height:460px;max-height:620px;overflow:hidden;background:var(--deep);}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(28,26,36,0.35) 0%, rgba(28,26,36,0.30) 50%, rgba(28,26,36,0.55) 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;
}
.hero-logo{width:min(600px,88vw);margin-bottom:18px;}
.hero-tag{
  color:rgba(255,255,255,0.9);letter-spacing:0.28em;text-transform:uppercase;
  font-size:0.72rem;font-weight:400;margin-top:4px;
}

/* ---------- Mission band ---------- */
.mission{background:var(--deep2);color:#fff;text-align:center;padding:64px 28px;border-bottom:2px solid var(--gold);}
.mission .line{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.6rem,3.4vw,2.3rem);margin-bottom:14px;}
.mission p{max-width:56ch;margin:0 auto;color:rgba(255,255,255,0.78);font-size:0.98rem;}

/* ---------- Author gallery / cards ---------- */
.gallery{padding:74px 0;background:var(--paper);}
.gallery .head{text-align:center;margin-bottom:48px;}
.gallery h2{font-size:clamp(1.9rem,3.8vw,2.6rem);margin-bottom:10px;}
.gallery .sub{color:var(--sage);max-width:56ch;margin:0 auto;font-size:0.98rem;}
.author-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.author-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  text-decoration:none;color:inherit;transition:transform .18s ease;
}
.author-card:hover{transform:translateY(-5px);}
.author-card:hover .name{color:var(--rust);}
.avatar{
  width:180px;height:180px;border-radius:50%;overflow:hidden;background:var(--cream);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 28px rgba(28,26,36,0.12);
}
.avatar img{width:100%;height:100%;object-fit:cover;}
.avatar.placeholder{background:var(--deep);}
.avatar.placeholder img{width:62%;height:auto;object-fit:contain;opacity:0.9;}
.author-card .name{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:600;margin-top:20px;transition:color .15s ease;}
.author-card .role{font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-top:8px;}
.author-card .tag{color:var(--sage);font-size:0.9rem;margin-top:8px;max-width:30ch;}

/* ---------- Author page: hero band ---------- */
.author-hero{background:var(--deep);color:#fff;padding:66px 0;text-align:center;}
.author-hero .avatar{width:200px;height:200px;margin:0 auto 26px;border-color:var(--lightline);}
.author-hero h1{font-size:clamp(2.2rem,5vw,3.2rem);color:#fff;font-weight:600;}
.author-hero .role{font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-top:12px;}
.author-hero .tagline{max-width:60ch;margin:20px auto 0;color:rgba(244,239,230,0.85);font-size:1.02rem;font-style:italic;font-family:'Cormorant Garamond',serif;}

/* ---------- Generic content section ---------- */
.section{padding:70px 0;}
.section.cream{background:var(--paper);}
.section.deepbg{background:var(--deep);color:var(--cream);}
.section.deepbg h2,.section.deepbg h3{color:#fff;}
.section h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:18px;font-style:italic;}
.section .eyebrow{font-size:0.74rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.section p{margin:0 0 16px;font-size:0.99rem;}
.section.deepbg p{color:rgba(244,239,230,0.82);}
.prose{max-width:66ch;}

/* ---------- Book feature (cover + details) ---------- */
.book{display:grid;grid-template-columns:230px 1fr;gap:44px;align-items:start;}
.book .cover img{border-radius:2px;box-shadow:0 12px 32px rgba(0,0,0,0.3);}
.cover-ph{
  aspect-ratio:2/3;border-radius:2px;background:linear-gradient(160deg,#2f2b3d,#201d2b);
  border:1px solid var(--lightline);display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:24px;color:rgba(255,255,255,0.72);
}
.cover-ph .ph-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;color:#fff;margin-bottom:10px;}
.cover-ph .ph-note{font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);}
.book h3{font-size:clamp(1.5rem,3vw,2.1rem);font-style:italic;margin-bottom:6px;}
.book .status{display:inline-block;font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);border-radius:2px;padding:5px 12px;margin-bottom:18px;}

/* ---------- Buttons ---------- */
.btns{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;
  font-family:'Karla',sans-serif;font-weight:600;font-size:0.8rem;letter-spacing:0.08em;
  text-transform:uppercase;text-decoration:none;border-radius:2px;transition:all .18s ease;
  border:1px solid rgba(255,255,255,0.4);color:#fff;background:transparent;text-align:center;
}
.btn:hover{background:#fff;color:var(--deep);}
.btn-solid{background:var(--gold);border-color:var(--gold);color:#fff;}
.btn-solid:hover{background:var(--gold-light);border-color:var(--gold-light);color:#fff;}
/* buttons on light backgrounds */
.section.cream .btn,.comingsoon .btn{border-color:var(--rust);color:var(--rust);}
.section.cream .btn:hover,.comingsoon .btn:hover{background:var(--rust);color:#fff;}
.section.cream .btn-solid,.comingsoon .btn-solid{background:var(--gold);border-color:var(--gold);color:#fff;}
.section.cream .btn-solid:hover,.comingsoon .btn-solid:hover{background:var(--gold-light);border-color:var(--gold-light);color:#fff;}

/* ---------- Flagship (Holly's book, deep) ---------- */
.flagship{background:var(--deep);color:var(--cream);padding:72px 0;}
.flagship-grid{display:grid;grid-template-columns:160px 1fr 220px;gap:40px;align-items:start;}
.flagship .cover img{border-radius:2px;box-shadow:0 10px 30px rgba(0,0,0,0.35);}
.flagship h2{font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.15;margin-bottom:22px;color:#fff;font-style:italic;font-weight:500;}
.flagship p{color:rgba(244,239,230,0.82);margin:0 0 16px;font-size:0.98rem;}
.flagship .intro{color:#fff;font-weight:500;margin-top:24px;}
.flagship .btns{margin-top:18px;flex-direction:column;align-items:flex-start;}
.flagship .headshot img{border-radius:2px;}

/* ---------- Reviews ---------- */
.reviews{background:var(--deep);color:var(--cream);padding:10px 0 78px;}
.reviews h2{font-size:clamp(1.6rem,3.2vw,2.3rem);color:#fff;margin-bottom:8px;font-style:italic;}
.stars{color:var(--gold);font-size:1.3rem;letter-spacing:4px;margin-bottom:34px;}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.review p{color:rgba(244,239,230,0.8);font-size:0.92rem;margin:0 0 12px;}
.review cite{color:var(--gold);font-style:normal;font-weight:600;font-size:0.8rem;letter-spacing:0.06em;}

/* ---------- Ideas (image-bg) ---------- */
.ideas{position:relative;overflow:hidden;color:#fff;}
.ideas-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ideas-overlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(28,26,36,0.86) 0%, rgba(28,26,36,0.62) 55%, rgba(28,26,36,0.25) 100%);}
.ideas-inner{position:relative;padding:74px 0;}
.ideas-content{max-width:52%;}
.ideas h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:22px;font-style:italic;}
.ideas p{color:rgba(255,255,255,0.9);margin:0 0 16px;}
.ideas .btn{margin-top:12px;}

/* ---------- Coming soon ---------- */
.comingsoon{background:var(--paper);text-align:center;padding:84px 0;}
.comingsoon .avatar{width:180px;height:180px;margin:0 auto 28px;}
.comingsoon h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:600;margin-bottom:10px;}
.comingsoon .role{font-size:0.76rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;}
.comingsoon .badge{display:inline-block;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--rust);border:1px solid var(--rust);border-radius:2px;padding:7px 16px;margin-bottom:24px;}
.comingsoon p{max-width:56ch;margin:0 auto 16px;color:#3a3733;font-size:1rem;}

/* ---------- Services grid ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:40px;}
.svc-card{
  display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);
  border-radius:3px;padding:34px 30px;transition:transform .18s ease,box-shadow .18s ease;
}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(28,26,36,0.10);}
.svc-card h3{font-size:1.5rem;font-style:italic;margin-bottom:6px;}
.svc-card .badge{display:inline-block;font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.svc-card p{color:var(--sage);font-size:0.94rem;margin:0;}

/* ---------- Footer ---------- */
footer{background:var(--paper);color:var(--ink);padding:64px 0 40px;text-align:center;}
.foot-logo{width:190px;margin:0 auto 26px;}
.foot-statement{max-width:60ch;margin:0 auto 34px;color:#3a3733;font-size:0.98rem;}
.foot-contact{font-size:0.9rem;color:var(--sage);letter-spacing:0.02em;margin-bottom:8px;}
.foot-contact a{color:var(--rust);text-decoration:none;font-weight:600;}
.foot-contact a:hover{border-bottom:1px solid var(--rust);}
.copyright{font-size:0.78rem;color:var(--sage);margin-top:26px;letter-spacing:0.02em;}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .flagship-grid{grid-template-columns:1fr;text-align:center;justify-items:center;}
  .flagship .cover img{width:160px;}
  .flagship .headshot{max-width:240px;}
  .flagship .btns{align-items:center;}
  .reviews-grid{grid-template-columns:1fr;}
  .ideas-content{max-width:100%;}
  .ideas-overlay{background:linear-gradient(180deg, rgba(28,26,36,0.75) 0%, rgba(28,26,36,0.85) 100%);}
}
@media (max-width:760px){
  .sitenav{flex-direction:column;gap:12px;padding:16px 20px;text-align:center;}
  .sitenav .links{gap:18px;justify-content:center;}
  .author-grid{grid-template-columns:1fr;gap:48px;}
  .book{grid-template-columns:1fr;justify-items:center;text-align:center;}
  .book .cover,.book .cover-ph{max-width:220px;}
  .book .btns{justify-content:center;}
  .svc-grid{grid-template-columns:1fr;}
}
