:root {
    --ldp-ink:#1f1a17;
    --ldp-muted:#6f665f;
    --ldp-cream:#f7f3ee;
    --ldp-paper:#fffdf9;
    --ldp-bronze:#8c6047;
    --ldp-bronze-dark:#664331;
    --ldp-line:#dfd6cc;
    --ldp-green:#356f5a;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.ldg-public-body { margin:0; background:var(--ldp-paper); color:var(--ldp-ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.ldg-public-body a { color:inherit; }
.ldg-public-header { max-width:1280px; margin:0 auto; padding:24px 42px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--ldp-line); }
.ldg-public-logo { display:flex; align-items:center; gap:12px; text-decoration:none; letter-spacing:.16em; font-size:13px; }
.ldg-public-logo span { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--ldp-bronze); border-radius:50%; color:var(--ldp-bronze-dark); font-family:Georgia,serif; letter-spacing:0; }
.ldg-public-login { border:1px solid var(--ldp-bronze); border-radius:999px; padding:11px 18px; color:var(--ldp-bronze-dark)!important; font-size:13px; font-weight:700; text-decoration:none; transition:.2s ease; }
.ldg-public-login:hover { background:var(--ldp-bronze-dark); color:#fff!important; }
.ldg-public-hero { max-width:1280px; min-height:570px; margin:0 auto; padding:76px 42px; display:grid; grid-template-columns:1.35fr .65fr; align-items:center; gap:70px; }
.ldg-public-kicker { margin:0 0 20px; color:var(--ldp-bronze); font-size:11px; font-weight:800; letter-spacing:.18em; }
.ldg-public-hero h1 { max-width:850px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(50px,6vw,84px); font-weight:400; line-height:1.04; letter-spacing:-.04em; }
.ldg-public-hero h1 em { color:var(--ldp-bronze); font-weight:400; }
.ldg-public-intro { max-width:620px; margin:30px 0; color:var(--ldp-muted); font-family:Georgia,serif; font-size:20px; line-height:1.65; }
.ldg-public-hero-actions { display:flex; align-items:center; gap:22px; }
.ldg-public-primary { display:inline-block; background:var(--ldp-bronze-dark); color:#fff!important; border-radius:999px; padding:15px 23px; font-size:14px; font-weight:750; text-decoration:none; }
.ldg-public-hero-actions span { color:var(--ldp-muted); font-size:13px; }
.ldg-public-monogram { width:min(330px,28vw); aspect-ratio:1; display:grid; place-items:center; border:1px solid var(--ldp-line); border-radius:50%; position:relative; }
.ldg-public-monogram:before,.ldg-public-monogram:after { content:""; position:absolute; border:1px solid var(--ldp-line); border-radius:50%; }
.ldg-public-monogram:before { inset:18px; }
.ldg-public-monogram:after { inset:46px; border-color:#cab9aa; }
.ldg-public-monogram span { font-family:Georgia,serif; color:var(--ldp-bronze); font-size:clamp(50px,7vw,94px); letter-spacing:-.08em; transform:translateX(-4px); }
.ldg-public-features { background:var(--ldp-cream); border-top:1px solid var(--ldp-line); border-bottom:1px solid var(--ldp-line); display:grid; grid-template-columns:repeat(3,1fr); }
.ldg-public-features article { padding:34px 42px; display:flex; gap:18px; border-right:1px solid var(--ldp-line); }
.ldg-public-features article:last-child { border-right:0; }
.ldg-public-features article>span { color:var(--ldp-bronze); font-family:Georgia,serif; }
.ldg-public-features strong { display:block; margin-bottom:6px; font-family:Georgia,serif; font-size:19px; }
.ldg-public-features p { color:var(--ldp-muted); line-height:1.5; margin:0; }
.ldg-public-availability { max-width:1120px; margin:0 auto; padding:100px 42px; }
.ldg-public-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:34px; }
.ldg-public-section-heading h2 { margin:0; font-family:Georgia,serif; font-size:44px; font-weight:400; }
.ldg-public-legend { display:flex; gap:18px; color:var(--ldp-muted); font-size:13px; }
.ldg-public-legend span:before { content:""; width:9px; height:9px; display:inline-block; border-radius:50%; margin-right:7px; }
.ldg-public-legend .is-free:before { background:var(--ldp-green); }
.ldg-public-legend .is-busy:before { background:#a68d7d; }
.ldg-public-month-nav { display:flex; align-items:center; justify-content:space-between; background:var(--ldp-bronze-dark); color:#fff; padding:14px 20px; border-radius:14px 14px 0 0; }
.ldg-public-month-nav h3 { margin:0; font-family:Georgia,serif; font-size:22px; font-weight:400; text-transform:capitalize; }
.ldg-public-month-nav a { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; text-decoration:none; }
.ldg-public-calendar { display:grid; grid-template-columns:repeat(7,1fr); border:1px solid var(--ldp-line); border-top:0; background:var(--ldp-line); gap:1px; border-radius:0 0 14px 14px; overflow:hidden; }
.ldg-public-weekday { background:#eee6de; color:var(--ldp-bronze-dark); padding:12px 7px; text-align:center; font-size:12px; font-weight:800; }
.ldg-public-day { min-height:94px; padding:12px; background:#fff; display:flex; flex-direction:column; gap:12px; }
.ldg-public-day strong { font-family:Georgia,serif; font-size:18px; }
.ldg-public-day span { margin-top:auto; font-size:11px; font-weight:750; }
.ldg-public-day.is-free span { color:var(--ldp-green); }
.ldg-public-day.is-busy { background:#eeeae6; color:#8f837b; }
.ldg-public-day.is-busy span { color:#8f5d4b; }
.ldg-public-day.is-empty { background:#f5f2ef; }
.ldg-public-calendar-note { max-width:720px; margin:18px auto 0; color:var(--ldp-muted); text-align:center; font-size:13px; line-height:1.6; }
.ldg-public-footer { background:var(--ldp-ink); color:#fff; padding:40px max(42px,calc((100vw - 1196px)/2)); display:flex; align-items:center; justify-content:space-between; }
.ldg-public-footer div { display:flex; flex-direction:column; gap:5px; }
.ldg-public-footer strong { letter-spacing:.18em; }
.ldg-public-footer span { color:#bdb3ab; font-family:Georgia,serif; }
.ldg-public-footer a { color:#fff; font-size:13px; text-decoration:none; }

@media (max-width:800px) {
    .ldg-public-header { padding:18px 20px; }
    .ldg-public-login { padding:9px 12px; font-size:12px; }
    .ldg-public-hero { min-height:0; padding:64px 22px; grid-template-columns:1fr; }
    .ldg-public-monogram { display:none; }
    .ldg-public-hero h1 { font-size:clamp(43px,13vw,64px); }
    .ldg-public-intro { font-size:18px; }
    .ldg-public-hero-actions { align-items:flex-start; flex-direction:column; }
    .ldg-public-features { grid-template-columns:1fr; }
    .ldg-public-features article { padding:24px 22px; border-right:0; border-bottom:1px solid var(--ldp-line); }
    .ldg-public-availability { padding:70px 14px; overflow:hidden; }
    .ldg-public-section-heading { align-items:flex-start; flex-direction:column; }
    .ldg-public-section-heading h2 { font-size:36px; }
    .ldg-public-calendar { grid-template-columns:repeat(7,minmax(68px,1fr)); overflow-x:auto; }
    .ldg-public-day { min-height:82px; padding:8px; }
    .ldg-public-day span { font-size:9px; }
    .ldg-public-footer { padding:32px 22px; align-items:flex-start; flex-direction:column; gap:24px; }
}
