.rf-hero{background:var(--color-paper)}.rf-wrap{align-items:center;gap:var(--space-xl);width:100%;max-width:var(--container);padding:var(--space-xl) var(--gutter) var(--space-2xl);box-sizing:border-box;grid-template-columns:minmax(0,1fr);margin-inline:auto;display:grid}.rf-copy{min-width:0}.rf-h1{max-width:16em;font-family:var(--font-display);letter-spacing:var(--tracking-display);color:var(--color-ink);text-wrap:balance;overflow-wrap:break-word;min-width:0;margin:0;font-size:clamp(2.25rem,.9rem + 2.9vw,3.5rem);font-weight:400;line-height:1.04}.rf-lead{margin:var(--space-lg) 0 0;max-width:38ch;color:var(--color-ink-2);text-wrap:pretty;font-size:clamp(1.125rem,1.05rem + .3vw,1.375rem);line-height:1.5}.rf-actions{gap:var(--space-md);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.rf-btn{min-height:3rem;padding-inline:var(--space-lg);border-radius:var(--radius-pill);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);justify-content:center;align-items:center;font-size:1rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.rf-btn-primary{background:var(--color-accent);color:var(--color-accent-ink);box-shadow:inset 0 1px 0 color-mix(in oklab, var(--color-light) 35%, transparent)}.rf-btn-primary:hover{background:var(--color-accent-hover)}.rf-btn-clear{background:color-mix(in oklab, var(--color-light) 80%, transparent);color:var(--color-ink);box-shadow:var(--edge-light), 0 0 0 1px var(--color-line)}.rf-btn-clear:hover{background:var(--color-light)}.rf-btn:active{transform:translateY(1px)}.rf-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;transition:none}.rf-visual{isolation:isolate;row-gap:var(--space-md);padding:var(--space-lg) var(--space-md);border-radius:var(--radius-card);grid-template-columns:repeat(12,minmax(0,1fr));align-content:center;min-width:0;display:grid;position:relative}.rf-light{z-index:-1;border-radius:inherit;background-color:var(--color-shade);position:absolute;inset:0;overflow:hidden}.rf-light:before{content:"";background:url(/home/light-water.webp) 0 0/640px 640px;width:calc(100% + 640px);height:calc(100% + 640px);position:absolute;top:-640px;left:-640px}@media (prefers-reduced-motion:no-preference){.rf-light:before{will-change:transform;animation:60s linear infinite rf-drift}}@keyframes rf-drift{to{transform:translate(640px,640px)}}.rf-shot{padding:var(--space-sm);border-radius:var(--radius-card);background:color-mix(in oklab, var(--color-light) 92%, transparent);box-shadow:var(--edge-light), var(--shadow-card);transition:transform var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out);margin:0;position:relative}.rf-shot img{border-radius:var(--radius-inner);width:100%;height:auto;display:block}.rf-shot figcaption{padding:var(--space-3xs) var(--space-xs) var(--space-sm);text-wrap:balance;color:var(--color-ink-2);font-size:.8125rem;line-height:1.4}.rf-shot figcaption a{color:inherit;font-weight:500;text-decoration:none}.rf-shot figcaption a:after{content:"";border-radius:inherit;position:absolute;inset:0}.rf-shot figcaption a:focus-visible{outline:none;transition:none}.rf-shot figcaption a:focus-visible:after{outline:2px solid var(--color-focus);outline-offset:3px}.rf-shot:hover{box-shadow:var(--edge-light), var(--shadow-cast);transform:translateY(-2px)}.rf-shot-lead{grid-area:1/1/auto/span 11}.rf-shot-second{margin-top:calc(-1 * var(--space-2xl));z-index:2;background:var(--color-light);grid-area:2/3/auto/span 10}@media (prefers-reduced-motion:reduce){.rf-shot,.rf-btn{transition:none}.rf-shot:hover{transform:none}}@media (min-width:64rem){.rf-wrap{gap:var(--gap-columns);min-height:calc(100svh - 4.0625rem);padding-block:var(--space-xl);grid-template-columns:minmax(0,10fr) minmax(0,14fr)}.rf-visual{padding:var(--space-xl) var(--space-lg)}.rf-light{-webkit-mask-image:linear-gradient(to right, transparent 0, var(--color-ink) 18%);mask-image:linear-gradient(to right, transparent 0, var(--color-ink) 18%)}.rf-shot-lead{grid-column:1/span 11}.rf-shot-second{margin-top:calc(-1 * var(--space-3xl));grid-column:5/span 8}}
.hm-device{--b:clamp(0, calc((var(--p,1) - .2) / .2), 1);--sep:clamp(0, min(calc((var(--p,1) - .45) / .12), calc((.8 - var(--p,1)) / .1)), 1);--l:clamp(0, calc((var(--p,1) - .78) / .1), 1);aspect-ratio:16/10;width:100%;transform-style:preserve-3d;transform:rotateY(calc((1 - var(--l)) * -16deg)) rotateX(calc((1 - var(--l)) * 7deg)) scale(calc(1 + var(--l) * .03));position:relative}.hm-device.hm-flat{transform:none}.hm-device:before{content:"";transform:translateZ(calc(var(--sep) * -110px));background:#fff;border-radius:14px;position:absolute;inset:0;box-shadow:0 24px 60px #14161a38}.hm-chrome{border-bottom:1px solid #dcdad4;align-items:center;gap:1.2%;height:9%;padding-left:3%;display:flex;position:absolute;inset:0 0 auto}.hm-chrome span{aspect-ratio:1;background:#c9c6be;border-radius:50%;width:1.6%}.hm-body{transform-style:preserve-3d;position:absolute;inset:12% 3% 3%}.hm-slice{transform:translateZ(calc(var(--sep) * var(--z) * 1px));align-items:center;gap:2%;display:flex;position:absolute;left:0;right:0}.hm-s0{--z:90;height:11%;top:0}.hm-s1{--z:30;align-items:stretch;height:44%;top:15%}.hm-s2{--z:-30;height:22%;top:63%}.hm-s3{--z:-90;height:11%;top:89%}.hm-el{border-radius:4px;display:block;position:relative}.hm-el:before,.hm-el:after{content:"";border-radius:inherit;position:absolute;inset:0}.hm-el:before{background:var(--fill);opacity:var(--b)}.hm-el:after{opacity:calc(1 - var(--b) * .9);border:1.5px dashed #8a9096}.hm-f-accent{--fill:#0f4c5c}.hm-f-ink{--fill:#555a61}.hm-f-mist{--fill:#e6e2d9}.hm-f-signal{--fill:#8fd3e0}.hm-grow{flex:1}.hm-logo{width:12%;height:62%}.hm-link{width:8%;height:26%}.hm-nav .hm-cta{width:12%;height:62%}.hm-col{flex-direction:column;justify-content:center;gap:5%;width:52%;display:flex}.hm-h1{width:96%;height:15%}.hm-h2{width:70%;height:15%}.hm-p{width:90%;height:6%}.hm-short{width:60%}.hm-col .hm-cta{width:34%;height:13%}.hm-img{flex:1}.hm-card{flex:1;height:100%}.hm-fcol{flex:1;height:50%}.hm-live{color:#14161a;opacity:var(--l);background:#8fd3e0;border-radius:999px;padding:.2em .8em;font-size:.75rem;font-weight:600;position:absolute;top:-4%;right:3%}.hm-stack{aspect-ratio:16/10;perspective:1400px;position:relative}.hm-layer{position:absolute;inset:0}.hm-layer-wire{opacity:0;animation:1.8s cubic-bezier(.2,.7,.2,1) both hm-wire}.hm-layer-colour{opacity:0;animation:1.8s cubic-bezier(.2,.7,.2,1) both hm-colour}.hm-layer-final{animation:1.8s cubic-bezier(.2,.7,.2,1) both hm-final}@keyframes hm-wire{0%{opacity:0;transform:translate3d(-9%,8%,-140px)rotateY(-16deg)}35%{opacity:.9}to{opacity:0;transform:none}}@keyframes hm-colour{0%{opacity:0;transform:translate3d(7%,-7%,-70px)rotateY(-9deg)}40%{opacity:.9}to{opacity:0;transform:none}}@keyframes hm-final{0%{opacity:0;transform:translateY(4%)scale(.96)}45%{opacity:0}to{opacity:1;transform:none}}.hm-story{--hm-ink:#14161a;background:var(--hm-ink);color:#fff;position:relative}.hm-pin{max-width:1200px;margin-inline:auto;padding:clamp(4rem,8vw,7rem) 1rem}@media (min-width:768px){.hm-pin{padding-inline:2rem}}.hm-frames{grid-template-columns:1fr;gap:3rem;margin:3rem 0 0;padding:0;list-style:none;display:grid}@media (min-width:768px){.hm-frames{grid-template-columns:repeat(2,1fr)}}.hm-frame-mock{perspective:1600px}.hm-frames h3{margin:1.25rem 0 .25rem}.hm-frames p{color:#b4b9c0;margin:0}.hm-stagewrap{display:none}.hm-story[data-pin]{height:calc(100svh + 150vh)}@media (min-width:768px){.hm-story[data-pin]{height:calc(100svh + 300vh)}}.hm-story[data-pin] .hm-pin{box-sizing:border-box;grid-template-rows:auto 1fr;height:100svh;padding-block:clamp(1.5rem,5vh,4rem);display:grid;position:sticky;top:0}.hm-story[data-pin] .hm-frames{display:none}.hm-story[data-pin] .hm-stagewrap{align-content:center;gap:1.5rem;min-height:0;display:grid}.hm-stage-device{perspective:1600px;width:min(100%,56rem,max(18rem,160svh - 40rem));margin-inline:auto}.hm-caps{text-align:center;width:min(100%,36rem);min-height:6.5rem;margin-inline:auto;position:relative}.hm-cap{opacity:0;transition:opacity .45s,transform .45s;position:absolute;inset:0;transform:translateY(16px)}.hm-cap h3{margin:0 0 .25rem}.hm-cap p{color:#b4b9c0;margin:0}.hm-story[data-stage="0"] .hm-cap-0,.hm-story[data-stage="1"] .hm-cap-1,.hm-story[data-stage="2"] .hm-cap-2,.hm-story[data-stage="3"] .hm-cap-3{opacity:1;transform:none}.hm-stagebar{justify-content:center;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.hm-stagebar li{background:#555a61;width:2.5rem;height:3px}.hm-story[data-stage="0"] .hm-stagebar li:nth-child(-n+1),.hm-story[data-stage="1"] .hm-stagebar li:nth-child(-n+2),.hm-story[data-stage="2"] .hm-stagebar li:nth-child(-n+3),.hm-story[data-stage="3"] .hm-stagebar li:nth-child(-n+4){background:#8fd3e0}.hm-line{display:block}.hm-line[data-reveal]{transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}.hm-line[data-reveal=pending]{opacity:0;transform:translateY(32px)}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.hm-line{animation:linear both hm-rise;animation-timeline:view();animation-range:entry 5% entry 70%}}}@keyframes hm-rise{0%{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}.hm-timeline{margin:0;padding:0 0 0 3.5rem;list-style:none;position:relative}.hm-timeline:before,.hm-timeline:after{content:"";width:2px;position:absolute;top:1rem;bottom:2rem;left:1rem}.hm-timeline:before{background:#dcdad4}.hm-timeline:after{transform-origin:top;background:#0f4c5c}.hm-step{padding-bottom:2.5rem;position:relative}.hm-dot{z-index:1;color:#fff;background:#0f4c5c;border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.875rem;font-weight:600;display:grid;position:absolute;top:0;left:-3.5rem}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.hm-timeline:after{animation:linear both hm-fill;animation-timeline:view();animation-range:entry 30% exit 30%;transform:scaleY(0)}}}@keyframes hm-fill{to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.hm-layer-wire,.hm-layer-colour{opacity:0;animation:none}.hm-layer-final{opacity:1;animation:none}.hm-cap{transition:none}}
