/* ==========================================================================
   Housenivo - main.css
   Design tokens (colors, radius, shadow) come from style.css :root.
   ========================================================================== */

/* ---------- Layout helpers ---------- */
.hn-container{max-width:var(--hn-max-width);margin:0 auto;padding:0 20px;}
.hn-no-scroll{overflow:hidden;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.hn-skip-link{position:absolute;left:-999px;top:0;background:var(--hn-green-dark);color:#fff;padding:10px 16px;z-index:9999;border-radius:0 0 8px 0;}
.hn-skip-link:focus{left:0;}
*:focus-visible{outline:3px solid var(--hn-green-mid);outline-offset:2px;}

.hn-btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;padding:12px 22px;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;text-align:center;}
.hn-btn-pill{border-radius:999px;}
.hn-btn-primary{background:var(--hn-green);color:#fff;}
.hn-btn-primary:hover{background:var(--hn-green-dark);transform:translateY(-1px);}
.hn-btn-ghost{background:transparent;color:var(--hn-green-dark);border:1.5px solid var(--hn-gray-300);}
.hn-btn-ghost:hover{border-color:var(--hn-green);color:var(--hn-green-dark);}
.hn-btn-danger{color:#b3411f;}
.hn-btn-block{display:flex;justify-content:center;width:100%;}
.hn-btn-lg{padding:15px 32px;font-size:16px;}
.hn-btn-sm{padding:8px 14px;font-size:13px;}
.hn-link-arrow{display:inline-flex;align-items:center;gap:6px;color:var(--hn-green);font-weight:600;white-space:nowrap;}
.hn-link-arrow:hover{color:var(--hn-green-dark);}

.hn-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;line-height:1;}
.hn-badge-mint{background:var(--hn-mint);color:var(--hn-green-dark);}
.hn-badge-hero{background:rgba(255,255,255,0.14);color:#fff;text-transform:uppercase;letter-spacing:.04em;font-size:11px;backdrop-filter:blur(2px);}
.hn-badge-category{background:var(--hn-green-dark);color:#fff;position:absolute;top:12px;left:12px;text-transform:capitalize;}
.hn-badge-static{position:static;}

.hn-section-heading{max-width:640px;}
.hn-section-heading .hn-eyebrow{display:inline-block;color:var(--hn-green);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;padding-left:14px;border-left:4px solid var(--hn-green);}
.hn-section-heading h2{font-size:clamp(22px,3vw,30px);margin:0 0 8px;color:var(--hn-text);}
.hn-section-heading .hn-section-sub{color:var(--hn-text-light);margin:0;font-size:15px;}
.hn-section-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;flex-wrap:wrap;}

.hn-empty-state{background:var(--hn-gray-50);border:1px dashed var(--hn-gray-300);border-radius:var(--hn-radius);padding:36px 24px;text-align:center;color:var(--hn-text-light);}
.hn-empty-state-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px;}

/* ---------- Header ---------- */
.hn-header{background:var(--hn-green-dark);color:#fff;position:sticky;top:0;z-index:500;}
.hn-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 20px;}
.hn-logo{display:flex;align-items:center;gap:8px;color:#fff;font-weight:800;font-size:19px;flex-shrink:0;}
.hn-logo-icon{display:inline-flex;color:var(--hn-green-mid);}
.hn-logo img{max-height:40px;width:auto;}
.hn-nav-primary{flex:1;display:flex;justify-content:center;}
.hn-nav-list,.hn-nav-fallback{display:flex;gap:28px;list-style:none;margin:0;padding:0;}
.hn-nav-list li{position:relative;display:flex;align-items:center;}
.hn-nav-list a,.hn-nav-fallback a{color:rgba(255,255,255,0.86);font-weight:500;font-size:14.5px;padding:10px 0;position:relative;display:inline-flex;align-items:center;}
.hn-nav-list a:hover,.hn-nav-list .current-menu-item>a,.hn-nav-fallback a:hover{color:#fff;}
.hn-nav-list li.current-menu-item>a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--hn-green-mid);}

/* Dropdown submenus */
.hn-nav-list .menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin-left:7px;margin-top:-2px;opacity:.8;}
.hn-nav-list .sub-menu{position:absolute;top:100%;left:0;min-width:220px;background:#fff;border-radius:10px;box-shadow:var(--hn-shadow-lg);padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s ease,transform .15s ease;z-index:60;}
.hn-nav-list .menu-item-has-children:hover>.sub-menu,
.hn-nav-list .menu-item-has-children:focus-within>.sub-menu,
.hn-nav-list .menu-item-has-children.is-open>.sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.hn-nav-list .sub-menu li{display:block;}
.hn-nav-list .sub-menu a{color:var(--hn-text);padding:9px 12px;display:block;border-radius:6px;font-size:13.5px;white-space:nowrap;}
.hn-nav-list .sub-menu a:hover{background:var(--hn-mint-2);color:var(--hn-green-dark);}
.hn-nav-list .sub-menu a::after{display:none;}

/* Mobile menu accordion */
.hn-mobile-nav-list li{position:relative;}
.hn-mobile-nav-list .menu-item-has-children>a{padding-right:44px;}
.hn-mobile-submenu-toggle{position:absolute;right:4px;top:4px;width:36px;height:36px;background:transparent;border:none;color:var(--hn-text-light);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease;}
.hn-mobile-nav-list .menu-item-has-children.is-open .hn-mobile-submenu-toggle{transform:rotate(180deg);color:var(--hn-green-dark);}
.hn-mobile-nav-list .sub-menu{list-style:none;margin:0 0 0 12px;padding:0;max-height:0;overflow:hidden;transition:max-height .2s ease;}
.hn-mobile-nav-list .menu-item-has-children.is-open .sub-menu{max-height:600px;}
.hn-mobile-nav-list .sub-menu a{font-size:14px;font-weight:500;padding:10px 8px;}
.hn-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.hn-icon-btn{background:transparent;border:none;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;}
.hn-icon-btn:hover{background:rgba(255,255,255,0.1);}
.hn-myplans-btn{padding:9px 20px;font-size:14px;}
.hn-mobile-menu-toggle{display:none;}

.hn-search-panel{background:var(--hn-green-dark);border-top:1px solid rgba(255,255,255,0.12);}
.hn-search-panel[hidden]{display:none;}
.hn-search-form{max-width:var(--hn-max-width);margin:0 auto;padding:14px 20px;display:flex;gap:8px;}
.hn-search-form input{flex:1;padding:10px 14px;border-radius:8px;border:none;font-size:15px;}
.hn-search-form button{background:var(--hn-green);color:#fff;border:none;border-radius:8px;padding:0 16px;cursor:pointer;display:flex;align-items:center;}

.hn-mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(340px,86vw);background:#fff;z-index:1000;box-shadow:var(--hn-shadow-lg);padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:20px;}
.hn-mobile-menu[hidden]{display:none;}
.hn-mobile-menu-head{display:flex;justify-content:space-between;align-items:center;color:var(--hn-green-dark);}
.hn-mobile-menu-head .hn-logo-text{font-weight:800;font-size:18px;}
.hn-mobile-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.hn-mobile-nav-list a{display:block;padding:12px 8px;color:var(--hn-text);font-weight:600;border-radius:8px;font-size:16px;}
.hn-mobile-nav-list a:hover{background:var(--hn-mint);color:var(--hn-green-dark);}
.hn-mobile-menu-backdrop{position:fixed;inset:0;background:rgba(15,38,30,0.5);z-index:900;}
.hn-mobile-menu-backdrop[hidden]{display:none;}

/* ---------- Hero ---------- */
.hn-hero{position:relative;color:#fff;padding:80px 0 110px;overflow:hidden;background:linear-gradient(120deg,var(--hn-green-dark) 0%,#164a37 55%,var(--hn-green) 130%);}
.hn-hero-has-image .hn-hero-media{background-image:var(--hn-hero-image);background-size:cover;background-position:center;}
.hn-hero-media{position:absolute;inset:0;}
.hn-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,30,22,0.88) 0%,rgba(10,30,22,0.55) 55%,rgba(10,30,22,0.15) 100%);}
.hn-hero-content{position:relative;max-width:640px;}
.hn-badge-hero{margin-bottom:18px;}
.hn-hero h1{font-size:clamp(30px,5vw,48px);line-height:1.12;margin:0 0 16px;font-weight:800;}
.hn-hero h1 span{color:var(--hn-green-mid);}
.hn-hero-sub{font-size:16px;line-height:1.6;color:rgba(255,255,255,0.88);max-width:520px;margin:0 0 22px;}
.hn-hero-features{display:flex;flex-wrap:wrap;gap:18px 26px;list-style:none;margin:0 0 28px;padding:0;}
.hn-hero-features li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#fff;}
.hn-hero-features svg{color:var(--hn-green-mid);flex-shrink:0;}
.hn-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.hn-hero .hn-btn-ghost{background:rgba(255,255,255,0.08);color:#fff;border-color:rgba(255,255,255,0.35);}
.hn-hero .hn-btn-ghost:hover{background:rgba(255,255,255,0.16);}

/* Hero article slider */
.hn-hero-slider{position:absolute;inset:0;overflow:hidden;}
.hn-hero-slide-track{position:relative;width:100%;height:100%;}
.hn-hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;}
.hn-hero-slide.is-active{opacity:1;z-index:2;}
.hn-hero-slide-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--hn-green-dark),#164a37);}
.hn-hero-slide-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hn-hero-slide-caption{position:absolute;left:24px;right:24px;bottom:80px;max-width:360px;background:rgba(9,28,21,0.66);border:1px solid rgba(255,255,255,0.16);border-radius:var(--hn-radius);padding:16px 18px;color:#fff;backdrop-filter:blur(6px);}
.hn-hero-slide-cat{margin-bottom:8px;}
.hn-hero-slide-title{margin:0 0 6px;font-size:17px;line-height:1.3;}
.hn-hero-slide-title a{color:#fff;}
.hn-hero-slide-title a:hover{color:var(--hn-green-mid);}
.hn-hero-slide-excerpt{margin:0 0 10px;font-size:13px;color:rgba(255,255,255,0.82);line-height:1.5;}
.hn-hero-slide-cta{display:inline-flex;align-items:center;gap:6px;color:var(--hn-green-mid);font-weight:700;font-size:13px;}
.hn-hero-slider-controls{position:absolute;right:24px;bottom:24px;z-index:5;display:flex;align-items:center;gap:10px;}
.hn-hero-slider-arrow{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.3);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.hn-hero-slider-arrow:hover{background:rgba(255,255,255,0.26);}
.hn-hero-slider-dots{display:flex;gap:6px;}
.hn-hero-slider-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.4);border:none;padding:0;cursor:pointer;}
.hn-hero-slider-dot.is-active{background:#fff;width:20px;border-radius:4px;}
.hn-hero-has-slider .hn-hero-overlay{background:linear-gradient(90deg,rgba(10,30,22,0.72) 0%,rgba(10,30,22,0.42) 55%,rgba(10,30,22,0.1) 100%);}

/* Local SVG hero illustration fallback (no photo, no articles yet) */
.hn-hero-illustration{position:absolute;top:0;right:0;bottom:0;width:52%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.9);opacity:0.9;}
.hn-hero-illustration svg{width:78%;height:78%;max-width:460px;}
.hn-hero-has-illustration .hn-hero-overlay{background:linear-gradient(90deg,rgba(10,30,22,0.94) 0%,rgba(10,30,22,0.55) 48%,rgba(10,30,22,0.25) 100%);}

