.ffh-field{pointer-events:none;position:absolute;inset:0;overflow:hidden}.ffh-field-plx{position:absolute;inset:0}.ffh-field-layer{will-change:transform;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ffh-field-layer :is(path,line){fill:none;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.ffh-seg{stroke-linecap:square;transform-box:view-box;transform-origin:var(--o)}.ffh-field-back path{stroke:#00645124;stroke-width:1.25px}.ffh-field-mid :is(path,line){stroke:#00645161;stroke-width:1.5px}.ffh-field-front :is(path,line){stroke:var(--green);stroke-width:2px}.ffh-field-node{fill:var(--green);transform-box:fill-box;transform-origin:50%}.ffh-field-front .ffh-field-end{fill:var(--green);stroke:none;transform-box:fill-box;transform-origin:50%}.ffh-field-signal{fill:var(--green);opacity:0}html.ff-motion .ffh-field:not([data-draw]) :is(.ffh-seg,.ffh-field-node,.ffh-field-end){animation:ffh-field-safety .5s var(--ease-quint) 3.4s forwards;transform:scale(0)}html.ff-motion .ffh-field:not([data-draw]) .ffh-field-back .ffh-field-draw{opacity:0;animation:.5s 3.4s forwards ffh-safety}@keyframes ffh-field-safety{to{transform:none}}.ffh-field[data-draw] .ffh-field-back .ffh-field-draw{animation:ffh-layer-in 2s var(--ease-quint) .5s both}.ffh-field[data-draw] .ffh-seg{animation:ffh-seg-draw var(--l) linear var(--t) both}.ffh-field[data-draw] .ffh-field-node{animation:ffh-node-pop .5s var(--ease-quint) .9s both}.ffh-field[data-draw] .ffh-field-front .ffh-field-end{animation:ffh-end-in .7s var(--ease-quint) 1.55s both, ffh-end-beat .8s var(--ease-quint) 4.3s}.ffh-field[data-draw] .ffh-field-signal{animation:none}.ffh-field[data-draw] .ffh-field-signal[data-signal="0"]{animation-name:ffh-sig-0-a,ffh-signal-show;animation-delay:1.7s}.ffh-field[data-draw] .ffh-field-signal[data-signal="1"]{animation-name:ffh-sig-1-a,ffh-signal-show;animation-delay:2.05s}.ffh-field[data-draw] .ffh-field-signal[data-signal="2"]{animation-name:ffh-sig-2-a,ffh-signal-show;animation-delay:2.4s}.ffh-field[data-replay=b] .ffh-field-signal[data-signal="0"]{animation-name:ffh-sig-0-b,ffh-signal-show-b;animation-delay:50ms}.ffh-field[data-replay=b] .ffh-field-signal[data-signal="1"]{animation-name:ffh-sig-1-b,ffh-signal-show-b;animation-delay:.35s}.ffh-field[data-replay=b] .ffh-field-signal[data-signal="2"]{animation-name:ffh-sig-2-b,ffh-signal-show-b;animation-delay:.65s}.ffh-field[data-replay=a] .ffh-field-signal[data-signal="0"]{animation-delay:50ms}.ffh-field[data-replay=a] .ffh-field-signal[data-signal="1"]{animation-delay:.35s}.ffh-field[data-replay=a] .ffh-field-signal[data-signal="2"]{animation-delay:.65s}@keyframes ffh-layer-in{0%{opacity:0;transform:translateY(40px)}}@keyframes ffh-seg-draw{0%{transform:scale(0)}}@keyframes ffh-node-pop{0%{transform:scale(0)}}@keyframes ffh-end-in{0%{transform:scale(0)}70%{transform:scale(1.15)}to{transform:none}}@keyframes ffh-signal-show{0%{opacity:0}5%,90%{opacity:1}to{opacity:0}}@keyframes ffh-signal-show-b{0%{opacity:0}5%,90%{opacity:1}to{opacity:0}}@keyframes ffh-end-beat{0%{transform:none}35%{transform:scale(1.22)}to{transform:none}}.ffh-field-closing .ffh-field-front :is(path,line){stroke:#0064518c}.ffh-field-closing .ffh-field-mid :is(path,line){stroke:#00645147}.ffh-field-closing .ffh-field-back path{stroke:#0064511f}
.ffh-hero{min-height:var(--stage-h);padding-block:clamp(40px,8svh,96px) clamp(24px,4svh,40px);display:flex;position:relative}.ffh-hero-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.ffh-shader{position:absolute;inset:0}.ffh-shader canvas{opacity:0;transition:opacity 1.4s var(--ease-quint);display:block;position:absolute;inset:0}.ffh-shader[data-ready] canvas{opacity:1}.ffh-hero-grid{z-index:1;-moz-column-gap:clamp(32px, 5vw, 80px);grid-template-columns:minmax(0,8fr) minmax(0,5fr);align-items:stretch;column-gap:clamp(32px,5vw,80px);display:grid;position:relative}.ffh-hero-copy{z-index:1;translate:0 calc(var(--p,0) * -90px);opacity:calc(1 - var(--p,0) * .7);flex-direction:column;justify-content:center;gap:28px;display:flex;position:relative}.ffh-hero-title{letter-spacing:-.05em;text-wrap:balance;max-width:18ch;font-size:clamp(42px,5.1vw,80px);font-weight:560;line-height:1.02}.ffh-acc{white-space:normal}.ffh-acc-word{white-space:nowrap;color:var(--green);font-weight:720;position:relative}.ffh-acc-fx{display:none}html.ff-motion .ffh-acc:not([data-acc=on]) .ffh-acc-word{color:#0000;-webkit-text-stroke:.022em var(--green)}html.ff-motion .ffh-acc:not([data-acc]) .ffh-acc-word{animation:.4s 3.2s forwards ffh-acc-safety}html.ff-motion .ffh-acc:not([data-acc=on]) .ffh-acc-fx{z-index:1;pointer-events:none;opacity:0;display:block;position:absolute;inset:-.1em -.08em -.3em -.06em;overflow:hidden}.ffh-acc-fill{white-space:nowrap;color:var(--green);-webkit-text-stroke:0;padding:.1em .08em 0 .06em;line-height:normal;position:absolute;inset:0}.ffh-acc-fill:before{content:attr(data-text);content:attr(data-text) / ""}.ffh-acc-edge{background:var(--green);opacity:0;width:.05em;min-width:2px;position:absolute;top:.16em;bottom:.34em;right:0}@keyframes ffh-acc-safety{to{color:var(--green);-webkit-text-stroke:0 transparent}}html.ff-motion .ffh[data-hero=fallback] .ffh-acc:not([data-acc=on]) .ffh-acc-word{color:var(--green);-webkit-text-stroke:0 transparent;animation:none}html.ff-motion .ffh[data-hero=fallback] .ffh-acc:not([data-acc=on]) .ffh-acc-fx{display:none}.ffh-hero-lead{color:var(--muted);font-size:clamp(18px,1.5vw,22px);font-weight:500;line-height:1.5}.ffh-hero-action{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.ffh-cta-note{color:var(--muted);font-size:14px}.ffh-hero-visual{min-height:320px;position:relative}.ffh-hero-visual .ffh-field{top:-6%;bottom:-6%;left:-14%;right:calc(-.55 * var(--gutter))}.ffh-hero-visual .ffh-field-back{translate:0 calc(var(--p,0) * -30px)}.ffh-hero-visual .ffh-field-mid{translate:0 calc(var(--p,0) * -110px)}.ffh-hero-visual .ffh-field-front{translate:0 calc(var(--p,0) * -210px)}@media (max-width:900px){.ffh-hero-grid{grid-template-rows:none;grid-template-columns:minmax(0,1fr);row-gap:32px}.ffh-hero-visual{grid-row:auto;height:clamp(180px,30svh,280px);min-height:0}.ffh-hero-visual .ffh-field{inset:0 -24px -4%}}@media (max-width:700px){.ffh-hero{padding-block:40px 24px}.ffh-hero-copy{gap:22px}.ffh-hero-title{letter-spacing:-.05em;max-width:7em;font-size:clamp(38px,11.4vw,56px);line-height:1.02}.ffh-hero-lead{font-size:18px}.ffh-cta{min-height:52px;font-size:15px}.ffh-cta-note{font-size:14px}.ffh-hero-visual{height:clamp(150px,24svh,220px)}.ffh-hero-visual .ffh-field-back{display:none}}@media (max-width:700px) and (max-height:840px){.ffh-hero{padding-top:22px}.ffh-hero-copy{gap:16px}.ffh-hero-title{font-size:clamp(36px,10.6vw,52px)}}@media (max-width:700px) and (max-height:600px){.ffh-hero{padding-top:12px}.ffh-hero-copy{gap:12px}.ffh-hero-title{max-width:none;font-size:clamp(28px,10.4167vw - 5px,40px)}.ffh-hero-lead{font-size:16px}.ffh-hero-action{gap:8px}}@media (max-width:392px){.ffh-hero-lead{max-width:14em}}@media (orientation:landscape) and (max-height:500px){.ffh-hero{padding-block:12px 24px}.ffh-hero-copy{gap:10px}.ffh-hero-title{max-width:18em;font-size:clamp(28px,4.2vw,40px)}.ffh-hero-lead{font-size:16px}.ffh-hero-action{gap:6px}}
.ffh-band{border-block:1px solid var(--rule);gap:clamp(6px,1vw,14px);padding-block:clamp(36px,5vw,72px);display:grid;overflow:hidden}.ffh-band-row{white-space:nowrap;letter-spacing:-.045em;will-change:transform;width:max-content;transform:translate3d(calc(-6% - var(--p,.5) * 20%), 0, 0);font-size:clamp(36px,5.6vw,88px);font-weight:620;line-height:1.05;display:flex}.ffh-band-row span{align-items:center;gap:.55em;padding-right:.55em;display:inline-flex}.ffh-band-row span:after{content:"";background:var(--green);flex:none;width:.14em;height:.14em}.ffh-band-row-reverse{color:var(--muted);transform:translate3d(calc(-28% + var(--p,.5) * 20%), 0, 0)}.ffh-band-row-reverse span:after{box-shadow:inset 0 0 0 .025em var(--green);background:0 0}@media (max-width:700px){.ffh-band{gap:12px;padding-block:40px}.ffh-band-row{font-size:42px}}
.ffh-meta{background:var(--ink);color:var(--ivory);margin-top:clamp(40px,6vw,88px)}.ffh-meta-inner{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px clamp(28px,4vw,64px);padding-block:clamp(28px,3.4vw,44px);display:grid}.ffh-meta-logo img{width:clamp(150px,14vw,200px);height:auto}.ffh-meta-title{letter-spacing:-.035em;font-size:clamp(22px,2.4vw,34px);font-weight:600;line-height:1.15}.ffh-meta-badge{color:var(--ivory);white-space:nowrap;align-items:center;gap:12px;font-size:15px;font-weight:650;display:inline-flex}.ffh-badge{flex:none;width:30px;height:30px;overflow:visible}.ffh-badge-seal{fill:#0866ff;stroke:#0866ff;stroke-width:1.6px;stroke-linejoin:round;transform-box:fill-box;transform-origin:50%}.ffh-badge-check{fill:none;stroke:#fff;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1}.ffh-meta :focus-visible{outline-color:var(--mint)}html.ff-motion .ffh-meta-badge:not([data-in=true]) .ffh-badge-check{stroke-dashoffset:1px}.ffh-meta-badge[data-in=true] .ffh-badge-seal{animation:ffh-badge-in .9s var(--ease-quint) .3s both}.ffh-meta-badge[data-in=true] .ffh-badge-check{animation:ffh-check-draw .55s var(--ease-quint) .85s both}@keyframes ffh-badge-in{0%{transform:scale(.2)rotate(-60deg)}70%{transform:scale(1.12)rotate(6deg)}to{transform:none}}@keyframes ffh-check-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@media (max-width:700px){.ffh-meta-inner{grid-template-columns:minmax(0,1fr);gap:14px;padding-block:28px 30px}.ffh-meta-title{max-width:14em}.ffh-meta-logo img{width:150px}}
.ffh-services{padding-top:clamp(40px,6vw,96px)}.ffh-services-stage{padding-block:clamp(64px,9vw,128px)}.ffh-services-view,.ffh-services-rail{display:none}.ffh-services-list{margin-top:clamp(36px,5vw,56px);position:relative}.ffh-services-list ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px clamp(24px,3vw,40px);margin:0;padding:0;list-style:none;display:grid}.ffh-svc-item{flex-direction:column;display:flex;position:relative}.ffh-art-inline{background:var(--mint);min-height:240px;transition:transform .6s var(--ease-out);border-radius:8px;place-items:center;margin-bottom:22px;padding:20px 22px;font-size:14px;display:grid;overflow:hidden}.ffh-svc-item:hover .ffh-art-inline{transform:translateY(-6px)}.ffh-svc-item h3{letter-spacing:-.03em;font-size:clamp(22px,2vw,28px);font-weight:620;line-height:1.2}.ffh-svc-text{color:var(--muted);margin-top:6px;font-size:16px;line-height:1.5}.ffh-svc-title{color:inherit;align-items:center;gap:.45em;text-decoration:none;display:inline-flex}.ffh-svc-title:after{content:"";z-index:1;border-radius:8px;position:absolute;inset:0}.ffh-svc-title>span:first-child{transition:transform .5s var(--ease-out)}.ffh-svc-mark{background:var(--green);transform-origin:0;width:.9em;height:2px;transition:transform .5s var(--ease-out);transform:scaleX(0)}.ffh-svc-item:hover .ffh-svc-title>span:first-child,.ffh-svc-title:focus-visible>span:first-child{transform:translate(6px)}.ffh-svc-item:hover .ffh-svc-mark,.ffh-svc-title:focus-visible .ffh-svc-mark{transform:translate(6px)scaleX(1)}.ffh-svc-title:focus-visible{outline:none}.ffh-svc-item:has(.ffh-svc-title:focus-visible){outline:3px solid var(--green);outline-offset:8px;border-radius:8px}.ffh-art{width:100%;max-width:24em;color:var(--ink);flex-direction:column;gap:.85em;display:flex}.ffh-art-bar{border-bottom:1px solid var(--rule);color:var(--muted);justify-content:space-between;padding-bottom:.7em;font-size:max(12px,.85em);font-weight:650;display:flex}.ffh-art svg{fill:none;width:1em;height:1em;stroke:var(--green);stroke-width:2px;flex:none}.ffh-art-status{align-items:center;gap:.5em;font-size:max(12px,.9em);font-weight:650;display:flex}.ffh-bubble{background:var(--ivory);border-radius:1.1em 1.1em 1.1em .3em;max-width:86%;padding:.8em 1em;font-size:1em;font-weight:550;line-height:1.45}.ffh-bubble-out{background:var(--green);color:var(--ivory);border-radius:1.1em 1.1em .3em;align-self:flex-end}.ffh-art-chat{gap:.7em}.ffh-reply{flex-direction:column;display:flex;position:relative}.ffh-typing{background:var(--green);opacity:0;border-radius:1em 1em .3em;gap:.3em;padding:.75em .95em;display:inline-flex;position:absolute;top:0;right:0}.ffh-typing i{background:var(--mint);border-radius:50%;width:.42em;height:.42em}.ffh-flow-step{background:var(--ivory);border-radius:6px;align-items:center;gap:.8em;padding:.75em 1em;font-weight:650;display:flex;position:relative}.ffh-flow-step i{background:var(--green);flex:none;width:.55em;height:.55em}.ffh-flow-step svg{margin-left:auto}.ffh-flow-step+.ffh-flow-step:before{content:"";background:var(--trace-strong);width:1.5px;height:.85em;position:absolute;top:-.85em;left:1.24em}.ffh-browser{background:var(--ivory);border-bottom:1px solid var(--rule);border-radius:6px 6px 0 0;align-items:center;gap:.4em;padding:.6em .8em;display:flex}.ffh-browser span{background:#18292529;border-radius:50%;width:.55em;height:.55em}.ffh-browser b{color:var(--muted);margin-left:.6em;font-size:max(12px,.8em);font-weight:600}.ffh-art-web{gap:0}.ffh-web-page{background:var(--ivory);border-radius:0 0 6px 6px;gap:.6em;padding:1.1em 1em 1.2em;display:grid}.ffh-web-page i{background:var(--ink);transform-origin:0;border-radius:2px;height:.7em;display:block}.ffh-web-page .ffh-w1{width:78%;height:1em}.ffh-web-page .ffh-w2{background:#1829252e;width:92%}.ffh-web-page .ffh-w3{background:#1829252e;width:64%}.ffh-web-cta{background:var(--green);border-radius:4px;width:34%;height:1.8em;margin-top:.3em}.ffh-phase{gap:.45em;font-size:max(12px,.92em);font-weight:650;display:grid}.ffh-phase i{background:var(--green);height:.55em;transform:scaleX(var(--v));transform-origin:0;border-radius:2px;display:block}html.ff-motion .ffh-art-chat .ffh-msg{opacity:0;animation:.5s 3.4s forwards ffh-safety}html.ff-motion :is(.ffh-svc-item[data-in=true],.ffh-services-pane[data-on]) .ffh-msg{animation:ffh-msg-in .6s var(--ease-quint) both;animation-delay:calc(.2s + var(--s) * .9s + min(var(--s), 1) * .7s)}html.ff-motion :is(.ffh-svc-item[data-in=true],.ffh-services-pane[data-on]) .ffh-typing{animation:1.6s .7s both ffh-typing-window}html.ff-motion :is(.ffh-svc-item[data-in=true],.ffh-services-pane[data-on]) .ffh-typing i{animation:.9s ease-in-out .7s 2 ffh-typing}html.ff-motion :is(.ffh-svc-item[data-in=true],.ffh-services-pane[data-on]) .ffh-typing i:nth-child(2){animation-delay:.85s}html.ff-motion :is(.ffh-svc-item[data-in=true],.ffh-services-pane[data-on]) .ffh-typing i:nth-child(3){animation-delay:1s}html.ff-motion .ffh-flow-step{opacity:0;animation:.5s 3.4s forwards ffh-safety}html.ff-motion :is(.ffh-svc-item[data-in=true],.ffh-services-pane[data-on]) .ffh-flow-step{animation:ffh-step-in .6s var(--ease-quint) both;animation-delay:calc(.15s + var(--i) * .14s)}html.ff-motion :is(.ffh-web-page i,.ffh-phase i){animation:.5s 3.4s forwards ffh-bar-safety;transform:scaleX(0)}html.ff-motion :is(.ffh-svc-item[data-in=true],.ffh-services-pane[data-on]) .ffh-web-page i{animation:ffh-bar-in 1s var(--ease-quint) both;animation-delay:.15s}html.ff-motion :is(.ffh-svc-item[data-in=true],.ffh-services-pane[data-on]) .ffh-web-page .ffh-w2{animation-delay:.3s}html.ff-motion :is(.ffh-svc-item[data-in=true],.ffh-services-pane[data-on]) .ffh-web-page .ffh-w3{animation-delay:.45s}html.ff-motion :is(.ffh-svc-item[data-in=true],.ffh-services-pane[data-on]) .ffh-phase i{animation:ffh-phase-in 1s var(--ease-quint) both;animation-delay:calc(.15s + var(--i) * .14s)}@keyframes ffh-msg-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes ffh-typing-window{0%{opacity:0;transform:translateY(6px)}15%,85%{opacity:1;transform:none}to{opacity:0}}@keyframes ffh-typing{0%,to{opacity:.5;transform:none}40%{opacity:1;transform:translateY(-.18em)}}@keyframes ffh-step-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@keyframes ffh-bar-in{0%{transform:scaleX(0)}to{transform:none}}@keyframes ffh-bar-safety{to{transform:none}}@keyframes ffh-phase-in{0%{transform:scaleX(0)}to{transform:scaleX(var(--v))}}@media (min-width:960px) and (min-height:620px){html.ff-motion .ffh-services-track{height:calc(var(--pin-h) * 3.4)}html.ff-motion .ffh-services-stage{top:var(--header-h);height:var(--pin-h);align-items:center;padding-block:24px;display:flex;position:sticky}html.ff-motion .ffh-services-grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center;gap:clamp(40px,6vw,96px);display:grid}html.ff-motion .ffh-services .ffh-h2{max-width:20ch;font-size:clamp(30px,3vw,44px)}html.ff-motion .ffh-services-list{margin-top:28px;padding-left:30px}html.ff-motion .ffh-services-list:before,html.ff-motion .ffh-services-rail{content:"";width:2px;position:absolute;top:10px;bottom:10px;left:4px}html.ff-motion .ffh-services-list:before{background:var(--trace)}html.ff-motion .ffh-services-rail{background:var(--green);transform-origin:top;scale:1 var(--p,0);display:block}html.ff-motion .ffh-services-list ul{display:block}html.ff-motion :is(.ffh-svc-item,.ffh-services-pane){--k:calc(var(--p,0) * 4 - var(--i));--in:clamp(0, calc(var(--k) * 4 + 1), 1);--out:clamp(0, calc((1 - var(--k)) * 4 + 1), 1);--a:min(var(--in), var(--out))}html.ff-motion .ffh-svc-item{translate:calc(var(--a) * 6px) 0;padding-block:6px}html.ff-motion .ffh-svc-item+.ffh-svc-item{margin-top:8px}html.ff-motion .ffh-svc-item:before{content:"";border:1.5px solid var(--green);background:var(--ivory);width:12px;height:12px;scale:calc(1 + var(--a) * .25);position:absolute;top:18px;left:-31px}html.ff-motion .ffh-svc-item:after{content:"";background:var(--green);width:12px;height:12px;opacity:var(--a);scale:calc(1 + var(--a) * .25);position:absolute;top:18px;left:-31px}html.ff-motion .ffh-art-inline{display:none}html.ff-motion .ffh-svc-item h3{transform-origin:0;opacity:calc(.66 + var(--a) * .34);scale:calc(.92 + var(--a) * .08);font-size:clamp(22px,2vw,30px)}html.ff-motion .ffh-services-view{height:min(560px, calc(var(--pin-h) - 72px));background:var(--mint);border-radius:8px;font-size:clamp(14px,1.3vw,18px);display:block;position:relative;overflow:hidden}html.ff-motion .ffh-services-view:before{content:"";background-image:radial-gradient(circle, var(--trace) 1px, transparent 1.2px);background-size:16px 16px;position:absolute;inset:0}html.ff-motion .ffh-services-pane{opacity:var(--a);translate:0 calc((1 - var(--in)) * 36px - (1 - var(--out)) * 36px);scale:calc(.96 + var(--a) * .04);place-items:center;padding:9%;display:grid;position:absolute;inset:0}}@media (max-width:700px){.ffh-services-list ul{grid-template-columns:minmax(0,1fr);gap:44px}.ffh-art-inline{min-height:210px;padding:18px}}
.ffh-process{padding-inline:clamp(0px,1.2vw,16px)}.ffh-process-panel{background:var(--ink);color:var(--ivory);transform-origin:50% 0;scale:calc(.94 + min(var(--p,1) * 3, 1) * .06);border-radius:clamp(10px,1.6vw,24px);padding-block:clamp(80px,10vw,140px);position:relative;overflow:hidden}.ffh-process-plx{pointer-events:none;position:absolute;inset:-12% 0}.ffh-process-ornament{width:min(52%,620px);height:100%;position:absolute;top:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 45%);mask-image:linear-gradient(90deg,#0000 0%,#000 45%)}.ffh-process-ornament path{fill:none;stroke:var(--mint);stroke-opacity:.16;stroke-width:1.5px;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.ffh-process-ornament rect{fill:var(--mint);fill-opacity:.55}.ffh-process-inner{position:relative}.ffh-process :focus-visible{outline-color:var(--mint)}.ffh-process-title{max-width:16ch}.ffh-steps{--fill:clamp(0, calc((var(--p,1) - .22) * 1.55), 1);margin-top:clamp(56px,7vw,96px);position:relative}.ffh-steps-track{background:var(--mint-line);height:2px;position:absolute;top:0;left:0;right:0}.ffh-steps-fill{background:var(--mint);transform-origin:0;scale:var(--fill) 1;position:absolute;inset:0}.ffh-steps-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px);margin:0;padding:0;list-style:none;display:grid}.ffh-step{padding-top:36px;position:relative}.ffh-step-node{border:2px solid var(--mint);background:var(--ink);width:14px;height:14px;position:absolute;top:-6px;left:0}.ffh-step-node:after{content:"";background:var(--mint);scale:clamp(0, calc((var(--fill) - var(--i) * .36) * 6), 1);position:absolute;inset:2px}.ffh-step-figure{letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--ivory);white-space:nowrap;translate:0 calc((1 - var(--fill)) * (12px + var(--i) * 14px));font-size:clamp(48px,5.4vw,80px);font-weight:600;line-height:1}.ffh-step-figure [data-count]{min-width:calc(var(--n,2) * (1ch - .05em));text-align:right;display:inline-block}.ffh-step-figure small{letter-spacing:-.01em;color:var(--mint);font-size:.3em;font-weight:600}.ffh-step-word{font-size:.72em}.ffh-step h3{letter-spacing:-.035em;margin-top:18px;font-size:clamp(22px,2vw,28px);font-weight:600}.ffh-step>p:last-child{color:var(--mint);margin-top:6px;font-size:16px;line-height:1.55}@media (max-width:900px){.ffh-steps-track{width:2px;height:auto;inset:0 auto 0 6px}.ffh-steps-fill{transform-origin:top;scale:1 var(--fill)}.ffh-steps-row{grid-template-columns:minmax(0,1fr);gap:44px;padding-left:36px}.ffh-step{padding-top:0}.ffh-step-node{top:4px;left:-36px}.ffh-process-ornament{opacity:.7;width:70%}}@media (max-width:700px){.ffh-process{padding-inline:8px}.ffh-process-panel{padding-block:72px}}
.ffh-industries{padding-block:clamp(96px,12vw,168px) clamp(80px,10vw,140px)}.ffh-industries-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:end;gap:clamp(32px,6vw,96px);display:grid}.ffh-industries-title{max-width:15ch;font-size:clamp(34px,3.9vw,58px)}.ffh-industries-copy{translate:0 calc((.5 - var(--p,.5)) * 50px)}.ffh-capsule{color:var(--ink);max-width:44ch;margin-top:28px;font-size:clamp(17px,1.4vw,20px);line-height:1.55}.ffh-capsule a{color:var(--green);padding-block:11px;font-weight:600;transition:color .2s}.ffh-capsule a:hover{color:var(--ink)}.ffh-sectors{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.ffh-sector{background:var(--ivory);letter-spacing:-.01em;min-height:76px;translate:0 calc((.5 - var(--p,.5)) * (var(--c) * 2 - 1) * 36px);border:1px solid #0064512e;border-radius:8px;align-items:center;gap:14px;padding:16px 18px;font-size:16px;font-weight:600;display:flex}.ffh-sector svg{color:var(--green);flex:none}html.ff-motion .ffh-sectors:not([data-in=true]) .ffh-sector svg{opacity:0;animation:.5s 3.4s forwards ffh-safety}.ffh-sectors[data-in=true] .ffh-sector svg{animation:ffh-icon-in .7s var(--ease-quint) both;animation-delay:calc(.25s + var(--i) * 60ms)}@keyframes ffh-icon-in{0%{opacity:0;transform:scale(.4)rotate(-12deg)}to{opacity:1;transform:none}}@media (max-width:900px){.ffh-industries-grid{grid-template-columns:minmax(0,1fr);align-items:start}}@media (max-width:700px){.ffh-sectors{gap:10px;margin-top:8px}.ffh-sector{flex-direction:column;align-items:flex-start;gap:10px;min-height:0;padding:14px;font-size:14px}.ffh-sector svg{width:26px;height:26px}}
.ffh-faq{border-top:1px solid var(--rule);padding-block:clamp(80px,10vw,140px)}.ffh-faq-grid{grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:start;gap:clamp(32px,6vw,96px);display:grid}.ffh-faq-intro>p{margin-top:24px}.ffh-faq-list{border-top:1px solid var(--rule)}.ffh-faq-list details{border-bottom:1px solid var(--rule)}.ffh-faq-list summary{cursor:pointer;letter-spacing:-.015em;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding-block:18px;font-size:clamp(17px,1.5vw,20px);font-weight:600;list-style:none;transition:color .2s;display:flex}.ffh-faq-list summary::-webkit-details-marker{display:none}.ffh-faq-list summary svg{color:var(--green);transition:transform .45s var(--ease-out);flex:none}.ffh-faq-list details[open] summary svg{transform:rotate(45deg)}.ffh-faq-list summary:hover{color:var(--green)}.ffh-faq-body{overflow:hidden}.ffh-faq-body p{color:var(--muted);max-width:60ch;padding-bottom:26px;font-size:16px;line-height:1.7}@media (max-width:900px){.ffh-faq-grid{grid-template-columns:minmax(0,1fr);align-items:start}}@media (max-width:700px){.ffh-faq-list summary{min-height:72px;font-size:17px}html[data-wa-fab=visible] .ffh-faq-list summary{padding-right:64px}}@media (min-width:701px){html[data-wa-fab=visible] .ffh-faq-list summary{padding-right:max(0px, calc(86px + env(safe-area-inset-right) - var(--gutter)))}}
.ffh-closing{padding-block:clamp(104px,13vw,184px);position:relative;overflow:hidden}.ffh-closing-field{pointer-events:none;position:absolute;inset:0 0 0 38%}.ffh-closing-field .ffh-field{inset:-4% 0 -6%}.ffh-closing-inner{position:relative}.ffh-closing-title{letter-spacing:-.055em;text-wrap:balance;max-width:11ch;font-size:clamp(44px,6.6vw,100px);font-weight:620;line-height:1.02}.ffh-closing-inner p{color:var(--muted);margin-top:24px;font-size:clamp(17px,1.5vw,20px);line-height:1.5}.ffh-closing-inner>div{margin-top:36px}@media (max-width:900px){.ffh-closing{padding-bottom:240px}.ffh-closing-field{height:240px;inset:auto 0 0}}@media (max-width:700px){.ffh-closing-title{font-size:clamp(40px,12vw,60px)}}
.ffh-intro{display:none}.ffh:is([data-intro=hold],[data-intro=wait],[data-intro=moving],[data-intro=fallback]) .ffh-intro{z-index:60;pointer-events:none;display:block;position:fixed;inset:0}.ffh-intro-backdrop{background:var(--ink);position:absolute;inset:0}.ffh-intro-logo{--logo-w:min(264px, 62vw);left:calc(50% - var(--logo-w) / 2);top:calc(50% - var(--logo-w) * 32 / 307);width:var(--logo-w);aspect-ratio:307/64;transform-origin:50%;will-change:transform;position:fixed}.ffh-intro-logo img{width:100%;height:100%;position:absolute;inset:0}.ffh-intro-color{opacity:0}body:has(.ffh:is([data-intro=hold],[data-intro=wait],[data-intro=moving],[data-intro=fallback]))>:is(.ffh,:has(.ffh)){z-index:70}body:has(.ffh[data-intro=moving]) .site-header .brand img{opacity:0}.ffh[data-intro=hold] .ffh-intro{animation:.4s 2.4s both ffh-fade-away}.ffh[data-intro=fallback] .ffh-intro{animation:.5s both ffh-fade-away}@keyframes ffh-fade-away{to{opacity:0;visibility:hidden}}
.ffh{--trace:#00645133;--trace-strong:#00645180;--mint-line:#dbf1e833;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-quint:cubic-bezier(.23, 1, .32, 1);--ease-flip:cubic-bezier(.77, 0, .175, 1);--stage-h:calc(100svh - var(--header-h) - var(--review-h));--pin-h:calc(100svh - var(--header-h));--gutter:calc((100vw - min(1200px, 100vw - 96px)) / 2);--surface:var(--ivory);background:var(--surface);transition:background-color .9s var(--ease-quint);position:relative;overflow-x:clip}.ffh[data-theme=mint]{--surface:var(--mint)}.ffh-wrap{width:min(1200px,100% - 96px);margin-inline:auto}@media (max-width:700px){.ffh{--gutter:24px}.ffh-wrap{width:calc(100% - 48px)}}.ffh :is(h1,h2,h3){margin:0}.ffh-h2{letter-spacing:-.045em;text-wrap:balance;max-width:18ch;font-size:clamp(32px,3.9vw,56px);font-weight:600;line-height:1.06}.ffh .ff-split-line-mask{margin-bottom:-.14em;padding-bottom:.14em}html.ff-motion .ffh [data-split]{text-wrap:wrap}.ffh-nowrap{white-space:nowrap}.ffh-cta{isolation:isolate;background:var(--green);min-height:58px;color:var(--ivory);letter-spacing:.005em;border-radius:8px;justify-content:center;align-items:center;padding:16px 34px;font-size:16px;font-weight:650;line-height:1.3;display:inline-flex;position:relative;overflow:hidden}.ffh-cta:before{content:"";z-index:-1;background:var(--ink);transition:transform .6s var(--ease-out);position:absolute;inset:0;transform:translate(-101%)}.ffh-cta:after{content:"";background:var(--mint);transform-origin:0;height:2px;transition:transform .7s var(--ease-out) 50ms;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.ffh-cta-label{transition:transform .55s var(--ease-out);display:inline-block}.ffh-cta:hover:before,.ffh-cta:focus-visible:before{transform:none}.ffh-cta:hover:after,.ffh-cta:focus-visible:after{transform:scaleX(1)}.ffh-cta:hover .ffh-cta-label,.ffh-cta:focus-visible .ffh-cta-label{transform:translate(3px)}.ffh-cta:active .ffh-cta-label{transform:scale(.98)}.ffh-quiet-link{min-height:44px;color:var(--muted);align-items:center;gap:10px;margin-top:12px;font-size:15px;font-weight:650;transition:color .2s;display:inline-flex}.ffh-quiet-link:before{content:"";background:var(--green);width:7px;height:7px;transition:transform .5s var(--ease-out)}.ffh-quiet-link span{transition:transform .5s var(--ease-out);display:inline-block}.ffh-quiet-link:hover{color:var(--green)}.ffh-quiet-link:hover:before{transform:rotate(45deg)scale(1.15)}.ffh-quiet-link:hover span{transform:translate(3px)}html.ff-motion .ffh[data-hero=pending] .ffh-in{opacity:0;animation:.6s 3.2s forwards ffh-safety}@keyframes ffh-safety{to{opacity:1}}
