/* Consulting page only. Loaded after site.css and service-detail.css; shared files stay untouched.
   No transform/filter/contain on page wrappers, so the fixed mobile menu keeps working. */

.consult-page main [id] { scroll-margin-top: 88px; }
.consult-page a.primary-action { color: #080a09; }

/* Hero: compact, offer and CTA on the first screen */
.consult-page .consult-hero { min-height: 0; align-items: center; }
.consult-page .consult-hero::after {
  background:
    linear-gradient(90deg, rgba(5, 7, 6, .96) 0%, rgba(5, 7, 6, .88) 46%, rgba(5, 7, 6, .5) 100%),
    linear-gradient(0deg, rgba(5, 7, 6, .7) 0%, rgba(5, 7, 6, 0) 60%);
}
.consult-hero-inner { padding-block: clamp(40px, 5.5vw, 76px) clamp(40px, 5vw, 64px); }
.consult-page .consult-hero h1 {
  max-width: 26ch;
  margin: 16px 0 0;
  font-size: clamp(27px, 1.2rem + 2vw, 46px);
  font-weight: 600;
  line-height: 1.14;
  letter-spacing: -.015em;
  text-wrap: balance;
}
.consult-hero-lead {
  max-width: 62ch;
  margin: 18px 0 0;
  color: rgba(243, 246, 241, .82);
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.6;
}
.consult-page .consult-hero .hero-facts { margin-top: 24px; gap: 12px 36px; }
.consult-page .consult-hero .hero-facts strong { font-size: clamp(19px, 1.6vw, 22px); }
.consult-page .consult-hero .hero-facts span { color: rgba(243, 246, 241, .7); font-size: 14px; }
.consult-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 26px; }
.consult-hero-actions .primary-action { margin-top: 0; }
.consult-hero-actions .text-link { font-size: 15px; font-weight: 600; }

/* Calmer headings across sections */
.consult-page .section-heading h2 {
  max-width: 26ch;
  font-size: clamp(28px, 2.8vw, 40px);
  line-height: 1.15;
  letter-spacing: -.015em;
}
.consult-page .section-heading p { max-width: 68ch; font-size: 17px; }
.consult-page .consult-clients { padding-block: clamp(40px, 5vw, 64px); }

/* Shared text blocks */
.consult-page h3,
.consult-page h4 { font-family: "Manrope", "Helvetica Neue", Arial, sans-serif; letter-spacing: -.01em; }
.consult-list { margin: 16px 0 0; padding: 0; list-style: none; }
.consult-list li {
  position: relative;
  padding: 0 0 12px 22px;
  color: rgba(243, 246, 241, .86);
  font-size: 17px;
  line-height: 1.55;
}
.consult-list li::before {
  content: "";
  position: absolute;
  top: .6em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--service-acid);
}
.consult-list--muted li { color: rgba(243, 246, 241, .74); }
.consult-list--muted li::before { background: rgba(243, 246, 241, .35); }
.consult-note {
  max-width: 72ch;
  margin: clamp(24px, 3vw, 36px) 0 0;
  color: rgba(243, 246, 241, .74);
  font-size: 16px;
  line-height: 1.65;
}
.consult-cols,
.consult-shift {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(28px, 5vw, 72px);
}
.consult-cols > div,
.consult-shift-col { min-width: 0; padding-top: 22px; border-top: 1px solid var(--service-line); }
.consult-cols h3,
.consult-shift-col h3 { margin: 0; font-size: clamp(19px, 1.6vw, 22px); font-weight: 600; line-height: 1.25; }
.consult-cols p { max-width: 62ch; margin: 14px 0 0; color: rgba(243, 246, 241, .82); font-size: 17px; line-height: 1.65; }
.consult-prose { max-width: 72ch; margin-top: clamp(28px, 3.5vw, 44px); }
.consult-prose p { margin: 0; color: rgba(243, 246, 241, .84); font-size: 17px; line-height: 1.7; }

