/* Editorial and commercial pages: About, Services, Contact, Privacy */
.page-hero {
  position: relative;
  min-height: 74vh;
  display: grid;
  align-content: end;
  overflow: hidden;
  padding: clamp(90px, 12vw, 170px) 48px 72px;
  border-bottom: 1px solid var(--line);
}
.page-hero::before {
  content: '';
  position: absolute;
  width: clamp(260px, 38vw, 560px);
  aspect-ratio: 1;
  border: 1px solid var(--blue);
  border-radius: 50%;
  right: -10%;
  top: -18%;
  opacity: 0.55;
}
.page-hero::after {
  content: '+';
  position: absolute;
  right: 8%;
  bottom: 3%;
  color: var(--red);
  font-family: var(--sans);
  font-size: clamp(100px, 18vw, 250px);
  font-weight: 200;
  line-height: 1;
  opacity: 0.85;
}
.page-hero-inner { position: relative; z-index: 1; max-width: 1180px; }
.page-hero h1 {
  max-width: 1050px;
  margin-top: 30px;
  font-family: var(--display);
  font-size: clamp(64px, 10vw, 148px);
  font-weight: 300;
  letter-spacing: -0.065em;
  line-height: 0.88;
}
.page-hero h1 em { color: var(--red); font-weight: 300; }
.page-lede {
  max-width: 760px;
  margin-top: 42px;
  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: clamp(19px, 2.1vw, 28px);
  line-height: 1.45;
}
.page-lede strong { color: var(--ink); }
.page-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border: 1px solid var(--ink);
  border-radius: 100px;
  padding: 12px 22px;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 700;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.button.primary { background: var(--ink); color: var(--paper); }