.hn-hero-tip-card{position:absolute;top:70px;right:5%;max-width:260px;background:rgba(10,30,22,0.72);border:1px solid rgba(255,255,255,0.18);border-radius:var(--hn-radius);padding:18px;color:#fff;backdrop-filter:blur(6px);z-index:4;}
.hn-hero-tip-icon{display:inline-flex;color:var(--hn-green-mid);margin-bottom:8px;}
.hn-hero-tip-card p{margin:0 0 6px;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,0.85);}
.hn-hero-tip-cta{font-style:italic;color:var(--hn-green-mid)!important;font-weight:600;margin:0!important;}

/* ---------- Planner (Master Tool) ---------- */
.hn-planner-section{margin-top:-64px;position:relative;z-index:10;padding-bottom:60px;}
.hn-planner-panel{background:linear-gradient(180deg,var(--hn-mint-2) 0%,var(--hn-mint) 100%);border:1px solid #d9ecdf;border-radius:var(--hn-radius-lg);padding:36px;box-shadow:var(--hn-shadow-lg);}
.hn-planner-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:26px;}
.hn-planner-head-icon{width:56px;height:56px;border-radius:var(--hn-radius);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--hn-green);flex-shrink:0;box-shadow:var(--hn-shadow);}
.hn-planner-badges{margin-bottom:8px;}
.hn-planner-head h2{margin:0 0 8px;font-size:clamp(20px,3vw,26px);color:var(--hn-green-dark);}
.hn-planner-head p{margin:0;color:var(--hn-text-light);font-size:14.5px;line-height:1.6;max-width:640px;}

