/* Harmony's Heart theme v3 — shared basics. Page sections carry their own styles from Mockups v19. */
:root{
  --cream:#FFF8EE; --bark:#2A2522; --coral:#B8472F; --gold:#F2B544; --green:#2F5D46; --teal:#7FC4C0;
  --green-tint:#DDEDE4; --gold-tint:#FCE3A6; --coral-tint:#FDE7E1; --line:#EADFCF;
  --display:"Fraunces", Georgia, "Times New Roman", serif;
  --body:"Nunito", "Trebuchet MS", system-ui, sans-serif;
  color-scheme: light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--cream);color:var(--bark);font:17px/27px var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--green)}a:hover{color:var(--bark)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.hh-skip{position:absolute;left:16px;top:-60px;z-index:100;padding:10px 16px;border-radius:999px;background:var(--green);color:var(--cream);font-weight:800;text-decoration:none}
.hh-skip:focus{top:12px;color:var(--cream)}

/* Header */
.hh-header{max-width:1200px;margin:0 auto;padding:28px 24px;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.hh-brand{font:600 26px/32px var(--display);color:var(--bark);text-decoration:none}
.hh-brand img{display:block;max-height:48px;width:auto}
.hh-nav{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:16px;line-height:24px;font-weight:700}
.hh-nav a{color:var(--green);text-decoration:none;padding:10px 0}
.hh-nav a:hover,.hh-nav a[aria-current="page"]{color:var(--bark);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}

/* Footer */
.hh-footer{background:var(--green);color:var(--cream)}
.hh-footer-inner{max-width:1200px;margin:0 auto;padding:56px 24px;display:flex;flex-wrap:wrap;gap:24px 48px;align-items:center;justify-content:space-between}
.hh-footer-brand{display:flex;flex-direction:column;gap:6px}
.hh-footer-brand p{margin:0}
.hh-footer-title{font:600 26px/32px var(--display)}
.hh-footer .hh-nav a{color:var(--cream)}
.hh-footer .hh-nav a:hover{color:var(--gold-tint)}
.hh-footer-copy{margin:0;width:100%;font-size:14px;line-height:21px}

/* Shared bits */
.hh-wrap{max-width:1200px;margin:0 auto;padding:0 24px 96px}
.hh-eyebrow{margin:0;font-size:13px;line-height:16px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.hh-eyebrow a{color:inherit;text-decoration:none}
.hh-big{margin:0;font-size:20px;line-height:30px}
.hh-small{margin:0;font-size:14px;line-height:21px}
.hh-section-head{display:flex;flex-direction:column;gap:8px;margin-bottom:32px;max-width:720px}
.hh-section-head h1,.hh-section-head h2{margin:0;font:600 40px/46px var(--display)}
.hh-btn{display:inline-flex;align-items:center;min-height:52px;padding:14px 30px;border-radius:999px;background:var(--coral);color:#fff;font-size:18px;line-height:24px;font-weight:800;text-decoration:none}
.hh-btn:hover{color:#fff;background:#9E3C27}

/* Post cards */
.hh-latest{padding-top:24px}
.hh-list{padding-top:48px}
.hh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.hh-card{border:2px solid var(--green-tint);border-radius:24px;overflow:hidden;background:#fff0}
.hh-card-link{display:flex;flex-direction:column;height:100%;color:var(--bark);text-decoration:none}
.hh-card-link:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.hh-card-img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.hh-card-body{padding:24px 28px 28px;display:flex;flex-direction:column;gap:10px}
.hh-card-body h3{margin:0;font:600 24px/30px var(--display)}
.hh-card-body p{margin:0}
.tag-rees-blog.hh-card{border-color:var(--coral-tint)}
.pagination{display:flex;gap:16px;align-items:center;justify-content:center;margin-top:40px;font-weight:700}
.pagination a{color:var(--green)}

/* Articles and pages */
.hh-article{max-width:760px;margin:0 auto;padding:40px 24px 64px}
.hh-article-head{display:flex;flex-direction:column;gap:14px;margin-bottom:32px}
.hh-article-head h1{margin:0;font:600 clamp(36px,6vw,52px)/1.1 var(--display);letter-spacing:-.01em}
.hh-article-image{margin:0 0 40px}
.hh-article-image img{display:block;width:100%;border-radius:24px}
.hh-article-image figcaption{margin-top:8px;font-size:14px;line-height:21px;text-align:center}
.hh-extra{padding-top:0}
.hh-extra .hh-content{max-width:760px;margin:0 auto}
.gh-content{font-size:19px;line-height:31px}
.gh-content > * + *{margin-top:1.1em;margin-bottom:0}
.gh-content h2{font:600 32px/40px var(--display);margin-top:1.6em}
.gh-content h3{font:600 24px/32px var(--display);margin-top:1.4em}
.gh-content blockquote{margin-left:0;padding:8px 0 8px 24px;border-left:4px solid var(--gold);font:600 24px/34px var(--display)}
.gh-content img{border-radius:14px;height:auto}
.gh-content a{text-decoration-thickness:2px;text-underline-offset:3px}
.gh-content figure{margin-left:0;margin-right:0}
.gh-content figcaption{font-size:14px;line-height:21px;text-align:center;margin-top:8px}
.gh-content hr{border:0;border-top:2px solid var(--line);margin:2em 0}
.kg-width-wide{position:relative;width:85vw;min-width:100%;max-width:1100px;left:50%;transform:translateX(-50%)}
.kg-width-full{position:relative;width:100vw;left:50%;transform:translateX(-50%)}
.kg-width-full img{border-radius:0}

/* Sign-up forms (Ghost members) */
.hh-signup{max-width:1200px;margin:0 auto;padding:0 24px 96px;display:flex;flex-wrap:wrap;gap:48px;align-items:center;justify-content:space-between}
.hh-signup-copy{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:12px}
.hh-signup-copy h2{margin:0;font:600 40px/46px var(--display)}
.hh-signup-form{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:8px}
.hh-signup-form label{font-size:14px;line-height:21px;font-weight:700}
.hh-signup-row{display:flex;flex-wrap:wrap;gap:12px}
.hh-signup-row input[type=email]{flex:1 1 240px;min-width:0;min-height:52px;padding:12px 20px;border-radius:999px;border:2px solid var(--green);background:var(--cream);color:var(--bark);font:17px var(--body)}
.hh-signup-row button{min-height:52px;padding:14px 30px;border:0;border-radius:999px;background:var(--coral);color:#fff;font:800 18px/24px var(--body);cursor:pointer}
.hh-signup-row button:hover{background:#9E3C27}
.hh-signup-form.loading button{opacity:.7;cursor:progress}
.hh-form-msg{display:none;margin:0;font-size:15px;line-height:23px;font-weight:700}
.hh-signup-form.success .hh-form-ok{display:block;color:var(--green)}
.hh-signup-form.error .hh-form-err{display:block;color:var(--coral)}
.hh-article + .hh-signup{padding-top:16px;border-top:2px solid var(--line);max-width:1152px;padding-top:56px}

.hh-error{padding-top:80px;max-width:760px;display:flex;flex-direction:column;gap:16px}
.hh-error h1{margin:0;font:600 clamp(36px,6vw,52px)/1.1 var(--display)}

@media (max-width: 640px){
  .hh-section-head h1,.hh-section-head h2,.hh-signup-copy h2{font-size:32px;line-height:38px}
}
