/* Public marketing pages: independent from the customer panel. */
.landing-page {
  --ink-950: #183e34; --ink-900: #21463b; --ink-700: #486159;
  --text: #28473d; --muted: #617169; --border: #dce2d9;
  --teal-700: #285b46; --teal-600: #326b52; --teal-50: #edf3e9;
  --teal-100: #dce8d6; --surface-soft: #f3f4ed;
  background: #fafaf5;
}
.landing-page .site-header { background: rgba(250,250,245,.95); }
.landing-page .header-inner { min-height: 80px; padding: 0; }
.landing-page .brand-copy strong { font-size: 1.35rem; letter-spacing: -.04em; }
.landing-page .brand-copy small { font-size: .65rem; }
.landing-page .marketing-nav { gap: 1.5rem; }
.landing-page .marketing-nav > a[href="/#kontakt"] { display: none; }
.landing-page .marketing-nav > a[href="/rejestracja"] { background: var(--ink-950); color: white; border-color: var(--ink-950); }
.landing-page .button { border-radius: 8px; box-shadow: none; gap: 1rem; }
.landing-page .button.primary { background: var(--ink-950); border-color: var(--ink-950); }
.landing-page .button.primary:hover { background: #326b52; border-color: #326b52; }
.landing-page .button [aria-hidden] { font-size: 1.25rem; font-weight: 400; }
.landing-page .landing-hero { min-height: 680px; padding: 80px 0; gap: 5rem; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); }
.landing-page .landing-hero::before { width: 580px; height: 560px; top: 60px; right: -40px; border-radius: 48% 48% 12px 12px; background: #e7eddf; transform: rotate(5deg); }
.landing-page .hero-kicker { background: transparent; border: 0; padding: 0; font-size: .68rem; letter-spacing: .13em; align-items: center; gap: .6rem; }
.landing-page .hero-kicker::before { content: ''; width: 7px; height: 7px; background: #62966a; border-radius: 50%; }
.landing-page .landing-hero__copy h1 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(3rem,4.6vw,4.5rem); font-weight: 400; line-height: 1.06; letter-spacing: -.045em; margin: .5rem 0 1.5rem; }
.landing-page .landing-hero__copy h1 span { color: #527e55; font-style: italic; }
.landing-page .landing-lead { font-size: 1.04rem; max-width: 540px; line-height: 1.8; }
.landing-page .landing-note { max-width: 480px; margin-top: 1.2rem; line-height: 1.7; }
.landing-page .hero-summary { overflow: visible; padding: 2rem; background: #fffefa; border: 1px solid #dbe1d4; border-radius: 18px; box-shadow: 0 20px 50px -24px #25433450; }
.landing-page .hero-summary::before { display: none; }
.landing-page .hero-summary__header { flex-wrap: wrap; gap: .8rem; }
.landing-page .hero-summary__header h2 { color: var(--ink-950); max-width: 320px; font-size: 1.35rem; font-weight: 600; letter-spacing: -.025em; }
.landing-page .hero-summary__header .eyebrow { color: var(--muted); margin-bottom: .6rem; letter-spacing: .12em; }
.landing-page .hero-control-badge { color: #356146; background: #eaf1e4; border: 0; }
.landing-page .hero-journey { margin: 1.8rem 0; }
.landing-page .hero-journey li { grid-template-columns: 36px 1fr; padding-bottom: 1.4rem; gap: 1rem; }
.landing-page .hero-journey li:last-child { padding-bottom: 0; }
.landing-page .hero-journey li > span { width: 36px; height: 36px; background: #eff3e9; border: 1px solid #d8e3cf; color: var(--teal-700); }
.landing-page .hero-journey li:not(:last-child)::after { background: #d7e2cf; left: 17px; top: 36px; }
.landing-page .hero-journey h3 { color: var(--ink-950); font-size: .9rem; }
.landing-page .hero-journey p { color: var(--muted); font-size: .8rem; }
.landing-page .hero-price { background: var(--ink-950); margin: 0; border: 0; border-radius: 10px; }
.landing-page .hero-price p { padding: 1.1rem; min-height: 94px; }
.landing-page .hero-price span { color: #c0d2c4; }
.landing-page .hero-price strong { color: #f2f5df; font-size: 1.7rem; font-weight: 500; letter-spacing: -.04em; }
.landing-page .trust-strip { background: transparent; }
.landing-page .trust-strip ul { padding: 1.5rem 0; gap: 1.2rem; }
.landing-page .trust-strip li { font-weight: 500; font-size: .76rem; }
.landing-page .landing-section { padding-top: 90px; padding-bottom: 90px; }
.landing-page .section-heading h2, .landing-page .final-cta h2 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.2rem,3.5vw,3.3rem); font-weight: 400; line-height: 1.15; letter-spacing: -.035em; }
.landing-page .section-heading { max-width: 770px; }
.landing-page .eyebrow { letter-spacing: .12em; font-size: .67rem; }
.landing-page .feature-grid { gap: 1.5rem; }
.landing-page .feature-card { padding: 1.8rem; border: 0; border-top: 1px solid #cdd8c7; border-radius: 0; background: transparent; box-shadow: none; }
.landing-page .feature-card__number { display: inline-flex; margin-bottom: 1.4rem; height: 38px; width: 38px; align-items: center; justify-content: center; border: 1px solid #d7e0ce; border-radius: 50%; background: #eff3e9; }
.landing-page .feature-card h3 { font-weight: 600; font-size: 1.1rem; }
.landing-page .feature-card p { font-size: .9rem; line-height: 1.8; }
.landing-page .workflow-section { display: block; border: 0; }
.landing-page .workflow-section .section-heading { margin-bottom: 2.5rem; }
.recovery-map { padding: 2.5rem; border: 1px solid #d7e1d1; border-radius: 18px; background: #eef2e7; }
.recovery-map__path { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 1.4rem; list-style: none; padding: 0; margin: 0; }
.recovery-map__path li { position: relative; }
.recovery-map__path li:not(:last-child)::after { content: '→'; position: absolute; top: 42px; right: -1.15rem; color: #557657; }
.recovery-map__path a { display: flex; height: 100%; min-height: 150px; padding: 1.1rem; flex-direction: column; gap: .35rem; background: #fffefa; border: 1px solid #d5dfce; border-radius: 10px; color: var(--ink-950); text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.recovery-map__path a:hover { border-color: #527e55; box-shadow: 0 6px 18px #28473612; }
.recovery-map__path svg { width: 28px; height: 28px; margin-bottom: .5rem; stroke: #527e55; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.recovery-map__path strong { font-weight: 600; font-size: .94rem; }
.recovery-map__path small { color: var(--muted); font-size: .7rem; }
.recovery-map__outcome { position: relative; margin: 1.8rem 0 0; padding: 1rem; border: 1px solid #c4d7b6; border-radius: 8px; background: #dce9d2; text-align: center; font-size: .84rem; }
.recovery-map__outcome::before { content: ''; position: absolute; height: 1.8rem; width: 1px; left: 50%; top: -1.85rem; background: #acc59d; }
.recovery-map__caption { margin: 1rem 0 0; color: var(--muted); font-size: .76rem; line-height: 1.7; }
.scenario-details { margin-top: 2rem; }
.scenario-details details { border-bottom: 1px solid var(--border); scroll-margin-top: 100px; }
.scenario-details summary { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 1rem; padding: 1.5rem 0; cursor: pointer; list-style: none; font-size: 1.1rem; font-weight: 600; }
.scenario-details summary::-webkit-details-marker { display: none; }
.scenario-details summary::after { content: '+'; font-size: 1.4rem; font-weight: 400; }
.scenario-details details[open] summary::after { content: '−'; }
.scenario-details summary > span:first-child { color: #71816b; font-size: .75rem; font-weight: 500; }
.scenario-detail__body { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; margin-left: 56px; padding-bottom: 1.8rem; color: var(--muted); line-height: 1.8; }
.scenario-detail__body p { margin: 0; }
.scenario-detail__body ul { margin: 0; padding-left: 1.2rem; font-size: .88rem; }
.scenario-detail__body li + li { margin-top: .4rem; }
.landing-page .workflow-section .section-note { margin: 1.5rem 0 0; font-size: .8rem; line-height: 1.8; }
.landing-page .pricing-section { position: relative; border-top: 1px solid var(--border); }
.landing-page .pricing-grid { gap: 1.4rem; }
.landing-page .pricing-card { padding: 2rem; border-radius: 14px; background: #fffefa; }
.landing-page .pricing-card__index { position: absolute; right: 1.5rem; top: 1.5rem; color: #7c8d75; font-size: .75rem; }
.landing-page .pricing-card__name { margin: .5rem 0 2rem; font-size: 1.25rem; letter-spacing: -.025em; }
.landing-page .pricing-card__price { flex-wrap: wrap; }
.landing-page .pricing-card__price strong { font-size: clamp(2rem,3.1vw,3rem); font-weight: 500; letter-spacing: -.055em; white-space: nowrap; }
.landing-page .pricing-card .pricing-details { margin: .8rem 0 1.8rem; gap: 1rem; }
.landing-page .pricing-card li { font-size: .81rem; }
.landing-page .pricing-card--featured { background: var(--ink-950); border: 1px solid var(--ink-950); box-shadow: 0 16px 30px -20px #183e3460; }
.landing-page .pricing-card--featured :is(h3,.pricing-card__price strong,li strong) { color: #f5f5e8; }
.landing-page .pricing-card--featured :is(.pricing-card__threshold,.pricing-card__service,.pricing-card__price span,li,.pricing-card__index) { color: #c4d3c7; }
.landing-page .pricing-card--featured ul { border-color: #466456; }
.landing-page .pricing-card--featured li::before { color: #c6dbad; }
.landing-page .pricing-card--featured .button { background: #e4edcc; color: #183e34; border-color: #e4edcc; }
.landing-page .comparison { margin-top: 2rem; padding: 2rem; background: #f0f2e9; border: 0; }
.landing-page .comparison__heading h3 { font-family: Georgia,serif; font-weight: 400; font-size: 1.8rem; }
.landing-page .comparison td:nth-child(2) { color: var(--ink-950); background: #edf3e6; font-weight: 700; }
.landing-page .faq-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 5rem; }
.landing-page .faq-list { grid-template-columns: 1fr; gap: 0; }
.landing-page .faq-list details { border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; }
.landing-page .faq-list summary { padding: 1.4rem 0; }
.landing-page .faq-list details p { padding: 0 2rem 1.4rem 0; }
.landing-page .final-cta { position: relative; overflow: hidden; margin-bottom: 80px; background: #183e34; border-radius: 20px; }
.landing-page .final-cta .eyebrow { color: #c4d4ae; }
.landing-page .final-cta > p:not(.eyebrow):not(.landing-note) { color: #ccd9cc; }
.landing-page .final-cta .button.primary { background: #e4edcc; border-color: #e4edcc; color: #183e34; }
.landing-page .final-cta .landing-note { max-width: none; color: #b5c9b9; }
.landing-page .site-footer { background: #f0f2e9; }
.guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.guide-card { display: flex; padding: 1.7rem; flex-direction: column; align-items: flex-start; border: 1px solid var(--border); border-radius: 12px; background: #fffefa; }
.guide-card__label { margin-bottom: 1.4rem; font-size: .7rem; color: var(--muted); }
.guide-card h3 { font-size: 1.15rem; font-weight: 600; }
.guide-card p { color: var(--muted); font-size: .9rem; line-height: 1.75; }
.guide-card > a { margin-top: auto; font-size: .85rem; font-weight: 600; text-decoration: none; }
.guide-page { max-width: 1000px; margin: auto; padding: 60px 24px 90px; }
.guide-page h1 { max-width: 850px; font: 400 clamp(2.5rem,5vw,4rem)/1.12 Georgia,serif; letter-spacing: -.035em; }
.guide-page__lead { max-width: 760px; font-size: 1.12rem; color: var(--muted); line-height: 1.8; }
.guide-page__layout { display: grid; grid-template-columns: minmax(0,1fr) 250px; gap: 4rem; margin-top: 3rem; }
.guide-page__body section { margin-bottom: 2.5rem; scroll-margin-top: 100px; }
.guide-page__body h2 { font: 400 1.8rem/1.2 Georgia,serif; letter-spacing: -.02em; }
.guide-page__body p { color: var(--ink-700); line-height: 1.9; }
.guide-page__aside { align-self: start; position: sticky; top: 110px; padding: 1.4rem; background: #edf2e6; border-radius: 12px; }
.guide-page__aside a { display: block; margin-top: 1rem; font-size: .85rem; }
.guide-page .pricing-grid { margin: 2rem 0; }
@media (max-width: 1280px) { .landing-page .header-inner { padding: 0 24px; } }
@media (max-width: 1000px) {
  .landing-page .landing-hero { gap: 2.5rem; }
  .landing-page .hero-summary { padding: 1.5rem; }
  .recovery-map { padding: 1.5rem; }
  .recovery-map__path { gap: 1rem; }
  .recovery-map__path a { padding: .8rem; }
  .recovery-map__path li:not(:last-child)::after { right: -.88rem; }
  .landing-page .pricing-card { padding: 1.4rem; }
  .landing-page .faq-section { gap: 3rem; }
}
@media (max-width: 860px) {
  .landing-page .landing-hero { grid-template-columns: 1fr; padding: 60px 0; gap: 3rem; }
  .landing-page .landing-hero__copy { max-width: 640px; }
  .landing-page .landing-hero__copy h1 { font-size: 3.7rem; max-width: 590px; }
  .landing-page .landing-hero::before { top: auto; bottom: 25px; right: 0; height: 470px; width: 85%; }
  .landing-page .hero-summary { width: 100%; max-width: 640px; margin-left: auto; }
  .landing-page .pricing-grid, .guide-grid { grid-template-columns: 1fr; }
  .landing-page .pricing-card:last-child { grid-column: auto; }
  .landing-page .faq-section { grid-template-columns: 1fr; gap: 1rem; }
  .recovery-map__path { grid-template-columns: 1fr; gap: 1.2rem; }
  .recovery-map__path a { display: grid; grid-template-columns: 36px 1fr; min-height: auto; align-items: center; gap: .15rem 1rem; padding: 1rem; }
  .recovery-map__path svg { grid-row: span 2; margin: 0; }
  .recovery-map__path li:not(:last-child)::after { top: auto; bottom: -1.2rem; right: auto; left: 28px; content: '↓'; }
  .recovery-map__outcome::before { left: 28px; }
  .scenario-detail__body { grid-template-columns: 1fr; gap: 1.2rem; }
  .guide-page__layout { grid-template-columns: 1fr; gap: 1rem; }
  .guide-page__aside { position: static; }
}
@media (max-width: 680px) {
  .landing-page .header-inner { min-height: 62px; padding: 0 20px; }
  .landing-page .marketing-nav { gap: 0; }
  .landing-page .landing > section { width: calc(100% - 40px); }
  .landing-page .landing-hero { padding: 44px 0; }
  .landing-page .hero-kicker { font-size: .57rem; letter-spacing: .07em; }
  .landing-page .landing-hero__copy h1 { font-size: clamp(2.65rem,10.5vw,3.8rem); }
  .landing-page .landing-lead { font-size: .96rem; line-height: 1.75; }
  .landing-page .hero-summary { padding: 1.2rem; }
  .landing-page .hero-price { grid-template-columns: 1.2fr 1fr; }
  .landing-page .hero-price p { padding: .9rem; }
  .landing-page .hero-price p + p { border-top: 0; border-left: 1px solid #466456; }
  .landing-page .hero-price strong { font-size: 1.35rem; }
  .landing-page .landing-section { padding-top: 60px; padding-bottom: 60px; }
  .landing-page .section-heading { margin-bottom: 2rem; }
  .landing-page .section-heading h2, .landing-page .final-cta h2 { font-size: 2.25rem; }
  .landing-page .feature-grid--three { grid-template-columns: 1fr; gap: 0; }
  .landing-page .feature-card { min-height: auto; padding: 1.5rem 0; }
  .landing-page .trust-strip ul { gap: 1rem; }
  .landing-page .trust-strip li { font-size: .72rem; padding-right: 0; }
  .recovery-map { padding: 1rem; }
  .recovery-map__outcome { text-align: left; }
  .scenario-details summary { grid-template-columns: 25px 1fr auto; gap: .5rem; font-size: 1rem; }
  .scenario-detail__body { margin-left: 0; }
  .landing-page .pricing-card { padding: 1.6rem; }
  .landing-page .pricing-card__price strong { font-size: 2.8rem; }
  .landing-page .comparison { padding: 1rem; }
  .landing-page .final-cta { padding: 44px 22px !important; margin-bottom: 40px; border-radius: 14px; }
  .landing-page .footer-inner { padding: 40px 20px; }
  .guide-page { padding: 40px 20px; }
}
.recovery-map__responses { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 1.2rem; }
.recovery-map__responses > div { padding: 1.1rem; border: 1px solid #d5dfce; border-radius: 8px; background: #f8faf2; font-size: .84rem; }
.recovery-map__responses p { margin: .35rem 0 0; color: var(--muted); font-size: .8rem; line-height: 1.7; }
.research-link { margin: 1.8rem 0; font-size: .85rem; color: var(--muted); }
.research-link a { display: inline-block; font-weight: 600; }
@media (max-width: 680px) { .recovery-map__responses { grid-template-columns: 1fr; gap: .7rem; } }

/* Full-service court and enforcement journey. */
.guide-grid--four { grid-template-columns: repeat(2,minmax(0,1fr)); }
.guide-journey { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; padding: 1.3rem; margin: 2rem 0; background: #edf2e6; border-radius: 12px; list-style: none; }
.guide-journey li { display: flex; flex-direction: column; gap: .5rem; font-size: .83rem; font-weight: 600; }
.guide-journey span { color: #71816b; font-size: .7rem; }
@media (min-width: 861px) and (max-width: 1150px) {
  .recovery-map__path { grid-template-columns: 1fr; gap: 1.2rem; }
  .recovery-map__path a { display: grid; grid-template-columns: 36px 1fr; min-height: auto; align-items: center; gap: .15rem 1rem; padding: 1rem; }
  .recovery-map__path svg { grid-row: span 2; margin: 0; }
  .recovery-map__path li:not(:last-child)::after { top: auto; bottom: -1.2rem; right: auto; left: 28px; content: '↓'; }
}
@media (min-width: 1151px) {
  .recovery-map__path { gap: 1rem; }
  .recovery-map__path a { padding: .8rem; }
  .recovery-map__path strong { font-size: .84rem; }
  .recovery-map__path li:not(:last-child)::after { right: -.9rem; }
}
@media (max-width: 680px) {
  .guide-grid--four { grid-template-columns: 1fr; }
  .guide-journey { grid-template-columns: 1fr; }
  .guide-journey li { flex-direction: row; gap: 1rem; }
}
.landing-page .landing-intake-entry{width:100%;max-width:540px;margin:10px 0 12px}.landing-intake-entry label{font-size:13px;font-weight:700;display:block;margin-bottom:8px}.landing-intake-entry>div{display:flex;gap:8px}.landing-intake-entry input{min-width:0;flex:1;border:1px solid #b9c9b8;border-radius:8px;padding:13px;font-size:16px;background:#fff}.landing-intake-entry small{display:block;margin:10px 0;line-height:1.5;color:#617166}.landing-page .landing-monthly{margin:65px auto;padding:35px 0;max-width:1140px}.monthly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.monthly-card{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #d6dfcf;background:#fff;border-radius:18px;padding:28px;gap:12px}.monthly-card:nth-child(2){background:#edf3e6;border-color:#7e9c7e}.monthly-card h3{font:27px Georgia,serif;margin:0}.monthly-card strong{font:38px Georgia,serif}.monthly-card p{font-size:14px;line-height:1.7;margin:0}.monthly-card .button{margin-top:auto}.monthly-card>span{font-size:12px;color:#617166}@media(max-width:760px){.monthly-grid{grid-template-columns:1fr}.landing-page .landing-monthly{padding:25px 20px}.landing-intake-entry>div{flex-direction:column}.landing-intake-entry .button{width:100%}}
