/* Landing parity layer: keep SaaS information architecture, share the public site's visual language. */
@font-face{font-family:"Cormorant";src:url(/fonts/cormorant-500.woff) format("woff");font-weight:500;font-display:swap}
:root{--serif:"Cormorant",Georgia,serif;--glass:rgba(251,251,248,.72);--glass-strong:rgba(255,255,252,.84)}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 28%),url(/hero/hero-poster.webp) 78% 0/cover no-repeat;opacity:.18;filter:saturate(.65)}
body:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(245,245,242,.97) 0 37%,rgba(245,245,242,.83) 62%,rgba(245,245,242,.94)),linear-gradient(0deg,var(--bg) 0 18%,transparent 55%);pointer-events:none}
.bg{background:radial-gradient(52vw 42vh at 92% -8%,rgba(175,201,221,.42),transparent 72%),radial-gradient(44vw 38vh at 4% 100%,rgba(224,216,191,.38),transparent 72%)}
.app{position:relative}
.side{position:relative;z-index:3;background:rgba(245,245,242,.74);border-right-color:rgba(32,32,32,.1);box-shadow:1px 0 0 rgba(255,255,255,.7) inset;overflow:hidden}
.brand{height:38px;padding:3px 8px 5px}
.brand img{width:99px;height:auto;border-radius:0;display:block}
.ws,.k,.panel,.gc{background:var(--glass-strong);backdrop-filter:blur(22px) saturate(1.18);-webkit-backdrop-filter:blur(22px) saturate(1.18);border-color:rgba(32,32,32,.09);box-shadow:0 0 .4px 1.5px rgba(255,255,255,.42) inset,0 2px 0 rgba(255,255,255,.82) inset,0 8px 28px rgba(32,32,32,.045)}
.nv a.on{background:rgba(255,255,252,.82);box-shadow:0 0 .4px 1px rgba(255,255,255,.5) inset,0 1px 0 #fff inset,0 0 0 1px rgba(32,32,32,.07),0 5px 14px rgba(32,32,32,.04)}
.nv a:hover{background:rgba(255,255,252,.62)}
.sidefoot{position:relative;z-index:2;padding-bottom:4px}
.main{z-index:2;background:rgba(245,245,242,.34)}
.top{background:rgba(245,245,242,.7);border-bottom-color:rgba(32,32,32,.09);box-shadow:0 1px 0 rgba(255,255,255,.6) inset}
.page{position:relative;z-index:2;max-width:1280px;padding-top:30px;padding-bottom:112px}
.pghead{padding-bottom:2px}
.pghead h1{font-family:var(--serif);font-size:34px;line-height:1;font-weight:500;letter-spacing:-.025em}
.pghead p{font-size:13.5px;color:rgba(38,35,35,.62);margin-top:8px}
.k{border-radius:16px}.k .l{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:rgba(38,35,35,.56)}.k .v{font-family:var(--sans);font-size:30px;font-weight:560;line-height:1.05;margin-top:11px;letter-spacing:-.025em}
.panel{border-radius:16px}.ph{min-height:48px;background:linear-gradient(180deg,rgba(255,255,255,.3),transparent);border-bottom-color:rgba(32,32,32,.075)}.ph h3{font-size:14px}
.tbl th{background:rgba(245,245,242,.55);font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase}.tbl tbody tr.c:hover td,.fl li.c:hover{background:rgba(245,245,242,.68)}
.btn{border-radius:8px}.btn.dark{background:#202020}.btn.light{background:#f5f5f2;box-shadow:0 2px 3px rgba(0,0,0,.06),0 0 .357px 1.5px rgba(255,255,255,.35) inset,0 2px 0 #fff inset,0 0 0 1px rgba(32,32,32,.1)}
.search,.net{background:rgba(251,251,248,.74);backdrop-filter:blur(12px)}
.tag{background:linear-gradient(145deg,#f0efe9,#e3e1d7);box-shadow:0 1px 0 #fff inset}
.chart rect.bar{fill:#262323}.chart g:hover rect.bar{fill:#63785b}.prog i,.meter i{background:#63785b}
.gc h2,.dlg h3,.drw header h2{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:-.015em}
.gc{border-radius:18px}.gc .gs i.on{background:#63785b}

.banner{position:relative;z-index:21;background:#262323}
.honesty-mark{font-family:var(--mono)}
@media(max-width:860px){body:before{background-position:65% 0;opacity:.1}.side{overflow:visible;background:rgba(245,245,242,.9)}.page{padding-top:22px;padding-bottom:130px}.pghead h1{font-size:30px}.k .v{font-size:27px}.toast{top:112px;bottom:auto;left:auto;right:12px;transform:translateY(-10px)}.toast.show{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
