/*
Theme Name: Labor YIMBY
Theme URI: https://laboryimby.org
Author: Labor YIMBY
Description: Custom theme for Labor YIMBY, ported from the Jekyll site. Red/white brand, Inter typeface.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
Text Domain: laboryimby
*/

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{height:100%;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100%;display:flex;flex-direction:column;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:1rem;line-height:1.7;color:#1F2937;background:#fff}main{flex:1}img{max-width:100%;height:auto;display:block}a{color:#FF3E4F;text-decoration:none;transition:color 200ms ease}a:hover{color:#80000B}ul,ol{padding-left:1.25rem}::selection{background:#FF3E4F;color:#fff}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700;color:#1F2937;margin-bottom:1rem}h1{font-size:2.5rem;letter-spacing:-0.02em}h2{font-size:2rem;letter-spacing:-0.015em}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin-bottom:1rem}.lead{font-size:1.125rem;color:rgba(31,41,55,0.65);line-height:1.8}.section-label{display:inline-block;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#FF3E4F;margin-bottom:1rem}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}.container-narrow{max-width:800px;margin:0 auto;padding:0 2rem}.text-center{text-align:center}.mt-lg{margin-top:3rem}.mb-lg{margin-bottom:3rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:0.8rem 1.8rem;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.875rem;font-weight:600;line-height:1;border:none;border-radius:6px;cursor:pointer;text-decoration:none;transition:all 200ms ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:#FF3E4F;color:#fff}.btn-primary:hover{background:#80000B;color:#fff}.btn-secondary{background:rgba(255,255,255,0.1);color:#fff;border:1px solid rgba(255,255,255,0.2)}.btn-secondary:hover{background:rgba(255,255,255,0.15);color:#fff}.btn-outline{background:transparent;color:#FF3E4F;border:2px solid #FF3E4F}.btn-outline:hover{background:#FF3E4F;color:#fff}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid rgba(31,41,55,0.15);transition:box-shadow 200ms ease}.site-header::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:-1}.site-header.scrolled{box-shadow:0 1px 3px rgba(0,0,0,0.08)}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:68px}.site-logo{display:flex;align-items:center;text-decoration:none}.site-logo img{height:2.2rem;width:auto}.site-logo:hover{opacity:0.85}.site-nav{display:flex;align-items:center;gap:.5rem}.site-nav a{padding:0.5rem 0.9rem;font-size:.875rem;font-weight:500;color:rgba(31,41,55,0.65);border-radius:6px;transition:all 200ms ease}.site-nav a:hover{color:#1F2937;background:#FFB3B9}.site-nav a.active{color:#FF3E4F;background:rgba(255,62,79,0.08);font-weight:600}.site-nav .nav-cta{background:#FF3E4F;color:#fff !important;font-weight:600;padding:0.5rem 1.25rem}.site-nav .nav-cta:hover{background:#80000B}.site-nav .nav-cta.active{background:#80000B;box-shadow:inset 0 0 0 2px rgba(255,255,255,0.3)}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.nav-toggle span{display:block;width:24px;height:2px;background:#1F2937;border-radius:2px;transition:all 200ms ease}.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width: 768px){.nav-toggle{display:flex}.site-nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;background:#fff;border-bottom:1px solid rgba(31,41,55,0.15);padding:1rem;gap:4px;box-shadow:0 4px 12px rgba(0,0,0,0.1)}.site-nav.open{display:flex}.site-nav a{width:100%;padding:0.75rem 1rem;font-size:1rem}.site-nav .nav-cta{text-align:center}}.hero{position:relative;min-height:85vh;display:flex;align-items:center;background:#80000B;color:#fff;overflow:hidden;padding:8rem 0 5rem}.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:64px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 64' fill='%23FFFFFF'%3E%3Crect x='0' y='20' width='28' height='46'/%3E%3Crect x='30' y='32' width='20' height='34'/%3E%3Crect x='52' y='12' width='30' height='54'/%3E%3Crect x='84' y='36' width='16' height='30'/%3E%3Crect x='102' y='24' width='32' height='42'/%3E%3Crect x='136' y='16' width='22' height='50'/%3E%3Crect x='160' y='28' width='18' height='38'/%3E%3Crect x='180' y='8' width='26' height='58'/%3E%3Crect x='208' y='20' width='32' height='46'/%3E%3Crect x='0' y='62' width='240' height='4'/%3E%3C/svg%3E");background-repeat:repeat-x;background-size:240px 66px;background-position:left bottom;pointer-events:none}.hero .container{position:relative;z-index:1}.hero .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.hero .hero-badge{display:inline-block;padding:0.35rem 1rem;font-size:.875rem;font-weight:600;color:#FF3E4F;background:rgba(255,62,79,0.15);border:1px solid rgba(255,62,79,0.3);border-radius:100px;margin-bottom:2rem;letter-spacing:0.03em}.hero h1{font-size:3.5rem;font-weight:800;color:#fff;line-height:1.1;margin-bottom:2rem}.hero .hero-sub{font-size:1.25rem;color:#fff;line-height:1.7;margin-bottom:3rem;max-width:540px}.hero .hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.hero .hero-visual{display:flex;justify-content:center;align-items:center}.hero .hero-logo{width:100%;max-width:520px;height:auto}@media (max-width: 768px){.hero{min-height:auto;padding:5rem 0 3rem}.hero::after{height:40px;background-size:150px 40px}.hero .hero-grid{grid-template-columns:1fr;gap:3rem}.hero .hero-visual{display:none}.hero h1{font-size:2rem}.hero .hero-sub{font-size:1rem}}.section{padding:5rem 0}.section-alt{background:#FFB3B9}.section-dark{background:#1F2937;color:rgba(255,255,255,0.8)}.section-dark h2,.section-dark h3,.section-dark h4{color:#fff}.section-dark .section-label{color:#FF808B}.section-dark .lead{color:rgba(255,255,255,0.6)}.section-header{text-align:center;max-width:700px;margin:0 auto 5rem}.section-header h2{margin-bottom:1rem}.card-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:2rem}.card{background:#fff;border:1px solid rgba(31,41,55,0.15);border-radius:12px;padding:2rem;transition:all 200ms ease}.card:hover{border-color:transparent;box-shadow:0 4px 12px rgba(0,0,0,0.1);transform:translateY(-2px)}.card .card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(255,62,79,0.1);color:#FF3E4F;border-radius:6px;font-size:1.25rem;margin-bottom:1rem}.card h3{font-size:1.25rem;margin-bottom:.5rem}.card p{font-size:.875rem;color:rgba(31,41,55,0.65);margin:0}.values-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:2rem}.value-card{display:flex;gap:1rem;padding:2rem;background:#fff;border-radius:12px;border:1px solid rgba(31,41,55,0.15)}.value-card .value-number{font-size:2rem;font-weight:800;color:#FF3E4F;line-height:1;min-width:48px}.value-card h3{font-size:1.125rem;margin-bottom:.5rem}.value-card p{font-size:.875rem;color:rgba(31,41,55,0.65);margin:0}@media (max-width: 768px){.card-grid{grid-template-columns:1fr}.values-grid{grid-template-columns:1fr}}.page-content{padding:8rem 0 5rem;margin-top:68px}.page-content .container{max-width:800px}.page-content h1{margin-bottom:3rem}.page-content h2{margin-top:5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(31,41,55,0.15)}.page-content h3{margin-top:3rem}.page-content p,.page-content li{font-size:1.125rem;line-height:1.8;color:#283547}.page-content ul,.page-content ol{margin-bottom:1rem}.page-content li{margin-bottom:.5rem}.page-content blockquote{margin:2rem 0;padding:2rem 3rem;background:#FFB3B9;border-left:4px solid #FF3E4F;border-radius:0 6px 6px 0}.page-content blockquote p{margin:0;font-style:italic}.contact-section{padding:5rem 0 8rem;margin-top:68px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}.contact-form .form-group{margin-bottom:2rem}.contact-form label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem;color:#1F2937}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:0.75rem 1rem;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:1rem;border:1px solid rgba(31,41,55,0.15);border-radius:6px;background:#fff;color:#1F2937;transition:border-color 200ms ease}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:#FF3E4F;box-shadow:0 0 0 3px rgba(255,62,79,0.1)}.contact-form textarea{min-height:140px;resize:vertical}.contact-info .contact-card{background:#FFB3B9;border-radius:12px;padding:2rem;margin-bottom:2rem}.contact-info .contact-card h3{font-size:1rem;margin:0 0 .5rem}.contact-info .contact-card p{font-size:1rem;color:rgba(31,41,55,0.65);margin:0}@media (max-width: 768px){.contact-grid{grid-template-columns:1fr}}.blog-index{padding:8rem 0 5rem;margin-top:68px}.blog-index .container{max-width:800px}.blog-index h1{margin-bottom:.5rem}.blog-index .intro{font-size:1.125rem;color:rgba(31,41,55,0.65);margin-bottom:5rem}.post-list{list-style:none;padding:0;margin:0}.post-list-item{padding:2rem;margin-bottom:2rem;border:2px solid #1F2937;border-radius:12px}.post-list-item a{text-decoration:none;display:block}.post-list-item a:hover .post-list-title{color:#FF3E4F}.post-list-item .post-list-date{font-size:.875rem;color:rgba(31,41,55,0.65);margin-bottom:.5rem}.post-list-item .post-list-title{font-size:1.5rem;font-weight:700;color:#1F2937;margin-bottom:.5rem;transition:color 200ms ease}.post-list-item .post-list-excerpt{font-size:1rem;color:rgba(31,41,55,0.65);line-height:1.7;margin:0}.blog-post{padding:8rem 0 5rem;margin-top:68px}.blog-post .container{max-width:800px}.blog-post .post-header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid rgba(31,41,55,0.15)}.blog-post .post-date{font-size:.875rem;color:rgba(31,41,55,0.65);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:.5rem}.blog-post .post-author{font-size:1rem;color:rgba(31,41,55,0.65);margin-top:.5rem}.blog-post .post-content h1{font-size:2rem}.blog-post .post-content h2{font-size:1.5rem;margin-top:3rem}.blog-post .post-content h3{font-size:1.25rem;margin-top:2rem}.blog-post .post-content p,.blog-post .post-content li{font-size:1.125rem;line-height:1.8;color:#283547}.blog-post .post-content ul,.blog-post .post-content ol{margin-bottom:1rem}.blog-post .post-content li{margin-bottom:.5rem}.blog-post .post-content blockquote{margin:2rem 0;padding:2rem 3rem;background:#FFB3B9;border-left:4px solid #FF3E4F;border-radius:0 6px 6px 0}.blog-post .post-content blockquote p{margin:0;font-style:italic}.blog-post .post-content img{max-width:100%;border-radius:12px;margin:2rem 0}.site-footer{background:#1F2937;color:rgba(255,255,255,0.7);padding:5rem 0 2rem;font-size:.875rem}.site-footer a{color:rgba(255,255,255,0.7)}.site-footer a:hover{color:#fff}.footer-grid{display:grid;grid-template-columns:2fr 1fr;gap:5rem;margin-bottom:5rem}.footer-logo{display:inline-flex;align-items:center;gap:.5rem;font-size:1.25rem;color:#fff;text-decoration:none;margin-bottom:1rem}.footer-logo .logo-icon{display:flex;height:2.2rem;line-height:0}.footer-logo .logo-icon img{height:100%;width:auto}.footer-logo:hover{color:#fff}.footer-brand p{max-width:320px;line-height:1.7}.footer-links h4{color:#fff;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:1rem}.footer-links a{display:block;padding:0.3rem 0}.footer-social h4{color:#fff;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:1rem}.footer-social a{display:block;padding:0.3rem 0}.footer-bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,0.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-bottom p{margin:0;font-size:.875rem;opacity:0.6}@media (max-width: 768px){.footer-grid{grid-template-columns:1fr;gap:3rem}}

/* WordPress alignment/comment helpers */
.alignleft{float:left;margin-right:1rem}
.alignright{float:right;margin-left:1rem}
.aligncenter{display:block;margin:0 auto}
.wp-caption-text{font-size:.875rem;color:rgba(31,41,55,0.65);text-align:center;margin-top:.5rem}
.sticky{position:relative}
.bypostauthor{}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* ---- Join page: style MailPoet form to match original .contact-form look ---- */
.contact-section .mailpoet_form{margin:0}
.contact-section .mailpoet_paragraph{margin-bottom:2rem}
.contact-section .mailpoet_text_label,
.contact-section .mailpoet_form label.mailpoet_text_label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem;color:#1F2937}
.contact-section .mailpoet_form input[type=text],
.contact-section .mailpoet_form input[type=email],
.contact-section .mailpoet_form input[type=number]{
  width:100%;padding:0.75rem 1rem;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:1rem;border:1px solid rgba(31,41,55,0.15);border-radius:6px;background:#fff;color:#1F2937;
  box-sizing:border-box;transition:border-color 200ms ease
}
.contact-section .mailpoet_form input[type=text]:focus,
.contact-section .mailpoet_form input[type=email]:focus,
.contact-section .mailpoet_form input[type=number]:focus{
  outline:none;border-color:#FF3E4F;box-shadow:0 0 0 3px rgba(255,62,79,0.1)
}
.contact-section .mailpoet_form input[type=submit].mailpoet_submit{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:0.8rem 1.8rem;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:.875rem;font-weight:600;line-height:1;
  border:none;border-radius:6px;cursor:pointer;text-decoration:none;transition:all 200ms ease;
  background:#FF3E4F;color:#fff;width:auto;box-sizing:border-box
}
.contact-section .mailpoet_form input[type=submit].mailpoet_submit:hover{background:#80000B;color:#fff;transform:translateY(-1px)}
.contact-section .mailpoet_message{margin-top:1rem}
.contact-section .mailpoet_validate_success{color:#1F2937;font-size:1rem;font-weight:600;padding:.75rem 1rem;background:rgba(255,62,79,0.08);border-radius:6px}
.contact-section .mailpoet_validate_error{color:#80000B;font-size:.875rem}