:root{--ink:#20201d;--muted:#77766f;--line:#dedbd2;--paper:#f5f3ed;--card:#fffefb;--blue:#4f77bd;--indigo:#725f9d;--green:#5d8d69}*{box-sizing:border-box}html{background:var(--paper)}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 8% 4%, #4f77bd14, transparent 27rem), radial-gradient(circle at 92% 94%, #5d8d6912, transparent 30rem), var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Noto Sans CJK SC,Microsoft YaHei,Arial,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.brand-mark{flex-direction:column;justify-content:space-between;width:34px;height:24px;display:inline-flex}.brand-mark i{border-radius:99px;height:4px;display:block}.brand-mark i:first-child{background:var(--blue);width:34px}.brand-mark i:nth-child(2){background:var(--indigo);width:25px}.brand-mark i:nth-child(3){background:var(--green);width:18px}.login-page{place-items:center;min-height:100svh;padding:28px 20px;display:grid}.login-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffefbe8;border-radius:30px;width:min(100%,440px);padding:clamp(28px,6vw,46px);box-shadow:0 26px 80px #26252017}.login-brand,.wordmark{color:var(--ink);letter-spacing:.16em;align-items:center;gap:14px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.login-copy{margin:54px 0 32px}.eyebrow{color:var(--muted);letter-spacing:.17em;margin:0 0 12px;font-size:11px;font-weight:700}.login-copy h1,.dashboard-intro h1{letter-spacing:-.055em;margin:0;font-size:clamp(34px,6vw,56px);line-height:1.04}.login-copy p:last-child{color:var(--muted);margin:13px 0 0;font-size:14px;line-height:1.7}.login-form{gap:18px;display:grid}.login-form label{gap:8px;display:grid}.login-form label span{color:#56554f;font-size:13px;font-weight:650}.login-form input{border:1px solid var(--line);width:100%;height:52px;color:var(--ink);background:#fff;border-radius:15px;outline:0;padding:0 16px;transition:border-color .18s,box-shadow .18s}.login-form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #4f77bd1f}.login-form button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:15px;height:52px;font-weight:700;transition:transform .18s,opacity .18s}.login-form button:hover{transform:translateY(-1px)}.login-form button:disabled{cursor:wait;opacity:.6}.form-error{color:#a4463d;min-height:19px;margin:-7px 0 -6px;font-size:13px}.dashboard-page{min-height:100svh}.dashboard-header{justify-content:space-between;align-items:center;width:min(1180px,100% - 48px);margin:0 auto;padding:34px 0;display:flex}.logout-button{border:1px solid var(--line);color:#5e5d57;cursor:pointer;background:#fffefbb8;border-radius:999px;padding:10px 17px}.dashboard-main{width:min(1180px,100% - 48px);margin:0 auto;padding:clamp(56px,9vw,108px) 0 96px}.dashboard-intro{margin-bottom:42px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.service-card{border:1px solid var(--line);background:var(--card);min-width:0;color:inherit;border-radius:24px;text-decoration:none;transition:transform .22s,box-shadow .22s;overflow:hidden;box-shadow:0 14px 40px #2625200d}.service-card:hover{transform:translateY(-4px);box-shadow:0 23px 58px #2625201a}.service-cover{aspect-ratio:16/10;background:#ebe9e2;display:block;position:relative;overflow:hidden}.service-cover img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.service-card:hover .service-cover img{transform:scale(1.018)}.service-copy{justify-content:space-between;align-items:center;gap:18px;min-height:92px;padding:20px 22px;display:flex}.service-copy>span:first-child{gap:5px;display:grid}.service-copy strong{letter-spacing:-.02em;font-size:20px}.service-copy small{color:var(--muted);font-size:13px}.service-arrow{color:var(--muted);font-size:22px}@media (max-width:820px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.login-card{border-radius:24px}.dashboard-header,.dashboard-main{width:min(100% - 30px,1180px)}.dashboard-header{padding:24px 0}.dashboard-main{padding-top:62px}.dashboard-intro{margin-bottom:28px}.service-grid{grid-template-columns:1fr}.service-card{border-radius:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
