/* Branches use the catalogue's palette and the light photographic surfaces of About. */
body.branch-view .branch-page { display:block; }
body.branch-view .catalog-page { padding-top:24px; }
body.branch-view .branch-back { margin-bottom:22px; min-height:24px; font-size:13px; }
body.branch-view .branch-page [id] { scroll-margin-top:28px; }
body.branch-view .branch-visit { border-radius:var(--ui-radius); overflow:hidden; border:1px solid var(--line); background:#fff; }
body.branch-view .branch-visit-stage { position:relative; height:clamp(470px,42vw,630px); isolation:isolate; }
body.branch-view .branch-visit-images, body.branch-view .branch-visit-image { position:absolute; inset:0; overflow:hidden; }
body.branch-view .branch-visit-image { opacity:0; transition:opacity 800ms cubic-bezier(.22,.75,.18,1); }
body.branch-view .branch-visit-image.is-active { opacity:1; }
body.branch-view .branch-visit-image img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:var(--photo-position); transform:scale(1.045); transition:transform 1800ms cubic-bezier(.22,.75,.18,1); }
body.branch-view .branch-visit-image.is-active img { transform:scale(1); }
body.branch-view .branch-visit-images::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#121b226b 0%,transparent 48%); pointer-events:none; }
body.branch-view .branch-visit-heading { position:absolute; top:36px; left:38px; right:38px; color:#fff; pointer-events:none; }
body.branch-view .branch-visit-heading>span { font-size:12px; letter-spacing:.075em; text-transform:uppercase; color:#fffffff2; text-shadow:0 1px 12px #0006; }
body.branch-view .branch-visit-heading h1 { margin:15px 0 0; font-size:clamp(42px,5.6vw,78px); font-weight:500; letter-spacing:-.045em; line-height:1.06; color:#fff; text-shadow:0 2px 20px #0002; }
body.branch-view .branch-visit-playback { position:absolute; bottom:28px; left:30px; display:flex; align-items:center; gap:9px; min-height:36px; padding:9px 13px; border:1px solid #ffffffc7; border-radius:4px; background:#fcfcf8e8; color:#47555e; font:inherit; font-size:12px; cursor:pointer; }
body.branch-view .branch-visit-playback[hidden] { display:none; }
body.branch-view .branch-visit-playback:hover { background:#fff; }
body.branch-view .branch-visit-playback>span:first-child { font-size:16px; line-height:1; }
body.branch-view .branch-visit-captions { position:absolute; width:370px; right:32px; bottom:30px; padding:26px 28px 22px; color:#273137; background:rgba(252,252,248,.89); border:1px solid #ffffffb8; border-radius:3px; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
body.branch-view .branch-visit-captions { display:grid; }
body.branch-view .branch-visit-caption { grid-area:1 / 1; min-width:0; }
/* Keep the tallest caption in the layout so automatic playback never shifts the page. */
body.branch-view .branch-visit-caption[hidden] { display:block !important; visibility:hidden; pointer-events:none; }
body.branch-view .branch-visit-caption .company-eyebrow { font-size:10px; color:#6e614d; font-weight:500; letter-spacing:.075em; }
body.branch-view .branch-visit-caption h2 { margin:14px 0 14px; font-size:29px; font-weight:500; line-height:1.1; letter-spacing:-.04em; }
body.branch-view .branch-visit-caption p { margin:0; font-size:14px; line-height:1.7; color:#53616b; }
body.branch-view .branch-visit-fact { display:flex; gap:20px; align-items:center; margin-top:20px; padding-top:20px; border-top:1px solid #c5c9c8; }
body.branch-view .branch-visit-fact strong { flex:none; font-size:30px; line-height:1.15; font-weight:500; letter-spacing:-.045em; }
body.branch-view .branch-visit-fact>span { max-width:150px; font-size:11px; line-height:1.5; color:#53616b; }
body.branch-view .branch-visit-caption>a { display:flex; justify-content:space-between; align-items:center; margin-top:16px; color:#765e3d; text-decoration:none; font-size:12px; }
body.branch-view .branch-visit-choices { display:grid; grid-template-columns:repeat(var(--visit-count),minmax(0,1fr)); background:#fff; }
body.branch-view .branch-visit-choice { position:relative; display:flex; align-items:center; gap:16px; padding:18px 22px; border:0; border-radius:0; background:#fff; color:var(--ink); font:inherit; font-size:15px; font-weight:500; text-align:left; cursor:pointer; }
body.branch-view .branch-visit-choice+button { border-left:1px solid var(--line); }
body.branch-view .branch-visit-choice::after { content:''; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--amber); transform:scaleX(0); transform-origin:left; transition:transform 550ms cubic-bezier(.22,.75,.18,1); }
body.branch-view .branch-visit-choice.is-active { background:var(--amber-soft); color:#6b583c; }
body.branch-view .branch-visit-choice.is-active::after { transform:scaleX(1); }
body.branch-view .branch-visit-choice:hover { background:#f8f9fa; }
body.branch-view .branch-visit-choice.is-active:hover { background:var(--amber-soft); }
body.branch-view .branch-visit-choice img { width:64px; height:48px; object-fit:cover; border-radius:3px; flex:none; }
body.branch-view .branch-visit-choice>span { flex:1; }
body.branch-view .branch-visit-choice i { color:#93774b; font-size:17px; font-style:normal; font-weight:400; }
body.branch-view .branch-visit-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
body.branch-view .branch-quick-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line); border-radius:var(--ui-radius); margin-top:18px; overflow:hidden; }
body.branch-view .branch-quick-actions>a, body.branch-view .branch-quick-actions>button { display:flex; align-items:center; gap:16px; padding:23px 26px; min-width:0; color:var(--ink); text-decoration:none; text-align:left; background:#fff; border:0; border-radius:0; font:inherit; cursor:pointer; }
body.branch-view .branch-quick-actions>*+* { border-left:1px solid var(--line); }
body.branch-view .branch-quick-actions>*:first-child { background:var(--amber-soft); }
body.branch-view .branch-quick-actions svg { width:26px; height:26px; flex:none; stroke:#8c7756; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
body.branch-view .branch-quick-actions strong { display:block; font-size:15px; font-weight:550; line-height:1.4; }
body.branch-view .branch-quick-actions small { display:block; margin-top:5px; font-size:12px; line-height:1.5; color:var(--muted); }
body.branch-view .branch-quick-actions b { margin-left:auto; color:#8b7654; font-size:20px; font-weight:400; }
body.branch-view .branch-quick-actions>*:hover { background:#f6f7f8; }
body.branch-view .branch-quick-actions>*:first-child:hover { background:#fff1d9; }
body.branch-view .branch-production-visit { padding-top:36px; }
body.branch-view .branch-production-visit .company-section-heading { max-width:880px; padding-top:16px; }
body.branch-view .branch-production-visit .company-section-heading h2 { margin:12px 0 20px; font-size:clamp(30px,3.3vw,46px); font-weight:500; letter-spacing:-.045em; line-height:1.12; }
body.branch-view .branch-production-visit .company-section-heading p { font-size:16px; line-height:1.75; }
body.branch-view .company-metrics>div { padding:24px 26px; background:#fff; }
body.branch-view .company-metrics strong { font-size:32px; font-weight:500; letter-spacing:-.04em; }
body.branch-view .company-metrics span { font-size:14px; line-height:1.5; color:var(--muted); }
body.branch-view .branch-process-list { display:grid; gap:52px; margin-top:38px; }
body.branch-view .branch-process { min-width:0; }
body.branch-view .branch-process { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,1fr); align-items:start; gap:40px; padding-bottom:36px; border-bottom:1px solid var(--line); }
body.branch-view .branch-process:nth-child(even) .branch-process-photo { grid-column:2; grid-row:1; }
body.branch-view .branch-process:nth-child(even) .branch-process-content { grid-column:1; grid-row:1; }
body.branch-view .branch-process-photo { min-width:0; }
body.branch-view .branch-process-photo .smc-photo-frame { aspect-ratio:1.04; border-radius:6px; }
body.branch-view .branch-process-photo figcaption { font-size:13px; color:var(--muted); }
body.branch-view .branch-process-content { min-width:0; padding:5px 0 0; }
body.branch-view .branch-process-content h3 { margin:0 0 18px; font-size:29px; line-height:1.15; font-weight:500; letter-spacing:-.035em; }
body.branch-view .branch-process-content>p { margin:0 0 22px; color:var(--muted); font-size:15px; line-height:1.75; }
body.branch-view .branch-process-content dl { margin:0; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:#fff; }
body.branch-view .branch-process-content dl>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; padding:15px 18px; border-bottom:1px solid var(--line); font-size:13px; line-height:1.55; }
body.branch-view .branch-process-content dl>div:last-child { border:0; }
body.branch-view .branch-process-content dt { color:var(--muted); }
body.branch-view .branch-process-content dd { margin:0; color:var(--ink); font-weight:500; }
body.branch-view .branch-process-text { display:block; }
body.branch-view .branch-process-text .branch-process-content { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
body.branch-view .branch-process-text h3, body.branch-view .branch-process-text p { grid-column:1; }
body.branch-view .branch-process-text dl { grid-column:2; grid-row:1/3; }
body.branch-view .company-note { font-size:12px; margin-bottom:24px; }
body.branch-view .branch-stock-section { padding-top:38px; }
body.branch-view .branch-content-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px; }
body.branch-view .branch-content-heading h2 { margin:10px 0 0; font-size:34px; line-height:1.15; font-weight:500; letter-spacing:-.035em; }
body.branch-view .branch-content-heading>a { font-size:14px; color:#806740; text-decoration:none; }
body.branch-view .branch-grid { gap:18px; margin:0; }
body.branch-view .branch-card { padding:26px; }
body.branch-view .branch-card h2 { font-size:21px; font-weight:500; }
body.branch-view .branch-card ul { font-size:14px; line-height:1.8; }
body.branch-view .branch-stock-summary>strong { font-size:44px; font-weight:500; margin-top:13px; }
body.branch-view .branch-stock-summary>small { font-size:13px; }
body.branch-view .branch-stock-summary>span { font-size:11px; font-weight:500; }
body.branch-view .branch-stock-summary>b { font-weight:500; }
body.branch-view .branch-stock-summary button { color:#6b583c; background:var(--amber-soft); border-color:#e2c99f; font-weight:500; padding:12px; min-height:46px; }
body.branch-view .branch-assortment span { font-size:12px; min-height:45px; }
body.branch-view .branch-assortment b { font-weight:400; }
body.branch-view .branch-stock-photographs { padding:38px 0; }
body.branch-view .branch-stock-photographs .smc-photo-heading h2 { font-size:30px; font-weight:500; }
body.branch-view .branch-stock-photographs .smc-photo-frame { aspect-ratio:1.3; }
body.branch-view .branch-stock-photographs .smc-photo figcaption { font-size:14px; }
body.branch-view .branch-contact-section { padding-top:24px; }
body.branch-view .branch-contact-section .contact-card { box-shadow:none; }
body.branch-view .branch-staff-heading h2 { font-size:32px; font-weight:500; }
body.branch-view .branch-staff-toggle { background:#fff; }
body.branch-view .branch-staff-toggle:hover { background:#fff; }
body.branch-view .branch-page>.company-button { margin:4px 0 20px; }
body.branch-view .branch-visit-choice:focus-visible, body.branch-view .branch-quick-actions>:focus-visible { outline:2px solid #947548; outline-offset:-4px; }
@media(min-width:1600px) {
  body.branch-view .branch-visit-captions { width:400px; padding:32px; right:40px; bottom:38px; }
  body.branch-view .branch-visit-caption h2 { font-size:34px; }
  body.branch-view .branch-visit-caption p { font-size:16px; }
}
@media(max-width:1100px) {
  body.branch-view .branch-visit-stage { height:530px; }
  body.branch-view .branch-visit-heading { top:30px; left:30px; right:30px; }
  body.branch-view .branch-visit-captions { width:350px; padding:24px; right:26px; bottom:26px; }
  body.branch-view .branch-visit-caption h2 { font-size:28px; }
  body.branch-view .branch-visit-choice { padding:16px; gap:12px; font-size:14px; }
  body.branch-view .branch-visit-choice img { width:48px; height:40px; }
  body.branch-view .branch-quick-actions>a, body.branch-view .branch-quick-actions>button { padding:20px; gap:12px; }
  body.branch-view .branch-quick-actions strong { font-size:14px; }
  body.branch-view .branch-quick-actions small { font-size:11px; }
  body.branch-view .branch-process { gap:28px; }
  body.branch-view .branch-process-content h3 { font-size:26px; }
  body.branch-view .branch-process-content dl>div { grid-template-columns:1fr; gap:5px; padding:12px 16px; }
}
@media(max-width:900px) {
  body.branch-view .branch-visit-heading h1 { font-size:48px; }
  body.branch-view .branch-visit-choice i { display:none; }
  body.branch-view .branch-process { grid-template-columns:1fr 1fr; gap:26px; }
  body.branch-view .branch-process-photo .smc-photo-frame { aspect-ratio:.8; }
  body.branch-view .company-metrics strong { font-size:25px; }
  body.branch-view .company-metrics>div { padding:20px; }
  body.branch-view .branch-grid { grid-template-columns:1fr 1fr; }
  body.branch-view .branch-assortment { grid-column:1/-1; }
}
@media(max-width:700px) {
  body.branch-view .branch-visit-stage { height:auto; padding-top:330px; }
  body.branch-view .branch-visit-images { height:360px; bottom:auto; }
  body.branch-view .branch-visit-heading { top:26px; left:24px; right:24px; }
  body.branch-view .branch-visit-heading>span { font-size:10px; letter-spacing:.03em; }
  body.branch-view .branch-visit-heading h1 { font-size:clamp(37px,7.2vw,48px); margin-top:14px; }
  body.branch-view .branch-visit-playback { top:275px; bottom:auto; left:24px; }
  body.branch-view .branch-visit-captions { position:relative; right:auto; bottom:auto; width:auto; margin:0 16px 18px; padding:23px; min-height:0; background:rgba(252,252,248,.94); border-color:#e1e5e7; }
  body.branch-view .branch-visit-caption h2 { font-size:28px; }
  body.branch-view .branch-visit-fact { margin-top:18px; padding-top:18px; }
  body.branch-view .branch-visit-fact strong { font-size:29px; }
  body.branch-view .branch-visit-fact { flex-wrap:wrap; gap:10px 18px; }
  body.branch-view .branch-visit-choices { grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
  body.branch-view .branch-visit-choice { border-bottom:1px solid var(--line); padding:14px; font-size:13px; }
  body.branch-view .branch-visit-choice:nth-child(odd) { border-left:0; }
  body.branch-view .branch-visit-choice img { width:48px; height:38px; }
  body.branch-view .branch-quick-actions { grid-template-columns:1fr; margin-top:16px; }
  body.branch-view .branch-quick-actions>*+* { border-left:0; border-top:1px solid var(--line); }
  body.branch-view .branch-quick-actions>a, body.branch-view .branch-quick-actions>button { padding:19px 22px; }
  body.branch-view .branch-quick-actions strong { font-size:15px; }
  body.branch-view .branch-quick-actions small { font-size:12px; }
  body.branch-view .branch-production-visit { padding-top:24px; }
  body.branch-view .branch-production-visit .company-section-heading h2 { font-size:32px; }
  body.branch-view .branch-production-visit .company-section-heading p { font-size:15px; }
  body.branch-view .company-metrics { grid-template-columns:1fr; }
  body.branch-view .company-metrics>div { display:flex; align-items:center; gap:22px; padding:20px; }
  body.branch-view .company-metrics strong { flex:0 0 46%; font-size:26px; white-space:normal; }
  body.branch-view .company-metrics span { font-size:13px; }
  body.branch-view .branch-process { display:flex; flex-direction:column; gap:24px; padding-bottom:30px; }
  body.branch-view .branch-process-photo { width:100%; }
  body.branch-view .branch-process-content { width:100%; }
  body.branch-view .branch-process-photo .smc-photo-frame { aspect-ratio:1.2; }
  body.branch-view .branch-process-photo figcaption { flex-wrap:wrap; gap:4px; }
  body.branch-view .branch-process-content h3 { font-size:28px; }
  body.branch-view .branch-process-content>p { font-size:15px; }
  body.branch-view .branch-process-content dl>div { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; font-size:13px; padding:15px; }
  body.branch-view .branch-process-text .branch-process-content { display:block; }
  body.branch-view .branch-content-heading { display:block; }
  body.branch-view .branch-content-heading h2 { font-size:30px; }
  body.branch-view .branch-content-heading>a { display:inline-block; margin-top:14px; }
  body.branch-view .branch-grid { grid-template-columns:1fr; gap:14px; }
  body.branch-view .branch-card { padding:24px; }
  body.branch-view .branch-assortment { grid-column:auto; }
  body.branch-view .branch-stock-photographs .smc-photo-heading h2 { font-size:28px; }
  body.branch-view .branch-staff-heading h2 { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) {
  body.branch-view .branch-visit-image, body.branch-view .branch-visit-image img, body.branch-view .branch-visit-choice::after { transition:none; transform:none; }
}
