*{margin:0;padding:0;box-sizing:border-box}
:root{--green:#009B3A;--gold:#FFD700;--black:#1A1A1A;--white:#FFFFFF;--gray-50:#F8F9FA;--gray-100:#F0F2F5;--gray-200:#E4E7EB;--gray-600:#6B7280;--gray-800:#1F2937;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1);--radius:12px;--transition:all 0.3s ease}
html{scroll-padding-top:70px;scroll-behavior:smooth}
html,body{height:100%;margin:0}
body{font-family:'Inter',sans-serif;background:var(--gray-50);color:var(--black);line-height:1.5;font-size:14px;display:flex;flex-direction:column;min-height:100vh}
#main-marketing-site{flex:1 0 auto}
.container{max-width:640px;margin:0 auto;padding:0 16px}
.section{padding:40px 0}
.section-tag{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--green);background:rgba(0,155,58,0.1);padding:4px 12px;border-radius:20px;margin-bottom:12px}
.section-heading{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;line-height:1.2;margin-bottom:12px}
.section-heading em{color:var(--green);font-style:italic}
.btn-primary,.btn-outline{padding:12px 20px;border-radius:var(--radius);font-weight:600;font-size:14px;cursor:pointer;transition:var(--transition);width:100%;text-align:center;display:inline-block;text-decoration:none;border:none}
.btn-primary{background:var(--green);color:white}
.btn-primary:hover{background:#008033;transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-primary:disabled{opacity:0.6;cursor:not-allowed;transform:none}
.btn-outline{background:transparent;border:2px solid var(--gold);color:var(--black)}
.btn-outline:hover{background:var(--gold)}
.navbar{position:fixed;top:0;left:0;right:0;background:white;z-index:1000;padding:12px 16px;box-shadow:var(--shadow-sm)}
.nav-container{max-width:640px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:8px}
.logo-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;padding:0;cursor:pointer;flex-shrink:0}
.logo-badge-graphics{width:42px;height:42px;background:var(--black);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-stacked-label{font-size:9px;font-weight:800;letter-spacing:0.4px;color:var(--black);white-space:nowrap}
.nav-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.desktop-login-btn{padding:8px 14px;font-size:12px;width:auto;white-space:nowrap}
.mobile-menu-btn{font-size:20px;cursor:pointer;background:none;border:none;padding:4px 8px}
.nav-logout-btn{background-color:transparent;border:1px solid #dc3545;color:#dc3545;padding:6px 12px;font-size:12px;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap}
.nav-logout-btn:hover{background:#dc3545;color:white}
.welcome-badge{font-size:12px;font-weight:600;color:var(--green);background:rgba(0,155,58,0.08);padding:6px 12px;border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:none;cursor:pointer;transition:var(--transition);max-width:160px}
.welcome-badge:hover{background:rgba(0,155,58,0.16)}
.cart-nav-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:white;border:none;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer;gap:5px;white-space:nowrap}
.cart-nav-badge .cart-count-bubble{background:var(--gold);color:var(--black);border-radius:50%;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}
.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:white;z-index:1001;padding:60px 20px;display:none}
.mobile-menu-overlay.active{display:block}
.mobile-menu-overlay a{display:block;padding:14px;font-size:16px;border-bottom:1px solid var(--gray-200);color:var(--black);text-decoration:none}
.mobile-menu-overlay a:hover{background:var(--gray-50)}
.close-menu{position:absolute;top:16px;right:16px;font-size:24px;background:none;border:none;cursor:pointer}
#main-marketing-site{padding-top:60px}
.hero{padding:40px 16px}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(0,155,58,0.1);padding:6px 12px;border-radius:30px;margin-bottom:16px}
.hero-badge-dot{width:6px;height:6px;background:var(--green);border-radius:50%}
.hero-badge span{font-size:10px;font-weight:600;color:var(--green)}
.hero h1{font-size:32px;margin-bottom:12px;line-height:1.2}
.hero p{font-size:14px;color:var(--gray-600);margin-bottom:20px}
.hero-buttons{display:flex;gap:12px;margin-bottom:20px}
.hero-buttons .btn-primary,.hero-buttons .btn-outline{width:auto;flex:1}
.hero-stats{display:flex;gap:20px;padding-top:16px;border-top:1px solid var(--gray-200)}
.stat-value{font-size:18px;font-weight:700;color:var(--green)}
.stat-label{font-size:10px;color:var(--gray-600)}
/* ===== DEMO CAROUSEL ===== */
.hero-demo-card{background:var(--black);border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,0.12);box-shadow:0 8px 32px rgba(0,0,0,0.4);margin-top:24px}
.demo-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(255,255,255,0.05);border-bottom:1px solid rgba(255,255,255,0.08)}
.demo-dots{display:flex;gap:6px;align-items:center}
.demo-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.2);cursor:pointer;transition:all 0.2s ease;border:none;flex-shrink:0}
.demo-dot.active{background:var(--gold);transform:scale(1.3);box-shadow:0 0 6px rgba(255,215,0,0.5)}
.demo-dot:hover{background:rgba(255,255,255,0.5)}
.demo-title{font-size:10px;color:rgba(255,255,255,0.5);font-weight:600;letter-spacing:0.3px}
.demo-body{padding:14px;min-height:220px}
.demo-timer-track{height:3px;background:rgba(255,255,255,0.08);width:100%}
.demo-timer-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--green),var(--gold));border-radius:0 2px 2px 0}
.demo-screen-label{display:flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(255,255,255,0.03);border-top:1px solid rgba(255,255,255,0.06);font-size:11px}
#demoScreenNum{color:rgba(255,255,255,0.35);font-weight:700;flex-shrink:0}
#demoScreenName{color:rgba(255,255,255,0.6);font-weight:600;flex:1}
.demo-auto-badge{background:rgba(0,155,58,0.2);color:rgba(0,220,100,0.8);font-size:9px;font-weight:700;padding:2px 7px;border-radius:10px;flex-shrink:0}
.demo-screen-wrap{display:flex;flex-direction:column;gap:10px}
.demo-screen-badge{font-size:10px;font-weight:800;padding:4px 10px;border-radius:6px;display:inline-block;width:fit-content;letter-spacing:0.3px}
.demo-badge-green{background:rgba(0,155,58,0.2);color:#00C851}
.demo-badge-gold{background:rgba(255,215,0,0.15);color:#FFD700}
.demo-badge-red{background:rgba(220,53,69,0.2);color:#ff6b7a}
.demo-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.demo-kpi{background:rgba(255,255,255,0.05);border-radius:8px;padding:8px;text-align:center}
.demo-kpi-val{font-size:18px;font-weight:800;color:var(--white);line-height:1}
.demo-kpi-lbl{font-size:9px;color:rgba(255,255,255,0.45);margin-top:3px}
.demo-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.demo-photo-card{border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,0.08)}
.demo-photo-thumb{height:60px;display:flex;align-items:center;justify-content:center;font-size:24px}
.demo-photo-meta{padding:6px 8px;background:rgba(255,255,255,0.04)}
.demo-photo-meta strong{display:block;font-size:10px;color:var(--white);margin-bottom:1px}
.demo-photo-meta span{font-size:9px;color:rgba(255,255,255,0.4)}
.demo-ledger-mini{border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,0.08)}
.demo-ledger-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4px;padding:6px 8px;font-size:10px;color:rgba(255,255,255,0.7);border-bottom:1px solid rgba(255,255,255,0.05)}
.demo-ledger-row:last-child{border-bottom:none}
.demo-ledger-head{background:rgba(255,255,255,0.06);font-weight:700;color:rgba(255,255,255,0.9)}
.demo-tag-ok{color:#00C851;font-weight:700}
.demo-tag-flag{color:#FFD700;font-weight:700}
.demo-milestones{display:flex;flex-direction:column;gap:6px}
.demo-ms-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;font-size:11px}
.demo-ms-done{background:rgba(0,155,58,0.08)}
.demo-ms-active{background:rgba(255,215,0,0.08)}
.demo-ms-pending{background:rgba(255,255,255,0.03);opacity:0.6}
.demo-ms-item div strong{display:block;color:var(--white);font-size:11px}
.demo-ms-item div span{color:rgba(255,255,255,0.45);font-size:10px}
.demo-ms-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.demo-ms-dot.done{background:var(--green)}
.demo-ms-dot.active-dot{background:var(--gold);box-shadow:0 0 6px rgba(255,215,0,0.5)}
.demo-ms-dot.pending{background:rgba(255,255,255,0.2)}
.demo-alert-card{display:flex;gap:10px;background:rgba(220,53,69,0.1);border:1px solid rgba(220,53,69,0.25);border-radius:10px;padding:12px}
.demo-alert-icon{font-size:28px;flex-shrink:0}
.demo-alert-title{font-size:12px;font-weight:800;color:#ff6b7a;margin-bottom:4px}
.demo-alert-text{font-size:11px;color:rgba(255,255,255,0.7);line-height:1.5}
.demo-alert-actions{display:flex;gap:8px;margin-top:2px}
.demo-action-btn{flex:1;padding:8px;border-radius:8px;font-size:11px;font-weight:700;text-align:center;cursor:pointer}
.demo-action-hold{background:rgba(255,215,0,0.15);color:#FFD700;border:1px solid rgba(255,215,0,0.3)}
.demo-action-contact{background:rgba(0,155,58,0.15);color:#00C851;border:1px solid rgba(0,155,58,0.3)}
.demo-safety-summary{display:flex;flex-direction:column;gap:8px}
.demo-safety-item{display:flex;align-items:flex-start;gap:10px;background:rgba(0,155,58,0.07);border-radius:8px;padding:8px 10px}
.demo-safety-icon{width:20px;height:20px;background:var(--green);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;flex-shrink:0;margin-top:1px}
.demo-safety-item div strong{display:block;font-size:11px;color:var(--white);margin-bottom:2px}
.demo-safety-item div span{font-size:10px;color:rgba(255,255,255,0.5)}
.demo-status-line{font-size:10px;padding:7px 10px;border-radius:8px;border:1px solid rgba(255,215,0,0.2);background:rgba(255,215,0,0.06);color:rgba(255,215,0,0.85);line-height:1.4}
.demo-status-flag{border-color:rgba(255,215,0,0.3);background:rgba(255,100,0,0.08);color:#FFD700}
/* ===== END DEMO CAROUSEL ===== */
.problem-grid,.services-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:480px){.problem-grid,.services-grid{grid-template-columns:repeat(2,1fr)}}
.problem-card,.service-card{background:white;padding:16px;border-radius:var(--radius);border:1px solid var(--gray-200)}
.problem-icon{font-size:28px;margin-bottom:10px}
.problem-card h3,.service-card h3{font-size:15px;font-weight:600;margin-bottom:6px}
.problem-card p,.service-card p{font-size:13px;color:var(--gray-600)}
.quote-block{background:linear-gradient(135deg,#FFF9E6,var(--gray-50));padding:16px;border-radius:var(--radius);margin-top:16px;border-left:3px solid var(--green)}
.quote-block blockquote{font-size:14px;font-style:italic;margin-bottom:6px}
.quote-block cite{font-size:11px;color:var(--gray-600)}
.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.kpi-item{background:var(--gray-50);padding:10px;border-radius:var(--radius);text-align:center}
.kpi-label{font-size:9px;color:var(--gray-600)}
.kpi-value{font-size:16px;font-weight:700;color:var(--green)}
.progress-item{margin-bottom:12px}
.progress-item:last-child{margin-bottom:0}
.progress-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:4px}
.progress-bar{height:4px;background:var(--gray-200);border-radius:4px;overflow:hidden}
.progress-fill{height:100%;border-radius:4px}
.progress-fill.green{background:var(--green)}
.progress-fill.gold{background:var(--gold)}
.packages-matrix-wrapper{width:100%;overflow-x:auto;padding-bottom:12px;-webkit-overflow-scrolling:touch}
.packages-matrix{display:grid;grid-template-columns:140px repeat(3,180px);gap:1px;background:var(--gray-200);border-radius:var(--radius);overflow:hidden;min-width:680px}
.matrix-cell{background:var(--white);padding:12px;font-size:12px;display:flex;align-items:center}
.matrix-header{background:var(--gray-800);color:var(--white);font-weight:600;flex-direction:column;justify-content:center;text-align:center;padding:20px 12px}
.matrix-header.featured-hdr{background:linear-gradient(160deg,#007a2e 0%,var(--green) 100%)}
.matrix-header.sentinel-header{background:linear-gradient(160deg,#5a4500 0%,#FFD700 100%); color:var(--black);}
.matrix-header h4{font-size:17px;font-weight:800;margin-bottom:4px;letter-spacing:-0.3px}
.plan-icon{font-size:26px;margin-bottom:6px;line-height:1}
.plan-price{font-size:22px;font-weight:800;color:var(--gold);margin:4px 0 2px;line-height:1}
.matrix-header.sentinel-header .plan-price{color:var(--black);}
.plan-price span{font-size:12px;font-weight:500;color:rgba(255,255,255,0.6)}
.plan-tagline{font-size:10px;color:rgba(255,255,255,0.65);line-height:1.4;margin-top:4px;font-style:italic}
.matrix-header.sentinel-header .plan-tagline{color:rgba(0,0,0,0.7);}
.plan-popular-badge{display:inline-block;background:var(--gold);color:var(--black);font-size:9px;font-weight:800;padding:3px 10px;border-radius:10px;margin-bottom:6px;text-transform:uppercase;letter-spacing:0.5px}
.packages-footer-note{display:flex;align-items:flex-start;gap:10px;background:rgba(0,155,58,0.05);border:1px solid rgba(0,155,58,0.15);border-radius:10px;padding:14px 16px;margin-top:16px;font-size:12px;color:var(--gray-800);line-height:1.6}
.packages-footer-note span{font-size:18px;flex-shrink:0;margin-top:1px}
.packages-footer-note strong{color:var(--black)}
.matrix-label-column{background:var(--gray-50);font-weight:600;color:var(--gray-800)}
.matrix-check{color:var(--green);font-weight:bold;font-size:14px;text-align:center;width:100%;display:block}
.matrix-cross{color:var(--gray-600);font-size:12px;text-align:center;width:100%;display:block}
.faq-two-col{display:grid;grid-template-columns:1fr;gap:10px;margin-top:4px}
@media(min-width:700px){.faq-two-col{grid-template-columns:repeat(2,1fr);align-items:start}}
.faq-col{display:flex;flex-direction:column;gap:10px}
.faq-item{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;transition:var(--transition)}
.faq-item:hover{border-color:rgba(0,155,58,0.3);box-shadow:0 2px 10px rgba(0,155,58,0.08)}
.faq-trigger{width:100%;background:none;border:none;padding:16px;text-align:left;font-size:13px;font-weight:600;color:var(--black);display:flex;justify-content:space-between;align-items:flex-start;cursor:pointer;gap:10px;line-height:1.4}
.faq-trigger:hover{background:var(--gray-50)}
.faq-icon{font-size:12px;color:var(--gray-600);transition:transform 0.25s ease;flex-shrink:0;margin-top:2px}
.faq-content{max-height:0;overflow:hidden;transition:max-height 0.35s ease-out;background:var(--white)}
.faq-content-inner{padding:0 16px 16px 16px;font-size:13px;color:var(--gray-600);line-height:1.65;border-top:1px solid transparent}
.faq-content-inner strong{color:var(--black)}
.faq-item.active{border-color:rgba(0,155,58,0.35);box-shadow:0 3px 14px rgba(0,155,58,0.1)}
.faq-item.active .faq-icon{transform:rotate(180deg);color:var(--green)}
.faq-item.active .faq-content-inner{border-top-color:var(--gray-100);padding-top:12px}
.ecommerce-shelf{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}
@media(min-width:480px){.ecommerce-shelf{grid-template-columns:repeat(2,1fr)}}
.product-card{background:white;border:1px solid var(--gray-200);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;justify-content:space-between}
.product-card img{width:100%;height:120px;object-fit:cover;border-radius:8px;margin-bottom:8px}
.product-price{font-size:16px;font-weight:700;color:var(--green);margin:6px 0}
.cart-drawer{position:fixed;bottom:20px;right:20px;width:340px;max-width:90vw;z-index:1001;display:none;box-shadow:var(--shadow-lg);background:#fff;border:2px solid var(--green);border-radius:var(--radius);padding:16px}
.cart-items-list{list-style:none;font-size:12px;margin-bottom:12px;max-height:200px;overflow-y:auto}
.cart-items-list li{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed var(--gray-200);padding:6px 0;gap:6px}
.cart-item-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}
.cart-qty-btn{background:var(--gray-200);border:none;border-radius:4px;width:22px;height:22px;font-size:13px;cursor:pointer;line-height:1}
.cart-qty-btn:hover{background:var(--gold)}
.cart-delete-btn{background:#fee2e2;border:none;border-radius:4px;width:22px;height:22px;font-size:11px;cursor:pointer;color:#b91c1c}
.cart-delete-btn:hover{background:#fecaca}
.payment-methods{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:20px}
.payment-method-btn{padding:10px 4px;border-radius:8px;border:1px solid var(--gray-200);background:white;font-weight:600;font-size:11px;cursor:pointer;text-align:center;transition:var(--transition)}
.payment-method-btn.active{border-color:var(--green);background:rgba(0,155,58,0.05);color:var(--green)}
.payment-container{background:white;border-radius:16px;padding:20px}
.payment-panel{display:none}
.payment-panel.active{display:block}
.crypto-info-box{background:var(--gray-50);padding:14px;border-radius:var(--radius);border-left:3px solid var(--green)}
.crypto-info-box h4{font-size:14px;margin-bottom:6px}
.crypto-info-box p{font-size:12px;color:var(--gray-600);margin-bottom:10px}
.contact-form{background:white;padding:20px;border-radius:16px;border:1px solid var(--gray-200)}
.form-group{margin-bottom:12px}
.form-group label{display:block;font-size:12px;font-weight:500;margin-bottom:4px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--gray-200);border-radius:8px;font-size:13px;transition:var(--transition);background:white}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px rgba(0,155,58,0.1)}
.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc3545}
.form-group .radio-group{display:flex;gap:16px;padding:6px 0}
.form-group .radio-option{display:flex;align-items:center;gap:6px;font-size:13px}
.form-group .radio-option input{width:auto;cursor:pointer}
.form-success{text-align:center;padding:20px;display:none}
.form-success.show{display:block}
.form-success h3{color:var(--green);margin:8px 0}
.form-error{color:#dc3545;font-size:11px;margin-top:6px;display:none}
.password-wrapper{position:relative;display:flex;align-items:center;width:100%}
.password-wrapper input{padding-right:40px}
.password-toggle-icon{position:absolute;right:12px;cursor:pointer;color:var(--gray-600);font-size:16px;user-select:none;padding:4px;background:none;border:none}
.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.profile-form-grid{grid-template-columns:1fr}}
.portal{display:none;min-height:100vh;background:var(--gray-50);padding-top:80px;padding-bottom:0;flex-direction:column}
.portal.active{display:flex;flex-direction:column;flex:1 0 auto}
.portal > .container{flex:1 0 auto}
.portal-header{background:white;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--gray-200);border-radius:var(--radius) var(--radius) 0 0;flex-wrap:wrap;gap:8px}
.portal-header h2{font-size:16px}
.portal-main{padding:16px;background:white;border-radius:0 0 var(--radius) var(--radius);border:1px solid var(--gray-200);border-top:none}
.dashboard-module{border:1px solid var(--gray-200);padding:20px;margin-bottom:20px;border-radius:var(--radius);background:white;box-shadow:var(--shadow-sm)}
.dashboard-module h3{font-size:16px;margin-bottom:8px;color:var(--black);border-bottom:1px solid var(--gray-100);padding-bottom:6px}
.dashboard-status{color:var(--green);font-weight:700;font-size:13px;margin-bottom:12px}
.portal-timeline{position:relative;margin:16px 0;padding-left:24px;border-left:2px dashed var(--gray-200)}
.timeline-node{position:relative;margin-bottom:20px}
.timeline-node::before{content:"";position:absolute;left:-31px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--gray-200);border:2px solid white}
.timeline-node.passed::before{background:var(--green)}
.timeline-node.pending::before{background:var(--gold)}
.node-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--gray-600);font-weight:500}
.node-title{font-size:13px;font-weight:600;margin:2px 0}
.node-desc{font-size:12px;color:var(--gray-600)}
.node-link{color:var(--green);font-weight:600;text-decoration:none;display:inline-block;margin-top:4px;font-size:11px}
.node-link:hover{text-decoration:underline}
.ledger-table-wrapper{width:100%;overflow-x:auto;margin-top:10px}
.ledger-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}
.ledger-table th{background:var(--gray-50);padding:8px;font-weight:600;border-bottom:2px solid var(--gray-200)}
.ledger-table td{padding:10px 8px;border-bottom:1px solid var(--gray-100);vertical-align:middle}
.badge-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600}
.badge-status.approved{background:rgba(0,155,58,0.1);color:var(--green)}
.badge-status.hold{background:rgba(220,53,69,0.1);color:#dc3545}
.file-upload-zone{border:2px dashed var(--gray-200);padding:20px;text-align:center;border-radius:8px;background:var(--gray-50);cursor:pointer;margin-bottom:12px;transition:var(--transition)}
.file-upload-zone:hover{border-color:var(--green);background:rgba(0,155,58,0.05)}
.file-upload-zone.dragover{border-color:var(--green);background:rgba(0,155,58,0.1)}
.file-list{font-size:12px;color:var(--gray-600);margin-top:8px;text-align:left}
.file-item{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--gray-100)}
.tracker-metric-card{background:var(--gray-50);padding:12px;border-radius:8px;border:1px solid var(--gray-200);text-align:center}
.tracker-metric-label{font-size:10px;color:var(--gray-600);text-transform:uppercase;letter-spacing:0.5px}
.tracker-metric-val{font-size:18px;font-weight:700;color:var(--black);margin-top:2px}
.portal-welcome-card{background:white;border-radius:var(--radius);border:1px solid var(--gray-200);padding:16px;margin-bottom:16px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-sm);flex-wrap:wrap}
.portal-avatar-col{flex-shrink:0;position:relative}
.portal-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--green),#005c22);display:flex;align-items:center;justify-content:center;border:3px solid var(--gold);box-shadow:0 0 0 2px rgba(0,155,58,0.15);cursor:pointer;transition:var(--transition);position:relative;overflow:hidden}
.portal-avatar:hover{transform:scale(1.05)}
.portal-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.portal-avatar-initials,#portalAvatarInitials{font-size:18px;font-weight:700;color:white;letter-spacing:-0.5px;line-height:1;pointer-events:none}
.avatar-upload-btn{position:absolute;bottom:-2px;right:-2px;background:var(--green);color:white;border:2px solid white;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;box-shadow:var(--shadow-sm)}
.portal-welcome-text-col{flex:1;min-width:0}
.portal-welcome-greeting{font-size:11px;color:var(--gray-600);font-weight:500;text-transform:uppercase;letter-spacing:0.5px}
.portal-welcome-name{font-size:20px;font-weight:700;color:var(--black);letter-spacing:-0.5px;line-height:1.2;margin:2px 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-welcome-project{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.portal-project-badge{font-size:10px;font-weight:600;color:var(--gray-800);background:var(--gray-100);padding:3px 8px;border-radius:20px;white-space:nowrap}
.portal-ssl-badge{font-size:10px;font-weight:600;color:var(--green);background:rgba(0,155,58,0.08);padding:3px 8px;border-radius:20px;white-space:nowrap}
.portal-status-col{text-align:right;flex-shrink:0}
.portal-status-dot-row{display:flex;align-items:center;gap:4px;justify-content:flex-end}
.portal-live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse-dot 1.8s ease-in-out infinite}
@keyframes pulse-dot{0%,100%{box-shadow:0 0 0 0 rgba(0,155,58,0.4)}50%{box-shadow:0 0 0 6px rgba(0,155,58,0)}}
.session-warning-bar{position:fixed;top:66px;left:0;right:0;z-index:1500;background:#fff3cd;border-bottom:2px solid #ffc107;padding:8px 16px;display:none;justify-content:center;align-items:center;gap:12px;font-size:12px;font-weight:600;color:#856404}
.session-warning-bar.visible{display:flex}
.session-extend-btn{background:#ffc107;border:none;border-radius:6px;padding:4px 12px;font-size:11px;font-weight:700;cursor:pointer;color:#1a1a1a;transition:var(--transition)}
.session-extend-btn:hover{background:#e6ac00}

/* ═══════════════════════════════════════════════════════
   SITE FOOTER — Clean Professional Design
═══════════════════════════════════════════════════════ */
.site-footer{background:#0a0a0a;border-top:3px solid #FFD700;padding:0;font-family:'Inter',sans-serif}
.sf-top{display:grid;grid-template-columns:1fr;gap:32px;padding:40px 20px 32px;max-width:1100px;margin:0 auto}
@media(min-width:700px){.sf-top{grid-template-columns:220px 1fr;align-items:start}}
.sf-brand{display:flex;flex-direction:column;gap:10px}
.sf-logo{font-size:16px;font-weight:900;color:#FFD700;letter-spacing:0.5px}
.sf-tagline{font-size:12px;color:rgba(255,255,255,0.6);font-style:italic;line-height:1.4}
.sf-mission{font-size:11px;color:rgba(255,255,255,0.35);line-height:1.5}
.sf-socials{display:flex;gap:8px;margin-top:6px}
.sf-icon{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.16);border:1.5px solid rgba(255,255,255,0.35);display:flex;align-items:center;justify-content:center;font-size:17px;text-decoration:none;transition:all 0.2s ease;box-shadow:0 2px 6px rgba(0,0,0,0.35)}
.sf-icon:hover{background:var(--gold,#FFD700);border-color:var(--gold,#FFD700);transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,215,0,0.45)}
.sf-dim{opacity:0.55}
.sf-dim:hover{opacity:0.75;transform:none}
.sf-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 16px}
@media(min-width:560px){.sf-cols{grid-template-columns:repeat(4,1fr)}}
.sf-col{display:flex;flex-direction:column;gap:6px}
.sf-col-title{font-size:11px;font-weight:800;color:#FFD700;text-transform:uppercase;letter-spacing:0.8px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(255,215,0,0.2)}
.sf-link{font-size:12px;color:rgba(255,255,255,0.55);text-decoration:none;line-height:1.5;transition:color 0.15s ease;padding:1px 0;display:block}
.sf-link:hover{color:#FFD700}
.sf-btn{background:none;border:none;text-align:left;cursor:pointer;padding:1px 0}
.sf-detail{font-size:11px;color:rgba(255,255,255,0.4);line-height:1.6;margin:0 0 2px}
.sf-detail strong{color:rgba(255,255,255,0.7)}
.sf-badge-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.sf-badge{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.45);font-size:9px;font-weight:700;padding:3px 8px;border-radius:20px;white-space:nowrap}
.sf-bottom{border-top:1px solid rgba(255,255,255,0.08);padding:14px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;max-width:1100px;margin:0 auto}
.sf-copy{font-size:11px;color:rgba(255,255,255,0.28);line-height:1.5;flex:1;min-width:0}
.sf-top-btn{background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.6);border:1px solid rgba(255,255,255,0.15);border-radius:8px;padding:7px 16px;font-size:12px;cursor:pointer;font-weight:600;transition:all 0.2s ease;white-space:nowrap;flex-shrink:0}
.sf-top-btn:hover{background:#009B3A;color:white;border-color:#009B3A}

/* MODALS (Login, Register, Store, Legal) */
.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);z-index:2000;display:none;align-items:center;justify-content:center;padding:16px}
.modal.active{display:flex}
.modal-content{background:white;border-radius:16px;padding:24px;width:100%;max-width:420px;position:relative;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}
.modal-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:20px;cursor:pointer;color:var(--gray-600)}
.modal-tabs{display:flex;gap:8px;margin:16px 0;border-bottom:1px solid var(--gray-200)}
.modal-tab{flex:1;text-align:center;padding:10px;font-size:13px;font-weight:600;color:var(--gray-600);cursor:pointer;border-bottom:2px solid transparent}
.modal-tab.active{color:var(--green);border-bottom-color:var(--green)}
.modal-panel{display:none}
.modal-panel.active{display:block}
.login-method-toggle{display:flex;gap:8px;margin-bottom:16px}
.login-toggle-btn{flex:1;padding:8px;border:1px solid var(--gray-200);background:white;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer}
.login-toggle-btn.active{border-color:var(--green);background:rgba(0,155,58,0.05);color:var(--green)}
.password-strength-bar{height:4px;background:var(--gray-200);border-radius:4px;margin-top:8px;overflow:hidden}
.password-strength-bar .fill{height:100%;width:0%;background:#dc3545;transition:all 0.3s ease}
.password-strength-text{font-size:11px;color:var(--gray-600);margin-top:4px;display:block}
.password-requirements{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.req{font-size:10px;color:var(--gray-600)}
.req.met{color:var(--green)}
.remember-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:12px 0}
.forgot-link{color:var(--green);cursor:pointer;font-weight:600;font-size:11px}
.forgot-links-container{display:flex;justify-content:space-between;margin-top:16px;border-top:1px solid var(--gray-200);padding-top:12px}
.toast-container{position:fixed;top:70px;right:16px;z-index:3000;display:flex;flex-direction:column;gap:8px;width:320px;max-width:calc(100vw - 32px)}
.toast{background:white;padding:12px 16px;border-radius:8px;box-shadow:var(--shadow-lg);display:flex;justify-content:space-between;align-items:center;font-size:13px;border-left:4px solid var(--green);animation:slideIn 0.3s ease forwards}
.toast.error{border-left-color:#dc3545}
.toast-message{flex:1}
.toast-close{background:none;border:none;font-size:14px;cursor:pointer;color:var(--gray-600);margin-left:8px}
@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes slideOut{to{transform:translateX(100%);opacity:0}}
.hiw-steps{display:grid;grid-template-columns:1fr;gap:20px;margin-top:24px}
@media(min-width:700px){.hiw-steps{grid-template-columns:repeat(2,1fr)}}
.hiw-step{background:white;border:1px solid var(--gray-200);border-radius:16px;padding:20px;position:relative}
.hiw-step-number{position:absolute;top:-10px;left:20px;background:var(--green);color:white;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.hiw-icon{font-size:28px;margin-bottom:8px;margin-top:8px}
.hiw-step-title{font-size:15px;font-weight:700;margin-bottom:6px}
.hiw-step-desc{font-size:13px;color:var(--gray-600);line-height:1.5;margin-bottom:12px}
.hiw-step-badge{display:inline-block;font-size:10px;font-weight:600;color:var(--gold);background:rgba(255,215,0,0.1);padding:4px 10px;border-radius:20px}
.hiw-independence-banner{background: #002913 !important; border: 3px solid #FFD700 !important; box-shadow: 0 15px 35px rgba(0,0,0,0.4) !important; transform: scale(1.03) !important; display:flex;align-items:center;gap:16px;border-radius:16px;padding:20px;margin-top:24px}
.hiw-banner-icon{font-size:32px}
.hiw-banner-headline{color: #FFD700 !important; font-size:14px;font-weight:700;margin-bottom:4px}
.hiw-banner-text{color: #fff !important; font-size:12px;line-height:1.5}
.hiw-banner-seal{font-size:24px;color:var(--green);font-weight:900}
.testimonials-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:700px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}
.testi-card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:20px}
.testi-card--featured{border-color:rgba(255,215,0,0.3);background:rgba(255,215,0,0.03)}
.testi-featured-label{font-size:10px;font-weight:700;color:var(--gold);margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}
.testi-stars{color:var(--gold);font-size:14px;margin-bottom:10px;letter-spacing:2px}
.testi-quote{font-size:13px;color:rgba(255,255,255,0.8);line-height:1.6;margin-bottom:16px;font-style:italic}
.testi-author-row{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,0.1);padding-top:12px}
.testi-avatar{width:40px;height:40px;border-radius:50%;background:var(--green);color:white;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}
.testi-author-info{display:flex;flex-direction:column;gap:2px}
.testi-author-info strong{color:white;font-size:13px}
.testi-author-info span{color:rgba(255,255,255,0.5);font-size:11px}
.testi-plan-badge{display:inline-block;font-size:9px;font-weight:600;color:var(--green);background:rgba(0,155,58,0.1);padding:2px 6px;border-radius:4px;margin-top:2px;width:fit-content}
.testi-submit-row{margin-top:24px;background:rgba(255,255,255,0.03);border:1px dashed rgba(255,255,255,0.15);border-radius:12px;padding:16px}
.testi-submit-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.testi-submit-title{font-size:14px;font-weight:700;color:white;margin-bottom:4px}
.testi-submit-sub{font-size:12px;color:rgba(255,255,255,0.6)}
.testi-submit-btn{display:inline-flex;align-items:center;gap:6px;background:var(--green);color:white;padding:10px 16px;border-radius:8px;font-size:12px;font-weight:600;text-decoration:none}
.voice-story-panel{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:16px;margin-top:16px}
.voice-story-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.voice-story-icon{font-size:20px}
.voice-story-label{font-size:10px;font-weight:700;color:var(--green);text-transform:uppercase}
.voice-story-name{font-size:13px;font-weight:600;color:white}
.voice-story-flag{margin-left:auto;font-size:20px}
.voice-story-quote{font-size:13px;color:rgba(255,255,255,0.7);font-style:italic;line-height:1.6;border-left:3px solid var(--green);padding-left:12px;margin-bottom:8px}
.voice-story-note{font-size:10px;color:rgba(255,255,255,0.4)}
.about-layout{display:grid;grid-template-columns:1fr;gap:24px; overflow:hidden;}
@media(min-width:700px){.about-layout{grid-template-columns:1fr}}
.about-photo-frame{position:relative;margin-bottom:16px}
.about-photo-placeholder{width:100%;aspect-ratio:1/1;background:var(--gray-100);border-radius:13px;border:1px solid var(--gray-200);position:relative;overflow:hidden}
.about-photo-initials{font-size:48px;font-weight:900;color:var(--gray-200)}
.about-photo-upload-hint{font-size:12px;color:var(--gray-600)}
.about-credentials-card{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.about-credential{display:flex;align-items:center;gap:10px;font-size:12px}
.cred-icon{font-size:18px}
.about-credential strong{display:block;font-size:13px;color:var(--black)}
.about-credential span{font-size:11px;color:var(--gray-600)}
.about-intro{font-size:18px;font-weight:700;color:var(--green);margin-bottom:12px;font-family:'Cormorant Garamond',serif}
.about-body{font-size:13px;color:var(--gray-600);line-height:1.7;margin-bottom:12px}
.about-quote-pull{background:var(--gray-50);border-left:4px solid var(--gold);padding:16px;border-radius:0 8px 8px 0;margin:20px 0}
.about-quote-mark{font-size:40px;color:var(--gold);line-height:0.5;font-family:Georgia,serif}
.about-quote-pull blockquote{font-size:15px;font-style:italic;color:var(--black);margin-bottom:8px}
.about-quote-pull cite{font-size:11px;color:var(--gray-600);font-weight:600}
.about-cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.parish-disclaimer-banner{background: linear-gradient(135deg, rgba(0,155,58,0.1), rgba(255,215,0,0.1)); border: 2px solid var(--green); font-size: 14px; font-weight: 600; border-radius: 12px; padding: 20px; display:flex;gap:12px;align-items:flex-start;margin-top:16px;color:var(--gray-800);}
.parish-disclaimer-icon{font-size:20px}
.parish-disclaimer-title{font-weight:700;margin-bottom:4px}
.parish-disclaimer-text{color:var(--gray-600);line-height:1.5;margin-bottom:6px}
.parish-disclaimer-link{color:var(--green);font-weight:600;text-decoration:none;font-size:12px}
.free-visit-banner{background: linear-gradient(135deg, #009B3A, #006b28); color: white; border: none; border-radius: 20px; box-shadow: 0 15px 40px rgba(0,155,58,0.3); display:flex;flex-wrap:wrap;gap:16px;padding:20px;margin-bottom:24px;align-items:center}
.free-visit-left{flex:1;min-width:250px}
.free-visit-badge{display:inline-block;background:var(--gold);color:var(--black);font-size:10px;font-weight:800;padding:4px 10px;border-radius:20px;margin-bottom:8px}
.free-visit-title{font-size:18px;font-weight:700;margin-bottom:6px;color:rgba(255,255,255,0.9);}
.free-visit-desc{font-size:12px;color:rgba(255,255,255,0.9);line-height:1.5}
.free-visit-right{text-align:center;flex-shrink:0}
.free-visit-price-cross{text-decoration:line-through;color:rgba(255,255,255,0.6);font-size:14px}
.free-visit-price-free{color: var(--gold); font-size: 36px; font-weight: 800;}
.free-visit-btn{background: var(--gold); color: var(--black); font-weight: 800; border: none; padding:10px 20px;border-radius:8px;cursor:pointer;margin:8px 0;font-size:13px}
.free-visit-terms{color:rgba(255,255,255,0.9);font-size:10px}
.store-controls-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}
.store-view-all-btn{background:none;border:1px solid var(--gray-200);padding:8px 16px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer}
.product-thumb-placeholder{height:120px;background:var(--gray-100);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:36px;margin-bottom:8px}
.product-badge-digital{display:inline-block;font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;background:rgba(0,155,58,0.1);color:var(--green);margin-bottom:6px}
.payment-unavailable-banner{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:10px 14px;border-radius:8px;font-size:12px;margin-bottom:10px}
.contact-layout{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:700px){.contact-layout{grid-template-columns:0.8fr 1.2fr}}
.contact-info-panel{background:var(--gray-50);border-radius:16px;padding:20px;border:1px solid var(--gray-200)}
.contact-info-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.contact-info-avatar{width:48px;height:48px;border-radius:50%;background:var(--green);color:white;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}
.contact-info-name{font-size:15px;font-weight:700}
.contact-info-title{font-size:11px;color:var(--gray-600)}
.contact-info-intro{font-size:12px;color:var(--gray-600);line-height:1.6;margin-bottom:16px}
.contact-channels{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.contact-channel-item{display:flex;align-items:center;gap:10px;padding:10px;background:white;border-radius:8px;text-decoration:none;color:var(--black);border:1px solid var(--gray-200);transition:var(--transition)}
.contact-channel-item:hover{border-color:var(--green)}
.contact-channel-whatsapp{border-left:3px solid #25D366}
.contact-channel-icon{font-size:18px}
.contact-channel-item strong{display:block;font-size:12px}
.contact-channel-item span{font-size:11px;color:var(--gray-600)}
.contact-channel-arrow{margin-left:auto;color:var(--gray-600)}
.contact-hours-card{background:white;border-radius:8px;padding:12px;margin-bottom:16px}
.contact-hours-title{font-size:12px;font-weight:700;margin-bottom:8px}
.contact-hours-grid{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:11px;color:var(--gray-600);margin-bottom:8px}
.contact-hours-note{font-size:10px;color:var(--gray-600);border-top:1px solid var(--gray-200);padding-top:8px}
.contact-trust-badges{display:flex;flex-direction:column;gap:6px}
.contact-trust-item{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--gray-600)}
.contact-form-panel{background:white;border-radius:16px;padding:20px;border:1px solid var(--gray-200)}
.contact-form-header{margin-bottom:16px}
.contact-form-header h3{font-size:18px;font-weight:700}
.contact-form-header p{font-size:12px;color:var(--gray-600)}
.spending-tracker-module{background:white}
.spending-kpi-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}
@media(min-width:480px){.spending-kpi-row{grid-template-columns:repeat(5,1fr)}}
.spending-kpi{background:var(--gray-50);padding:10px;border-radius:8px;text-align:center;border:1px solid var(--gray-200)}
.spending-kpi-total{grid-column:1/-1;background:rgba(0,155,58,0.05);border-color:rgba(0,155,58,0.2)}
.spending-kpi-icon{font-size:16px}
.spending-kpi-val{font-size:15px;font-weight:700;color:var(--black);margin:4px 0}
.spending-kpi-lbl{font-size:9px;color:var(--gray-600);text-transform:uppercase;letter-spacing:0.5px}
.spending-chart-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center}
.spending-chart-wrap{width:160px;height:160px;flex-shrink:0}
.spending-legend{display:flex;flex-direction:column;gap:6px}
.spending-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--gray-600)}
.legend-dot{width:10px;height:10px;border-radius:50%}
.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-form-grid .full-width{grid-column:1/-1}
@media(max-width:600px){.admin-form-grid{grid-template-columns:1fr}}
#whatsappFloat{position:fixed;bottom:20px;right:20px;width:50px;height:50px;background:#25D366;color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;text-decoration:none;z-index:999;box-shadow:var(--shadow-lg)}
.back-to-top{position:fixed;bottom:20px;left:20px;width:40px;height:40px;background:var(--black);color:white;border:none;border-radius:50%;cursor:pointer;z-index:999;display:none;align-items:center;justify-content:center;font-size:14px}
.back-to-top:hover{background:var(--green)}

/* ============================================================
   NEW LAYOUT UPDATES (REQUESTS 1, 3, 4, 5, 6, 7)
   ============================================================ */

/* 1. Problem Module Dual Column & Holness Pronounced */
.problem-dual-col { display: flex; gap: 16px; margin-top: 16px; flex-wrap: wrap; }
@media(max-width: 700px) { .problem-dual-col { flex-direction: column; } }
.problem-dual-col .problem-card, .problem-dual-col .voice-story-panel { height: 100%; display: flex; flex-direction: column; flex: 1; min-width: 280px; }
.problem-dual-col .voice-story-quote { flex: 1; }

.holness-panel-pronounced { display: flex; gap: 24px; align-items: center; background: linear-gradient(90deg, rgba(255,215,0,0.1) 50%, rgba(0,155,58,0.1) 50%); border: 2px solid var(--gold); border-radius: 16px; padding: 24px; margin-top: 24px; flex-wrap: wrap; }
.holness-screenshot-col { flex: 1; min-width: 250px; }
.holness-img { width: 100%; border-radius: 12px; border: 4px solid white; box-shadow: 0 8px 20px rgba(0,0,0,0.3); }
.holness-panel-body { flex: 1.5; min-width: 280px; }
.holness-panel-label { font-size: 10px; font-weight: 700; color: var(--gold); text-transform: uppercase; letter-spacing: 1px; }
.holness-panel-title { font-size: 20px; font-weight: 700; color: white; margin: 4px 0 8px; }
.holness-panel-text { font-size: 13px; color: rgba(255,255,255,0.8); line-height: 1.5; margin-bottom: 8px; }
.holness-panel-btn { display: inline-block; margin-top: 8px; font-size: 12px; font-weight: 600; color: var(--gold); border: 1px solid var(--gold); padding: 8px 16px; border-radius: 6px; text-decoration: none; }

/* 3. George Story Float Layout */
@media(min-width: 700px) {
    .about-layout { display: block; overflow: hidden; }
    .about-photo-col { float: left; width: 280px !important; margin-right: 24px; margin-bottom: 20px; }
    .about-story-col { overflow: hidden; }
    .about-bottom-row { display: flex; gap: 20px; margin-top: 20px; flex-wrap: wrap; clear: both; }
}
@media(max-width: 699px) {
    .about-layout { display: flex; flex-direction: column; }
    .about-bottom-row { display: flex; flex-direction: column; gap: 20px; margin-top: 20px; }
}
.about-quote-pull { flex: 1; min-width: 280px; }
.about-cta-row { flex: 1; min-width: 280px; display: flex; flex-direction: column; justify-content: center; gap: 10px; }

/* 5. Packages Matrix Sentinel Emphasis */
.packages-matrix { grid-template-columns: 120px 1fr 1fr 2fr !important; }
.matrix-header h4 { font-size: 18px; }
.plan-cap-note { font-size: 11px; color: rgba(255,255,255,0.8); margin-top: 4px; font-weight: 700; }

/* Email Truncation & Pagination Fix */
.truncate-email { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; vertical-align: middle; }
.admin-pagination-controls { display: flex; justify-content: flex-end; margin-top: 15px; gap: 10px; }
.admin-pagination-btn { background-color: var(--green); color: white; border: none; padding: 8px 16px; border-radius: 8px; cursor: pointer; font-weight: 600; font-size: 13px; }
.admin-pagination-btn:disabled { background-color: var(--gray-200); color: var(--gray-600); cursor: not-allowed; }
/* Mobile Navbar Fix */
@media (max-width: 600px) {
    .nav-container { gap: 4px; }
    .logo-badge-graphics { width: 34px; height: 34px; }
    .logo-stacked-label { font-size: 8px; }
    .desktop-login-btn { padding: 6px 8px !important; font-size: 10px !important; width: auto !important; }
    .nav-logout-btn { padding: 6px 8px !important; font-size: 10px !important; width: auto !important; }
    .welcome-badge { max-width: 90px; padding: 6px 8px !important; font-size: 10px !important; }
    .cart-nav-badge { padding: 4px 8px !important; font-size: 10px !important; }
    .mobile-menu-btn { font-size: 18px; padding: 2px; }
}

/* Full-page loading gate: prevents the public marketing site from
   flashing on screen before we know if this is a returning logged-in
   client or admin. */
#appLoadingGate { position: fixed; inset: 0; background: var(--white); z-index: 99999; display: flex; align-items: center; justify-content: center; }
.app-loading-badge { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.app-loading-spinner { width: 28px; height: 28px; border: 3px solid var(--gray-200); border-top-color: var(--green); border-radius: 50%; animation: appLoadingSpin 0.8s linear infinite; }
@keyframes appLoadingSpin { to { transform: rotate(360deg); } }
/* ============================================================
   PWA: offline status banner + "Add to Home Screen" install banner
   ============================================================ */
.offline-status-banner {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100000;
    background: #C0392B; color: #fff; text-align: center;
    padding: 8px 12px; font-size: 12.5px; font-weight: 600;
}
.offline-status-banner.hidden { display: none; }

.pwa-install-banner {
    position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 99998;
    background: var(--green, #009B3A); color: #fff; border-radius: 12px;
    padding: 12px 14px; box-shadow: 0 8px 24px rgba(0,0,0,0.25);
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    font-size: 13px;
}
.pwa-install-banner.hidden { display: none; }
.pwa-install-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.pwa-install-actions button { width: auto; padding: 8px 12px; font-size: 12.5px; border-radius: 8px; cursor: pointer; }
#pwaInstallBtn { background: #fff; color: var(--green-dark, #005c22); border: none; font-weight: 700; }
#pwaInstallDismiss { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.5); padding: 8px 10px; }
@media (max-width: 480px) {
    .pwa-install-banner { flex-direction: column; align-items: stretch; text-align: center; }
    .pwa-install-actions { justify-content: center; }
}

/* Permanent "Install App" nav/footer trigger */
.nav-install-badge {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    background: linear-gradient(135deg, #FFD700, #FFB800);
    color: #1A1A1A; border: none; border-radius: 24px;
    padding: 8px 16px; font-size: 13px; font-weight: 800; cursor: pointer; width: auto;
    box-shadow: 0 3px 10px rgba(255, 184, 0, 0.55);
    animation: navInstallPulse 2.4s ease-in-out infinite;
    letter-spacing: 0.2px;
}
.nav-install-badge:hover { transform: translateY(-1px) scale(1.04); box-shadow: 0 5px 16px rgba(255, 184, 0, 0.75); }
.nav-install-icon { font-size: 16px; line-height: 1; }
.nav-install-label-full { white-space: nowrap; }
.nav-install-label-short { display: none; white-space: nowrap; }
@keyframes navInstallPulse {
    0%, 100% { box-shadow: 0 3px 10px rgba(255, 184, 0, 0.5); }
    50% { box-shadow: 0 3px 20px rgba(255, 184, 0, 0.95), 0 0 0 5px rgba(255, 184, 0, 0.18); }
}
@media (max-width: 600px) {
    .nav-install-badge { padding: 7px 10px !important; font-size: 11px !important; gap: 4px; }
    .nav-install-label-full { display: none; }
    .nav-install-label-short { display: inline; }
}

/* ============================================================
   MOBILE CONDENSING PASS — swipe carousels, quick-jump nav,
   dashboard tabs, and tighter section padding. All rules below
   are gated behind max-width media queries or !important
   top/bottom-only overrides, so nothing changes on desktop and
   no module/section is removed — content just reflows so it
   takes less vertical scroll to reach the footer.
   ============================================================ */

/* ---- 1. Horizontal swipe carousels for repeated-card sections ---- */
@media (max-width: 700px) {
    .problem-grid, .services-grid, .testimonials-grid, .hiw-steps, #mainStoreShelf {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        gap: 12px;
        padding: 4px 4px 10px;
        margin: 0 -4px;
        scrollbar-width: none;
    }
    .problem-grid::-webkit-scrollbar, .services-grid::-webkit-scrollbar,
    .testimonials-grid::-webkit-scrollbar, .hiw-steps::-webkit-scrollbar,
    #mainStoreShelf::-webkit-scrollbar { display: none; height: 0; }
    .problem-grid > *, .services-grid > *, .testimonials-grid > *, .hiw-steps > *, #mainStoreShelf > * {
        flex: 0 0 84%;
        scroll-snap-align: center;
    }
}
.swipe-hint { display: none; font-size: 10px; color: var(--gray-600); text-align: center; margin-top: 2px; letter-spacing: 0.3px; }
@media (max-width: 700px) { .swipe-hint { display: block; } }
.swipe-dots { display: none; }
@media (max-width: 700px) {
    .swipe-dots { display: flex; justify-content: center; gap: 6px; margin-top: 10px; }
}
.swipe-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gray-200); border: none; padding: 0; cursor: pointer; transition: var(--transition); }
.swipe-dot.active { background: var(--green); width: 18px; border-radius: 4px; }
.swipe-dots.on-dark .swipe-dot { background: rgba(255,255,255,0.25); }
.swipe-dots.on-dark .swipe-dot.active { background: var(--gold); }

/* ---- 2. Mobile quick-jump section nav (sticky pill strip) ---- */
.quick-jump-nav { display: none; }
@media (max-width: 700px) {
    .quick-jump-nav {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 8px 12px;
        background: var(--white);
        position: sticky;
        top: 58px;
        z-index: 900;
        border-bottom: 1px solid var(--gray-200);
        box-shadow: var(--shadow-sm);
        margin-bottom: 8px;
    }
    .quick-jump-nav::-webkit-scrollbar { display: none; height: 0; }
}
.qj-pill {
    flex: 0 0 auto;
    padding: 7px 14px;
    border-radius: 20px;
    background: var(--white);
    border: 1.5px solid var(--green);
    color: var(--green);
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 1px 4px rgba(0,155,58,0.18);
    transition: var(--transition);
}
.qj-pill:active, .qj-pill.qj-active { background: var(--green); color: #fff; box-shadow: 0 2px 8px rgba(0,155,58,0.35); }

/* ---- 3. Mobile dashboard tabs (client + admin portals) ---- */
.dash-tabs { display: none; }
@media (max-width: 900px) {
    .dash-tabs {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        margin-bottom: 16px;
        padding-bottom: 6px;
        border-bottom: 1px solid var(--gray-200);
    }
    .dash-tabs::-webkit-scrollbar { display: none; height: 0; }
    .portal-main .dashboard-module[data-tab] { display: none; }
    .portal-main .dashboard-module[data-tab].tab-active { display: block; }
}
.dash-tab-btn {
    flex: 0 0 auto;
    padding: 9px 16px;
    border-radius: 20px;
    border: 1.5px solid var(--green);
    background: var(--white);
    font-size: 11px;
    font-weight: 700;
    color: var(--green);
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 1px 4px rgba(0,155,58,0.18);
    transition: var(--transition);
}
.dash-tab-btn.active { background: var(--green); border-color: var(--green); color: #fff; box-shadow: 0 2px 8px rgba(0,155,58,0.35); }
.dash-tab-btn:hover:not(.active) { background: rgba(0,155,58,0.08); }

/* ---- 4. Condense vertical padding on mobile (top/bottom only —
   left/right padding from each section's inline style is untouched,
   so nothing about the horizontal layout changes) ---- */
@media (max-width: 600px) {
    #main-marketing-site > section.section { padding-top: 22px !important; padding-bottom: 22px !important; margin-bottom: 14px !important; }
    .hero { padding-top: 20px !important; padding-bottom: 12px !important; }
    .section { padding-top: 26px; padding-bottom: 26px; }
}


/* ============================================================
   v3.0 MULTI-PAGE ADDITIONS
   ============================================================ */
.nav-links{display:flex;gap:18px;align-items:center;margin-left:24px;flex:1;min-width:0;overflow:hidden;}
.nav-links a{font-size:13px;font-weight:600;color:var(--gray-800,#333);text-decoration:none;padding:6px 2px;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s ease,border-color .15s ease;}
.nav-links a:hover{color:var(--green,#009B3A);}
.nav-links a.active{color:var(--green,#009B3A);border-bottom-color:var(--gold,#FFD700);}
@media(max-width:1099px){.nav-links{display:none;}}
.page-header{text-align:center;padding:36px 16px 4px;}
.page-header p{font-size:13px;color:var(--gray-600,#666);max-width:540px;margin:8px auto 0;}
.holness-video-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;}
.holness-video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.home-plan-teaser{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:20px;}
.home-plan-card{background:var(--white,#fff);border:1px solid var(--gray-200,#e5e5e5);border-radius:14px;padding:24px 18px;text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center;}
.home-plan-card.featured{border-color:var(--green,#009B3A);box-shadow:0 6px 24px rgba(0,155,58,0.12);}
.home-plan-price{font-size:26px;font-weight:800;color:var(--green,#009B3A);}
.home-plan-price span{font-size:12px;font-weight:600;color:var(--gray-600,#666);}
.home-plan-card .plan-icon{font-size:26px;}


/* v3.0.1 FIX: the original single-page design caps .nav-container at 640px,
   which crushed the new desktop page links into the Install/Portal/Cart/menu
   buttons. On wide screens (where the links are visible) the header now gets
   room to breathe; below 1100px the links hide and the hamburger menu is the
   navigation, exactly like the original mobile design. */
@media (min-width: 1100px) {
    .nav-container { max-width: 1160px; padding: 0 8px; }
    .mobile-menu-btn { display: none; }
}
