/* Public storefront: responsive layout, native images and keyboard access. */
html { scroll-behavior:smooth; }
.bc-site { --muted:#625d55 !important; }
.bc-site *, .bc-site *::before, .bc-site *::after { box-sizing:border-box; }
.bc-site [style*="grid-template-columns"] > * { min-width:0; }
.bc-site input:not([type="checkbox"]), .bc-site textarea, .bc-site select { min-width:0; max-width:100%; }
.bc-site a, .bc-site p, .bc-site h1, .bc-site h2 { overflow-wrap:break-word; }
.bc-site button:disabled { opacity:.55; cursor:wait !important; }
.bc-site :is(a,button,input,textarea,select):focus-visible { outline:2px solid #927856 !important; outline-offset:4px; }
.bc-header a, .bc-header button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.bc-header-actions > a { min-width:44px; }
.bc-hero-image { min-width:0; }
.bc-cards img { transition:transform .25s ease; }
.bc-cards a:hover > img { transform:scale(1.025); }
@media (max-width:1100px) {
  .bc-header > div { padding:0 24px !important; gap:16px !important; }
  .bc-main-nav { gap:16px !important; }
  .bc-header-actions { gap:10px !important; }
  .bc-site [style*="grid-template-columns: 250px"] { grid-template-columns:210px minmax(0,1fr) !important; gap:28px !important; }
  .bc-site [style*="grid-template-columns: 280px"] { grid-template-columns:210px minmax(0,1fr) !important; gap:28px !important; }
  .bc-cards { gap:18px !important; }
  .bc-star > div:first-child { padding:40px 28px !important; }
  .bc-site .bc-news-form { min-width:0 !important; }
}
@media (max-width:900px) {
  .bc-header > div { grid-template-columns:1fr auto !important; height:auto !important; min-height:110px; row-gap:0 !important; }
  .bc-logo { grid-row:1; grid-column:1; justify-self:start !important; }
  .bc-header-actions { grid-row:1; grid-column:2; }
  .bc-main-nav { grid-row:2; grid-column:1 / -1; justify-content:space-between; width:100%; padding:2px 0 6px; }
  .bc-site [style*="grid-template-columns"] { grid-template-columns:minmax(0,1fr) !important; gap:28px !important; }
  .bc-site .bc-cards { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:24px 18px !important; }
  .bc-site .bc-gallery, .bc-site form [style*="grid-template-columns"], .bc-site [style*="grid-template-columns: 1fr 1fr;gap:13px"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
  .bc-site .bc-cart-item { grid-template-columns:72px minmax(0,1fr) auto !important; gap:16px !important; }
  .bc-site [style*="position: sticky"]:not(header) { position:static !important; }
  .bc-hero { padding-top:44px !important; }
  .bc-hero-image { aspect-ratio:4/3 !important; max-height:520px; }
  .bc-star > div:last-child { min-height:420px !important; }
  .bc-footer [style*="grid-template-columns"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:600px) {
  .bc-header > div { padding:4px 20px 0 !important; column-gap:8px !important; }
  .bc-logo { font-size:23px !important; }
  .bc-header-actions { gap:8px !important; }
  .bc-main-nav { gap:10px !important; font-size:12.5px !important; }
  .bc-site main[style], .bc-site main > section[style] { padding-left:20px !important; padding-right:20px !important; }
  .bc-site main > section[style] { padding-top:44px !important; padding-bottom:28px !important; margin-top:0 !important; }
  .bc-site main[style] { padding-top:32px !important; padding-bottom:56px !important; }
  .bc-site main > section:last-child { padding-bottom:56px !important; }
  .bc-site h1 { font-size:clamp(36px,10vw,52px) !important; }
  .bc-hero-image { aspect-ratio:1 !important; }
  .bc-hero > div:first-child > div[style*="display: flex"] { gap:12px !important; flex-wrap:wrap; }
  .bc-hero button { padding:15px 20px !important; }
  .bc-hero > div:first-child > div:last-child { justify-content:space-between; margin-top:32px !important; }
  .bc-hero > div:first-child > div:last-child > div { flex:1; }
  .bc-star > div:first-child { padding:32px 24px !important; }
  .bc-star > div:last-child { min-height:340px !important; }
  .bc-star [style*="white-space: nowrap"] { white-space:normal !important; }
  .bc-site section > div[style*="justify-content: space-between"] { gap:18px; flex-wrap:wrap; }
  .bc-site section > div[style*="padding: 22px 40px"] { padding:16px 0 !important; gap:16px !important; font-size:11px !important; }
  .bc-site .bc-cards { gap:26px 14px !important; }
  .bc-cards [style*="justify-content: space-between"] { flex-wrap:wrap; gap:12px; }
  .bc-cards [style*="top: 14px;left:14px"] { top:8px !important; left:8px !important; padding:4px 7px !important; font-size:9px !important; max-width:calc(100% - 16px); }
  .bc-site form[style*="padding: 32px"], .bc-site form[style*="padding: 38px"] { padding:24px 18px !important; }
  .bc-site form [style*="grid-template-columns"] { grid-template-columns:minmax(0,1fr) !important; }
  .bc-site form [style*="grid-column"] { grid-column:auto !important; }
  .bc-site form input:not([type="checkbox"]), .bc-site form textarea, .bc-site form select { font-size:16px !important; width:100%; }
  .bc-site .bc-news-form > div { flex-direction:column; }
  .bc-site section > div[style*="padding: 72px 56px"] { padding:30px 22px !important; }
  .bc-site .bc-cart-item { grid-template-columns:64px minmax(0,1fr) !important; gap:12px !important; }
  .bc-cart-item > div:last-child { grid-column:2; }
  .bc-site [style*="position: fixed"][style*="bottom: 0"] > div { padding:18px 20px !important; gap:16px !important; }
  .bc-site [style*="position: fixed"][style*="bottom: 0"] p { font-size:12px !important; }
  .bc-site [style*="position: fixed"][style*="bottom: 0"] button { padding:12px 14px !important; }
  .bc-footer > div { padding:48px 20px 32px !important; }
  .bc-footer [style*="grid-template-columns"] { gap:30px 20px !important; }
  .bc-footer [style*="grid-template-columns: 1.6fr"] > div:first-child { grid-column:1 / -1; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .bc-site * { animation:none !important; transition:none !important; }
}

@media (max-width:600px) { .bc-site main [style*="display: flex"][style*="gap: 12px"] { flex-wrap:wrap; } }

@media (max-width:600px) { .bc-site main button { max-width:100%; white-space:normal !important; } }

/* Professional collaboration programme. */
.bc-main-nav { gap:18px !important; }
.bc-clinics { max-width:1320px; margin:0 auto; padding:68px 40px 100px; }
.bc-kicker { font-size:11px; text-transform:uppercase; letter-spacing:.14em; font-weight:600; color:var(--muted); margin:0 0 18px; }
.bc-program-badge { display:inline-block; font-size:11px; letter-spacing:.04em; line-height:1.5; padding:8px 12px; border:1px solid #aba292; border-radius:2px; color:#625640; }
.bc-clinics-hero { display:grid; grid-template-columns:1.45fr 1fr; gap:72px; align-items:center; padding-bottom:80px; }
.bc-clinics h1 { font-size:clamp(42px,5.3vw,72px); line-height:1.07; letter-spacing:-.04em; margin:28px 0; }
.bc-clinics h1 em { font-family:'Playfair Display',serif; font-weight:500; }
.bc-lead { font-size:18px; line-height:1.65; max-width:600px; color:var(--muted); margin:0 0 30px; }
.bc-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:17px 24px; background:var(--ink); color:var(--paper); border:1px solid var(--ink); cursor:pointer; font:500 13px Archivo,system-ui,sans-serif; text-decoration:none; line-height:1.4; }
.bc-primary:hover { background:#3e3b34; }
.bc-clinics-card { padding:38px; background:var(--card); border:1px solid var(--line); }
.bc-card-mark { font-family:'Playfair Display',serif; font-size:54px; font-style:italic; color:#9c8a70; }
.bc-clinics h2 { font-size:clamp(24px,2.4vw,34px); letter-spacing:-.02em; line-height:1.2; margin:22px 0 16px; }
.bc-clinics h3 { font-size:17px; line-height:1.4; margin:12px 0; }
.bc-clinics-card p, .bc-clinics-section p, .bc-equipment-note p { color:var(--muted); font-size:15px; line-height:1.65; }
.bc-stage { border-top:1px solid var(--line); margin-top:30px; padding-top:26px; }
.bc-stage .bc-kicker { margin:0 0 10px; font-size:11px; }
.bc-stage p:last-child { margin:0; }
.bc-clinics-section { border-top:1px solid var(--line); padding:48px 0 56px; }
.bc-clinics-section > h2 { margin-top:0; }
.bc-section-intro { max-width:620px; }
.bc-clinics-areas { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; margin-top:34px; }
.bc-number { font-size:11px; font-weight:600; letter-spacing:.1em; color:#877457; }
.bc-clinics-areas h2 { font-size:24px; }
.bc-roles { display:grid; grid-template-columns:1fr 1.8fr; gap:70px; }
.bc-roles article { display:grid; grid-template-columns:1fr 1.6fr; gap:24px; padding:14px 0; border-bottom:1px solid var(--line); }
.bc-roles article:first-child { padding-top:0; }
.bc-roles article h3 { margin:0; }
.bc-roles article p { margin:0; }
.bc-provider-note { font-size:12px !important; }
.bc-clinics-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin-top:30px; }
.bc-equipment-note { background:var(--card); border:1px solid var(--line); padding:30px 36px; display:flex; align-items:center; justify-content:space-between; gap:48px; margin:0 0 56px; }
.bc-equipment-note h2 { font-size:24px; margin-top:0; }
.bc-equipment-note p { max-width:720px; margin-bottom:0; }
.bc-equipment-note > a { font-size:13px; text-decoration:underline; white-space:nowrap; }
.bc-clinics-enquiry { display:grid; grid-template-columns:1fr 1.6fr; gap:70px; scroll-margin-top:100px; }
.bc-clinics-enquiry > div h2 { font-size:clamp(30px,3.2vw,46px); }
.bc-clinics-enquiry > div > a { display:inline-block; font-size:14px; margin-top:15px; text-decoration:underline; }
.bc-clinics-form { padding:32px; background:var(--card); border:1px solid var(--line); }
.bc-enquiry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.bc-enquiry-grid label { font-size:12px; font-weight:500; display:flex; flex-direction:column; gap:9px; }
.bc-enquiry-grid input, .bc-enquiry-grid textarea { width:100%; padding:13px 12px; color:var(--ink); border:1px solid #b8b2a8; border-radius:0; background:var(--paper); font:15px Archivo,system-ui,sans-serif; }
.bc-enquiry-grid textarea { resize:vertical; }
.bc-enquiry-grid .bc-wide { grid-column:1 / -1; }
.bc-form-note { font-size:12px !important; line-height:1.6; }
.bc-form-note a { text-decoration:underline; }
.bc-form-status:empty { display:none; }
.bc-clinics-teaser { max-width:1240px; margin:70px auto 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; gap:60px; align-items:center; justify-content:space-between; padding:42px 0; }
.bc-clinics-teaser h2 { font-size:clamp(26px,2.8vw,38px); line-height:1.15; max-width:700px; margin:0 0 16px; letter-spacing:-.02em; }
.bc-clinics-teaser div > p:not(.bc-kicker) { max-width:680px; font-size:16px; line-height:1.6; color:var(--muted); }
.bc-clinics-teaser .bc-primary { flex-shrink:0; }
@media(max-width:1320px) { .bc-clinics-teaser { margin-left:40px; margin-right:40px; } }
@media(max-width:1100px) { .bc-clinics-hero { gap:36px; } .bc-roles, .bc-clinics-enquiry { gap:36px; } }
@media(max-width:900px) {
 .bc-clinics { padding-top:48px; }
 .bc-clinics-hero { grid-template-columns:1fr; gap:36px; padding-bottom:48px; }
 .bc-clinics-card { max-width:none; }
 .bc-clinics-areas { gap:20px; }
 .bc-clinics-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bc-roles, .bc-clinics-enquiry { grid-template-columns:1fr; gap:24px; }
 .bc-equipment-note, .bc-clinics-teaser { flex-direction:column; align-items:flex-start; gap:26px; }
 .bc-clinics-enquiry { scroll-margin-top:125px; }
}
@media(max-width:600px) {
 .bc-main-nav { gap:8px !important; flex-wrap:wrap; font-size:11.5px !important; }
 .bc-clinics { padding:36px 20px 56px; }
 .bc-clinics h1 { margin:22px 0; }
 .bc-lead { font-size:16px; }
 .bc-clinics-card { padding:26px; }
 .bc-clinics-section { padding:34px 0; }
 .bc-clinics-areas { grid-template-columns:1fr; gap:16px; }
 .bc-clinics-areas article + article { border-top:1px solid var(--line); padding-top:24px; }
 .bc-roles article { grid-template-columns:1fr; gap:8px; padding:22px 0; }
 .bc-clinics-steps { gap:20px; }
 .bc-equipment-note { padding:26px 22px; margin-bottom:34px; }
 .bc-equipment-note > a { white-space:normal; }
 .bc-clinics-form { padding:24px 18px; }
 .bc-enquiry-grid { grid-template-columns:1fr; gap:18px; }
 .bc-clinics-teaser { margin:44px 20px 0; padding:32px 0; }
}
@media(max-width:380px) { .bc-main-nav { display:grid !important; grid-template-columns:1fr 1fr; gap:0 !important; } .bc-main-nav a { justify-content:flex-start; } }
@media(max-width:900px) { .bc-main-nav { grid-column:1 / -1 !important; grid-row:2 !important; } }
@media(max-width:380px) { .bc-logo { font-size:19px !important; } .bc-header-actions { gap:4px !important; } }
@media(max-width:900px) {
 .bc-header > div { display:flex !important; flex-wrap:wrap; justify-content:space-between; }
 .bc-logo { order:1; }
 .bc-header-actions { order:2; }
 .bc-main-nav { order:3; flex:0 0 100%; width:100% !important; }
}

/* Carol’s Hands presentation and downloadable letter. */
.bc-specialist-profile { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr); gap:64px; align-items:center; scroll-margin-top:110px; }
.bc-specialist-profile figure { margin:0; max-width:400px; }
.bc-specialist-profile img { display:block; width:100%; height:auto; aspect-ratio:4 / 5; object-fit:cover; background:var(--card); }
.bc-specialist-profile figcaption { margin-top:10px; font-size:10px; letter-spacing:.04em; color:var(--muted); }
.bc-specialist-profile h2 { font-family:'Playfair Display',serif; font-size:clamp(34px,3.8vw,52px); font-weight:500; margin:0 0 10px; }
.bc-specialist-profile .bc-specialist-role { color:var(--ink); font-size:13px; font-weight:600; margin:0 0 24px; }
.bc-specialist-profile .bc-specialist-training { font-size:12px; line-height:1.6; margin:18px 0; }
.bc-specialist-download { display:flex; align-items:center; flex-wrap:wrap; gap:14px 20px; margin-top:26px; }
.bc-specialist-download > span { font-size:11px; color:var(--muted); }
@media(max-width:900px) { .bc-specialist-profile { gap:32px; } }
@media(max-width:600px) { .bc-specialist-profile { grid-template-columns:1fr; gap:28px; scroll-margin-top:150px; } .bc-specialist-profile figure { max-width:none; } }

/* Clinic campaign: direct route from printed QR to an introductory meeting. */
.bc-clinic-campaign .bc-main-nav > a:not(.bc-clinic-entry):not(.bc-clinic-meeting) { display:none; }
.bc-clinic-campaign .bc-header-actions > a { display:none !important; }
.bc-clinic-meeting { padding:8px 12px; border:1px solid var(--ink); font-size:12px; white-space:nowrap; }
.bc-campaign-resource { display:block; width:fit-content; margin-top:20px; font-size:13px; line-height:1.6; text-decoration:underline; text-underline-offset:4px; }
.bc-clinic-campaign .bc-primary { white-space:normal; line-height:1.5; text-align:left; }
@media(max-width:900px) { .bc-clinic-campaign .bc-main-nav { justify-content:flex-start; gap:22px !important; } }
@media(max-width:480px) { .bc-clinic-campaign .bc-main-nav { justify-content:space-between; gap:12px !important; font-size:12px !important; } .bc-clinic-meeting { font-size:11px; padding:6px 10px; } }