.hn-planner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;}
.hn-planner-field{background:#fff;border-radius:var(--hn-radius);padding:14px 16px;box-shadow:var(--hn-shadow);}
.hn-planner-field label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--hn-green-dark);margin-bottom:8px;}
.hn-planner-field select{width:100%;border:1px solid var(--hn-gray-300);border-radius:8px;padding:10px 10px;font-size:14.5px;background:#fff;color:var(--hn-text);}
.hn-planner-field-hint{display:block;font-size:11.5px;color:var(--hn-text-light);font-weight:400;margin:-4px 0 8px;}
.hn-planner-field-systems{grid-column:span 4;}
.hn-checkbox-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 16px;}
.hn-checkbox{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--hn-text);cursor:pointer;}
.hn-checkbox input{width:16px;height:16px;accent-color:var(--hn-green);}
.hn-field-error{color:#b3411f;font-size:12px;margin:6px 0 0;}
[aria-invalid="true"]{border-color:#b3411f!important;}

.hn-planner-submit-row{display:flex;justify-content:center;margin-bottom:18px;}
.hn-planner-trust-badges{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px;list-style:none;padding:0;margin:0;font-size:12.5px;color:var(--hn-text-light);font-weight:600;}
.hn-planner-trust-badges li::before{content:"✓ ";color:var(--hn-green);}

.hn-wizard-bar{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:var(--hn-radius);padding:12px 16px;margin-bottom:18px;box-shadow:var(--hn-shadow);}
.hn-wizard-step-label{font-size:13px;font-weight:700;color:var(--hn-green-dark);}
.hn-wizard-mode .hn-planner-grid{display:block;}
.hn-wizard-mode .hn-planner-field{margin-bottom:0;}

.hn-planner-results{margin-top:32px;}
.hn-plan-results-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px;}
.hn-plan-results-head h3{margin:0;font-size:18px;color:var(--hn-green-dark);}
.hn-plan-results-actions{display:flex;gap:10px;}

.hn-task-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.hn-task-card{background:#fff;border:1px solid var(--hn-gray-100);border-radius:var(--hn-radius);padding:18px;box-shadow:var(--hn-shadow);transition:opacity .2s ease;}
.hn-task-card.is-done{opacity:.55;}
.hn-task-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:8px;}
.hn-task-title{margin:0 0 6px;font-size:16px;color:var(--hn-text);}
.hn-task-desc{margin:0 0 10px;color:var(--hn-text-light);font-size:13.5px;line-height:1.5;}
.hn-task-meta{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:12.5px;color:var(--hn-text-light);}
.hn-task-meta strong{color:var(--hn-text);}
.hn-task-reason{font-size:12.5px;color:var(--hn-text-light);margin:0 0 10px;}
.hn-task-safety{font-size:12.5px;color:#8a4400;background:#fff3e6;border-radius:8px;padding:8px 10px;margin:0 0 10px;}
.hn-task-done-toggle{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--hn-green-dark);cursor:pointer;}
.hn-priority-badge{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;}
.hn-priority-high{background:#fdeaea;color:#b3241f;}
.hn-priority-medium{background:#fff4e0;color:#93610a;}
.hn-priority-low{background:var(--hn-mint);color:var(--hn-green-dark);}

.hn-task-card-compact{padding:14px 16px;}
.hn-task-checkbox-row{display:flex;gap:12px;align-items:flex-start;cursor:pointer;}
.hn-task-checkbox-row input{width:20px;height:20px;margin-top:2px;accent-color:var(--hn-green);flex-shrink:0;}
.hn-task-checkbox-content{display:flex;flex-direction:column;gap:6px;}
.hn-task-meta-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--hn-text-light);}
.hn-task-desc-inline{font-size:12.5px;color:var(--hn-text-light);}

/* ---------- Quick Tools ---------- */
.hn-quick-tools{padding:56px 0 8px;}
.hn-tool-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:24px;}
.hn-tool-card{background:var(--hn-mint-2);border:1px solid #e2f0e7;border-radius:var(--hn-radius);padding:22px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .15s ease,box-shadow .15s ease;}
.hn-tool-card:hover{transform:translateY(-3px);box-shadow:var(--hn-shadow);}
.hn-tool-card-icon{color:var(--hn-green);}
.hn-tool-card-title{font-weight:700;font-size:14px;color:var(--hn-text);}
.hn-tool-card-subtitle{font-size:12px;color:var(--hn-text-light);}

/* ---------- Latest Articles ---------- */
.hn-latest-articles{padding:56px 0;}
.hn-article-grid{display:grid;gap:22px;}
.hn-article-grid-4{grid-template-columns:repeat(4,1fr);}
.hn-article-grid-3{grid-template-columns:repeat(3,1fr);}
.hn-article-card{background:#fff;border-radius:var(--hn-radius);overflow:hidden;box-shadow:var(--hn-shadow);transition:transform .15s ease,box-shadow .15s ease;display:flex;flex-direction:column;}
.hn-article-card:hover{transform:translateY(-4px);box-shadow:var(--hn-shadow-lg);}
.hn-article-card-media{position:relative;display:block;aspect-ratio:4/3;background:var(--hn-gray-100);overflow:hidden;}
.hn-article-card-media img{width:100%;height:100%;object-fit:cover;}
.hn-article-card-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--hn-gray-500);}
.hn-article-card-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1;}
.hn-article-card-title{margin:0;font-size:15.5px;line-height:1.4;}
.hn-article-card-title a{color:var(--hn-text);}
.hn-article-card-title a:hover{color:var(--hn-green);}
.hn-article-card-excerpt{margin:0;font-size:13px;color:var(--hn-text-light);line-height:1.5;flex:1;}
.hn-article-card-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--hn-gray-500);}
.hn-article-card-meta span{display:inline-flex;align-items:center;gap:4px;}

