.cfw{--paper:#fbfaf7;--ink:#0f1418;--dim:#0f141899;--faint:#0f141861;--hair:#0f14181a;--water:#0b8fd4;--water-deep:#086da3;--aqua-hi:#eaf7ff;--sans:var(--font-sans), system-ui, -apple-system, "Segoe UI", sans-serif;--serif:var(--font-serif), Georgia, serif;--mono:var(--font-mono), ui-monospace, "SF Mono", Menlo, monospace;--maxw:1240px;--pad:clamp(20px, 5vw, 72px);--ease:cubic-bezier(.22, .61, .36, 1);font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:18px;line-height:1.45;overflow-x:clip}.cfw ::selection{background:#0b8fd438}.cfw a{color:inherit;text-decoration:none}.cfw button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}.cfw img,.cfw svg,.cfw canvas{max-width:100%;display:block}.cfw .cfw-display{letter-spacing:-.045em;font-size:clamp(64px,11.5vw,178px);font-weight:640;line-height:.98}.cfw .cfw-statement{letter-spacing:-.04em;font-size:clamp(44px,7.6vw,112px);font-weight:620;line-height:1}.cfw .cfw-numeral{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:clamp(110px,21vw,300px);font-weight:650;line-height:.9}.cfw .cfw-sub{letter-spacing:-.01em;font-size:clamp(18px,2vw,24px);font-weight:480;line-height:1.45}.cfw .cfw-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-size:14px;font-weight:560}.cfw .cfw-serif{font-family:var(--serif);letter-spacing:-.015em;font-style:italic;font-weight:400}.cfw .cfw-nav{z-index:60;padding:20px var(--pad);text-shadow:0 1px 12px #ffffff8c;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.cfw .cfw-wordmark{letter-spacing:-.02em;align-items:center;gap:10px;font-size:16px;font-weight:620;display:flex}.cfw .cfw-navlinks{align-items:center;gap:26px;display:flex}.cfw .cfw-navlink{color:var(--dim);transition:color .25s var(--ease);font-size:14.5px;font-weight:500}.cfw .cfw-navlink:hover{color:var(--ink)}.cfw .cfw-navbtn{color:#fff;background:var(--ink);transition:transform .25s var(--ease), background .25s var(--ease);border-radius:999px;padding:10px 20px;font-size:14.5px;font-weight:560;box-shadow:0 6px 24px #0f141840}.cfw .cfw-navbtn:hover{background:#000;transform:translateY(-1px)}.cfw .cfw-btn{letter-spacing:-.01em;transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);border-radius:999px;align-items:center;gap:10px;padding:17px 32px;font-size:clamp(16px,1.6vw,19px);font-weight:580;display:inline-flex}.cfw .cfw-btn-ink{background:var(--ink);color:#fff;box-shadow:0 14px 40px #0f141842}.cfw .cfw-btn-ink:hover{background:#000;transform:translateY(-2px);box-shadow:0 20px 56px #0f141857}.cfw .cfw-btn-water{color:#fff;background:linear-gradient(150deg,#2fb1e8,#0b7fc0);box-shadow:0 14px 44px #0b8fd466}.cfw .cfw-btn-water:hover{transform:translateY(-2px);box-shadow:0 22px 60px #0b8fd480}.cfw .cfw-btn-glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);background:#ffffffa8;border:1px solid #0f14181a;box-shadow:0 10px 30px #0f14181f}.cfw .cfw-btn-glass:hover{transform:translateY(-2px);box-shadow:0 16px 44px #0f14182e}.cfw .cfw-sticky{height:100svh;position:sticky;top:0;overflow:hidden}.cfw .cfw-scene-img{object-fit:cover;will-change:transform;width:112%;max-width:none;height:112%;position:absolute;inset:-6%}.cfw .cfw-halo{pointer-events:none;background:radial-gradient(62% 46% at 50% 46%,#ffffffc7 0%,#ffffff52 52%,#fff0 78%);position:absolute;inset:0}.cfw .cfw-editor{background:#101720;border:1px solid #0f141833;border-radius:18px;width:min(620px,90vw);overflow:hidden;box-shadow:0 70px 160px #0f1e2c61,0 24px 60px #0f1e2c38}.cfw .cfw-editor-bar{font-family:var(--mono);color:#ffffff6b;border-bottom:1px solid #ffffff12;align-items:center;gap:8px;padding:13px 18px;font-size:12.5px;display:flex}.cfw .cfw-editor-bar i{border-radius:50%;width:11px;height:11px}.cfw .cfw-editor-bar i:first-child{background:#ff5f57}.cfw .cfw-editor-bar i:nth-child(2){background:#febc2e}.cfw .cfw-editor-bar i:nth-child(3){background:#28c840}.cfw .cfw-editor pre{font-family:var(--mono);color:#cbd8e4;padding:22px 26px 28px;font-size:clamp(13.5px,1.4vw,16.5px);line-height:1.8;overflow:hidden}.cfw .cfw-code-line{white-space:pre;display:block}.cfw .cfw-code-line .tk-kw{color:#6fc9ff}.cfw .cfw-code-line .tk-fn{color:#c0a9ff}.cfw .cfw-code-line .tk-str{color:#8fe3b4}.cfw .cfw-code-line .tk-cm{color:#ffffff52;font-style:italic}.cfw .cfw-caret{vertical-align:text-bottom;background:#4cc3ff;width:9px;height:1.05em;animation:1.05s step-end infinite cfw-caret;display:inline-block}@keyframes cfw-caret{50%{opacity:0}}.cfw .cfw-chat{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border:1px solid #fffc;border-radius:26px;flex-direction:column;gap:13px;width:min(560px,90vw);padding:clamp(22px,3vw,34px);display:flex;box-shadow:0 60px 140px #083c6040,0 20px 50px #083c6024}.cfw .cfw-chat-label{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:4px;font-size:12.5px;font-weight:560}.cfw .cfw-chat-msg{letter-spacing:-.01em;text-align:left;border-radius:20px;max-width:86%;padding:13px 19px;font-size:clamp(15px,1.6vw,18px);font-weight:500;line-height:1.4}.cfw .cfw-chat-msg.you{background:var(--ink);color:#fff;border-bottom-right-radius:7px;align-self:flex-end}.cfw .cfw-chat-msg.ai{background:var(--aqua-hi);color:var(--ink);border:1px solid #0b8fd429;border-bottom-left-radius:7px;align-self:flex-start}.cfw .cfw-browser{background:#fff;border:1px solid #0f14181f;border-radius:18px;width:min(620px,90vw);overflow:hidden;box-shadow:0 70px 160px #0f1e2c4d,0 24px 60px #0f1e2c2e}.cfw .cfw-browser-bar{border-bottom:1px solid var(--hair);align-items:center;gap:8px;padding:12px 16px;display:flex}.cfw .cfw-browser-bar i{border-radius:50%;width:11px;height:11px}.cfw .cfw-browser-bar i:first-child{background:#ff5f57}.cfw .cfw-browser-bar i:nth-child(2){background:#febc2e}.cfw .cfw-browser-bar i:nth-child(3){background:#28c840}.cfw .cfw-browser-url{font-family:var(--mono);color:var(--dim);text-align:center;background:#f1f4f6;border-radius:999px;flex:1;margin-left:8px;padding:7px 16px;font-size:13px}.cfw .cfw-browser-body{flex-direction:column;align-items:flex-start;gap:14px;padding:clamp(22px,3vw,32px);display:flex}.cfw .cfw-browser-live{color:#0a7d43;background:#e5f7ec;border-radius:999px;align-items:center;gap:7px;padding:5px 13px;font-size:12.5px;font-weight:600;display:inline-flex}.cfw .cfw-browser-hero{background:linear-gradient(150deg,#2fb1e8,#086da3);border-radius:14px;width:100%;height:clamp(96px,14vw,150px)}.cfw .cfw-browser-line{background:#0f141814;border-radius:6px;height:12px}.cfw .cfw-drop{filter:drop-shadow(0 50px 90px #086da36b)}.cfw .cfw-prop{background:#fff;border-radius:28px;box-shadow:0 60px 140px #083c6040,0 20px 50px #083c6024,0 0 0 1px #083c600d}.cfw .cfw-stats{grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,44px);display:grid}.cfw .cfw-stat h3{letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:clamp(44px,5.6vw,84px);font-weight:640;line-height:1}.cfw .cfw-stat p{color:var(--dim);margin-top:10px;font-size:clamp(15px,1.5vw,18px);line-height:1.4}@media (max-width:900px){.cfw .cfw-stats{grid-template-columns:1fr 1fr;row-gap:44px}}.cfw .cfw-join-card{-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);background:#ffffffd1;border:1px solid #ffffffb3;border-radius:28px;padding:clamp(28px,5vw,48px);box-shadow:0 40px 110px #083c6047}.cfw .cfw-join-label{color:var(--dim);flex-direction:column;gap:8px;font-size:14.5px;font-weight:560;display:flex}.cfw .cfw-join-input{font:inherit;color:var(--ink);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);background:#fff;border:1px solid #0f141824;border-radius:14px;outline:none;padding:13px 16px;font-size:16px}.cfw .cfw-join-input::placeholder{color:var(--faint)}.cfw .cfw-join-input:focus{border-color:var(--water);box-shadow:0 0 0 4px #0b8fd429}.cfw .cfw-footer{color:#fff;background:linear-gradient(#064a6c80,#032c42c7),url(/codeforwater/pool.jpg) 50%/cover}.cfw .cfw-footer .cfw-wordmark{text-shadow:none}.cfw .cfw-footer a{color:#ffffffd1;transition:color .25s var(--ease)}.cfw .cfw-footer a:hover{color:#fff}.cfw .cfw-grain{z-index:55;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.9s steps(2,end) infinite cfw-grain;position:fixed;inset:-60px}@keyframes cfw-grain{0%{transform:translate(0,0)}50%{transform:translate(-28px,18px)}to{transform:translate(16px,-22px)}}.cfw .cfw-cue{color:var(--dim);letter-spacing:.2em;text-transform:uppercase;flex-direction:column;align-items:center;gap:10px;font-size:12px;font-weight:560;display:flex}.cfw .cfw-cue i{width:1.5px;height:48px;animation:cfw-cue 2.2s var(--ease) infinite;transform-origin:top;background:linear-gradient(#0f14188c,#0f141800)}@keyframes cfw-cue{0%{opacity:0;transform:scaleY(0)}35%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)translateY(26px)}}.cfw.cfw-static [data-fx]{opacity:1!important;transform:none!important}.cfw.cfw-static .cfw-phone{height:520px}.cfw .cfw-rise{opacity:0;animation:cfw-rise 1.2s var(--ease) forwards;transform:translateY(30px)}.cfw .cfw-rise-1{animation-delay:.12s}.cfw .cfw-rise-2{animation-delay:.34s}.cfw .cfw-rise-3{animation-delay:.58s}.cfw .cfw-rise-4{animation-delay:.92s}@keyframes cfw-rise{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.cfw .cfw-rise{animation-duration:10ms;animation-delay:0s}.cfw .cfw-feed,.cfw .cfw-grain{animation:none}}
