:root { --ink:#171821; --muted:#72737f; --line:#e6e7ec; --accent:#226b5e; --accent-soft:#e3f2ec; --lime:#d8ff65; }
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:#fbfbfa;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-panel{display:grid;place-items:center;padding:45px 48px}.auth-inner{width:min(440px,100%)}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:25px;font-weight:800;letter-spacing:-.8px;margin-bottom:50px}.brand-mark{position:relative;width:29px;height:29px}.brand-mark i{position:absolute;width:13px;height:13px;border-radius:4px 9px 4px 9px;background:var(--ink)}.brand-mark i:nth-child(1){left:0;top:0;transform:rotate(-12deg)}.brand-mark i:nth-child(2){right:0;top:1px;transform:rotate(78deg);background:#8fb9ae}.brand-mark i:nth-child(3){left:7px;bottom:0;transform:rotate(168deg);background:var(--accent)}
.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:700;color:var(--accent);margin:0 0 11px}.auth-copy h1{font-size:36px;letter-spacing:-1.8px;margin:0 0 8px}.auth-copy>p:last-child{margin:0;color:var(--muted);font-size:14px}.social-stack{display:grid;grid-template-columns:1fr;gap:10px;margin-top:28px}.social-button{height:46px;display:flex;justify-content:center;align-items:center;gap:9px;border:1px solid var(--line);border-radius:11px;font-size:12px;font-weight:600;transition:.2s;background:white}.social-button:hover{border-color:#bfc8c5;transform:translateY(-1px);box-shadow:0 7px 16px rgba(22,23,35,.06)}.social-button svg{width:18px;height:18px}.social-button.unavailable{opacity:.48;cursor:not-allowed;filter:grayscale(.7)}
.divider{display:flex;align-items:center;gap:14px;color:#9899a3;font-size:10px;margin:24px 0}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}
.form-error{display:none;background:#fff2f2;color:#b52929;border:1px solid #ffd5d5;border-radius:9px;padding:10px 12px;margin-bottom:14px;font-size:11px}.form-error.show{display:block}.field{display:block;margin-bottom:15px}.field>span:first-child{display:block;font-size:11px;font-weight:600;margin-bottom:7px}.input-wrap{position:relative;display:block}.input-wrap>svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;fill:none;stroke:#9a9ba5;stroke-width:1.7}.input-wrap input{width:100%;height:47px;border:1px solid var(--line);border-radius:10px;padding:0 65px 0 42px;outline:none;font-size:13px;transition:.2s;background:#fff}.input-wrap input:focus{border-color:#99aaa5;box-shadow:0 0 0 3px rgba(34,107,94,.08)}.show-password{position:absolute;right:11px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--accent);font-size:10px;font-weight:600;cursor:pointer}.remember-row{display:flex;align-items:center;gap:8px;font-size:11px;margin:2px 0 17px;color:#555660}.remember-row input{accent-color:var(--accent)}.primary-button{height:48px;width:100%;border:0;border-radius:11px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px;font-weight:700;cursor:pointer;transition:.2s}.primary-button:hover{background:#292a34;box-shadow:0 10px 24px rgba(23,24,33,.16)}.primary-button:disabled{opacity:.6;cursor:wait}.primary-button b{font-size:16px}.switch-copy{text-align:center;font-size:11px;margin:21px 0 0;color:#696a75}.switch-copy a{color:var(--accent);font-weight:700}.legal{text-align:center;color:#a0a1aa;font-size:9px;margin:17px 0 0}.legal a{text-decoration:underline}
.story-panel{margin:12px;position:relative;overflow:hidden;border-radius:20px;border:1px solid #e2e8e4;background:radial-gradient(circle at 90% 8%,rgba(216,255,101,.55) 0,transparent 24%),linear-gradient(145deg,#f7f8f5 0%,#edf4f1 50%,#e7f0f1 100%);color:var(--ink);display:grid;align-items:center}.noise{position:absolute;inset:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}.story-orbit{position:absolute;border:1px solid rgba(34,107,94,.11);border-radius:50%}.orbit-one{width:550px;height:550px;right:-310px;top:-230px}.orbit-two{width:320px;height:320px;right:-180px;top:-70px}.story-content{position:relative;z-index:2;width:min(510px,calc(100% - 90px));margin:auto}.trust-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(34,107,94,.12);background:rgba(255,255,255,.72);border-radius:99px;font-size:10px;color:#51645f}.trust-pill span{color:var(--accent)}.story-content h2{font-size:clamp(39px,4vw,58px);line-height:1.08;letter-spacing:-3px;margin:26px 0 20px}.story-content h2 em{font-style:normal;color:var(--accent)}.story-content>p{max-width:470px;color:#747f7c;line-height:1.7;font-size:14px}.story-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:40px 0}.story-stats>div{padding:18px;background:rgba(255,255,255,.72);border:1px solid rgba(34,107,94,.09);border-radius:12px}.story-stats span{display:block;color:var(--accent);font-size:14px;margin-bottom:10px}.story-stats strong{display:block;font-size:23px}.story-stats small{display:block;color:#89938f;font-size:9px;margin-top:3px}blockquote{margin:0;padding:23px;border:1px solid rgba(34,107,94,.1);background:rgba(255,255,255,.68);border-radius:13px;color:#606b68;font-size:12px;line-height:1.6}blockquote footer{display:flex;align-items:center;gap:10px;margin-top:18px}blockquote footer>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#cfe7dd,#96beb2);color:#254f46;font-size:10px;font-weight:700}blockquote strong,blockquote small{display:block}blockquote small{color:#919a97;font-size:9px;margin-top:2px}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-panel{padding:34px 24px 45px}.auth-inner{width:min(460px,100%)}.brand{margin-bottom:38px}.story-panel{display:none}}
@media(max-width:480px){.auth-copy h1{font-size:32px}.auth-panel{align-items:start}.legal{line-height:1.6}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
