/* Homepage modules. All content remains selectable HTML, never a screenshot. */
.bc-hero { background: radial-gradient(ellipse at 70% 22%, var(--bc-paper), transparent 67%), linear-gradient(180deg, var(--bc-bg), var(--bc-soft)); overflow: hidden; }
.bc-hero-grid { display: grid; grid-template-columns: 1fr 1.12fr; gap: 36px; align-items: center; padding-top: 28px; padding-bottom: 48px; }
.bc-hero-copy { position: relative; z-index: 1; padding-bottom: 8px; }
.bc-hero-copy > .bc-eyebrow { letter-spacing: .01em; text-transform: none; font-size: .82rem; font-weight: 500; margin-bottom: 20px; }
.bc-hero h1 { font-size: clamp(35px, 3.6vw, 54px); line-height: 1.08; letter-spacing: -.045em; font-weight: 730; margin-bottom: 24px; }
.bc-hero h1 > span { color: var(--bc-accent); }
.bc-intro { max-width: 530px; color: var(--bc-ink); font-size: 1.03rem; line-height: 1.75; margin-bottom: 28px; }
.bc-badges { display: flex; align-items: flex-start; justify-content: space-between; max-width: 510px; gap: 12px; margin-top: 34px; }
.bc-badge { display: flex; flex-direction: column; align-items: center; gap: 11px; color: var(--bc-ink); font-size: .73rem; white-space: nowrap; }
.bc-badge-icon { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--bc-cyan); border-radius: 50%; background: rgba(255,255,255,.65); color: var(--bc-accent); transition: background .18s; }
.bc-badge-icon .bc-icon { width: 25px; height: 25px; }
.bc-badge:hover .bc-badge-icon { background: var(--bc-paper); box-shadow: var(--bc-shadow); }
.bc-badge abbr { cursor: help; text-decoration: none; }
.bc-services { background: linear-gradient(180deg, var(--bc-paper), var(--bc-bg)); }
.bc-section-heading { display: grid; grid-template-columns: 1.12fr 1fr; align-items: end; gap: 48px; margin-bottom: 34px; }
.bc-section-heading > p { max-width: 570px; font-size: .88rem; }
.bc-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; align-items: start; }
.bc-service { display: flex; flex-direction: column; min-height: 385px; min-width: 0; padding: 25px 22px 22px; background: var(--bc-paper); border: 1px solid var(--bc-line); border-radius: 10px; box-shadow: var(--bc-shadow); }
.bc-service:target { border-color: var(--bc-accent); }
.bc-service-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.bc-service-icon { display: grid; place-items: center; background: var(--bc-soft); color: var(--bc-accent); width: 46px; height: 46px; border-radius: 50%; }
.bc-service-number { color: var(--bc-line); font-size: 1.8rem; font-weight: 600; letter-spacing: -.05em; }
.bc-service h3 { font-size: 1.03rem; letter-spacing: -.035em; font-weight: 700; overflow-wrap: anywhere; }
.bc-service-claim { color: var(--bc-ink); font-size: .84rem; line-height: 1.5; margin-top: 9px; min-height: 42px; }
.bc-service-copy { font-size: .8rem; line-height: 1.7; margin-top: 16px; margin-bottom: 24px; }
.bc-service-details { margin-top: auto; padding-top: 13px; border-top: 1px solid var(--bc-line); }
.bc-service-details summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; cursor: pointer; list-style: none; font-size: .75rem; color: var(--bc-accent-dark); font-weight: 600; min-height: 30px; }
.bc-service-details summary::-webkit-details-marker { display: none; }
.bc-service-details summary > .bc-icon { width: 16px; height: 16px; transition: transform .15s; }
.bc-service-details[open] summary > .bc-icon { transform: rotate(45deg); }
.bc-service-details ul { padding-left: 17px; margin: 14px 0 7px; font-size: .76rem; color: var(--bc-muted); }
.bc-service-details li { margin-bottom: 8px; }
.bc-service-details li::marker { color: var(--bc-accent); }
.bc-text-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--bc-accent-dark); font-size: .73rem; padding-top: 13px; margin-top: 6px; }
.bc-text-link .bc-icon { width: 17px; height: 17px; }
.bc-text-link:hover { text-decoration: underline; }
.bc-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 110px; align-items: center; }
.bc-about h2 { margin-bottom: 25px; }
.bc-about-copy > p:not(.bc-eyebrow) { font-size: .95rem; line-height: 1.8; }
.bc-about .bc-about-note { color: var(--bc-ink); margin-top: 19px; }
.bc-name-signature { display: block; margin-top: 20px; font: italic 27px Georgia, serif; color: var(--bc-accent-dark); }
.bc-profile-portrait { display: block; width: 176px; height: 176px; max-width: 100%; margin-top: 24px; border: 1px solid var(--bc-line); border-radius: 50%; background: var(--bc-paper); box-shadow: var(--bc-shadow); object-fit: contain; }
.bc-workflow { list-style: none; padding: 0; margin: 0; }
.bc-workflow li { display: flex; gap: 25px; padding: 24px 0; border-bottom: 1px solid var(--bc-line); }
.bc-workflow li:last-child { border: 0; }
.bc-step-number { font-size: .8rem; color: var(--bc-accent); padding-top: 1px; }
.bc-workflow h3 { font-size: 1.05rem; margin-bottom: 8px; }
.bc-workflow p { font-size: .87rem; }
.bc-contact { padding-top: 10px; }
.bc-contact-panel { padding: 46px; border-radius: 10px; background: var(--bc-bg); border: 1px solid var(--bc-line); display: flex; align-items: center; gap: 45px; }
.bc-contact-panel > div { flex: 1; }
.bc-contact-panel h2 { font-size: clamp(1.6rem, 2.3vw, 2.15rem); margin-bottom: 18px; }
.bc-contact-panel p:not(.bc-eyebrow) { font-size: .9rem; }
.bc-contact-panel .bc-button { flex-shrink: 0; }
@media (max-width: 1150px) {
  .bc-hero-grid { gap: 25px; }
  .bc-intro { font-size: .91rem; }
  .bc-badge { font-size: .63rem; }
  .bc-hero .bc-button { font-size: .77rem; padding: 12px 15px; }
  .bc-service { padding: 23px 18px; }
  .bc-service h3 { font-size: .97rem; }
  .bc-about-grid { gap: 55px; }
  .bc-contact-panel { padding: 34px; gap: 30px; }
}
@media (max-width: 980px) {
  .bc-hero-grid { grid-template-columns: 1fr; gap: 40px; padding-top: 32px; padding-bottom: 26px; }
  .bc-hero-copy { text-align: center; }
  .bc-hero h1 { font-size: clamp(37px, 5.3vw, 54px); }
  .bc-intro { max-width: 620px; margin-inline: auto; font-size: 1rem; }
  .bc-actions, .bc-badges { justify-content: center; }
  .bc-badges { margin-inline: auto; gap: 42px; }
  .bc-badge { font-size: .74rem; }
  .bc-service-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .bc-service { min-height: 365px; padding: 26px; }
  .bc-service h3 { font-size: 1.12rem; }
  .bc-service-claim { min-height: 0; }
  .bc-section-heading { grid-template-columns: 1fr; gap: 20px; }
  .bc-contact-panel { align-items: flex-start; flex-direction: column; gap: 24px; }
}
@media (max-width: 600px) {
  .bc-hero-copy > .bc-eyebrow { font-size: .66rem; }
  .bc-hero h1 { font-size: clamp(30px, 7.9vw, 44px); margin-bottom: 21px; }
  .bc-intro { font-size: .89rem; line-height: 1.8; }
  .bc-hero .bc-button { font-size: .75rem; }
  .bc-badges { gap: 0; justify-content: space-between; margin-top: 29px; }
  .bc-badge { font-size: .62rem; gap: 9px; }
  .bc-badge-icon { width: 42px; height: 42px; }
  .bc-service-grid { grid-template-columns: 1fr; gap: 18px; }
  .bc-service { min-height: 0; }
  .bc-service-copy { margin-bottom: 20px; }
  .bc-about-grid { grid-template-columns: 1fr; gap: 24px; }
  .bc-profile-portrait { width: 144px; height: 144px; margin-top: 20px; }
  .bc-contact-panel { padding: 28px 23px; }
  .bc-contact-panel .bc-button { white-space: normal; font-size: .75rem; width: 100%; }
}
.bc-section-heading > * { min-width: 0; }
@media (max-width: 390px) {
  .bc-section-heading h2 { font-size: 1.55rem; }
}
