/* About page (ab) — Oakville Lock & Key design sample.
   How the business works, not a founding story. Builds on style.bl6633409c8a; new classes start with .dbeebc490d07. */

/* The phone/tablet header on this page comes from global.bl6633409c8a (one rule for every inner page). */

/* breadcrumb */
.ao713a4eca07 { min-width: 0; }
.ao713a4eca07 ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; font-size: .9375rem; color: var(--nxe12709edd1); }
.ao713a4eca07 li { display: inline-flex; align-items: center; gap: 8px; min-width: 0; overflow-wrap: anywhere; }
.ao713a4eca07 li + li::before { content: "›"; color: var(--md5339e818ff); font-weight: 600; }
.ao713a4eca07 a { display: inline-flex; align-items: center; min-height: 44px; color: var(--fyb63a49eb8b); text-decoration: underline; text-decoration-color: var(--vh5d96721d53); text-decoration-thickness: 1.5px; text-underline-offset: .22em; }
.ao713a4eca07 a:hover { color: var(--cwfed20a3d64); text-decoration-color: var(--bld0891f0652); }
.ao713a4eca07 [aria-current] { color: var(--rp53bdfc7627); font-weight: 600; }

/* ------------------------------------------------------------------ first screen: statement + overlapping pair */
.ir5a4865dc7c { padding: calc(var(--vh705b7dd6bb) + 2px) 0 clamp(48px, 7vw, 104px); overflow-x: clip; }
.jd7f11e8d361 { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.tv2b226d59f3 { min-width: 0; padding-top: 4px; }
.ao62f8ac4fb8 { display: block; font: 720 clamp(2.6rem, 1.6rem + 4.6vw, 5.4rem)/1 var(--pn8fbcc31a65); letter-spacing: -.037em; margin: 0 0 20px; }
.ly3efea11be2 { display: block; overflow: clip; padding-bottom: .07em; margin-bottom: -.07em; }
.ly3efea11be2 > span { display: block; animation: lineUp .95s var(--qsd9e10a5a8b) both; }
.lyad850e2564 > span { animation-delay: .12s; color: var(--md5339e818ff); }
.blfe4a1d1986 { font-size: 1.125rem; line-height: 1.58; color: var(--fyb63a49eb8b); max-width: 50ch; margin-bottom: 18px; }
.jd4148eb481d { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 28px; }
.fyda2e1961ff { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; font: 650 1.1875rem/1.2 var(--jde70254f02d); font-variant-numeric: tabular-nums; color: var(--rp53bdfc7627); text-decoration: none; }
.gt8baaddf3f0 { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; flex: none; color: var(--ezdd5615cfda); background: linear-gradient(180deg, var(--qs4304a32c8e), var(--mdd56d9a72f2)); box-shadow: inset 0 1px 0 rgb(255 248 222 / .7), 0 2px 6px rgb(60 40 8 / .18); }
.gt8baaddf3f0 .jdadebc66396 { width: 20px; height: 20px; }
.fyda2e1961ff > span:last-child { border-bottom: 2px solid var(--bld0891f0652); padding-bottom: 2px; }
.md888f4e02c5 { color: var(--nxe12709edd1); font-weight: 500; }
.fyda2e1961ff:hover > span:last-child { color: var(--cwfed20a3d64); }
.ezb5ee3913bf { min-width: 0; margin-top: 36px; }
.pn3a9711f9e3 .kw8b9a55636e { aspect-ratio: 5 / 4; }

/* ------------------------------------------------------------------ what stays the same: numbered principles beside an arch */
.jde7e1f58203 { background: var(--rpb8df53b9a9); overflow-x: clip; }
.vh7ecdc1b954 { display: grid; gap: 32px; }
.ble3121c2e6f { min-width: 0; }
.ux1e83b0ec63 { color: var(--fyb63a49eb8b); max-width: 46ch; }
.tve5b1a213c5 { margin-top: 8px; aspect-ratio: 5 / 4; border-radius: 999px 999px var(--db7a1024246a) var(--db7a1024246a); overflow: hidden; background: var(--vhd49e52d0f2); }
.tve5b1a213c5 img { width: 100%; height: 100%; object-fit: cover; }
.pn6fd41b0ee9 { min-width: 0; border-top: 1.5px solid var(--rp53bdfc7627); }
.kw04ba802a9f { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 14px; padding: 22px 0 8px; border-bottom: 1px solid var(--vh5d96721d53); }
.tv377b7e1f6e { margin: 0; font: 700 2.25rem/1 var(--pn8fbcc31a65); letter-spacing: -.04em; color: var(--md5339e818ff); font-variant-numeric: tabular-nums; }
.vhbae1382a1d { min-width: 0; }
.ao5d2fcb7042 { font: 700 1.375rem/1.2 var(--pn8fbcc31a65); letter-spacing: -.02em; margin: 4px 0 10px; }
.vhbae1382a1d .fyb3d62ab56f { color: var(--fyb63a49eb8b); }

/* ------------------------------------------------------------------ older hardware: the one dark band */
.db3d708cdc61 { overflow-x: clip; }
.fy89b7753396 { display: grid; gap: 40px; }
.bl47ce94c595 { position: relative; padding-bottom: 18%; min-width: 0; }
.tv20373993e3 { aspect-ratio: 4 / 3; border-radius: var(--db7a1024246a); overflow: hidden; background: var(--ezfbdf57ffaf); }
.tv20373993e3 img, .tv1ad9de3934 img { width: 100%; height: 100%; object-fit: cover; }
.nxbae7c8300f { position: absolute; right: 6%; bottom: 0; width: 40%; }
.tv1ad9de3934 { aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: var(--ezfbdf57ffaf); box-shadow: 0 0 0 6px var(--rp4effaf79e6), 0 0 0 8px var(--md8acdbed141), 0 18px 40px rgb(0 0 0 / .45); }
.pne4c6d5bd03 { min-width: 0; }
.pne4c6d5bd03 .fyb3d62ab56f { color: var(--qsecccbee115); max-width: 56ch; }
.rp5e9dc3cdf7 { color: var(--qsecccbee115); border-bottom-color: var(--md8acdbed141); }
.rp5e9dc3cdf7 .jdadebc66396 { color: var(--md8acdbed141); }
.rp5e9dc3cdf7:hover { color: var(--md8acdbed141); }

/* ------------------------------------------------------------------ how a visit goes: a numbered rail */
.mdf37c2e08f2 { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 4px 32px; margin-bottom: 28px; }
.mdf37c2e08f2 .lyca065131d2 { margin: 0; }
.kw1009f4cc1f { position: relative; display: grid; gap: 26px; padding-left: 58px; }
.kw1009f4cc1f::before { content: ""; position: absolute; left: 21px; top: 22px; bottom: 22px; width: 2px; border-radius: 2px; background: linear-gradient(180deg, var(--md8acdbed141), var(--bld0891f0652) 70%, var(--md5339e818ff)); }
.gt3a87a6b058 { position: relative; min-width: 0; }
.bl94bd7934ee {
  position: absolute; left: -58px; top: -2px;
  width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
  font: 700 .9375rem/1 var(--jde70254f02d); font-variant-numeric: tabular-nums;
  color: var(--rp53bdfc7627); background: var(--fyeccaca1aca); box-shadow: inset 0 0 0 2px var(--bld0891f0652);
}
.ir0d711c250d { font: 650 1.1875rem/1.3 var(--jde70254f02d); margin: 8px 0 6px; }
.ir0d711c250d a { text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 2px; text-underline-offset: .2em; transition: text-decoration-color .2s, color .2s; }
.ir0d711c250d a:hover { color: var(--cwfed20a3d64); text-decoration-color: var(--bld0891f0652); }
.gt3a87a6b058 p { margin: 0; color: var(--fyb63a49eb8b); }

/* ------------------------------------------------------------------ where we work */
.ezd05a4a258c { background: var(--rpb8df53b9a9); overflow-x: clip; }
.ez955ba73c0a { display: grid; gap: 32px; }
.jd5de26a08ef { aspect-ratio: 4 / 3; border-radius: var(--nxad2786e8f7); overflow: hidden; background: var(--vhd49e52d0f2); }
.jd5de26a08ef img { width: 100%; height: 100%; object-fit: cover; }
.ezfe7622bed6 { min-width: 0; }
.ezfe7622bed6 .fyb3d62ab56f { color: var(--fyb63a49eb8b); max-width: 62ch; }
.ux44e59d81d9 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 8px 0 0; border-top: 1px solid var(--vh5d96721d53); padding-top: 14px; }
.ux44e59d81d9 div { min-width: 0; display: flex; flex-direction: column; justify-content: space-between; }
.ux44e59d81d9 dt { font-size: .8125rem; line-height: 1.3; color: var(--nxe12709edd1); }
.ux44e59d81d9 dd { margin: 4px 0 0; font: 700 clamp(1.375rem, 1rem + 1.6vw, 2rem)/1 var(--pn8fbcc31a65); letter-spacing: -.02em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.db0fbc0b70da { margin: 10px 0 22px; font-size: .8125rem; color: var(--nxe12709edd1); }
.mda4fb921a43 { margin-bottom: 18px; }

/* ------------------------------------------------------------------ closing band */
.md297bc5e3d0 { padding-bottom: 56px; }
.md297bc5e3d0 .qse14920fe25 .fyb3d62ab56f { color: var(--fyb63a49eb8b); }
.md8147dc8028 { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 8px; }
.md8147dc8028 .tv77c08efe8d { font-variant-numeric: tabular-nums; }

.lyfe722b5cec .tve5b1a213c5[data-reveal].uxb56c9c751a, .lyfe722b5cec .tv20373993e3[data-reveal].uxb56c9c751a, .lyfe722b5cec .jd5de26a08ef[data-reveal].uxb56c9c751a { clip-path: inset(0 0 0 0); }
.lyfe722b5cec .tv1ad9de3934[data-reveal].uxb56c9c751a { clip-path: inset(-14px); }

/* ================================================================== ≥ 640 */
@media (min-width: 640px) {
  .kw1009f4cc1f { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-left: 0; gap: 28px 40px; }
  .kw1009f4cc1f::before { display: none; }
  .gt3a87a6b058 { padding-top: 58px; }
  .bl94bd7934ee { left: 0; top: 0; }
  .gt3a87a6b058::after { content: ""; position: absolute; left: 54px; right: 0; top: 21px; height: 2px; border-radius: 2px; background: var(--vhd49e52d0f2); }
  .ir0d711c250d { margin-top: 0; }
}

/* ================================================================== ≥ 900 */
@media (min-width: 900px) {
  .jd7f11e8d361 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(40px, 6vw, 96px); align-items: center; }
  .ao713a4eca07 { grid-column: 1 / -1; }
  .ezb5ee3913bf { margin-top: 0; }
  .pn3a9711f9e3 .kw8b9a55636e { aspect-ratio: 4 / 4.4; }
  .vh7ecdc1b954 { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(48px, 6vw, 96px); align-items: start; }
  .jda37c6b391b { position: sticky; top: 104px; }
  .tve5b1a213c5 { aspect-ratio: 4 / 4.2; max-width: 440px; }
  .kw04ba802a9f { grid-template-columns: 88px minmax(0, 1fr); gap: 20px; padding: 28px 0 14px; }
  .tv377b7e1f6e { font-size: 3rem; }
  .fy89b7753396 { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(48px, 6vw, 96px); align-items: center; }
  .ez955ba73c0a { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(48px, 6vw, 96px); align-items: center; }
  .ezfe7622bed6 { order: -1; }
  .jd5de26a08ef { aspect-ratio: 4 / 5; }
}

