﻿/* From prototype: pricing.html */
nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:68px;background:rgba(250,247,242,0.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
  .nav-logo{font-family:var(--font-body);font-weight:800;font-size:22px;color:var(--olive);text-decoration:none}
  .nav-links{display:flex;gap:32px;list-style:none}
  .nav-links a{text-decoration:none;color:var(--mid);font-size:15px;font-weight:500;transition:color 0.2s}
  .nav-links a:hover,.nav-links a.active{color:var(--olive)}
  .nav-cta{display:flex;gap:12px}
  .btn-ghost{padding:9px 20px;border:1.5px solid var(--olive);border-radius:8px;color:var(--olive);font-size:14px;font-weight:600;text-decoration:none;background:transparent;font-family:var(--font-body)}
  .btn-primary{padding:9px 20px;background:var(--rust);border:none;border-radius:8px;color:white;font-size:14px;font-weight:600;text-decoration:none;font-family:var(--font-body)}

  /* HERO */
  .page-hero{background:var(--olive);padding:32px 48px;text-align:center;position:relative;overflow:hidden}
  .page-hero::before{content:'';position:absolute;width:500px;height:500px;background:var(--lime);opacity:0.07;border-radius:50%;top:-200px;right:-100px}
  .page-hero h1{font-family:var(--font-body);font-size:48px;font-weight:800;color:white;margin-bottom:16px;position:relative}
  .page-hero h1 span{color:var(--lime)}
  .page-hero p{font-size:18px;color:rgba(255,255,255,0.72);max-width:580px;margin:0 auto;line-height:1.7;position:relative}

  .launch-pricing-wrap{max-width:860px;margin:0 auto;padding:32px 48px 0}

  /* FEE SECTION */
  .fee-section{width:100%;box-sizing:border-box;min-width:0;max-width:1100px;margin:0 auto;padding:32px 48px}
  .sec-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--olive);text-align:center;margin-bottom:12px}
  .sec-title{font-family:var(--font-body);font-size:36px;font-weight:800;text-align:center;margin-bottom:12px}
  .sec-sub{font-size:17px;color:var(--mid);text-align:center;max-width:580px;margin:0 auto 48px;line-height:1.7;font-weight:400}

  .fee-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:860px;margin:0 auto 60px}
  .fee-card{min-width:0;overflow-wrap:anywhere;border-radius:24px;padding:44px}
  .fee-card.them{background:#fff5f5;border:2px solid #e74c3c;color:var(--charcoal)}
  .fee-card.them .fee-tag{color:#c0392b}
  .fee-card.us{background:var(--olive);color:white}
  .fee-tag{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--mid);margin-bottom:8px}
  .fee-card.us .fee-tag{color:var(--lime)}
  .fee-tag-brand{text-transform:none;letter-spacing:0}
  .fee-tag-brand .brand-logo{font-size:1.1em}
  .cr-label .brand-logo{font-size:1em}
  .calc-savings-label .brand-logo{font-size:1em;vertical-align:baseline}
  .fee-name{font-family:var(--font-body);font-size:22px;font-weight:800;margin-bottom:24px}
  .fee-pct{font-family:var(--font-body);font-size:clamp(28px,3.4vw,48px);font-weight:800;line-height:1.2;margin-bottom:8px;overflow-wrap:anywhere}
  .fee-pct.bad{color:#e74c3c}
  .fee-pct.good{color:var(--lime)}
  .fee-pct-sub{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:rgba(255,255,255,0.72);margin:-4px 0 12px}
  .fee-bar-wrap{margin:16px 0 20px}
  .fee-bar-labels{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px;color:var(--mid)}
  .fee-card.us .fee-bar-labels{color:rgba(255,255,255,0.6)}
  .fee-bar{height:14px;border-radius:100px;background:var(--sand);overflow:hidden}
  .fee-card.us .fee-bar{background:rgba(255,255,255,0.15)}
  .fee-fill{height:100%;border-radius:100px}
  .fill-bad{background:#e74c3c;width:75%}
  .fill-good{background:var(--lime);width:25%}
  .fee-note{font-size:14px;color:var(--mid);line-height:1.6}
  .fee-card.us .fee-note{color:rgba(255,255,255,0.65)}
  .fee-checklist{margin-top:20px;display:flex;flex-direction:column;gap:8px}
  .fee-check{display:flex;align-items:center;gap:10px;font-size:14px}
  .fee-check.yes::before{content:'\2713';color:var(--lime);font-weight:800}
  .fee-check.no::before{content:'\2717';color:#e74c3c;font-weight:800}
  .fee-card.us .fee-check{color:rgba(255,255,255,0.85)}

  /* WORKER BILLING PLANS */
  .billing-plans-section{width:100%;box-sizing:border-box;max-width:900px;margin:0 auto;padding:0 48px 48px}
  .billing-plans-inner{text-align:center}
  .billing-plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px;text-align:left}
  .billing-plan-card{min-width:0;border-radius:16px;border:2px solid var(--border);padding:28px;background:white}
  .billing-plan-card--featured{border-color:var(--olive);background:linear-gradient(160deg,var(--olive) 0%,#4a5f0a 100%);color:white}
  .billing-plan-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--rust);margin-bottom:8px}
  .billing-plan-card--featured .billing-plan-tag{color:var(--lime)}
  .billing-plan-rate{font-family:var(--font-body);font-size:clamp(24px,3vw,36px);font-weight:800;margin-bottom:12px;overflow-wrap:anywhere}
  .billing-plan-period{font-size:16px;font-weight:600;opacity:0.85}
  .billing-plan-desc{font-size:14px;line-height:1.65;color:var(--mid);margin:0}
  .billing-plan-card--featured .billing-plan-desc{color:rgba(255,255,255,0.82)}
  .billing-plans-foot{margin-top:20px;font-size:13px;color:var(--mid)}

  .calc-mode-toggle{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
  .calc-mode-btn{flex:1;min-width:140px;padding:10px 14px;border-radius:10px;border:2px solid var(--border);background:white;font-family:var(--font-body);font-size:13px;font-weight:700;color:var(--mid);cursor:pointer;transition:all 0.15s}
  .calc-mode-btn.active{border-color:var(--olive);background:rgba(114,140,20,0.12);color:var(--olive)}
  .calc-sub-note{font-size:12px;margin-top:12px;line-height:1.5;color:rgba(255,255,255,0.75)}

  /* CALCULATOR */
  .calc-section{background:var(--sand);padding:32px 48px}
  .calc-inner{max-width:700px;margin:0 auto}
  .calc-box{background:white;border-radius:20px;border:1.5px solid var(--border);padding:36px}
  .calc-title{font-family:var(--font-body);font-size:22px;font-weight:800;margin-bottom:6px}
  .calc-sub{font-size:14px;color:var(--mid);margin-bottom:28px}
  .calc-input-wrap{display:flex;align-items:center;gap:16px;margin-bottom:28px}
  .calc-input-wrap label{font-size:14px;font-weight:600;color:var(--mid);white-space:nowrap}
  .calc-input{flex:1;padding:14px 18px;border:2px solid var(--border);border-radius:10px;font-size:18px;font-family:var(--font-body);font-weight:700;outline:none;transition:border-color 0.15s}
  .calc-input:focus{border-color:var(--olive)}
  .calc-results{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .calc-result-box{border-radius:14px;padding:20px 24px;border:2px solid var(--border)}
  .calc-result-box.them{background:#fff5f5;border-color:#e74c3c}
  .calc-result-box.them .cr-label{color:#c0392b}
  .calc-result-box.us{background:var(--olive);color:white;border-color:var(--olive)}
  .cr-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;color:var(--mid)}
  .calc-result-box.us .cr-label{color:var(--lime)}
  .cr-platform{font-size:14px;font-weight:700;margin-bottom:12px}
  .cr-breakdown{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--mid)}
  .calc-result-box.us .cr-breakdown{color:rgba(255,255,255,0.65)}
  .cr-row{display:flex;justify-content:space-between}
  .cr-total{display:flex;justify-content:space-between;font-family:var(--font-body);font-weight:800;font-size:20px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
  .calc-result-box.us .cr-total{border-top-color:rgba(255,255,255,0.2);color:var(--lime)}
  .calc-savings{text-align:center;margin-top:20px;padding:16px;background:rgba(114,140,20,0.1);border-radius:12px;border:1px solid rgba(114,140,20,0.3)}
  .calc-savings-num{font-family:var(--font-body);font-size:28px;font-weight:800;color:var(--olive)}
  .calc-savings-label{font-size:14px;color:var(--mid);margin-top:4px}

  /* LOYALTY */
  .loyalty-section{max-width:1100px;margin:0 auto;padding:32px 48px}
  .tiers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
  .tier-card{border-radius:20px;padding:28px 22px;border:2px solid var(--border);background:white;position:relative;transition:transform 0.2s,box-shadow 0.2s}
  .tier-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,0.08)}
  .tier-card.featured{border-color:var(--olive);background:var(--olive);color:white}
  .tier-badge{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px}
  .tier-badge.bronze{background:#cd7f32;color:white}
  .tier-badge.silver{background:#aaa;color:white}
  .tier-badge.gold{background:#f5c518;color:#333}
  .tier-badge.platinum{background:linear-gradient(135deg,#e5e4e2,#a0b2c6);color:#333}
  .tier-name{font-family:var(--font-body);font-weight:800;font-size:20px;margin-bottom:4px}
  .tier-threshold{font-size:13px;color:var(--mid);margin-bottom:20px}
  .tier-card.featured .tier-threshold{color:rgba(255,255,255,0.65)}
  .tier-fee{font-family:var(--font-body);font-size:36px;font-weight:800;color:var(--olive);margin-bottom:4px;line-height:1}
  .tier-card.featured .tier-fee{color:var(--lime)}
  .tier-fee-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--mid);margin-bottom:20px}
  .tier-card.featured .tier-fee-label{color:rgba(255,255,255,0.6)}
  .tier-perks{display:flex;flex-direction:column;gap:8px}
  .tier-perk{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4}
  .tier-perk::before{content:'\2713';color:var(--lime);font-weight:800;font-size:14px;flex-shrink:0}
  .tier-card.featured .tier-perk{color:rgba(255,255,255,0.85)}
  .tier-popular{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--grad-accent);color:#1A1A1A;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;padding:5px 16px;border-radius:100px;white-space:nowrap;box-shadow:var(--shadow-glow)}

  /* TABLE */
  .compare-section{background:var(--sand);padding:32px 48px}
  .compare-inner{max-width:900px;margin:0 auto}
  .compare-table{width:100%;border-collapse:separate;border-spacing:0;background:white;border-radius:16px;overflow:hidden;border:1.5px solid var(--border)}
  .compare-table th{background:var(--olive);color:white;padding:16px 20px;font-family:var(--font-body);font-weight:700;font-size:15px;text-align:left}
  .compare-table th:first-child{border-radius:0}
  .compare-table td{padding:14px 20px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:middle}
  .compare-table tr:last-child td{border-bottom:none}
  .compare-table tr:nth-child(even) td{background:var(--cream)}
  .check-yes{color:var(--olive);font-weight:800;font-size:18px}
  .check-no{color:#ccc;font-size:18px}
  .feature-label{font-weight:600;color:var(--charcoal)}

  /* FAQ */
  .faq-section{padding:32px 48px}
  .faq-inner{max-width:800px;margin:0 auto}
  .faq-header{text-align:center;margin-bottom:40px}
  .faq-item{background:white;border-radius:12px;border:1.5px solid var(--border);margin-bottom:12px;overflow:hidden}
  .faq-q{display:flex;justify-content:space-between;align-items:center;width:100%;padding:20px 24px;cursor:pointer;font-family:var(--font-body);font-weight:700;font-size:15px;background:none;border:none;text-align:left;color:inherit}
  .faq-q:hover{color:var(--olive)}
  .faq-chevron{font-size:18px;transition:transform 0.2s;color:var(--mid)}
  .faq-a{display:none;padding:0 24px 20px;font-size:14px;color:var(--mid);line-height:1.7}
  .faq-item.open .faq-a{display:block}
  .faq-item.open .faq-chevron{transform:rotate(180deg);color:var(--olive)}

  /* CTA */
  .cta-strip{background:var(--olive);padding:32px 48px;text-align:center}
  .cta-strip h2{font-family:var(--font-body);font-size:40px;font-weight:800;color:white;margin-bottom:12px}
  .cta-strip p{font-size:17px;color:rgba(255,255,255,0.82);margin-bottom:32px}
  .cta-btns{display:flex;gap:16px;justify-content:center}
  .btn-white{display:flex;justify-content:center;align-items:center;padding:14px 32px;background:white;color:var(--olive);font-weight:700;font-size:15px;border-radius:10px;border:2px solid transparent;text-decoration:none;font-family:var(--font-body);text-align:center;box-sizing:border-box}
  .btn-outline-white{display:flex;justify-content:center;align-items:center;padding:14px 32px;border:2px solid rgba(255,255,255,0.5);color:white;font-weight:700;font-size:15px;border-radius:10px;text-decoration:none;font-family:var(--font-body);text-align:center;box-sizing:border-box}

  /* FOOTER */
  footer{background:var(--charcoal);color:white;padding:48px 48px 28px}
  .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;max-width:1200px;margin:0 auto 40px}
  .footer-brand p{color:rgba(255,255,255,0.5);font-size:14px;line-height:1.7;margin-top:12px;max-width:280px}
  .footer-col h4{font-family:var(--font-body);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,0.4);margin-bottom:14px}
  .footer-col a{display:block;color:rgba(255,255,255,0.7);text-decoration:none;font-size:14px;margin-bottom:10px}
  .footer-col a:hover{color:var(--lime)}
  .footer-logo{font-family:var(--font-body);font-weight:800;font-size:20px;color:white}
  .footer-bottom{max-width:1200px;margin:0 auto;padding-top:20px;border-top:1px solid rgba(255,255,255,0.1);display:flex;justify-content:space-between;font-size:13px;color:rgba(255,255,255,0.4)}

@media (max-width: 768px) {
  .page-hero, .fee-section, .billing-plans-section, .calc-section, .loyalty-section, .compare-section, .faq-section {
    padding: 24px 16px;
  }
  .launch-pricing-wrap {
    padding: 24px 16px 0;
  }
  .fee-cards, .calc-results, .tiers-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .fee-card {
    padding: 32px 24px;
  }
  .fee-pct {
    font-size: clamp(28px,7vw,40px);
  }
  .calc-input-wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .calc-input-wrap label {
    margin-bottom: 0;
  }
  .calc-input {
    width: 100%;
    box-sizing: border-box;
  }
  .compare-inner {
    margin: 0 -16px;
    padding: 0 16px;
  }
  .compare-table {
    min-width: 0;
    table-layout: fixed;
    width: 100%;
  }
  .compare-table th, .compare-table td {
    padding: 12px 8px;
    font-size: 12px;
    word-wrap: break-word;
    text-align: center;
  }
  .compare-table th:first-child, .compare-table td:first-child {
    text-align: left;
    width: 40%;
  }
}

@media (max-width: 768px) { .faq-q { font-size: 13.5px !important; padding: 14px 14px !important; gap: 8px !important; } }

/* Match the published TaskRoof green on both comparison cards. */
.fee-card.us, .calc-result-box.us { background: #00763d !important; border-color: #00763d !important; }
.pricing-page-loader { min-height: 60vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 48px 24px; color: var(--olive); text-align: center; }
.pricing-page-loader-spinner { width: 36px; height: 36px; border: 3px solid var(--border); border-top-color: var(--olive); border-radius: 50%; animation: pricing-page-spin .8s linear infinite; }
@keyframes pricing-page-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pricing-page-loader-spinner { animation: none; } }
