html { scroll-behavior:smooth; scroll-padding-top:20px; }
body.landing-page { display:flex; flex-direction:column; text-rendering:optimizeLegibility; }
.landing-page * { box-sizing:border-box; }
.landing-page a { text-decoration:none; }
.landing-page button,.landing-page input { font:inherit; }
.landing-page button,.landing-page summary { cursor:pointer; }
.landing-page [hidden] { display:none!important; }
.skip-link { position:fixed; z-index:10; left:16px; top:12px; transform:translateY(-160%); padding:12px 16px; border-radius:9px; background:var(--ui-card-light); color:var(--ui-primary-dark); }
.skip-link:focus { transform:none; }

.lp-header { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:80px; padding:12px max(32px,env(safe-area-inset-right)) 12px max(32px,env(safe-area-inset-left)); border-bottom:1px solid var(--ui-gold); background:var(--ui-primary-dark); color:var(--ui-card-light); }
.lp-brand { display:flex; align-items:center; gap:12px; color:inherit; font-size:23px; font-weight:700; letter-spacing:2px; line-height:1; }
.lp-brand img { display:block; }
.lp-brand small { display:block; margin-top:7px; color:var(--ui-gold-soft); font-size:10px; letter-spacing:.7px; font-weight:400; }
.lp-sign-in { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:44px; padding:8px 18px; border:1px solid var(--ui-frame); border-radius:9px; color:var(--ui-card-light); font-size:16px; }
.lp-sign-in:hover { border-color:var(--ui-gold); background:var(--ui-primary); }
body.landing-page :is(.lp-header,.lp-hero) a:focus-visible { outline-color:var(--ui-gold-soft); }

.lp-main { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(350px,1fr); flex:1; }
.lp-hero { position:relative; isolation:isolate; display:flex; align-items:flex-end; min-height:660px; padding:clamp(30px,4.5vw,80px); overflow:hidden; background:var(--ui-primary-dark); color:var(--ui-card-light); }
.lp-hero-picture { position:absolute; inset:0; z-index:-2; }
.lp-hero-picture img { display:block; width:100%; height:100%; object-fit:cover; object-position:52% 38%; }
.lp-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 15%,color-mix(in srgb,var(--ui-primary-dark) 15%,transparent) 35%,color-mix(in srgb,var(--ui-primary-dark) 94%,transparent) 75%,var(--ui-primary-dark)); }
.lp-hero-content { max-width:720px; }
.lp-kicker { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 20px; color:var(--ui-gold-soft); font-size:16px; }
.lp-kicker i { font-style:normal; }
.lp-hero h1 { margin:0; font-size:clamp(48px,5.6vw,88px); font-weight:700; line-height:1.02; letter-spacing:-1.5px; }
.lp-hero h1 em { color:var(--ui-gold-soft); font-style:normal; }
.lp-lead { max-width:390px; margin:22px 0 0; font-size:21px; line-height:1.5; }
.lp-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:50px; padding:12px 18px; border:1px solid var(--ui-green-dark); border-radius:9px; background:var(--ui-green); color:var(--ui-card-light); box-shadow:0 3px var(--ui-green-dark); font-size:17px; font-weight:700; line-height:1.3; transition:background .15s; }
.lp-button:hover { background:var(--ui-green-dark); }
.lp-button>span,.lp-sign-in>span { font-family:var(--ui-font-number); }
.lp-mobile-start { display:none; }

.lp-access { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:22px; padding:40px clamp(20px,3vw,56px); background:var(--ui-paper); }
.lp-auth-card { width:100%; max-width:400px; border:2px solid var(--ui-frame); border-radius:var(--ui-radius-window); background:var(--ui-card); box-shadow:var(--ui-shadow); }
.lp-auth-heading { padding:22px 26px 24px; border-bottom:1px solid var(--ui-gold); border-radius:14px 14px 0 0; background:var(--ui-primary); color:var(--ui-card-light); }
.lp-auth-badge { margin:0 0 8px; color:var(--ui-gold-soft); font-size:13px; letter-spacing:1px; }
.lp-auth-heading h2 { margin:0; font-size:29px; line-height:1.15; font-weight:400; }
.lp-auth-body { padding:0 26px 12px; }
body.landing-page .lp-auth-body .auth-switch { margin:22px 0 18px; }
body.landing-page .lp-auth-body .auth-switch button { padding:8px 6px; font-size:15px; }
.lp-auth-card form>label { display:block; margin-top:15px; color:var(--ui-ink); font-size:15px; }
.lp-auth-card input:not([type=hidden]) { display:block; width:100%; min-height:46px; margin-top:6px; padding:10px 12px; border:1px solid var(--ui-line); border-radius:9px; background:var(--ui-card-light); color:var(--ui-ink); font-size:16px; }
.lp-auth-card input::placeholder { color:var(--ui-muted); opacity:1; }
.lp-submit { width:100%; margin-top:24px; }
.lp-auth-footer { display:flex; justify-content:center; margin-top:12px; }
.lp-auth-footer a { display:inline-flex; align-items:center; min-height:44px; color:var(--ui-primary); font-size:14px; text-decoration:underline; text-underline-offset:3px; }
.lp-alpha-note { margin-top:6px; border-top:1px solid var(--ui-line); color:var(--ui-muted); font-size:13px; }
.lp-alpha-note summary { display:list-item; min-height:44px; padding:12px 0; }
.lp-alpha-note p { margin:0 0 12px; font-size:14px; line-height:1.5; }
.lp-auth-card .form-error { padding:10px 12px; border:1px solid var(--ui-red); border-radius:9px; background:var(--ui-red-soft); color:var(--ui-red-dark); font-size:15px; }

