/* Brand development page: the homepage system (site.css) plus the case-study layout. */
.bd-nav-cta { justify-self: end; }
.bd-hero { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; align-items: center; padding: clamp(40px, 8vh, 104px) var(--gutter) clamp(64px, 10vh, 120px); }
.bd-copy { grid-column: 1 / span 6; }
.bd-hero h1 { margin: 0; font-weight: 650; font-size: clamp(54px, 7vw, 116px); line-height: 1.0; letter-spacing: -.045em; }
.bd-hero h1 em { font-style: italic; font-weight: 600; color: var(--accent); letter-spacing: -.03em; padding-right: .04em; }
.bd-sub { margin: 28px 0 0; max-width: 40ch; font-size: clamp(18px, 1.4vw, 21px); line-height: 1.5; color: var(--soft); }
.bd-price { margin: 22px 0 0; font-size: 17px; color: var(--soft); }
.bd-price b { color: var(--ink); font-weight: 650; }
.bd-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; margin-top: 36px; }
.bd-media { grid-column: 7 / span 6; margin: 0; }
.bd-media img { border-radius: var(--r); box-shadow: var(--shadow); }
.bd-media figcaption { margin-top: 16px; font-size: 14px; color: var(--soft); }

.bd-made { padding-top: clamp(48px, 8vh, 96px); }
.bd-steps { list-style: none; margin: clamp(48px, 8vh, 96px) 0 0; padding: 0; }
.bds { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 24px clamp(24px, 4vw, 72px); padding: clamp(36px, 6vh, 64px) 0; border-top: 1.5px solid var(--line); align-items: start; }
.bds-copy .no { display: block; font-size: 14px; font-weight: 600; color: var(--accent); font-variant-numeric: tabular-nums; }
.bds-copy h3 { margin: 10px 0 12px; font-size: clamp(26px, 2.4vw, 38px); font-weight: 650; letter-spacing: -.03em; line-height: 1.08; }
.bds-copy p { margin: 0; max-width: 40ch; font-size: 17px; line-height: 1.55; color: var(--soft); }
.bds-shot { margin: 0; }
.bds-shot img { width: 100%; border-radius: var(--r); background: var(--paper-2); }
.bds-shot figcaption { margin-top: 12px; font-size: 14px; color: var(--soft); }
.bds-text .bds-copy { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); grid-template-rows: auto 1fr; align-items: start; column-gap: clamp(24px, 4vw, 72px); }   /* number and heading stay together like every other step */
.bds-text .bds-copy .no, .bds-text .bds-copy h3 { grid-column: 1; }
.bds-text .bds-copy p { grid-column: 2; grid-row: 1 / span 2; align-self: end; font-size: clamp(19px, 1.6vw, 23px); max-width: 46ch; color: var(--ink); }