/* ---------- Seasonal banner ---------- */
.hn-seasonal-banner{background:linear-gradient(120deg,var(--hn-mint) 0%,#f4faf6 100%);padding:48px 0;}
.hn-seasonal-inner{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;}
.hn-seasonal-text{max-width:440px;}
.hn-seasonal-icon{color:var(--hn-green);display:inline-flex;margin-bottom:10px;}
.hn-seasonal-text h2{margin:0 0 10px;font-size:clamp(20px,3vw,26px);color:var(--hn-green-dark);}
.hn-seasonal-text p{margin:0 0 18px;color:var(--hn-text-light);font-size:14.5px;line-height:1.6;}
.hn-season-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;flex:1;min-width:280px;}
.hn-season-card{background:#fff;border-radius:var(--hn-radius);padding:18px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:var(--hn-shadow);}
.hn-season-icon{color:var(--hn-green);}
.hn-season-label{font-weight:700;font-size:14px;color:var(--hn-text);}
.hn-season-count{font-size:12px;color:var(--hn-text-light);}

/* ---------- Popular Systems ---------- */
.hn-systems-section{padding:56px 0 70px;}
.hn-systems-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;}
.hn-system-card{background:var(--hn-gray-50);border:1px solid var(--hn-gray-100);border-radius:var(--hn-radius);padding:18px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--hn-text);}
.hn-system-card:hover{background:var(--hn-mint-2);}
.hn-system-icon{color:var(--hn-green);}

