/* Mike's own photographs and a quiet British/South African heritage detail. */
.hbt-site #hbt-mike-story { position: relative; isolation: isolate; grid-template-columns: 1.03fr 1fr; gap: 64px; align-items: start; scroll-margin-top: 15px; }
.hbt-site #hbt-mike-story::before { content: ''; position: absolute; inset: 62px -22px; z-index: -1; pointer-events: none; border: 1px solid #e2d8c8; border-radius: 30px; background: radial-gradient(ellipse at 0 0,#f0e1c978,transparent 65%),linear-gradient(125deg,#fffdf7,#f5f4ed); box-shadow: inset 0 1px 0 #fff,0 21px 49px #5f4a2d12; }
.hbt-site #hbt-mike-story .hbt-eyebrow { color: #7a613d; font-size: 10px; }
.hbt-site #hbt-mike-story .hbt-eyebrow>span { background: #aa864d; }
.hbt-site #hbt-mike-story h2 { font-size: 46px; line-height: 1.15; margin-bottom: 29px; }
.hbt-site #hbt-mike-story h2 em { color: #9c6b3e; font-style: normal; }
.hbt-site #hbt-mike-story .hbt-mike-portrait { width: 100%; aspect-ratio: 1.02; border: 7px solid #fffdf5; border-radius: 24px 24px 64px 24px; box-shadow: 0 20px 35px #213f2c24,0 2px 7px #5f4a2d15; background: #cbd6bd; }
.hbt-site #hbt-mike-story .hbt-mike-portrait>img { object-fit: cover; object-position: 50% 29%; }
.hbt-site #hbt-mike-story .hbt-gallery-caption { padding: 70px 23px 23px; font-size: 12px; background: linear-gradient(transparent,#102b23b8); }
.hbt-site #hbt-mike-story .hbt-signature { margin: 25px 7px 0; color: #395b43; font-size: 31px; }
.hbt-site #hbt-mike-story .hbt-signature>span { color: #6c715f; font-size: 11px; letter-spacing: .04em; }
.hbt-site #hbt-mike-story .hbt-mike-story-copy { border: 0; padding: 0; }
.hbt-site #hbt-mike-story .hbt-mike-story-copy>p { color: #45564a; font-size: 16px; line-height: 1.9; margin-bottom: 22px; }
.hbt-site #hbt-mike-story .hbt-mike-story-copy>.hbt-lead { font-size: 21px; line-height: 1.65; color: #2d4436; padding-top: 2px; }
.hbt-site .hbt-mike-heritage { position: relative; display: grid; grid-template-columns: .95fr 1fr; gap: 12px 18px; overflow: hidden; margin-top: 29px; padding: 20px 22px 23px; border: 1px solid #a38e67; border-radius: 22px; background: radial-gradient(ellipse at 0 0,#50684b45,transparent 70%),linear-gradient(125deg,#293c32,#1b2b24); color: #fff6e4; box-shadow: inset 0 1px 0 #f7e8c326,0 18px 32px #23372b1f; }
.hbt-heritage-heading { grid-column: 1/-1; display: flex; align-items: center; min-height: 44px; }
.hbt-heritage-heading>span { color: #e3d1ae; font-size: 10px; letter-spacing: .04em; line-height: 1.7; }
.hbt-flag-frame { position: relative; grid-column: 1; grid-row: 2/4; align-self: center; }
.hbt-flag-frame::before { content: ''; position: absolute; left: 4%; top: 10%; bottom: 6%; width: 2px; border-radius: 3px; background: linear-gradient(90deg,#8c774f,#f2d6a1,#8c774f); box-shadow: 2px 3px 5px #07170d60; }
.hbt-site .hbt-mike-flag { position: relative; display: block; width: 100%; aspect-ratio: 1200/900; }
.hbt-site .hbt-flag-cloth { position: absolute; inset: 0; width: 100%; height: 100%; filter: drop-shadow(4px 8px 5px #081a1252); }
.hbt-site .hbt-flag-fallback { position: absolute; inset: 8% 4%; width: 92%; height: 84%; object-fit: contain; }
.hbt-site #hbt-mike-story .hbt-mike-heritage h3 { grid-column: 2; color: #fff5e0; font-size: 26px; line-height: 1.14; margin: 0; }
.hbt-site #hbt-mike-story .hbt-mike-heritage h3 em { font-style: normal; color: #e8bf88; }
.hbt-site #hbt-mike-story .hbt-mike-heritage>p { grid-column: 2; color: #d1d8c7; margin: 0; font-size: 12px; line-height: 1.8; }
.hbt-site.hbt-about-page #hbt-mike-album { margin-top: 10px; }
.hbt-site #hbt-mike-album .hbt-mike-photo { border: 5px solid #fffaf0; box-shadow: 0 15px 30px #29482d20; }
.hbt-site #hbt-mike-album .hbt-mike-photo img { object-position: 50% 27%; }
.hbt-site.hbt-about-page #hbt-mike-personal { box-shadow: none; scroll-margin-top: 15px; }
.hbt-site.hbt-about-page #hbt-mike-personal::after { background: none; }
.hbt-site.hbt-about-page #hbt-mike-personal>div { background: #123d30de; }
.hbt-site.hbt-about-page #hbt-mike-personal .hbt-eyebrow { color: #e5c797; }
.hbt-site.hbt-about-page #hbt-mike-personal .hbt-eyebrow>span { background: #d6bc87; }
.hbt-site #hbt-mike-approach { position: relative; isolation: isolate; margin-block: 90px; padding-block: 88px 100px; border-block: 1px solid #c7a77452; background: radial-gradient(ellipse at 100% 0,#66543a47,transparent 55%),linear-gradient(125deg,#29322b,#17241e 70%); scroll-margin-top: 15px; }
.hbt-site #hbt-mike-approach .hbt-section-heading { align-items: end; margin-bottom: 0; }
.hbt-site #hbt-mike-approach .hbt-eyebrow { color: #e5c492; }
.hbt-site #hbt-mike-approach .hbt-eyebrow>span { background: #bfa06f; }
.hbt-site #hbt-mike-approach .hbt-section-heading h2 { color: #fff6e5; }
.hbt-site #hbt-mike-approach .hbt-section-heading>p { color: #ced8c8; font-size: 15px; line-height: 1.9; }
.hbt-site #hbt-mike-approach .hbt-approach-grid { align-items: start; gap: 28px; margin-top: 46px; padding: 0 5px 8px; }
.hbt-site #hbt-mike-approach .hbt-plan-step { position: relative; isolation: isolate; padding: 0; border: 1px solid #d2c3a4; border-radius: 21px; background: #f7f2e7; box-shadow: 0 18px 34px #06120e59; transition: transform .4s,box-shadow .4s; }
.hbt-site #hbt-mike-approach .hbt-plan-step::before { content: ''; position: absolute; inset: 6px -4px -6px; z-index: -1; border: 1px solid #d2c3a46b; border-radius: 21px; background: #d9cfba; transform: rotate(-1deg); pointer-events: none; }
.hbt-site #hbt-mike-approach .hbt-plan-step:nth-child(2) { margin-top: 26px; }
.hbt-site #hbt-mike-approach .hbt-plan-step:nth-child(2)::before { transform: rotate(1deg); }
.hbt-site #hbt-mike-approach .hbt-plan-step:nth-child(3) { margin-top: 52px; }
.hbt-site #hbt-mike-approach .hbt-plan-photo { position: relative; overflow: hidden; height: 222px; border-radius: 20px 20px 0 0; }
.hbt-site #hbt-mike-approach .hbt-plan-photo>img { width: 100%; height: 100%; object-fit: cover; transition: transform .75s ease; }
.hbt-site #hbt-mike-approach .hbt-plan-step:nth-child(2) img { object-position: 50% 9%; }
.hbt-site #hbt-mike-approach .hbt-plan-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,#17251a7a,transparent 55%); pointer-events: none; }
.hbt-site #hbt-mike-approach .hbt-plan-kicker { position: absolute; z-index: 1; left: 19px; top: 19px; padding: 7px 10px; border: 1px solid #f1dfbc66; border-radius: 7px; background: #18372aa6; backdrop-filter: blur(10px); color: #fff5dd; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.hbt-site #hbt-mike-approach .hbt-plan-number { position: absolute; z-index: 1; left: 23px; bottom: 18px; display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid #f0d6a698; border-radius: 50%; background: #13271b8c; backdrop-filter: blur(8px); color: #f7dba9; font: 400 31px/1 Gloock,serif; box-shadow: inset 0 0 0 4px #f1ddb110; }
.hbt-site #hbt-mike-approach .hbt-plan-paper { padding: 26px 25px 23px; border-radius: 0 0 20px 20px; background: linear-gradient(125deg,#fffcf5,#f3ecde); }
.hbt-site #hbt-mike-approach .hbt-plan-paper h3 { color: #293f31; font-size: 27px; line-height: 1.2; min-height: 65px; margin-bottom: 15px; }
.hbt-site #hbt-mike-approach .hbt-plan-paper p { color: #4d5e4e; font-size: 15px; line-height: 1.85; min-height: 84px; margin: 0 0 20px; }
.hbt-site #hbt-mike-approach .hbt-plan-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 56px; padding-top: 15px; border-top: 1px solid #cbbc9e; color: #34523b; font-size: 12px; font-weight: 600; }
.hbt-site #hbt-mike-approach .hbt-plan-link>span { display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 35px; border: 1px solid #c4ab7d; border-radius: 50%; background: #ede1c8; transition: background .3s,transform .3s; }
.hbt-site #hbt-mike-approach .hbt-plan-link svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.hbt-site #hbt-mike-approach .hbt-plan-link:focus-visible { outline: 3px solid #9a713b; outline-offset: 5px; border-radius: 4px; }
@media (hover: hover) and (pointer: fine) {
  .hbt-site #hbt-mike-approach .hbt-plan-step:hover { transform: translateY(-6px); box-shadow: 0 24px 44px #06120e75; }
  .hbt-site #hbt-mike-approach .hbt-plan-step:hover .hbt-plan-photo>img { transform: scale(1.045); }
  .hbt-site #hbt-mike-approach .hbt-plan-link:hover>span { background: #e5d1aa; transform: translateX(2px); }
}
.hbt-site.hbt-about-page .hbt-gallery-tile:focus-visible { outline: 3px solid #9a723f; outline-offset: 5px; }
@media (max-width: 1000px) {
  .hbt-site #hbt-mike-story { gap: 37px; }
  .hbt-site #hbt-mike-story h2 { font-size: 39px; }
  .hbt-site #hbt-mike-story .hbt-mike-story-copy>p { font-size: 15px; }
  .hbt-site #hbt-mike-story .hbt-mike-story-copy>.hbt-lead { font-size: 19px; }
  .hbt-site .hbt-mike-heritage { padding: 17px 18px 21px; }
  .hbt-site #hbt-mike-approach .hbt-approach-grid { gap: 20px; }
  .hbt-site #hbt-mike-approach .hbt-plan-paper { padding: 24px 19px 21px; }
  .hbt-site #hbt-mike-approach .hbt-plan-paper h3 { font-size: 25px; }
}
@media (max-width: 700px) {
  .hbt-site #hbt-mike-story { grid-template-columns: 1fr; gap: 35px; padding-inline: 8px; }
  .hbt-site #hbt-mike-story::before { inset: 38px -6px; border-radius: 24px; }
  .hbt-site #hbt-mike-story h2 { font-size: 37px; line-height: 1.13; }
  .hbt-site #hbt-mike-story .hbt-mike-portrait { border-width: 5px; border-radius: 19px 19px 49px 19px; }
  .hbt-site #hbt-mike-story .hbt-gallery-caption { padding: 55px 16px 16px; font-size: 11px; }
  .hbt-site #hbt-mike-story .hbt-signature { font-size: 29px; margin-top: 23px; }
  .hbt-site #hbt-mike-story .hbt-mike-story-copy { padding-top: 25px; border-top: 1px solid #dac9ad; }
  .hbt-site #hbt-mike-story .hbt-mike-story-copy>p { font-size: 15px; line-height: 1.9; }
  .hbt-site #hbt-mike-story .hbt-mike-story-copy>.hbt-lead { font-size: 19px; line-height: 1.7; }
  .hbt-site .hbt-mike-heritage { display: block; padding: 16px 15px 21px; }
  .hbt-heritage-heading { gap: 12px; margin-bottom: 14px; }
  .hbt-site #hbt-mike-story .hbt-mike-heritage h3 { font-size: 28px; margin: 22px 0 11px; }
  .hbt-site #hbt-mike-story .hbt-mike-heritage>p { font-size: 12px; }
  .hbt-site.hbt-about-page #hbt-mike-album { margin-top: 0; }
  .hbt-site #hbt-mike-approach { margin-block: 70px; padding-block: 64px 76px; }
  .hbt-site #hbt-mike-approach .hbt-approach-grid { padding-inline: 8px; gap: 30px; margin-top: 33px; }
  .hbt-site #hbt-mike-approach .hbt-plan-step:nth-child(n) { margin-top: 0; }
  .hbt-site #hbt-mike-approach .hbt-plan-photo { height: 240px; }
  .hbt-site #hbt-mike-approach .hbt-plan-paper { padding: 26px 24px 23px; }
  .hbt-site #hbt-mike-approach .hbt-plan-paper h3 { font-size: 28px; min-height: 0; }
  .hbt-site #hbt-mike-approach .hbt-plan-paper p { min-height: 0; }
}
@media (max-width: 360px) {
  .hbt-site #hbt-mike-story h2 { font-size: 31px; }
  .hbt-site #hbt-mike-story .hbt-gallery-caption { font-size: 10px; gap: 9px; }
  .hbt-site .hbt-mike-heritage { padding-inline: 12px; }
  .hbt-site #hbt-mike-story .hbt-mike-heritage h3 { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .hbt-site #hbt-mike-approach .hbt-approach-grid article,
  .hbt-site #hbt-mike-approach .hbt-approach-grid article:hover { transition: none; transform: none; }
  .hbt-site #hbt-mike-approach .hbt-plan-step .hbt-plan-photo>img,
  .hbt-site #hbt-mike-approach .hbt-plan-step:hover .hbt-plan-photo>img,
  .hbt-site #hbt-mike-approach .hbt-plan-link>span,
  .hbt-site #hbt-mike-approach .hbt-plan-link:hover>span { transition: none; transform: none; }
}
@media print { .hbt-site #hbt-mike-approach { background: white; margin: 0; } }
