:root {
  --bls-cyan: #2dcded;
  --bls-cyan-deep: #13a3c4;
  --bls-cyan-ink: #0c7c97;
  --bls-cyan-tint: #e4f7fc;
  --bls-navy: #10344a;
  --bls-navy-deep: #0a2434;
  --bls-gold: #f2c21d;
  --bls-gold-dark: #d9a70f;
  --bls-mist: #f2f8fb;
  --bls-line: #e1e9ed;
  --bls-slate: #3c4a52;
  --bls-white: #fff;
}

body.blsrf-skin .title_outer { display: none; }
body.blsrf-skin .content > .container,
body.blsrf-skin .content > .full_width { width: 100%; }
body.blsrf-skin .content .container_inner,
body.blsrf-skin .content .full_width_inner { width: 100%; padding: 0; }
body.blsrf-skin .content { margin-top: 0; }

.blsrf,
.blsrf * { box-sizing: border-box; }

.blsrf {
  overflow: hidden;
  color: var(--bls-slate);
  background: var(--bls-white);
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.6;
}

.blsrf a { color: inherit; text-decoration: none; }
.blsrf h1,
.blsrf h2,
.blsrf h3,
.blsrf strong,
.blsrf .blsrf-button { font-family: "Archivo", system-ui, sans-serif; }
.blsrf h1,
.blsrf h2,
.blsrf h3 { color: var(--bls-navy); }
.blsrf h1 { margin: 0; font-size: clamp(42px, 5vw, 70px); font-weight: 800; letter-spacing: -.045em; line-height: 1.03; }
.blsrf h2 { margin: 0; font-size: clamp(36px, 4vw, 54px); font-weight: 800; letter-spacing: -.035em; line-height: 1.08; }
.blsrf h3 { margin: 0; font-size: 22px; font-weight: 800; line-height: 1.25; }
.blsrf p { margin: 0; }

.blsrf-section { padding: 92px max(24px, calc((100vw - 1200px) / 2)); }
.blsrf-heading { max-width: 760px; margin: 0 auto 50px; text-align: center; }
.blsrf-heading > p:last-child { margin-top: 18px; font-size: 19px; }
.blsrf-eyebrow { margin: 0 0 16px !important; color: var(--bls-cyan-ink); font: 800 13px/1.2 "Archivo", system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; }

.blsrf-button { min-height: 54px; padding: 0 26px; display: inline-flex; align-items: center; justify-content: center; border: 2px solid transparent; border-radius: 10px; font-size: 15px; font-weight: 800; transition: transform 160ms ease, background 160ms ease; }
.blsrf-button:hover { transform: translateY(-2px); }
.blsrf-button-primary { background: var(--bls-gold); color: var(--bls-navy-deep) !important; box-shadow: 0 10px 24px rgba(242, 194, 29, .28); }
.blsrf-button-primary:hover { background: var(--bls-gold-dark); }
.blsrf-button-secondary { background: var(--bls-navy); color: var(--bls-white) !important; }
.blsrf-button-ghost { border-color: rgba(255,255,255,.62); color: var(--bls-white) !important; }
.blsrf-button-ghost:hover { background: var(--bls-white); color: var(--bls-navy-deep) !important; }
.blsrf-button:focus-visible,
.blsrf a:focus-visible { outline: 3px solid var(--bls-cyan-deep); outline-offset: 3px; }

.blsrf-mobile-proof { padding: 18px 20px; display: none; align-items: center; justify-content: space-between; gap: 18px; background: var(--bls-navy-deep); color: var(--bls-white); }
.blsrf-mobile-proof a { min-height: 44px; padding: 0 14px; display: inline-flex; align-items: center; border-radius: 10px; background: var(--bls-gold); color: var(--bls-navy-deep); font-family: "Archivo", system-ui, sans-serif; font-weight: 800; white-space: nowrap; }

