:root {
  --lwg-cream: #FBFAF3;
  --lwg-white: #FFFFFF;
  --lwg-ink: #193027;
  --lwg-muted: #52665D;
  --lwg-line: #D9E4DB;
  --lwg-green: #2C7757;
}

body { color: var(--lwg-ink); }
body .lwg-site-header,
body .lwg-site-footer,
body .lwg-home,
body .lwg-guides,
body .lwg-about { font-family: Manrope, sans-serif; }
body .lwg-site-header *,
body .lwg-site-footer *,
body .lwg-home *,
body .lwg-guides *,
body .lwg-about * { box-sizing: border-box; }

.lwg-site-header {
  background: var(--lwg-white);
  border-bottom: 1px solid var(--lwg-line);
  margin-block-start: 0;
}
.lwg-site-header .lwg-header-inner {
  align-items: center;
  gap: 24px;
  max-width: 1228px;
  margin-inline: auto;
  padding: 15px 24px;
}
.lwg-brand {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  white-space: nowrap;
}
.lwg-brand .wp-block-site-logo { margin: 0; }
.lwg-brand .wp-block-site-logo img {
  border-radius: 9px;
  display: block;
  height: 46px;
  width: 46px;
}
.lwg-brand .wp-block-site-title { margin: 0; }
.lwg-brand .wp-block-site-title a {
  color: var(--lwg-ink);
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: -0.035em;
  text-decoration: none;
}
.lwg-main-nav { margin-left: auto; }
.lwg-main-nav .wp-block-navigation-item__content {
  color: var(--lwg-ink);
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
}
.lwg-main-nav .wp-block-navigation-item__content:hover { color: var(--lwg-green); }

.lwg-site-footer {
  background: var(--lwg-ink);
  color: var(--lwg-white);
  margin-top: clamp(70px, 8vw, 110px);
  padding: clamp(44px, 6vw, 74px) max(24px, calc((100vw - 1180px) / 2));
}
.lwg-site-footer .lwg-footer-grid { gap: 40px; margin-bottom: 46px; }
.lwg-site-footer .lwg-brand .wp-block-site-title a,
.lwg-site-footer h3,
.lwg-site-footer a { color: var(--lwg-white); }
.lwg-site-footer .lwg-footer-brand p {
  color: var(--lwg-line);
  font-size: 0.96rem;
  margin-top: 15px;
  max-width: 37ch;
}
.lwg-site-footer .lwg-footer-links h3 {
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 15px;
}
.lwg-site-footer .lwg-footer-nav {
  justify-content: flex-start;
  margin: 0;
}
.lwg-site-footer .lwg-footer-nav a { color: var(--lwg-line); font-size: 0.9rem; }
.lwg-site-footer .lwg-footer-nav a:hover { color: var(--lwg-white); text-decoration: underline; }
.lwg-site-footer .lwg-footer-bottom {
  border-top: 1px solid var(--lwg-muted);
  color: var(--lwg-line);
  font-size: 0.79rem;
  padding-top: 20px;
}
.lwg-site-footer .lwg-footer-bottom p { margin-block: 0 6px; }

body.page-id-28 .wp-block-post-title,
body.page-id-29 .wp-block-post-title,
body.page-id-30 .wp-block-post-title { display: none; }
body.page-id-28 main#wp--skip-link--target,
body.page-id-29 main#wp--skip-link--target,
body.page-id-30 main#wp--skip-link--target { margin-block-start: 0 !important; }
body.page-id-28 main#wp--skip-link--target > .wp-block-group,
body.page-id-29 main#wp--skip-link--target > .wp-block-group,
body.page-id-30 main#wp--skip-link--target > .wp-block-group { padding-block: 0 !important; }
body.page-id-28 .wp-block-post-content,
body.page-id-29 .wp-block-post-content,
body.page-id-30 .wp-block-post-content { margin-block-start: 0; }
body.page-id-28 .wp-block-post-featured-image { display: none; }

