/* Focused inquiry page. Load after the theme's navigation, showcase and polish styles. */
.pemko-lead-page {
  --lead-ink: #171c19;
  --lead-dark: #121815;
  --lead-paper: #f4f5ef;
  --lead-muted: #5b665f;
  --lead-line: #d2d9ce;
  --lead-lime: #d7ff62;
  background: var(--lead-paper);
}
.lead-main { overflow: clip; color: var(--lead-ink); }
.lead-main *, .lead-main *::before, .lead-main *::after { box-sizing: border-box; }
.lead-wrap { width: min(1400px, calc(100% - 112px)); margin-inline: auto; }
.lead-main :is(h1,h2,h3,p,li,figcaption) { text-align: start; word-spacing: normal; }
.lead-main :is(h1,h2,h3) { text-wrap: balance; hyphens: manual; -webkit-hyphens: manual; }
.lead-main p { text-wrap: pretty; }
.lead-main a { color: inherit; }
.lead-main a:focus-visible, .lead-main summary:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
.lead-main section[id], .lead-main #projekt-anfragen { scroll-margin-top: 110px; }
.lead-main .lead-eyebrow { margin: 0 0 23px; font-size: .71rem; line-height: 1.5; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.lead-main h2 { font-size: clamp(2.1rem, 3.7vw, 3.85rem); line-height: 1.08; letter-spacing: -.045em; }
.lead-main h3 { font-size: 1.4rem; line-height: 1.2; letter-spacing: -.025em; }
.lead-section { padding-block: clamp(70px, 7vw, 116px); }
.lead-section-heading { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.7fr); align-items: end; gap: 50px; margin-bottom: 50px; }
.lead-section-heading > p { max-width: 40ch; justify-self: end; margin: 0; color: var(--lead-muted); font-size: 1rem; line-height: 1.75; }
.lead-main .lead-primary { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 58px; max-width: 100%; padding: 17px 23px; border: 1px solid var(--lead-lime); border-radius: 7px; background: var(--lead-lime); color: var(--lead-dark); font-size: .9rem; line-height: 1.45; font-weight: 600; text-decoration: none; transition: background-color 160ms ease, border-color 160ms ease; }
.lead-main .lead-primary:hover { background: #e7ffab; border-color: #e7ffab; }
.lead-main .lead-primary svg, .lead-secondary svg { width: 20px; height: 20px; flex: none; }
.lead-main .lead-secondary { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; width: fit-content; max-width: 100%; min-height: 46px; padding-block: 10px; border-bottom: 1px solid currentColor; color: inherit; font-size: .9rem; line-height: 1.5; font-weight: 500; text-decoration: none; }
.lead-main .lead-secondary:hover { color: #556f14; }

.lead-hero { position: relative; padding-top: clamp(52px, 6vw, 100px); background: var(--lead-dark); color: #f3f5ef; }
.lead-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: clamp(38px, 5vw, 85px); padding-bottom: clamp(55px, 6vw, 94px); }
.lead-hero-copy { min-width: 0; }
.lead-hero .lead-eyebrow { color: #c2cbbd; }
.lead-main .lead-hero h1 { margin: 0; font-size: clamp(2.95rem, 4.75vw, 5.2rem); line-height: 1.04; letter-spacing: -.055em; }
.lead-hero h1 > span { display: block; }
.lead-hero h1 > span + span { margin-top: .1em; color: var(--lead-lime); }
.lead-hero-intro { max-width: 48ch; margin: 30px 0 0; color: #c9d0c7; font-size: 1rem; line-height: 1.8; }
.lead-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 25px; margin-top: 32px; }
.lead-hero .lead-secondary { color: #e3e8df; }
.lead-hero .lead-secondary:hover { color: var(--lead-lime); }
.lead-hero-note { max-width: 44ch; margin-top: 23px; font-size: .77rem; line-height: 1.7; color: #aebbaa; }
.lead-hero .lead-trust { margin-top: 22px; }
.lead-hero .lead-rating { display: inline-flex; align-items: center; gap: 13px; max-width: 100%; min-height: 44px; color: #edf3e8; text-decoration: none; }
.lead-hero .lead-rating-stars { display: inline-flex; flex: none; gap: 2px; color: var(--lead-lime); }
.lead-hero .lead-rating-stars svg { display: block; width: 15px; height: 15px; }
.lead-hero .lead-rating-copy { display: grid; gap: 4px; min-width: 0; }
.lead-hero .lead-rating-copy strong { display: flex; align-items: center; gap: 9px; font-size: .82rem; font-weight: 500; line-height: 1.5; text-decoration: underline; text-decoration-color: #6f8065; text-underline-offset: 4px; }
.lead-hero .lead-rating-copy strong svg { display: block; width: 15px; height: 15px; }
.lead-hero .lead-rating-meta { color: #b9c7b0; font-size: .75rem; line-height: 1.6; }
.lead-hero .lead-rating-meta time { white-space: nowrap; }
.lead-hero .lead-rating:hover strong { color: var(--lead-lime); text-decoration-color: currentColor; }
.lead-hero .lead-trust .lead-hero-note { margin-top: 11px; }
.lead-hero-project { min-width: 0; margin: 0; padding: clamp(15px, 2vw, 28px); border: 1px solid #42513f; border-radius: 13px; background: linear-gradient(145deg, #2b372b, #1b251e); box-shadow: 0 30px 75px #0003; }
.lead-hero-project-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 24px; }
.lead-hero-project-head .eyebrow { margin: 0; color: #c5d0bf; font-size: .61rem; letter-spacing: .13em; line-height: 1.5; }
.lead-visual-marker { display: block; width: 30px; height: 1px; background: var(--lead-lime); }
.lead-hero-project > figcaption { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 22px; }
.lead-hero-project > figcaption > span { display: grid; gap: 4px; }
.lead-hero-project figcaption strong { color: #f3f5ef; font-size: .85rem; font-weight: 500; letter-spacing: .01em; }
.lead-hero-project figcaption span span { color: #bac7b4; font-size: .73rem; }
.lead-hero-project figcaption a { display: grid; place-items: center; flex: none; width: 42px; height: 42px; color: var(--lead-lime); border: 1px solid #617252; border-radius: 6px; }
.lead-hero-project figcaption a:hover { background: #31402b; }
.lead-hero-project figcaption svg { width: 21px; height: 21px; }
.lead-proof-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; padding-block: 26px; border-top: 1px solid #40503b; }
.lead-proof-strip p { display: flex; align-items: baseline; gap: 15px; margin: 0; color: #e0e7da; font-size: .79rem; line-height: 1.6; }
.lead-proof-strip p span { color: #a2b095; font-size: .63rem; letter-spacing: .07em; }

.lead-work { background: var(--lead-paper); }
.lead-scope { background: #e7ebe1; border-block: 1px solid #d8ded2; }
.lead-service-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 17px; }
.lead-service-card { min-width: 0; padding: clamp(23px,2.1vw,33px); border: 1px solid #ced7c6; border-radius: 9px; background: #f6f7f2; }
.lead-service-icon { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 33px; border: 1px solid #d4ddca; border-radius: 7px; background: #edf2e6; color: #435234; }
.lead-service-icon svg { width: 25px; height: 25px; }
.lead-service-card h3 { margin-bottom: 18px; }
.lead-service-card p { color: var(--lead-muted); font-size: .88rem; line-height: 1.85; }
.lead-scope-note { display: flex; align-items: center; justify-content: space-between; gap: 25px 45px; margin-top: 34px; }
.lead-scope-note > p { max-width: 58ch; color: var(--lead-muted); font-size: .9rem; line-height: 1.7; }
.lead-scope-note .lead-secondary { flex-shrink: 0; }

.lead-process { background: var(--lead-paper); }
.lead-process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 42px; list-style: none; padding: 0; margin: 0; }
.lead-process-grid li { min-width: 0; padding-top: 23px; border-top: 1px solid #b6c3aa; }
.lead-step { display: block; margin-bottom: 36px; color: #687956; font-size: .84rem; }
.lead-process-grid h3 { margin-bottom: 17px; }
.lead-process-grid p { max-width: 39ch; color: var(--lead-muted); font-size: .92rem; line-height: 1.85; }

.lead-contact { background: #1b241d; color: #f3f5ef; }
.lead-contact-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1fr); align-items: start; gap: clamp(45px,7vw,110px); }
.lead-contact .lead-eyebrow { color: #c5d2b9; }
.lead-contact-copy h2 { max-width: 13ch; }
.lead-contact-intro { max-width: 39ch; margin-top: 27px; color: #c7d1c1; font-size: 1rem; line-height: 1.85; }
.lead-person { display: flex; align-items: center; gap: 17px; margin-top: 38px; padding-block: 26px; border-block: 1px solid #465540; }
.lead-person-portrait { display: block; flex: none; width: 72px; height: 72px; border: 1px solid #728168; border-radius: 8px; object-fit: cover; object-position: center top; }
.lead-person-name { font-size: 1rem; line-height: 1.5; }
.lead-person-role { margin-top: 3px; color: #b3c1a9; font-size: .75rem; line-height: 1.65; }
.lead-contact-direct { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; margin-top: 25px; }
.lead-contact-direct a { display: inline-flex; align-items: center; gap: 18px; min-height: 30px; color: #eef2e8; font-size: 1rem; line-height: 1.5; }
.lead-contact-direct a:first-child { color: var(--lead-lime); font-size: 1.2rem; }
.lead-contact-direct a:hover { text-decoration: underline; text-underline-offset: 5px; }
.lead-contact-direct svg { width: 21px; height: 21px; }
.lead-contact-location { margin-top: 23px; color: #b7c5ad; font-size: .76rem; line-height: 1.85; }
.lead-form-panel { min-width: 0; padding: clamp(25px,3.4vw,46px); border: 1px solid #dce3d5; border-radius: 11px; background: #f7f8f3; color: var(--lead-ink); }
.lead-form-heading { font-size: clamp(1.35rem,1.7vw,1.65rem); line-height: 1.25; letter-spacing: -.03em; }
.lead-form-intro { margin-top: 14px; margin-bottom: 29px; color: var(--lead-muted); font-size: .84rem; line-height: 1.75; }
.lead-main .lead-form-panel .project-form { gap: 20px; }
.lead-main .lead-form-panel .form-grid { gap: 17px; }
.lead-main .lead-form-panel .project-form label { font-size: .8rem; line-height: 1.55; }
.lead-main .lead-form-panel .project-form :is(input,select,textarea) { min-width: 0; font-size: 1rem; color: var(--lead-ink); background: #fff; border: 1px solid #b7c3ae; border-radius: 5px; padding: 12px; }
.lead-main .lead-form-panel .project-form :is(input,textarea)::placeholder { color: #64715b; opacity: 1; }
.lead-main .lead-form-panel .project-form :is(input,select,textarea):focus { border-color: #5c722b; outline: 2px solid #5c722b; outline-offset: 2px; }
.lead-main .lead-form-panel .project-form textarea { min-height: 138px; }
.lead-main .lead-form-panel .form-note { color: #586550; font-size: .73rem; line-height: 1.8; }
.lead-main .lead-form-panel .project-form .button { min-height: 58px; padding: 17px 20px; border: 1px solid #bdde58; border-radius: 6px; color: #17200e; background: var(--lead-lime); font-size: .86rem; line-height: 1.5; }
.lead-main .lead-form-panel .project-form .button:hover { border-color: #95b531; background: #e2ff8d; }
.lead-main .lead-form-panel .project-form .form-reassurance { margin: 0; color: #586550; font-size: .72rem; line-height: 1.75; }
.lead-main .lead-form-panel .form-status { color: #213316; background: #e7f1dc; border-left-color: #5b771f; }
.lead-main .lead-form-panel .form-status.error { color: #772922; background: #fff0ed; border-left-color: #9e3d31; }

.lead-faq { background: var(--lead-paper); }
.lead-faq-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: start; gap: clamp(40px,7vw,110px); }
.lead-faq-intro { max-width: 30ch; margin-top: 23px; color: var(--lead-muted); font-size: .94rem; line-height: 1.75; }
.lead-faq-list { min-width: 0; border-top: 1px solid #c2ccba; }
.lead-faq-list details { padding: 0; margin: 0; border-bottom: 1px solid #c2ccba; }
.lead-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 75px; padding-block: 22px; color: var(--lead-ink); font-size: 1rem; font-weight: 500; line-height: 1.55; list-style: none; cursor: pointer; }
.lead-faq-list summary::-webkit-details-marker { display: none; }
.lead-faq-list summary::marker { content: ''; }
.lead-faq-list summary svg { flex-shrink: 0; color: #576949; transition: transform 160ms ease; }
.lead-faq-list details[open] summary svg { transform: rotate(45deg); }
.lead-faq-list details > p { width: 100%; max-width: none; margin: 0; padding: 0 42px 25px 0; color: var(--lead-muted); font-size: .91rem; line-height: 1.85; }
.lead-main .lead-faq-cta { margin-top: 28px; }

@media (min-width: 1920px) {
  .lead-wrap { width: min(1580px, calc(100% - 144px)); }
  .lead-main .lead-hero h1 { font-size: 5.7rem; }
  .lead-hero-intro { font-size: 1.06rem; }
  .lead-hero-grid { gap: 96px; }
}
@media (max-width: 1200px) {
  .lead-wrap { width: calc(100% - 72px); }
  .lead-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lead-service-card { padding: 28px; }
  .lead-service-icon { margin-bottom: 25px; }
  .lead-contact-grid { gap: 40px; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
  .lead-main .lead-form-panel .form-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 960px) {
  .lead-wrap { width: calc(100% - 48px); }
  .lead-hero-grid { grid-template-columns: minmax(0,1fr); gap: 42px; }
  .lead-hero-copy { max-width: 700px; }
  .lead-main .lead-hero h1 { font-size: clamp(3rem,6.5vw,4.6rem); max-width: 15ch; }
  .lead-hero-intro { max-width: 61ch; }
  .lead-hero-project { width: min(100%,720px); justify-self: center; padding: 25px; }
  .lead-proof-strip { gap: 23px; }
  .lead-proof-strip p { display: block; max-width: 22ch; font-size: .74rem; }
  .lead-proof-strip p span { display: block; margin-bottom: 5px; }
  .lead-section-heading { grid-template-columns: 1fr; gap: 25px; margin-bottom: 35px; }
  .lead-section-heading > p { justify-self: start; max-width: 56ch; }
  .lead-main h2 { font-size: clamp(2.15rem,5vw,3.4rem); }
  .lead-process-grid { gap: 25px; }
  .lead-process-grid h3 { font-size: 1.25rem; }
  .lead-process-grid p { font-size: .88rem; }
  .lead-contact-grid { grid-template-columns: minmax(0,1fr); gap: 40px; }
  .lead-contact-copy { max-width: 620px; }
  .lead-contact-copy h2 { max-width: none; }
  .lead-contact-intro { max-width: 54ch; }
  .lead-form-panel { padding: 32px; }
  .lead-main .lead-form-panel .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lead-faq-grid { grid-template-columns: minmax(0,1fr); gap: 33px; }
  .lead-faq-intro { max-width: 52ch; margin-top: 18px; }
}
@media (max-width: 600px) {
  .lead-wrap { width: calc(100% - 40px); }
  .lead-main section[id], .lead-main #projekt-anfragen { scroll-margin-top: 96px; }
  .lead-section { padding-block: 65px; }
  .lead-main .lead-eyebrow { font-size: .65rem; margin-bottom: 20px; }
  .lead-hero { padding-top: 48px; }
  .lead-main .lead-hero h1 { font-size: clamp(2.7rem,9.6vw,3.55rem); max-width: 15ch; }
  .lead-hero-intro { margin-top: 25px; font-size: .96rem; line-height: 1.8; }
  .lead-actions { display: grid; gap: 16px; margin-top: 27px; }
  .lead-main .lead-primary { width: 100%; min-height: 57px; font-size: .84rem; padding: 16px 18px; gap: 14px; }
  .lead-hero-note { margin-top: 19px; font-size: .74rem; }
  .lead-hero .lead-trust { margin-top: 19px; }
  .lead-hero .lead-rating { gap: 10px; }
  .lead-hero .lead-rating-stars { gap: 1px; }
  .lead-hero .lead-rating-stars svg { width: 13px; height: 13px; }
  .lead-hero-grid { gap: 36px; padding-bottom: 38px; }
  .lead-hero-project { padding: 16px; border-radius: 9px; }
  .lead-hero-project-head { margin-bottom: 17px; }
  .lead-hero-project > figcaption { padding-top: 17px; }
  .lead-hero-project figcaption strong { font-size: .77rem; }
  .lead-hero-project figcaption span span { font-size: .7rem; }
  .lead-proof-strip { grid-template-columns: minmax(0,1fr); gap: 0; padding-block: 13px; }
  .lead-proof-strip p { display: flex; gap: 15px; max-width: none; padding-block: 11px; font-size: .78rem; }
  .lead-proof-strip p span { display: inline; margin: 0; }
  .lead-proof-strip p + p { border-top: 1px solid #30412c; }
  .lead-main h2 { font-size: clamp(2rem,7.5vw,2.7rem); }
  .lead-section-heading > p { font-size: .94rem; }
  .lead-service-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .lead-service-card { padding: 25px; }
  .lead-service-icon { margin-bottom: 22px; }
  .lead-service-card h3 { font-size: 1.4rem; }
  .lead-service-card p { font-size: .91rem; }
  .lead-scope-note { flex-direction: column; align-items: flex-start; gap: 15px; margin-top: 27px; }
  .lead-process-grid { grid-template-columns: minmax(0,1fr); gap: 29px; }
  .lead-process-grid li { padding-top: 20px; }
  .lead-step { margin-bottom: 20px; }
  .lead-process-grid h3 { font-size: 1.4rem; }
  .lead-process-grid p { max-width: 50ch; font-size: .94rem; }
  .lead-contact-intro { font-size: .96rem; }
  .lead-person { margin-top: 28px; gap: 13px; }
  .lead-person-name { font-size: .96rem; }
  .lead-person-role { font-size: .72rem; }
  .lead-person-portrait { width: 64px; height: 64px; }
  .lead-form-panel { padding: 25px 20px; border-radius: 8px; }
  .lead-main .lead-form-panel .form-grid { grid-template-columns: minmax(0,1fr); }
  .lead-main .lead-form-panel .project-form .button { font-size: .8rem; padding: 16px; gap: 12px; }
  .lead-faq-list summary { font-size: .95rem; gap: 18px; }
  .lead-faq-list details > p { padding-right: 12px; font-size: .92rem; }
}
@media (prefers-reduced-motion: reduce) {
  .lead-main *, .lead-main *::before, .lead-main *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  .lead-main :is(.lead-hero-project,.lead-service-card,.lead-form-panel,.lead-person-portrait,.lead-primary) { border: 1px solid CanvasText; }
  .lead-main .lead-service-icon { color: CanvasText; }
}
.lead-main .lead-message-hint { margin-top: -8px; color: #5b665f; font-size: .78rem; line-height: 1.65; }
