/* Landing styles are isolated from the review workspace. */
.landing-mode{background:#f7f7f2}.login-screen{position:relative;inset:auto;display:block;min-height:100dvh;padding:0;background:#f7f7f2;color:#283d36;font:400 16px/24px Manrope,sans-serif;z-index:auto;overflow:clip}.login-screen p{margin:0;text-wrap:pretty}.login-screen a{color:inherit}.landing-header,.landing-main,.landing-footer{max-width:1280px;width:calc(100% - 96px);margin-inline:auto}.landing-header{display:flex;align-items:center;justify-content:space-between;padding-block:32px}.landing-brand{display:inline-flex;gap:12px;align-items:center;text-decoration:none;font-weight:600;font-size:24px;letter-spacing:-1px}.landing-brand svg{width:40px;height:40px}.landing-header-note{font-size:14px;color:#5c6c61}.login-screen .landing-main{padding:48px 0 0;max-width:1280px}.landing-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:64px}.landing-copy{padding-block:40px}.landing-eyebrow{font-size:14px;line-height:20px;color:#55685a;margin-bottom:24px!important}.login-screen h1{font:500 60px/1 Manrope,sans-serif;letter-spacing:-3px;margin:0 0 24px;max-width:680px;text-wrap:balance;background:linear-gradient(100deg,#182f26,#667269);color:#283d36;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-intro{font-size:18px;line-height:28px;color:#56665b;max-width:46ch;margin-bottom:32px!important}.login-screen .landing-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:48px;padding:12px 24px;text-decoration:none;font-weight:600;font-size:16px;color:#fffef7;background:#315b45;border-radius:8px;transition:transform .5s cubic-bezier(.22,1,.36,1),background-color .3s cubic-bezier(.22,1,.36,1)}.landing-cta svg{width:24px;height:24px}.login-screen .landing-cta:hover{background:#244934;transform:translateY(-2px)}.login-screen .landing-cta:active{transform:translateY(1px)}.landing-access{color:#637266;font-size:12px;line-height:16px;margin-top:12px!important;max-width:42ch}.landing-access[data-error=true]{padding:12px;color:#8c432e;background:#f5e5d9;border-radius:8px;font-size:14px;line-height:20px}.landing-integrations{display:flex;gap:12px;align-items:center;color:#667567;font-size:12px;line-height:16px;margin-top:40px!important}.landing-integrations span{color:#74816f}.landing-figure{margin:0;min-width:0}.shore-scene{--sky:#d0d6d5;--haze:#c5c7bb;--sea:#829c9b;--foam:#edf0df;--wet-sand:#c8c0a4;--sand:#e1d6bc;--dune-back:#b4ba99;--dune-front:#9ca982;--grass:#63785e;--celestial:#f9e9ba;--spark:#fbf3cd;--stars:0;--sun:1;--moon:0;--birds:.65;position:relative;aspect-ratio:1/1.08;border-radius:24px;overflow:hidden;background:var(--sky);isolation:isolate}.shore-art{width:100%;height:100%;display:block}.shore-sky{fill:var(--sky)}.shore-haze{fill:var(--haze);opacity:.35}.shore-sun,.shore-moon{fill:var(--celestial)}.shore-halo{fill:var(--celestial);opacity:.07}.shore-daylight{opacity:var(--sun)}.shore-moonlight{opacity:var(--moon)}.shore-moon-crater{fill:var(--sky);opacity:.12}.shore-stars{fill:var(--spark);color:var(--spark);opacity:var(--stars)}.shore-clouds{fill:none;stroke:var(--foam);stroke-width:12;stroke-linecap:round;opacity:.2}.shore-island{fill:var(--grass);opacity:.2}.shore-sea{fill:var(--sea)}.shore-horizon{fill:none;stroke:var(--foam);stroke-width:2;opacity:.45}.shore-reflection{fill:none;stroke:var(--celestial);stroke-width:7;stroke-linecap:round;opacity:.22}.shore-ripples{fill:none;stroke:var(--foam);stroke-width:2;opacity:.3}.shore-swell{fill:var(--foam)}.swell-far{opacity:.11}.swell-near{opacity:.13}.shore-foam{fill:none;stroke:var(--foam);stroke-width:4;stroke-linecap:round;opacity:.7}.foam-far{opacity:.35}.shore-wet-sand{fill:var(--wet-sand)}.shore-sand{fill:var(--sand)}.shore-birds{color:var(--grass);opacity:var(--birds)}.shore-boat-hull{fill:var(--dune-back)}.shore-sail{fill:var(--foam)}.shore-sail-shadow{fill:var(--wet-sand)}.shore-ripple{fill:none;stroke:var(--foam);stroke-width:2;opacity:.6}.shore-dune-back{fill:var(--dune-back)}.shore-dune-front{fill:var(--dune-front)}.shore-grasses{color:var(--grass);opacity:.8}.shore-pebbles{fill:var(--wet-sand)}.shore-shimmer,.shore-fireflies{color:var(--spark)}.shore-fireflies{opacity:var(--stars)}.shore-grain{fill:#808080;opacity:.12;mix-blend-mode:soft-light;pointer-events:none}.shore-whisper{position:absolute;bottom:32px;left:32px;color:var(--foam);font-size:12px;line-height:16px;letter-spacing:.1px;background:#263d32bd;padding:8px 12px;border-radius:8px}.shore-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:48px;font-size:12px;line-height:16px;color:#617263;font-variant-numeric:tabular-nums}.shore-caption button{display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:8px 0 8px 12px;color:#4c6152;font-size:12px}.shore-caption button:hover{color:#244934}.shore-caption svg{width:16px;height:16px}
/* Each loop has a different rhythm. One shared gate pauses every animated layer. */
.shore-scene .shore-art *{animation-play-state:paused}
.shore-scene[data-motion=playing][data-in-view=true] .shore-art *{animation-play-state:running}
.shore-clouds path{animation:shore-cloud-drift 34s cubic-bezier(.45,0,.55,1) infinite}
.shore-clouds path:nth-child(2){animation-duration:41s;animation-delay:-18s}
.shore-clouds path:nth-child(3){animation-duration:29s;animation-delay:-9s}
.shore-ripples{animation:shore-water-drift 11s cubic-bezier(.45,0,.55,1) infinite}
.shore-reflection{opacity:.3}
.shore-reflection path{transform-box:fill-box;transform-origin:center;animation:shore-light 6s cubic-bezier(.45,0,.55,1) infinite}
.shore-reflection path:nth-child(2n){animation-duration:7s;animation-delay:-3s}
.shore-reflection path:nth-child(3n){animation-duration:5s;animation-delay:-1s}
.shore-swell{animation:shore-swell 10s cubic-bezier(.45,0,.55,1) infinite}
.swell-near{animation-duration:12s;animation-delay:-5s}
.foam-far{animation:shore-swell 11s cubic-bezier(.45,0,.55,1) infinite;animation-delay:-3s}
.shore-surf{animation:shore-surf 9s cubic-bezier(.45,0,.55,1) infinite;animation-delay:-2s}
.shore-wash{fill:var(--foam);opacity:.19}
.foam-near{opacity:.8}
.shore-boat-glide{animation:shore-boat-drift 22s cubic-bezier(.45,0,.55,1) infinite}
.shore-boat{transform-box:fill-box;transform-origin:50% 90%;animation:shore-boat-rock 5.5s cubic-bezier(.45,0,.55,1) infinite;animation-delay:-1s}
.shore-sail{transform-box:fill-box;transform-origin:bottom right;animation:shore-sail-breathe 4.5s cubic-bezier(.45,0,.55,1) infinite}
.shore-birds{animation:shore-bird-glide 28s cubic-bezier(.45,0,.55,1) infinite;animation-delay:-6s}
.shore-birds path{transform-box:fill-box;transform-origin:center;animation:shore-wings 2.5s cubic-bezier(.45,0,.55,1) infinite}
.shore-birds path:nth-child(2){animation-delay:-1s;animation-duration:3s}
.shore-grasses use,.shore-grasses>g>path{transform-box:fill-box;transform-origin:bottom center;animation:shore-breeze 6s cubic-bezier(.45,0,.55,1) infinite}
.shore-grasses use:nth-child(2),.shore-grasses>g>path:nth-child(2n){animation-duration:7s;animation-delay:-2s}
.shore-grasses use:nth-child(3),.shore-grasses>g>path:nth-child(3){animation-duration:5.5s;animation-delay:-4s}
.shore-shimmer use{animation:shore-glint 5s cubic-bezier(.45,0,.55,1) infinite}
.shore-shimmer use:nth-child(2){animation-delay:-2s;animation-duration:6s}
.shore-shimmer use:nth-child(3){animation-delay:-4s}
.shore-stars use,.shore-stars circle{animation:shore-star-shine 7s cubic-bezier(.45,0,.55,1) infinite}
.shore-stars :nth-child(2n){animation-delay:-3s;animation-duration:9s}
.shore-stars :nth-child(3n){animation-delay:-5s;animation-duration:6s}
.shore-fireflies use{animation:shore-firefly 9s cubic-bezier(.45,0,.55,1) infinite}
.shore-fireflies use:nth-child(2){animation-delay:-3s;animation-duration:11s}
.shore-fireflies use:nth-child(3){animation-delay:-6s;animation-duration:10s}
@keyframes shore-cloud-drift{0%,100%{transform:translateX(-20px)}50%{transform:translateX(24px)}}
@keyframes shore-water-drift{0%,100%{transform:translate(-12px,3px)}50%{transform:translate(18px,-7px)}}
@keyframes shore-light{0%,100%{transform:translateX(-8px) scaleX(.92);opacity:.4}50%{transform:translateX(12px) scaleX(1.08);opacity:1}}
@keyframes shore-swell{0%,100%{transform:translate(-6px,9px)}50%{transform:translate(18px,-26px)}}
@keyframes shore-surf{0%,100%{transform:translate(0,15px);opacity:.4}48%{transform:translate(10px,-25px);opacity:.9}}
@keyframes shore-boat-drift{0%,100%{transform:translate(-22px,0)}50%{transform:translate(54px,-5px)}}
@keyframes shore-boat-rock{0%,100%{transform:translateY(5px) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}
@keyframes shore-sail-breathe{0%,100%{transform:skewX(-1deg) scaleX(.98)}50%{transform:skewX(2deg) scaleX(1.02)}}
@keyframes shore-bird-glide{0%,100%{transform:translate(-28px,4px)}50%{transform:translate(65px,-18px)}}
@keyframes shore-wings{0%,100%{transform:scaleY(.7)}50%{transform:scaleY(1.15)}}
@keyframes shore-breeze{0%,100%{transform:rotate(-2deg) skewX(-1deg)}50%{transform:rotate(3deg) skewX(2deg)}}
@keyframes shore-glint{0%,100%{opacity:.2;transform:translate(-3px,4px)}50%{opacity:.9;transform:translate(5px,-5px)}}
@keyframes shore-star-shine{0%,100%{opacity:.3}50%{opacity:.95}}
@keyframes shore-firefly{0%,100%{transform:translate(-5px,4px);opacity:.25}50%{transform:translate(8px,-14px);opacity:.9}}

.landing-explainer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;padding-block:96px}.login-screen h2{font:500 36px/40px Manrope,sans-serif;letter-spacing:-1.5px;max-width:680px;margin:0;text-wrap:balance;align-self:start;padding-top:8px}.landing-tag-word{transition:opacity .7s cubic-bezier(.22,1,.36,1)}.landing-tagline-waiting .landing-tag-word{opacity:.3}.landing-steps{list-style:none;padding:0;margin:0;display:grid;gap:32px}.landing-steps li{display:grid;grid-template-columns:32px 1fr;gap:16px}.landing-step-number{font-size:12px;line-height:28px;font-variant-numeric:tabular-nums;color:#6d7c68}.landing-steps h3{font-size:18px;line-height:28px;font-weight:600;margin:0 0 8px;letter-spacing:-.4px}.landing-steps p{font-size:14px;line-height:20px;color:#5f6e61;max-width:45ch}.landing-footer{display:flex;gap:24px;flex-wrap:wrap;align-items:center;padding-block:24px 32px;border-top:1px solid #dfe2d7;font-size:12px;line-height:16px;color:#62705e}.landing-footer>span{color:#315b45;font-weight:600;font-size:16px}.landing-footer p:last-child{margin-left:auto}.landing-skip{position:absolute;left:24px;top:8px;transform:translateY(-150%);padding:12px 16px;background:#fffef7;border-radius:8px;z-index:2}.landing-skip:focus{transform:translateY(0)}.landing-noscript{padding:16px 24px;text-align:center;font-size:14px}.login-screen a:focus-visible,.login-screen button:focus-visible{outline:3px solid #98712f;outline-offset:5px}.landing-reveal{animation:landing-arrive .8s cubic-bezier(.22,1,.36,1) both}.landing-figure.landing-reveal{animation-delay:.08s}@keyframes landing-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.landing-header,.landing-main,.landing-footer{width:calc(100% - 64px)}.landing-hero,.landing-explainer{gap:40px}.login-screen h1{font-size:48px;line-height:1;letter-spacing:-2px}.landing-intro{font-size:16px;line-height:24px}.shore-scene{aspect-ratio:1/1.2}.shore-whisper{left:24px;bottom:24px}}
@media(max-width:760px){.landing-header,.landing-main,.landing-footer{width:calc(100% - 48px)}.landing-header{padding-block:24px}.landing-header-note{display:none}.login-screen .landing-main{padding-top:16px}.landing-hero{grid-template-columns:1fr;gap:32px}.landing-copy{padding-block:24px 0}.landing-eyebrow{margin-bottom:16px!important}.login-screen h1{font-size:36px;line-height:40px;letter-spacing:-1.5px}.landing-intro{max-width:44ch;margin-bottom:24px!important}.landing-integrations{margin-top:24px!important}.landing-figure{max-width:100%;width:100%}.shore-scene{aspect-ratio:1.15/1;max-height:480px}.shore-art{object-position:center 55%}.shore-whisper{bottom:24px;left:24px}.landing-explainer{grid-template-columns:1fr;gap:40px;padding-block:64px}.login-screen h2{font-size:30px;line-height:36px;letter-spacing:-1px}.landing-steps{gap:24px}.landing-footer{gap:16px;padding-block:24px}.landing-footer p:last-child{margin-left:0;flex-basis:100%}.landing-cta{width:100%;max-width:360px}.shore-caption{font-size:12px}.shore-caption button{padding-left:8px}}
@media(prefers-reduced-motion:reduce){.landing-reveal{animation:none!important}.landing-tag-word{opacity:1!important;transition:none!important}}
