.tfl{--void:#f5fafb;--deep:#fff;--surface:#eaf4f7;--violet:#0a79c4;--violet-light:#0e9e96;--teal:#12b5a5;--teal-dim:#0e7c74;--text:#12303b;--text-muted:#4e6873;--text-dim:#8aa0aa;background:var(--void);color:var(--text);min-height:100vh;font-family:Inter,sans-serif;font-weight:300;line-height:1.7;overflow-x:hidden}.tfl *{box-sizing:border-box}html{scroll-behavior:smooth}.tfl-nav{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;border-bottom:1px solid #0a79c41f;justify-content:space-between;align-items:center;padding:1.25rem 2.5rem;display:flex;position:fixed;top:0;left:0;right:0}.tfl .nav-logo{letter-spacing:.15em;text-transform:uppercase;color:var(--text);font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:300;text-decoration:none}.tfl .nav-logo span{color:var(--violet-light)}.tfl .nav-logo img{width:auto;height:34px;display:block}.tfl-footer .footer-logo img{opacity:.95;width:auto;height:36px;display:block}.tfl .nav-cta{color:var(--violet-light);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #0a79c480;border-radius:2px;align-items:center;gap:.5rem;padding:.6rem 1.4rem;font-family:Inter,sans-serif;font-size:.8rem;font-weight:400;text-decoration:none;transition:all .25s;display:inline-flex}.tfl .nav-cta:hover{border-color:var(--violet);color:var(--text);background:#0a79c41a}.tfl .hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:8rem 2rem 5rem;display:flex;position:relative;overflow:hidden}.tfl .portal-wrap{flex-shrink:0;width:320px;height:320px;margin:0 auto 3.5rem;position:relative}.tfl .portal-svg{width:100%;height:100%}.tfl .hero-eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--violet-light);margin-bottom:1.2rem;font-family:Inter,sans-serif;font-size:.72rem;font-weight:400}.tfl .hero-headline{letter-spacing:-.01em;color:var(--text);max-width:860px;margin:0 auto 1.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(3rem,7vw,5.5rem);font-weight:300;line-height:1.08}.tfl .hero-headline em{color:var(--violet-light);font-style:italic}.tfl .hero-sub{color:var(--text-muted);max-width:520px;margin:0 auto 3rem;font-size:1rem;font-weight:300;line-height:1.8}.tfl .hero-cta-group{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.tfl .btn-primary{background:var(--violet);color:#fff;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;border-radius:2px;align-items:center;gap:.6rem;padding:1rem 2.2rem;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .25s;display:inline-flex}.tfl .btn-primary:hover{background:var(--violet-light);transform:translateY(-1px)}.tfl .btn-primary-lg{padding:1.1rem 2.8rem;font-size:.9rem}.tfl .btn-ghost{border:1px solid var(--text-dim);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;align-items:center;gap:.5rem;padding:1rem 1.6rem;font-family:Inter,sans-serif;font-size:.85rem;font-weight:300;text-decoration:none;transition:all .25s;display:inline-flex}.tfl .btn-ghost:hover{border-color:var(--violet-light);color:var(--violet-light)}.tfl .hero-note{color:var(--text-dim);letter-spacing:.05em;margin-top:1.5rem;font-size:.78rem}.tfl .final-note{margin-top:1.2rem}.tfl .dimensions{background:var(--deep);border-top:1px solid #0a79c41f;border-bottom:1px solid #0a79c41f;padding:2.5rem 2rem}.tfl .dimensions-inner{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 2.5rem;max-width:900px;margin:0 auto;display:flex}.tfl .dim-label{letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;font-size:.72rem;font-weight:400}.tfl .dim-dot{color:var(--violet);flex-shrink:0;font-size:.5rem}.tfl .arch{max-width:1000px;margin:0 auto;padding:7rem 2rem}.tfl .section-eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--violet-light);margin-bottom:1.2rem;font-size:.72rem}.tfl .section-headline{color:var(--text);max-width:640px;margin-bottom:1.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(2.2rem,4vw,3.4rem);font-weight:300;line-height:1.15}.tfl .section-body{color:var(--text-muted);max-width:560px;font-size:1rem;line-height:1.85}.tfl .arch-grid{border:1px solid #0a79c424;grid-template-columns:1fr 1fr;gap:1px;margin-top:5rem;display:grid}.tfl .arch-card{background:var(--deep);border:1px solid #0a79c41f;border-radius:14px;padding:2.5rem;transition:background .25s;position:relative;box-shadow:0 8px 30px -18px #0a79c473}.tfl .arch-card:hover{background:var(--surface)}.tfl .arch-number{color:#0a79c457;margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:3.5rem;font-weight:300;line-height:1}.tfl .arch-card-title{color:var(--text);margin-bottom:.5rem;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:400}.tfl .arch-card-body{color:var(--text-muted);font-size:.88rem;line-height:1.7}.tfl .arch-accent{background:var(--violet);width:20px;height:2px;margin-bottom:1rem;display:inline-block}.tfl .arch-accent-teal{background:var(--teal)}.tfl .how{background:var(--deep);border-top:1px solid #0a79c41f;padding:7rem 2rem}.tfl .how-inner{max-width:900px;margin:0 auto}.tfl .steps{flex-direction:column;gap:0;margin-top:4rem;display:flex}.tfl .step{border-bottom:1px solid #0a79c41f;grid-template-columns:80px 1fr;align-items:start;gap:2rem;padding:2.5rem 0;display:grid}.tfl .step:last-child{border-bottom:none}.tfl .step-num{color:var(--violet);padding-top:.2rem;font-family:Cormorant Garamond,serif;font-size:2.8rem;font-weight:300;line-height:1}.tfl .step-content-title{color:var(--text);margin-bottom:.5rem;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:400}.tfl .step-content-body{color:var(--text-muted);font-size:.92rem;line-height:1.8}.tfl .proof{text-align:center;max-width:760px;margin:0 auto;padding:7rem 2rem}.tfl .proof-quote{color:var(--text);margin-bottom:2rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.5rem,3vw,2.2rem);font-style:italic;font-weight:300;line-height:1.45;position:relative}.tfl .proof-quote:before{content:"“";color:#0a79c438;font-size:5rem;font-style:normal;line-height:1;position:absolute;top:-1.5rem;left:-1rem}.tfl .proof-attr{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:.8rem}.tfl .proof-attr span{color:var(--violet-light)}.tfl .reviews-section{max-width:1000px;margin:0 auto;padding:7rem 2rem}.tfl .reviews-rating-header{align-items:center;gap:.75rem;margin-bottom:3rem;display:flex}.tfl .reviews-rating-text{color:var(--text-muted);letter-spacing:.02em;font-size:.85rem}.tfl .reviews-grid{border:1px solid #0a79c424;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:3rem;display:grid}.tfl .review-card{background:var(--deep);border:1px solid #0a79c41f;flex-direction:column;gap:1rem;padding:2rem;transition:background .25s;display:flex}.tfl .review-card:hover{background:var(--surface)}.tfl .review-stars{gap:.15rem;display:flex}.tfl .review-text{color:var(--text-muted);flex:1;font-size:.88rem;font-style:italic;line-height:1.7}.tfl .review-author{letter-spacing:.06em;text-transform:uppercase;color:var(--violet-light);font-size:.75rem;font-weight:500}.tfl .review-author span{color:var(--text-dim);font-weight:400}.tfl .final-cta{background:var(--deep);text-align:center;border-top:1px solid #0a79c424;padding:7rem 2rem}.tfl .final-portal{width:120px;height:120px;margin:0 auto 2.5rem}.tfl .final-headline{color:var(--text);max-width:600px;margin:0 auto 1rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,3rem);font-weight:300}.tfl .final-sub{color:var(--text-muted);margin-bottom:2.5rem;font-size:.95rem}.tfl-footer{background:var(--void);border-top:1px solid #0a79c41f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:2rem 2.5rem;display:flex}.tfl-footer .footer-logo{letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);font-family:Cormorant Garamond,serif;font-size:.9rem;font-weight:300;text-decoration:none}.tfl-footer .footer-copy{color:var(--text-dim);font-size:.75rem}.tfl .pricing-section{max-width:1000px;margin:0 auto;padding:7rem 2rem}.tfl .pricing-header{text-align:center;max-width:640px;margin:0 auto 4rem}.tfl .pricing-intro{text-align:center;margin:0 auto 4rem}.tfl .pricing-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3rem;display:grid}.tfl .pricing-card{background:var(--deep);text-align:center;border:1px solid #0a79c424;flex-direction:column;align-items:center;padding:2.5rem 2rem;transition:background .25s,border-color .25s;display:flex}.tfl .pricing-card:hover{background:var(--surface);border-color:#0a79c440}.tfl .pricing-accent{background:var(--violet);width:24px;height:2px;margin-bottom:1.5rem}.tfl .pricing-card:nth-child(2) .pricing-accent{background:var(--teal)}.tfl .pricing-card:nth-child(3) .pricing-accent{background:var(--violet-light)}.tfl .pricing-tier-name{color:var(--text);margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:400}.tfl .pricing-price{align-items:baseline;gap:.15rem;margin-bottom:.75rem;display:flex}.tfl .pricing-dollar{color:var(--text-muted);font-family:Cormorant Garamond,serif;font-size:1.5rem}.tfl .pricing-amount{color:var(--text);font-family:Cormorant Garamond,serif;font-size:3.5rem;font-weight:300;line-height:1}.tfl .pricing-unit{color:var(--text-muted);margin-left:.25rem;font-size:.85rem}.tfl .pricing-sessions{color:var(--violet-light);letter-spacing:.04em;margin-bottom:1.25rem;font-size:.85rem}.tfl .pricing-description{color:var(--text-muted);flex:1;margin-bottom:2rem;font-size:.92rem;line-height:1.7}.tfl .pricing-cta{justify-content:center;width:100%}.tfl .pricing-note{text-align:center;color:var(--text-dim);max-width:560px;margin:0 auto;font-size:.85rem}.tfl .subscription-card{text-align:center;background:linear-gradient(135deg,#0a79c41a 0%,#0e9e961a 100%);border:1px solid #0a79c440;border-radius:2px;margin-top:2rem;padding:3rem 2rem;transition:border-color .25s,background .25s}.tfl .subscription-card:hover{background:linear-gradient(135deg,#0a79c42e 0%,#0e9e9624 100%);border-color:#0a79c473}.tfl .subscription-content{max-width:560px;margin:0 auto}.tfl .subscription-badge{color:var(--teal);letter-spacing:.12em;text-transform:uppercase;background:#0e9e962e;border:1px solid #0e9e9659;border-radius:2px;margin-bottom:1.25rem;padding:.35rem .9rem;font-size:.7rem;font-weight:500;display:inline-block}.tfl .subscription-name{color:var(--text);margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:400}.tfl .subscription-price{justify-content:center;align-items:baseline;gap:.15rem;margin-bottom:1.25rem;display:flex}.tfl .subscription-description{color:var(--text-muted);margin-bottom:1.75rem;font-size:.95rem;line-height:1.7}.tfl .subscription-features{flex-wrap:wrap;justify-content:center;gap:.6rem 1.5rem;margin:0 0 2rem;padding:0;list-style:none;display:flex}.tfl .subscription-features li{color:var(--text-muted);padding-left:1.1rem;font-size:.85rem;position:relative}.tfl .subscription-features li:before{content:"✓";color:var(--teal);font-weight:600;position:absolute;left:0}.tfl .subscription-cta{justify-content:center}.tfl .pricing-page{flex-direction:column;min-height:100vh;display:flex}.tfl .pricing-main{text-align:center;flex:1;max-width:1000px;margin:0 auto;padding:10rem 2rem 7rem}.tfl .pricing-main .section-headline{margin-left:auto;margin-right:auto}@keyframes tfl-rotate-slow{to{transform:rotate(360deg)}}@keyframes tfl-rotate-rev{to{transform:rotate(-360deg)}}@keyframes tfl-pulse-glow{0%,to{opacity:.4}50%{opacity:.85}}.tfl .ring-1{transform-origin:160px 160px;animation:28s linear infinite tfl-rotate-slow}.tfl .ring-2{transform-origin:160px 160px;animation:20s linear infinite tfl-rotate-rev}.tfl .ring-3{transform-origin:160px 160px;animation:35s linear infinite tfl-rotate-slow}.tfl .ring-4{transform-origin:160px 160px;animation:16s linear infinite tfl-rotate-rev}.tfl .ring-center{animation:4s ease-in-out infinite tfl-pulse-glow}.tfl .mini-ring-1{transform-origin:60px 60px;animation:28s linear infinite tfl-rotate-slow}.tfl .mini-ring-2{transform-origin:60px 60px;animation:20s linear infinite tfl-rotate-rev}.tfl .mini-ring-3{transform-origin:60px 60px;animation:35s linear infinite tfl-rotate-slow}@media (width<=680px){.tfl-nav{padding:1rem 1.25rem}.tfl .arch-grid,.tfl .reviews-grid,.tfl .pricing-grid{grid-template-columns:1fr}.tfl .step{grid-template-columns:50px 1fr;gap:1rem}.tfl .portal-wrap{width:240px;height:240px}.tfl .ring-1,.tfl .ring-2,.tfl .ring-3,.tfl .ring-4,.tfl .ring-center{transform-origin:120px 120px}}