.button.primary:hover { background: var(--red); border-color: var(--red); }
.button.secondary:hover { color: var(--red); border-color: var(--red); }
.page-shell { max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.content-section {
  display: grid;
  grid-template-columns: minmax(180px, 0.34fr) minmax(0, 1fr);
  gap: clamp(38px, 8vw, 130px);
  padding: clamp(76px, 10vw, 138px) 0;
  border-bottom: 1px solid var(--line);
}
.section-kicker {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: var(--red);
}
.content-copy { max-width: 800px; }
.content-copy h2,
.commercial-heading {
  font-family: var(--display);
  font-size: clamp(40px, 5.4vw, 74px);
  font-weight: 300;
  letter-spacing: -0.045em;
  line-height: 0.98;
}
.content-copy h2 em,
.commercial-heading em { color: var(--blue); font-weight: 300; }
.content-copy p {
  margin-top: 24px;
  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.7;
}
.content-copy p strong { color: var(--ink); }
.credential {
  margin-top: 34px;
  border-left: 4px solid var(--blue);
  padding: 4px 0 4px 24px;
}
.credential strong { display: block; font-family: var(--sans); font-size: 18px; }
.credential span {
  display: block;
  margin-top: 6px;
  color: var(--ink-soft);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.proof-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 42px;
  border: 1px solid var(--line);
}
.proof-item { padding: 28px; border-right: 1px solid var(--line); }
.proof-item:last-child { border-right: 0; }
.proof-item.featured { background: var(--ink); color: var(--paper); }
.proof-item.featured strong { color: var(--red); }
.proof-item strong {
  display: block;
  color: var(--blue);
  font-family: var(--display);
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 400;
  line-height: 1;
}
.proof-item span {
  display: block;
  margin-top: 10px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  line-height: 1.45;
  text-transform: uppercase;
}
.proof-note {
  margin-top: 14px !important;
  color: var(--stone) !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
}
.faq-section { padding: clamp(80px, 10vw, 140px) 0; }
.faq-list { margin-top: 50px; border-top: 1px solid var(--ink); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  padding: 26px 0;
  cursor: pointer;
  list-style: none;
  font-family: var(--sans);
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 600;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: '+'; color: var(--red); font-size: 26px; }
.faq-list details[open] summary::after { content: '−'; }
.faq-answer {
  max-width: 800px;
  padding: 0 0 28px;
  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.7;
}
.closing-cta {
  background: var(--ink);
  color: var(--paper);
  padding: clamp(84px, 11vw, 150px) 48px;
  text-align: center;
}
.closing-cta h2 {
  max-width: 960px;
  margin: 0 auto;
  font-family: var(--display);
  font-size: clamp(54px, 8vw, 112px);
  font-weight: 300;
  letter-spacing: -0.055em;
  line-height: 0.92;
}
.closing-cta h2 em { color: var(--red); font-weight: 300; }
.closing-cta p {
  max-width: 650px;
  margin: 28px auto 0;
  color: rgba(250,247,242,0.72);
  font-family: var(--sans);
  font-size: 18px;
}
.closing-cta .page-actions { justify-content: center; }
.closing-cta .button { border-color: var(--paper); }
.closing-cta .button.primary { background: var(--paper); color: var(--ink); }
.closing-cta .button.primary:hover { background: var(--red); border-color: var(--red); color: white; }
.closing-cta .button.secondary { color: var(--paper); }

.service-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.service-tag {
  border: 1px solid var(--line);
  border-radius: 100px;
  padding: 8px 12px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.service-feature {
  position: relative;
  margin: 80px 0 120px;
  overflow: hidden;
  background: var(--ink);
  color: var(--paper);
  padding: clamp(46px, 7vw, 90px);
}
.service-feature::after {
  content: '01';
  position: absolute;
  right: -10px;
  bottom: -70px;
  color: rgba(250,247,242,0.06);
  font-family: var(--display);
  font-size: 300px;
  line-height: 1;
}
.service-feature h2 {
  position: relative;
  z-index: 1;
  max-width: 900px;
  font-family: var(--display);
  font-size: clamp(54px, 8vw, 105px);
  font-weight: 300;
  letter-spacing: -0.055em;
  line-height: 0.9;
}
.service-feature p {
  position: relative;
  z-index: 1;
  max-width: 690px;
  margin-top: 28px;
  color: rgba(250,247,242,0.75);
  font-family: var(--sans);
  font-size: 19px;
  line-height: 1.65;
}
.service-feature .service-tag { border-color: rgba(250,247,242,0.25); }
.service-feature .page-actions { position: relative; z-index: 1; }
.service-feature .button { border-color: var(--paper); color: var(--paper); }

.prompt-grid,
.capability-grid,
.package-grid { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.prompt-grid { grid-template-columns: repeat(2, 1fr); margin-top: 40px; }
.prompt-card {
  background: var(--paper);
  padding: 28px;
  font-family: var(--display);
  font-size: clamp(22px, 2.6vw, 34px);
  font-style: italic;
  line-height: 1.2;
}
.capability-section,
.packages-section,
.process-section,
.audience-section { padding: clamp(85px, 11vw, 150px) 0; }
.section-intro {
  max-width: 760px;
  margin-top: 24px;
  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: 19px;
  line-height: 1.65;
}
.capability-grid { grid-template-columns: repeat(3, 1fr); margin-top: 56px; }
.capability-card { min-height: 280px; background: var(--paper); padding: 32px; }
.capability-card .number {
  color: var(--red);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
}
.capability-card h3 {
  margin-top: 58px;
  font-family: var(--display);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
}
.capability-card p {
  margin-top: 16px;
  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.6;
}
.package-grid { grid-template-columns: repeat(3, 1fr); margin-top: 56px; align-items: stretch; }
.package-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--paper);
  padding: 34px;
}
.package-card.recommended {
  background: var(--ink);
  color: var(--paper);
  transform: translateY(-14px);
}
.recommended-badge {
  position: absolute;
  top: 0;
  right: 0;
  background: var(--red);
  color: white;
  padding: 7px 11px;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.package-number { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; color: var(--stone); }
.package-card h3 { margin-top: 45px; font-family: var(--display); font-size: 40px; font-weight: 400; line-height: 1; }
.package-sub { margin-top: 10px; color: var(--red); font-family: var(--mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; }
.package-desc { margin-top: 22px; min-height: 76px; color: var(--ink-soft); font-family: var(--sans); line-height: 1.55; }
.recommended .package-desc { color: rgba(250,247,242,0.72); }
.package-card h4 { margin-top: 26px; font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.12em; }
.package-card ul { margin: 14px 0 30px; padding: 0; list-style: none; }
.package-card li { padding: 7px 0 7px 18px; position: relative; font-family: var(--sans); font-size: 14px; line-height: 1.45; }
.package-card li::before { content: '→'; position: absolute; left: 0; color: var(--red); }
.package-card .button { margin-top: auto; }
.recommended .button { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.process-list { margin-top: 58px; border-top: 1px solid var(--ink); }
.process-step {
  display: grid;
  grid-template-columns: 90px minmax(180px, 0.45fr) 1fr;
  gap: 30px;
  padding: 28px 0;
  border-bottom: 1px solid var(--line);
}
.process-step .number { color: var(--red); font-family: var(--mono); font-size: 12px; letter-spacing: 0.12em; }
.process-step h3 { font-family: var(--display); font-size: 34px; font-weight: 400; }
.process-step p { color: var(--ink-soft); font-family: var(--sans); line-height: 1.6; }
.case-study {
  position: relative;
  overflow: hidden;
  background: var(--blue);
  color: white;
  padding: clamp(76px, 10vw, 130px) 48px;
}
.case-study-inner { max-width: 1180px; margin: 0 auto; }
.case-study .section-kicker { color: white; }
.case-study h2 { max-width: 880px; margin-top: 20px; }
.case-study .proof-strip { border-color: rgba(255,255,255,0.28); }
.case-study .proof-item { border-color: rgba(255,255,255,0.28); }
.case-study .proof-item strong { color: white; }
.case-study .proof-note { color: rgba(255,255,255,0.68) !important; }
.case-study-copy {
  max-width: 800px;
  margin-top: 36px;
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.7;
}
.audience-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 38px; }
.audience-tags span {
  background: var(--paper-warm);
  border-radius: 100px;
  padding: 11px 16px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.breadcrumb {
  padding: 18px 48px;
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.breadcrumb a:hover { color: var(--red); }

.contact-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.62fr) minmax(0, 1fr);
  gap: clamp(50px, 8vw, 120px);
  padding: clamp(75px, 10vw, 130px) 0;
}
.contact-aside h1 {
  font-family: var(--display);
  font-size: clamp(60px, 8vw, 110px);
  font-weight: 300;
  letter-spacing: -0.055em;
  line-height: 0.88;
}
.contact-aside p {
  margin-top: 28px;
  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.65;
}
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 18px; }
.field { display: grid; gap: 8px; }
.field.full { grid-column: 1 / -1; }
.field label {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.field input,
.field select,
.field textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 0;
  background: rgba(255,255,255,0.35);
  color: var(--ink);
  padding: 15px;
  font-family: var(--sans);
  font-size: 16px;
}
.field textarea { min-height: 190px; resize: vertical; }
.field input:focus,
.field select:focus,
.field textarea:focus { border-color: var(--blue); outline: 2px solid var(--blue); outline-offset: 1px; }
.field-help { color: var(--stone); font-family: var(--sans); font-size: 12px; }
.field-error { color: var(--red); font-family: var(--sans); font-size: 12px; }
.error-summary {
  grid-column: 1 / -1;
  border-left: 4px solid var(--red);
  background: rgba(228,6,19,0.06);
  padding: 14px 16px;
  color: var(--ink);
  font-family: var(--sans);
}
.form-footer { grid-column: 1 / -1; display: grid; gap: 16px; }
.privacy-note { color: var(--ink-soft); font-family: var(--sans); font-size: 12px; line-height: 1.55; }
.privacy-note a { text-decoration: underline; }
.form-status { min-height: 24px; font-family: var(--sans); font-size: 14px; }
.form-status.success { color: #08783e; }
.form-status.error { color: var(--red); }
.contact-form button[disabled] { opacity: 0.55; cursor: wait; }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.turnstile-wrap { min-height: 65px; }
.social-contact {
  display: flex;
  gap: 18px;
  margin-top: 30px;
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.social-contact a { border-bottom: 1px solid var(--ink); }

.privacy-article { max-width: 850px; padding-top: 90px; padding-bottom: 130px; }
.privacy-article h1 {
  font-family: var(--display);
  font-size: clamp(58px, 8vw, 105px);
  font-weight: 300;
  letter-spacing: -0.055em;
  line-height: 0.9;
}
.privacy-article .updated { margin-top: 18px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--stone); }
.privacy-article h2 { margin-top: 60px; font-family: var(--display); font-size: 38px; font-weight: 400; }
.privacy-article h3 { margin-top: 28px; font-family: var(--sans); font-size: 19px; }
.privacy-article p,
.privacy-article li { margin-top: 14px; color: var(--ink-soft); font-family: var(--sans); font-size: 16px; line-height: 1.75; }
.privacy-article ul { padding-left: 20px; }
.privacy-article a { text-decoration: underline; text-decoration-color: var(--red); text-underline-offset: 3px; }

@media (max-width: 900px) {
  .page-hero { min-height: 66vh; padding-inline: 24px; }
  .page-shell { padding-inline: 24px; }
  .content-section { grid-template-columns: 1fr; }
  .proof-strip { grid-template-columns: 1fr; }
  .proof-item { border-right: 0; border-bottom: 1px solid var(--line); }
  .proof-item:last-child { border-bottom: 0; }
  .capability-grid { grid-template-columns: repeat(2, 1fr); }
  .package-grid { grid-template-columns: 1fr; gap: 16px; background: transparent; border: 0; }
  .package-card { border: 1px solid var(--line); }
  .package-card.recommended { transform: none; }
  .case-study { padding-inline: 24px; }
  .contact-layout { grid-template-columns: 1fr; }
  .breadcrumb { padding-inline: 24px; }
}
@media (max-width: 600px) {
  .page-hero::after { display: none; }
  .page-hero h1 { font-size: clamp(56px, 17vw, 86px); }
  .prompt-grid,
  .capability-grid { grid-template-columns: 1fr; }
  .process-step { grid-template-columns: 50px 1fr; }
  .process-step p { grid-column: 2; }
  .contact-form { grid-template-columns: 1fr; }
  .field,
  .field.full,
  .form-footer,
  .error-summary { grid-column: 1; }
  .closing-cta { padding-inline: 24px; }
}