.blsrf-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.blsrf-service-card { min-height: 280px; padding: 30px; display: flex; flex-direction: column; border: 1px solid var(--bls-line); border-radius: 18px; background: var(--bls-mist); box-shadow: 0 3px 12px rgba(16,52,74,.07); transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; }
.blsrf-service-card:hover { transform: translateY(-3px); border-color: var(--bls-cyan-deep); box-shadow: 0 16px 36px rgba(16,52,74,.13); }
.blsrf-service-title { display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 14px; }
.blsrf-service-title span { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--bls-cyan-tint); color: var(--bls-cyan-ink); font: 800 13px/1 "Archivo", system-ui, sans-serif; }
.blsrf-service-card > p { margin: 22px 0; }
.blsrf-service-link { margin-top: auto; color: var(--bls-cyan-ink) !important; font: 800 15px/1.4 "Archivo", system-ui, sans-serif; }

.blsrf-program { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); background: var(--bls-navy-deep); }
.blsrf-program-media { min-height: 660px; }
.blsrf-program-media img { width: 100%; height: 100%; display: block; object-fit: cover; }
.blsrf-program-copy { padding: 88px clamp(38px,7vw,110px); align-self: center; color: rgba(255,255,255,.83); }
.blsrf-program-copy .blsrf-eyebrow { color: var(--bls-cyan); }
.blsrf-program-copy h2 { color: var(--bls-white); }
.blsrf-program-copy > p:not(.blsrf-eyebrow) { margin-top: 22px; font-size: 18px; }
.blsrf-program-copy ul { margin: 26px 0; padding: 0; display: grid; gap: 12px; list-style: none; }
.blsrf-program-copy li { position: relative; padding-left: 28px; font-weight: 600; }
.blsrf-program-copy li::before { content: "✓"; position: absolute; left: 0; color: var(--bls-cyan); font-weight: 800; }
.blsrf-program-offer { margin: 28px 0; display: flex; align-items: baseline; gap: 12px; }
.blsrf-program-offer span { font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.blsrf-program-offer strong { color: var(--bls-white); font-size: 34px; }

.blsrf-about { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(340px,.9fr); align-items: center; gap: 80px; background: var(--bls-mist); }
.blsrf-about-copy > p:last-child { max-width: 680px; margin-top: 22px; font-size: 18px; }
.blsrf-facts { display: grid; gap: 14px; }
.blsrf-fact { padding: 22px 24px; display: grid; gap: 4px; border: 1px solid var(--bls-line); border-radius: 16px; background: var(--bls-white); box-shadow: 0 2px 10px rgba(16,52,74,.07); }
.blsrf-fact strong { color: var(--bls-navy); font-size: 20px; }

.blsrf-quote { padding: 92px max(24px, calc((100vw - 1200px) / 2)); background: linear-gradient(90deg,rgba(6,23,34,.92),rgba(10,36,52,.64)), url("https://bearlakeservices.com/wp-content/uploads/2024/09/Bear-Essentials-Services-Contact.png") center/cover no-repeat; }
.blsrf-quote-inner { display: grid; grid-template-columns: minmax(300px,.82fr) minmax(480px,1.18fr); align-items: start; gap: clamp(42px,6vw,86px); }
.blsrf-quote-intro { padding: 34px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(6,23,34,.78); color: rgba(255,255,255,.84); box-shadow: 0 24px 56px rgba(6,23,34,.2); }
.blsrf-quote-intro .blsrf-eyebrow { color: var(--bls-cyan); }
.blsrf-quote-intro h2 { color: var(--bls-white); }
.blsrf-quote-intro > p:not(.blsrf-eyebrow) { margin-top: 20px; font-size: 18px; }
.blsrf-contact-list { margin-top: 28px; display: grid; gap: 10px; }
.blsrf-contact-list > * { min-width: 0; padding: 16px 18px; display: grid; gap: 4px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(255,255,255,.08); }
.blsrf-contact-list span { color: var(--bls-cyan); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.blsrf-contact-list strong { overflow-wrap: anywhere; color: var(--bls-white); font-size: 16px; }
.blsrf-form-shell { overflow: hidden; border: 1px solid rgba(255,255,255,.42); border-radius: 18px; background: var(--bls-white); box-shadow: 0 28px 68px rgba(6,23,34,.28); }
.blsrf-form-heading { padding: 26px 30px 20px; border-bottom: 1px solid var(--bls-line); background: var(--bls-mist); }
.blsrf-form-heading p { color: var(--bls-cyan-ink); font: 800 12px/1.2 "Archivo", system-ui, sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.blsrf-form-heading h3 { margin-top: 5px; font-size: 28px; }
.blsrf-form-frame { width: 100%; height: 1053px; display: block; border: 0; background: var(--bls-white); }

.blsrf-location { padding: 78px max(24px, calc((100vw - 1200px) / 2)) 88px; }
.blsrf-location-heading { margin-bottom: 34px; display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.blsrf-location-map { height: 360px; overflow: hidden; border: 1px solid var(--bls-line); border-radius: 18px; box-shadow: 0 18px 42px rgba(16,52,74,.12); }
.blsrf-location-map iframe { width: 100%; height: 100%; display: block; border: 0; }

.blsrf-detail-hero { min-height: 720px; padding: 72px max(24px, calc((100vw - 1200px) / 2)); display: grid; grid-template-columns: minmax(0,1.04fr) minmax(360px,.96fr); align-items: center; gap: 72px; background: radial-gradient(circle at 5% 12%,rgba(45,205,237,.14),transparent 27%),linear-gradient(135deg,#fff,var(--bls-mist)); }
.blsrf-breadcrumb { min-height: 44px; margin-bottom: 22px; display: inline-flex; align-items: center; color: var(--bls-navy) !important; font: 800 14px/1.2 "Archivo", system-ui, sans-serif; }
.blsrf-breadcrumb::before { content: "←"; margin-right: 9px; color: var(--bls-cyan-ink); }
.blsrf-hero-lede { max-width: 650px; margin-top: 24px !important; font-size: 20px; }
.blsrf-actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 14px; }
.blsrf-detail-visual { position: relative; min-width: 0; }
.blsrf-detail-accent { position: absolute; inset: -20px -22px 28px 36px; border-radius: 26px; background: linear-gradient(145deg,var(--bls-cyan),var(--bls-cyan-deep)); transform: rotate(3deg); }
.blsrf-detail-visual img { position: relative; z-index: 1; width: 100%; aspect-ratio: 4/5; display: block; border-radius: 22px; object-fit: cover; box-shadow: 0 24px 56px rgba(16,52,74,.2); }
.blsrf-promise { position: absolute; right: -26px; bottom: 34px; z-index: 2; width: min(330px,76%); padding: 20px 22px; border-radius: 16px; background: rgba(10,36,52,.96); color: var(--bls-white); box-shadow: 0 18px 42px rgba(10,36,52,.24); font: 700 18px/1.35 "Archivo", system-ui, sans-serif; }
.blsrf-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.blsrf-detail-item { padding: 28px; border: 1px solid var(--bls-line); border-radius: 16px; background: var(--bls-mist); box-shadow: 0 2px 10px rgba(16,52,74,.07); }
.blsrf-detail-item > span,
.blsrf-process-card > strong,
.blsrf-related-card > span { color: var(--bls-cyan-ink); font: 800 13px/1.2 "Archivo", system-ui, sans-serif; letter-spacing: .08em; }
.blsrf-detail-item h3,
.blsrf-process-card h3,
.blsrf-related-card h3 { margin: 14px 0 10px; }
.blsrf-process { padding: 92px max(24px, calc((100vw - 1200px) / 2)); background: var(--bls-mist); }
.blsrf-process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.blsrf-process-card { padding: 30px; border-top: 4px solid var(--bls-cyan); border-radius: 0 0 16px 16px; background: var(--bls-white); box-shadow: 0 12px 30px rgba(16,52,74,.1); }
.blsrf-related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.blsrf-related-card { min-height: 280px; padding: 28px; display: flex; flex-direction: column; border: 1px solid var(--bls-line); border-radius: 16px; background: var(--bls-mist); transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; }
.blsrf-related-card > strong { margin-top: auto; padding-top: 22px; color: var(--bls-cyan-ink); }
.blsrf-related-card:hover { transform: translateY(-2px); border-color: var(--bls-cyan-deep); box-shadow: 0 12px 30px rgba(16,52,74,.12); }
.blsrf-service-cta { padding: 92px max(24px, calc((100vw - 1200px) / 2)); display: grid; grid-template-columns: minmax(0,1.1fr) minmax(340px,.9fr); align-items: center; gap: 72px; background: radial-gradient(circle at 90% 10%,rgba(45,205,237,.18),transparent 30%),linear-gradient(135deg,var(--bls-navy-deep),var(--bls-navy)); color: rgba(255,255,255,.82); }
.blsrf-service-cta .blsrf-eyebrow { color: var(--bls-cyan); }
.blsrf-service-cta h2 { color: var(--bls-white); }
.blsrf-service-cta > div > p:not(.blsrf-eyebrow) { margin-top: 20px; font-size: 19px; }
.blsrf-contact-actions { display: grid; gap: 14px; }

@media (max-width: 900px) {
  .blsrf-service-grid,
  .blsrf-program,
  .blsrf-about,
  .blsrf-quote-inner,
  .blsrf-detail-hero,
  .blsrf-service-cta { grid-template-columns: 1fr; }
  .blsrf-detail-grid,
  .blsrf-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .blsrf-program-media { min-height: 450px; }
  .blsrf-about,
  .blsrf-quote-inner,
  .blsrf-service-cta { gap: 46px; }
  .blsrf-detail-hero { min-height: auto; }
  .blsrf-detail-visual { width: min(680px,92%); justify-self: center; }
  .blsrf-detail-visual img { aspect-ratio: 16/11; }
}

@media (max-width: 560px) {
  .blsrf { font-size: 16px; }
  .blsrf-mobile-proof { display: flex; }
  .blsrf-section,
  .blsrf-process,
  .blsrf-service-cta { padding: 64px 20px; }
  .blsrf h1 { font-size: clamp(38px,12vw,50px); }
  .blsrf h2 { font-size: 36px; }
  .blsrf-heading { margin-bottom: 34px; text-align: left; }
  .blsrf-service-grid,
  .blsrf-detail-grid,
  .blsrf-process-grid,
  .blsrf-related-grid { grid-template-columns: 1fr; }
  .blsrf-service-card { min-height: 0; padding: 22px; }
  .blsrf-program-media { min-height: 330px; }
  .blsrf-program-copy { padding: 58px 20px 64px; }
  .blsrf-program-offer { display: grid; gap: 4px; }
  .blsrf-button { width: 100%; min-height: 56px; }
  .blsrf-about,
  .blsrf-quote,
  .blsrf-location,
  .blsrf-detail-hero { padding: 64px 20px; }
  .blsrf-about,
  .blsrf-quote-inner,
  .blsrf-service-cta { gap: 34px; }
  .blsrf-quote-intro { padding: 24px 20px; }
  .blsrf-form-heading { padding: 22px 20px 18px; }
  .blsrf-form-frame { min-height: 1120px; }
  .blsrf-location-heading { display: grid; align-items: start; }
  .blsrf-location-map { height: 320px; }
  .blsrf-actions { display: grid; }
  .blsrf-detail-hero { gap: 46px; }
  .blsrf-detail-visual { width: calc(100% - 18px); }
  .blsrf-detail-accent { inset: -12px -10px 16px 18px; }
  .blsrf-detail-visual img { aspect-ratio: 4/3; border-radius: 16px; }
  .blsrf-promise { right: -10px; bottom: 16px; padding: 14px 16px; font-size: 15px; }
  .blsrf-detail-item,
  .blsrf-process-card,
  .blsrf-related-card { padding: 22px; }
  .blsrf-related-card { min-height: 240px; }
}

@media (prefers-reduced-motion: reduce) {
  .blsrf *,
  .blsrf *::before,
  .blsrf *::after { scroll-behavior: auto !important; transition: none !important; }
}