/* Service details share Index's header, background and glass material. */
/* Let detail content grow past the desktop hero's fixed viewport. */
html:is([data-view="landing-pages"], [data-view="business-seiten"], [data-view="website-relaunch"], [data-view="wartung-pflege"], [data-view="philipp-rupp"]) .page {
  height: auto;
  min-height: 100dvh;
  overflow: visible;
  grid-template-rows: auto 1fr;
}
.service-detail-view[hidden], .profile-detail-view[hidden] { display: none !important; }
.service-detail-view, .profile-detail-view { width: min(1240px, calc(100% - 96px)); margin: 0 auto; padding: 18px 0 80px; min-width: 0; align-self: start; }
.service-detail-view:focus, .profile-detail-view:focus { outline: none; }
.service-detail-bar { display: flex; align-items: center; justify-content: space-between; gap: 22px; width: fit-content; min-width: 260px; max-width: 100%; min-height: 46px; margin: 0 auto 30px; padding: 4px 18px 4px 5px; border: 1px solid var(--glass-border, #a1bce033); border-radius: 999px; background: var(--glass-reflection), linear-gradient(140deg, #222b3899, #0c111abf); box-shadow: var(--glass-shadow); backdrop-filter: blur(16px) saturate(110%); -webkit-backdrop-filter: blur(16px) saturate(110%); }
.service-detail-bar .kicker { font-size: 13px; font-weight: 550; color: #e1e6ef; letter-spacing: .01em; text-align: center; }
.service-detail-back { display: grid; place-items: center; width: 38px; height: 38px; flex-shrink: 0; border-radius: 50%; color: #b9c3d4; transition: background .2s, color .2s; }
.service-detail-back:hover { background: #ffffff10; color: #fff; }
.service-detail-back svg { width: 20px; height: 20px; }
.service-detail-bar-dot { width: 5px; height: 5px; border-radius: 50%; background: #8db8ee; box-shadow: 0 0 10px #689aeb55; }
.service-detail-view .detail-shell { display: grid; gap: 22px; }
.service-detail-view .detail-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 22px; align-items: stretch; }
.service-detail-view .glass-card { min-width: 0; margin: 0; border: 1px solid var(--glass-border); border-radius: 22px; }
.service-detail-view .detail-intro { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 4vw, 54px); }
.service-detail-view h1 { margin: 0; max-width: 780px; font-size: clamp(40px, 5.5vw, 74px); line-height: 1.04; letter-spacing: -.055em; font-weight: 550; }
.service-detail-view h1 em { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; color: #bcc9dd; }
.service-detail-view .lead { margin: 26px 0 0; color: #bcc3cf; font-size: 16px; line-height: 1.8; }
.service-detail-view .price-panel { padding: 24px; display: flex; flex-direction: column; gap: 16px; overflow: hidden; }
.service-detail-view .price-panel h2 { margin: 0; font-size: 11px; color: #aeb7c6; letter-spacing: .15em; text-transform: uppercase; }
.service-detail-view .price-list { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.service-detail-view .price-list li { padding: 16px; border: 1px solid #ffffff16; border-radius: 14px; background: #ffffff04; }
.service-detail-view .price-list strong { display: block; margin-bottom: 6px; font-size: 18px; letter-spacing: -.03em; }
.service-detail-view .price-list span { color: #b3bccb; font-size: 13px; line-height: 1.65; }
.service-detail-visual { margin: auto 0 0; overflow: hidden; border: 1px solid #ffffff1a; border-radius: 14px; aspect-ratio: 16 / 9; }
.service-detail-visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.service-detail-view .detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 22px; }
.service-detail-view .info-card { min-height: 0; height: auto; padding: 26px; }
.service-detail-view .info-card h3 { margin: 0 0 12px; font-size: 19px; font-weight: 550; letter-spacing: -.035em; }
.service-detail-view .info-card p, .service-detail-view .info-card li { color: #b8c0cc; font-size: 14px; line-height: 1.75; }
.service-detail-view .cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.service-detail-view .detail-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 20px; border: 1px solid #ffffff26; border-radius: 999px; font-size: 13px; font-weight: 600; background: #ffffff0b; color: #e4e9f2; transition: background .2s; }
.service-detail-view .detail-btn.primary { background: linear-gradient(180deg, #f5f6fa, #ccd3df); color: #151922; }
.service-detail-view .detail-btn:hover { background: #ffffff20; }
.service-detail-view .detail-btn.primary:hover { background: #fff; }
.service-detail-view a:focus-visible { outline: 2px solid #92baf4; outline-offset: 4px; }
.profile-detail-view .detail-hero { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); }
.profile-detail-view .profile-portrait { position: relative; min-height: 560px; padding: 0; overflow: hidden; }
.profile-detail-view .profile-portrait img { display: block; width: 100%; height: 100%; min-height: 560px; object-fit: cover; object-position: center top; filter: saturate(.86) contrast(1.04); }
.profile-detail-view .profile-portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(0,0,0,.52)); pointer-events: none; }
.profile-detail-view .profile-role { margin-top: 20px; color: #dde7f5; font-size: 13px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.profile-detail-view .profile-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 26px; }
.profile-detail-view .profile-fact { padding: 14px; border: 1px solid #ffffff14; border-radius: 14px; background: #ffffff06; }
.profile-detail-view .profile-fact strong { display: block; margin-bottom: 5px; color: #eef3fb; font-size: 14px; }
.profile-detail-view .profile-fact span { color: #aeb8c7; font-size: 12px; line-height: 1.5; }
.contact-profile-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; color: #e8eef8; font-weight: 650; }
.contact-profile-body .contact-profile-link + a { margin-left: 16px; }
@media (max-width: 900px) {
  .service-detail-view, .profile-detail-view { width: calc(100% - 40px); }
  .service-detail-view .detail-hero, .profile-detail-view .detail-hero { grid-template-columns: 1fr; }
  .service-detail-view .detail-grid, .profile-detail-view .detail-grid { grid-template-columns: 1fr; gap: 16px; }
  .service-detail-view .detail-intro, .profile-detail-view .detail-intro { padding: 32px; }
  .profile-detail-view .profile-facts { grid-template-columns: 1fr; }
  .profile-detail-view .profile-portrait, .profile-detail-view .profile-portrait img { min-height: 420px; }
}
@media (max-width: 480px) {
  .service-detail-view, .profile-detail-view { width: calc(100% - 32px); padding-top: 12px; }
  .service-detail-bar { min-width: 230px; margin-bottom: 22px; }
  .service-detail-view .detail-intro, .profile-detail-view .detail-intro { padding: 26px 22px; }
  .service-detail-view .price-panel, .service-detail-view .info-card, .profile-detail-view .info-card { padding: 20px; }
  .service-detail-view h1, .profile-detail-view h1 { font-size: 42px; }
  .profile-detail-view .profile-portrait, .profile-detail-view .profile-portrait img { min-height: 360px; }
}
