/* The homepage growth film. Scoped so service-page artwork stays independent. */
.growth-film{--film-lime:#b3ff79;--film-ink:#101a13;position:relative;width:min(100%,1120px);margin:42px auto 0;text-align:left;color:#f5f8f0;background:#0c1510;border:1px solid #b3ff7933;border-radius:20px;box-shadow:0 32px 90px #0007,0 0 0 7px #ffffff06;overflow:hidden;isolation:isolate}
.growth-film *{box-sizing:border-box}
.film-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.film-toggle{position:absolute;z-index:4;right:14px;top:14px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #d9f7d21a;background:#0c1510b3;border-radius:50%;color:#a3b69b;cursor:pointer;font:600 11px 'DM Sans',sans-serif}
.film-toggle[hidden]{display:none}
.film-toggle:hover{background:#ffffff12;color:white}
.film-toggle-icon{font-size:12px;line-height:1}
.film-stage{position:relative;height:460px;overflow:hidden;perspective:1300px;background:radial-gradient(ellipse at 78% 45%,#29422b50,transparent 55%),#0c1510}
.film-grid{position:absolute;inset:0;background-image:linear-gradient(#d4f3d108 1px,transparent 1px),linear-gradient(90deg,#d4f3d108 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent 10%,#000);pointer-events:none}
.film-ambient{position:absolute;right:13%;top:16%;width:300px;height:300px;border:1px solid #b3ff7913;border-radius:50%;box-shadow:0 0 80px #8bc15b08,inset 0 0 80px #8bc15b08;pointer-events:none}
.film-ambient:before,.film-ambient:after{content:'';position:absolute;border:1px solid #b3ff7910;border-radius:50%;inset:-60px}
.film-ambient:after{inset:65px}
.motion-scene{position:absolute;inset:0;padding:46px;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:32px;visibility:hidden;opacity:0;transform-origin:50% 50%;will-change:transform,opacity}
.motion-scene:last-child{visibility:visible;opacity:1}
.scene-copy{position:relative;z-index:2;align-self:center;min-width:0}

.scene-heading{display:block;font-family:Manrope,sans-serif;font-size:clamp(35px,4.2vw,58px);line-height:1.06;letter-spacing:-.065em;font-weight:800;color:#f7faef}
.scene-heading em{font-style:normal;color:var(--film-lime)}

.scene-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px;max-width:320px}
.scene-tags span{padding:7px 10px;border:1px solid #c5ddbe25;border-radius:20px;font-size:9px;color:#ccdac5;white-space:nowrap}
.scene-visual{position:relative;min-width:0;height:350px;transform-style:preserve-3d}

.growth-film button:focus-visible,.growth-film a:focus-visible{outline:2px solid var(--film-lime);outline-offset:-4px}
/* 01: a query becomes a presence. */
.search-window{position:absolute;inset:12px 16px 15px 12px;border:1px solid #f2ffe23d;border-radius:16px;background:#f4f7ed;color:#18291b;box-shadow:0 24px 60px #0005;overflow:hidden;transform:rotate(-3deg)}
.film-window-bar{height:34px;border-bottom:1px solid #20331a15;display:flex;justify-content:space-between;align-items:center;padding:0 16px;color:#899984;font-size:7px;letter-spacing:.1em}
.film-window-dots{letter-spacing:4px;font-size:7px}
.search-query-film{height:50px;margin:20px 20px 16px;background:white;border:1px solid #d9e4d0;border-radius:9px;display:flex;align-items:center;gap:10px;padding:0 14px;font-size:12px;white-space:nowrap}
.search-query-film svg{width:17px;height:17px;flex:none;stroke:#548743;fill:none;stroke-width:1.7}
.search-typed{display:inline-block;overflow:hidden;white-space:nowrap}
.search-caret{height:15px;width:1px;flex:none;background:#548743;margin-left:-8px}
.search-result-film{margin:0 20px;padding:17px 18px 12px;border-radius:10px;background:#e4f0da;border:1px solid #d0e1c5}
.search-result-film>small{font-size:7px;font-weight:800;letter-spacing:.15em;color:#538044;display:flex;align-items:center;gap:6px}
.search-result-film>small:before{content:'';width:5px;height:5px;border-radius:50%;background:#579d3d}
.search-result-film>strong{display:block;font:800 24px/1.12 Manrope,sans-serif;letter-spacing:-.04em;margin:10px 0 14px;max-width:280px}
.search-signal{display:flex;align-items:center;justify-content:space-between;font-size:9px;border-top:1px solid #1c3d1520;padding:8px 0;color:#5a7051}
.search-signal b{font-weight:500;color:#224b1b}
.search-spark{position:absolute;right:-4px;top:0;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--film-lime);color:#28421a;font-size:44px;box-shadow:0 9px 30px #0003}
/* 02: creative expands out into a campaign. */
.campaign-halo{position:absolute;left:50%;top:50%;width:295px;height:295px;border:1px dashed #b3ff7942;border-radius:50%;transform:translate(-50%,-50%)}
.campaign-halo:before{content:'';position:absolute;inset:-28px;border:1px solid #b3ff791c;border-radius:50%}
.campaign-halo i{position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--film-lime);box-shadow:0 0 18px #b3ff7980}
.ad-poster{position:absolute;width:230px;height:284px;left:6%;top:14px;padding:23px;border:1px solid #ffffff4d;border-radius:13px;background:var(--film-lime);color:#1b2c17;transform:rotate(-9deg);box-shadow:0 24px 40px #0005;overflow:hidden}

.ad-poster strong{display:block;font:800 54px/.95 Manrope,sans-serif;letter-spacing:-.075em;margin-top:24px}
.ad-poster-symbol{position:absolute;right:-14px;bottom:-28px;font-size:150px;line-height:1;color:#37692825}

.ad-photo{position:absolute;width:177px;height:251px;right:5%;top:58px;border:5px solid #e9eee0;border-radius:15px;overflow:hidden;transform:rotate(10deg);box-shadow:0 25px 50px #0006;background:#e1b8a4}
.ad-photo img{width:100%;height:100%;object-fit:cover}
.ad-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#132c1ba8)}
.ad-photo strong{position:absolute;z-index:1;left:14px;bottom:22px;color:#fff8e6;font:400 27px/1.02 Georgia,serif;letter-spacing:-.04em}
.campaign-label{position:absolute;left:16%;bottom:7px;padding:12px 20px;display:flex;align-items:center;gap:11px;background:#f5faed;border:1px solid #d9edc5;border-radius:40px;color:#23441e;font-size:10px;font-weight:700;box-shadow:0 8px 30px #0003;transform:rotate(-3deg)}
.campaign-label span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#d4f5bd;font-size:16px}
.campaign-burst{position:absolute;right:5px;top:1px;color:var(--film-lime);font-size:57px;line-height:1}
/* 03: a digital experience,built in layers. */
.site-window{position:absolute;left:0;top:22px;width:93%;height:276px;border:5px solid #f4f6ee;border-radius:12px;background:#fff;overflow:hidden;transform:rotate(-3deg);box-shadow:0 20px 50px #0005}
.site-window .film-window-bar{height:24px;padding:0 10px;font-size:6px;background:#f4f6ee}
.site-preview{position:relative;height:calc(100% - 24px);overflow:hidden;padding:26px 24px}
.site-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.site-preview:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c261ccc,transparent)}
.site-preview>small,.site-preview>strong,.site-preview>.site-cta{position:relative;z-index:1}
.site-preview>small{color:#eef6d8;font-size:6px;letter-spacing:.16em}
.site-preview>strong{display:block;font:400 35px/.98 Georgia,serif;letter-spacing:-.04em;margin:22px 0 19px;color:#fff8e8}
.site-cta{display:inline-flex;gap:15px;padding:9px 12px;border-radius:3px;background:#e6efcf;color:#283c27;font-size:7px}
.site-phone{position:absolute;right:0;top:87px;width:111px;height:217px;border:4px solid #f4f6ed;border-radius:18px;background:#e5cbba;overflow:hidden;box-shadow:0 18px 40px #0006;transform:rotate(8deg)}
.site-phone:before{content:'';position:absolute;z-index:2;top:6px;left:36px;width:31px;height:5px;border-radius:5px;background:#1c2a1b}
.site-phone img{width:100%;height:100%;object-fit:cover}
.site-phone strong{position:absolute;left:10px;top:24px;color:#2c3824;font:400 17px/1 Georgia,serif;letter-spacing:-.03em;max-width:90px}
.site-cursor{position:absolute;left:34%;top:69%;z-index:3;width:27px;height:32px;filter:drop-shadow(0 3px 3px #0005)}
.site-cursor path{fill:var(--film-lime);stroke:#193016;stroke-width:1.2}
.site-click-ring{position:absolute;left:22%;top:68%;width:35px;height:35px;border:2px solid var(--film-lime);border-radius:50%;opacity:0}
.site-enquiry{position:absolute;left:11%;bottom:2px;padding:12px 17px;background:#f5f9ef;border:1px solid #e0edce;border-radius:9px;color:#244322;display:flex;align-items:center;gap:10px;font-size:10px;box-shadow:0 12px 25px #0004}
.site-enquiry span{display:grid;place-items:center;background:#d6f5b9;width:25px;height:25px;border-radius:50%;font-size:15px}
.site-enquiry strong{font-weight:700}
.site-enquiry small{display:block;color:#778571;font-size:8px;margin-top:3px}
/* 04: moving an enquiry through a connected system. */
.growth-film .automation-visual{background:transparent}
.automation-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.automation-lines path{fill:none;stroke:#b3ff7955;stroke-width:1.2}
.automation-lines .flow-light{stroke:var(--film-lime);stroke-width:2;stroke-dasharray:20 500;filter:drop-shadow(0 0 4px #b3ff79)}
.auto-source,.auto-destination,.auto-core{position:absolute;background:#19261c;border:1px solid #8eb17b50;border-radius:10px;color:#eef7e6}
.auto-source{left:2%;top:132px;width:102px;padding:15px 12px}
.auto-source>span{font-size:20px;color:var(--film-lime);display:block;margin-bottom:10px}
.auto-source strong,.auto-destination strong{font-size:10px;display:block;line-height:1.3}
.auto-source small,.auto-destination small{font-size:7px;color:#8ea185;display:block;margin-top:5px}
.auto-core{left:39%;top:126px;width:94px;height:94px;border-radius:23px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#b3ff79;color:#1e3418;border-color:#e6ffd4;box-shadow:0 0 55px #b3ff791c}
.auto-core span{font-size:40px;line-height:1}
.auto-core small{font-size:7px;font-weight:800;letter-spacing:.1em;margin-top:8px}
.auto-core-ring{position:absolute;inset:-12px;border:1px solid #b3ff7940;border-radius:32px}
.auto-destination{right:0;width:124px;padding:13px 13px 13px 35px}
.auto-destination:before{content:'✓';position:absolute;left:13px;top:18px;color:var(--film-lime);font-size:11px}
.auto-crm{top:40px}.auto-chat{top:142px}.auto-team{top:244px}

/* 05: the parts resolve into one connected system. */
.connected-visual{height:350px}
.connected-ring{position:absolute;left:50%;top:50%;width:270px;height:270px;border:1px solid #b3ff792e;border-radius:50%;transform:translate(-50%,-50%)}
.connected-ring.ring-outer{width:330px;height:330px;border-style:dashed;border-color:#b3ff7917}
.connected-ring.ring-inner{width:196px;height:196px;border-color:#b3ff791c}
.connected-lines{position:absolute;inset:0;width:100%;height:100%}
.connected-lines path{fill:none;stroke:#b3ff7966;stroke-width:1}
.connected-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:133px;height:133px;background:var(--film-lime);color:#13200f;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 0 70px #b3ff7926,0 0 0 8px #b3ff7908}
.connected-core strong{font:800 25px/1 Manrope,sans-serif;letter-spacing:-.065em}
.connected-core span{font-size:28px;line-height:1;margin-bottom:7px}
.connected-core small{font-size:6px;font-weight:800;letter-spacing:.18em;margin-top:9px}
.connected-pill{position:absolute;display:flex;gap:8px;align-items:center;background:#1e2c20;border:1px solid #b3ff7945;padding:13px 17px;border-radius:30px;box-shadow:0 8px 20px #0003;color:#deefd3;font-size:10px;white-space:nowrap}
.connected-pill span{color:var(--film-lime);font-size:17px;line-height:1}
.connected-search{left:4%;top:47px}.connected-marketing{right:0;top:60px}.connected-web{left:1%;bottom:56px}.connected-ai{right:1%;bottom:37px}
.film-flare{position:absolute;left:50%;top:50%;width:180px;height:180px;border:1px solid #b3ff7970;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0}
@media(min-width:1100px){.hero .growth-film{margin-top:44px}.growth-film .scene-heading{font-size:57px}}
@media(max-width:900px){.film-stage{height:420px}.motion-scene{padding:32px;gap:14px;grid-template-columns:.88fr 1.12fr}.scene-heading{font-size:40px}.scene-tags{gap:5px;margin-top:20px}.scene-tags span{font-size:8px;padding:6px 8px}.scene-visual{height:310px}.search-window{inset:8px 8px 0 0}.search-query-film{margin:14px 14px 10px;font-size:10px;padding:0 10px}.search-result-film{margin:0 14px;padding:14px}.search-result-film>strong{font-size:22px}.search-signal{font-size:8px}.search-spark{width:50px;height:50px;font-size:34px}.ad-poster{width:190px;height:249px;left:0;padding:20px}.ad-poster strong{font-size:46px}.ad-photo{width:145px;height:218px;right:0;top:55px}.ad-photo strong{font-size:23px}.campaign-label{font-size:8px;padding:10px 13px;bottom:0;left:10%}.campaign-burst{font-size:44px;right:0;top:0}.campaign-halo{width:235px;height:235px}.site-window{height:241px;top:15px}.site-preview{padding:20px 18px}.site-preview>strong{font-size:30px;margin-top:16px}.site-phone{width:91px;height:190px}.site-phone:before{left:27px}.site-phone strong{font-size:15px;left:7px}.site-enquiry{font-size:9px;padding:10px 12px;left:3%}.auto-source{width:80px;padding:12px 10px;top:115px}.auto-core{width:74px;height:74px;top:112px;left:38%;border-radius:18px}.auto-core span{font-size:30px}.auto-core small{font-size:6px}.auto-destination{width:99px;padding:12px 8px 12px 26px}.auto-destination:before{left:9px;font-size:9px}.auto-destination strong{font-size:9px}.auto-crm{top:30px}.auto-chat{top:120px}.auto-team{top:210px}.auto-source strong{font-size:9px}.connected-ring{width:220px;height:220px}.connected-ring.ring-outer{width:280px;height:280px}.connected-ring.ring-inner{width:170px;height:170px}.connected-core{width:110px;height:110px}.connected-core strong{font-size:21px}.connected-core small{font-size:5px}.connected-pill{padding:11px 12px;font-size:9px;gap:6px}.connected-search{left:0;top:39px}.connected-marketing{right:-8px;top:45px}.connected-web{left:-6px;bottom:45px}.connected-ai{right:-8px;bottom:31px}}
@media(max-width:640px){.growth-film{border-radius:14px;margin-top:34px;box-shadow:0 20px 55px #0006,0 0 0 4px #ffffff06}.film-toggle{top:auto;right:12px;bottom:10px}.film-stage{height:550px}.motion-scene{padding:32px 24px 50px;grid-template-columns:1fr;grid-template-rows:178px 1fr;align-items:start;gap:0}.scene-copy{align-self:start}.scene-heading{font-size:40px;line-height:1.02;letter-spacing:-.06em}.scene-heading br{display:none}.scene-tags{max-width:100%;margin-top:17px;gap:5px}.scene-tags span{font-size:8px;padding:6px 8px}.scene-visual{height:285px;width:min(100%,360px);justify-self:center;align-self:end}.search-window{inset:0 6px 0 0}.search-query-film{height:43px;margin-top:12px}.search-result-film>strong{font-size:22px;margin:9px 0 10px}.search-signal{padding:7px 0}.search-spark{top:-14px;right:-5px;width:45px;height:45px;font-size:32px}.ad-poster{left:3%;top:0;height:238px;width:180px}.ad-poster strong{font-size:44px}.ad-photo{width:142px;height:209px;right:1%;top:40px}.campaign-label{bottom:0;left:14%}.campaign-halo{width:230px;height:230px}.campaign-burst{top:-10px}.site-window{top:0;height:238px}.site-phone{top:65px;height:192px}.site-enquiry{bottom:-5px}.site-cursor{top:65%}.site-click-ring{top:64%}.auto-source{top:105px}.auto-core{top:102px}.auto-crm{top:17px}.auto-chat{top:108px}.auto-team{top:199px}.connected-ring{width:218px;height:218px}.connected-ring.ring-outer{width:275px;height:275px}.connected-search{top:20px}.connected-marketing{top:31px}.connected-web{bottom:38px}.connected-ai{bottom:19px}.film-grid{background-size:32px 32px}.film-ambient{right:-80px;top:200px}}
@media(max-width:370px){.film-stage{height:530px}.motion-scene{padding:30px 18px 50px;grid-template-rows:175px 1fr}.scene-heading{font-size:35px}.scene-tags span{font-size:7px;padding:5px 7px}.scene-visual{height:275px}.search-query-film{font-size:9px;gap:6px}.search-result-film>strong{font-size:20px}.ad-poster{width:156px;height:222px;padding:16px}.ad-poster strong{font-size:40px}.ad-photo{width:125px;height:192px}.campaign-label{left:5%;font-size:8px}.auto-source{width:70px;padding:10px 7px}.auto-source strong{font-size:8px}.auto-core{width:62px;height:70px;left:36%}.auto-destination{width:87px;padding:10px 6px 10px 22px}.auto-destination strong{font-size:8px}.auto-destination small{font-size:6px}.connected-pill{font-size:8px;padding:10px}.connected-core{width:96px;height:96px}.connected-core strong{font-size:18px}.connected-core small{font-size:4px}.connected-ring.ring-outer{width:245px;height:245px}.connected-ring{width:200px;height:200px}.connected-ring.ring-inner{width:150px;height:150px}}
@media(prefers-reduced-motion:reduce){.growth-film *{scroll-behavior:auto!important;transition:none!important}.motion-scene{will-change:auto}}
