*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --teal: #0d9488;
    --teal-dark: #0f766e;
    --teal-light: #ccfbf1;
    --teal-xlight: #f0fdfa;
    --warm-white: #fafaf8;
    --white: #ffffff;
    --text: #1f2937;
    --muted: #6b7280;
    --border: #e5e7eb;
    --border-light: #f3f4f6;
    --sage: #f0fdf4;
    --sage-border: #bbf7d0;
    --sage-text: #166534;
    --amber: #fffbeb;
    --amber-border: #fde68a;
    --amber-text: #92400e;
    --rose: #fff1f2;
    --rose-border: #fecdd3;
    --rose-text: #9f1239;
    --blue: #eff6ff;
    --blue-border: #bfdbfe;
    --blue-text: #1e40af;
    --radius: 16px;
    --radius-sm: 10px;
  }

  html { font-size: 16px; scroll-behavior: smooth; }
  body { font-family: 'Inter', sans-serif; background: var(--warm-white); color: var(--text); line-height: 1.65; }

  .nav { background: var(--white); border-bottom: 1px solid var(--border); padding: 0 1.5rem; height: 56px; display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 50; }
  .nav-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--text); }
  .nav-logo { width: 32px; height: 32px; background: var(--teal); border-radius: 8px; display: flex; align-items: center; justify-content: center; }
  .nav-logo svg { color: white; }
  .nav-wordmark { font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 1rem; color: var(--teal-dark); line-height: 1; }
  .nav-wordmark span { color: var(--muted); font-weight: 600; }
  .nav-links { display: flex; gap: 8px; align-items: center; }
  .nav-links a { color: rgba(0,0,0,0); text-decoration: none; font-size: 13px; padding: 6px 12px; border-radius: 8px; transition: all 0.15s; color: var(--muted); }
  .nav-links a:hover { background: var(--border-light); color: var(--text); }
  .nav-cta { background: var(--teal) !important; color: white !important; font-weight: 500; }
  .nav-cta:hover { background: var(--teal-dark) !important; }

  .hero { background: var(--white); border-bottom: 1px solid var(--border); padding: 2.5rem 1.5rem 0; }
  .hero-inner { max-width: 760px; margin: 0 auto; }
  .hero-crumb { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); margin-bottom: 1rem; flex-wrap: wrap; }
  .hero-crumb a { color: var(--teal); text-decoration: none; }
  .hero-crumb a:hover { text-decoration: underline; }
  .hero-label { display: inline-flex; align-items: center; gap: 6px; background: var(--teal-light); color: var(--teal-dark); font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 20px; margin-bottom: 1rem; letter-spacing: 0.03em; }
  .live-dot { width: 7px; height: 7px; background: var(--teal); border-radius: 50%; animation: blink 1.8s ease-in-out infinite; }
  @keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.3} }
  @media (prefers-reduced-motion: reduce) { .live-dot { animation: none; } }
  .hero-title { font-family: 'Nunito', sans-serif; font-size: clamp(1.5rem, 3.5vw, 2.2rem); font-weight: 800; line-height: 1.2; color: var(--text); margin-bottom: 0.75rem; }
  .hero-subtitle { font-size: 1rem; color: var(--muted); max-width: 580px; margin-bottom: 1.5rem; }

  .who-bar { border-top: 1px solid var(--border); padding: 1rem 0; }
  .who-label { font-size: 13px; font-weight: 600; color: var(--muted); margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.06em; }
  .who-chips { display: flex; gap: 8px; flex-wrap: wrap; padding-bottom: 0.25rem; }
  .who-chip { display: flex; align-items: center; gap: 6px; padding: 7px 14px; border: 1.5px solid var(--border); border-radius: 24px; font-size: 13px; font-weight: 600; color: var(--muted); cursor: pointer; background: var(--white); transition: all 0.15s; user-select: none; }
  .who-chip:hover { border-color: var(--teal); color: var(--teal-dark); background: var(--teal-xlight); }
  .who-chip.active { border-color: var(--teal); background: var(--teal-light); color: var(--teal-dark); }

  .page { max-width: 760px; margin: 0 auto; padding: 2rem 1.5rem 4rem; display: flex; flex-direction: column; gap: 1.25rem; }

  .card { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }

  .tldr-card { background: var(--teal-xlight); border: 1.5px solid #99f6e4; border-radius: var(--radius); padding: 1.5rem; }
  .tldr-eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--teal-dark); margin-bottom: 0.75rem; display: flex; align-items: center; gap: 6px; }
  .tldr-eyebrow::before { content: ''; display: inline-block; width: 3px; height: 14px; background: var(--teal); border-radius: 2px; }
  .tldr-text { font-family: 'Nunito', sans-serif; font-size: 1.2rem; font-weight: 700; line-height: 1.5; color: var(--text); }
  .tldr-ai-note { margin-top: 1rem; font-size: 12px; color: var(--teal-dark); display: flex; align-items: center; gap: 5px; opacity: 0.8; flex-wrap: wrap; }

  .card-head { padding: 1rem 1.25rem 0.75rem; border-bottom: 1px solid var(--border-light); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .card-head-title { font-family: 'Nunito', sans-serif; font-size: 1rem; font-weight: 800; color: var(--text); display: flex; align-items: center; gap: 8px; }
  .card-head-aside { font-size: 12px; color: var(--muted); background: var(--border-light); padding: 3px 8px; border-radius: 6px; white-space: nowrap; }

  .impact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 1.25rem; }
  .impact-item { padding: 1rem; border-radius: var(--radius-sm); border: 1.5px solid; }
  .impact-item.good { background: var(--sage); border-color: var(--sage-border); }
  .impact-item.watchout { background: var(--rose); border-color: var(--rose-border); }
  .impact-item.change { background: var(--amber); border-color: var(--amber-border); }
  .impact-item.info { background: var(--blue); border-color: var(--blue-border); }
  .impact-icon { font-size: 1.4rem; margin-bottom: 6px; display: block; line-height: 1; }
  .impact-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 6px; }
  .good .impact-label { color: var(--sage-text); }
  .watchout .impact-label { color: var(--rose-text); }
  .change .impact-label { color: var(--amber-text); }
  .info .impact-label { color: var(--blue-text); }
  .impact-item ul { list-style: none; display: flex; flex-direction: column; gap: 5px; }
  .impact-item ul li { font-size: 13px; line-height: 1.4; color: var(--text); padding-left: 12px; position: relative; }
  .impact-item ul li::before { content: '·'; position: absolute; left: 2px; font-weight: 700; font-size: 16px; line-height: 1; top: 0; }
  .good ul li::before { color: var(--sage-text); }
  .watchout ul li::before { color: var(--rose-text); }
  .change ul li::before { color: var(--amber-text); }
  .info ul li::before { color: var(--blue-text); }

  .audience-callouts { display: flex; flex-direction: column; gap: 10px; padding: 1.25rem; }
  .callout { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: var(--radius-sm); background: var(--border-light); border: 1px solid var(--border); transition: all 0.2s; }
  .callout.highlighted { background: var(--teal-xlight); border-color: #99f6e4; }
  .callout-emoji { font-size: 1.4rem; flex-shrink: 0; line-height: 1; margin-top: 1px; }
  .callout-body { flex: 1; }
  .callout-who { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--muted); margin-bottom: 4px; }
  .callout.highlighted .callout-who { color: var(--teal-dark); }
  .callout-text { font-size: 14px; color: var(--text); line-height: 1.5; }

  .confidence-note { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; padding: 2px 8px; border-radius: 6px; font-weight: 600; }
  .confidence-low { background: var(--rose); color: var(--rose-text); }
  .confidence-medium { background: var(--amber); color: var(--amber-text); }

  .faq-list { padding: 0.5rem 1.25rem 1.25rem; display: flex; flex-direction: column; gap: 4px; }
  details.faq { border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; }
  summary.faq-q { padding: 14px 16px; font-size: 14px; font-weight: 600; color: var(--text); cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; user-select: none; background: var(--white); transition: background 0.12s; gap: 8px; }
  summary.faq-q::-webkit-details-marker { display: none; }
  summary.faq-q:hover { background: var(--border-light); }
  details[open] summary.faq-q { background: var(--border-light); }
  .faq-chevron { width: 18px; height: 18px; flex-shrink: 0; color: var(--muted); transition: transform 0.2s; }
  details[open] .faq-chevron { transform: rotate(180deg); }
  .faq-a { padding: 4px 16px 16px; font-size: 14px; color: var(--muted); line-height: 1.7; background: var(--white); border-top: 1px solid var(--border); }

  .issues-list { }
  .issue-item { padding: 12px 14px; border-radius: 6px; border-left: 3px solid; background: var(--border-light); display: flex; gap: 12px; align-items: flex-start; }
  .issue-item.flag-high { background: var(--rose); border-color: var(--rose-text); }
  .issue-item.flag-med { background: var(--amber); border-color: #d97706; }
  .issue-item.flag-low { background: var(--border-light); border-color: var(--muted); }
  .issue-flag { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 2px 7px; border-radius: 10px; flex-shrink: 0; margin-top: 1px; }
  .flag-high .issue-flag { background: var(--rose-text); color: #fff; }
  .flag-med .issue-flag { background: #d97706; color: #fff; }
  .flag-low .issue-flag { background: var(--muted); color: #fff; }
  .issue-text { font-size: 13px; line-height: 1.5; color: var(--text); }
  .issue-clause { display: inline; font-family: monospace; font-size: 11px; background: rgba(0,0,0,0.06); padding: 1px 5px; border-radius: 3px; margin-left: 6px; }

  .progress-steps { display: flex; align-items: center; padding: 1.25rem; gap: 0; overflow-x: auto; }
  .step { display: flex; flex-direction: column; align-items: center; gap: 6px; flex: 1; min-width: 80px; position: relative; }
  .step:not(:last-child)::after { content: ''; position: absolute; top: 14px; left: calc(50% + 14px); right: calc(-50% + 14px); height: 2px; background: var(--border); }
  .step.done:not(:last-child)::after, .step.active:not(:last-child)::after { background: var(--teal-light); }
  .step-dot { width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--border); background: var(--white); display: flex; align-items: center; justify-content: center; font-size: 12px; position: relative; z-index: 1; flex-shrink: 0; }
  .step.done .step-dot { background: var(--teal); border-color: var(--teal); color: white; }
  .step.active .step-dot { background: var(--white); border: 2px solid var(--teal); box-shadow: 0 0 0 4px var(--teal-light); }
  .step-label { font-size: 11px; font-weight: 600; color: var(--muted); text-align: center; line-height: 1.2; }
  .step.done .step-label, .step.active .step-label { color: var(--teal-dark); }
  .step.active .step-label { font-weight: 700; }

  .revision-list { padding: 0.75rem 1.25rem 1.25rem; display: flex; flex-direction: column; gap: 8px; }
  .revision { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); text-decoration: none; color: var(--text); transition: all 0.12s; background: var(--white); }
  .revision:hover { background: var(--border-light); }
  .revision.current { background: var(--teal-xlight); border-color: #99f6e4; }
  .revision-icon { width: 32px; height: 32px; background: var(--border-light); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .revision.current .revision-icon { background: var(--teal-light); }
  .revision-info { flex: 1; }
  .revision-name { font-size: 14px; font-weight: 600; }
  .revision-date { font-size: 12px; color: var(--muted); }
  .revision-badge { font-size: 11px; background: var(--teal); color: white; padding: 2px 8px; border-radius: 10px; font-weight: 600; }

  .pdf-actions { display: flex; gap: 10px; padding: 1.25rem; flex-wrap: wrap; }
  .pdf-btn-primary { display: flex; align-items: center; gap: 8px; padding: 10px 20px; background: var(--teal); color: white; border-radius: 10px; text-decoration: none; font-size: 14px; font-weight: 600; transition: background 0.15s; border: none; cursor: pointer; }
  .pdf-btn-primary:hover { background: var(--teal-dark); }
  .pdf-btn-secondary { display: flex; align-items: center; gap: 8px; padding: 10px 20px; background: var(--white); color: var(--text); border: 1.5px solid var(--border); border-radius: 10px; text-decoration: none; font-size: 14px; font-weight: 600; transition: all 0.15s; cursor: pointer; }
  .pdf-btn-secondary:hover { background: var(--border-light); }
  .pdf-preview { margin: 0 1.25rem 1.25rem; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; background: #f9fafb; min-height: 200px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; color: var(--muted); font-size: 14px; padding: 2rem; }
  .pdf-preview-icon { font-size: 2.5rem; }

  .comments-section { padding: 1.25rem; }
  .comments-intro { font-size: 14px; color: var(--muted); margin-bottom: 1rem; }
  .comment-box { border: 1.5px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; margin-bottom: 1.5rem; background: var(--white); }
  .comment-box:focus-within { border-color: var(--teal); }
  .comment-box textarea { width: 100%; padding: 14px; border: none; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 1.6; color: var(--text); background: transparent; resize: none; min-height: 90px; }
  .comment-box textarea:focus { outline: none; }
  .comment-box-footer { display: flex; justify-content: space-between; align-items: center; padding: 8px 14px; background: var(--border-light); border-top: 1px solid var(--border); }
  .comment-note { font-size: 11px; color: var(--muted); }
  .post-btn { padding: 7px 16px; background: var(--teal); color: white; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; transition: background 0.15s; }
  .post-btn:hover { background: var(--teal-dark); }

  .section-empty { padding: 0; font-size: 13px; color: var(--muted); font-style: italic; }

  .share-bar { display: flex; gap: 8px; flex-wrap: wrap; padding: 1rem 1.25rem; border-top: 1px solid var(--border-light); background: var(--border-light); }
  .share-btn { display: flex; align-items: center; gap: 6px; padding: 7px 14px; border: 1.5px solid var(--border); background: var(--white); border-radius: 8px; font-size: 13px; font-weight: 600; color: var(--text); cursor: pointer; text-decoration: none; transition: all 0.12s; }
  .share-btn:hover { background: var(--border-light); }

  footer { background: var(--white); border-top: 1px solid var(--border); padding: 2rem 1.5rem; text-align: center; color: var(--muted); font-size: 13px; line-height: 1.8; }
  footer a { color: var(--teal); text-decoration: none; }
  footer strong { color: var(--text); }

  @media (max-width: 600px) {
    .impact-grid { grid-template-columns: 1fr; }
    .nav-links { display: none; }
    .hero { padding: 1.5rem 1rem 0; }
    .page { padding: 1.25rem 1rem 3rem; }
  }


/* ------------------------------------------------------------------------------
   BEGIN SUBSCRIBE */

.pb-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.2s;z-index:1000;}
.pb-overlay.open{opacity:1;pointer-events:all;}
.pb-modal{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;width:100%;max-width:420px;margin:1rem;transform:translateY(10px);transition:transform 0.2s;position:relative;}
.pb-overlay.open .pb-modal{transform:translateY(0);}
.pb-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:var(--muted);font-size:18px;line-height:1;padding:4px;}
.pb-close:hover{color:var(--text);}
.pb-icon-wrap{width:44px;height:44px;border-radius:10px;background:var(--teal-light);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.pb-icon-wrap i{font-size:22px;color:var(--teal-dark);}
.pb-h{font-family:'Nunito',sans-serif;font-size:1.15rem;font-weight:800;color:var(--text);margin:0 0 6px;}
.pb-sub{font-size:13px;color:var(--muted);margin:0 0 18px;line-height:1.6;}
.pb-prefs-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;color:var(--muted);margin:0 0 8px;}
.pb-prefs{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.pb-pref{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer;user-select:none;}
.pb-pref input{accent-color:var(--teal);width:15px;height:15px;cursor:pointer;flex-shrink:0;}
.pb-row{display:flex;gap:8px;margin-bottom:10px; flex-direction: column; justify-content: space-evenly;align-items: center;}
.pb-input{height:40px;width: 100%;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;font-family:'Inter',sans-serif;font-size:14px;background:var(--warm-white);color:var(--text);transition:border-color 0.15s;}
.pb-input:focus{outline:none;border-color:var(--teal);background:var(--white);}
.pb-input.error{border-color:var(--rose-text);}
.pb-submit{width:100%;height:42px;border-radius:var(--radius-sm);background:var(--teal);color:#fff;border:none;font-family:'Nunito',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:background 0.15s;}
.pb-submit:hover{background:var(--teal-dark);}
.pb-note{font-size:11px;color:var(--muted);text-align:center;margin-top:8px;}
.pb-success{display:none;flex-direction:column;align-items:center;text-align:center;padding:0.5rem 0;}
.pb-success.show{display:flex;}
.pb-form-body.hide{display:none;}
.pb-tick{width:52px;height:52px;border-radius:50%;background:var(--teal-light);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.pb-tick i{font-size:26px;color:var(--teal-dark);}

/*   END SUBSCRIBE 
------------------------------------------------------------------------------*/


.footer-support { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--border-light); }
.footer-support-text { font-size: 12.5px; color: var(--muted); margin-bottom: 10px; }
.footer-support-btn { display: inline-flex; align-items: center; gap: 7px; background: var(--teal-xlight); color: var(--teal-dark); border: 1.5px solid #99f6e4; border-radius: 20px; padding: 7px 16px; font-size: 13px; font-weight: 700; text-decoration: none; transition: all 0.15s; }
.footer-support-btn:hover { background: var(--teal-light); border-color: var(--teal); }
.footer-support-btn svg { flex-shrink: 0; }