/* Public pages share the homepage's Manrope typography, palette and components. */
.cdm-landing .navigation>a[aria-current="page"] { color:#286c9e; }
.cdm-public { min-height:100dvh; display:flex; flex-direction:column; }
.cdm-public .public-main { flex:1; min-width:0; }
.cdm-public .site-shell { width:min(1280px,calc(100% - 40px)); margin-inline:auto; }
.cdm-public .mud-typography { font-family:inherit; }
.cdm-public .mud-paper { color:var(--ink); }
.cdm-public .mud-button-root { display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; border-radius:10px; font-family:inherit; font-weight:750; text-transform:none; letter-spacing:0; min-height:46px; }
.cdm-public .mud-button-filled-primary { color:var(--navy); background:var(--blue); box-shadow:none; }
.cdm-public .mud-button-filled-primary:hover { background:#8bc9fc; box-shadow:none; }
.cdm-public .mud-button-outlined-primary { border:1px solid #b8cedf; color:var(--ink); }
.cdm-public .mud-icon-button { display:inline-flex; align-items:center; justify-content:center; padding:10px; }
.cdm-public label.mud-checkbox { display:inline-flex; }
.cdm-public .mud-input-control { font-family:inherit; }
.cdm-public .mud-input-outlined .mud-input-outlined-border { border-radius:10px; border-color:#cddce6; }
.cdm-public .mud-input-label,.cdm-public .mud-input { font-family:inherit; }
.cdm-public .public-main a:not(.button):not(.mud-button-root):hover { color:#237ab9; }
.cdm-public .public-main a:focus-visible { outline-offset:4px; }
.cdm-public .public-main .mud-icon-root { flex-shrink:0; }
.cdm-public .public-hero,.cdm-public .pricing-hero { padding:76px 0 62px; background:radial-gradient(ellipse at 90% 15%,#e2f1fd 0,transparent 55%),linear-gradient(180deg,#f4faff,#fafcfd); }
.cdm-public .public-hero__grid { display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:end; }
.cdm-public .public-hero h1,.cdm-public .pricing-title { font-size:clamp(2.5rem,calc(4.45vw * var(--cdm-text-scale, 1.4)),4rem)!important; font-weight:750!important; line-height:1.12!important; letter-spacing:-.045em!important; margin:0!important; }
.cdm-public h1>span,.cdm-public h2>span { color:#286c9e; }
.cdm-public .public-hero__intro { max-width:440px; padding-bottom:6px; }
.cdm-public .public-hero__intro p { font-size:0.9375rem; line-height:1.85; margin-bottom:22px; }
.cdm-public .public-breadcrumbs { display:flex; flex-wrap:wrap; gap:12px; font-size:0.75rem; color:var(--muted); margin-bottom:35px; }
.cdm-public .public-breadcrumbs a { text-decoration:underline; text-underline-offset:4px; }
.cdm-public .section-kicker,.cdm-public .pricing-kicker,.cdm-public .section-header__kicker { color:#45677f; font-size:0.6875rem!important; font-weight:800!important; letter-spacing:.14em; text-transform:uppercase; }
.cdm-public .section-header h2 { font-size:clamp(1.75rem,calc(3vw * var(--cdm-text-scale, 1.4)),2.625rem); font-weight:750; }

/* Pricing keeps all plan details and the existing contact form. */
.cdm-public .pricing-hero__content { grid-template-columns:1.3fr .7fr; align-items:end; gap:75px; }
.cdm-public .pricing-lead { color:var(--muted); max-width:570px; font-size:0.9375rem!important; line-height:1.85!important; margin-top:25px!important; }
.cdm-public .pricing-hero__benefits { padding:26px 28px; border:1px solid #d3e4f0; border-radius:18px; box-shadow:none; background:#ffffffb3; gap:14px; }
.cdm-public .pricing-hero__benefits div { color:var(--ink); font-size:0.8125rem; font-weight:600; }
.cdm-public .pricing-hero__benefits .mud-icon-root { color:#286c9e; font-size:1.1875rem; }
.cdm-public .pricing-section { padding:28px 0 80px; }
.cdm-public .pricing-section__content { max-width:1280px; }
.cdm-public .pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.cdm-public .pricing-card { padding:32px; border:1px solid var(--line)!important; border-radius:20px!important; background:white; box-shadow:none; min-width:0; }
.cdm-public .pricing-card--featured { background:#f1f8fe; border-color:#9ecdf0!important; box-shadow:none; }
.cdm-public .pricing-card__badge { font-size:0.625rem; font-weight:750; letter-spacing:.07em; background:#dcefff; color:#316d9a; border-radius:6px; padding:7px 10px; margin-bottom:23px; }
.cdm-public .pricing-card__badge--placeholder { display:block; visibility:hidden; }
.cdm-public .pricing-card__name { font-size:1.75rem!important; font-weight:750!important; line-height:1.2; margin:0; }
.cdm-public .pricing-card__description { color:var(--muted); font-size:0.8125rem; line-height:1.8!important; min-height:94px; margin:15px 0 25px!important; }
.cdm-public .pricing-card__price { gap:9px; margin-bottom:12px; }
.cdm-public .pricing-card__price strong { font-size:2.8125rem; font-weight:750; letter-spacing:-.06em; color:var(--ink); }
.cdm-public .pricing-card__price span { color:var(--muted); font-size:0.6875rem; }
.cdm-public .pricing-card__features { order:0; flex:1; gap:14px; margin:24px 0 30px; }
.cdm-public .pricing-card__feature { font-size:0.75rem; line-height:1.7; color:var(--ink); grid-template-columns:18px 1fr; }
.cdm-public .pricing-card__feature .mud-icon-root { color:#286c9e; font-size:1.125rem; }
.cdm-public .pricing-card>.button { width:100%; font-size:0.75rem; min-height:48px; padding:13px 14px; gap:10px; }
.cdm-public .pricing-card>.button .icon { width:16px; height:16px; }
.cdm-public .ekarta-offer { margin-top:72px; border:1px solid var(--line); border-radius:22px; box-shadow:none; grid-template-columns:1fr 1fr; background:white; }
.cdm-public .ekarta-offer__image { background:#edf6fc; }
.cdm-public .ekarta-offer__content { padding:38px; }
.cdm-public .ekarta-offer__title { color:var(--ink); font-size:2rem!important; font-weight:750!important; line-height:1.2!important; }
.cdm-public .ekarta-offer__lead,.cdm-public .ekarta-offer__notice { color:var(--muted); font-size:0.8125rem!important; line-height:1.85; }
.cdm-public .ekarta-offer__price strong { font-size:2.375rem; color:var(--ink); letter-spacing:-.045em; }
.cdm-public .ekarta-offer__price span { color:#4b6274; }
.cdm-public .ekarta-offer__highlights span { background:#f1f7fc; color:var(--ink); font-size:0.75rem; }
.cdm-public .ekarta-offer__highlights .mud-icon-root,.cdm-public .ekarta-offer__notice .mud-icon-root { color:#286c9e; }
.cdm-public .ekarta-functions { margin-top:72px; }
.cdm-public .ekarta-section-heading { max-width:680px; margin-bottom:32px; }
.cdm-public .ekarta-section-heading h2 { font-size:2.25rem; font-weight:750; }
.cdm-public .ekarta-section-heading p { color:var(--muted); font-size:0.875rem; line-height:1.85; }
.cdm-public .ekarta-functions__grid { gap:18px; }
.cdm-public .ekarta-functions__grid article { border:1px solid var(--line); border-radius:18px; padding:28px; background:white; box-shadow:none; }
.cdm-public .ekarta-functions__icon,.cdm-public .ekarta-law__icon,.cdm-public .pricing-trial__icon { color:#286c9e; background:#e8f3fc; border-radius:12px; }
.cdm-public .ekarta-functions__grid h3 { font-size:1.1875rem; font-weight:750; }
.cdm-public .ekarta-functions__grid p { color:var(--muted); font-size:0.8125rem; line-height:1.85; }
.cdm-public .ekarta-law { background:#f0f6fa; border:1px solid var(--line); border-radius:20px; margin-top:32px; }
.cdm-public .ekarta-law h2 { font-size:1.75rem; font-weight:750; line-height:1.25; margin-bottom:18px; }
.cdm-public .ekarta-law p { color:var(--muted); font-size:0.8125rem; line-height:1.85; }
.cdm-public .ekarta-law__links a,.cdm-public .pricing-note a { color:#286c9e; }
.cdm-public .pricing-trial { border:1px solid #c9e1f2; background:#edf7ff; border-radius:20px; box-shadow:none; padding:32px; }
.cdm-public .pricing-trial h2 { font-size:1.875rem; font-weight:750; margin-bottom:12px; }
.cdm-public .pricing-trial p { font-size:0.8125rem; line-height:1.85; color:var(--muted); }
.cdm-public .pricing-note { color:var(--muted); font-size:0.8125rem; }

/* Blog cards and readable article typography. */
.cdm-public .blog-section { padding:55px 0 70px; }
.cdm-public .blog-section__head { margin-bottom:28px; }
.cdm-public .blog-section__head h2 { font-size:1.75rem; font-weight:750; letter-spacing:-.035em; }
.cdm-public .blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.cdm-public .blog-card { display:flex; flex-direction:column; padding:0; border:1px solid var(--line); border-radius:20px; background:white; overflow:hidden; box-shadow:none; transition:border-color .2s,box-shadow .2s; min-width:0; }
.cdm-public .blog-card:hover { border-color:#b2d2ea; box-shadow:0 12px 32px #23435b08; }
.cdm-public .blog-card__image { display:block; height:auto; aspect-ratio:16/10; overflow:hidden; background:#eaf4fc; margin:0; border-radius:0; }
.cdm-public .blog-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.cdm-public .blog-card:hover .blog-card__image img { transform:scale(1.035); }
.cdm-public .blog-card__cover { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:26px; height:100%; padding:30px; color:#286c9e; background:radial-gradient(circle at 100% 0,#cfe8fb,transparent 65%),#eff7fd; }
.cdm-public .blog-card__cover>.icon { width:42px; height:42px; stroke-width:1.2; }
.cdm-public .blog-card__cover>span { color:var(--navy); font-size:1.25rem; font-weight:750; letter-spacing:-.04em; }
.cdm-public .blog-card__cover>span>span { display:block; margin-top:5px; color:#4b6274; font-size:0.6875rem; font-weight:500; letter-spacing:0; }
.cdm-public .blog-card__body { display:flex; flex-direction:column; flex:1; padding:26px; }
.cdm-public .blog-card__meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:17px; }
.cdm-public .blog-card__category { color:#3b739d; font-size:0.625rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.cdm-public .blog-card__meta time { font-size:0.6875rem; color:#4b6274; }
.cdm-public .blog-card__title { font-size:1.4375rem; line-height:1.3; font-weight:750; margin:0 0 14px; }
.cdm-public .blog-card__excerpt { font-size:0.8125rem; line-height:1.85; color:var(--muted); margin-bottom:24px; }
.cdm-public .blog-card__body>.text-link { margin-top:auto; font-size:0.75rem; }
.cdm-public .blog-list__empty { padding:45px; border:1px solid var(--line); border-radius:20px; box-shadow:none; }
.cdm-public .blog-detail-section { padding:45px 0 65px; background:var(--paper); }
.cdm-public .blog-detail { max-width:1000px; }
.cdm-public .blog-detail__head { max-width:850px; margin:0 auto 38px; }
.cdm-public .blog-detail__title { font-size:clamp(2.25rem,calc(4.1vw * var(--cdm-text-scale, 1.4)),3.625rem); font-weight:750; line-height:1.16; color:var(--ink); margin-bottom:25px; letter-spacing:-.045em; }
.cdm-public .blog-detail__excerpt { font-size:1.0625rem; line-height:1.85; color:var(--muted); max-width:780px; margin-bottom:22px; }
.cdm-public .blog-detail__head time { color:#4b6274; font-size:0.75rem; }
.cdm-public .blog-detail__image { border-radius:22px; margin:35px 0 45px; background:#edf5fa; }
.cdm-public .blog-detail__image img { width:100%; max-height:560px; object-fit:cover; }
.cdm-public .blog-detail__content { max-width:760px; margin:45px auto 55px; padding:0; color:var(--ink); font-size:1rem; line-height:1.95; overflow-wrap:anywhere; }
.cdm-public .blog-detail__content h2 { font-size:1.875rem; line-height:1.3; margin:44px 0 20px; font-weight:750; }
.cdm-public .blog-detail__content h3 { font-size:1.4375rem; line-height:1.4; margin:32px 0 17px; }
.cdm-public .blog-detail__content p { color:var(--muted); margin-bottom:23px; }
.cdm-public .blog-detail__content a { color:#287bb9; text-decoration:underline; text-underline-offset:4px; }
.cdm-public .blog-detail__content img { max-width:100%; height:auto; border-radius:14px; }
.cdm-public .blog-detail__content blockquote { margin:30px 0; padding:10px 24px; border-left:3px solid var(--blue); background:#f0f7fc; }
.cdm-public .blog-detail__content pre { padding:20px; overflow-x:auto; border:1px solid var(--line); border-radius:12px; background:#eef4f8; font-size:0.8125rem; }
.cdm-public .blog-detail__content table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; font-size:0.875rem; }
.cdm-public .blog-detail__content th,.cdm-public .blog-detail__content td { padding:12px; border:1px solid var(--line); text-align:left; }
.cdm-public .article-back { margin-top:20px; }
.cdm-public .public-cta { display:flex; justify-content:space-between; align-items:center; gap:45px; padding:42px; border:1px solid #cde1ef; border-radius:22px; background:#eff7fd; margin-bottom:65px; }
.cdm-public .public-cta h2 { font-size:2.25rem; margin-bottom:20px; font-weight:750; }
.cdm-public .public-cta p:not(.eyebrow) { max-width:580px; font-size:0.875rem; line-height:1.8; margin-bottom:0; }
.cdm-public .public-cta .button { flex-shrink:0; font-size:0.8125rem; }
.cdm-public .public-cta .text-link { margin-top:20px; }
.cdm-public .article-cta { padding:35px; margin-bottom:25px; }
.cdm-public .article-cta h2 { font-size:1.875rem; }

/* Existing forms, account page and CMS content use the same outer shell. */
.cdm-public .contact-section { border-top:1px solid var(--line); padding:72px 0; background:#f0f6fa; }
.cdm-public .contact-section__title { font-size:clamp(1.875rem,calc(3.3vw * var(--cdm-text-scale, 1.4)),2.75rem)!important; font-weight:750!important; }
.cdm-public .contact-section__lead { color:var(--muted); font-size:0.875rem!important; line-height:1.85!important; }
.cdm-public .contact-section__details { font-size:0.875rem; }
.cdm-public .contact-section__details .mud-icon-root { color:#286c9e; }
.cdm-public .contact-form { padding:30px; border:1px solid var(--line); border-radius:20px; background:white; box-shadow:none; }
.cdm-public .contact-form__privacy { color:var(--muted); font-size:0.75rem; }
.cdm-public .account-deletion-page { background:var(--paper); }
.cdm-public .account-deletion-section { padding:65px 0 85px; background:radial-gradient(ellipse at 5% 0,#e7f3fc,transparent 60%); }
.cdm-public .account-deletion-section__title { font-size:clamp(2.25rem,calc(4vw * var(--cdm-text-scale, 1.4)),3.375rem)!important; font-weight:750!important; }
.cdm-public .account-deletion-section__lead { color:var(--muted); font-size:0.9375rem!important; }
.cdm-public .account-deletion-step>span { color:#286c9e; background:#e5f2fc; }
.cdm-public .account-deletion-step p { color:var(--muted); }
.cdm-public .product-page-prerender { max-width:1000px; padding-block:50px; }
.cdm-public .public-empty { padding-block:85px; }
.cdm-public .public-empty h1 { font-size:clamp(2.125rem,calc(4vw * var(--cdm-text-scale, 1.4)),3.5rem); margin-bottom:25px; }
.cdm-public .public-empty p { margin-bottom:28px; }
.cdm-public .public-error-header { flex-wrap:wrap; padding-block:18px; }
.cdm-public .public-error-navigation { display:flex; flex-wrap:wrap; gap:22px; font-size:0.8125rem; font-weight:650; }
.cdm-public .site-footer { margin-top:0; }
@media (max-width:1023px) {
    .cdm-public .public-hero__grid,.cdm-public .pricing-hero__content { grid-template-columns:1fr; gap:30px; }
    .cdm-public .public-hero__intro { max-width:650px; }
    .cdm-public .pricing-hero__benefits { max-width:580px; }
    .cdm-public .pricing-grid { gap:15px; }
    .cdm-public .pricing-card { padding:25px 20px; }
    .cdm-public .pricing-card__description { min-height:130px; }
    .cdm-public .pricing-card__price strong { font-size:2.375rem; }
    .cdm-public .pricing-card>.button { font-size:0.6875rem; }
    .cdm-public .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cdm-public .ekarta-offer { grid-template-columns:1fr; }
    .cdm-public .ekarta-offer__image { max-height:380px; }
    .cdm-public .public-cta { gap:28px; padding:30px; }
    .cdm-public .article-cta { flex-direction:column; align-items:flex-start; }
}
@media (max-width:767px) {
    .cdm-public .site-shell { width:calc(100% - 32px); }
    .cdm-public .public-hero,.cdm-public .pricing-hero { padding:45px 0 35px; }
    .cdm-public .public-hero h1,.cdm-public .pricing-title { font-size:clamp(2.25rem,calc(9.5vw * var(--cdm-text-scale, 1.4)),3rem)!important; }
    .cdm-public .pricing-lead,.cdm-public .public-hero__intro p { font-size:0.9375rem!important; }
    .cdm-public .pricing-hero__benefits { padding:20px; }
    .cdm-public .pricing-grid,.cdm-public .blog-grid { grid-template-columns:1fr; gap:20px; }
    .cdm-public .pricing-section { padding:20px 0 50px; }
    .cdm-public .pricing-card { padding:28px 24px; }
    .cdm-public .pricing-card__badge--placeholder { display:none; }
    .cdm-public .pricing-card__description { min-height:0; font-size:0.875rem; }
    .cdm-public .pricing-card__feature { font-size:0.8125rem; }
    .cdm-public .pricing-card>.button { font-size:0.875rem; }
    .cdm-public .ekarta-offer { margin-top:45px; }
    .cdm-public .ekarta-offer__content { padding:25px; }
    .cdm-public .ekarta-offer__title { font-size:1.75rem!important; }
    .cdm-public .ekarta-functions { margin-top:45px; }
    .cdm-public .ekarta-functions__grid { grid-template-columns:1fr; }
    .cdm-public .ekarta-section-heading h2 { font-size:1.8125rem; }
    .cdm-public .ekarta-law { padding:25px; }
    .cdm-public .ekarta-law h2,.cdm-public .pricing-trial h2 { font-size:1.625rem; }
    .cdm-public .pricing-trial { padding:25px; }
    .cdm-public .blog-section { padding:32px 0 45px; }
    .cdm-public .blog-card__body { padding:24px; }
    .cdm-public .blog-card__excerpt { font-size:0.875rem; }
    .cdm-public .blog-detail-section { padding:30px 0 45px; }
    .cdm-public .blog-detail__title { font-size:2.25rem; }
    .cdm-public .blog-detail__excerpt { font-size:1rem; }
    .cdm-public .blog-detail__content { font-size:1rem; margin-top:30px; }
    .cdm-public .blog-detail__content h2 { font-size:1.6875rem; }
    .cdm-public .public-cta { flex-direction:column; align-items:flex-start; padding:27px 23px; margin-bottom:45px; gap:25px; }
    .cdm-public .public-cta h2 { font-size:1.875rem; }
    .cdm-public .public-cta .button { width:100%; }
    .cdm-public .contact-section { padding:50px 0; }
    .cdm-public .contact-form { padding:24px 20px; }
    .cdm-public .account-deletion-section { padding:40px 0 55px; }
}
@media (prefers-reduced-motion:reduce) {
    .cdm-public .blog-card,.cdm-public .blog-card__image img { transition:none; }
}