/* Works: large screenshots at native aspect ratio, text beside or above */
.works-group + .works-group { margin-top: clamp(56px, 7vw, 96px); }
.works-group-head { max-width: 72ch; }
.works-group-head h3 { margin: 0; font-size: clamp(22px, 2vw, 28px); font-weight: 600; line-height: 1.2; }
.works-group-head p { margin: 14px 0 0; color: rgba(243, 246, 241, .8); font-size: 17px; line-height: 1.65; }
.work {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: start;
  margin-top: clamp(28px, 3.5vw, 44px);
  padding-top: clamp(28px, 3.5vw, 44px);
  border-top: 1px solid var(--service-line);
}
.work-text { min-width: 0; }
.work h4 { margin: 0; font-size: clamp(20px, 1.7vw, 25px); font-weight: 600; line-height: 1.25; }
.work-text p { max-width: 62ch; margin: 12px 0 0; color: rgba(243, 246, 241, .82); font-size: 17px; line-height: 1.65; }
.work-shot { min-width: 0; }
.work-shot a {
  display: block;
  overflow: hidden;
  border: 1px solid rgba(243, 246, 241, .14);
  border-radius: 12px;
  background: #0b0f0c;
  transition: border-color .2s ease;
}
.work-shot a:hover { border-color: rgba(71, 255, 104, .5); }
.work-shot img { width: 100%; height: auto; }
.work--wide { grid-template-columns: minmax(0, 1fr); }
.work--wide .work-text { max-width: 76ch; }
.work--compact-shot { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
.work--compact-shot .work-shot { max-width: 560px; }
.work-facts { display: grid; gap: 6px; margin: 18px 0 0; font-size: 15px; line-height: 1.5; }
.work-facts div { display: grid; grid-template-columns: 7.5em minmax(0, 1fr); gap: 12px; }
.work-facts dt { color: var(--service-acid); font-weight: 700; }
.work-facts dd { margin: 0; color: rgba(243, 246, 241, .8); }
.works-after { max-width: 72ch; margin: clamp(28px, 3.5vw, 40px) 0 0; color: rgba(243, 246, 241, .8); font-size: 17px; line-height: 1.65; }
.works-after .text-link { white-space: normal; }

/* Sessions: reuse shared timeline, smaller titles */
.consult-page .consult-sessions h3 { font-size: clamp(19px, 1.5vw, 22px); line-height: 1.25; }
.consult-page .consult-sessions p { font-size: 16px; }

/* Price: one number, one scope list */
.consult-price {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(28px, 5vw, 72px);
  padding: clamp(24px, 3.5vw, 44px);
  border: 1px solid var(--service-line);
  border-radius: 16px;
  background: var(--service-surface);
}
.consult-price-main,
.consult-price-start { min-width: 0; }
.consult-price-sum { margin: 0; color: var(--service-acid); font-size: clamp(34px, 3.4vw, 46px); font-weight: 600; line-height: 1.05; letter-spacing: -.02em; }
.consult-price-basis { margin: 8px 0 0; color: rgba(243, 246, 241, .8); font-size: 17px; line-height: 1.5; }
.consult-price-main .consult-list { margin-top: 24px; }
.consult-price-start { padding-left: clamp(0px, 3vw, 40px); border-left: 1px solid var(--service-line); }
.consult-price-start h3 { margin: 0; font-size: clamp(19px, 1.6vw, 22px); font-weight: 600; }
.consult-price-start p { margin: 12px 0 0; color: rgba(243, 246, 241, .8); font-size: 16px; line-height: 1.65; }
.consult-price-start .consult-price-link { margin-top: 22px; font-size: 15px; font-weight: 600; }

/* FAQ and final block: calmer sizes */
.consult-page .faq-title { font-size: clamp(28px, 2.8vw, 40px); line-height: 1.12; }
.consult-page .faq-list summary { font-size: clamp(18px, 1.5vw, 21px); }
.consult-page .service-final h2 { max-width: 24ch; font-size: clamp(28px, 3vw, 42px); line-height: 1.15; letter-spacing: -.015em; }
.consult-page .final-meta { margin-top: 22px; font-size: 15px; font-weight: 600; }

/* Author */
.consult-author-inner {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: start;
}
.consult-author-photo img {
  aspect-ratio: 4 / 5;
  height: auto;
  object-fit: cover;
  object-position: center 18%;
  border: 1px solid var(--service-line);
  border-radius: 16px;
}
.consult-author-copy { min-width: 0; max-width: 68ch; }
.consult-author-copy h2 { margin: 14px 0 0; font-size: clamp(28px, 2.8vw, 40px); font-weight: 600; line-height: 1.15; letter-spacing: -.015em; }
.consult-author-copy p { margin: 14px 0 0; color: rgba(243, 246, 241, .82); font-size: 17px; line-height: 1.7; }
.consult-author-copy p.consult-author-lead { color: var(--service-text); font-size: clamp(18px, 1.5vw, 20px); line-height: 1.5; }

@media (max-width: 960px) {
  .work,
  .work--compact-shot { grid-template-columns: minmax(0, 1fr); }
  .work--compact-shot .work-shot { max-width: 520px; }
  .consult-price { grid-template-columns: minmax(0, 1fr); }
  .consult-price-start { padding-left: 0; padding-top: 24px; border-left: 0; border-top: 1px solid var(--service-line); }
}

@media (max-width: 760px) {
  .consult-page main [id] { scroll-margin-top: 80px; }
  .consult-page .consult-hero { min-height: 0; }
  .consult-page .consult-hero::after { background: linear-gradient(0deg, rgba(5, 7, 6, .94), rgba(5, 7, 6, .84)); }
  .consult-hero-inner { padding-block: 26px 36px; }
  .consult-page .consult-hero h1 { max-width: 100%; margin-top: 12px; }
  .consult-hero-lead { margin-top: 14px; font-size: 16px; line-height: 1.55; }
  .consult-page .consult-hero .hero-facts { margin-top: 18px; gap: 10px 24px; }
  .consult-page .consult-hero .hero-facts strong { font-size: 19px; }
  .consult-page .consult-hero .hero-facts span { font-size: 13px; }
  .consult-hero-actions { margin-top: 20px; gap: 14px 20px; }
  .consult-cols,
  .consult-shift { grid-template-columns: minmax(0, 1fr); }
  .consult-list li,
  .consult-cols p,
  .consult-prose p,
  .work-text p,
  .works-group-head p,
  .works-after { font-size: 16px; }
  .work-facts div { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .consult-author-inner { grid-template-columns: minmax(0, 1fr); }
  .consult-author-photo { max-width: 260px; }
}