.bd-get { background: var(--ink); color: var(--paper); }
.bd-get .kicker { color: color-mix(in srgb, var(--paper) 66%, transparent); }
.bd-get .kicker::before { background: var(--accent-on-ink); }
.bd-list { list-style: none; margin: clamp(48px, 8vh, 88px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; }
.bd-list li { display: flex; gap: 14px; align-items: flex-start; padding: 18px 0; border-top: 1px solid color-mix(in srgb, var(--paper) 18%, transparent); font-size: 18px; line-height: 1.45; }
.bd-list .tick { flex: none; width: 22px; height: 22px; margin-top: 2px; color: var(--accent-on-ink); }

.bd-card { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: end; padding: clamp(32px, 5vw, 64px); border-radius: var(--r); background: var(--paper-2); }
.bd-card h2 { max-width: none; }
.bd-card h2 span { color: var(--accent); }
.bd-card p:not(.kicker) { margin: 20px 0 0; max-width: 46ch; font-size: 18px; line-height: 1.5; color: var(--soft); }   /* the kicker keeps its own spacing */
.bd-card-cta { display: grid; gap: 22px; justify-items: start; }
.bd-card-cta .mail { margin: 0; font-size: 15px; }

@media (max-width: 900px) {   /* the hero stays side by side down to 900px */
  .bd-hero { grid-template-columns: 1fr; row-gap: 48px; }
  .bd-copy, .bd-media { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .bds, .bds-text .bds-copy { grid-template-columns: 1fr; }
  .bds-text .bds-copy p { grid-column: 1; grid-row: auto; margin-top: 4px; }
  .bd-list { grid-template-columns: 1fr; }
  .bd-card { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .nav { grid-template-columns: 1fr auto; }
  .nav .bd-nav-cta { display: inline-flex; height: 38px; padding: 0 16px; font-size: 14px; }
  .bd-hero { padding: 28px var(--gutter) 64px; }
  .bd-hero h1 { font-size: clamp(46px, 13vw, 64px); }
  .bd-ctas .pill-lg { width: 100%; justify-content: center; }
  .bds-copy h3 { font-size: 26px; }
}

@media (min-width: 901px) and (max-width: 1080px) { .bd-hero h1 { font-size: clamp(50px, 6.4vw, 70px); } }
@media (min-width: 761px) and (max-width: 900px) { .bd-hero h1 { font-size: clamp(64px, 10vw, 88px); } }

/* the project intake (18 Oct 2026): the homepage's ink card, four short steps */
.bd-brief .brief { margin-top: 0; }
.brief .kicker { color: color-mix(in srgb, var(--paper) 66%, transparent); }
.brief .kicker::before { background: var(--accent-on-ink); }
.brief h2 { margin: 14px 0 0; max-width: 14ch; font-size: clamp(32px, 3.4vw, 52px); font-weight: 650; letter-spacing: -.035em; line-height: 1.02; }
.brief form { align-content: start; }
.brief fieldset { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0; padding: 0; border: 0; min-width: 0; }
.brief fieldset[hidden] { display: none; }
.brief .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.brief .lbl { font-size: 14px; font-weight: 500; color: color-mix(in srgb, var(--paper) 78%, transparent); }
.brief-step-no { grid-column: 1 / -1; margin: 0 !important; font-size: 14px; font-weight: 500; }
.brief-step-no b { color: var(--paper); font-weight: 650; }
.brief-bar { grid-column: 1 / -1; height: 3px; border-radius: 3px; background: color-mix(in srgb, var(--paper) 18%, transparent); overflow: hidden; margin-bottom: 6px; }
.brief-bar span { display: block; height: 100%; width: 25%; background: var(--accent-on-ink); transition: width .4s var(--ease); }
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chip { position: relative; display: inline-flex; cursor: pointer; }
.chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.chip span { display: inline-flex; align-items: center; min-height: 46px; padding: 10px 18px; border-radius: 14px; border: 1.5px solid color-mix(in srgb, var(--paper) 30%, transparent); font-size: 16px; font-weight: 500; line-height: 1.25; transition: background-color .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease); }
.chip:hover span { border-color: color-mix(in srgb, var(--paper) 65%, transparent); }
.chip input:checked + span { background: var(--paper); border-color: var(--paper); color: var(--ink); }
.chip input:focus-visible + span { outline: 2px solid var(--accent-on-ink); outline-offset: 3px; }
.brief .bad input, .brief .bad textarea, .brief .bad .chip span { border-color: #ff8a7a; }
.brief button[disabled] { opacity: .6; cursor: progress; }
.brief-done h3 { margin: 0; }
.brief-done p { max-width: 46ch; }
@media (max-width: 900px) {
  .brief { grid-template-columns: 1fr; }
  .brief fieldset { grid-template-columns: 1fr; }
  .brief .row .pill-lg { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) { .brief-bar span, .chip span { transition: none; } }
.bd-nav-cta .short { display: none; }
@media (max-width: 760px) { .bd-nav-cta .long { display: none; } .bd-nav-cta .short { display: inline; } }
