/* Think Forward Creative Core — front-end styles */
.tfc-core-grid{display:grid;gap:clamp(1.25rem,3vw,2.5rem)}.tfc-core-columns-1{grid-template-columns:1fr}.tfc-core-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tfc-core-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tfc-core-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tfc-core-columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}.tfc-core-columns-6{grid-template-columns:repeat(6,minmax(0,1fr))}.tfc-core-kicker{margin:0 0 .55rem;color:var(--tfc-primary,#246bfd);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.tfc-core-placeholder{display:block;width:100%;height:100%;min-height:220px;background:linear-gradient(135deg,var(--tfc-surface,#f4f6fa),color-mix(in srgb,var(--tfc-primary,#246bfd) 12%,#fff))}.tfc-portfolio-card,.tfc-team-card{overflow:hidden;border:1px solid var(--tfc-border,#dfe4ec);border-radius:var(--tfc-radius,10px);background:var(--tfc-bg,#fff);box-shadow:0 10px 30px rgba(14,25,44,.06)}.tfc-portfolio-image,.tfc-team-image{display:block;overflow:hidden;background:var(--tfc-surface,#f4f6fa)}.tfc-portfolio-image{aspect-ratio:4/3}.tfc-team-image{aspect-ratio:4/5}.tfc-portfolio-image img,.tfc-team-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.tfc-portfolio-card:hover img,.tfc-team-card:hover img{transform:scale(1.035)}.tfc-portfolio-body,.tfc-team-body{padding:clamp(1rem,2.4vw,1.6rem)}.tfc-portfolio-body h3,.tfc-team-body h3{margin:0 0 .5rem;font-size:clamp(1.15rem,2vw,1.6rem)}.tfc-portfolio-body h3 a,.tfc-team-body h3 a{color:inherit;text-decoration:none}.tfc-portfolio-excerpt p,.tfc-team-body p:last-child{margin-bottom:0}.tfc-testimonial-card{display:flex;flex-direction:column;margin:0;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--tfc-border,#dfe4ec);border-radius:var(--tfc-radius,10px);background:var(--tfc-surface,#f4f6fa)}.tfc-testimonial-card blockquote{flex:1;margin:0 0 1.5rem;padding:0;border:0;background:transparent;font-size:1.05rem}.tfc-testimonial-card blockquote p:last-child{margin-bottom:0}.tfc-testimonial-card figcaption{display:flex;align-items:center;gap:.75rem}.tfc-testimonial-card figcaption strong,.tfc-testimonial-card figcaption small{display:block}.tfc-testimonial-card figcaption small{color:var(--tfc-muted,#687189)}.tfc-testimonial-avatar{width:48px;height:48px;overflow:hidden;border-radius:50%}.tfc-testimonial-avatar img{width:100%;height:100%;object-fit:cover}.tfc-rating{margin-bottom:1rem;color:#e59b19;letter-spacing:.08em}.tfc-core-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.75rem 1.15rem;border:1px solid var(--tfc-primary,#246bfd);border-radius:var(--tfc-radius,10px);background:var(--tfc-primary,#246bfd);color:#fff!important;font-weight:750;line-height:1.1;text-decoration:none}.tfc-core-button:hover{background:var(--tfc-primary-hover,#174ec0);border-color:var(--tfc-primary-hover,#174ec0)}.tfc-core-button-outline{background:transparent;color:var(--tfc-primary,#246bfd)!important}.tfc-core-button-text{min-height:0;padding:0;border:0;background:transparent;color:var(--tfc-primary,#246bfd)!important}.tfc-social-links{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.tfc-social-links a{display:inline-flex;align-items:center;gap:.4rem;color:inherit;text-decoration:none}.tfc-social-links svg{width:20px;height:20px;fill:currentColor}.tfc-reusable-layout{width:100%}.tfc-project-hero{padding:clamp(3.5rem,9vw,8rem) 0;background:var(--tfc-surface,#f4f6fa);text-align:center}.tfc-project-hero h1{max-width:1000px;margin-inline:auto}.tfc-project-intro{max-width:760px;margin:1.25rem auto 0;font-size:1.15rem}.tfc-project-featured{margin-top:clamp(-4rem,-4vw,-2rem)}.tfc-project-featured img{width:100%;border-radius:var(--tfc-radius,10px);box-shadow:0 20px 60px rgba(15,25,45,.15)}.tfc-project-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(2rem,7vw,7rem);padding-top:clamp(3rem,8vw,7rem);padding-bottom:clamp(3rem,8vw,7rem)}.tfc-project-meta{display:flex;flex-direction:column;gap:1rem}.tfc-project-meta>div{padding-bottom:1rem;border-bottom:1px solid var(--tfc-border,#dfe4ec)}.tfc-project-meta strong,.tfc-project-meta span{display:block}.tfc-project-meta strong{color:var(--tfc-muted,#687189);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.tfc-project-video{margin-bottom:clamp(3rem,8vw,7rem)}.tfc-project-video iframe,.tfc-project-video video{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--tfc-radius,10px)}.tfc-project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-bottom:clamp(3rem,8vw,7rem)}.tfc-project-gallery a{display:block;overflow:hidden;border-radius:var(--tfc-radius,10px);background:var(--tfc-surface,#f4f6fa)}.tfc-project-gallery img{width:100%;height:100%;max-height:720px;object-fit:cover}.tfc-core-archive-header{max-width:900px;margin-bottom:clamp(2rem,6vw,5rem)}.tfc-team-single{display:grid;grid-template-columns:minmax(280px,42%) minmax(0,1fr);gap:clamp(2rem,7vw,7rem);align-items:start}.tfc-team-single-image img{width:100%;border-radius:var(--tfc-radius,10px)}.tfc-team-contact{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:2rem}.tfc-lightbox{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:40px;background:rgba(4,7,12,.94)}.tfc-lightbox.is-open{display:flex}.tfc-lightbox-dialog{position:relative;display:flex;max-width:min(1200px,100%);max-height:100%;align-items:center;justify-content:center}.tfc-lightbox-image{max-width:100%;max-height:calc(100vh - 100px);object-fit:contain}.tfc-lightbox-close,.tfc-lightbox-prev,.tfc-lightbox-next{position:fixed;z-index:2;display:grid;width:48px;height:48px;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:28px}.tfc-lightbox-close{top:18px;right:18px}.tfc-lightbox-prev{top:50%;left:18px}.tfc-lightbox-next{top:50%;right:18px}.tfc-lightbox-caption{position:fixed;right:70px;bottom:18px;left:70px;color:#fff;text-align:center}.tfc-lightbox-open{overflow:hidden}@media(max-width:1024px){.tfc-core-columns-5,.tfc-core-columns-6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.tfc-core-columns-2,.tfc-core-columns-3,.tfc-core-columns-4,.tfc-core-columns-5,.tfc-core-columns-6{grid-template-columns:1fr}.tfc-project-layout,.tfc-team-single{grid-template-columns:1fr}.tfc-project-gallery{grid-template-columns:1fr}.tfc-lightbox{padding:20px}.tfc-lightbox-prev,.tfc-lightbox-next{width:40px;height:40px;font-size:22px}.tfc-lightbox-prev{left:8px}.tfc-lightbox-next{right:8px}}
.tfc-project-main,.tfc-portfolio-archive,.tfc-team-single-main{padding:clamp(3rem,7vw,7rem) 0}.tfc-project-main .tfc-project-hero{margin-top:clamp(-3rem,-7vw,-7rem)}

.tfc-project-main .tfc-container,.tfc-portfolio-archive .tfc-container,.tfc-team-single-main .tfc-container{width:min(calc(100% - 40px),var(--tfc-container,1280px));margin-inline:auto}

/* TFC Builder front-end output */
.tfc-builder-content{width:100%;max-width:none;overflow:visible}
.tfc-builder-row{position:relative;width:100%}
.tfc-builder-row-inner{display:flex;flex-wrap:nowrap;gap:var(--tfc-builder-gap,24px);width:100%;max-width:var(--tfc-container,1280px);margin-inline:auto}.tfc-full-width-content .tfc-builder-row.is-contained .tfc-builder-row-inner,body.tfc-layout-full-width .tfc-builder-row.is-contained .tfc-builder-row-inner,body.tfc-layout-app .tfc-builder-row.is-contained .tfc-builder-row-inner{width:min(calc(100% - (var(--tfc-gutter,20px) * 2)),var(--tfc-container,1280px))}
.tfc-builder-row.is-full,.tfc-builder-row.is-full-content{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.tfc-builder-row.is-full .tfc-builder-row-inner{width:min(calc(100% - (var(--tfc-gutter,20px) * 2)),var(--tfc-container,1280px))}
.tfc-builder-row.is-full-content .tfc-builder-row-inner{width:100%;max-width:none;padding-inline:var(--tfc-gutter,20px)}
.tfc-builder-column{flex:0 1 var(--tfc-builder-col,100%);width:var(--tfc-builder-col,100%);min-width:0}
.tfc-builder-element{width:100%}.tfc-builder-element+.tfc-builder-element{margin-top:1.25rem}
.tfc-builder-element-text>:first-child,.tfc-builder-element-raw_html>:first-child{margin-top:0}.tfc-builder-element-text>:last-child,.tfc-builder-element-raw_html>:last-child{margin-bottom:0}
.tfc-builder-image{margin:0}.tfc-builder-image img{display:block;max-width:100%;height:auto}.tfc-builder-image figcaption{margin-top:.5rem;color:var(--tfc-muted,#687189);font-size:.9em}
.tfc-builder-button-wrap{display:flex}.tfc-builder-button-wrap.is-center{justify-content:center}.tfc-builder-button-wrap.is-right{justify-content:flex-end}
.tfc-builder-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.75rem 1.15rem;border:1px solid var(--tfc-primary,#246bfd);border-radius:var(--tfc-radius,8px);background:var(--tfc-primary,#246bfd);color:#fff!important;font-weight:750;text-decoration:none}
.tfc-builder-button:hover{background:var(--tfc-primary-hover,#174ec0);border-color:var(--tfc-primary-hover,#174ec0);color:#fff!important}.tfc-builder-button.is-outline{background:transparent;color:var(--tfc-primary,#246bfd)!important}.tfc-builder-button.is-text{min-height:0;padding:0;border:0;background:transparent;color:var(--tfc-primary,#246bfd)!important}
.tfc-builder-divider{width:100%;margin:0;border:0;border-top:1px solid currentColor;opacity:.2}.tfc-builder-divider.is-dashed{border-top-style:dashed}.tfc-builder-divider.is-dotted{border-top-style:dotted}
@media(max-width:767px){.tfc-builder-row-inner{flex-direction:column}.tfc-builder-column{flex-basis:100%;width:100%}.tfc-builder-row.is-full-content .tfc-builder-row-inner{padding-inline:var(--tfc-gutter,20px)}}
