@font-face{font-family:Kanit;src:url('../fonts/kanit-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Kanit;src:url('../fonts/kanit-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Kanit;src:url('../fonts/kanit-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Kanit;src:url('../fonts/kanit-latin-800-normal.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
.frmwrk-site{font-family:Kanit,Arial,sans-serif;font-weight:500;color:#f7f7f7;--frmwrk-muted:#c6c9cd}
.frmwrk-site :is(h1,h2,h3,h4){font-family:Kanit,Arial,sans-serif;letter-spacing:0}
.frmwrk-site :is(h1,h2){font-weight:800}
.frmwrk-site h3{font-weight:700}
.frmwrk-site :is(button,.frmwrk-button,.frmwrk-nav a,.frmwrk-text-link){font-family:Kanit,Arial,sans-serif;font-weight:600}
.frmwrk-site :is(.frmwrk-kicker,.frmwrk-tech-label,.frmwrk-slider-count,.frmwrk-slider-tabs button,.frmwrk-command-strip span,.frmwrk-capability-grid article>span,.frmwrk-capability-grid strong,.frmwrk-process-list li>span,.frmwrk-process-list b,.frmwrk-form-index,.frmwrk-form label>span,.frmwrk-form-status,.frmwrk-contact-lines span,.frmwrk-footer>span,.frmwrk-logo-scroll-label,.frmwrk-chat){font-family:Kanit,Arial,sans-serif}
.frmwrk-site :is(.frmwrk-kicker,.frmwrk-hero-lede,.frmwrk-tech-label,.frmwrk-hero-rail,.frmwrk-slider-tabs button,.frmwrk-slider-count span,.frmwrk-data-card span,.frmwrk-section-intro>p:last-child,.frmwrk-capability-grid p,.frmwrk-process-heading>p,.frmwrk-process-list p,.frmwrk-process-list b,.frmwrk-about-copy>p:not(.frmwrk-kicker),.frmwrk-about-facts span,.frmwrk-quote-aside>p:not(.frmwrk-kicker),.frmwrk-quote-aside>a span,.frmwrk-form-index,.frmwrk-form label>span,.frmwrk-form-status,.frmwrk-contact-lines span,.frmwrk-footer>div,.frmwrk-footer>span,.frmwrk-contact-intro>p:not(.frmwrk-kicker),.frmwrk-contact-direct span){color:#d5d7db}
.frmwrk-site .frmwrk-button{font-size:13px;letter-spacing:.6px;isolation:isolate}
.frmwrk-site .frmwrk-button>span{font-size:inherit}
.frmwrk-site .frmwrk-button>b{font-size:20px}
.frmwrk-site .frmwrk-hero h1,.frmwrk-site .frmwrk-hero h2{font-size:84px;line-height:1.02;font-weight:800;max-width:680px;text-transform:none}
.frmwrk-hero-lede{font-size:19px;font-weight:500;max-width:530px}
.frmwrk-header{grid-template-columns:190px 1fr auto;gap:20px}
.frmwrk-nav{gap:23px}
.frmwrk-nav a{font-size:12px;letter-spacing:.7px}
.frmwrk-header-actions{gap:17px}
.frmwrk-mobile-quote{display:none}
.frmwrk-kicker{font-size:11px;line-height:1.4}
.frmwrk-capabilities{padding-top:110px;padding-bottom:115px}
.frmwrk-section h2,.frmwrk-work h2{font-size:60px;font-weight:800;line-height:1.06}
.frmwrk-section-intro{grid-template-columns:1.1fr 1fr;gap:20px 80px}
.frmwrk-section-intro>p:last-child{font-size:19px}
.frmwrk-capability-grid{gap:20px;border:0;margin-top:62px}
.frmwrk-capability-grid article,.frmwrk-capability-grid article:first-child{position:relative;padding:0 0 30px;border:0;border-bottom:1px solid #ffffff30;min-height:480px;background:transparent;overflow:hidden}
.frmwrk-capability-photo{display:block;width:100%;height:230px;object-fit:cover;margin:0 0 24px;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.frmwrk-capability-grid article:hover{transform:none;background:transparent}
.frmwrk-capability-grid article:hover .frmwrk-capability-photo{transform:scale(1.035)}
.frmwrk-capability-grid h3{margin:16px 0 12px;font-size:30px;line-height:1.15}
.frmwrk-capability-grid p{padding-right:18px;font-size:16px;line-height:1.6;margin-bottom:30px}
.frmwrk-capability-grid article>span{font-size:11px;color:#ff8948}
.frmwrk-capability-grid strong{font-size:11px;color:#f7f7f7}
.frmwrk-process{position:relative;padding-block:120px;gap:80px}
.frmwrk-process-heading h2{font-size:68px}
.frmwrk-process-list strong{font-size:34px;font-weight:700;color:#fff}
.frmwrk-process-list li{min-height:170px}
.frmwrk-process-list li>span{font-size:15px}
.frmwrk-process-list li:hover{background:#ffffff08}
.frmwrk-vision-content h2{font-size:80px;font-weight:800}
.frmwrk-vision>img{animation:frmwrk-photo-breathe 28s ease-in-out infinite alternate}
.frmwrk-showcase{position:relative;background:#0b0c0d;padding:100px 42px 42px;border-block:1px solid #ffffff1c}
.frmwrk-showcase-heading{width:min(1420px,100%);margin:0 auto 48px;display:grid;grid-template-columns:1.2fr .8fr;gap:18px 60px;align-items:end}
.frmwrk-showcase-heading .frmwrk-kicker{grid-column:1/-1;margin:0}
.frmwrk-showcase h2{font-size:64px;line-height:1.05;margin:0;font-weight:800;color:#fff}
.frmwrk-showcase-heading>p:not(.frmwrk-kicker){font-size:19px;line-height:1.65;color:#d5d7db;max-width:460px;margin:0}
.frmwrk-showcase-heading a{grid-column:2;width:max-content;max-width:100%;color:#fff}
.frmwrk-showcase-film{display:block;width:min(1600px,100%)!important;height:auto!important;aspect-ratio:16/9;object-fit:contain;background:#050505;margin:0 auto;border:1px solid #ffffff20}
.frmwrk-logo-scroll{height:240svh}
.frmwrk-logo-sticky{background:#030303}
.frmwrk-site .frmwrk-logo-film{position:absolute!important;width:2px!important;height:2px!important;inset:auto!important;left:0!important;bottom:0!important;opacity:.001!important;pointer-events:none}
.frmwrk-logo-canvas{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .4s}
.frmwrk-logo-scroll.has-frames .frmwrk-logo-canvas{opacity:1}
.frmwrk-logo-scroll.has-frames .frmwrk-logo-fallback{visibility:hidden}
.frmwrk-logo-scroll-label{font-size:12px;color:#ededed;bottom:7%}
.frmwrk-logo-cta{background:#0d0e10;padding-block:42px}
.frmwrk-logo-cta p{font-size:30px;font-weight:600}
.frmwrk-about{grid-template-columns:.9fr 1.2fr;gap:65px;padding-block:120px}
.frmwrk-about-mark{height:570px;isolation:isolate;border:0}
.frmwrk-about-photo{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;opacity:.8;animation:frmwrk-photo-breathe 25s ease-in-out infinite alternate}
.frmwrk-about-symbol{position:relative;width:42%;height:auto;filter:drop-shadow(0 8px 30px #0008)}
.frmwrk-about-copy h2{font-size:52px}
.frmwrk-about-copy>p:not(.frmwrk-kicker){font-size:18px}
.frmwrk-about-facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:0}
.frmwrk-about-facts div{padding-block:24px;border-bottom:1px solid #ffffff28}
.frmwrk-about-facts strong{font-size:17px;font-family:Kanit,Arial,sans-serif}
.frmwrk-about-facts span{font-size:18px}
.frmwrk-quote{position:relative;isolation:isolate;gap:5%;padding:75px max(42px,calc((100vw - 1420px)/2));grid-template-columns:1fr 1fr;align-items:center;min-height:920px;background:#08090b}
.frmwrk-quote>.frmwrk-quote-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.75}
.frmwrk-quote::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,4,5,.84),rgba(3,4,5,.28) 52%,rgba(3,4,5,.55)),linear-gradient(0deg,rgba(3,4,5,.55),transparent 60%)}
.frmwrk-quote-aside{min-height:0;padding:0;overflow:visible}
.frmwrk-quote-aside>img,.frmwrk-quote-aside>div{display:none}
.frmwrk-quote h2{font-size:68px;line-height:1.04;font-weight:800;color:#fff;text-shadow:0 3px 22px #0006}
.frmwrk-quote-aside>p:not(.frmwrk-kicker){font-size:18px;line-height:1.7;max-width:520px}
.frmwrk-quote-aside>a strong{font-size:29px;font-weight:700;color:#fff}
.frmwrk-quote-form{padding:42px 36px;background:rgba(5,7,9,.91);border-top:2px solid #ff5a00;box-shadow:0 25px 90px #0005}
.frmwrk-form-index{font-size:11px;letter-spacing:1.3px;margin-bottom:30px}
.frmwrk-form-grid{gap:24px}
.frmwrk-form label>span{font-size:11px;letter-spacing:.5px;font-weight:500}
.frmwrk-form input,.frmwrk-form textarea{font-family:Kanit,Arial,sans-serif;color:#fff;border-bottom-color:#a0a4ac;background:#ffffff05;padding-inline:10px;border-radius:3px 3px 0 0}
.frmwrk-form select{font-family:Kanit,Arial,sans-serif;border-radius:3px;font-weight:500}
.frmwrk-form-submit .frmwrk-button{font-size:14px;min-height:54px}
.frmwrk-form input::placeholder,.frmwrk-form textarea::placeholder{color:#c7cbd1}
.frmwrk-footer{padding-block:80px 36px;background:#030303}
.frmwrk-footer>p{font-size:40px;font-weight:700;margin-top:0}
.frmwrk-footer>span{font-size:11px}
.frmwrk-contact-lines strong{color:#fff}
.frmwrk-work .frmwrk-kicker{color:#44474c}
.frmwrk-work h2{color:#111}
.frmwrk-out-of-view *,.frmwrk-out-of-view>*::before,.frmwrk-out-of-view>*::after{animation-play-state:paused!important}
.frmwrk-visualizer-intro{padding:170px 32px 45px;text-align:center;max-width:1280px;margin:auto}
.frmwrk-visualizer-intro .frmwrk-kicker{justify-content:center}
.frmwrk-visualizer-intro h1{font-size:80px;line-height:1.04;font-weight:800;margin:20px 0;color:#fff}
.frmwrk-visualizer-intro>p:not(.frmwrk-kicker){font-size:23px;color:#e2e4e7}
.frmwrk-coming-soon{display:inline-block;border:1px solid #ff5a0066;background:#ff5a0010;color:#fff;padding:9px 16px;border-radius:3px;font-size:13px}
.frmwrk-visualizer-preview{padding:0 42px 80px}
.frmwrk-visualizer-tool{padding-top:100px;min-height:85svh}
@media(max-width:1250px){.frmwrk-phone{display:none}.frmwrk-header{grid-template-columns:175px 1fr auto;gap:14px;padding-inline:24px}.frmwrk-nav{gap:16px}.frmwrk-nav a{font-size:11px}.frmwrk-site .frmwrk-hero h1,.frmwrk-site .frmwrk-hero h2{font-size:65px}.frmwrk-quote h2{font-size:54px}.frmwrk-quote{gap:35px}.frmwrk-quote-form{padding:35px 25px}}
@media(max-width:1050px){.frmwrk-header{grid-template-columns:155px 1fr auto;gap:12px}.frmwrk-nav{gap:12px}.frmwrk-brand{width:155px}.frmwrk-header-actions .frmwrk-button{font-size:11px;padding-inline:14px}.frmwrk-section h2,.frmwrk-showcase h2{font-size:48px}.frmwrk-process-heading h2{font-size:55px}.frmwrk-quote-form{padding:30px 22px}.frmwrk-quote{padding-inline:24px}.frmwrk-form-submit{align-items:flex-start;flex-direction:column}}
@media(max-width:900px){.frmwrk-header{grid-template-columns:160px 1fr}.frmwrk-nav{gap:0}.frmwrk-nav a{font-size:15px}.frmwrk-mobile-quote{display:block}.frmwrk-site .frmwrk-hero h1,.frmwrk-site .frmwrk-hero h2{font-size:64px}.frmwrk-hero{min-height:1040px}.frmwrk-slide-inner-brand{gap:28px}.frmwrk-section-intro{grid-template-columns:1fr}.frmwrk-capability-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.frmwrk-capability-photo{height:160px}.frmwrk-capability-grid h3{font-size:26px}.frmwrk-capability-grid p{font-size:15px;padding-right:0}.frmwrk-showcase{padding:75px 24px 24px}.frmwrk-showcase-heading{gap:24px;grid-template-columns:1fr}.frmwrk-showcase-heading a{grid-column:1}.frmwrk-showcase-heading>p:not(.frmwrk-kicker){max-width:640px}.frmwrk-about{grid-template-columns:.85fr 1.15fr;gap:35px}.frmwrk-about-mark{height:500px}.frmwrk-about-copy h2{font-size:43px}.frmwrk-about-facts{gap:20px}.frmwrk-about-facts span{font-size:15px}.frmwrk-quote{grid-template-columns:1fr;padding:70px 32px;gap:45px}.frmwrk-quote-aside{padding:0}.frmwrk-quote-aside>a{margin-top:24px}.frmwrk-quote h2{max-width:620px;font-size:58px}.frmwrk-quote-form{padding:36px;max-width:740px;width:100%;justify-self:center}.frmwrk-quote>.frmwrk-quote-backdrop{object-position:40% center}.frmwrk-quote::before{background:linear-gradient(0deg,#030405b8,#03040555),linear-gradient(90deg,#030405ad,transparent)}.frmwrk-form-submit{flex-direction:row;align-items:center}.frmwrk-footer>p{font-size:30px}.frmwrk-visualizer-intro h1{font-size:62px}}
@media(max-width:640px){.frmwrk-site .frmwrk-hero h1,.frmwrk-site .frmwrk-hero h2{font-size:49px;line-height:1.04}.frmwrk-hero{min-height:900px}.frmwrk-hero-lede{font-size:16px}.frmwrk-kicker{font-size:10px}.frmwrk-section h2{font-size:42px}.frmwrk-section-intro>p:last-child{font-size:17px}.frmwrk-capabilities{padding-block:75px}.frmwrk-capability-grid{grid-template-columns:1fr;gap:32px}.frmwrk-capability-grid article,.frmwrk-capability-grid article:first-child{min-height:0}.frmwrk-capability-photo{height:225px}.frmwrk-capability-grid h3{font-size:32px}.frmwrk-capability-grid p{font-size:17px}.frmwrk-vision-content h2{font-size:54px}.frmwrk-showcase{padding:65px 18px 18px}.frmwrk-showcase h2{font-size:43px}.frmwrk-showcase-heading>p:not(.frmwrk-kicker){font-size:17px}.frmwrk-process{padding-block:80px;gap:40px}.frmwrk-process-heading h2{font-size:49px}.frmwrk-process-list strong{font-size:30px}.frmwrk-about{display:block;padding-block:80px}.frmwrk-about-mark{height:400px}.frmwrk-about-copy h2{font-size:42px}.frmwrk-about-facts{display:block}.frmwrk-about-facts span{font-size:17px}.frmwrk-logo-cta p{font-size:24px}.frmwrk-quote{padding:60px 18px;gap:36px}.frmwrk-quote h2{font-size:46px}.frmwrk-quote-aside>p:not(.frmwrk-kicker){font-size:17px}.frmwrk-quote-form{padding:28px 20px}.frmwrk-form-grid{gap:22px}.frmwrk-form-submit{flex-direction:column;align-items:stretch}.frmwrk-form-submit .frmwrk-button{width:100%}.frmwrk-form label>span{font-size:12px;letter-spacing:0}.frmwrk-contact-lines strong{font-size:16px}.frmwrk-footer>p{font-size:32px}.frmwrk-visualizer-intro{padding:130px 18px 35px}.frmwrk-visualizer-intro h1{font-size:47px}.frmwrk-visualizer-preview{padding:0 18px 55px}}
@media(max-width:360px){.frmwrk-site .frmwrk-hero h1,.frmwrk-site .frmwrk-hero h2{font-size:43px}.frmwrk-hero{min-height:940px}.frmwrk-quote h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){.frmwrk-logo-canvas{display:none}.frmwrk-logo-scroll.has-frames .frmwrk-logo-fallback{visibility:visible}.frmwrk-vision>img,.frmwrk-about-photo{animation:none!important}}
@media(max-width:640px){.frmwrk-slider-controls{right:132px;grid-template-columns:38px auto;justify-content:space-between;gap:8px}.frmwrk-slider-tabs{display:none}.frmwrk-slider-arrows{gap:5px}.frmwrk-slider-arrows button{width:32px;height:34px}}

/* Keep bundled headings independent of WordPress theme font registrations. */
@font-face{font-family:'FRMWRK Kanit';src:url('../fonts/kanit-latin-800-normal.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
.frmwrk-site :is(h1,h2,h3,h4),.frmwrk-site .frmwrk-hero-copy :is(h1,h2),.frmwrk-site .frmwrk-capability-grid h3{font-family:'FRMWRK Kanit',Kanit,Arial,sans-serif!important;font-weight:800!important;font-style:normal!important}
.frmwrk-site :is(.frmwrk-hero-copy,.frmwrk-capabilities,.frmwrk-vision-content,.frmwrk-about-copy,.frmwrk-process-heading) :is(h1,h2,h3){color:#fff!important;-webkit-text-fill-color:#fff}
.frmwrk-site .frmwrk-vision-content h2{position:relative;isolation:isolate;--glow-x:45%;--glow-y:50%;text-shadow:0 2px 20px #0005}
.frmwrk-site .frmwrk-vision-content h2::before{content:"";position:absolute;inset:-60px -45px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 200px 135px at var(--glow-x) var(--glow-y),#ff6000b3 0%,#ff600060 35%,#ff600000 78%);filter:blur(18px);opacity:.85}
.frmwrk-site .frmwrk-vision-content h2:hover::before{opacity:1}
.frmwrk-capabilities{position:relative;isolation:isolate}
.frmwrk-capabilities::before{content:"";position:absolute;inset:0 -42px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 85% 20%,#ff5a0010,transparent 55%),repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#ffffff05 calc(25% - 1px),#ffffff05 25%)}
.frmwrk-capability-grid article{border-bottom-color:#ff5a0066}
.frmwrk-capability-photo{border-radius:2px;filter:contrast(1.05)}
.frmwrk-capability-grid article>span{border-left:2px solid #ff5a00;padding-left:12px}
.frmwrk-site .frmwrk-logo-scroll{height:clamp(320px,64svh,680px)!important;min-height:0!important;max-height:none!important;overflow:hidden;border-block:1px solid #ffffff14;background:#030303}
.frmwrk-site .frmwrk-logo-sticky{position:relative!important;top:auto!important;height:100%!important;width:100%;background:radial-gradient(ellipse at center,#ff5a000b,transparent 65%)}
.frmwrk-site .frmwrk-logo-canvas{transform:none!important;transition:opacity .2s;object-fit:contain}
.frmwrk-site .frmwrk-logo-fallback{width:min(620px,65%);max-width:65%}
.frmwrk-site .frmwrk-logo-scroll-label{bottom:24px;font-size:11px;letter-spacing:3px}
.frmwrk-logo-cta{border-bottom:1px solid #ffffff16;background:linear-gradient(120deg,#101113,#08090b)}
.frmwrk-site .frmwrk-nav a[aria-disabled=true]{cursor:default;color:#f7f7f7;opacity:1}
@media(max-width:640px){.frmwrk-site .frmwrk-logo-scroll{height:clamp(280px,48svh,420px)!important}.frmwrk-site .frmwrk-logo-fallback{width:78%;max-width:78%}.frmwrk-site .frmwrk-vision-content h2::before{inset:-35px -10px;background:radial-gradient(ellipse 145px 120px at var(--glow-x) var(--glow-y),#ff6000b3,#ff600050 40%,transparent 80%)}.frmwrk-capabilities::before{inset:0 -18px}}
@media(prefers-reduced-motion:reduce){.frmwrk-site .frmwrk-logo-fallback{opacity:1!important;transform:none!important}}
@media(max-width:900px){.frmwrk-site .frmwrk-nav{position:absolute;top:100%;left:0;right:0;width:100%;justify-self:stretch;max-height:calc(100svh - 72px);overflow-y:auto;box-sizing:border-box}}
/* Minimal site-wide footer, matching the About page. */
.frmwrk-site .frmwrk-footer.frmwrk-footer-minimal,.frmwrk-page .frmwrk-footer.frmwrk-footer-minimal{display:flex;min-height:0;grid-template-columns:none;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:25px;padding:48px 4.5vw;border-top:2px solid #ff5a00;background:#080a0d}
.frmwrk-footer-minimal .frmwrk-footer-brand{display:block;flex:none;align-items:initial;gap:0;font-size:inherit;text-transform:none;letter-spacing:normal}
.frmwrk-footer-minimal .frmwrk-footer-brand img{display:block;width:180px;height:auto;transition:transform .3s ease}
.frmwrk-footer-minimal .frmwrk-footer-brand a:hover img{transform:translateY(-4px)}
.frmwrk-footer-minimal .frmwrk-footer-brand small{display:block;margin-top:8px;color:#89939a;font-size:13px;font-weight:400;text-transform:none;letter-spacing:normal}
.frmwrk-footer-minimal .frmwrk-footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.frmwrk-footer-minimal .frmwrk-footer-links a{display:inline-block;padding:0;border:0;background:none;color:#d3d9db;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0;text-decoration:none;white-space:nowrap}
.frmwrk-footer-minimal .frmwrk-footer-links a:hover{color:#ff5a00}
@media(max-width:700px){.frmwrk-site .frmwrk-footer.frmwrk-footer-minimal,.frmwrk-page .frmwrk-footer.frmwrk-footer-minimal{padding:42px 20px}.frmwrk-footer-minimal .frmwrk-footer-links{gap:14px}}
