@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,400;0,700;0,900;1,400&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --primary:#1a6b4a; --primary-dark:#0f4a32; --primary-light:#e8f5f0;
  --accent:#e85d2f; --text:#1a1a1a; --text-light:#555;
  --border:#e2e8f0; --bg:#fff; --bg-off:#f8fafc;
  --shadow-sm:0 1px 3px rgba(0,0,0,.08); --shadow:0 4px 16px rgba(0,0,0,.08); --shadow-lg:0 8px 32px rgba(0,0,0,.12);
  --radius:10px; --max-w:1180px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%;}
body{font-family:'Inter',system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--primary);text-decoration:none;transition:color .2s;}
a:hover{color:var(--primary-dark);}
button{font-family:inherit;cursor:pointer;}
select,input,textarea{font-family:inherit;box-sizing:border-box;}

/* HEADER */
.site-header{background:#fff;border-bottom:2px solid var(--border);position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(0,0,0,.06);}
.header-inner{max-width:var(--max-w);margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px;}
.site-logo{display:flex;align-items:center;gap:8px;font-family:'Merriweather',serif;font-size:1.1rem;font-weight:700;color:var(--primary-dark);text-decoration:none;flex-shrink:0;}
.logo-icon{width:34px;height:34px;background:var(--primary);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.logo-text span{color:var(--accent);}
.main-nav{display:flex;align-items:center;gap:2px;}
.main-nav a{padding:7px 11px;border-radius:7px;font-size:.84rem;font-weight:500;color:var(--text);transition:all .2s;white-space:nowrap;text-decoration:none;}
.main-nav a:hover,.main-nav a.active{background:var(--primary-light);color:var(--primary);}
.nav-cta{background:var(--primary)!important;color:#fff!important;}
.nav-cta:hover{background:var(--primary-dark)!important;color:#fff!important;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;border:none;background:none;flex-shrink:0;}
.hamburger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s;}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
.mobile-menu{display:none;position:fixed;top:64px;left:0;right:0;background:#fff;border-bottom:2px solid var(--border);padding:8px 20px 16px;z-index:999;box-shadow:0 8px 24px rgba(0,0,0,.12);}
.mobile-menu.open{display:block;}
.mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid var(--border);font-size:.95rem;font-weight:500;color:var(--text);text-decoration:none;}
.mobile-menu a:last-child{border-bottom:none;}
.mobile-menu a:hover{color:var(--primary);}

#readingProgress{position:fixed;top:64px;left:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));z-index:1001;width:0;transition:width .1s;}

.breadcrumb{background:var(--bg-off);border-bottom:1px solid var(--border);padding:10px 20px;}
.breadcrumb-inner{max-width:var(--max-w);margin:0 auto;font-size:.78rem;color:var(--text-light);display:flex;gap:5px;align-items:center;flex-wrap:wrap;}
.breadcrumb-inner a{color:var(--primary);}
.breadcrumb-inner a:hover{text-decoration:underline;}

.page-hero{background:var(--bg-off);border-bottom:1px solid var(--border);padding:40px 20px 32px;}
.page-hero-inner{max-width:var(--max-w);margin:0 auto;}
.page-hero h1{font-family:'Merriweather',serif;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;color:var(--text);margin-bottom:8px;line-height:1.3;}
.page-hero p{color:var(--text-light);font-size:.95rem;max-width:580px;}

.container{max-width:var(--max-w);margin:0 auto;padding:0 20px;}
.section{padding:60px 0;}
.section-alt{background:var(--bg-off);}
.section-label{font-size:.7rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--primary);margin-bottom:8px;}
.section-title{font-family:'Merriweather',serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;color:var(--text);margin-bottom:10px;line-height:1.3;letter-spacing:-.3px;}
.section-sub{color:var(--text-light);font-size:.92rem;max-width:540px;margin-bottom:32px;line-height:1.65;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:8px;font-size:.9rem;font-weight:600;transition:all .2s;border:2px solid transparent;text-decoration:none;white-space:nowrap;cursor:pointer;}
.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);}
.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff;transform:translateY(-1px);}
.btn-white{background:#fff;color:var(--primary-dark);border-color:#fff;}
.btn-white:hover{background:var(--primary-light);color:var(--primary-dark);transform:translateY(-1px);}
.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.12);color:#fff;}

