/* Editorial package layout, scoped to the services page. */
.services-editorial { --se-muted: #b8b6af; --se-line: #33332f; max-width: 1600px; width: 100%; margin: 0 auto; padding: 136px 5vw 80px; }
.services-editorial h1, .services-editorial h2, .services-editorial h3, .services-editorial p, .services-editorial figure { margin: 0; }
.services-editorial h1, .services-editorial h2, .services-editorial h3 { font-family: var(--brand-font); font-weight: 400; letter-spacing: -.035em; }
.services-editorial h1 { font-size: clamp(54px, 5.7vw, 86px); line-height: 1.04; max-width: 11ch; }
.services-editorial h2 { font-size: clamp(38px, 4.1vw, 62px); line-height: 1.1; }
.services-editorial h3 { font-size: clamp(27px, 2.4vw, 36px); line-height: 1.12; }
.services-editorial p, .services-editorial li { font-size: 16px; line-height: 1.7; }
.services-editorial .se-eyebrow { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--se-muted); line-height: 1.6; }
.services-editorial img { display: block; width: 100%; height: 100%; object-fit: cover; }
.se-hero { display: grid; grid-template-columns: 1.1fr .9fr; gap: 8%; align-items: center; }
.se-hero-copy { padding: 24px 0; }
.se-hero h1 { margin: 25px 0; }
.services-editorial .se-lead { color: var(--se-muted); max-width: 45ch; font-size: 17px; }
.se-actions { display: flex; flex-wrap: wrap; gap: 22px; align-items: center; margin: 30px 0; }
.se-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 22px; background: #f0ede5; color: #151613; font-size: 13px; line-height: 1.5; transition: background .2s, transform .2s; }
.se-button:hover { background: #d8d4ca; transform: translateY(-2px); }
.se-button:focus-visible, .se-link:focus-visible, .se-service-image:focus-visible, .se-jump a:focus-visible { outline: 1px solid #f4f1ea; outline-offset: 5px; }
.se-arrow, .se-down { display: inline-block; flex: none; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("assets/arrow-up-right.svg") center / contain no-repeat; mask: url("assets/arrow-up-right.svg") center / contain no-repeat; }
.se-down { width: 12px; height: 12px; transform: rotate(135deg); }
.se-link { min-height: 44px; display: inline-flex; gap: 18px; align-items: center; font-size: 13px; border-bottom: 1px solid #77766f; transition: border-color .2s; }
.se-link:hover { border-color: #f0ede5; }
.services-editorial .se-open-note { font-size: 13px; color: #cbc8bf; max-width: 46ch; margin: 0 0 28px; }
.services-editorial .se-location { color: var(--se-muted); font-size: 11px; letter-spacing: .035em; }
.se-hero-copy { width: 100%; max-width: 600px; }
.se-hero-media { width: min(100%, 420px); justify-self: center; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.se-hero-shot { position: relative; overflow: hidden; aspect-ratio: 4 / 5; }
.services-editorial .se-hero-shot img { position: absolute; inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); }
.se-hero-shot--automotive { grid-column: 1 / -1; aspect-ratio: 960 / 415; }
.se-hero-shot--portrait img { object-position: 75% center; }
.se-hero-shot::after { content: ''; position: absolute; inset: 75% -1px -1px; background: linear-gradient(transparent, #0009); pointer-events: none; }
.se-hero-shot figcaption { position: absolute; bottom: 10px; left: 12px; z-index: 1; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; color: #fff; }
@media (max-width: 700px) {
  .se-hero-media { width: min(100%, 360px); gap: 10px; }
}
.se-jump { margin: 55px 0 100px; padding: 20px 0; border-top: 1px solid var(--se-line); border-bottom: 1px solid var(--se-line); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.se-jump > div { display: flex; flex-wrap: wrap; gap: 34px; }
.se-jump a { font-size: 12px; display: inline-flex; align-items: center; gap: 16px; min-height: 44px; }
.se-jump a:hover { text-decoration: underline; text-underline-offset: 6px; }
.se-section-head { margin-bottom: 45px; }
.se-section-head h2 { max-width: 20ch; margin: 18px 0; }
.se-section-head > p:last-child:not(.se-eyebrow) { max-width: 70ch; color: var(--se-muted); }
.se-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.se-offers, .se-service, .se-final { scroll-margin-top: 44px; }
.se-video { scroll-margin-top: -26px; }
#fotografie { scroll-margin-top: var(--se-photo-scroll-margin, 44px); }
.se-service { display: flex; flex-direction: column; min-width: 0; }
.se-service-image { display: block; aspect-ratio: 4 / 5; position: relative; overflow: hidden; }
.se-service-image img { transition: transform .55s ease; }
#portraits .se-service-image img { object-position: 75% center; }
.se-service-image:hover img { transform: scale(1.025); }
.se-image-arrow { position: absolute; bottom: 18px; right: 18px; width: 40px; height: 40px; border: 1px solid #fff9; background: #1116; display: grid; place-items: center; color: white; }
.se-image-arrow .se-arrow { width: 18px; height: 18px; }
.se-service-body { padding: 26px 0 0; display: flex; flex-direction: column; flex: 1; }
.se-service-body h3 { margin: 14px 0 12px; min-height: 2.24em; }
.services-editorial .se-price { font-size: 25px; line-height: 1.3; margin-bottom: 20px; color: #eeebe4; font-variant-numeric: tabular-nums; }
.se-price > span { font-size: 12px; color: var(--se-muted); margin-left: 3px; }
.se-description { color: var(--se-muted); max-width: 50ch; min-height: 5.1em; }
.services-editorial ul { padding: 0; margin: 22px 0; list-style: none; }
.services-editorial li { color: #ccc9c2; padding-left: 18px; position: relative; margin: 8px 0; font-size: 14px; line-height: 1.6; }
.services-editorial li::before { content: '—'; position: absolute; left: 0; color: #777a70; }
.se-upgrade { border-top: 1px solid var(--se-line); padding: 20px 0; margin-top: auto; display: flex; gap: 18px; align-items: flex-start; justify-content: space-between; }
.se-upgrade strong { font-size: 13px; font-weight: 400; color: #eeebe4; }
.services-editorial .se-upgrade p { font-size: 12px; color: var(--se-muted); line-height: 1.6; }
.se-upgrade > div p { margin-top: 7px; }
.services-editorial .se-upgrade-price { white-space: nowrap; color: #eeebe4; font-size: 14px; }
.se-upgrade-price > span { display: block; font-size: 11px; color: var(--se-muted); text-align: right; }
.services-editorial details { border-top: 1px solid var(--se-line); margin-top: auto; }
.se-upgrade + details { margin-top: 0; }
.services-editorial summary { min-height: 48px; padding: 14px 2px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; font-size: 12px; color: var(--se-muted); }
.services-editorial summary::-webkit-details-marker { display: none; }
.services-editorial summary::after { content: '+'; font-size: 20px; font-weight: 300; }
.services-editorial details[open] > summary::after { content: '−'; }
.services-editorial summary:focus-visible { outline: 1px solid #f4f1ea; outline-offset: 4px; }
.services-editorial details > p { font-size: 14px; color: var(--se-muted); padding: 0 0 18px; }
.se-card-actions { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--se-line); padding-top: 12px; }
.se-card-actions .se-link { border-bottom: 0; font-size: 12px; gap: 9px; }
.se-video { margin-top: 100px; padding-top: 70px; border-top: 1px solid var(--se-line); }
.se-price-note { margin-top: 40px; padding: 25px 0; border-top: 1px solid var(--se-line); border-bottom: 1px solid var(--se-line); }
.services-editorial .se-note { font-size: 12px; max-width: 105ch; color: var(--se-muted); }
.se-price-note .se-note + .se-note { margin-top: 9px; }
.se-process { margin: 90px 0; }
.se-process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.se-process-grid article { border-top: 1px solid var(--se-line); padding-top: 24px; }
.se-step-number { color: #a8ad9c; font-size: 12px; }
.se-process-grid h3 { margin: 20px 0 14px; font-size: 28px; }
.se-process-grid p { color: var(--se-muted); font-size: 14px; }
.se-final { padding: 65px 7%; background: #eae7df; color: #20221e; text-align: center; }
.se-final .se-eyebrow { color: #54584e; }
.se-final h2 { max-width: 20ch; margin: 18px auto 24px; }
.se-final > p:not(.se-eyebrow) { max-width: 62ch; margin: 0 auto 30px; color: #4d5148; }
.se-final .se-button { background: #20251d; color: #f4f1ea; }
.se-final .se-button:hover { background: #3a4433; }
.se-final .se-button:focus-visible { outline-color: #20221e; }
@media (min-width: 1600px) { .services-editorial { padding-left: 80px; padding-right: 80px; } }
@media (max-width: 1100px) and (min-width: 701px) {
  .services-editorial { padding-top: 125px; }
  .se-hero { gap: 5%; grid-template-columns: 1.05fr .95fr; }
  .services-editorial h1 { font-size: 60px; }
  .se-jump { align-items: flex-start; flex-direction: column; margin-bottom: 70px; }
  .se-grid { grid-template-columns: 1fr; gap: 50px; }
  .se-service { display: grid; grid-template-columns: .85fr 1.15fr; gap: 30px; align-items: start; }
  .se-service-body { padding-top: 0; }
  .se-service-body h3 { min-height: 0; }
  .se-description { min-height: 0; }
  .se-upgrade, .services-editorial details { margin-top: 0; }
  .se-process-grid { gap: 25px; }
}
@media (max-width: 700px) {
  .services-editorial { padding: 150px 22px 45px; }
  .se-hero { grid-template-columns: 1fr; gap: 28px; }
  .se-hero-copy { padding: 0; }
  .services-editorial h1 { font-size: clamp(48px, 12vw, 68px); max-width: 12ch; }
  .se-hero h1 { margin: 18px 0 22px; }
  .services-editorial .se-lead { font-size: 16px; }
  .se-actions { margin: 24px 0; gap: 16px; }
  .se-jump { margin: 35px 0 65px; padding: 18px 0; gap: 12px; flex-direction: column; align-items: flex-start; }
  .se-jump > div { gap: 0 24px; }
  .se-grid { grid-template-columns: 1fr; gap: 55px; }
  .se-section-head { margin-bottom: 30px; }
  .se-service-body h3 { min-height: 0; font-size: 32px; }
  .se-description { min-height: 0; }
  .se-upgrade, .services-editorial details { margin-top: 0; }
  .se-card-actions .se-link { font-size: 13px; gap: 12px; }
  .se-offers, .se-service, .se-final { scroll-margin-top: 24px; }
  .se-video { margin-top: 65px; padding-top: 45px; scroll-margin-top: -21px; }
  .se-price-note { margin-top: 30px; }
  .se-process { margin: 65px 0; }
  .se-process-grid { grid-template-columns: 1fr; gap: 28px; }
  .se-process-grid h3 { margin-top: 14px; }
  .se-final { padding: 42px 24px; margin: 0 -4px; }
  .se-final h2 { font-size: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .services-editorial *, .services-editorial *::after { transition: none !important; }
}

.se-upgrade-inquiry { display: inline-block; margin: 12px 0 2px; padding: 8px 0; color: var(--muted); font-size: .85rem; text-decoration: underline; text-underline-offset: 5px; }
.se-upgrade-inquiry:hover, .se-upgrade-inquiry:focus-visible { color: var(--ink); }

.se-faq { max-width: 900px; margin: clamp(56px, 7vw, 100px) auto; }
.se-faq h2 { margin-bottom: 24px; font-family: var(--brand-font); font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 400; }
.se-faq details { border-top: 1px solid var(--line); padding-block: 20px; }
.se-faq details:last-child { border-bottom: 1px solid var(--line); }
.se-faq summary { cursor: pointer; color: var(--ink); font-size: clamp(1.125rem, 1.5vw, 1.375rem); line-height: 1.5; }
.se-faq details p { margin: 16px 0 0; color: var(--muted); line-height: 1.75; }
