/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com/
Description: Child theme for GeneratePress on andrewlaker.com.
Author: Andrew Laker
Template: generatepress
Version: 1.0.0
Text Domain: generatepress-child
*/

/* Hide author bylines while retaining other post metadata. */
.byline,
.entry-meta .byline {
    display: none !important;
}

/* ANDREW LAKER — BLOG / FIELD NOTES
   Append this to the bottom of your EXISTING child theme style.css.
   Do not replace your existing CSS. */
body.blog .al-blog-area { float: none; width: 100%; }
body.blog .al-blog { max-width: 1580px; margin: 0 auto; padding: 54px 38px 105px; }
body.blog .site-content { display: block; }
body.blog .al-blog-eyebrow { display: block; font-size: 12px; font-weight: 800; letter-spacing: .17em; line-height: 1.5; }
body.blog .al-blog-dot { color: #276f70; }
body.blog .al-blog-intro { padding: 30px 4.5% 75px; }
body.blog .al-blog-intro h1 { font-size: clamp(48px, 7.6vw, 116px); font-weight: 800; line-height: .99; letter-spacing: -.065em; margin: 27px 0 34px; max-width: 1220px; }
body.blog .al-blog-intro p { max-width: 720px; font-size: clamp(19px, 2.15vw, 29px); line-height: 1.35; margin: 0; }
body.blog .al-featured-post { background: #111; color: #f4f2ec; overflow: hidden; }
body.blog .al-featured-inner { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(180px, .65fr); min-height: 510px; }
body.blog .al-featured-copy { padding: clamp(32px, 6vw, 95px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
body.blog .al-featured-label { font-size: 12px; font-weight: 800; letter-spacing: .17em; color: #a9d6c9; }
body.blog .al-featured-copy h2 { font-size: clamp(38px, 5.3vw, 82px); line-height: 1.04; letter-spacing: -.055em; font-weight: 800; margin: 28px 0; }
body.blog .al-featured-copy h2 a { color: inherit; text-decoration: none; }
body.blog .al-featured-copy h2 a:hover { color: #a9d6c9; }
body.blog .al-featured-copy p { font-size: clamp(17px, 1.4vw, 21px); line-height: 1.55; color: #d1d0cd; max-width: 690px; margin: 0 0 36px; }
body.blog .al-featured-link { color: #b1dcd0; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 7px; font-weight: 700; font-size: 16px; }
body.blog .al-featured-link:hover { color: #fff; }
body.blog .al-featured-art { display: flex; align-items: flex-end; justify-content: center; overflow: hidden; background: #191919; }
body.blog .al-featured-art > span { font-size: clamp(180px, 26vw, 390px); line-height: .73; font-weight: 900; letter-spacing: -.13em; color: #292929; transform: translate(-12%, 4%); white-space: nowrap; }
body.blog .al-art-dot { color: #276f70; }
body.blog .al-blog-list-heading { padding: 95px 4.5% 34px; }
body.blog .al-blog-list-heading h2 { font-size: clamp(38px, 5vw, 70px); font-weight: 800; letter-spacing: -.055em; line-height: 1.05; margin: 14px 0 0; }
body.blog .al-blog-list { margin: 0 4.5%; border-top: 1px solid #d9d9d6; }
body.blog .al-blog-item { display: grid; grid-template-columns: 170px minmax(0,1fr) 50px; gap: 28px; padding: 32px 0 38px; border-bottom: 1px solid #d9d9d6; }
body.blog .al-blog-item-meta { color: #666; font-size: 14px; padding-top: 8px; }
body.blog .al-blog-item h3 { font-size: clamp(24px, 2.7vw, 40px); font-weight: 750; line-height: 1.15; letter-spacing: -.035em; margin: 0 0 12px; }
body.blog .al-blog-item h3 a { color: #111; text-decoration: none; }
body.blog .al-blog-item h3 a:hover { color: #276f70; }
body.blog .al-blog-item p { color: #555; font-size: 17px; line-height: 1.55; margin: 0; }
body.blog .al-blog-item-arrow { font-size: 28px; color: #276f70; text-decoration: none; justify-self: end; }
body.blog .al-blog-archive-heading { padding: 24px 4.5% 60px; }
body.blog .al-blog-archive-heading h1 { font-size: clamp(45px, 6vw, 90px); letter-spacing: -.06em; font-weight: 800; line-height: 1; margin: 22px 0 0; }
body.blog .al-blog-pagination { padding: 42px 4.5% 0; }
body.blog .al-blog-pagination .nav-links { display: flex; gap: 20px; flex-wrap: wrap; }
body.blog .al-blog-pagination a, body.blog .al-blog-pagination .current { padding: 7px 10px; }
body.blog .al-blog-empty { padding: 30px 4.5%; }
@media (max-width: 800px) {
  body.blog .al-blog { padding: 20px 20px 70px; }
  body.blog .al-blog-intro { padding: 35px 0 55px; }
  body.blog .al-blog-intro h1 { letter-spacing: -.055em; }
  body.blog .al-featured-inner { display: block; min-height: 0; }
  body.blog .al-featured-copy { padding: 42px 28px 55px; }
  body.blog .al-featured-art { display: none; }
  body.blog .al-blog-list-heading { padding: 65px 0 25px; }
  body.blog .al-blog-list { margin: 0; }
  body.blog .al-blog-item { grid-template-columns: minmax(0,1fr) 35px; gap: 8px 12px; }
  body.blog .al-blog-item-meta { grid-column: 1 / -1; padding: 0 0 8px; }
  body.blog .al-blog-item-copy { grid-column: 1; }
  body.blog .al-blog-item-arrow { grid-column: 2; grid-row: 2; }
  body.blog .al-blog-archive-heading { padding: 40px 0; }
}

/* ANDREW LAKER — SINGLE POST EDITORIAL DESIGN
   Append to the bottom of the EXISTING GeneratePress child style.css. */
body.single-post .site-content { display: block; }
body.single-post .al-article-area { float: none; width: 100%; }
body.single-post .al-article-layout { width: 100%; max-width: none; margin: 0; }
body.single-post .al-article { padding: 80px 32px 110px; }
body.single-post .al-article-header { max-width: 1120px; margin: 0 auto 64px; }
body.single-post .al-article-kicker { color: #276f70; font-size: 12px; font-weight: 800; letter-spacing: .16em; line-height: 1.6; text-transform: uppercase; }
body.single-post .al-article-kicker span { padding: 0 9px; color: #999; }
body.single-post .al-article-title { font-size: clamp(48px, 6.6vw, 104px); line-height: 1.02; letter-spacing: -.06em; font-weight: 800; color: #1d1d1d; max-width: 1080px; margin: 30px 0 48px; overflow-wrap: break-word; }
body.single-post .al-article-rule { width: 74px; height: 7px; background: #276f70; }
body.single-post .al-article-cover { max-width: 1120px; margin: 0 auto 72px; }
body.single-post .al-article-cover img { display: block; width: 100%; height: auto; }
body.single-post .al-article-body { max-width: 760px; margin: 0 auto; color: #252525; font-size: 19px; line-height: 1.8; }
body.single-post .al-article-body > *:first-child { margin-top: 0; }
body.single-post .al-article-body p { margin-bottom: 1.55em; }
body.single-post .al-article-body h2 { font-size: clamp(30px, 3.5vw, 43px); line-height: 1.17; font-weight: 800; letter-spacing: -.035em; margin: 2em 0 .65em; }
body.single-post .al-article-body h3 { font-size: clamp(24px, 2.5vw, 30px); line-height: 1.25; font-weight: 750; letter-spacing: -.025em; margin: 1.8em 0 .6em; }
body.single-post .al-article-body h4 { font-size: 22px; font-weight: 750; margin: 1.7em 0 .5em; }
body.single-post .al-article-body a { color: #276f70; text-underline-offset: .17em; }
body.single-post .al-article-body a:hover { color: #174748; }
body.single-post .al-article-body ul, body.single-post .al-article-body ol { margin: 0 0 1.55em 1.4em; }
body.single-post .al-article-body li { margin-bottom: .4em; }
body.single-post .al-article-body blockquote { margin: 2.2em 0; padding: 8px 0 8px 28px; border-left: 5px solid #276f70; font-size: 1.25em; line-height: 1.5; }
body.single-post .al-article-body img { max-width: 100%; height: auto; }
body.single-post .al-article-body figure { margin-top: 2.1em; margin-bottom: 2.1em; }
body.single-post .al-article-body figcaption { color: #666; font-size: 14px; line-height: 1.5; margin-top: 10px; }
body.single-post .al-article-body pre { padding: 22px; overflow-x: auto; background: #181818; color: #f5f3ef; border-radius: 0; font-size: 15px; line-height: 1.6; }
body.single-post .al-article-body code { overflow-wrap: anywhere; }
body.single-post .al-article-body pre code { overflow-wrap: normal; }
body.single-post .al-article-body hr { border: 0; border-top: 1px solid #d6d6d6; margin: 2.8em 0; }
body.single-post .al-article-body .alignwide { width: min(1000px, calc(100vw - 64px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
body.single-post .al-article-body .alignfull { width: calc(100vw - 64px); max-width: none; margin-left: 50%; transform: translateX(-50%); }
body.single-post .al-article-footer { max-width: 1120px; margin: 100px auto 0; padding: clamp(32px, 5vw, 72px); background: #111; color: #f4f2ec; }
body.single-post .al-article-footer-label { font-size: 12px; font-weight: 800; letter-spacing: .17em; color: #a9d6c9; }
body.single-post .al-article-footer p { font-size: clamp(28px, 4vw, 52px); font-weight: 800; line-height: 1.12; letter-spacing: -.04em; max-width: 720px; margin: 24px 0 34px; }
body.single-post .al-article-footer a { color: #a9d6c9; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 6px; font-weight: 700; }
body.single-post .al-article-footer a:hover { color: #fff; }
body.single-post .al-article-comments { max-width: 760px; margin: 0 auto 80px; padding: 0 24px; }
@media (max-width: 767px) {
  body.single-post .al-article { padding: 45px 20px 70px; }
  body.single-post .al-article-header { margin-bottom: 38px; }
  body.single-post .al-article-title { margin: 22px 0 30px; }
  body.single-post .al-article-body { font-size: 17px; line-height: 1.75; }
  body.single-post .al-article-cover { margin-bottom: 38px; }
  body.single-post .al-article-body .alignwide, body.single-post .al-article-body .alignfull { width: calc(100vw - 40px); }
  body.single-post .al-article-footer { margin-top: 65px; }
}