/* ================================================================== ≥ 1024 */
@media (min-width: 1024px) {
  .ir5a4865dc7c { padding-top: calc(var(--vh705b7dd6bb) + 8px); }
  .kw1009f4cc1f { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
  .md297bc5e3d0 { padding-bottom: 176px; }
}

/* ------------------------------------------------------------------ trust points (site-wide rules, 2026-09-27)
   Years in business (value from site content, class data-years), 24/7, and a promise already made on this page. */
.tv01fb7d1239 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 4px 0 22px; border-block: 1px solid var(--vh5d96721d53); }
.tv01fb7d1239 li { display: grid; gap: 4px; align-content: start; min-width: 0; padding: 14px 12px 14px 0; }
.tv01fb7d1239 li + li { padding-left: 14px; border-left: 1px solid var(--tv1fd35c03f8); }
.tv01fb7d1239 b { font: 700 clamp(1.25rem, 1rem + 1.2vw, 1.75rem)/1.05 var(--pn8fbcc31a65); letter-spacing: -.02em; color: var(--rp53bdfc7627); overflow-wrap: anywhere; }
.tv01fb7d1239 span:not(.gt4d25b4a536) { font-size: .875rem; line-height: 1.35; color: var(--nxe12709edd1); }
@media (max-width: 359.98px) { .tv01fb7d1239 { grid-template-columns: minmax(0, 1fr); } .tv01fb7d1239 li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--tv1fd35c03f8); } }

/* ---- no-photo variants (approved-photo swap, 2026-09-27) */
.jd7ec31a330f { display: grid; place-items: center; padding: 6% 8%; background: var(--ezfbdf57ffaf); color: var(--dbbb929ac9aa); --vhc251ea078c: var(--md8acdbed141); }
.bl47ce94c595:has(.jd7ec31a330f) { padding-bottom: 0; }
@media (min-width: 900px) { .ira3db8864eb { grid-template-columns: minmax(0, 1fr); } }
/*87a55e8fa8c8*/
