/*
Theme Name: FastReact
Description: Lightweight multilingual presentation theme for FastReact.
Version: 2.2.3
Text Domain: fastreact
*/
:root{color-scheme:light;--ink:#173d35;--muted:#596b63;--green:#1c5544;--lime:#d5e9a2;--cream:#f8f7f2;--line:#dce1d7;--orange:#ce642e;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit}button,input{font:inherit}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:550;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(42px,4.6vw,68px)}h2{font-size:clamp(32px,3.2vw,47px)}h3{font-size:24px}em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.055em}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.skip-link{position:absolute;left:20px;top:-100px;background:var(--white);padding:12px;z-index:100}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(248,247,242,.98);border-bottom:1px solid var(--line)}.admin-bar .site-header{top:32px}.header-inner{display:grid;grid-template-columns:minmax(170px,1fr) auto minmax(170px,1fr);gap:24px;align-items:center;max-width:1400px;margin:auto;padding:0 38px;min-height:92px}.brand{justify-self:start;display:inline-flex;align-items:center;gap:10px;font-size:25px;font-weight:750;text-decoration:none;letter-spacing:-1.3px;white-space:nowrap}.brand-mark{position:relative;width:26px;height:29px;display:inline-block;background:var(--green);clip-path:polygon(18% 0,100% 0,82% 36%,42% 36%,27% 61%,68% 61%,49% 100%,0 100%)}.brand-name>span{font-weight:400}.header-inner>nav{justify-self:center}.primary-menu,.language-menu{list-style:none;display:flex;align-items:center;padding:0;margin:0;gap:27px}.primary-menu>li>a{position:relative;display:block;padding:34px 0 30px;text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}.primary-menu>li>a:after{content:'';height:2px;position:absolute;bottom:22px;left:0;right:0;background:var(--orange);transform:scaleX(0);transition:transform .2s}.primary-menu>li>a:hover:after,.primary-menu>.current-menu-item>a:after{transform:scaleX(1)}.primary-menu>li{position:relative}.sub-menu{display:none;position:absolute;left:-22px;top:80%;background:var(--white);min-width:285px;list-style:none;border:1px solid var(--line);box-shadow:0 14px 32px #163d3510;padding:12px;margin:0;border-radius:6px}.sub-menu a{display:block;text-decoration:none;font-size:13px;padding:9px 12px;line-height:1.4;border-radius:3px}.sub-menu a:hover{background:var(--cream)}.primary-menu li:hover>.sub-menu,.primary-menu li:focus-within>.sub-menu{display:block}.language-menu{justify-self:end;gap:12px}.language-menu a{display:flex;gap:5px;align-items:center;text-transform:uppercase;font-size:11px;font-weight:650;text-decoration:none;padding:7px 0}.language-menu .current-lang a{border-bottom:1px solid var(--ink)}.language-menu img{width:16px;height:11px}.language-menu span{margin-left:0!important}
.site-main{max-width:1324px;margin:auto;padding:0 38px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:68px;align-items:center;padding:88px 0 78px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:750;text-transform:uppercase;margin:0 0 25px;line-height:1.8}.hero h1{margin-bottom:28px}.hero h1 em{color:var(--green)}.hero-intro{max-width:510px;font-size:16px;line-height:1.85;color:var(--muted);margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;min-height:50px;padding:13px 20px;background:var(--green);color:white;text-decoration:none;font-size:12px;font-weight:650;border:1px solid var(--green);border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#123f32;transform:translateY(-2px)}.button>span{font-size:18px;line-height:1}.button-secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button-secondary:hover{background:#e9ede2}.workflow{background:var(--green);color:var(--white);border-radius:5px;padding:28px 32px 20px;position:relative}.workflow:after{content:'';position:absolute;z-index:-1;background:var(--lime);right:-13px;bottom:-13px;width:45%;height:45%;border-radius:4px}.board-top{display:flex;align-items:center;justify-content:space-between;color:#d0e0ce;font-size:9px;letter-spacing:.16em;margin-bottom:30px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--lime)}.workflow h2{font-size:31px;letter-spacing:-.04em;line-height:1.2;margin-bottom:28px}.workflow ol{list-style:none;margin:0;padding:0}.workflow li{display:flex;gap:16px;align-items:center;border-top:1px solid #ffffff25;padding:16px 0}.flow-number{font-family:monospace;font-size:11px;color:var(--lime);align-self:start;padding-top:4px}.workflow li>div{flex:1}.workflow strong{display:block;font-size:14px;font-weight:600}.workflow li div>span{display:block;font-size:11px;color:#d2dfd6;margin-top:2px}.flow-arrow{font-size:20px;color:var(--lime)}.board-foot{border-top:1px solid #ffffff25;margin:0;padding-top:16px;font-size:10px;color:#d2dfd6}.capability-strip{border-block:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:10px;letter-spacing:.13em;font-weight:650}.capability-strip span:before{content:'+';color:var(--orange);margin-right:12px;font-size:14px}
.section{padding:90px 0;border-bottom:1px solid var(--line)}.section-heading{max-width:770px;margin-bottom:45px}.section-heading h2{margin-bottom:20px}.section-intro{font-size:15px;color:var(--muted);max-width:580px;line-height:1.8}.service-row{display:grid;grid-template-columns:55px .95fr 1fr;gap:28px;padding:30px 0;border-top:1px solid var(--line);scroll-margin-top:120px}.item-number{font-family:monospace;color:var(--orange);font-size:12px;padding-top:6px}.service-row h3{font-size:25px;line-height:1.25;margin-bottom:0;max-width:370px}.service-row p{font-size:14px;color:var(--muted);margin-bottom:12px}.text-link{font-size:11px;font-weight:650;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}.text-link span{margin-left:20px;color:var(--orange)}.check-list{padding:0;margin:20px 0 0;list-style:none;font-size:13px}.check-list li{position:relative;padding:0 0 10px 19px}.check-list li:before{content:'+';position:absolute;left:0;color:var(--orange)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.step{border-top:1px solid var(--ink);padding-top:20px}.step-number{display:inline-block;color:var(--orange);font:11px monospace;margin-bottom:33px}.step h3{font-size:24px}.step p{font-size:13px;color:var(--muted);margin-bottom:0;line-height:1.85}.people{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-bottom:30px}.person{background:#efefe7;padding:30px;border:1px solid var(--line);border-radius:4px}.person-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:45px}.initials{width:58px;height:58px;background:#d9e2d2;border-radius:50%;display:flex;align-items:center;justify-content:center;font:23px Georgia,serif}.person-index{font:9px monospace;letter-spacing:.08em;color:var(--muted)}.person h3{font-size:30px;margin-bottom:12px}.person-role{font-size:11px;font-weight:650;color:var(--green);min-height:36px}.person>p:not(.person-role):not(.expertise){font-size:14px;color:var(--muted);line-height:1.9}.person .expertise{font-size:10px;font-weight:600;border-top:1px solid #d4dbcd;padding-top:18px;margin:25px 0 0;line-height:1.9}.contact-band{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:var(--green);color:white;padding:55px;margin:75px 0;border-radius:4px}.contact-band h2{font-size:43px;margin:0}.contact-band>div>p:not(.eyebrow){font-size:14px;color:#e0e8de;line-height:1.85}.contact-band .eyebrow{color:var(--lime);font-size:9px}.email-link{display:block;color:var(--lime);font-size:clamp(17px,2vw,25px);letter-spacing:-.03em;text-decoration:none;border-bottom:1px solid #ffffff40;padding:10px 0 15px;margin-bottom:17px}.email-link span{float:right}.contact-band .language-note{font-size:11px!important;margin:0}.page-hero{padding:85px 0 55px;max-width:950px}.page-hero h1{font-size:clamp(38px,4.6vw,65px);margin-bottom:25px}.page-hero>p:not(.eyebrow){max-width:650px;color:var(--muted);line-height:1.85}.section-first{padding-top:10px;padding-bottom:50px}.contact-details{padding:0 0 100px;max-width:850px}.contact-caption{font-size:10px;letter-spacing:.15em;display:block;margin:0 0 10px;color:var(--muted)}.large-email{display:block;font-size:clamp(24px,4vw,50px);text-decoration:none;letter-spacing:-.05em;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px;overflow-wrap:anywhere}.large-email span{color:var(--orange)}.contact-details>p{color:var(--muted);font-size:14px;max-width:640px}.contact-languages{display:flex;align-items:center;gap:25px;margin-top:45px}.contact-languages>span{font:11px monospace;white-space:nowrap}.contact-languages p{font-size:13px;color:var(--muted);margin:0}
.site-footer{border-top:1px solid var(--line)}.footer-inner{max-width:1324px;margin:auto;padding:40px 38px 20px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:start;margin-bottom:35px}.footer-top p{font-size:12px;color:var(--muted);margin:12px 0 0;max-width:300px}.footer-nav{display:flex;gap:24px;flex-wrap:wrap;padding-top:9px}.footer-nav a{font-size:12px;text-decoration:none}.footer-bottom{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-bottom a{text-decoration:none}.geoip-credit{font-size:9px}.page-content{min-height:55vh}
@media(min-width:1450px){.hero{gap:90px;padding-top:100px;padding-bottom:90px}.hero h1{font-size:72px}}
@media(max-width:1100px){.header-inner{grid-template-columns:1fr 1fr;padding:18px 28px;gap:12px;min-height:0}.header-inner>nav{grid-row:2;grid-column:1/-1;justify-self:center}.primary-menu>li>a{padding:8px 0 12px}.primary-menu>li>a:after{bottom:5px}.language-menu{grid-column:2;grid-row:1}.sub-menu{top:100%}.hero{gap:38px;padding:55px 0}.hero h1{font-size:49px}.workflow{padding:24px}.workflow h2{font-size:27px}.contact-band{padding:36px;gap:35px}.contact-band h2{font-size:37px}.footer-nav{gap:15px}}
@media(max-width:760px){html{scroll-padding-top:150px}.site-main{padding:0 22px}.header-inner{padding:14px 22px;gap:10px}.brand{font-size:24px}.language-menu{gap:10px}.language-menu a{font-size:10px}.primary-menu{gap:19px;flex-wrap:wrap;justify-content:center}.primary-menu>li>a{font-size:11px;padding-bottom:10px}.sub-menu{min-width:240px;max-width:280px}.hero{grid-template-columns:1fr;gap:40px;padding:45px 0}.hero h1{font-size:clamp(40px,8.5vw,58px)}.hero-intro{font-size:15px}.hero-actions{gap:10px}.button{font-size:11px;padding:12px 15px;gap:18px}.workflow{max-width:540px;width:100%;justify-self:center}.workflow:after{right:-8px;bottom:-8px}.capability-strip{flex-wrap:wrap;justify-content:flex-start;gap:14px 25px;font-size:9px}.section{padding:55px 0}.section-heading{margin-bottom:30px}.section-heading h2{font-size:34px}.service-row{grid-template-columns:30px 1fr;gap:12px 16px;padding:25px 0}.service-row h3{font-size:23px;max-width:none}.service-row>div{grid-column:2}.steps{grid-template-columns:1fr 1fr;gap:30px 24px}.step-number{margin-bottom:22px}.people{grid-template-columns:1fr}.person{padding:25px}.person-role{min-height:0}.person-top{margin-bottom:25px}.contact-band{grid-template-columns:1fr;padding:30px 25px;gap:25px;margin:50px 0}.contact-band h2{font-size:36px}.email-link{font-size:24px}.page-hero{padding:45px 0 30px}.page-hero h1{font-size:40px}.section-first{padding-top:10px;padding-bottom:30px}.footer-inner{padding:30px 22px 20px}.footer-top{display:block}.footer-nav{margin-top:20px}.footer-bottom{flex-wrap:wrap;gap:10px}.admin-bar .site-header{top:46px}}
@media(max-width:390px){.header-inner{padding-inline:15px}.primary-menu{gap:12px}.language-menu{gap:7px}.language-menu span{display:none}.hero-actions .button{width:100%}.hero h1{font-size:39px}.steps{grid-template-columns:1fr}.contact-languages{display:block}.contact-languages p{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* One-page navigation uses the actual sticky header height. */
html{scroll-padding-top:0}
.site-main section[id],.service-row[id]{scroll-margin-top:var(--nav-offset,150px)}
.primary-menu>.is-active>a:after{transform:scaleX(1)}
.primary-menu>.is-active>a{color:var(--orange)}
.hero .text-link{cursor:pointer}

/* Larger service indices, with space retained on narrow screens. */
.item-number{font-size:30px;line-height:1.15;padding-top:0;letter-spacing:-.06em}
@media(max-width:760px){.service-row{grid-template-columns:42px 1fr}.item-number{font-size:27px}}

.step-number{font-size:30px;line-height:1.15;letter-spacing:-.06em}
@media(max-width:760px){.step-number{font-size:27px}}

/* Fast React wordmark with a responsive brand accent. */
.brand{gap:11px;letter-spacing:-1px}
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.brand-name{white-space:nowrap;font-size:25px;line-height:1.1}
.brand-name>span{color:var(--orange);font-weight:550}
.brand-tagline{font-size:10px;line-height:1.4;letter-spacing:.12em;font-weight:450;color:var(--muted);margin-top:5px}
.brand-mark{background:linear-gradient(145deg,var(--green) 0 65%,var(--orange) 65% 100%);width:28px;height:32px}
@media(max-width:760px){.brand-name{font-size:23px}.brand-tagline{font-size:9px}}

.brand-tagline{font-size:12px;letter-spacing:.035em;margin-top:6px}
@media(max-width:760px){.brand-tagline{font-size:11px}}

.person>p.partnership{font-size:12px!important;font-weight:600;color:var(--green)!important;margin:14px 0 0;line-height:1.6!important}

.partnership-card{background:var(--green);color:var(--white);border-radius:4px;border-left:4px solid var(--orange);padding:28px 32px;margin:0 0 30px;text-align:center}.partnership-card p{font-size:clamp(18px,2.2vw,26px);font-weight:500;line-height:1.4;letter-spacing:-.025em;margin:0}

.partnership-card{background:#fff;color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--orange)}

.partnership-card{background:var(--cream);color:var(--ink)}

.partnership-card{border-left:1px solid var(--line);padding:20px 28px;margin-bottom:0}
#team{padding-bottom:28px}
#team + .contact-band{margin-top:28px}
@media(max-width:760px){.partnership-card{padding:18px 22px}#team{padding-bottom:20px}#team + .contact-band{margin-top:20px}}

.tools-card{padding:26px 30px;border:1px solid var(--line);border-radius:4px;background:var(--cream);margin-bottom:0}
.tools-card h3{font-size:24px;margin:0 0 24px;text-align:center}
.tools-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:20px 14px;padding:0;margin:0;list-style:none}
.tools-grid li{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;text-align:center;font-size:11px;line-height:1.4;color:var(--ink)}
.tools-grid img{width:28px;height:28px;object-fit:contain}
@media(max-width:1000px){.tools-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:600px){.tools-card{padding:22px 18px}.tools-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 14px}}

.tools-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:1000px){.tools-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media(min-width:1001px){.tools-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}

@media(min-width:1001px){.tools-grid{grid-template-columns:repeat(9,minmax(0,1fr))}}