body.landing-page .lp-language .locale-tools { margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.lp-language .locale-tools>label { align-items:center; gap:12px; font-size:14px; }
.lp-language .locale-tools select { width:auto; min-width:0; min-height:44px; font-size:14px; }
.lp-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:54px; padding:6px max(32px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(32px,env(safe-area-inset-left)); border-top:1px solid var(--ui-line); background:var(--ui-paper); color:var(--ui-muted); font-size:13px; }
.lp-footer small { font-size:inherit; }
.lp-footer a { display:inline-flex; align-items:center; min-height:44px; color:var(--ui-primary); }

@media(min-width:1600px) {
  .lp-main { grid-template-columns:minmax(0,1.8fr) minmax(440px,1fr); }
  .lp-hero { padding-left:max(80px,calc((100vw - 1520px)/2)); }
}
@media(max-width:1050px) and (min-width:801px) {
  .lp-main { grid-template-columns:minmax(0,1fr) 380px; }
  .lp-hero { padding:32px; }
  .lp-hero h1 { font-size:clamp(40px,5.4vw,56px); }
  .lp-lead { font-size:19px; }
  .lp-access { padding:30px 20px; }
}
@media(max-width:800px) {
  .lp-header { min-height:70px; padding:10px max(20px,env(safe-area-inset-right)) 10px max(20px,env(safe-area-inset-left)); }
  .lp-main { grid-template-columns:1fr; }
  .lp-hero { min-height:510px; padding:34px max(24px,env(safe-area-inset-right)) 36px max(24px,env(safe-area-inset-left)); }
  .lp-hero-picture img { object-position:center 35%; }
  .lp-hero::after { background:linear-gradient(180deg,transparent 12%,color-mix(in srgb,var(--ui-primary-dark) 35%,transparent) 32%,color-mix(in srgb,var(--ui-primary-dark) 96%,transparent) 66%,var(--ui-primary-dark)); }
  .lp-hero h1 { font-size:clamp(43px,10vw,66px); letter-spacing:-.8px; }
  .lp-kicker { margin-bottom:14px; font-size:14px; }
  .lp-lead { max-width:340px; margin-top:18px; font-size:19px; }
  .lp-mobile-start { display:inline-flex; margin-top:24px; }
  .lp-access { padding:32px max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left)); }
  .lp-footer { padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right)); }
}
@media(max-width:380px) {
  .lp-header { gap:8px; padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right)); }
  .lp-brand { gap:7px; font-size:18px; letter-spacing:1px; }
  .lp-brand img { width:34px; height:34px; }
  .lp-brand small { font-size:8px; letter-spacing:.3px; }
  .lp-sign-in { gap:8px; padding-inline:10px; font-size:15px; }
  .lp-hero { min-height:480px; padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right)); }
  .lp-access { padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right)); }
  .lp-auth-heading { padding-inline:20px; }
  .lp-auth-body { padding-inline:20px; }
}
@media(max-height:520px) and (orientation:landscape) {
  .lp-header { min-height:64px; padding-block:8px; }
  .lp-main { grid-template-columns:minmax(0,1fr) minmax(320px,1fr); }
  .lp-hero { min-height:590px; align-items:flex-start; padding:40px 26px; }
  .lp-hero::after { background:color-mix(in srgb,var(--ui-primary-dark) 86%,transparent); }
  .lp-hero h1 { font-size:clamp(34px,5vw,45px); }
  .lp-lead { font-size:18px; }
  .lp-mobile-start { display:none; }
  .lp-access { padding:24px max(18px,env(safe-area-inset-right)) 20px 18px; gap:16px; }
  .lp-auth-heading { padding:18px 20px; }
  .lp-auth-body { padding-inline:20px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .lp-button { transition:none; }
}
