/* Targeted landing-page additions to the shared Premiumclass design. */
html { scroll-padding-top: 24px; }
body.pc-site.pc-ads { margin: 0; color: #173657; background: #fff; font-family: "DM Sans", "Segoe UI", Arial, sans-serif; font-size: 17px; line-height: 1.65; color-scheme: light; }
.pc-ads *, .pc-ads *::before, .pc-ads *::after { box-sizing: border-box; }
.pc-ads img { display: block; max-width: 100%; height: auto; }
.pc-ads a { color: #004080; text-underline-offset: 4px; }
.pc-ads :focus-visible { outline: 3px solid #004080; outline-offset: 4px; }
.pc-ads .pc-width { width: min(1180px, calc(100% - 48px)); max-width: none; padding-inline: 0; margin-inline: auto; }
.pc-ads h1, .pc-ads h2, .pc-ads h3 { margin: 0 0 20px; color: #173657; text-wrap: balance; overflow-wrap: anywhere; hyphens: auto; }
.pc-ads h1, .pc-ads h2 { font-family: "DM Serif Display", Georgia, serif; font-weight: 400; letter-spacing: -.025em; }
.pc-ads h1 { font-size: clamp(2.6rem, 4.4vw, 4rem); line-height: 1.09; }
.pc-ads h1 em { color: #004080; font-style: italic; }
.pc-ads h2 { font-size: clamp(2rem, 3.3vw, 3.05rem); line-height: 1.18; }
.pc-ads h3 { font-size: 1.15rem; line-height: 1.35; font-weight: 700; }
.pc-ads p { margin: 0 0 20px; color: #52667e; }
.pc-ads strong { color: #173657; font-weight: 700; }
.pc-ads .pc-eyebrow { margin: 0 0 17px; color: #8d4315; font-size: .79rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pc-ads .pc-button { display: inline-flex; justify-content: center; align-items: center; min-height: 50px; padding: 13px 22px; border: 1px solid #b94e0f; border-radius: 7px; background: #b94e0f; color: #fff; font: 700 .95rem/1.4 "DM Sans", "Segoe UI", Arial, sans-serif; text-align: center; text-decoration: none; cursor: pointer; transition: background .15s, border-color .15s; }
.pc-ads .pc-button:hover { background: #973d09; border-color: #973d09; color: #fff; }
.pc-ads .pc-button:active { background: #803408; color: #fff; }
.pc-ads .pc-button:disabled { background: #647080; border-color: #647080; color: #fff; cursor: wait; }
.pc-ads-skip { position: fixed; z-index: 99; left: 18px; top: -100px; background: #fff; padding: 10px 18px; }
.pc-ads-skip:focus { top: 10px; }
.pc-ads-header { background: #fff; border-bottom: 1px solid #dbe3ed; }
.pc-ads-nav { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 100px; padding-block: 20px; }
.pc-ads-logo { flex: 0 0 210px; }
.pc-ads-logo img { width: 210px; height: auto; }
.pc-ads-nav nav { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 26px; font-size: .85rem; font-weight: 700; }
.pc-ads-nav nav a:not(.pc-button) { text-decoration: none; }
.pc-ads-nav nav a:not(.pc-button):hover { text-decoration: underline; }
.pc-ads .pc-hero { display: block; padding: 48px 0 70px; background: #fff; }
.pc-ads-hero-layout { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(0, .86fr); align-items: center; gap: 72px; }
.pc-ads-hero-layout > *, .pc-ads-three > *, .pc-ads-steps > *, .pc-ads-quotes > *, .pc-ads-team > *, .pc-ads-price-layout > *, .pc-ads-faq-layout > *, .pc-ads-contact-layout > * { min-width: 0; overflow-wrap: anywhere; }
.pc-ads-hero-copy { min-width: 0; }
.pc-ads .pc-ads-lead { max-width: 650px; margin-top: 25px; font-size: 1.1rem; line-height: 1.7; }
.pc-ads-hero-price { padding: 14px 0 22px; color: #173657; font-size: 1rem; }
.pc-ads-hero-price span { display: block; color: #52667e; font-size: .82rem; margin-top: 5px; }
.pc-ads .pc-ads-note { color: #52667e; font-size: .81rem; line-height: 1.6; border: 0; padding: 0; }
.pc-ads-hero-copy > .pc-ads-note { margin: 13px 0 0; }
.pc-ads-hero-card { padding: 27px; background: #f1f5fa; border: 1px solid #dbe3ed; border-radius: 16px; }
.pc-ads .pc-ads-card-label { color: #173657; font-weight: 700; font-size: .95rem; margin-bottom: 18px; }
.pc-ads-browser { padding: 24px; border: 1px solid #dbe3ed; border-radius: 10px; background: #fff; box-shadow: 0 12px 30px #1736570a; }
.pc-ads-browser-bar { display: flex; gap: 5px; margin: -6px 0 26px; padding-bottom: 15px; border-bottom: 1px solid #dbe3ed; }
.pc-ads-browser-bar span { width: 7px; height: 7px; border-radius: 50%; background: #c5d2e0; }
.pc-ads-browser h2 { font-size: 1.9rem; }
.pc-ads-browser p { font-size: .86rem; }
.pc-ads-browser .pc-eyebrow { font-size: .69rem; }
.pc-ads-example-line { height: 6px; width: 85%; margin: 10px 0; background: #e4ebf3; border-radius: 3px; }
.pc-ads-example-line-short { width: 62%; }
.pc-ads-example-label { display: inline-block; margin-top: 18px; padding: 7px 10px; border-radius: 4px; background: #fcf3e9; color: #8d4315; font-size: .76rem; font-weight: 700; }
.pc-ads-card-points { margin: 22px 0 12px; padding-left: 22px; color: #173657; font-size: .89rem; }
.pc-ads-card-points li { padding: 3px 0 3px 3px; }
.pc-ads-card-points li::marker { color: #8d4315; font-weight: 700; }
.pc-ads-hero-card > .pc-ads-note:last-child { margin-bottom: 0; }
.pc-ads .pc-section { padding: 86px 0; }
.pc-ads .pc-ads-soft { background: #f1f5fa; }
.pc-ads .pc-section-intro { display: block; max-width: 790px; }
.pc-ads .pc-section-intro > p { max-width: 710px; }
.pc-ads .pc-section-intro > p:not(.pc-eyebrow):not(.pc-ads-note) { font-size: 1rem; line-height: 1.65; }
.pc-ads .pc-ads-three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; margin-top: 40px; }
.pc-ads-three article { background: #fff; border: 1px solid #dbe3ed; border-radius: 10px; padding: 29px; }
.pc-ads-three p { font-size: .94rem; margin-bottom: 0; }
.pc-ads-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 29px; margin-top: 42px; }
.pc-ads .pc-step, .pc-ads .pc-step:first-child, .pc-ads .pc-step:last-child { display: block; padding: 22px 0 0; border: 0; border-top: 1px solid #c5d2e0; }
.pc-ads-step-number { display: block; color: #8d4315; font-size: .9rem; font-weight: 700; margin-bottom: 18px; }
.pc-ads .pc-step p { font-size: .9rem; }
.pc-ads-quotes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; margin: 35px 0 28px; }
.pc-ads-quotes figure { margin: 0; background: #fff; border: 1px solid #dbe3ed; border-radius: 10px; padding: 32px; }
.pc-ads-quotes blockquote { margin: 0 0 24px; color: #173657; font: 400 1.42rem/1.5 "DM Serif Display", Georgia, serif; }
.pc-ads-quotes figcaption { font-size: .9rem; color: #173657; font-weight: 700; }
.pc-ads-quotes figcaption span { color: #52667e; font-weight: 400; }
.pc-ads-quote-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin: 28px 0 16px; }
.pc-ads-quote-cta p { margin: 0; }
.pc-ads-text-link { font-size: .92rem; font-weight: 700; }
.pc-ads-team { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: 70px; }
.pc-ads-team > img { width: 100%; border-radius: 12px; }
.pc-ads-team p { font-size: .97rem; }
.pc-ads-price-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 76px; align-items: start; }
.pc-ads-checks { list-style: none; margin: 26px 0; padding: 0; }
.pc-ads-checks li { position: relative; padding: 8px 0 8px 24px; font-size: .92rem; }
.pc-ads-checks li::before { content: "✓"; position: absolute; left: 0; color: #004080; font-weight: 700; }
.pc-ads-price-card { padding: 34px; border: 1px solid #c5d2e0; border-top: 5px solid #004080; border-radius: 12px; background: #fff; box-shadow: 0 15px 40px #17365708; }
.pc-ads-price-card .pc-eyebrow { font-size: .73rem; letter-spacing: .08em; }
.pc-ads .pc-ads-price { margin-bottom: 0; color: #52667e; }
.pc-ads-price strong { color: #173657; font-size: 3.5rem; font-weight: 700; letter-spacing: -.045em; }
.pc-ads-price-card .pc-button { width: 100%; margin: 7px 0 22px; }
.pc-ads-annual { margin-bottom: 18px; padding-block: 17px; border-block: 1px solid #dbe3ed; font-size: .9rem; }
.pc-ads summary { color: #173657; font-weight: 700; cursor: pointer; }
.pc-ads summary:hover { color: #004080; }
.pc-ads-annual p { font-size: .87rem; margin: 15px 0 0; }
.pc-ads-price-card > .pc-ads-note:last-child { margin-bottom: 0; }
.pc-ads-faq-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 60px; }
.pc-ads-faq details { border-bottom: 1px solid #c5d2e0; padding: 19px 0; }
.pc-ads-faq details:first-child { padding-top: 0; }
.pc-ads-faq summary { font-size: .98rem; }
.pc-ads-faq p { margin: 15px 0 0; font-size: .94rem; }
.pc-ads .pc-ads-contact { background: #fcf3e9; }
.pc-ads-contact-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "intro form" "support form"; grid-template-rows: min-content 1fr; gap: 24px 76px; align-items: start; }
.pc-ads-contact-layout > .pc-section-intro { grid-area: intro; }
.pc-ads-contact-layout > .pc-section-intro > p:last-child { margin-bottom: 0; }
.pc-ads-contact-layout > .pc-ads-form { grid-area: form; }
.pc-ads-contact-support { grid-area: support; }
.pc-ads-contact-support .pc-ads-next { margin-top: 0; }
.pc-ads-next { margin: 28px 0; padding-left: 23px; color: #173657; font-size: .95rem; }
.pc-ads-next li { margin: 10px 0; padding-left: 4px; }
.pc-ads-phone { font-size: 1.5rem; font-weight: 700; }
.pc-ads-form { min-width: 0; padding: 32px; border: 1px solid #e6d4c4; border-radius: 12px; background: #fff; color: #173657; }
.pc-ads-field { margin-bottom: 21px; }
.pc-ads-form label { display: block; margin-bottom: 7px; color: #173657; font-size: .9rem; font-weight: 700; }
.pc-ads-form input:not([type="hidden"]), .pc-ads-form textarea, .pc-ads-form select { display: block; width: 100%; min-height: 48px; margin: 0; padding: 12px 13px; border: 1px solid #8294a9; border-radius: 5px; background: #fff; color: #173657; font: 400 16px/1.45 "DM Sans", "Segoe UI", Arial, sans-serif; }
.pc-ads-form textarea { min-height: 105px; resize: vertical; }
.pc-ads-form input::placeholder, .pc-ads-form textarea::placeholder { color: #5b6b7f; opacity: 1; }
.pc-ads-form input:focus-visible, .pc-ads-form textarea:focus-visible, .pc-ads-form select:focus-visible { outline: 3px solid #004080; outline-offset: 2px; border-color: #004080; }
.pc-ads-form .error { border: 2px solid #a52c2c; }
.pc-ads-form .pc-ads-optional { color: #52667e; font-size: .8rem; font-weight: 400; }
.pc-ads-optional-fields { padding: 0 0 24px; font-size: .88rem; }
.pc-ads-fields { padding-top: 22px; }
.pc-ads-form .pc-button { width: 100%; }
.pc-ads-form .pc-ads-note { margin: 17px 0 0; }
.pc-ads [data-type="mailerResponse"] { color: #173657; background: #fff; }
.pc-ads [data-type="mailerResponse"] > div[style] { background: #103b6d !important; color: #fff !important; border-radius: 10px; }
.pc-ads [data-type="mailerResponse"] > div[style] h3 { color: #fff !important; }
.pc-ads [data-type="mailerResponse"] > div[style] p { color: #e5effb !important; }
.pc-ads-footer { padding: 42px 0; border-top: 1px solid #dbe3ed; background: #fff; color: #52667e; font-size: .83rem; }
.pc-ads-footer-layout { display: flex; justify-content: space-between; gap: 30px; }
.pc-ads-footer p { margin: 6px 0 0; }
.pc-ads-footer nav { display: flex; flex-wrap: wrap; align-content: start; gap: 12px 24px; }
.pc-ads .sticky-cta { display: none; }
@media (max-width: 980px) {
  .pc-ads-nav { gap: 24px; }
  .pc-ads-nav nav { gap: 16px; }
  .pc-ads .pc-ads-header-cta { display: none; }
  .pc-ads-hero-layout { gap: 36px; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
  .pc-ads .pc-hero, .pc-ads .pc-section { padding-block: 64px; }
  .pc-ads .pc-ads-three { gap: 16px; }
  .pc-ads-three article { padding: 23px; }
  .pc-ads-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc-ads-team, .pc-ads-price-layout, .pc-ads-contact-layout, .pc-ads-faq-layout { gap: 36px; }
  .pc-ads-form, .pc-ads-price-card { padding: 26px; }
}
@media (max-width: 720px) {
  html { scroll-padding-top: 24px; }
  .pc-ads .pc-width { width: min(100% - 36px, 570px); }
  .pc-ads-nav { min-height: 84px; padding-block: 15px; gap: 16px; }
  .pc-ads-logo { flex-basis: 174px; }
  .pc-ads-logo img { width: 174px; }
  .pc-ads-nav nav { gap: 6px; }
  .pc-ads-nav nav a { font-size: .75rem; }
  .pc-ads-nav nav a[href="#ansatz"], .pc-ads-nav nav a[href="#preise"] { display: none; }
  .pc-ads .pc-hero { padding-block: 44px 54px; }
  .pc-ads h1 { font-size: clamp(2.5rem, 9.4vw, 3.4rem); }
  .pc-ads h2 { font-size: clamp(1.95rem, 7.4vw, 2.55rem); }
  .pc-ads .pc-ads-lead { font-size: 1rem; }
  .pc-ads .pc-section { padding-block: 52px; }
  .pc-ads-hero-layout, .pc-ads .pc-ads-three, .pc-ads-quotes, .pc-ads-team, .pc-ads-price-layout, .pc-ads-contact-layout, .pc-ads-faq-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .pc-ads-contact-layout { grid-template-areas: "intro" "form" "support"; grid-template-rows: auto; }
  .pc-ads-hero-card { padding: 24px; }
  .pc-ads-hero-card h2 { font-size: 1.85rem; }
  .pc-ads .pc-ads-three { margin-top: 28px; gap: 14px; }
  .pc-ads-three article { padding: 24px; }
  .pc-ads-quotes { gap: 16px; }
  .pc-ads-quotes figure { padding: 26px; }
  .pc-ads-quotes blockquote { font-size: 1.3rem; }
  .pc-ads-team > img { max-width: 430px; }
  .pc-ads-steps { gap: 22px; margin-top: 26px; }
  .pc-ads .pc-step h3 { font-size: 1.05rem; }
  .pc-ads .pc-step p { font-size: .85rem; }
  .pc-ads-price-card, .pc-ads-form { padding: 25px; }
  .pc-ads-price strong { font-size: 3.2rem; }
  .pc-ads-footer-layout { flex-direction: column; }
  .pc-ads-footer { padding-bottom: 104px; }
  .pc-ads .sticky-cta.is-visible { display: flex; position: fixed; bottom: max(14px, env(safe-area-inset-bottom)); left: 18px; right: 18px; z-index: 30; box-shadow: 0 4px 25px #17365730; }
}
@media (max-width: 360px) {
  .pc-ads .pc-width { width: calc(100% - 28px); }
  .pc-ads-logo { flex-basis: 152px; }
  .pc-ads h1 { font-size: 2.3rem; }
  .pc-ads .pc-button { padding-inline: 15px; }
  .pc-ads-steps { grid-template-columns: minmax(0, 1fr); }
  .pc-ads-form, .pc-ads-price-card { padding: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .pc-ads .pc-button { transition: none; }
}

/* Once the form is reached, its submit button takes over from the floating link. */
.pc-ads:has(#analyse:target) .sticky-cta,
.pc-ads:has(.pc-ads-form:focus-within) .sticky-cta { display: none; }
