/* =====================================================================
   HIPAA LINK — Individual feature pages (uses site-kit.css)
   ===================================================================== */

.breadcrumb{ font-size:13px; color:var(--text-muted); display:flex; gap:8px; align-items:center; }
.breadcrumb a{ color:var(--text-secondary); font-weight:600; }
.breadcrumb a:hover{ color:var(--teal-deep); }
.breadcrumb .sep{ opacity:.5; }

.fp-hero{ position:relative; overflow:hidden; padding:34px 0 76px; }
.fp-hero::before{ content:""; position:absolute; top:-200px; right:-160px; width:640px; height:640px; z-index:-1;
  background:radial-gradient(circle at center, var(--teal-bg) 0%, rgba(129,207,221,.16) 42%, transparent 72%); }
.fp-hero.clinical::before{ background:radial-gradient(circle at center, var(--calm-bg) 0%, rgba(111,164,217,.14) 42%, transparent 72%); }
.fp-hero .hero-grid{ display:grid; grid-template-columns:1.02fr 1.05fr; gap:54px; align-items:center; margin-top:26px; }
.fp-hero .feat-badge{ display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:13.5px; color:var(--teal-deep);
  background:var(--teal-bg); border:1px solid #cdeae5; padding:7px 14px 7px 10px; border-radius:99px; }
.fp-hero .feat-badge .ic{ width:16px; height:16px; }
.fp-hero.clinical .feat-badge{ background:var(--calm-bg); border-color:#c3d9f2; color:#3a5f96; }
.fp-hero h1{ margin:16px 0 0; font-size:48px; }
.fp-hero h1 .hl{ color:var(--teal-deep); }
.fp-hero .lead{ margin:18px 0 0; max-width:32em; }
.fp-hero .hero-cta{ display:flex; gap:14px; align-items:center; margin-top:26px; flex-wrap:wrap; }
.fp-hero .hero-trust{ display:flex; gap:10px 22px; margin-top:22px; flex-wrap:wrap; }
.fp-hero .hero-trust span{ display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:var(--text-secondary); }
.fp-hero .hero-trust .ic{ width:16px; height:16px; color:var(--green); }

/* how it works, numbered */
.fp-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; }
.fp-step{ background:var(--surface); border:1px solid var(--divider); border-radius:var(--radius-lg); padding:28px; box-shadow:var(--sh-sm); position:relative; }
.fp-step .n{ width:40px; height:40px; border-radius:50%; background:var(--brand-teal); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.fp-step h3{ font-size:18px; }
.fp-step p{ font-size:14.5px; color:var(--text-secondary); margin-top:8px; line-height:1.55; }

/* benefit list (2-col) */
.fp-benefits{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px 30px; margin-top:44px; max-width:820px; margin-left:auto; margin-right:auto; }
.fp-benefit{ display:flex; gap:14px; align-items:flex-start; }
.fp-benefit .bic{ width:44px; height:44px; border-radius:12px; background:var(--teal-bg); color:var(--teal-deep); display:flex; align-items:center; justify-content:center; flex:0 0 44px; }
.fp-benefit .bic .ic{ width:22px; height:22px; }
.fp-benefit h3{ font-size:17px; }
.fp-benefit p{ font-size:14.5px; color:var(--text-secondary); margin-top:5px; line-height:1.55; }

/* related features */
.related-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:0; max-width:940px; margin-left:auto; margin-right:auto; }
.related-card{ display:flex; gap:14px; align-items:center; background:var(--surface); border:1px solid var(--divider);
  border-radius:var(--radius-lg); padding:20px; box-shadow:var(--sh-sm); transition:transform .12s ease, box-shadow .2s ease, border-color .2s ease; }
.related-card:hover{ transform:translateY(-2px); box-shadow:var(--sh-md); border-color:#cdeae5; }
.related-card .ric{ width:42px; height:42px; border-radius:11px; background:var(--teal-bg); color:var(--teal-deep); display:flex; align-items:center; justify-content:center; flex:0 0 42px; }
.related-card .ric .ic{ width:21px; height:21px; }
.related-card h3{ font-size:15.5px; color:var(--text-primary); }
.related-card p{ font-size:13px; color:var(--text-muted); margin-top:2px; }
.related-card .go{ margin-left:auto; color:var(--teal-deep); display:flex; }
.related-card .go .ic{ width:18px; height:18px; }

/* fax add-on plans */
.fax-plans{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:40px; align-items:stretch; }
.fax-plan{ border:1px solid var(--divider); border-radius:var(--radius-lg); padding:24px 20px; background:var(--surface); box-shadow:var(--sh-sm); position:relative; display:flex; flex-direction:column; }
.fax-plan.pop{ border:2px solid var(--brand-teal); box-shadow:var(--sh-md); }
.fax-plan .pop-tag{ position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--brand-teal); color:#fff; font-size:11px; font-weight:800; padding:5px 12px; border-radius:99px; white-space:nowrap; }
.fax-plan .free-tag{ align-self:flex-start; font-size:10px; font-weight:800; letter-spacing:.06em; color:var(--teal-deep); background:var(--teal-bg); padding:3px 8px; border-radius:6px; margin-bottom:8px; }
.fax-plan .pn{ font-size:16px; font-weight:800; }
.fax-plan .pp{ font-size:30px; font-weight:800; letter-spacing:-.02em; margin:6px 0 2px; }
.fax-plan .pp small{ font-size:14px; color:var(--text-muted); font-weight:600; }
.fax-plan .pv{ font-size:13px; color:var(--text-secondary); font-weight:600; margin-bottom:14px; }
.fax-plan ul{ list-style:none; margin:0 0 18px; padding:0; display:flex; flex-direction:column; gap:9px; }
.fax-plan li{ display:flex; gap:8px; align-items:flex-start; font-size:13px; color:var(--text-secondary); }
.fax-plan li .ic{ width:16px; height:16px; color:var(--brand-teal); flex:0 0 16px; margin-top:1px; }
.fax-plan li.off{ color:var(--text-muted); }
.fax-plan li.off .ic{ color:#c4ccd6; }
.fax-plan .btn{ margin-top:auto; width:100%; }

/* realistic Secure Fax UI mock */
.faxui{ background:#fff; font-size:12px; }
.faxui-tabs{ display:flex; gap:22px; padding:12px 18px 0; border-bottom:1px solid var(--divider); }
.faxui-tabs span{ padding-bottom:10px; font-weight:700; font-size:12px; color:var(--text-muted); letter-spacing:.03em; border-bottom:2px solid transparent; }
.faxui-tabs span.active{ color:var(--teal-deep); border-bottom-color:var(--brand-teal); }
.faxui-numrow{ display:flex; align-items:center; justify-content:space-between; padding:13px 18px; }
.faxui-num{ font-size:13px; color:var(--text-secondary); }
.faxui-num b{ color:var(--text-primary); }
.faxui-send{ background:var(--brand-teal); color:#fff; font-weight:700; font-size:12px; padding:8px 14px; border-radius:8px; }
.faxui-sec{ padding:11px 18px; border-top:1px solid var(--divider); background:var(--surface-2); }
.faxui-sechead{ display:inline-flex; align-items:center; gap:8px; font-weight:800; font-size:12px; letter-spacing:.05em; color:var(--text-primary); }
.faxui-sechead .ic{ width:15px; height:15px; color:var(--teal-deep); }
.faxui-table{ width:100%; border-collapse:collapse; }
.faxui-table th{ text-align:left; font-size:10.5px; font-weight:700; color:var(--text-muted); padding:9px 18px; border-bottom:1px solid var(--divider); text-transform:uppercase; letter-spacing:.04em; }
.faxui-table td{ padding:10px 18px; border-bottom:1px solid var(--divider); color:var(--text-secondary); }
.faxui-table td:first-child{ color:var(--text-primary); font-weight:600; }
.faxui-table .c{ text-align:center; } .faxui-table .r{ text-align:right; white-space:nowrap; }
.faxui-table .mono{ font-family:var(--mono, ui-monospace, monospace); font-size:11px; color:var(--teal-deep); }
.faxui-foot{ display:flex; align-items:center; justify-content:space-between; padding:11px 18px; color:var(--text-muted); font-size:11px; }

/* Send Fax dialog mock */
.faxdlg{ background:#fff; border-radius:var(--radius-lg); border:1px solid var(--divider); box-shadow:var(--sh-lg); overflow:hidden; }
.faxdlg-bar{ display:flex; align-items:center; justify-content:space-between; padding:15px 20px; border-bottom:1px solid var(--divider); }
.faxdlg-bar .t{ font-weight:800; font-size:14px; letter-spacing:.03em; }
.faxdlg-bar .x{ color:var(--text-muted); }
.faxdlg-body{ display:grid; grid-template-columns:1fr 1fr; gap:22px; padding:22px; }
.faxdlg-lbl{ font-size:12px; font-weight:700; color:var(--text-primary); margin:0 0 6px; }
.faxdlg-lbl .req{ color:var(--error); }
.faxdlg-in{ border:1px solid var(--input-border); border-radius:8px; padding:10px 12px; font-size:12px; color:var(--text-muted); background:#fff; }
.faxdlg-in.sel{ display:flex; align-items:center; justify-content:space-between; color:var(--text-primary); }
.faxdlg-drop{ margin-top:14px; border:1.5px dashed var(--brand-teal); border-radius:12px; padding:22px 14px; text-align:center; color:var(--text-muted); }
.faxdlg-drop .ic{ width:26px; height:26px; color:var(--teal-deep); margin:0 auto 8px; }
.faxdlg-drop .d1{ font-size:12.5px; font-weight:700; color:var(--text-primary); }
.faxdlg-drop .d2{ font-size:11px; margin-top:2px; }
.faxdlg-drop .pick{ display:inline-block; margin-top:10px; border:1px solid var(--input-border); border-radius:7px; padding:6px 12px; color:var(--teal-deep); font-weight:700; font-size:11.5px; }
.faxdlg-field{ margin-bottom:14px; }
.faxdlg-cover{ display:flex; align-items:center; justify-content:space-between; font-size:12.5px; font-weight:700; color:var(--text-primary); margin-top:4px; }
.faxdlg-tog{ width:38px; height:22px; border-radius:99px; background:var(--brand-teal); position:relative; }
.faxdlg-tog::after{ content:""; position:absolute; top:2px; right:2px; width:18px; height:18px; border-radius:50%; background:#fff; }
.faxdlg-foot{ display:flex; justify-content:flex-end; gap:10px; padding:15px 20px; border-top:1px solid var(--divider); }
.faxdlg-foot .cancel{ border:1px solid var(--input-border); border-radius:8px; padding:9px 16px; font-weight:700; font-size:12px; color:var(--text-secondary); }
.faxdlg-foot .send{ background:#8a94a3; color:#fff; border-radius:8px; padding:9px 18px; font-weight:700; font-size:12px; }
@media (max-width:560px){ .faxdlg-body{ grid-template-columns:1fr; } }

/* Fax Contacts / Settings / Cover mocks */
.faxpanel{ background:#fff; border-radius:var(--radius-lg); border:1px solid var(--divider); box-shadow:var(--sh-lg); overflow:hidden; }
.faxpanel-tabs{ display:flex; gap:22px; padding:12px 20px 0; border-bottom:1px solid var(--divider); background:var(--surface-2); }
.faxpanel-tabs span{ padding:6px 2px 12px; font-weight:800; font-size:12px; letter-spacing:.04em; color:var(--text-muted); border-bottom:2px solid transparent; }
.faxpanel-tabs span.active{ color:var(--teal-deep); border-bottom-color:var(--brand-teal); }
.faxpanel-body{ padding:20px; }
.faxpanel-body h4{ font-size:15px; margin:0 0 4px; }
.faxpanel-body .sub{ font-size:12.5px; color:var(--text-secondary); margin:0 0 16px; max-width:52ch; }
.faxc-search{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.faxc-search .box{ flex:1; border:1px solid var(--input-border); border-radius:8px; padding:9px 12px; font-size:12.5px; color:var(--text-muted); }
.faxc-search .ib{ width:34px; height:34px; border-radius:8px; border:1px solid var(--input-border); display:flex; align-items:center; justify-content:center; color:var(--teal-deep); flex:0 0 auto; }
.faxc-search .ib .ic{ width:16px; height:16px; }
.faxc-search .add{ background:var(--brand-teal); color:#fff; font-weight:700; font-size:12px; padding:9px 14px; border-radius:8px; }
.faxc-table{ width:100%; border-collapse:collapse; }
.faxc-table th{ text-align:left; font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--text-muted); padding:8px 6px; border-bottom:1px solid var(--divider); }
.faxc-table td{ font-size:12.5px; padding:11px 6px; border-bottom:1px solid var(--divider); color:var(--text-secondary); }
.faxc-table td.num{ color:var(--teal-deep); font-weight:600; width:130px; }
.faxc-table td.nm{ color:var(--text-primary); font-weight:600; }
.faxc-table td.dots{ text-align:right; color:var(--text-muted); width:30px; }
.faxset-block{ border:1px solid var(--divider); border-radius:12px; padding:16px 18px; margin-bottom:16px; }
.faxset-h{ font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--text-primary); margin:0 0 12px; }
.faxset-row{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:9px 0; font-size:13px; color:var(--text-primary); }
.faxset-row .lab{ display:flex; align-items:center; gap:7px; }
.faxset-row .lab .ic{ width:14px; height:14px; color:var(--teal-deep); }
.faxset-row .sub2{ font-size:11.5px; color:var(--text-muted); font-weight:400; margin-top:2px; }
.faxset-sel{ border:1px solid var(--input-border); border-radius:7px; padding:6px 11px; font-size:12px; font-weight:600; display:inline-flex; align-items:center; gap:8px; color:var(--text-primary); }
.faxset-sel .ic{ width:13px; height:13px; color:var(--text-muted); }
.faxtog{ width:38px; height:22px; border-radius:99px; background:var(--brand-teal); position:relative; flex:0 0 auto; }
.faxtog::after{ content:""; position:absolute; top:2px; right:2px; width:18px; height:18px; border-radius:50%; background:#fff; }
.faxtog.off{ background:var(--input-border); } .faxtog.off::after{ right:auto; left:2px; }
.preset-row{ display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.preset-row .grip{ color:var(--text-muted); font-size:14px; }
.preset-row .pv{ flex:1; border:1px solid var(--input-border); border-radius:8px; padding:9px 12px; font-size:12.5px; color:var(--text-primary); }
.preset-row .rm{ color:var(--text-muted); }
.preset-add{ border:1.5px dashed var(--input-border); border-radius:8px; padding:9px; text-align:center; color:var(--teal-deep); font-weight:700; font-size:12px; }
.cover-fields{ display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; }
.cover-fields .full{ grid-column:1/-1; }
.cover-preview{ background:#fff; border:1px solid var(--divider); border-radius:12px; box-shadow:var(--sh-md); padding:22px; }
.cover-top{ display:grid; grid-template-columns:74px 1fr 84px; border:1px solid #cfd6da; }
.cover-top .lg{ border-right:1px solid #cfd6da; display:flex; align-items:center; justify-content:center; padding:8px; }
.cover-top .lg .mono{ width:52px; height:52px; border-radius:50%; background:var(--teal-bg); color:var(--teal-deep); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; border:2px solid var(--brand-teal); }
.cover-top .org{ text-align:center; padding:12px 8px; font-size:11px; line-height:1.5; color:var(--text-primary); }
.cover-top .org b{ display:block; font-size:12.5px; }
.cover-top .fx{ border-left:1px solid #cfd6da; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:26px; letter-spacing:-.02em; }
.cover-meta{ display:grid; grid-template-columns:1fr 1fr; gap:6px 24px; margin-top:14px; font-size:11.5px; color:var(--text-secondary); }
.cover-meta b{ color:var(--text-primary); }
.cover-subj{ font-size:12px; margin-top:12px; padding-top:12px; border-top:1px solid var(--divider); color:var(--text-primary); }
.cover-body{ font-size:11.5px; color:var(--text-secondary); margin-top:12px; line-height:1.6; }
.cover-warn{ margin-top:16px; border:1px solid var(--divider); border-radius:8px; padding:10px 12px; font-size:9.5px; line-height:1.5; color:var(--text-muted); }
@media (max-width:560px){ .cover-fields{ grid-template-columns:1fr; } .cover-meta{ grid-template-columns:1fr; } }

/* Teleconsent: system forms + templates + builder */
.tcform-list{ margin-top:2px; }
.tcform-toggles{ display:flex; gap:26px; }
.tcform-toggles .tt{ font-size:12px; color:var(--text-secondary); display:flex; align-items:center; gap:9px; }
.tcform-toggles .tt b{ display:block; color:var(--text-primary); font-size:12.5px; }
.spot p.tcform-sub{ font-size:14px; color:var(--text-secondary); line-height:1.55; margin:8px 0 16px; max-width:100%; }
.tcform-tabs{ display:flex; gap:16px; margin:14px 0 4px; font-size:12.5px; font-weight:700; color:var(--text-muted); }
.tcform-tabs .on{ color:var(--teal-deep); }
.tcform-tabs .ct{ background:var(--surface-2); border-radius:99px; padding:1px 7px; font-size:10.5px; margin-left:4px; }
.tcform-row{ display:flex; align-items:center; gap:12px; padding:13px 4px; border-bottom:1px solid var(--divider); font-size:12.5px; }
.tcform-row .lk{ width:30px; height:30px; border-radius:8px; background:var(--surface-2); display:flex; align-items:center; justify-content:center; color:var(--text-muted); flex:0 0 auto; }
.tcform-row .lk .ic{ width:14px; height:14px; }
.tcform-row .nm{ font-weight:600; color:var(--text-primary); flex:1 1 auto; min-width:0; }
.tcform-row .en .faxtog{ width:30px; height:17px; }
.tcform-row .en .faxtog::after{ width:13px; height:13px; top:2px; right:2px; }
.tcform-row .systag{ font-size:9px; font-weight:800; letter-spacing:.06em; background:var(--text-primary); color:#fff; padding:2px 6px; border-radius:5px; margin-left:8px; vertical-align:middle; }
.tcform-row .clintag{ font-size:9px; font-weight:800; letter-spacing:.06em; background:#f5ede0; color:var(--accent-orange); padding:2px 6px; border-radius:5px; margin-left:6px; vertical-align:middle; }
.tcform-row .rt{ margin-left:auto; display:flex; align-items:center; gap:14px; color:var(--text-muted); font-size:11px; white-space:nowrap; flex:0 0 auto; }
.tcform-row .rt > span{ white-space:nowrap; }
.tcform-row .en{ display:flex; align-items:center; gap:6px; color:var(--teal-deep); font-weight:700; white-space:nowrap; }
.tcform-row .nm{ min-width:0; }
.tcform-review{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; background:var(--teal-bg); border:1px solid #cdeae5; border-radius:12px; padding:16px 20px; margin-top:16px; }
.tcform-review .rq{ background:var(--brand-teal); color:#fff; font-weight:700; font-size:12.5px; padding:9px 15px; border-radius:8px; }
.tc-templates{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px; }
.tc-tpl{ border:1px solid var(--divider); border-radius:12px; padding:0; background:#fff; box-shadow:var(--sh-sm); overflow:hidden; }
.tc-tpl .tc-thumb{ background:var(--surface-2); padding:18px 18px 20px; display:flex; flex-direction:column; gap:8px; }
.tc-tpl .tc-thumb .bar{ height:7px; border-radius:4px; background:#d7e0e6; }
.tc-tpl .tc-thumb .bar.teal{ background:var(--teal-light); width:42%; }
.tc-tpl .tc-thumb .bar.w70{ width:70%; } .tc-tpl .tc-thumb .bar.w55{ width:55%; } .tc-tpl .tc-thumb .bar.w85{ width:85%; } .tc-tpl .tc-thumb .bar.w60{ width:60%; }
.tc-tpl .tc-body{ padding:16px; }
.tc-tpl.blank{ border:2px solid var(--brand-teal); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--teal-deep); padding:24px 16px; }
.tc-tpl.blank .plus{ width:44px; height:44px; border-radius:50%; border:1.5px solid var(--brand-teal); display:flex; align-items:center; justify-content:center; margin-bottom:10px; }
.tc-tpl h4{ font-size:14px; margin:0 0 4px; }
.tc-tpl p{ font-size:12px; color:var(--text-secondary); line-height:1.5; margin:0 0 12px; }
.tc-tpl .meta{ font-size:10px; font-weight:800; letter-spacing:.04em; color:var(--teal-deep); background:var(--teal-bg); border:1px solid #cdeae5; border-radius:99px; padding:4px 9px; display:inline-flex; align-items:center; gap:6px; }
.tc-tpl ul{ list-style:none; margin:0 0 10px; padding:0; }
.tc-tpl ul li{ font-size:11.5px; color:var(--text-secondary); padding-left:12px; position:relative; margin:3px 0; }
.tc-tpl ul li::before{ content:"•"; position:absolute; left:0; color:var(--brand-teal); }
.tcbuild{ display:grid; grid-template-columns:1fr 232px; gap:0; border:1px solid var(--divider); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--sh-lg); background:#fff; }
.tcbuild-canvas{ padding:24px; background:var(--surface-2); }
.tcbuild-doc{ background:#fff; border:1px solid var(--divider); border-radius:12px; padding:22px; box-shadow:var(--sh-sm); }
.tcbuild-doc .prov{ display:inline-flex; align-items:center; gap:7px; font-size:11.5px; font-weight:700; color:var(--teal-deep); background:var(--teal-bg); border-radius:99px; padding:4px 10px; }
.tcbuild-doc h3{ font-size:20px; margin:12px 0 4px; }
.tcbuild-doc .rd{ font-size:12px; color:var(--text-muted); display:flex; align-items:center; gap:6px; }
.tcbuild-steps{ display:flex; gap:8px; margin:16px 0; flex-wrap:wrap; }
.tcbuild-steps span{ font-size:11px; font-weight:700; color:var(--text-muted); background:var(--surface-2); border-radius:99px; padding:5px 10px; }
.tcbuild-steps span.on{ background:var(--teal-bg); color:var(--teal-deep); }
.tcbuild-callout{ background:var(--calm-bg); border-radius:10px; padding:14px; font-size:12px; color:var(--text-secondary); line-height:1.6; }
.tcbuild-field{ margin-top:14px; } .tcbuild-field .fl{ font-size:11.5px; font-weight:700; color:var(--text-primary); margin-bottom:5px; }
.tcbuild-field .fi{ border:1px solid var(--input-border); border-radius:8px; padding:10px 12px; font-size:12px; color:var(--text-muted); }
.tcbuild-pal{ border-left:1px solid var(--divider); padding:16px; background:#fff; max-height:520px; overflow:hidden; }
.tcbuild-pal .ph{ font-size:10.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); margin:14px 0 8px; }
.tcbuild-pal .ph:first-child{ margin-top:0; }
.tcbuild-comps{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.tcbuild-comp{ border:1px solid var(--divider); border-radius:9px; padding:11px 6px; text-align:center; font-size:10.5px; font-weight:600; color:var(--text-secondary); }
.tcbuild-comp .ic{ width:17px; height:17px; color:var(--teal-deep); margin:0 auto 5px; }
.fb-logo{ display:inline-flex; align-items:center; gap:8px; }
.fb-logo .fb-mark{ width:26px; height:26px; border-radius:7px; background:var(--teal-bg); color:var(--teal-deep); display:flex; align-items:center; justify-content:center; }
.fb-logo .fb-mark .ic{ width:16px; height:16px; }
.fb-logo .fb-tx{ font-family:var(--display,inherit); font-weight:800; font-size:15px; letter-spacing:-.01em; color:var(--text-primary); line-height:1; }
.fb-logo .fb-tx b{ color:var(--teal-deep); }
.fb-logo .fb-sub{ display:block; font-size:8.5px; font-weight:700; letter-spacing:.18em; color:var(--text-muted); margin-top:2px; }
@media (max-width:900px){ .tc-templates{ grid-template-columns:1fr; } .tcbuild{ grid-template-columns:1fr; } .tcbuild-pal{ border-left:none; border-top:1px solid var(--divider); } }

/* Assessment (GAD-7) preview matrix */
.asmt-prev{ background:#fff; }
.asmt-prev .ap-head{ background:linear-gradient(160deg,#fff,var(--teal-bg-2)); padding:16px 18px; border-bottom:1px solid var(--divider); }
.asmt-prev .ap-head h4{ font-size:17px; margin:0; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.asmt-prev .ap-head h4 .s{ font-size:12.5px; font-weight:600; color:var(--text-secondary); }
.asmt-prev .ap-head .hint{ font-size:11.5px; color:var(--text-muted); margin-top:5px; display:flex; align-items:center; gap:6px; }
.asmt-prev .ap-steps{ display:flex; gap:10px; padding:12px 18px; border-bottom:1px solid var(--divider); }
.asmt-prev .ap-steps span{ font-size:11.5px; font-weight:700; color:var(--text-muted); display:inline-flex; align-items:center; gap:6px; }
.asmt-prev .ap-steps span .n{ width:18px; height:18px; border-radius:50%; border:1px solid var(--input-border); display:inline-flex; align-items:center; justify-content:center; font-size:10px; }
.asmt-prev .ap-steps span.on{ color:var(--teal-deep); }
.asmt-prev .ap-steps span.on .n{ background:var(--brand-teal); border-color:var(--brand-teal); color:#fff; }
.asmt-prev .ap-body{ padding:16px 18px 18px; }
.asmt-prev .ap-q{ font-size:13px; font-weight:700; color:var(--text-primary); margin-bottom:12px; line-height:1.4; }
.asmt-matrix{ width:100%; border-collapse:collapse; }
.asmt-matrix th{ font-size:9.5px; font-weight:700; color:var(--text-secondary); text-align:center; padding:6px 4px; border-bottom:1px solid var(--divider); line-height:1.2; }
.asmt-matrix th:first-child{ text-align:left; }
.asmt-matrix td{ font-size:11px; color:var(--text-secondary); padding:9px 4px; border-bottom:1px solid var(--divider); }
.asmt-matrix td.q{ text-align:left; padding-right:8px; }
.asmt-matrix td.o{ text-align:center; }
.asmt-matrix .rad{ width:15px; height:15px; border-radius:50%; border:1.5px solid var(--input-border); display:inline-block; }
.asmt-prev .ap-foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 18px; border-top:1px solid var(--divider); background:var(--surface-2); }
.asmt-prev .ap-foot .sec{ font-size:10.5px; color:var(--text-muted); display:inline-flex; align-items:center; gap:6px; }
.asmt-prev .ap-foot .dl{ background:var(--cta); color:#fff; font-weight:700; font-size:11.5px; padding:8px 13px; border-radius:8px; display:inline-flex; align-items:center; gap:6px; }

/* Teleconsent live signing session mock */
.tcsign{ background:#fff; }
.tcsign-head{ background:linear-gradient(160deg,#fff,var(--teal-bg-2)); padding:14px 16px; border-bottom:1px solid var(--divider); }
.tcsign-mode{ display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-bottom:10px; }
.tcsign-mode .lbl{ font-size:10px; font-weight:800; letter-spacing:.08em; color:var(--text-muted); margin-right:2px; }
.tcsign-seg{ display:inline-flex; border:1px solid var(--input-border); border-radius:8px; overflow:hidden; }
.tcsign-seg span{ font-size:11px; font-weight:700; padding:6px 11px; color:var(--text-secondary); display:inline-flex; align-items:center; gap:5px; }
.tcsign-seg span.on{ background:var(--teal-deep); color:#fff; }
.tcsign-seg span .ic{ width:12px; height:12px; }
.tcsign-title{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.tcsign-title h4{ font-size:16px; margin:0; }
.tcsign-title .rt{ display:flex; align-items:center; gap:12px; font-size:11px; color:var(--text-muted); }
.tcsign-title .rt .cv{ display:inline-flex; align-items:center; gap:5px; }
.tcsign-title .rt .cv .ic{ width:13px; height:13px; }
.tcsign-title .rt .done{ background:var(--teal-bg); color:var(--teal-deep); font-weight:700; border-radius:99px; padding:4px 10px; display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.tcsign-sub{ font-size:11.5px; color:var(--text-muted); margin-top:4px; display:flex; align-items:center; gap:6px; }
.tcsign-steps{ display:flex; align-items:center; gap:14px; padding:11px 16px; border-bottom:1px solid var(--divider); overflow:hidden; }
.tcsign-steps span{ font-size:11px; font-weight:700; color:var(--text-secondary); display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.tcsign-steps span .ic{ width:13px; height:13px; color:var(--nature-green); }
.tcsign-steps span.on{ color:var(--teal-deep); }
.tcsign-steps span.on .ic{ color:var(--teal-deep); }
.tcsign-body{ padding:16px; }
.tcsign-body .sa-lbl{ font-size:11px; color:var(--text-secondary); margin-bottom:5px; }
.tcsign-body .sa-sel{ border:1px solid var(--input-border); border-radius:8px; padding:9px 12px; font-size:12.5px; color:var(--text-primary); display:flex; align-items:center; justify-content:space-between; }
.tcsign-body .sa-sel .ic{ width:14px; height:14px; color:var(--text-muted); }
.tcsign-body .sa-agree{ font-size:12px; color:var(--text-secondary); line-height:1.55; margin:14px 0; }
.tcsig-box{ border:1px solid var(--divider); border-radius:10px; overflow:hidden; box-shadow:var(--sh-sm); }
.tcsig-bar{ background:var(--teal-deep); color:#fff; display:flex; align-items:center; justify-content:space-between; padding:9px 13px; }
.tcsig-bar .l{ font-size:11px; font-weight:800; letter-spacing:.05em; display:inline-flex; align-items:center; gap:7px; }
.tcsig-bar .l .d{ width:7px; height:7px; border-radius:50%; background:#fff; }
.tcsig-bar .r{ font-size:10.5px; opacity:.85; }
.tcsig-tabs{ display:flex; }
.tcsig-tabs span{ flex:1; text-align:center; font-size:12px; font-weight:700; padding:10px; color:var(--text-secondary); border-bottom:2px solid transparent; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.tcsig-tabs span.on{ color:var(--teal-deep); border-bottom-color:var(--teal-deep); }
.tcsig-tabs span .ic{ width:13px; height:13px; }
.tcsig-pad{ position:relative; padding:26px 16px 20px; display:flex; align-items:flex-end; gap:9px; min-height:96px; }
.tcsig-pad .x{ position:relative; z-index:1; color:var(--text-muted); font-size:13px; margin-bottom:1px; }
.tcsig-pad .scribble{ position:relative; z-index:1; font-family:'Great Vibes', cursive; font-weight:400; font-size:44px; color:#1c2b33; line-height:.72; transform:rotate(-3deg); white-space:nowrap; }
.tcsig-pad .typed{ font-family:'IBM Plex Serif', Georgia, serif; font-style:italic; font-size:30px; color:#1c2b33; }
.tcsig-line{ position:absolute; left:16px; right:16px; bottom:18px; border-bottom:1.5px dashed var(--input-border); }
.tcsig-foot{ background:var(--surface-2); border-top:1px solid var(--divider); font-size:10.5px; color:var(--text-muted); padding:9px 13px; display:flex; align-items:center; gap:7px; }
.tcsign-actions{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 16px; border-top:1px solid var(--divider); }
.tcsign-actions .sec{ font-size:10.5px; color:var(--text-muted); display:inline-flex; align-items:center; gap:6px; }
.tcsign-actions .bs{ display:flex; gap:9px; }
.tcsign-actions .b-end{ background:#c0392b; color:#fff; font-weight:700; font-size:12px; padding:9px 14px; border-radius:8px; }
.tcsign-actions .b-fin{ background:var(--teal-deep); color:#fff; font-weight:700; font-size:12px; padding:9px 16px; border-radius:8px; display:inline-flex; align-items:center; gap:6px; }
/* finalized received state */
.tcdone{ text-align:center; padding:30px 26px; }
.tcdone .chk{ width:60px; height:60px; border-radius:50%; background:var(--teal-bg); color:var(--teal-deep); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.tcdone .chk .ic{ width:30px; height:30px; }
.tcdone h3{ font-size:22px; margin:0 0 6px; }
.tcdone .d1{ font-size:15px; font-weight:700; color:var(--text-primary); margin-bottom:10px; }
.tcdone .d2{ font-size:12px; color:var(--text-muted); line-height:1.55; max-width:40ch; margin:0 auto 18px; }
.tcdone .dl{ display:inline-flex; align-items:center; gap:8px; background:var(--cta); color:#fff; font-weight:700; font-size:14px; padding:13px 24px; border-radius:10px; }
.tcdone .stamp{ font-family:ui-monospace, monospace; font-size:11.5px; color:var(--text-secondary); background:var(--surface-2); border:1px solid var(--divider); border-radius:8px; padding:8px 14px; display:inline-block; margin-top:16px; }
.tcdone .warn{ margin-top:16px; font-size:11px; font-weight:700; color:var(--accent-orange); border:1px solid #f0e0c8; background:#fbf4e8; border-radius:99px; padding:6px 14px; display:inline-block; }

/* Assessment complete / scoring result */
.asmt-done{ text-align:center; padding:28px 24px; background:#fff; }
.asmt-done .chk{ width:56px; height:56px; border-radius:50%; background:var(--teal-bg); color:var(--teal-deep); display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.asmt-done .chk .ic{ width:28px; height:28px; }
.asmt-done h3{ font-size:20px; margin:0 0 8px; }
.asmt-done .score{ font-family:var(--font-ui); font-weight:800; font-size:44px; line-height:1; color:var(--text-primary); }
.asmt-done .score .tot{ font-size:20px; font-weight:700; color:var(--text-muted); }
.asmt-done .sev{ display:inline-block; margin-top:12px; font-size:12.5px; font-weight:700; color:var(--accent-orange); border:1px solid #f0e0c8; background:#fbf4e8; border-radius:99px; padding:6px 16px; }
.asmt-guide{ text-align:left; background:var(--surface-2); border:1px solid var(--divider); border-radius:10px; padding:16px 18px; margin:18px auto 0; max-width:300px; }
.asmt-guide .gh{ font-size:10px; font-weight:800; letter-spacing:.08em; color:var(--text-muted); margin-bottom:8px; }
.asmt-guide .gr{ display:flex; gap:14px; font-size:12.5px; padding:3px 0; color:var(--text-secondary); }
.asmt-guide .gr b{ color:var(--text-primary); width:44px; flex:0 0 44px; }
.asmt-guide .gr.on{ color:var(--accent-orange); font-weight:700; }
.asmt-guide .gr.on b{ color:var(--accent-orange); }
.asmt-done .dl{ display:inline-flex; align-items:center; gap:8px; background:var(--cta); color:#fff; font-weight:700; font-size:14px; padding:13px 26px; border-radius:10px; margin-top:20px; }

/* scored PDF row list (host download) */
.asmt-pdf{ background:#fff; padding:18px; }
.asmt-pdf .ph{ display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--divider); padding-bottom:12px; margin-bottom:6px; }
.asmt-pdf .ph .t{ font-weight:800; font-size:14px; }
.asmt-pdf .ph .sc{ font-size:12px; font-weight:700; color:var(--teal-deep); background:var(--teal-bg); border-radius:99px; padding:4px 11px; }
.asmt-pdf .qr{ display:flex; align-items:flex-start; gap:10px; padding:10px 2px; border-bottom:1px solid var(--divider); font-size:12px; }
.asmt-pdf .qr .qn{ color:var(--text-muted); font-weight:700; flex:0 0 18px; }
.asmt-pdf .qr .qt{ color:var(--text-primary); flex:1; line-height:1.4; }
.asmt-pdf .qr .qa{ color:var(--teal-deep); font-weight:700; white-space:nowrap; }
.asmt-pdf .qr .qp{ color:var(--text-muted); font-weight:700; width:16px; text-align:right; flex:0 0 16px; }

/* client waiting-room preview (feature-waiting-room) */
.wrpv{ background:#fafafa; }
.wrpv-bar{ background:var(--teal-light); color:#0e3a41; font-weight:800; font-size:12px; letter-spacing:.1em; padding:12px 18px; }
.wrpv-body{ padding:18px 20px 22px; display:block; position:relative; }
.wrpv .pcol{ display:flex; flex-direction:column; gap:10px; flex:0 0 96px; }
.wrpv h3{ font-size:22px; margin:0 0 4px; }
.wrpv .wmsg{ font-size:14px; color:var(--calm-blue); margin:0 0 16px; }
.wrpv .prow{ display:flex; gap:14px; align-items:flex-start; }
.wrpv .pdoc{ width:96px; height:96px; border-radius:10px; overflow:hidden; flex:0 0 96px; background:#dfe7ea; }
.wrpv .pdoc image-slot{ width:96px; height:96px; }
.wrpv .pname{ font-weight:800; font-size:16px; }
.wrpv .pspec{ font-style:italic; font-size:13px; color:var(--text-secondary); margin:2px 0 8px; }
.wrpv .pmeta{ display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--text-secondary); }
.wrpv .pmeta .r{ display:flex; align-items:center; gap:8px; }
.wrpv .pmeta .r .ic{ width:15px; height:15px; color:var(--teal-deep); flex:0 0 15px; }
.wrpv .pmeta .r.avail{ color:#127a41; font-weight:700; }
.wrpv .pmeta .r.avail .ic{ color:#1DAA5A; }
.wrpv .msgbtn{ display:block; text-align:center; background:var(--teal-light); color:#0e3a41; font-weight:700; font-size:13px; padding:9px 12px; border-radius:8px; width:96px; }
.wrpv .selfcam{ background:#1c1f24; border-radius:10px; aspect-ratio:4/3; position:relative; overflow:hidden; }
.wrpv .selfcam image-slot{ width:100%; height:100%; }
.wrpv .selfcam .cc{ position:absolute; right:8px; top:10px; display:flex; flex-direction:column; gap:8px; }
.wrpv .selfcam .cc span{ width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.16); color:#fff; display:flex; align-items:center; justify-content:center; }
.wrpv .selfcam .cc span .ic{ width:15px; height:15px; }
.wrpv-chat{ position:absolute; right:14px; bottom:14px; width:44px; height:44px; border-radius:50%; background:var(--teal-light); color:#0e3a41; display:flex; align-items:center; justify-content:center; box-shadow:var(--sh-md); }
.wrpv-chat .ic{ width:20px; height:20px; }
@media (max-width:640px){ .wrpv-body{ grid-template-columns:1fr; } .wrpv .selfcam{ max-width:220px; } }

/* EMDR hero image + full controls grid */
.emdr-hero-img{ border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--sh-lg); }
.emdr-hero-img img{ width:100%; height:auto; display:block; }

/* rebuilt EMDR hero (composed) */
.emdr-hero-build{ position:relative; }
.ehb-stage{ position:relative; border-radius:var(--radius-xl); background:#2b3138; aspect-ratio:16/9; overflow:hidden; box-shadow:var(--sh-lg); }
.ehb-orb{ position:absolute; top:50%; left:8%; width:58px; height:58px; border-radius:50%; background:#42E2FF; transform:translate(-50%,-50%); box-shadow:0 0 44px 6px rgba(66,226,255,.45); }
.ehb-tp{ position:absolute; top:14px; right:16px; font-size:11px; font-weight:700; letter-spacing:.04em; color:#cfd6da; background:rgba(0,0,0,.28); padding:5px 10px; border-radius:7px; }
.ehb-chip{ position:absolute; left:16px; bottom:16px; display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700;
  color:var(--teal-deep); background:#fff; border:1px solid var(--divider); box-shadow:var(--sh-md); padding:8px 13px; border-radius:99px; }
.ehb-chip .d{ width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(29,170,90,.18); }
@media (prefers-reduced-motion: no-preference){
  .ehb-orb{ animation:ehbmove 2.4s ease-in-out infinite alternate; }
}
@keyframes ehbmove{ from{ left:8%; } to{ left:92%; } }
.ctrl-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px; }
.ctrl-card{ background:#fff; border:1px solid var(--divider); border-radius:var(--radius-lg); padding:22px; box-shadow:var(--sh-sm); }
.ctrl-card .ch{ display:flex; align-items:center; gap:11px; margin-bottom:6px; }
.ctrl-card .ci{ width:40px; height:40px; border-radius:11px; background:var(--calm-bg); color:var(--calm-blue); display:flex; align-items:center; justify-content:center; flex:0 0 40px; }
.ctrl-card .ci .ic{ width:20px; height:20px; }
.ctrl-card h3{ font-size:16px; }
.ctrl-card p{ font-size:13.5px; color:var(--text-secondary); margin-top:7px; line-height:1.5; }
.ctrl-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:11px; }
.ctrl-chips span{ font-size:11.5px; font-weight:600; color:var(--text-secondary); background:var(--surface-2); border:1px solid var(--divider); border-radius:99px; padding:4px 10px; }
.ctrl-sw{ display:flex; gap:6px; margin-top:11px; flex-wrap:wrap; }
.ctrl-sw span{ width:18px; height:18px; border-radius:50%; border:1px solid rgba(0,0,0,.12); }
.ctrl-sw.sq span{ border-radius:5px; }

@media (max-width:1024px){
  .fp-hero .hero-grid{ grid-template-columns:1fr; gap:44px; }
  .fp-hero h1{ font-size:38px; }
  .fp-steps{ grid-template-columns:1fr; }
  .fp-benefits{ grid-template-columns:1fr; }
  .related-grid{ grid-template-columns:1fr; }
  .fax-plans{ grid-template-columns:1fr 1fr; }
}
@media (max-width:900px){ .ctrl-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:680px){ .fax-plans{ grid-template-columns:1fr; } .ctrl-grid{ grid-template-columns:1fr; } }