.hn-systems-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px;}
.hn-system-detail-card{background:#fff;border:1px solid var(--hn-gray-100);border-radius:var(--hn-radius);padding:22px;box-shadow:var(--hn-shadow);}
.hn-system-detail-card h2{margin:0 0 8px;font-size:18px;color:var(--hn-green-dark);}
.hn-system-detail-card p{margin:0 0 14px;color:var(--hn-text-light);font-size:14px;line-height:1.5;}

/* ---------- Footer ---------- */
.hn-footer{background:var(--hn-green-dark);color:rgba(255,255,255,0.82);padding:56px 0 0;margin-top:40px;}
.hn-footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.4fr;gap:32px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.12);}
.hn-footer-brand p{margin:10px 0 16px;font-size:13.5px;}
.hn-logo-footer{color:#fff;margin-bottom:6px;}
.hn-footer-social{display:flex;gap:12px;}
.hn-footer-social a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;color:#fff;}
.hn-footer-social a:hover{background:var(--hn-green);}
.hn-footer-col h3{color:#fff;font-size:14px;margin:0 0 16px;}
.hn-footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.hn-footer-col a{font-size:13.5px;color:rgba(255,255,255,0.75);}
.hn-footer-col a:hover{color:#fff;}
.hn-footer-newsletter p{font-size:13px;margin:0 0 14px;}
.hn-footer-newsletter .hn-btn{margin-top:6px;}
.hn-newsletter-note{font-size:12.5px;margin-top:10px!important;}
.hn-newsletter-note a{color:var(--hn-green-mid);font-weight:600;}
.hn-footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 20px;font-size:12.5px;gap:16px;flex-wrap:wrap;}
.hn-footer-legal{display:flex;gap:18px;}
.hn-footer-legal a{color:rgba(255,255,255,0.7);}
.hn-footer-legal a:hover{color:#fff;}
.hn-scroll-top{width:38px;height:38px;border-radius:50%;background:var(--hn-green);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s ease;}
.hn-scroll-top.is-visible{opacity:1;pointer-events:auto;}

/* ---------- Generic page wrap ---------- */
.hn-page-wrap{padding:36px 0 70px;}
.hn-page-wrap-narrow{max-width:820px;}
.hn-breadcrumbs{font-size:13px;color:var(--hn-text-light);margin-bottom:18px;}
.hn-breadcrumbs a{color:var(--hn-green-dark);}
.hn-archive-head{margin-bottom:30px;}
.hn-archive-head h1{font-size:clamp(24px,3.5vw,34px);margin:0 0 8px;color:var(--hn-green-dark);}
.hn-pagination{margin-top:36px;display:flex;justify-content:center;gap:10px;}
.hn-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border-radius:8px;background:var(--hn-gray-50);color:var(--hn-text);font-size:14px;}
.hn-pagination .page-numbers.current{background:var(--hn-green);color:#fff;}

.hn-page-title{font-size:clamp(26px,4vw,38px);color:var(--hn-green-dark);margin:0 0 20px;}
.hn-page-content{font-size:16px;line-height:1.75;color:var(--hn-text);}
.hn-page-content h2{color:var(--hn-green-dark);margin-top:2em;}
.hn-page-content img{border-radius:var(--hn-radius);}
.hn-page-featured-image img{border-radius:var(--hn-radius-lg);margin-bottom:24px;}
.hn-contact-box{margin-top:36px;padding:24px;background:var(--hn-mint-2);border-radius:var(--hn-radius);}
.hn-contact-email a{color:var(--hn-green-dark);font-weight:700;}

/* ---------- Single article ---------- */
.hn-single-head-wrap{padding-top:28px;}
.hn-single-title{font-size:clamp(26px,4.5vw,42px);color:var(--hn-text);margin:14px 0 16px;line-height:1.2;}
.hn-single-meta{display:flex;gap:10px;align-items:center;color:var(--hn-text-light);font-size:13.5px;flex-wrap:wrap;}
.hn-single-featured-image{margin:26px 0;}
.hn-single-featured-image img{width:100%;max-height:520px;object-fit:cover;}
.hn-single-body-wrap{padding-bottom:60px;}
.hn-single-layout{display:grid;grid-template-columns:1fr 300px;gap:48px;}
.hn-single-content{max-width:760px;font-size:17px;line-height:1.8;color:var(--hn-text);}
.hn-single-content h2{color:var(--hn-green-dark);margin-top:1.8em;}
.hn-single-content h3{margin-top:1.5em;}
.hn-single-content img{border-radius:var(--hn-radius);margin:1.2em 0;}
.hn-single-content blockquote{border-left:4px solid var(--hn-green);padding-left:18px;color:var(--hn-text-light);font-style:italic;margin-left:0;}
.hn-single-planner-cta{background:var(--hn-mint-2);border-radius:var(--hn-radius);padding:26px;margin:36px 0;text-align:center;}
.hn-single-planner-cta h3{margin:0 0 8px;color:var(--hn-green-dark);}
.hn-single-planner-cta p{margin:0 0 16px;color:var(--hn-text-light);}
.hn-post-nav{display:flex;justify-content:space-between;gap:16px;margin:36px 0;border-top:1px solid var(--hn-gray-100);padding-top:24px;}
.hn-post-nav-link{display:flex;align-items:center;gap:8px;max-width:48%;color:var(--hn-text);font-weight:600;font-size:14px;}
.hn-post-nav-next{margin-left:auto;text-align:right;}
.hn-related-posts{margin-top:50px;}
.hn-single-sidebar{padding-top:8px;}
.hn-widget{background:var(--hn-gray-50);border-radius:var(--hn-radius);padding:20px;margin-bottom:20px;}
.hn-widget-title{font-size:15px;margin:0 0 12px;color:var(--hn-green-dark);}

/* ---------- 404 ---------- */
.hn-404-wrap{padding:100px 0;text-align:center;max-width:560px;}
.hn-404-icon{color:var(--hn-green);margin-bottom:18px;}
.hn-404-wrap h1{font-size:30px;color:var(--hn-green-dark);margin:0 0 12px;}
.hn-404-wrap p{color:var(--hn-text-light);margin:0 0 28px;}
.hn-404-search{max-width:420px;margin:0 auto 28px;background:var(--hn-gray-50);border-radius:8px;}
.hn-404-search input{background:transparent;color:var(--hn-text);}
.hn-404-search button{background:var(--hn-green);}
.hn-404-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* ---------- Tool page heads ---------- */
.hn-tool-page-head{max-width:720px;margin-bottom:32px;}
.hn-tool-page-head h1{font-size:clamp(26px,4vw,36px);color:var(--hn-green-dark);margin:0 0 12px;}
.hn-tool-page-sub{color:var(--hn-text-light);font-size:15.5px;line-height:1.6;}
.hn-page-intro{color:var(--hn-text-light);margin-top:10px;}
.hn-disclaimer-box{display:flex;gap:12px;align-items:flex-start;background:#fff6e8;border:1px solid #f2dfb8;border-radius:var(--hn-radius);padding:16px 18px;margin-top:18px;color:#7a5000;font-size:13.5px;line-height:1.5;}
.hn-disclaimer-box svg{flex-shrink:0;margin-top:2px;}

/* ---------- Problem Finder ---------- */
.hn-problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;}
.hn-problem-btn{background:#fff;border:1px solid var(--hn-gray-300);border-radius:var(--hn-radius);padding:16px;text-align:left;font-weight:600;font-size:14.5px;color:var(--hn-text);cursor:pointer;transition:all .15s ease;}
.hn-problem-btn:hover{border-color:var(--hn-green);background:var(--hn-mint-2);}
.hn-problem-finder-result{background:#fff;border:1px solid var(--hn-gray-100);border-radius:var(--hn-radius-lg);padding:30px;box-shadow:var(--hn-shadow);}
.hn-problem-back{margin-bottom:16px;}
.hn-problem-finder-result h2{color:var(--hn-green-dark);margin:0 0 16px;}
.hn-hazard-box{background:#fdeaea;border-color:#f3caca;color:#8f231f;}
.hn-problem-question{margin:18px 0;}
.hn-problem-question-text{font-weight:600;margin:0 0 10px;}
.hn-problem-options{display:flex;flex-wrap:wrap;gap:8px;}
.hn-chip{background:var(--hn-gray-50);border:1px solid var(--hn-gray-300);border-radius:999px;padding:8px 16px;font-size:13.5px;cursor:pointer;}
.hn-chip.is-selected{background:var(--hn-green);color:#fff;border-color:var(--hn-green);}
.hn-problem-list-block{margin:22px 0;}
.hn-problem-list-block h3{color:var(--hn-green-dark);font-size:15.5px;margin:0 0 10px;}
.hn-problem-list-block ul{margin:0;padding-left:20px;color:var(--hn-text);font-size:14.5px;line-height:1.7;}
.hn-problem-professional{background:var(--hn-mint-2);border-radius:var(--hn-radius);padding:18px;margin-top:20px;}
.hn-problem-professional h3{margin:0 0 8px;color:var(--hn-green-dark);}
.hn-problem-disclaimer{font-size:12.5px;color:var(--hn-gray-500);margin-top:20px;font-style:italic;}

/* ---------- Checklist / Seasonal / History ---------- */
.hn-checklist-tabs,.hn-season-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.hn-tab{background:#fff;border:1px solid var(--hn-gray-300);border-radius:999px;padding:9px 18px;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--hn-text);display:inline-flex;align-items:center;gap:6px;}
.hn-tab.is-active{background:var(--hn-green);border-color:var(--hn-green);color:#fff;}
.hn-season-tab-count{background:rgba(0,0,0,0.08);border-radius:999px;padding:1px 8px;font-size:11px;}
.hn-tab.is-active .hn-season-tab-count{background:rgba(255,255,255,0.25);}
.hn-checklist-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap;}
.hn-checklist-progress{font-size:13.5px;font-weight:700;color:var(--hn-green-dark);}
.hn-checklist-list{display:flex;flex-direction:column;gap:10px;}

.hn-history-toolbar{display:flex;justify-content:flex-end;gap:10px;margin-bottom:20px;}
.hn-history-list{display:flex;flex-direction:column;gap:8px;}
.hn-history-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--hn-gray-100);border-radius:var(--hn-radius);padding:14px 16px;flex-wrap:wrap;}
.hn-history-title{font-weight:600;flex:1;min-width:160px;}
.hn-history-date{font-size:13px;color:var(--hn-text-light);}

/* ---------- Print ---------- */
@media print{
	.hn-header,.hn-footer,.hn-mobile-menu,.hn-mobile-menu-backdrop,.hn-scroll-top,
	.hn-checklist-toolbar button,.hn-plan-results-actions,.hn-wizard-bar,
	.hn-task-done-toggle,.hn-history-toolbar{display:none!important;}
	body{background:#fff;color:#000;}
	.hn-task-list,.hn-task-card{break-inside:avoid;}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
	*{animation-duration:0.001ms!important;transition-duration:0.001ms!important;}
	html{scroll-behavior:auto;}
}

/* ==========================================================================
   Responsive breakpoints
   ========================================================================== */

@media (max-width:1024px){
	.hn-tool-grid{grid-template-columns:repeat(3,1fr);}
	.hn-article-grid-4{grid-template-columns:repeat(2,1fr);}
	.hn-systems-grid{grid-template-columns:repeat(4,1fr);}
	.hn-systems-detail-grid{grid-template-columns:repeat(2,1fr);}
	.hn-footer-top{grid-template-columns:1fr 1fr;}
	.hn-single-layout{grid-template-columns:1fr;}
	.hn-single-sidebar{order:2;}
	.hn-problem-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:900px){
	.hn-nav-primary{display:none;}
	.hn-mobile-menu-toggle{display:inline-flex;}
	.hn-myplans-btn{padding:8px 14px;font-size:13px;}
	.hn-planner-grid{grid-template-columns:repeat(2,1fr);}
	.hn-planner-field-systems{grid-column:span 2;}
	.hn-checkbox-grid{grid-template-columns:repeat(2,1fr);}
	.hn-hero-tip-card{display:none;}
	.hn-hero-illustration{opacity:0.25;width:70%;}
	.hn-hero-slide-caption{left:16px;right:16px;bottom:70px;max-width:none;}
	.hn-hero-slider-controls{right:16px;bottom:16px;}
	.hn-seasonal-inner{flex-direction:column;align-items:flex-start;}
	.hn-season-grid{width:100%;}
}

@media (max-width:767px){
	.hn-container{padding:0 16px;}
	.hn-hero{padding:56px 0 90px;}
	.hn-planner-section{margin-top:-50px;}
	.hn-planner-panel{padding:22px 16px;}
	.hn-planner-grid{grid-template-columns:1fr;}
	.hn-planner-field-systems{grid-column:span 1;}
	.hn-checkbox-grid{grid-template-columns:1fr 1fr;}
	.hn-tool-grid{grid-template-columns:repeat(2,1fr);}
	.hn-article-grid-4,.hn-article-grid-3{grid-template-columns:1fr;}
	.hn-task-list{grid-template-columns:1fr;}
	.hn-season-grid{grid-template-columns:repeat(2,1fr);}
	.hn-systems-grid{grid-template-columns:repeat(3,1fr);}
	.hn-systems-detail-grid{grid-template-columns:1fr;}
	.hn-footer-top{grid-template-columns:1fr;gap:28px;}
	.hn-footer-bottom{flex-direction:column;text-align:center;}
	.hn-problem-grid{grid-template-columns:1fr;}
	.hn-single-title{margin-top:8px;}
	.hn-checklist-toolbar{flex-direction:column;align-items:flex-start;}
}

@media (max-width:480px){
	.hn-hero h1{font-size:28px;}
	.hn-hero-ctas{flex-direction:column;}
	.hn-hero-ctas .hn-btn{width:100%;justify-content:center;}
	.hn-tool-grid{grid-template-columns:1fr 1fr;}
	.hn-systems-grid{grid-template-columns:repeat(2,1fr);}
	.hn-plan-results-head{flex-direction:column;align-items:flex-start;}
	.hn-header-inner{gap:8px;padding:12px 16px;}
	.hn-myplans-btn{display:none;}
	.hn-logo-text{font-size:16px;}
	.hn-header-actions{gap:4px;}
}

@media (max-width:360px){
	.hn-checkbox-grid{grid-template-columns:1fr;}
	.hn-planner-trust-badges{gap:6px 14px;}
	.hn-hero-slide-caption{padding:12px 14px;}
	.hn-hero-slide-title{font-size:15px;}
}
