/* Open composition: the writing fields carry the graphite material. */
.custom-page .session-grid {
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  grid-template-rows: auto 1fr;
  gap: 48px 88px;
  padding-block: 0;
  align-items: start;
}
body:not(.is-home) .custom-page .page-title { grid-column: 1; grid-row: 1; margin: 0; padding-top: 4px; }
body:not(.is-home) .custom-page .page-title h1 {
  max-width: 13ch;
  font-size: clamp(44px, calc(4vw / var(--site-scale)), 64px);
  font-weight: 650;
  line-height: 1.08;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.custom-page .page-title p { max-width: 40ch; margin-top: 28px; font-size: 17px; line-height: 1.7; }
.custom-brief-aside { grid-column: 1; grid-row: 2; max-width: 420px; padding-right: 0; }
.custom-brief-aside h2 { max-width: 24ch; font-size: 21px; line-height: 1.35; margin-bottom: 24px; }
.custom-brief-aside dl { display: grid; gap: 24px; }
.custom-brief-aside dl > div { display: grid; gap: 6px; padding: 0; border: 0; }
.custom-brief-aside dt { font-weight: 500; font-size: 14px; }
.custom-brief-aside dd { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.custom-brief-aside > p { margin-top: 26px; font-size: 13px; line-height: 1.65; }
.custom-page .service-form {
  grid-column: 2;
  grid-row: 1/3;
  width: 100%;
  max-width: none;
  padding: 0;
  gap: 28px;
  background: transparent;
  border: 0;
  border-radius: 0;
}
.custom-contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.custom-page .field { min-width: 0; gap: 12px; }
.custom-page .field > span { font-size: 13px; font-weight: 500; color: var(--muted); }
.custom-page .field :is(input:not([type="hidden"]),textarea) {
  background: var(--pack-hero-fill);
  border: 1px solid #29262b;
  border-radius: 8px;
  font-size: 15px;
  color: var(--text);
}
.custom-page .field input:not([type="hidden"]) { min-height: 54px; padding: 14px 16px; }
.custom-page .field textarea { min-height: 190px; height: 220px; padding: 16px; line-height: 1.65; }
.custom-page .field :is(input,textarea)::placeholder { color: var(--muted); opacity: 1; }
.custom-service-choices { display: flex; flex-wrap: wrap; gap: 10px; }
.custom-service-choice {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  max-width: 100%;
  padding: 12px 16px;
  border: 1px solid #343036;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
.custom-service-choice svg { flex: 0 0 16px; color: #9b8d96; }
.custom-service-dot { opacity: 0; transition: opacity 180ms ease; }
.custom-service-choice:hover { border-color: #64525d; color: var(--text); }
.custom-service-choice[aria-checked="true"] { background: #302029; border-color: #73515f; color: var(--text); }
.custom-service-choice[aria-checked="true"] svg { color: var(--accent-ink); }
.custom-service-choice[aria-checked="true"] .custom-service-dot { opacity: 1; }
.custom-service-choice:focus-visible { outline-offset: 3px; }
.custom-page .custom-form-note { color: var(--muted); font-size: 13px; line-height: 1.65; }
.custom-page .custom-privacy-note { margin-top: -14px; font-size: 12px; }
.custom-page .custom-privacy-note a { text-decoration: none; }
.custom-page .custom-privacy-note a:hover { text-decoration: underline; }
.custom-page .custom-brief-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.custom-page .custom-brief-actions .btn { min-width: 0; min-height: 50px; padding: 12px 18px; font-size: 15px; white-space: normal; text-align: center; }
.custom-page .custom-brief-actions .primary { flex: 1 1 180px; }
.custom-page .custom-brief-actions > :not(.primary) { flex: 1 1 150px; }
.custom-page #custom-save-status { font-size: 13px; line-height: 1.6; }
.custom-page #custom-save-status:empty { display: none; }
@media (max-width: 1100px) {
  .custom-page .session-grid { gap: 40px; }
  .custom-contact-fields { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 836px) {
  .custom-page .session-grid { grid-template-columns: 1fr; grid-template-rows: auto; gap: 36px; }
  body:not(.is-home) .custom-page .page-title { padding-top: 0; }
  body:not(.is-home) .custom-page .page-title h1 { font-size: 42px; max-width: 16ch; }
  .custom-page .page-title p { margin-top: 22px; font-size: 16px; }
  .custom-page .service-form { grid-column: 1; grid-row: 2; }
  .custom-brief-aside { grid-row: 3; max-width: 560px; margin-top: 20px; }
  .custom-contact-fields { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .custom-contact-fields { grid-template-columns: 1fr; }
  .custom-service-choices { display: grid; grid-template-columns: 1fr; }
  .custom-service-choice { justify-content: flex-start; }
  .custom-page .custom-brief-actions { flex-direction: column; }
  .custom-page .custom-brief-actions .btn { width: 100%; flex: none; }
  .custom-page .field textarea { height: 230px; }
}
@media (prefers-reduced-motion: reduce) {
  .custom-service-choice, .custom-service-dot { transition: none; }
}