.ad-slot{background:var(--bg-off);border:2px dashed #cbd5e1;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.78rem;text-align:center;margin:24px 0;min-height:90px;width:100%;}
.ad-slot-rect{min-height:250px;max-width:336px;margin:0 auto;}
.ad-slot-sidebar{min-height:250px;width:100%;}

.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px;}
.blog-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all .25s;display:flex;flex-direction:column;}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary);}
.card-thumb{height:170px;background:linear-gradient(135deg,var(--primary-light),#c3e6d4);display:flex;align-items:center;justify-content:center;font-size:3rem;position:relative;flex-shrink:0;}
.card-category{position:absolute;top:10px;left:10px;background:var(--primary);color:#fff;font-size:.65rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase;padding:3px 9px;border-radius:4px;}
.card-body{padding:18px;display:flex;flex-direction:column;flex:1;}
.card-meta{display:flex;gap:10px;font-size:.73rem;color:var(--text-light);margin-bottom:9px;flex-wrap:wrap;}
.card-title{font-family:'Merriweather',serif;font-size:.97rem;font-weight:700;color:var(--text);line-height:1.4;margin-bottom:9px;}
.card-title a{color:inherit;text-decoration:none;}
.card-title a:hover{color:var(--primary);}
.card-excerpt{font-size:.85rem;color:var(--text-light);line-height:1.6;margin-bottom:14px;flex:1;}
.card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border);margin-top:auto;}
.read-more{font-size:.8rem;font-weight:600;color:var(--primary);display:flex;align-items:center;gap:4px;text-decoration:none;}
.read-more:hover{color:var(--primary-dark);}
.read-time{font-size:.73rem;color:var(--text-light);}

/* ARTICLE — FIXED OVERFLOW */
.article-layout{display:grid;grid-template-columns:1fr 290px;gap:36px;max-width:var(--max-w);margin:0 auto;padding:40px 20px;min-width:0;}
.article-main{min-width:0;overflow:hidden;}
.article-sidebar{min-width:0;}
.article-category{display:inline-block;background:var(--primary-light);color:var(--primary);font-size:.7rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:4px 11px;border-radius:4px;margin-bottom:12px;}
.article-title{font-family:'Merriweather',serif;font-size:clamp(1.35rem,2.5vw,2.1rem);font-weight:700;color:var(--text);line-height:1.3;letter-spacing:-.4px;margin-bottom:14px;word-wrap:break-word;overflow-wrap:break-word;}
.article-meta{display:flex;gap:12px;font-size:.78rem;color:var(--text-light);flex-wrap:wrap;padding-bottom:18px;border-bottom:2px solid var(--border);margin-bottom:24px;}
.article-body{font-size:1rem;line-height:1.85;color:#2d2d2d;min-width:0;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word;}
.article-body h2{font-family:'Merriweather',serif;font-size:clamp(1.1rem,2.2vw,1.4rem);font-weight:700;color:var(--text);margin:32px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--primary-light);word-wrap:break-word;}
.article-body h3{font-family:'Merriweather',serif;font-size:clamp(1rem,2vw,1.15rem);font-weight:700;color:var(--text);margin:24px 0 10px;word-wrap:break-word;}
.article-body p{margin-bottom:16px;}
.article-body ul,.article-body ol{margin:12px 0 16px 22px;}
.article-body li{margin-bottom:7px;}
.article-body strong{color:var(--text);font-weight:600;}
.article-body a{color:var(--primary);text-decoration:underline;}
.article-body a:hover{color:var(--primary-dark);}
.article-body blockquote{border-left:4px solid var(--primary);background:var(--primary-light);padding:14px 18px;margin:22px 0;border-radius:0 8px 8px 0;font-style:italic;color:#2d4a3a;word-wrap:break-word;}
.article-body .key-points{background:var(--bg-off);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:0 var(--radius) var(--radius) 0;padding:18px 22px;margin:22px 0;}
.article-body .key-points h4{font-weight:700;color:var(--primary);margin-bottom:10px;font-size:.85rem;text-transform:uppercase;letter-spacing:.8px;}

.author-box{background:var(--bg-off);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin:36px 0;display:flex;gap:16px;align-items:flex-start;}
.author-avatar{width:60px;height:60px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;color:#fff;font-family:'Merriweather',serif;font-weight:700;}
.author-name{font-weight:700;font-size:.97rem;color:var(--text);margin-bottom:2px;}
.author-role{font-size:.78rem;color:var(--primary);font-weight:600;margin-bottom:7px;}
.author-bio{font-size:.85rem;color:var(--text-light);line-height:1.65;}

.sidebar-widget{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:20px;}
.widget-title{font-family:'Merriweather',serif;font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:13px;padding-bottom:9px;border-bottom:2px solid var(--primary-light);}
.related-post{padding:9px 0;border-bottom:1px solid var(--border);font-size:.83rem;}
.related-post:last-child{border-bottom:none;}
.related-post a{color:var(--text);font-weight:500;text-decoration:none;display:block;}
.related-post a:hover{color:var(--primary);}
.related-meta{font-size:.7rem;color:var(--text-light);margin-top:3px;}

.disclaimer-box{background:#fffbeb;border:1px solid #fcd34d;border-left:4px solid #f59e0b;border-radius:0 var(--radius) var(--radius) 0;padding:14px 18px;margin:24px 0;font-size:.85rem;color:#78350f;line-height:1.6;}
.disclaimer-box strong{color:#6b2d07;}

.sources{border-top:1px solid var(--border);margin-top:36px;padding-top:18px;}
.sources-title{font-size:.82rem;font-weight:700;color:var(--text-light);margin-bottom:9px;text-transform:uppercase;letter-spacing:.5px;}
.sources ol{padding-left:18px;}
.sources li{font-size:.78rem;color:var(--text-light);margin-bottom:5px;line-height:1.5;word-wrap:break-word;}

.cta-section{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;padding:60px 20px;text-align:center;}
.cta-section h2{font-family:'Merriweather',serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;margin-bottom:12px;}
.cta-section p{font-size:1rem;color:rgba(255,255,255,.85);margin-bottom:26px;max-width:520px;margin-left:auto;margin-right:auto;}

.category-pills{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:28px;}
.cat-pill{background:var(--bg-off);border:1.5px solid var(--border);color:var(--text);padding:6px 14px;border-radius:24px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;user-select:none;}
.cat-pill:hover,.cat-pill.active{background:var(--primary);border-color:var(--primary);color:#fff;}

.form-group{margin-bottom:18px;}
.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:6px;}
.form-input{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:8px;font-family:inherit;font-size:.9rem;color:var(--text);background:#fff;transition:border-color .2s,box-shadow .2s;outline:none;-webkit-appearance:none;appearance:none;}
.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,107,74,.1);}
textarea.form-input{resize:vertical;min-height:130px;}
select.form-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer;}

/* CONTACT BUTTON — HOVER FIXED */
.contact-submit{background:var(--primary);color:#fff !important;border:2px solid var(--primary);width:100%;padding:13px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;display:block;text-align:center;}
.contact-submit:hover{background:var(--primary-dark) !important;border-color:var(--primary-dark);color:#fff !important;}

.site-footer{background:#0f1e17;color:rgba(255,255,255,.6);padding:52px 20px 24px;}
.footer-grid{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-logo-wrap{margin-bottom:12px;}
.footer-logo-wrap .site-logo,.footer-logo-wrap .logo-text{color:#fff;}
.footer-desc{font-size:.83rem;line-height:1.7;max-width:260px;}
.footer-col-title{font-size:.7rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:13px;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:8px;}
.footer-links a{color:rgba(255,255,255,.5);font-size:.85rem;text-decoration:none;transition:color .2s;}
.footer-links a:hover{color:#fff;}
.footer-bottom{max-width:var(--max-w);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:.76rem;color:rgba(255,255,255,.3);}
.footer-bottom a{color:rgba(255,255,255,.35);text-decoration:none;}
.footer-bottom a:hover{color:rgba(255,255,255,.7);}

.nearby-card{display:block;border:1px solid var(--border);border-radius:8px;padding:13px 15px;text-decoration:none;transition:all .2s;background:#fff;}
.nearby-card:hover{border-color:var(--primary);box-shadow:var(--shadow);}
.nearby-name{font-weight:600;font-size:.88rem;color:var(--text);margin-bottom:3px;word-wrap:break-word;}
.nearby-loc{font-size:.76rem;color:var(--text-light);margin-bottom:4px;}
.nearby-score{font-size:.76rem;font-weight:600;}

#scrollTop{position:fixed;bottom:22px;right:22px;width:42px;height:42px;background:var(--primary);color:#fff;border:none;border-radius:50%;font-size:1.1rem;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,transform .2s;z-index:999;box-shadow:var(--shadow);}
#scrollTop:hover{transform:translateY(-2px);background:var(--primary-dark);}
#scrollTop.visible{opacity:1;pointer-events:auto;}

.text-center{text-align:center;}
.mt-8{margin-top:8px;}.mt-16{margin-top:16px;}.mt-24{margin-top:24px;}.mt-32{margin-top:32px;}
.mb-24{margin-bottom:24px;}.mb-32{margin-bottom:32px;}

/* RESPONSIVE */
@media(max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .article-layout{grid-template-columns:1fr;padding:32px 20px;}
  .article-sidebar{order:-1;}
}
@media(max-width:768px){
  .main-nav{display:none;}
  .hamburger{display:flex;}
  .section{padding:40px 0;}
  .blog-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:24px;}
  .footer-desc{max-width:100%;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .author-box{flex-direction:column;}
  .cta-section{padding:44px 16px;}
  .container{padding:0 16px;}
  .article-layout{padding:24px 16px;}
}
@media(max-width:480px){
  .header-inner{padding:0 14px;height:58px;}
  .site-logo{font-size:.95rem;}
  .logo-icon{width:30px;height:30px;}
  .breadcrumb{padding:9px 14px;}
  .page-hero{padding:28px 14px 24px;}
  .article-layout{padding:20px 12px;}
  #readingProgress{top:58px;}
  .mobile-menu{top:58px;}
}
