:root{--paper:#faf9f6;--ink:#262626;--muted:#5f5d58;--subtle:#9a978f;--line:#e4e1da;--soft:#f1efe9;--lilac:#9f86ff;--lilac-deep:#7c5cff;--yellow:#ffd24a;--pink:#ff74c5;--lime:#9be15d;--orange:#ff8e3c;--night:#232323;--plum:#2c1c5e;--danger:#d1453b;--radius:22px;--radius-lg:32px;--container:1240px;--serif:"Instrument Serif", "Times New Roman", serif;--sans:"Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif;--ease:cubic-bezier(.2, .75, .1, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.55}*,:before,:after{box-sizing:border-box}html{overflow-x:hidden}body{min-height:100vh;margin:0;overflow-x:hidden}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block}::selection{background:var(--lilac);color:#fff}:focus-visible{outline:2px solid var(--lilac-deep);outline-offset:3px;border-radius:6px}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}.container-wide{padding:0 24px}.narrow{max-width:720px;margin-left:auto;margin-right:auto}.muted{color:var(--muted)}.display,.display-sm,.statement,.section-head h2,.stat-value{font-family:var(--serif);font-weight:400}.display{letter-spacing:-.025em;max-width:13ch;margin:0 auto;font-size:clamp(3.4rem,8.6vw,8.4rem);line-height:.88}.display-sm{letter-spacing:-.02em;max-width:16ch;font-size:clamp(2.8rem,6vw,5.6rem);line-height:.9}.lead{color:var(--muted);max-width:54ch;font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.55}.eyebrow{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;font-size:.78rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--lilac);border-radius:50%;width:9px;height:9px;animation:2.4s ease-in-out infinite pulse;box-shadow:0 0 0 4px #9f86ff38}@keyframes pulse{50%{box-shadow:0 0 0 8px #9f86ff00}}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--subtle);font-size:.78rem;font-weight:600}.statement{letter-spacing:-.015em;font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.02}em{font-family:var(--serif);font-size:1.12em;font-style:italic}.btn{--btn-bg:transparent;--btn-fg:var(--ink);--btn-border:var(--ink);isolation:isolate;height:46px;color:var(--btn-fg);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0 26px;font-size:.8rem;font-weight:700;display:inline-flex;position:relative}.btn:before{content:"";z-index:-1;border:1.5px solid var(--btn-border);background:var(--btn-bg);transition:transform .45s var(--spring), background .25s;border-radius:7px;position:absolute;inset:0;transform:skew(-14deg)}.btn:hover:before{transform:skew(-4deg)scale(1.06,1.1)}.btn:active:before{transform:skew(-14deg)scale(.96)}.btn:disabled{opacity:.55;cursor:progress}.btn-sm{height:38px;padding:0 20px;font-size:.74rem}.btn-dark{--btn-bg:var(--ink);--btn-fg:#fff}.btn-dark:hover:before{background:var(--lilac-deep);border-color:var(--lilac-deep)}.btn-light{--btn-bg:#fff;--btn-border:#fff;--btn-fg:var(--ink)}.btn-light:hover:before{background:var(--yellow);border-color:var(--yellow)}.btn-ghost:hover:before{background:var(--ink)}.btn-ghost:hover{color:#fff}.arrow{transition:transform .3s var(--spring)}a:hover>.arrow,a:hover .arrow,.btn:hover .arrow{transform:translate(3px,-3px)}.link-more{text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:.78rem;font-weight:700;display:inline-flex}.link-more:hover{color:var(--lilac-deep)}.back{color:var(--muted);margin-bottom:32px;font-size:.85rem;font-weight:600;display:inline-block}.back:hover{color:var(--ink)}.reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transition-delay:var(--d,0s);transform:translateY(28px)}.reveal.in{opacity:1;transform:none}.reveal:has(>.reveal-child){opacity:1;transform:none}.reveal-child{opacity:0;transition:opacity .8s var(--ease), transform .9s var(--spring);transition-delay:var(--d,0s);transform:translateY(40px)rotate(1.5deg)scale(.97)}.reveal.in .reveal-child{opacity:1;transform:none}.split-words .word-mask{vertical-align:top;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:hidden}.split-words .word{transform-origin:0 100%;transition:transform 1s var(--ease);display:inline-block;transform:translateY(105%)rotate(6deg)}.split-words.in .word{transform:none}.mascot{overflow:visible}.mascot .shadow{fill:#0000001f;transform-box:fill-box;transform-origin:50%}.eye{transform-box:fill-box;transform-origin:50%;animation:5.2s infinite blink}.eye>g{transition:transform .12s linear}@keyframes blink{0%,93%,to{transform:scaleY(1)}95.5%{transform:scaleY(.08)}}.housy .leg{transform-box:view-box;animation:.9s ease-in-out infinite alternate walk}.housy .leg-l{transform-origin:90px 188px}.housy .leg-r{transform-origin:130px 188px;animation-direction:alternate-reverse}@keyframes walk{0%{transform:rotate(16deg)}to{transform:rotate(-16deg)}}.housy-body{animation:.45s ease-in-out infinite alternate bob}.housy .shadow{animation:.45s ease-in-out infinite alternate shadow}@keyframes bob{to{transform:translateY(-5px)}}@keyframes shadow{to{transform:scaleX(.88)}}.arm-wave{transform-box:view-box;transform-origin:188px 136px;animation:wave 1.6s var(--ease) infinite}@keyframes wave{0%,60%,to{transform:rotate(0)}15%,45%{transform:rotate(-26deg)}30%{transform:rotate(8deg)}}.blob-body{transform-box:fill-box;transform-origin:50% 100%;animation:2.8s ease-in-out infinite squish}@keyframes squish{0%,to{transform:scale(1)}50%{transform:scale(1.04,.95)}}.blob .foot{transform-box:fill-box;transform-origin:50%}.ring{animation:6s ease-in-out infinite float,24s linear infinite spin}@keyframes float{50%{translate:0 -18px}}@keyframes spin{to{rotate:360deg}}.circle-text{aspect-ratio:1;width:clamp(150px,15vw,200px);position:relative}.circle-text>svg{width:100%;height:100%;animation:22s linear infinite spin}.circle-text text{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;fill:var(--ink);font-size:15.5px;font-weight:600}.circle-text-center{place-items:center;display:grid;position:absolute;inset:26%}.marquee{border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);margin:40px 0 0;padding:26px 0;overflow:hidden}.marquee-track{width:max-content;animation:marquee var(--speed,40s) linear infinite;animation-direction:var(--dir,normal);display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-group{align-items:center;display:flex}@keyframes marquee{to{transform:translate(-50%)}}.marquee-item{font-family:var(--serif);white-space:nowrap;align-items:center;gap:36px;padding-right:36px;font-size:clamp(2.4rem,5vw,4.6rem);line-height:1;transition:color .3s;display:inline-flex}.marquee-item:hover{color:var(--lilac-deep);font-style:italic}.marquee-sep{border-radius:50% 50% 50% 0;width:.5em;height:.5em;display:inline-block;rotate:-45deg}.art{border-radius:var(--radius);background:var(--tint,var(--soft));isolation:isolate;position:relative;overflow:hidden}.art-glow{background:radial-gradient(60% 70% at 80% 10%, color-mix(in srgb, var(--accent) 35%, transparent), transparent 70%), radial-gradient(70% 60% at 10% 100%, color-mix(in srgb, var(--c) 30%, transparent), transparent 70%);position:absolute;inset:0}.art-blob{width:46%;rotate:var(--tilt,0deg);transition:translate .6s var(--spring), scale .6s var(--spring);position:absolute;bottom:-6%}.art-ring{opacity:.9;width:34%;position:absolute;top:8%;right:6%}.art-content{z-index:2;align-items:flex-end;padding:24px;display:flex;position:absolute;inset:0}.banner{aspect-ratio:16/7;border-radius:var(--radius-lg);min-height:300px;margin-bottom:clamp(48px,6vw,80px)}.banner .art-blob{width:30%}.about-housy{width:clamp(130px,18%,240px);position:absolute;bottom:6%;right:8%}.pusher{--p:0;--from:-110vw;--dir:1;--w:var(--mascot-w,clamp(90px, 9vw, 150px));display:flex}.pusher-right{--from:110vw;--dir:-1;justify-content:flex-end}.pusher-mover{width:fit-content;transform:translateX(calc((1 - var(--p)) * var(--from)));will-change:transform;position:relative}.pusher-block,.pusher-block .pusher-mover,.pusher-block .pusher-load{width:100%}.pusher-load{transition:transform .4s var(--ease);transform-origin:50% 100%}.pusher-mascot{width:var(--w);z-index:2;position:absolute;bottom:0}.pusher-push.pusher-left .pusher-mascot{right:calc(100% + var(--w) * .1)}.pusher-push.pusher-right .pusher-mascot{left:calc(100% + var(--w) * .1)}.pusher-pull.pusher-left .pusher-mascot{left:calc(100% + var(--w) * .6)}.pusher-pull.pusher-right .pusher-mascot{right:calc(100% + var(--w) * .6)}.pusher-rope{bottom:calc(var(--w) * .31);width:calc(var(--w) * .5);height:calc(var(--w) * .12);z-index:1;position:absolute;overflow:visible}.pusher-left .pusher-rope{left:100%}.pusher-right .pusher-rope{right:100%}.pusher-rope path{fill:none;stroke:#8a5a2b;stroke-width:3.2px;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:7 3;transition:opacity .35s}.rope-taut{opacity:0}.pusher[data-state=moving] .rope-taut{opacity:1;animation:.4s linear infinite rope-run}.pusher[data-state=moving] .rope-slack{opacity:0}@keyframes rope-run{to{stroke-dashoffset:calc(var(--dir) * -20)}}.pusher-body{--flip:1;--lean:4deg;transform-origin:50% 100%;transform:scaleX(var(--flip)) rotate(var(--lean));transition:transform .4s var(--spring);position:relative}.pusher-body.is-flipped{--flip:-1}.pusher-pull .pusher-body{--lean:-4deg}.pusher-push[data-state=moving] .pusher-body{--lean:17deg}.pusher-pull[data-state=moving] .pusher-body{--lean:-17deg}.pusher[data-state=done] .pusher-mascot{animation:hop .7s var(--spring)}@keyframes hop{0%{translate:0}35%{translate:0 -26px}60%{translate:0;scale:1.08 .9}to{translate:0;scale:1}}.pusher[data-state=done] .pusher-load{animation:thud .55s var(--spring)}@keyframes thud{30%{transform:scale(1.025,.96)}}.manifesto-line[data-state=moving] .pusher-load{transform:skewX(calc(var(--dir) * 5deg))}.pusher:not([data-state=moving]) .housy .leg,.pusher:not([data-state=moving]) .housy-body{animation-play-state:paused}.pusher[data-state=moving] .blob-body{animation:.32s ease-in-out infinite alternate waddle}.pusher[data-state=moving] .blob .foot-l{animation:.32s ease-in-out infinite alternate step}.pusher[data-state=moving] .blob .foot-r{animation:.32s ease-in-out infinite alternate-reverse step}@keyframes waddle{0%{transform:rotate(-4deg)scale(1.03,.97)}to{transform:rotate(4deg)scale(.97,1.03)}}@keyframes step{0%{transform:translateY(0)}to{transform:translateY(-9px)}}.pusher[data-state=moving] .arms-push .arm{animation:.32s ease-in-out infinite alternate shove}.pusher[data-state=moving] .arms-pull .arm{animation:.32s ease-in-out infinite alternate tug}.pusher[data-state=moving] .arm-1{animation-direction:alternate-reverse}@keyframes shove{0%{transform:translate(-5px)}to{transform:translate(4px)}}@keyframes tug{0%{transform:translate(5px)}to{transform:translate(-4px)}}.dust{width:calc(var(--w) * .16);aspect-ratio:1;opacity:0;pointer-events:none;background:#d9d4ca;border-radius:50%;position:absolute;bottom:2%;left:4%}.pusher[data-state=moving] .dust{animation:.7s ease-out infinite puff}.pusher[data-state=moving] .dust-2{animation-delay:.23s;left:18%}.pusher[data-state=moving] .dust-3{animation-delay:.46s;left:-4%}@keyframes puff{0%{opacity:.9;transform:translate(0)scale(.3)}to{opacity:0;transform:translate(-36px,-18px)scale(1.5)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal,.reveal-child,.split-words .word{opacity:1!important;transform:none!important}.pusher{--p:1!important}}.c-container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}.c-section{padding-top:clamp(88px,12vw,150px)}.c-nav{z-index:40;-webkit-backdrop-filter:blur(14px);background:#faf9f6d1;align-items:center;gap:18px;padding:16px 28px;display:flex;position:sticky;top:0}.c-brand{font-family:var(--serif);align-items:center;gap:10px;font-size:1.9rem;line-height:1;display:flex}.c-brand-blob{width:40px;transition:transform .5s var(--spring)}.c-brand:hover .c-brand-blob{transform:rotate(-12deg)scale(1.1)}.c-badge{border:1.5px solid var(--line);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-radius:999px;margin-right:auto;padding:5px 12px;font-size:.72rem;font-weight:600;transition:border-color .3s,color .3s}.c-badge:hover{border-color:var(--ink);color:var(--ink)}.c-hero{border-radius:var(--radius-lg);background:radial-gradient(60% 70% at 85% 15%, color-mix(in srgb, var(--brand) 35%, transparent), transparent 70%), radial-gradient(60% 60% at 10% 100%, color-mix(in srgb, var(--brand) 22%, transparent), transparent 70%), color-mix(in srgb, var(--brand) 10%, var(--paper));isolation:isolate;margin:8px 16px 0;position:relative;overflow:hidden}.c-hero-content{text-align:center;flex-direction:column;align-items:center;gap:26px;padding:clamp(90px,13vw,170px) 24px clamp(110px,14vw,190px);display:flex}.c-hero-content .lead{margin:0 auto}.c-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.c-hero-blob{z-index:-1;width:clamp(160px,20vw,300px);animation:c-peek 1.2s var(--spring) .4s both;position:absolute;bottom:-9%;right:-3%;rotate:-16deg}.c-hero-ring{z-index:-1;width:clamp(110px,13vw,200px);position:absolute;top:8%;left:3%}@keyframes c-peek{0%{translate:30% 50%}}.c-words{padding:clamp(70px,9vw,120px) 0 0;overflow:hidden}.c-word-line{--mascot-w:clamp(70px, 9vw, 150px);justify-content:center}.c-word{font-family:var(--serif);white-space:nowrap;font-size:clamp(4rem,12vw,11rem);line-height:.88;display:block}.c-features{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;display:grid}.c-feature{border-radius:var(--radius);background:var(--soft);transition:transform .5s var(--spring);flex-direction:column;gap:10px;padding:30px;display:flex}.c-feature:hover{transform:translateY(-6px)rotate(-1deg)}.c-feature-blob{width:64px;margin-bottom:14px}.c-feature h3{font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1}.c-feature p{color:var(--muted)}.c-steps{border-top:1.5px solid var(--ink);margin:44px 0 0;padding:0;list-style:none}.c-steps li{border-bottom:1.5px solid var(--ink);align-items:baseline;gap:28px;padding:26px 0;display:flex}.c-step-n{font-family:var(--serif);color:var(--lilac-deep);min-width:1.2em;font-size:clamp(3rem,6vw,5rem);line-height:.8}.c-steps h3{font-size:1.15rem;font-weight:600}.c-steps p{color:var(--muted)}.c-join{grid-template-columns:1fr 1.1fr;align-items:start;gap:56px;display:grid}.c-join .lead{margin-top:22px}.c-form{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--lilac) 18%, var(--paper));flex-direction:column;gap:16px;padding:clamp(24px,4vw,40px);display:flex}.c-form label{text-transform:uppercase;letter-spacing:.06em;flex-direction:column;gap:8px;font-size:.75rem;font-weight:700;display:flex}.c-form em{font-family:var(--sans);text-transform:none;letter-spacing:0;color:var(--muted);font-size:1em;font-style:normal;font-weight:500}.c-form input,.c-form textarea{text-transform:none;letter-spacing:0;background:#fff;border:1.5px solid #0000;border-radius:12px;width:100%;padding:13px 15px;font-size:.98rem}.c-form input:focus,.c-form textarea:focus{border-color:var(--lilac-deep);outline:none;box-shadow:0 0 0 4px #7c5cff2e}.c-form .btn{align-self:flex-start;margin-left:6px}.c-form-done{text-align:center;align-items:center}.c-form-done .housy{width:120px}.c-form-done h3{font-family:var(--serif);font-size:2.4rem;font-weight:400}.c-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.c-error{color:#b4362d;background:#fdf0ef;border-radius:10px;padding:10px 14px}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.c-footer{border-top:1.5px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:clamp(100px,12vw,160px);padding:28px;font-size:.85rem;display:flex}.c-footer a:hover{color:var(--ink)}@media (width<=860px){.c-features,.c-join,.c-row{grid-template-columns:1fr}.c-badge{display:none}.c-nav .btn{margin-left:auto}.c-word-line{--mascot-w:60px}.c-word-line.pusher-pull.pusher-left .pusher-mascot{left:calc(100% + var(--w) * .42)}.c-word-line.pusher-pull.pusher-right .pusher-mascot{right:calc(100% + var(--w) * .42)}}
