:root{color-scheme:light;--ink:#122334;--muted:#5a6c7c;--blue:#086bcb;--pale:#edf5fc;--border:#d9e2e9;--green:#15704b;--amber:#86520b;--radius:18px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#f4f7f9;color:var(--ink);font-size:16px;line-height:1.55}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}a{color:var(--blue)}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #28a4ff;outline-offset:4px}input{accent-color:var(--blue)}.preview-strip{background:#e4eef8;color:#244a70;display:flex;gap:10px;align-items:center;justify-content:center;padding:10px 18px;font-size:12px}.preview-strip strong{letter-spacing:.08em;font-size:10px}.preview-dot{width:6px;height:6px;border-radius:50%;background:#147ce5}.header{max-width:1096px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:27px 26px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand strong{display:block;letter-spacing:.065em;font-size:16px;line-height:1.3}.brand small{display:block;font-size:10px;letter-spacing:.24em}.logo{display:block;width:46px;height:46px;border-radius:50%;background:#0c63be url('./tfp-logo.png') center 47% / 171% auto no-repeat}.quiet{border:0;background:none;color:var(--muted);font-size:13px;padding:10px 0 10px 12px}.quiet span{padding-left:8px}.quiet:hover{color:var(--blue)}main{max-width:1044px;margin:20px auto 50px;padding:0 26px;min-height:65vh}main:focus{outline:none}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);margin:0 0 13px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(29px,4.2vw,46px);line-height:1.13;letter-spacing:-.04em;margin-bottom:18px}h2{font-size:26px;line-height:1.2;letter-spacing:-.025em;margin-bottom:12px}h3{font-size:18px;line-height:1.35;margin-bottom:10px}p{margin-bottom:16px}.muted{color:var(--muted)}.small{font-size:13px}.lead{font-size:17px;color:var(--muted);max-width:580px}.layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.85fr);gap:28px;align-items:start}.intro{padding-top:12px}.card{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:30px;box-shadow:0 8px 30px #132b4105}.hero-card{padding:36px}.session-card{background:#101f2d;color:white;position:relative;overflow:hidden;border-color:#101f2d}.session-card .eyebrow{color:#77bafd}.session-card .muted{color:#acbfd0}.price{font-size:56px;font-weight:700;letter-spacing:-.045em;line-height:1.1;margin:22px 0 7px}.session-card .price{font-size:62px}.rule{border:0;border-top:1px solid var(--border);margin:24px 0}.session-card .rule{border-color:#314454}.feature{display:flex;gap:10px;align-items:baseline;margin:12px 0;font-size:14px}.feature i{font-style:normal;color:#85c5ff}.tag{display:inline-flex;font-size:11px;font-weight:700;padding:5px 9px;border:1px solid var(--border);border-radius:5px;color:var(--muted);line-height:1.4}.session-card .tag{color:#bfdaf4;border-color:#3d5267}.choice{display:block;text-align:left;width:100%;padding:22px;border:1px solid var(--border);border-radius:12px;background:white;color:var(--ink);position:relative;margin-top:14px;transition:border-color .16s,background .16s}.choice:hover{border-color:var(--blue);background:#f8fbfe}.choice.primary-choice{border-color:#9ec8ee;background:#f4f9ff}.choice strong{display:block;font-size:17px;padding-right:25px}.choice small{display:block;color:var(--muted);margin-top:5px;font-size:14px;max-width:93%}.choice .arrow{position:absolute;right:22px;top:25px;color:var(--blue);font-size:22px}.choice-number{font-size:11px;color:var(--blue);font-weight:800;letter-spacing:.08em;margin-bottom:8px}.notice{border-radius:10px;background:var(--pale);border:1px solid #cddfee;color:#2a5070;padding:14px 16px;font-size:14px;margin:20px 0}.notice p:last-child{margin-bottom:0}.notice.amber{background:#fff7e9;border-color:#edd9b9;color:var(--amber)}.notice.green{background:#edf8f2;border-color:#c3dfd0;color:var(--green)}.notice strong{display:block;margin-bottom:4px}.no-margin{margin:0}.steps{display:flex;list-style:none;padding:0;margin:0 0 28px;gap:0}.steps li{flex:1;color:#81909b;font-size:11px;border-top:3px solid #dce4eb;padding-top:10px;position:relative}.steps li.active{border-color:var(--blue);color:var(--blue);font-weight:800}.steps li.done{border-color:#8dbfeb;color:#3f729d}.steps span{font-weight:800;margin-right:4px}.form-head{margin-bottom:24px}.form-head h1{font-size:32px;margin-bottom:10px}.form-head p{margin-bottom:0}.form-layout{grid-template-columns:minmax(0,1.8fr) minmax(230px,.8fr)}.form-layout aside{padding-top:5px}.aside-heading{font-size:13px;font-weight:700;margin-bottom:12px}.aside-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;color:var(--muted);font-size:14px}.aside-line strong{color:var(--ink)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px}.field>label,.field>span{font-size:13px;font-weight:650}.field.full{grid-column:1/-1}.field input{border:1px solid #bdcbd6;background:white;color:var(--ink);border-radius:8px;padding:12px;width:100%;min-height:49px;min-width:0;outline-offset:2px}.field input:focus{border-color:var(--blue)}.field .hint{font-size:12px;font-weight:400;color:var(--muted)}.actions{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;border:1px solid var(--border);border-radius:8px;padding:12px 20px;font-weight:650;font-size:14px;background:white;color:var(--ink);text-decoration:none}.btn:hover{background:#f1f5f8}.btn.primary{background:var(--blue);color:white;border-color:var(--blue)}.btn.primary:hover{background:#0759a7}.btn.full{width:100%}.btn.text{border:0;background:none;padding-left:0;color:var(--muted)}.btn.compact{min-height:39px;padding:8px 12px;font-size:12px}.sample-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#f2f6fa;border-radius:9px;color:var(--muted);font-size:12px;margin-bottom:25px}.question{padding:0 0 21px;border:0;border-bottom:1px solid var(--border);margin:0 0 21px;min-width:0}.question:last-of-type{margin-bottom:0}.question legend{font-size:15px;font-weight:600;line-height:1.55;padding:0;width:100%;margin-bottom:12px}.qnum{color:#8294a4;font-size:12px;padding-right:8px}.options{display:flex;gap:12px}.radio-pill{display:flex;align-items:center;gap:9px;min-width:94px;min-height:44px;border:1px solid #c5d1db;border-radius:7px;padding:9px 15px;font-size:14px;cursor:pointer}.radio-pill:has(input:checked){border-color:var(--blue);background:var(--pale);color:#064f94}.radio-pill input{margin:0;width:17px;height:17px}.agreement{padding:20px;background:#f8fafc;border:1px solid var(--border);border-radius:10px;margin-bottom:20px}.agreement p{font-size:14px;line-height:1.75;color:#435b6e}.agreement p:last-child{margin-bottom:0}.check{display:flex;align-items:flex-start;gap:12px;padding:15px 0;color:#334c60;font-size:14px;cursor:pointer}.check input{margin:4px 0 0;width:19px;height:19px;flex:0 0 19px}.check strong{font-weight:650}.consent{border-top:1px solid var(--border);margin-top:10px}.signature-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 10px}.signature-head h3{margin:0;font-size:16px}.tabs{display:flex;gap:0;padding:3px;background:#edf2f6;border-radius:7px;margin-bottom:12px;width:max-content}.tabs button{border:0;border-radius:5px;padding:8px 14px;font-size:12px;background:transparent;color:#546b7c}.tabs button[aria-pressed=true]{background:white;color:var(--blue);box-shadow:0 1px 5px #102d4512}.signature-wrap{border:1px dashed #93abc0;border-radius:10px;overflow:hidden;background:#fff;position:relative}.signature-wrap:after{content:"Sign above the line";position:absolute;left:18px;bottom:10px;font-size:11px;color:#8b9dad;pointer-events:none}.signature-wrap:before{content:"";position:absolute;left:18px;right:18px;bottom:32px;border-top:1px solid #d3dfe8;pointer-events:none}canvas{display:block;width:100%;height:175px;touch-action:none}.signature-typed{font-family:Georgia,serif;font-style:italic;font-size:24px!important}.error{color:#aa2835;font-size:14px;font-weight:600;margin:16px 0 0}.error:empty{display:none}.status-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#e4f3eb;color:#167149;font-size:25px;margin-bottom:22px}.status-icon.pending{background:#fff1d6;color:#96630b}.status-list{padding:0;list-style:none;margin:22px 0}.status-list li{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--border);font-size:14px}.status-list li span{flex:1}.status-list strong{font-size:12px;align-self:center;color:var(--green)}.status-list strong.pending{color:var(--amber)}.summary{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin:22px 0}.summary div{font-size:14px;min-width:0;overflow-wrap:anywhere}.summary dt{color:var(--muted);font-size:11px;margin-bottom:3px;text-transform:uppercase;letter-spacing:.07em}.summary dd{margin:0;font-weight:600}.ref{font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:.1em}.details-note{margin-top:20px;font-size:13px;color:var(--muted)}details summary{cursor:pointer;font-weight:600;color:#385971;font-size:13px;padding:6px 0}details p{margin:12px 0 0;font-size:13px;line-height:1.65}details ul{font-size:13px;padding-left:20px}details li{margin:10px 0}.email-demo{display:flex;align-items:center;gap:12px;padding:17px;background:#f1f6fa;border:1px solid var(--border);border-radius:10px;margin:22px 0}.avatar{display:grid;place-items:center;width:39px;height:39px;background:#daeafb;border-radius:50%;color:#1b629d;font-weight:750;font-size:14px}.email-demo strong{font-size:14px;display:block}.email-demo small{font-size:12px;color:var(--muted)}.checkout-frame{max-width:770px;margin:0 auto}.checkout-label{text-align:center;font-size:12px;color:var(--muted);margin-bottom:18px}.checkout-total{display:flex;justify-content:space-between;align-items:center;margin:25px 0}.checkout-total strong{font-size:32px}.checkout-fields{padding:20px;background:#f8fafc;border:1px solid var(--border);border-radius:12px}.read-field{margin-bottom:17px}.read-field:last-child{margin-bottom:0}.read-field span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.read-field strong{display:block;font-size:14px;overflow-wrap:anywhere}.payment-placeholder{border:1px dashed #c4d1dd;padding:17px;margin:22px 0;border-radius:8px;font-size:13px;text-align:center;color:var(--muted)}.accent{color:var(--blue)}.trail{font-size:12px;color:var(--muted);line-height:1.8;margin:20px 0}.trail span{padding:0 6px;color:#9badbc}footer{text-align:center;color:#728594;font-size:11px;margin:28px 20px 35px}footer>span{padding:0 5px}.footer-note{display:block;margin-top:6px}.hidden{display:none!important}.stack{display:grid;gap:12px}.owner-note{margin-top:26px;padding-top:22px;border-top:1px solid var(--border)}
@media(max-width:740px){.header{padding:20px}.brand strong{font-size:14px}.brand small{font-size:9px}.logo{width:39px;height:39px}.preview-strip{flex-wrap:wrap;gap:5px 8px;padding:9px 12px;line-height:1.35}.preview-strip>span:last-child{font-size:11px}main{padding:0 18px;margin:12px auto 28px}.layout,.form-layout{grid-template-columns:1fr;gap:22px}.session-card{padding:24px;display:none}.card,.hero-card{padding:23px}.hero-card h1{font-size:34px}.intro{padding-top:0}.form-layout aside{border-top:1px solid var(--border);padding-top:20px}.form-layout aside .notice{display:none}.grid{gap:18px}.field{grid-column:1/-1}.form-head h1{font-size:28px}.lead{font-size:16px}.choice{padding:20px}.choice strong{font-size:16px}.choice small{font-size:13px}.actions{gap:10px}.actions .primary{flex:1}.steps{margin-bottom:25px}.steps li{font-size:10px}.check{font-size:14px}.agreement{padding:17px}.agreement p{font-size:13px}.sample-bar{padding:10px 12px;font-size:11px}.sample-bar .btn{white-space:nowrap}.summary{gap:15px}.checkout-label{font-size:11px}.checkout-fields{padding:16px}.form-layout .aside-heading{display:none}.form-layout aside .rule{margin:12px 0}.form-layout aside>.small{font-size:12px}.quiet{font-size:11px}.status-list{font-size:13px}footer{margin-top:20px}.owner-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.reference-box{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:20px;border:1px solid #b7cde0;background:#edf5fc;border-radius:10px;margin:20px 0 8px}.reference-box .ref{font-size:20px;user-select:all}.staff-section{margin-top:32px}.staff-search{margin-top:26px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:14px 10px}th{font-size:12px;color:var(--muted);white-space:nowrap}td small{font-size:12px}.health-record{list-style:none;padding:0}.health-record li{display:flex;gap:20px;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border);font-size:14px}.health-record strong{min-width:30px}.staff-controls{padding:24px;background:#f1f6fa;border:1px solid var(--border);border-radius:12px;margin-top:28px}.field select{min-height:49px;background:white;border:1px solid #bdcbd6;border-radius:8px;padding:10px;color:var(--ink);width:100%}.signed-name{font-family:Georgia,serif;font-style:italic;font-size:32px;padding:20px;border-bottom:1px solid var(--border)}.hash{overflow-wrap:anywhere}#session-ref{word-break:break-all}.staff-detail details h3{margin-top:18px}.staff-detail details p{font-size:14px}.small,.field>label,.check,.question legend,.btn{font-size:14px}.steps li{font-size:12px}@media(max-width:740px){.preview-strip>span:last-child{font-size:12px}.quiet{font-size:12px}.field>label,.small,.choice small,.check,.btn,.question legend{font-size:14px}.staff-controls{padding:17px}.reference-box .ref{font-size:18px}.steps li{font-size:11px}}
@media print{body{background:white;font-size:11pt}.header,.preview-strip,footer,.no-print,.staff-controls,.staff-search{display:none!important}main{max-width:none;margin:0;padding:0}.card{border:0;box-shadow:none;padding:0}.staff-detail details{display:block}.staff-detail details>summary{display:none}.staff-detail details p{font-size:10pt}.staff-detail h1{font-size:24pt}.staff-detail h2{font-size:17pt}.staff-detail h3{font-size:12pt}.health-record li{break-inside:avoid}.signature-wrap{break-inside:avoid;max-width:450px}.hash{font-size:8pt}a{color:inherit;text-decoration:none}.notice{background:white}.actions{display:none}}
