/* TFC Group, September 2026. Main-site presentation only. */
:root{--navy:#142b45;--navy-deep:#102238;--paper:#f6f4ec;--olive:#65663c;--pad:max(24px,calc((100vw - 1320px)/2 + 40px))}
.site-header{position:relative;min-height:100px;background:var(--paper);border-bottom:1px solid var(--line)}
.site-nav a,.header-cta,.text-link,.button{font-size:14px}.eyebrow{font-size:12px}.brand{width:90px;height:90px}.brand img{width:86px;height:86px}.header-cta{background:var(--navy);color:var(--paper);padding:14px 19px}.site-nav a{padding:20px 0}
.new-hero{padding:28px var(--pad) 0;overflow:hidden;background:var(--paper)}
.hero-topline{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em;font-weight:600;color:#526172}
.hero-composition{display:grid;grid-template-columns:1fr 310px;gap:7vw;padding-top:72px;position:relative;z-index:1}.hero-message .eyebrow{font-size:12px;letter-spacing:.12em;color:var(--olive);margin-bottom:30px}.hero-message h1{font-size:clamp(58px,7.2vw,108px);line-height:.99;letter-spacing:-.064em;margin:0 0 30px;font-weight:500}.hero-message h1 em{font-family:Georgia,serif;font-weight:400;color:var(--olive);letter-spacing:-.045em}.hero-summary{font-size:clamp(19px,1.75vw,24px);line-height:1.45;max-width:600px;margin-bottom:15px}.hero-detail{max-width:560px;font-size:17px;color:#526172;line-height:1.65}.hero-buttons{display:flex;align-items:center;gap:30px;margin-top:30px}.hero-buttons .button{padding:18px 22px}.hero-secondary{font-size:14px;text-underline-offset:6px}
.hero-aside{background:var(--navy);color:var(--paper);padding:30px 28px;align-self:start;border-top:5px solid #95945f}.aside-label{display:block;font-size:11px;line-height:1.6;letter-spacing:.13em;max-width:220px;margin-bottom:22px;color:#c4cbd2}.hero-aside>div{display:grid;grid-template-columns:38px 1fr;border-top:1px solid #526071;padding:21px 0}.hero-aside>div>span{font-size:12px;color:#c2c49e;padding-top:4px}.hero-aside h2{font-size:28px;line-height:1.12;color:var(--paper);margin:0;letter-spacing:-.03em}.hero-aside>a{display:block;border-top:1px solid #526071;padding-top:20px;font-size:14px;text-decoration:none}
.hero-skyline{position:relative;margin:28px -3vw 0;height:170px;overflow:hidden;opacity:.8}.hero-skyline img{width:100%;height:230px;object-fit:contain;object-position:center top}.hero-skyline>span{position:absolute;right:3vw;bottom:16px;font-size:10px;letter-spacing:.18em;background:var(--paper);padding:8px}
.diagnostic{padding:90px var(--pad);background:var(--navy);color:var(--paper)}.diagnostic-heading{display:block!important;max-width:820px;margin-bottom:38px}.diagnostic-heading .eyebrow{color:#c2c49e}.diagnostic-heading h2{font-size:clamp(36px,4.5vw,60px);color:var(--paper);max-width:780px}.diagnostic-shell{border:1px solid #536477!important}.diagnostic-nav{background:transparent!important}.path-tab{font-size:17px!important;color:var(--paper)!important;border-color:#536477!important;padding:24px!important;min-height:92px}.path-tab.active{background:#263e57!important;border-left:4px solid #c2c49e!important}.path-tab>span{color:#c2c49e!important;font-size:13px!important}.path-panel{background:var(--paper)!important;color:var(--navy)!important;padding:38px!important}.path-panel h3{color:var(--navy)!important;font-size:34px!important}.path-panel p{color:var(--navy)!important;font-size:17px!important}.path-panel .button{background:var(--navy);color:var(--paper);border-color:var(--navy)}
.story-intro{background:var(--paper);padding-block:90px}.story-intro:after{display:none}.story-lead{font-size:24px}.story-copy>p{font-size:17px}.story-copy .text-link{color:var(--navy)}
.operating-flow{background:#eaece7;color:var(--navy);padding-block:90px}.operating-flow:before,.operating-flow:after{display:none}.flow-intro{border:0;padding:0;max-width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:70px}.flow-intro .eyebrow{grid-column:1/-1;color:var(--olive)}.flow-intro h2{grid-row:2/4;color:var(--navy);font-size:clamp(36px,4vw,54px)}.flow-intro>p:not(.eyebrow){color:#42566a;font-size:18px}.flow-intro .text-link{color:var(--navy)}.flow-track{margin-top:55px;border-color:var(--line)}.flow-stage{border-color:var(--line);padding-top:30px}.flow-stage span{color:var(--olive);font-size:14px;margin-bottom:22px}.flow-stage h3{color:var(--navy)}.flow-stage p{color:#42566a;font-size:16px}.flow-stage a{font-size:14px;border-color:var(--line)}.flow-stage>i{background:var(--paper)}.flow-line{background:var(--line)}
.why-section{padding-block:90px}.why-grid p{font-size:17px}.services-index{padding-block:90px}.service-list a{padding-block:24px}.service-list strong{font-size:clamp(20px,2.3vw,30px)}.contact-copy h2{color:var(--paper)}.contact-actions>a{font-size:16px}.site-footer{font-size:14px}a:focus-visible,button:focus-visible{outline:3px solid #91923b;outline-offset:5px}section[id]{scroll-margin-top:25px}.js [data-reveal]{opacity:1;transform:none}
@media(max-width:1000px){.site-header{grid-template-columns:90px 1fr auto}.hero-composition{grid-template-columns:1fr 270px;gap:40px;padding-top:50px}.hero-message h1{font-size:72px}.hero-buttons{align-items:start;flex-direction:column;gap:18px}.site-nav{gap:16px}.site-nav a{font-size:13px}.hero-aside{padding:24px}.hero-aside h2{font-size:26px}}
@media(max-width:760px){.site-header{min-height:82px}.brand,.brand img{width:72px;height:72px}.site-header .header-cta{font-size:12px;padding:10px}.site-nav.open{top:82px;background:var(--paper)}.hero-topline{font-size:10px;letter-spacing:.06em;gap:20px}.hero-composition{grid-template-columns:1fr;padding-top:40px;gap:35px}.hero-message h1{font-size:clamp(49px,10vw,72px)}.hero-message .eyebrow{font-size:11px;letter-spacing:.06em}.hero-summary{font-size:21px}.hero-aside{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:24px 18px}.aside-label{grid-column:1/-1;max-width:none;margin:0}.hero-aside>div{display:block;padding:16px 0}.hero-aside h2{font-size:19px;margin-top:12px}.hero-aside>a{grid-column:1/-1}.hero-skyline{height:105px;margin-top:20px}.hero-skyline img{height:140px}.hero-skyline>span{font-size:8px;bottom:2px}.hero-buttons{flex-direction:row;flex-wrap:wrap;align-items:center;gap:22px}.diagnostic,.story-intro,.operating-flow,.why-section,.services-index{padding-top:60px;padding-bottom:60px}.path-panel{padding:26px!important}.path-panel h3{font-size:29px!important}.flow-intro{display:block}.flow-intro h2{margin-bottom:24px}.flow-track{margin-top:35px}.flow-stage p{max-width:none}.hero-detail{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Motion follows the operating sequence; headings use one ink colour. */
.hero-message h1{font-size:clamp(53px,6.7vw,98px);font-weight:650;letter-spacing:-.07em}.hero-message h1 span{color:inherit;font:inherit}.hero-composition{padding-top:55px}.hero-aside{position:relative;transition:transform .3s ease}.hero-aside>div{transition:background .4s ease,padding .4s ease}.hero-aside>div.is-live{background:#324a62;padding-left:12px}.hero-aside>div.is-live>span{color:white}.hero-aside>div.is-live h2{transform:translateX(3px)}.hero-aside h2{transition:transform .4s ease}.motion-strip{margin:52px calc(-1 * var(--pad)) 0;padding:15px 0;background:var(--navy);color:var(--paper);overflow:hidden;border-block:1px solid var(--navy)}.motion-strip>div{display:flex;width:max-content;white-space:nowrap;font-size:16px;font-weight:600;letter-spacing:.12em;word-spacing:.22em;animation:tfc-drift 28s linear infinite}.motion-strip b{font-size:20px;margin:0 42px;color:#c2c49e}.new-hero .hero-skyline{margin-top:15px;height:140px}.new-hero .hero-skyline img{height:200px}.hero-message{animation:tfc-enter .7s ease both}.hero-aside{animation:tfc-enter .9s .12s ease both}.flow-stage.is-current{background:rgba(20,43,69,.07)}.flow-stage{transition:background .4s ease}.button span{transition:transform .25s}.button:hover span{transform:translate(4px,-4px)}
@keyframes tfc-drift{to{transform:translateX(-50%)}}@keyframes tfc-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.hero-message h1{font-size:clamp(45px,9.3vw,68px)}.hero-composition{padding-top:36px}.motion-strip{margin-top:32px}.motion-strip>div{font-size:13px}.motion-strip b{margin-inline:25px}.new-hero .hero-skyline{height:90px}.new-hero .hero-skyline img{height:125px}}
@media(prefers-reduced-motion:reduce){.motion-strip>div{animation:none}.hero-message,.hero-aside{animation:none}}

.inner-page{padding-top:0}.inner-hero{padding-top:48px}.inner-title h1{font-weight:600}.inner-title>p,.accordion-content p{font-size:17px}.inner-number{opacity:.12}
/* Choreographed hero entrance. The default page remains visible without script. */
.new-hero{position:relative;isolation:isolate}.hero-cinema{display:none}.hero-motion-controls{display:flex;justify-content:flex-end;gap:15px;margin:0 0 18px;position:relative;z-index:5}.hero-motion-controls button{font-size:12px;color:var(--navy);border:0;background:transparent;border-bottom:1px solid var(--line);padding:5px 0;cursor:pointer}.hero-motion-controls button:hover{border-color:var(--navy)}.headline-line{display:block;overflow:hidden;padding-bottom:.11em;margin-bottom:-.11em}.headline-line>span{display:block}.hero-message{animation:none}.hero-aside{animation:none}.cinema-playing .hero-cinema{display:flex;position:absolute;inset:0 0 auto;height:100%;min-height:650px;z-index:4;flex-direction:column;justify-content:center;padding:70px var(--pad);background:#142b45;color:var(--paper);pointer-events:none;overflow:hidden;animation:cinema-exit .95s cubic-bezier(.76,0,.24,1) 2.65s both}.cinema-playing .hero-motion-controls{z-index:5}.cinema-playing .hero-motion-controls button{color:var(--paper);border-color:#7890aa;animation:control-ink .01s 3.55s forwards}.cinema-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(25% - 1px),#ffffff12 25%,transparent calc(25% + 1px),transparent calc(50% - 1px),#ffffff12 50%,transparent calc(50% + 1px),transparent calc(75% - 1px),#ffffff12 75%,transparent calc(75% + 1px));transform-origin:left;animation:grid-enter 1.7s ease both}.cinema-meta{position:absolute;top:38px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:11px;letter-spacing:.15em;color:#bdc8d1}.cinema-words{position:relative;height:clamp(90px,17vw,230px);margin-top:-40px}.cinema-word{display:block;position:absolute;left:0;top:0;font-size:clamp(76px,16vw,220px);font-weight:750;line-height:1;letter-spacing:-.085em;opacity:0;transform-origin:left center;white-space:nowrap}.cinema-dot{color:#c5c49b}.cw-one{animation:word-pass .83s cubic-bezier(.2,.8,.2,1) .12s both}.cw-two{animation:word-pass .83s cubic-bezier(.2,.8,.2,1) .91s both}.cw-three{animation:word-last 1.1s cubic-bezier(.2,.8,.2,1) 1.7s both}.cinema-track{height:40px;position:relative;margin-top:30px;width:100%;border-top:1px solid #ffffff35}.cinema-track>span{display:block;height:2px;background:#c5c49b;position:absolute;top:-1px;width:100%;transform-origin:left;animation:track-draw 2.3s cubic-bezier(.25,.6,.25,1) .18s both}.cinema-track i{position:absolute;z-index:1;top:-6px;width:11px;height:11px;background:var(--navy);border:2px solid #c5c49b;border-radius:50%;animation:node-on .2s .3s both}.cinema-track i:nth-child(2){left:50%;animation-delay:1.2s}.cinema-track i:nth-child(3){right:0;animation-delay:2.2s}.hero-cinema>p{font-size:clamp(15px,2vw,22px);letter-spacing:-.02em;animation:cinema-caption .65s 1.8s both}.cinema-playing .headline-line>span{animation:headline-arrive .95s cubic-bezier(.16,1,.3,1) 2.95s both}.cinema-playing .headline-line:nth-child(2)>span{animation-delay:3.1s}.cinema-playing .hero-aside{animation:board-arrive 1s cubic-bezier(.16,1,.3,1) 3s both}.cinema-playing .hero-summary,.cinema-playing .hero-detail,.cinema-playing .hero-buttons{animation:tfc-enter .85s 3.35s both}.cinema-playing .hero-buttons{animation-delay:3.5s}.cinema-playing .hero-skyline{animation:skyline-arrive 1.4s cubic-bezier(.2,.7,.2,1) 3.2s both}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
@keyframes word-pass{0%{opacity:0;transform:translateY(60px) skewY(5deg);filter:blur(7px)}22%,68%{opacity:1;transform:none;filter:blur(0)}100%{opacity:0;transform:translateY(-65px);filter:blur(4px)}}@keyframes word-last{0%{opacity:0;transform:translateY(60px) skewY(5deg);filter:blur(7px)}30%,100%{opacity:1;transform:none;filter:blur(0)}}@keyframes track-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes node-on{to{background:#c5c49b;box-shadow:0 0 0 8px #c5c49b14}}@keyframes cinema-caption{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes cinema-exit{0%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 100% 0);visibility:hidden}}@keyframes headline-arrive{from{transform:translateY(115%) rotate(2deg)}to{transform:none}}@keyframes board-arrive{from{transform:translateX(70px) rotate(4deg);opacity:0}to{transform:none;opacity:1}}@keyframes skyline-arrive{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes grid-enter{from{transform:scaleX(.8);opacity:0}to{transform:none;opacity:1}}@keyframes control-ink{to{color:var(--navy);border-color:var(--line)}}
@media(max-width:760px){.cinema-playing .hero-cinema{min-height:600px;justify-content:flex-start;padding-top:160px}.cinema-meta{font-size:9px;top:75px;gap:20px}.cinema-words{height:100px;margin-top:0}.hero-motion-controls{margin-bottom:14px}.hero-motion-controls button{font-size:12px}.cinema-track{margin-top:20px}.hero-cinema>p{max-width:260px}}
@media(prefers-reduced-motion:reduce){.cinema-playing .hero-cinema{display:none}.cinema-playing .hero-motion-controls button{color:var(--navy)}.cinema-playing .headline-line>span,.cinema-playing .hero-aside,.cinema-playing .hero-summary,.cinema-playing .hero-detail,.cinema-playing .hero-buttons,.cinema-playing .hero-skyline{animation:none!important;opacity:1;transform:none;clip-path:none}}
/* Unified spacing, olive accents and an uncropped brand illustration. */
:root{--accent:#898b55;--accent-light:#bfc198;--surface-soft:#eeeee6;--muted:#536170}
.new-hero .hero-skyline{height:auto;overflow:visible;margin:32px 0 0;padding-bottom:28px;opacity:1;display:flex;flex-direction:column;gap:18px}
.new-hero .hero-skyline img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.new-hero .hero-skyline>span{position:static;display:block;align-self:flex-end;font-size:11px;letter-spacing:.14em;line-height:1.5;padding:0;background:transparent;color:var(--muted)}
.motion-strip{padding:9px 0;margin-top:42px;border:0;background:var(--navy);color:var(--paper)}
.motion-strip>div{align-items:center;font-size:12px;line-height:18px;font-weight:600;letter-spacing:.15em;word-spacing:0}
.motion-strip b.strip-dot{display:block;flex:none;width:7px;height:7px;margin:0 30px;border-radius:50%;background:var(--accent);font-size:0}
.hero-aside{border-top:2px solid var(--accent);padding:28px;background:var(--navy)}
.hero-aside>div{padding:20px 0;transition:background .45s ease,box-shadow .45s ease}
.hero-aside>div.is-live{padding-left:0;background:transparent;box-shadow:inset 2px 0 var(--accent)}
.hero-aside>div.is-live>span{color:var(--accent-light);padding-left:9px}.hero-aside>div.is-live h2{transform:none}
.hero-aside h2{font-weight:500;letter-spacing:-.035em}.hero-aside>a{font-weight:500}.aside-label{font-size:11px;letter-spacing:.12em;color:#c8cfd6}
.hero-message h1{letter-spacing:-.058em}.hero-summary{font-size:clamp(19px,1.7vw,23px);line-height:1.5}.hero-detail{color:var(--muted)}
.hero-topline{letter-spacing:.1em;font-weight:500}.hero-buttons .button,.header-cta{font-weight:550}.button{border-radius:0;min-height:50px}.button:hover,.header-cta:hover{background:#263e54;border-color:#263e54}
.diagnostic-heading{text-align:left;margin-left:0;margin-right:0}.diagnostic-heading .eyebrow{color:var(--accent-light)}
.diagnostic-heading h2,.section-heading h2,.services-heading h2,.contact-copy h2,.flow-intro h2{font-weight:500;letter-spacing:-.045em;line-height:1.08}
.diagnostic-heading h2{font-size:clamp(36px,4vw,56px)}.path-tab.active{border-left-color:var(--accent)!important;background:#213950!important}.path-tab>span{color:var(--accent-light)!important}.path-panel{background:var(--paper)!important}.path-panel h3{font-size:clamp(27px,2.6vw,36px)!important;font-weight:500}
.story-intro,.why-section{background:var(--paper)}.operating-flow{background:var(--surface-soft)}.services-index{background:var(--paper)}
.story-intro,.operating-flow,.why-section,.services-index,.diagnostic{padding-block:80px;border-top:1px solid var(--line)}
.story-copy .text-link,.flow-intro .text-link{font-weight:500}.flow-stage.is-current{background:transparent;box-shadow:inset 0 -2px var(--accent)}.flow-stage h3{font-weight:500}.flow-stage>i,.flow-progress{border-color:var(--accent)}
.why-grid article>span,.service-list>a>span{color:var(--olive)}.service-list strong{font-weight:500}.contact{background:var(--navy)}.contact-orbit{opacity:.35}.contact-copy .eyebrow{color:var(--accent-light)}.contact-copy>p{color:#d1d7dc}
.whatsapp{background:var(--olive)!important;box-shadow:none!important;border:1px solid var(--paper);width:44px;height:44px}
@media(max-width:1000px){.hero-composition{gap:35px}.diagnostic-heading{max-width:100%}}
@media(max-width:760px){.motion-strip{padding:8px 0;margin-top:32px}.motion-strip>div{font-size:11px;line-height:17px}.motion-strip b.strip-dot{width:6px;height:6px;margin-inline:22px}.new-hero .hero-skyline{margin:24px 0 0;gap:14px;padding-bottom:24px}.new-hero .hero-skyline img{width:100%;height:auto}.new-hero .hero-skyline>span{font-size:9px;align-self:center;letter-spacing:.1em}.hero-aside{padding:22px 18px}.hero-aside>div{padding:14px 0}.hero-aside>div.is-live{box-shadow:inset 0 -2px var(--accent)}.hero-aside>div.is-live>span{padding-left:0}.story-intro,.operating-flow,.why-section,.services-index,.diagnostic{padding-block:56px}.hero-summary{font-size:19px}.hero-aside h2{font-size:19px}}
/* Slower entrance and a quieter header. */
.hero-topline{justify-content:flex-end}.motion-strip>div{animation-duration:48s}
.cinema-playing .hero-cinema{animation-duration:1.3s;animation-delay:4.2s}
.cw-one{animation-duration:1.3s;animation-delay:.2s}.cw-two{animation-duration:1.3s;animation-delay:1.5s}.cw-three{animation-duration:1.5s;animation-delay:2.8s}
.cinema-track>span{animation-duration:3.6s;animation-delay:.3s}.cinema-track i:nth-child(2){animation-delay:1.9s}.cinema-track i:nth-child(3){animation-delay:3.6s}.hero-cinema>p{animation-duration:1s;animation-delay:2.8s}
.cinema-playing .headline-line>span{animation-duration:1.3s;animation-delay:4.55s}.cinema-playing .headline-line:nth-child(2)>span{animation-delay:4.8s}.cinema-playing .hero-aside{animation-duration:1.4s;animation-delay:4.7s}
.cinema-playing .hero-summary,.cinema-playing .hero-detail{animation-duration:1.1s;animation-delay:5s}.cinema-playing .hero-buttons{animation-duration:1.1s;animation-delay:5.15s}.cinema-playing .hero-skyline{animation-duration:1.8s;animation-delay:4.9s}.cinema-playing .hero-motion-controls button{animation-delay:5.5s}
/* Compact hero spacing and an uninterrupted duplicated marquee. */
.new-hero{padding-top:12px}.hero-motion-controls{margin-bottom:0}.hero-composition{padding-top:24px}.diagnostic:before{display:none;content:none}
.motion-strip>.strip-track{display:flex;width:max-content;gap:0;animation:tfc-drift 90s linear infinite}.strip-group{display:flex;flex:none;align-items:center;white-space:nowrap}.strip-group>span{flex:none}.strip-group .strip-dot{flex:none}
@media(max-width:760px){.new-hero{padding-top:10px}.hero-composition{padding-top:20px}.hero-motion-controls{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){.motion-strip>.strip-track{animation:none}}

/* The diagnostic choices and response now share one deliberate frame. */
.diagnostic-shell{align-items:stretch;min-height:430px}.diagnostic-nav,.diagnostic-panels{min-height:430px}.diagnostic-panels{height:100%;background:var(--paper)}.path-panel{min-height:430px;height:100%;display:none}.path-panel.active{display:block}
.compact-contact{padding-top:clamp(56px,6vw,82px);padding-bottom:clamp(56px,6vw,82px)}
.compact-contact h2{max-width:700px}
@media(max-width:760px){.diagnostic-shell,.diagnostic-nav,.diagnostic-panels,.path-panel{min-height:0}.path-panel{height:auto}.compact-contact{padding-block:56px}.compact-contact h2{font-size:36px}}
/* Touch targets and tablet navigation. */
@media(max-width:840px){.site-header:not(.funnel-header){grid-template-columns:1fr auto;gap:16px}.menu{justify-self:end;min-width:60px;min-height:44px}.site-nav.open{top:100px}.site-nav.open a{min-height:44px}.hero-motion-controls button{min-height:40px;padding-block:9px}}
@media(max-width:760px){.site-nav.open{top:82px}.hero-secondary{display:inline-flex;align-items:center;min-height:44px}.hero-buttons{gap:12px}.diagnostic-panels{min-height:0}.path-panel{min-height:0}.contact-actions>a{overflow-wrap:anywhere}}
@media(max-width:360px){.hero-message h1{font-size:40px}.hero-aside{gap:10px;padding-inline:14px}.hero-aside h2{font-size:17px}.hero-message .eyebrow{line-height:1.6}.hero-buttons .button{width:100%}}
