/* Extend the agreed portrait-led, black-and-white world below the hero. */
.premium-site { scrollbar-color: #666 #000; }
.premium-site .header { position: relative; }
.premium-site .desktop-nav { gap: 28px; }
.premium-site #main > .section { padding-block: 104px; }
.premium-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: end; }
.premium-site .premium-heading h2 { font-size: clamp(2.25rem,4vw,3.5rem); line-height: 1.12; letter-spacing: -.035em; }
.premium-site .premium-heading > p { margin: 0; max-width: 50ch; line-height: 1.8; }
.premium-site .services-grid { margin-top: 50px; gap: 24px; }
.premium-site .service-card { padding: 0; border: 1px solid #777; background: #060606; }
.service-card-title { display: flex; flex-direction: column; justify-content: space-between; gap: 22px; background: var(--text); color: #080808; padding: 30px 32px 25px; min-height: 164px; }
.premium-site .service-card-title h3 { font-size: clamp(1.5rem,2.3vw,1.875rem); line-height: 1.2; }
.service-card-title > span { font-size: .875rem; color: #4b4b49; }
.service-card-content { padding: 26px 32px 0; }
.premium-site .service-card-content > p { margin: 0; color: #bbb; min-height: 87px; max-width: 48ch; }
.service-card-content ul { padding: 0; margin: 22px 0 28px; list-style: none; }
.service-card-content li { border-bottom: 1px solid #303030; font-size: .9375rem; line-height: 1.6; padding: 12px 0; color: #eee; }
.service-card-content details { border-top: 1px solid #666; border-bottom: 0; }
.service-card-content summary { font-size: .9375rem; min-height: 76px; }
.service-card-content .detail-content { padding-bottom: 28px; }
.premium-site .service-card-content .detail-content p { margin-top: 0; color: #bbb; }
.section-bottom { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; margin-top: 32px; }
.section-bottom > p { color: #aaa; font-size: .9375rem; line-height: 1.7; }
.section-bottom .text-link { margin: 0; white-space: nowrap; }
.workflow-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin: 50px 0 42px; padding: 0; list-style: none; }
.workflow-steps li { border-top: 1px solid #777; padding-top: 24px; }
.step-number { display: block; font-size: 1rem; color: #aaa; font-variant-numeric: tabular-nums; margin-bottom: 38px; }
.workflow-steps h3 { font-size: 1.35rem; line-height: 1.4; }
.workflow-steps p { font-size: 1rem; line-height: 1.8; color: #aaa; margin-top: 18px; max-width: 37ch; }
.preparation-note { display: grid; grid-template-columns: .8fr 1.2fr; gap: 24px 64px; background: var(--text); color: #080808; padding: 36px 40px; }
.preparation-note h3 { font-size: 1.65rem; line-height: 1.35; }
.preparation-note p { font-size: 1rem; line-height: 1.8; color: #3d3d3a; margin: 0; }
.preparation-note a { grid-column: 2; justify-self: start; font-size: .9375rem; line-height: 1.6; border-bottom: 1px solid #444; padding-bottom: 7px; }
.preparation-note a > span { margin-left: 24px; }
.premium-site .about-layout { gap: 0; border: 1px solid #777; margin-top: 50px; }
.premium-site .about-content { background: var(--text); color: #090909; border: 0; padding: 36px 40px; }
.premium-site .about-content h3 { font-size: 1.7rem; line-height: 1.3; }
.premium-site .about-content p { color: #3c3c39; margin-top: 24px; }
.premium-site .credentials { border: 0; padding: 12px 36px; }
.premium-site .credentials summary { min-height: 96px; font-size: 1rem; }
.premium-site .credentials .detail-content { line-height: 1.8; }
.method-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin-top: 44px; }
.method-list article { border-top: 1px solid #666; padding-top: 22px; }
.method-list h3 { font-size: 1.25rem; line-height: 1.4; }
.method-list p { font-size: 1rem; color: #aaa; line-height: 1.8; margin-top: 16px; }
.premium-site .publications-list { margin-top: 50px; gap: 24px; }
.premium-site .publications-list > article { display: flex; flex-direction: column; min-height: 300px; border: 1px solid #777; padding: 36px 40px; }
.premium-site .publications-list h3 { font-size: clamp(1.5rem,2.5vw,2rem); line-height: 1.35; }
.premium-site .publications-list .publication-type { border: 0; padding: 0; margin-top: auto; padding-top: 34px; font-size: .9375rem; }
.premium-site .publications-list > article:first-child { background: var(--text); color: #090909; }
.premium-site .publications-list > article:first-child p { color: #494947; }
.client-faq { margin-top: 50px; border-top: 1px solid #777; }
.client-faq summary { font-size: 1.25rem; min-height: 94px; line-height: 1.5; }
.client-faq .detail-content { max-width: 76ch; padding-bottom: 30px; line-height: 1.8; }
.client-faq .detail-content a { color: var(--text); border-bottom: 1px solid #777; }
.premium-site #main > .contact { background: var(--text); color: #080808; border: 0; padding: 54px 48px; margin-bottom: 104px; }
.premium-site .contact .section-heading h2 { font-size: clamp(2.5rem,5vw,4.25rem); line-height: 1.1; }
.premium-site .contact .section-grid { margin-top: 40px; gap: 48px; }
.premium-site .contact-grid > div { border-top: 1px solid #bababa; padding-top: 24px; }
.premium-site .contact p { color: #494947; }
.premium-site .phone { font-size: clamp(1.4rem,2.7vw,2.1rem); font-variant-numeric: tabular-nums; }
.premium-site .contact .button-light { background: #080808; color: var(--text); border-color: #080808; min-height: 52px; }
.premium-site .contact .button-light:focus-visible, .preparation-note a:focus-visible { outline-color: #000; }
.premium-site .footer { font-size: .875rem; padding-block: 32px; }
.mobile-menu { display: none; }

@media (max-width:1000px) {
  .premium-site .desktop-nav { gap: 18px; font-size: .8125rem; }
  .premium-site #main > .section { padding-block: 82px; }
  .premium-heading { gap: 48px; }
  .service-card-title { padding: 25px 26px 23px; }
  .service-card-content { padding: 24px 26px 0; }
  .premium-site .service-card-content > p { min-height: 116px; }
  .workflow-steps, .method-list { gap: 24px; }
  .workflow-steps h3 { font-size: 1.2rem; }
  .preparation-note { padding: 32px; gap: 22px 40px; }
  .premium-site .about-content { padding: 32px; }
  .premium-site .credentials { padding-inline: 26px; }
  .premium-site .publications-list > article { padding: 30px; }
  .premium-site #main > .contact { padding: 42px 36px; margin-bottom: 82px; }
  .premium-site .contact .section-grid { gap: 32px; }
}
@media (max-width:700px) {
  .premium-site .desktop-nav { display: none; }
  .mobile-menu { display: block; border: 0; z-index: 30; }
  .mobile-menu > summary { padding: 0 15px; border: 1px solid #777; min-height: 44px; gap: 20px; font-size: .875rem; }
  .menu-lines { width: 16px; height: 10px; border-top: 1px solid #eee; border-bottom: 1px solid #eee; }
  .mobile-menu[open] > summary { background: var(--text); color: #000; border-color: var(--text); }
  .mobile-menu[open] .menu-lines { border-color: #000; }
  .premium-site .mobile-menu nav { display: grid; position: absolute; top: 82px; left: 0; right: 0; gap: 0; padding: 14px 22px; border: 1px solid #777; background: #080808; font-size: 1rem; }
  .premium-site .mobile-menu nav a { display: block; padding: 13px 0; border-bottom: 1px solid #333; }
  .premium-site .mobile-menu nav a:last-child { border: 0; }
  .premium-site #main > .section { padding-block: 64px; }
  .premium-heading { grid-template-columns: 1fr; gap: 22px; }
  .premium-site .premium-heading h2 { font-size: 2.25rem; line-height: 1.14; }
  .premium-site .premium-heading > p { margin: 0; }
  .premium-site .services-grid, .premium-site .about-layout, .premium-site .publications-list, .client-faq { margin-top: 34px; }
  .premium-site .services-grid { gap: 22px; }
  .service-card-title { padding: 25px 24px 22px; min-height: 150px; }
  .premium-site .service-card-title h3 { font-size: 1.7rem; }
  .service-card-content { padding: 22px 24px 0; }
  .premium-site .service-card-content > p { min-height: 0; }
  .service-card-content ul { margin-top: 20px; margin-bottom: 24px; }
  .service-card-content li { font-size: .9375rem; }
  .service-card-content summary { min-height: 80px; }
  .section-bottom { flex-direction: column; gap: 22px; margin-top: 26px; }
  .workflow-steps { grid-template-columns: 1fr; gap: 26px; margin: 34px 0; }
  .workflow-steps li { display: grid; grid-template-columns: 30px 1fr; gap: 24px; padding-top: 24px; }
  .step-number { margin: 0; padding-top: 3px; }
  .workflow-steps h3 { font-size: 1.25rem; }
  .workflow-steps p { max-width: none; margin-top: 14px; }
  .preparation-note { grid-template-columns: 1fr; gap: 22px; padding: 28px 24px; }
  .preparation-note h3 { font-size: 1.5rem; }
  .preparation-note a { grid-column: 1; }
  .premium-site .about-content { padding: 28px 24px; }
  .premium-site .about-content h3 { font-size: 1.5rem; }
  .premium-site .credentials { padding: 0 24px; }
  .premium-site .credentials summary { min-height: 84px; }
  .method-list { grid-template-columns: 1fr; gap: 28px; margin-top: 32px; }
  .method-list h3 { font-size: 1.25rem; }
  .premium-site .publications-list > article { padding: 28px 24px; min-height: 260px; }
  .premium-site .publications-list h3 { font-size: 1.5rem; }
  .client-faq summary { font-size: 1.125rem; min-height: 90px; }
  .premium-site #main > .contact { padding: 32px 24px; margin-bottom: 64px; }
  .premium-site .contact .section-heading h2 { font-size: 2.5rem; }
  .premium-site .contact .section-grid { gap: 30px; margin-top: 30px; }
  .premium-site .phone { font-size: clamp(1.2rem,6vw,1.5rem); }
}
@media(hover:hover) and (pointer:fine) {
  .preparation-note a:hover { border-color: #000; }
  .premium-site .contact .button-light:hover { background: #272727; }
}
