/* ToolFlowCo 3.2. Shared components; deliberate namespace rather than theme-wide overrides. */
.tfc320-enabled{--tfc320-navy:#102d46;--tfc320-ink:#1a3044;--tfc320-muted:#506579;--tfc320-teal:#086b67;--tfc320-line:#d8e3ea;--tfc320-soft:#f1f6f8;--tfc320-radius:14px}
.tfc320-site{color:var(--tfc320-ink);font-size:17px;line-height:1.7;overflow-wrap:anywhere}
.tfc320-site *, .tfc320-purchase *, .tfc320-section *{box-sizing:border-box}
.tfc320-site h1,.tfc320-site h2,.tfc320-site h3,.tfc320-section h2,.tfc320-section h3{color:var(--tfc320-navy);font-weight:750;letter-spacing:-.025em;line-height:1.2;margin:0 0 18px}
.tfc320-site h1{font-size:clamp(32px,4vw,56px);max-width:900px}
.tfc320-site h2,.tfc320-section h2{font-size:clamp(26px,3vw,37px)}
.tfc320-site h3,.tfc320-section h3{font-size:22px}
.tfc320-site p,.tfc320-section p{margin:0 0 18px}
.tfc320-site .tfc-container,.tfc320-section>.tfc-container{width:min(1180px,calc(100% - 48px));max-width:1180px;margin-inline:auto}
.tfc320-site a,.tfc320-section a{color:var(--tfc320-teal);text-underline-offset:4px}
.tfc320-site a:hover,.tfc320-section a:hover{text-decoration:underline}
.tfc320-site img{max-width:100%;height:auto;display:block}
.tfc320-home-hero,.tfc320-product-hero,.tfc320-page-hero{padding:60px 0;background:linear-gradient(125deg,#f3f9fa,#fff 75%);border-bottom:1px solid var(--tfc320-line)}
.tfc320-product-hero{padding:32px 0 52px}
.tfc320-page-hero{padding-block:46px}
.tfc320-hero-grid,.tfc320-two{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:44px;align-items:start}
.tfc320-home-hero .tfc320-hero-grid{align-items:center}
.tfc320-lead{font-size:20px;line-height:1.65;color:var(--tfc320-muted);max-width:760px}
.tfc320-eyebrow{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--tfc320-teal);margin-bottom:12px}
.tfc320-section{padding:54px 0;scroll-margin-top:96px}
.tfc320-soft{background:var(--tfc320-soft)}
.tfc320-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0}
.tfc320-button,.tfc320-site .tfc320-button,.tfc320-section .tfc320-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 20px;border-radius:8px;border:1px solid var(--tfc320-teal);background:var(--tfc320-teal);color:#fff;text-align:center;font-size:15px;font-weight:750;line-height:1.4;text-decoration:none;cursor:pointer;white-space:normal}
.tfc320-button:hover,.tfc320-site .tfc320-button:hover,.tfc320-section .tfc320-button:hover{background:#075653;border-color:#075653;color:#fff;text-decoration:none}
.tfc320-button-secondary,.tfc320-site .tfc320-button-secondary,.tfc320-section .tfc320-button-secondary{background:white;color:var(--tfc320-teal);border-color:#aabfc9}
.tfc320-button-secondary:hover,.tfc320-site .tfc320-button-secondary:hover{background:#e9f4f3;color:#064e4b}
.tfc320-site :is(a,button,summary,[tabindex]):focus-visible,.tfc320-section :is(a,button,summary,[tabindex]):focus-visible,.tfc320-purchase a:focus-visible{outline:3px solid #216ddd;outline-offset:4px;border-radius:4px}
.tfc320-small,.tfc320-trustline{font-size:14px;line-height:1.6;color:var(--tfc320-muted)}
.tfc320-trustline{font-weight:650;margin-top:20px}
.tfc320-trustline span{padding-inline:4px}
.tfc320-hero-proof{margin:0;padding:14px;background:#fff;border:1px solid var(--tfc320-line);border-radius:18px;box-shadow:0 12px 36px #122d4610;min-width:0}
.tfc320-proof-label{display:block;font-size:14px;font-weight:750;margin:3px 0 12px}
.tfc320-hero-proof img{border-radius:8px;width:100%;object-fit:contain}
.tfc320-hero-proof figcaption{font-size:13px;line-height:1.5;color:var(--tfc320-muted);padding:12px 0 2px}
.tfc320-routes,.tfc320-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px}
.tfc320-route{display:block;background:#fff;border:1px solid var(--tfc320-line);border-radius:12px;padding:23px;text-decoration:none;color:var(--tfc320-ink)}
.tfc320-route strong{display:block;font-size:20px;line-height:1.3;margin:8px 0 12px;color:var(--tfc320-navy)}
.tfc320-route p,.tfc320-route span{font-size:15px;line-height:1.6}
.tfc320-route:hover{border-color:var(--tfc320-teal);box-shadow:0 6px 20px #102d460a}
.tfc320-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:26px}
.tfc320-card{border:1px solid var(--tfc320-line);border-radius:var(--tfc320-radius);background:#fff;overflow:hidden;min-width:0;display:flex;flex-direction:column}
.tfc320-card-image{display:block;aspect-ratio:1.5;background:#e8eef2;overflow:hidden}
.tfc320-card-image img{width:100%;height:100%;object-fit:contain}
.tfc320-card-body{padding:23px;display:flex;flex-direction:column;flex:1}
.tfc320-card h3{font-size:22px}
.tfc320-card h3 a{text-decoration:none;color:var(--tfc320-navy)}
.tfc320-card p{font-size:15px;line-height:1.65}
.tfc320-card-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:auto;padding-top:10px}
.tfc320-price{display:inline-flex;flex-direction:column;gap:4px;line-height:1.4;color:var(--tfc320-navy);max-width:100%;white-space:normal}
.tfc320-price strong{font-size:25px;font-weight:800}
.tfc320-price small{font-size:12px;color:var(--tfc320-muted);font-weight:500}
.tfc320-price-fallback{font-size:14px;font-weight:650;color:var(--tfc320-muted)}
.tfc-product-card-top .tfc320-price strong{font-size:20px}
.tfc-product-card-top .tfc320-price{align-items:flex-end;text-align:right}
.tfc-product-card-top .tfc320-price small{font-size:10px}
.tfc320-panel{padding:28px;background:#fff;border:1px solid var(--tfc320-line);border-radius:var(--tfc320-radius)}
.tfc320-panel .tfc320-list{margin-bottom:0}
.tfc320-list{padding-left:23px;margin:16px 0 24px}
.tfc320-list li{padding-left:3px;margin:9px 0;line-height:1.65}
.tfc320-list li::marker{color:var(--tfc320-teal);font-weight:800}
.tfc320-callout{display:flex;align-items:center;justify-content:space-between;gap:30px}
.tfc320-callout>div:first-child{max-width:700px}
.tfc320-link-list{display:grid;gap:10px;margin-top:22px}
.tfc320-link-list a{display:block;background:#fff;border:1px solid var(--tfc320-line);border-radius:8px;padding:15px 20px;text-decoration:none;font-weight:650}
.tfc320-breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;padding-top:22px;padding-bottom:22px;font-size:13px;line-height:1.5;color:var(--tfc320-muted)}
.tfc320-product h1{font-size:clamp(28px,3.1vw,43px)}
.tfc320-product .tfc320-lead{font-size:18px}
.tfc320-product-visual{min-width:0;padding:10px;border:1px solid var(--tfc320-line);border-radius:14px;background:white}
.tfc320-product-visual .tfc-product-gallery{width:100%;margin:0;position:static}
.tfc320-product-visual .tfc-native-dynamic-section{padding:0}
.tfc320-product-visual .tfc-container{width:100%;padding:0}
.tfc320-purchase{display:flex;flex-wrap:wrap;align-items:center;gap:18px;border:1px solid var(--tfc320-line);border-radius:12px;padding:22px;background:#fff;color:var(--tfc320-ink);margin-top:22px}
.tfc320-purchase>.tfc320-small,.tfc320-before{flex:0 0 100%;margin:0}
.tfc320-before{padding:16px 18px;border-left:3px solid var(--tfc320-teal);background:#eef7f6;font-size:15px;line-height:1.6}
.tfc320-before strong{font-size:14px;color:var(--tfc320-navy)}
.tfc320-before p{margin:7px 0 0}
.tfc320-subnav{border-bottom:1px solid var(--tfc320-line);background:#fff}
.tfc320-subnav>.tfc-container{display:flex;flex-wrap:wrap;gap:3px 18px;padding:10px 0}
.tfc320-subnav a{display:inline-flex;min-height:44px;align-items:center;font-size:14px;font-weight:650}
.tfc320-details,.tfc320-faq details{border:1px solid var(--tfc320-line);border-radius:10px;background:white;padding:0 20px;margin:12px 0}
.tfc320-details summary,.tfc320-faq summary{font-size:16px;line-height:1.5;font-weight:700;cursor:pointer;min-height:50px;padding:16px 0;color:var(--tfc320-navy)}
.tfc320-faq details p{font-size:15px;line-height:1.65;padding:3px 0 7px}
.tfc320-details[open],.tfc320-faq details[open]{border-color:#83aaa9}
.tfc320-video{width:100%;aspect-ratio:16/9;background:var(--tfc320-navy);border-radius:14px;overflow:hidden;position:relative}
.tfc320-video-cover{height:100%;padding:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff}
.tfc320-video-cover .tfc320-small{color:#dae8ee;margin:18px 0 0;font-size:13px}
.tfc320-video-cover p{color:#fff;font-size:22px;margin:10px 0 20px}
.tfc320-play{font-size:36px;line-height:1.2}
.tfc320-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tfc320-table-wrap{overflow-x:auto;border:1px solid var(--tfc320-line);border-radius:12px;background:#fff;margin-top:20px;overscroll-behavior-x:contain}
.tfc320-table{border-collapse:collapse;width:100%;min-width:680px;font-size:14px;line-height:1.6;color:var(--tfc320-ink)}
.tfc320-table caption{text-align:left;font-size:15px;font-weight:650;padding:18px 20px;background:#fff;color:var(--tfc320-navy)}
.tfc320-table th,.tfc320-table td{text-align:left;vertical-align:top;padding:18px;border-bottom:1px solid var(--tfc320-line);overflow-wrap:anywhere;min-width:120px}
.tfc320-table th{background:#edf4f7;font-weight:750;color:var(--tfc320-navy)}
.tfc320-table th[scope=row]{background:white;min-width:180px}
.tfc320-table tr:last-child td,.tfc320-table tr:last-child th{border-bottom:0}
.tfc320-table td small{display:block;font-size:12px;margin-top:10px;color:var(--tfc320-muted)}
.tfc320-table td p{margin-bottom:8px}
.tfc320-table td .tfc320-price strong{font-size:19px}
.tfc320-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.tfc320-steps article{padding:28px;background:white;border:1px solid var(--tfc320-line);border-radius:12px}
.tfc-article-content .tfc320-section{padding:30px 0;margin-top:26px}
.tfc-article-content .tfc320-section>.tfc-container{width:100%;padding:0 18px}
.tfc-article-content .tfc320-card-grid{grid-template-columns:1fr}
.tfc-article-content .tfc320-card-image{max-height:270px}
.tfc-article-content .tfc320-section h2{font-size:27px}
@media(max-width:980px){.tfc320-routes,.tfc320-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tfc320-hero-grid{gap:26px}.tfc320-site h1{font-size:38px}.tfc320-card-grid{gap:15px}.tfc320-card-body{padding:18px}.tfc320-callout{display:block}.tfc320-two{gap:26px}.tfc320-product h1{font-size:32px}}
@media(max-width:760px){.tfc320-hero-grid,.tfc320-two{grid-template-columns:1fr}.tfc320-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tfc320-home-hero,.tfc320-product-hero,.tfc320-page-hero{padding:36px 0}.tfc320-product-visual{max-width:580px}.tfc320-hero-proof{max-width:600px}.tfc320-steps{grid-template-columns:1fr}.tfc320-section{padding:38px 0}.tfc320-site .tfc-container,.tfc320-section>.tfc-container{width:calc(100% - 36px)}.tfc320-site h1{font-size:35px}.tfc320-lead{font-size:18px}}
@media(max-width:500px){.tfc320-routes,.tfc320-route-grid,.tfc320-card-grid{grid-template-columns:1fr}.tfc320-site h1{font-size:32px}.tfc320-product h1{font-size:29px}.tfc320-site h2,.tfc320-section h2{font-size:27px}.tfc320-site{font-size:16px}.tfc320-panel{padding:22px}.tfc320-actions{align-items:stretch}.tfc320-actions .tfc320-button{width:100%}.tfc320-purchase{padding:18px}.tfc320-purchase>.tfc320-button{width:100%}.tfc320-video{aspect-ratio:auto;min-height:270px}.tfc320-video-cover{min-height:270px;padding:20px 15px}.tfc320-video-cover p{font-size:18px}.tfc320-subnav>.tfc-container{gap:0 14px}.tfc320-product-card-top{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.tfc320-enabled *{scroll-behavior:auto;animation-duration:.01ms;transition-duration:.01ms}}
@media print{.tfc320-video,.tfc320-subnav,.tfc320-actions{display:none}.tfc320-hero-grid,.tfc320-two{display:block}.tfc320-section{padding:20px 0}.tfc320-table-wrap{overflow:visible}.tfc320-table{min-width:0}}

.tfc320-process{display:grid;gap:20px}.tfc320-process-step{display:flex;align-items:flex-start;gap:24px;padding:28px;border:1px solid var(--tfc320-line);border-radius:12px;background:#fff}.tfc320-step{display:block;font-size:14px;font-weight:800;color:var(--tfc320-teal);padding-bottom:10px}.tfc320-process-step>.tfc320-step{font-size:28px;min-width:40px}.tfc320-process-step h2{font-size:27px}.tfc320-table th[scope=row] .tfc320-price{display:flex;margin-top:14px}.tfc320-route h3{font-size:20px;margin:8px 0 12px}@media(max-width:500px){.tfc320-process-step{padding:20px;gap:15px}.tfc320-process-step h2{font-size:24px}}
/* Override inherited fixed-renderer gallery rules only inside the new product layout. */
body.tfc-studio-body .tfc320-product-visual .tfc-product-gallery{display:block!important;width:100%!important;min-height:0!important;position:relative!important;padding:0!important;gap:0!important;grid-template-columns:none!important}
body.tfc-studio-body .tfc320-product-visual .tfc-gallery-main{display:block!important;position:relative!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1.25!important;padding:0!important;overflow:hidden;border-radius:10px}
body.tfc-studio-body .tfc320-product-visual .tfc-gallery-main img{display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;padding:0!important}
body.tfc-studio-body .tfc320-product-visual .tfc-gallery-view-all{position:absolute!important;inset:auto 12px 12px auto!important;max-width:calc(100% - 24px);font-size:12px!important}
body.tfc-studio-body .tfc320-product-visual .tfc-gallery-thumbs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;width:100%!important;padding:10px 0 0!important}
body.tfc-studio-body .tfc320-product-visual .tfc-gallery-thumbs button{min-height:44px!important;aspect-ratio:1.25!important;padding:0!important;width:100%!important;height:auto!important}
body.tfc-studio-body .tfc320-product-visual .tfc-gallery-thumbs img{width:100%!important;height:100%!important;object-fit:contain!important}
body.tfc-studio-body .tfc320-product .tfc320-product-hero h1{font-size:clamp(29px,3.1vw,43px)!important;line-height:1.18!important;margin-bottom:18px!important}
body.tfc-studio-body .tfc320-product .tfc320-product-hero .tfc320-lead{font-size:18px!important;line-height:1.6!important}
@media(max-width:500px){body.tfc-studio-body .tfc320-product .tfc320-product-hero h1{font-size:29px!important}body.tfc-studio-body .tfc320-product .tfc320-product-hero .tfc320-lead{font-size:17px!important}}
body.tfc-studio-body .tfc320-site h1{font-size:clamp(32px,4vw,56px)!important;line-height:1.15!important}
body.tfc-studio-body .tfc320-product .tfc320-product-hero h1{font-size:clamp(29px,3.1vw,43px)!important;line-height:1.18!important}
.tfc320-table{min-width:1100px;table-layout:fixed}
.tfc320-table th,.tfc320-table td{min-width:0;width:20%}
@media(max-width:500px){body.tfc-studio-body .tfc320-site h1{font-size:32px!important}body.tfc-studio-body .tfc320-product .tfc320-product-hero h1{font-size:29px!important}body.tfc-studio-body .tfc320-site h2{font-size:27px!important}}
