/* LK website family. Local assets only; shared by the studio and its products. */
:root {
  --lk-green:#064e43;
  --lk-ink:#17241f;
  --lk-paper:#f8f7f2;
  --lk-white:#fffdf6;
  --lk-muted:#5e6a63;
  --lk-line:#dce1d9;
  --lk-font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Noto Sans",sans-serif;
  --green:var(--lk-green);
  --ink:var(--lk-ink);
  --paper:var(--lk-paper);
  --white:var(--lk-white);
  --muted:var(--lk-muted);
  --line:var(--lk-line);
  --font:var(--lk-font);
}
::selection { background:#d6e6de; color:var(--lk-green); }
.lk-studio-mark { width:44px; height:44px; flex:none; }
.studio-wordmark { gap:12px; }
.studio-hero h1 br + span { color:var(--lk-green); }
.studio-product + .studio-product { border-top:0; }
.studio-product-art { max-width:260px; }
.studio-product-art img { border-radius:23%; }
.shift-product-art { background:#e9ede5; }
.website-brand-lockup,.brand-lockup { gap:5px; }
.product-studio-link,.studio-link { color:var(--lk-muted); font-size:11px; line-height:1.5; }
.product-studio-link:hover,.studio-link:hover { color:var(--lk-green); text-decoration:underline; text-underline-offset:3px; }
.site-footer .footer-studio-intro { max-width:380px; }
.marketing {
  --ink:var(--lk-ink);
  background:var(--lk-paper);
  color:var(--lk-ink);
  font:17px/1.6 var(--lk-font);
}
.marketing .site-header {
  max-width:1280px; width:calc(100% - 112px); min-height:104px;
  padding:16px 0; margin:0 auto; align-items:center;
}
.marketing main { max-width:1280px; width:calc(100% - 112px); padding:0; }
.marketing .brand { font-size:30px; letter-spacing:-.055em; display:flex; align-items:center; gap:14px; }
.marketing .brand > span { display:grid; place-items:center; width:44px; height:44px; padding:0; margin:0; border-radius:11px; font-size:20px; letter-spacing:-1px; }
.marketing .brand .app-version { display:none; }
.marketing .site-header a { font-size:16px; }
.marketing .site-header .studio-link { display:inline-flex; font-size:11px; }
.marketing .site-controls { gap:26px; }
.marketing .site-language select { background:transparent; border-color:transparent; font-size:15px; max-width:165px; }
.marketing .site-header button { min-height:48px; border-radius:13px; padding:11px 22px; background:var(--lk-green); color:white; border-color:var(--lk-green); font-weight:600; font-size:15px; }
.marketing .site-hero { padding:56px 0 70px; grid-template-columns:1.1fr 1fr; gap:7%; }
.marketing .site-intro h1 { font-size:clamp(44px,5.15vw,76px); font-weight:770; line-height:1.04; letter-spacing:-.05em; color:var(--lk-ink); }
.marketing .site-intro .site-kicker { color:var(--lk-green); letter-spacing:1.3px; }
.marketing .site-intro > p:not(.site-kicker) { color:var(--lk-muted); font-size:22px; line-height:1.5; max-width:560px; }
.marketing .button,.marketing button { min-height:52px; border-radius:13px; padding:14px 21px; font-size:15px; }
.marketing .primary { background:var(--lk-green); border-color:var(--lk-green); color:white; }
.marketing .primary:hover,.marketing .site-header button:hover { background:#0b6252; }
.marketing .site-roster { transform:none; background:var(--lk-white); border-color:var(--lk-line); border-radius:24px; padding:28px; box-shadow:0 12px 28px #17241f0a; }
.marketing .site-steps { border-color:var(--lk-line); padding:30px 0; }
.marketing .site-steps p,.marketing .site-bottom p { color:var(--lk-muted); font-size:15px; }
.marketing .site-bottom { padding:60px 0; }
.marketing .site-bottom h2 { font-size:32px; letter-spacing:-.04em; }
.marketing .site-footer { max-width:1280px; width:calc(100% - 112px); padding:30px 0 38px; margin:0 auto; font-size:13px; border-color:var(--lk-line); }
.marketing :is(a,button,select):focus-visible { outline:3px solid #217a66; outline-offset:4px; }
.marketing :lang(zh) h1 { letter-spacing:-.025em; line-height:1.25; }
@media(max-width:1100px) {
  .marketing .site-header,.marketing main,.marketing .site-footer { width:calc(100% - 72px); }
  .marketing .site-controls { gap:14px; }
  .marketing .site-intro > p:not(.site-kicker) { font-size:20px; }
}
@media(max-width:800px) {
  .lk-studio-mark { width:38px; height:38px; }
  .marketing .site-header,.marketing main,.marketing .site-footer { width:calc(100% - 48px); }
  .marketing .brand { font-size:27px; }
  .marketing .brand > span { width:38px; height:38px; font-size:18px; }
  .marketing .site-header { min-height:90px; }
}
@media(max-width:700px) {
  .studio-wordmark { font-size:22px; }
  .lk-studio-mark { width:34px; height:34px; }
  .marketing .site-header { flex-wrap:wrap; gap:14px; padding:18px 0; }
  .marketing .brand { font-size:26px; }
  .marketing .site-controls { gap:10px; }
  .marketing .site-controls > a { display:none; }
  .marketing .site-header .studio-link { display:inline-flex; font-size:10px; }
  .marketing .site-controls select { max-width:130px; font-size:13px; }
  .marketing .site-header button { padding:10px 16px; font-size:14px; min-height:44px; }
  .marketing .site-hero { grid-template-columns:1fr; padding:30px 0 45px; gap:38px; }
  .marketing .site-intro h1 { font-size:clamp(38px,9vw,54px); }
  .marketing .site-intro > p:not(.site-kicker) { font-size:20px; }
  .marketing .site-roster { padding:18px; border-radius:18px; }
  .marketing .site-footer { flex-direction:column; }
}

/* One trial entry, displayed on the current page. Native dialog handles focus and Escape. */
html.trial-open { overflow:hidden; }
.trial-dialog { box-sizing:border-box; width:min(480px,calc(100% - 32px)); max-width:480px; max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid #dce3db; border-radius:20px; background:#fffef9; color:#192e27; box-shadow:0 24px 80px #10291f33; font:inherit; }
.trial-dialog::backdrop { background:#10291f66; }
.trial-content { padding:28px; }
.trial-dialog .trial-product { margin:0 0 10px; color:#40665a; font-size:14px; font-weight:650; }
.trial-dialog h2 { margin:0 0 22px; font-size:32px; line-height:1.2; letter-spacing:-.6px; }
.trial-dialog .trial-recurring { display:flex; flex-direction:column; gap:7px; padding:16px 0; margin:0; border-block:1px solid #e1e6df; font-size:14px; }
.trial-dialog .trial-price { font-size:15px; line-height:1.5; }
.trial-dialog .trial-price strong { font-size:23px; }
.trial-dialog .trial-disclosure { margin:16px 0; color:#52665c; font-size:14px; line-height:1.65; }
.trial-dialog .trial-status { padding:12px 14px; margin:16px 0; background:#f0f3ed; border-radius:10px; font-size:14px; line-height:1.6; }
.trial-dialog .trial-dismiss { display:block; width:100%; min-height:48px; padding:12px 16px; margin:0; background:#064e43; color:#fff; border:1px solid #064e43; border-radius:12px; font:inherit; font-weight:650; cursor:pointer; }
.trial-dialog .trial-dismiss:hover { background:#093d35; }
.trial-dialog .trial-links { display:flex; flex-wrap:wrap; gap:4px 18px; justify-content:center; margin-top:12px; font-size:12px; }
.trial-dialog .trial-links a { display:inline-flex; align-items:center; min-height:36px; color:#46665a; text-decoration:underline; text-underline-offset:3px; }
.trial-dialog :focus-visible { outline:3px solid #b2672d; outline-offset:3px; }
@media(max-width:600px) { .trial-content { padding:22px; } .trial-dialog h2 { font-size:28px; margin-bottom:16px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
