/* Hardgrove Family Updates — modeled on the WordPress "Intergalactic" theme */
@font-face{font-family:Lato;font-weight:300;font-style:normal;font-display:swap;src:url(fonts/lato-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:400;font-style:normal;font-display:swap;src:url(fonts/lato-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:400;font-style:italic;font-display:swap;src:url(fonts/lato-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:700;font-style:normal;font-display:swap;src:url(fonts/lato-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:900;font-style:normal;font-display:swap;src:url(fonts/lato-latin-900-normal.woff2) format("woff2")}

:root{
  --text:#333; --muted:#777; --title:#7a7a7a; --bg:#fff; --line:#e4e4e4; --soft:#f5f5f5;
  --overlay:rgba(0,0,0,.5); --accent:#2a6f97;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:300 19px/1.65 Lato,"Helvetica Neue",Helvetica,Arial,sans-serif}
a{color:var(--accent)}
img,video{max-width:100%;height:auto;display:block}

/* ---------- header ---------- */
.site-header{position:relative;text-align:center;padding:84px 20px 56px}
.site-title{margin:0 auto;max-width:1400px;font-weight:700;text-transform:uppercase;letter-spacing:-.01em;
  font-size:clamp(40px,8.4vw,128px);line-height:1.05}
.site-title a{color:var(--title);text-decoration:none}
body.single .site-header{padding:70px 20px 34px}
body.single .site-title{font-size:clamp(30px,5vw,64px)}

.menu-toggle{position:absolute;top:22px;right:24px;display:flex;align-items:center;gap:10px;
  background:#fff;border:2px solid #666;color:#555;font:700 22px/1 Lato,sans-serif;text-transform:uppercase;
  padding:12px 16px;cursor:pointer}
.menu-toggle:hover{background:#555;color:#fff}
.menu-toggle .bars,.menu-toggle .bars:before,.menu-toggle .bars:after{display:block;width:22px;height:3px;background:currentColor;position:relative}
.menu-toggle .bars:before,.menu-toggle .bars:after{content:"";position:absolute;left:0}
.menu-toggle .bars:before{top:-7px}.menu-toggle .bars:after{top:7px}

.site-menu{position:fixed;inset:0;z-index:50;background:rgba(20,20,20,.94);display:flex;align-items:center;justify-content:center}
.site-menu[hidden]{display:none}
.site-menu ul{list-style:none;margin:0;padding:0;text-align:center}
.site-menu li a{display:block;color:#fff;text-decoration:none;text-transform:uppercase;font-weight:700;font-size:clamp(26px,5vw,44px);padding:10px 20px}
.site-menu li a:hover{text-decoration:underline}
.menu-close{position:absolute;top:18px;right:24px;background:none;border:0;color:#fff;font-size:54px;line-height:1;cursor:pointer}

/* ---------- hero blocks (home cards + post headers) ---------- */
.hero{position:relative;background:#555 center/cover no-repeat;color:#fff;text-align:center;
  display:flex;align-items:center;justify-content:center;min-height:86vh;padding:90px 20px}
.hero:before{content:"";position:absolute;inset:0;background:var(--overlay)}
.hero.no-image{background:#4a4a4a;min-height:0;padding:70px 20px}
.hero-inner{position:relative;max-width:900px}
.entry-title{margin:0 0 14px;font-weight:700;text-transform:uppercase;line-height:1.1;font-size:clamp(32px,5vw,64px);text-shadow:0 1px 12px rgba(0,0,0,.25)}
.entry-title a{color:#fff;text-decoration:none}
.entry-meta{margin:0 0 30px;font-size:15px;text-transform:uppercase;letter-spacing:.12em;opacity:.85}
.excerpt{font-size:clamp(18px,2vw,24px);line-height:1.6;margin:0 auto 46px;max-width:880px;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.button{display:inline-block;border:2px solid #fff;color:#fff;background:transparent;text-decoration:none;
  text-transform:uppercase;font:700 20px/1 Lato,sans-serif;padding:20px 40px;min-width:280px;cursor:pointer}
.button:hover{background:#fff;color:#333}
.card + .card{border-top:1px solid #000}
body.single .hero{min-height:62vh}
body.single .hero .entry-meta{margin:0}

/* ---------- post content ---------- */
.entry-content{max-width:780px;margin:0 auto;padding:56px 22px 30px}
.entry-content p{margin:0 0 1.2em}
.entry-content h2{font-weight:700;text-transform:uppercase;font-size:28px;margin:1.6em 0 .6em}
.entry-content blockquote{margin:1.5em 0;padding:4px 0 4px 22px;border-left:4px solid var(--line);font-style:italic;color:#555}
.entry-content figure{margin:36px 0}
.entry-content figure img,.entry-content figure video{margin:0 auto;max-height:90vh;width:auto}
.entry-content figure.wp-img img{border-radius:2px}
figcaption{font-size:16px;color:var(--muted);text-align:center;margin-top:10px;line-height:1.45}
.wp-video video{width:100%;max-height:80vh;background:#000}
.wp-video .embed{position:relative;padding-top:56.25%}
.wp-video .embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.wp-video.missing{display:none}

.gallery{display:grid;gap:6px;margin:36px 0}
.gallery.cols-2{grid-template-columns:repeat(2,1fr)}
.gallery.cols-3{grid-template-columns:repeat(3,1fr)}
.gallery figure{margin:0!important;display:flex;flex-direction:column}
.gallery a{display:block;flex:1}
.gallery img{width:100%!important;height:100%;aspect-ratio:1;object-fit:cover;max-height:none!important}
.gallery figcaption{font-size:14px;margin:6px 4px 4px}
.gallery .gallery-caption{grid-column:1/-1}
@media (min-width:1000px){.entry-content .gallery{margin-left:-90px;margin-right:-90px}}
@media (max-width:520px){.gallery.cols-3{grid-template-columns:repeat(2,1fr)}}

/* lightbox */
.lb{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:20px}
.lb img{max-width:100%;max-height:100%;object-fit:contain}

/* ---------- post navigation / pagination ---------- */
.post-nav,.pagination{max-width:780px;margin:0 auto;padding:30px 22px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line)}
.post-nav a{text-decoration:none;color:var(--text);font-weight:700;max-width:48%}
.post-nav a span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:400}
.post-nav .next{text-align:right;margin-left:auto}
.pagination{max-width:none;border:0;padding:46px 24px;align-items:center;font-weight:700;text-transform:uppercase;font-size:17px}
.pagination a{color:#555;text-decoration:none;border:2px solid #666;padding:14px 22px}
.pagination a:hover{background:#555;color:#fff}
.page-num{color:var(--muted);font-weight:400}

/* ---------- comments ---------- */
.comments{max-width:780px;margin:0 auto;padding:20px 22px 60px;border-top:1px solid var(--line)}
.comments-title{font-weight:700;text-transform:uppercase;font-size:24px}
.comment-list,.comment-list .children{list-style:none;margin:0;padding:0}
.comment-list .children{margin-left:28px;border-left:2px solid var(--line);padding-left:18px}
.comment{padding:14px 0 4px}
.comment-meta{font-size:16px}.comment-meta time{color:var(--muted);margin-left:6px;font-size:14px}
.comment-body p{margin:.3em 0 .6em}
.comment .reply{background:none;border:0;padding:0;color:var(--accent);font:400 14px Lato,sans-serif;cursor:pointer;margin-bottom:6px}
.no-comments,.loading{color:var(--muted)}
.comment-form{margin-top:30px;background:var(--soft);padding:24px}
.comment-form h3{margin:0 0 14px;text-transform:uppercase;font-size:19px}
.comment-form label{display:block;font-weight:400;font-size:16px;margin-bottom:14px}
.comment-form input,.comment-form textarea{display:block;width:100%;margin-top:4px;font:400 17px/1.5 Lato,sans-serif;padding:10px 12px;border:1px solid #bbb;background:#fff;color:var(--text)}
.comment-form .button{border-color:#555;color:#555;min-width:0;padding:15px 28px;font-size:17px;margin-top:6px}
.comment-form .button:hover{background:#555;color:#fff}
.comment-form .hp{position:absolute;left:-9999px}
.form-note,.preview-note{font-size:14px;color:var(--muted);margin:10px 0 0}
.form-status{font-size:16px;margin:10px 0 0}
.form-status.ok{color:#2e7d32}.form-status.err{color:#b3261e}
.cf-turnstile{margin:6px 0 10px;min-height:0}

/* ---------- archive ---------- */
.year-jump{text-align:center;font-weight:700}
.archive h2{border-bottom:1px solid var(--line);padding-bottom:6px}
.archive-list{list-style:none;margin:0;padding:0}
.archive-list a{display:flex;align-items:center;gap:16px;padding:8px 0;text-decoration:none;color:var(--text)}
.archive-list a:hover .t{text-decoration:underline}
.archive-list img,.archive-list .noimg{width:64px;height:64px;object-fit:cover;flex:none;background:var(--soft)}
.archive-list .t{flex:1;font-weight:400}
.archive-list time{color:var(--muted);font-size:15px;white-space:nowrap}

.site-footer{text-align:center;color:var(--muted);font-size:15px;padding:40px 20px;border-top:1px solid var(--line)}
.site-footer a{color:var(--muted)}

@media (max-width:640px){
  body{font-size:18px}
  .site-header{padding:86px 16px 40px}
  .menu-toggle{top:16px;right:16px;font-size:18px;padding:10px 12px}
  .hero{min-height:78vh;padding:70px 16px}
  .button{min-width:0;width:100%;padding:18px 20px}
  .entry-content,.comments,.post-nav{padding-left:16px;padding-right:16px}
  .pagination{padding:30px 16px;font-size:14px}.pagination a{padding:12px 14px}
}