.lwg-home, .lwg-guides, .lwg-about { color: var(--lwg-ink); }
.lwg-home h1, .lwg-home h2, .lwg-home h3,
.lwg-guides h1, .lwg-guides h2, .lwg-guides h3,
.lwg-about h1, .lwg-about h2, .lwg-about h3 {
  color: var(--lwg-ink);
  font-family: Manrope, sans-serif;
  letter-spacing: -0.035em;
  line-height: 1.12;
}
.lwg-home p, .lwg-guides p, .lwg-about p { line-height: 1.65; }
.lwg-home a:focus-visible, .lwg-guides a:focus-visible,
.lwg-about a:focus-visible, .lwg-site-header a:focus-visible,
.lwg-site-footer a:focus-visible, .lwg-home summary:focus-visible {
  outline: 3px solid var(--lwg-green);
  outline-offset: 4px;
}
.lwg-home .wp-block-button__link,
.lwg-guides .wp-block-button__link,
.lwg-about .wp-block-button__link {
  background: var(--lwg-green);
  border: 1px solid var(--lwg-green);
  border-radius: 8px;
  color: var(--lwg-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.96rem;
  font-weight: 700;
  min-height: 52px;
  padding: 13px 23px;
  text-decoration: none;
  transition: background-color 160ms ease, transform 160ms ease;
}
.lwg-home .wp-block-button__link:hover,
.lwg-guides .wp-block-button__link:hover,
.lwg-about .wp-block-button__link:hover {
  background: var(--lwg-ink);
  transform: translateY(-2px);
}
.lwg-eyebrow p {
  color: var(--lwg-green);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.35;
  text-transform: uppercase;
}

.lwg-home-hero {
  background: var(--lwg-cream);
  border: 1px solid var(--lwg-line);
  border-radius: 12px;
  margin-top: 22px;
  overflow: hidden;
}
.lwg-home-hero-grid { align-items: center; gap: 0; margin: 0; }
.lwg-home-hero-copy { padding: clamp(28px, 5vw, 66px); }
.lwg-home-hero h1 {
  font-size: clamp(2.4rem, 4.8vw, 4.8rem);
  margin-block: 17px 20px;
  max-width: 13ch;
}
.lwg-home-hero-copy > p {
  color: var(--lwg-muted);
  font-size: clamp(1rem, 1.35vw, 1.17rem);
  max-width: 49ch;
}
.lwg-home-hero-copy > p:last-child { font-size: 0.87rem; margin-top: 17px; }
.lwg-home-hero-copy > p:last-child a { color: var(--lwg-green); font-weight: 700; }
.lwg-home-hero-image { align-self: stretch; }
.lwg-home-hero-image figure, .lwg-home-hero-image img { height: 100%; margin: 0; width: 100%; }
.lwg-home-hero-image img { display: block; object-fit: cover; }

.lwg-home-section { padding-block: clamp(58px, 7vw, 96px); }
.lwg-home-section h2 {
  font-size: clamp(1.85rem, 3.4vw, 3.25rem);
  margin-top: 0;
  max-width: 19ch;
}
.lwg-home-section > p { color: var(--lwg-muted); max-width: 68ch; }
.lwg-home-steps {
  border-top: 1px solid var(--lwg-line);
  margin-top: 37px;
  padding-top: 25px;
}
.lwg-home-steps .wp-block-column + .wp-block-column {
  border-left: 1px solid var(--lwg-line);
  padding-left: clamp(18px, 2.5vw, 38px);
}
.lwg-home-steps h3, .lwg-home-approach h3 { font-size: 1.18rem; }
.lwg-home-steps p, .lwg-home-approach p { color: var(--lwg-muted); }
.lwg-home-feature {
  background: var(--lwg-ink);
  border-radius: 12px;
  color: var(--lwg-white);
  padding: clamp(26px, 4vw, 55px);
}
.lwg-home-feature-grid { align-items: center; gap: clamp(25px, 5vw, 70px); }
.lwg-home-feature-image {
  background: var(--lwg-white);
  border-radius: 12px;
  padding: clamp(15px, 2vw, 25px);
}
.lwg-home-feature-image figure { margin: 0; }
.lwg-home-feature-image img { display: block; width: 100%; height: auto; }
.lwg-home-feature h2, .lwg-home-feature p { color: var(--lwg-white); }
.lwg-home-feature h2 { font-size: clamp(1.85rem, 3vw, 2.9rem); max-width: 20ch; }
.lwg-home-feature .lwg-eyebrow p { color: var(--lwg-line); }
.lwg-home-feature-copy > p:last-child { color: var(--lwg-line); font-size: 0.8rem; }
.lwg-home-feature .wp-block-button__link { border-color: var(--lwg-line); }
.lwg-home-approach-grid { border-top: 1px solid var(--lwg-line); padding-top: 25px; }
.lwg-home-approach-grid .wp-block-column + .wp-block-column { border-left: 1px solid var(--lwg-line); padding-left: 30px; }
.lwg-home-approach > p:last-child a { color: var(--lwg-green); font-weight: 700; }
.lwg-home-faq { padding-top: 0; }
.lwg-home-faq details { border-bottom: 1px solid var(--lwg-line); padding-block: 15px; }
.lwg-home-faq summary { cursor: pointer; font-weight: 700; }
.lwg-home-faq details p { color: var(--lwg-muted); }

.lwg-guide-intro, .lwg-about-hero { padding-block: clamp(54px, 7vw, 92px); }
.lwg-guide-intro h1, .lwg-about-hero h1 {
  font-size: clamp(2.25rem, 4.7vw, 4.5rem);
  margin-block: 14px 19px;
  max-width: 17ch;
}
.lwg-guide-intro > p, .lwg-about-hero > p {
  color: var(--lwg-muted);
  font-size: 1.1rem;
  max-width: 65ch;
}
.lwg-guide-feature {
  background: var(--lwg-cream);
  border: 1px solid var(--lwg-line);
  border-radius: 12px;
  padding: clamp(25px, 4vw, 50px);
}
.lwg-guide-feature-grid { align-items: center; gap: clamp(28px, 4vw, 60px); }
.lwg-guide-feature img { display: block; width: 100%; height: auto; }
.lwg-guide-feature h2, .lwg-about-section h2 {
  font-size: clamp(1.75rem, 3vw, 2.7rem);
  margin-top: 0;
}
.lwg-guide-feature p, .lwg-guide-note p, .lwg-about-section p { color: var(--lwg-muted); }
.lwg-guide-feature .wp-block-column:last-child > p:last-child { font-size: 0.8rem; }
.lwg-guide-note { padding-block: clamp(55px, 7vw, 90px); }
.lwg-guide-note a { color: var(--lwg-green); font-weight: 700; }
.lwg-about-section { border-top: 1px solid var(--lwg-line); padding-block: clamp(46px, 6vw, 74px); }
.lwg-about-section p { max-width: 68ch; }
.lwg-about-method-grid { margin-top: 28px; }
.lwg-about-method-grid .wp-block-column + .wp-block-column { border-left: 1px solid var(--lwg-line); padding-left: 30px; }
.lwg-about-method-grid h3 { font-size: 1.18rem; }

@media (max-width: 781px) {
  .lwg-site-header .lwg-header-inner { padding: 12px 20px; }
  .lwg-brand .wp-block-site-title a { font-size: 1rem; }
  .lwg-site-footer .lwg-footer-grid { gap: 24px; }
  .lwg-home-hero-grid { gap: 0; }
  .lwg-home-hero-copy { padding: 28px; }
  .lwg-home-hero-image img { aspect-ratio: 3 / 2; object-fit: cover; }
  .lwg-home-steps .wp-block-column + .wp-block-column,
  .lwg-home-approach-grid .wp-block-column + .wp-block-column,
  .lwg-about-method-grid .wp-block-column + .wp-block-column {
    border-left: 0;
    border-top: 1px solid var(--lwg-line);
    padding-left: 0;
    padding-top: 19px;
  }
}
@media (max-width: 600px) {
  .lwg-site-header .lwg-header-inner { padding-inline: 16px; }
  .lwg-brand { gap: 9px; }
  .lwg-brand .wp-block-site-logo img { height: 38px; width: 38px; }
  .lwg-brand .wp-block-site-title a { font-size: 0.92rem; }
  .lwg-home, .lwg-guides, .lwg-about { padding-inline: 14px; }
  .lwg-home-hero { margin-top: 12px; }
  .lwg-home-hero-copy { padding: 25px 21px; }
  .lwg-home-hero h1 { font-size: clamp(2.05rem, 9vw, 2.75rem); }
  .lwg-home-section { padding-block: 47px; }
  .lwg-home-feature { padding: 24px 21px; }
  .lwg-home .wp-block-button, .lwg-home .wp-block-button__link,
  .lwg-guides .wp-block-button, .lwg-guides .wp-block-button__link,
  .lwg-about .wp-block-button, .lwg-about .wp-block-button__link { width: 100%; }
  .lwg-site-footer { padding: 42px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .lwg-home .wp-block-button__link,
  .lwg-guides .wp-block-button__link,
  .lwg-about .wp-block-button__link { transition: none; }
  .lwg-home .wp-block-button__link:hover,
  .lwg-guides .wp-block-button__link:hover,
  .lwg-about .wp-block-button__link:hover { transform: none; }
}

