:root {
  --bcp-dark: #26372f;
  --bcp-green: #315e49;
  --bcp-green-soft: #dfe9e2;
  --bcp-cream: #f7f5ef;
  --bcp-beige: #eee7da;
  --bcp-gold: #7f5c2b;
  --bcp-navy: #34434a;
}

.bcp-page { overflow: clip; color: #252a26; background: #fff; }
.bcp-container { width: min(1160px, calc(100% - 64px)); margin-inline: auto; }
.bcp-section { padding: 96px 0; }
.bcp-section.is-ivory { background: var(--bcp-cream); }
.bcp-heading { max-width: 850px; margin: 0 auto 48px; text-align: center; }
.bcp-eyebrow { margin: 0 0 11px; color: var(--bcp-gold); font-family: Georgia, serif; font-size: 12px; font-weight: 700; letter-spacing: .23em; }
.bcp-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(31px, 3.4vw, 45px); font-weight: 600; line-height: 1.55; letter-spacing: .045em; }
.bcp-heading > p:last-child { margin: 19px 0 0; color: #454d46; font-size: 16px; line-height: 2; }
.bcp-button { min-height: 64px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 15px 29px; color: #fff; background: var(--bcp-green); border: 1px solid var(--bcp-green); border-radius: 7px; box-shadow: 0 10px 24px rgba(49,94,73,.2); font-size: 16px; font-weight: 700; line-height: 1.35; transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.bcp-button:hover { background: #274d3b; box-shadow: 0 13px 28px rgba(49,94,73,.27); transform: translateY(-2px); }

.bcp-hero { overflow: hidden; background: linear-gradient(108deg, #f3eee5 0%, #f7f5f0 61%, #ede9df 100%); border-bottom: 1px solid #ded8cc; }
.bcp-hero-inner { min-height: 680px; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr); align-items: center; gap: 54px; padding-block: 70px; }
.bcp-hero-copy { position: relative; z-index: 2; }
.bcp-breadcrumb { margin: 0 0 36px; color: #535b54; font-size: 13px; font-weight: 600; }
.bcp-breadcrumb a:hover { color: var(--bcp-gold); }
.bcp-hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(47px, 4.9vw, 66px); font-weight: 500; line-height: 1.4; letter-spacing: .025em; }
.bcp-hero-lead { max-width: 640px; margin: 25px 0 0; color: #3d4640; font-size: 17px; font-weight: 600; line-height: 2; }
.bcp-hero-facts { display: grid; grid-template-columns: 1.25fr .75fr; margin: 31px 0 28px; padding: 19px 0; border-top: 1px solid #d5ccbc; border-bottom: 1px solid #d5ccbc; }
.bcp-hero-facts > div { padding: 0 22px; border-right: 1px solid #d5ccbc; }
.bcp-hero-facts > div:first-child { padding-left: 0; }
.bcp-hero-facts > div:last-child { border-right: 0; }
.bcp-hero-facts span { display: block; color: #505851; font-size: 12px; font-weight: 700; }
.bcp-hero-facts strong { display: block; margin-top: 4px; color: var(--bcp-gold); font-family: var(--serif); font-size: clamp(23px, 2.3vw, 31px); }
.bcp-hero-visual { position: relative; margin: 0; }
.bcp-hero-visual::before { content: ""; position: absolute; inset: -18px 22px 18px -18px; border: 1px solid rgba(155,118,64,.31); }
.bcp-hero-visual img { position: relative; z-index: 1; width: 100%; aspect-ratio: 795 / 941; display: block; object-fit: cover; object-position: center; box-shadow: 0 20px 48px rgba(45,48,43,.14); }
.bcp-hero-visual figcaption { position: absolute; z-index: 2; right: -18px; bottom: 27px; width: 265px; padding: 19px 21px; color: #fff; background: rgba(38,55,47,.96); box-shadow: 0 10px 28px rgba(31,38,34,.22); }
.bcp-hero-visual figcaption span { display: block; color: #ead4aa; font: 11px/1.4 Georgia, serif; letter-spacing: .15em; }
.bcp-hero-visual figcaption strong { display: block; margin-top: 6px; font-family: var(--serif); font-size: 16px; line-height: 1.7; }

.bcp-problem-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.bcp-problem-card { min-height: 285px; padding: 30px 25px; background: #fff; border: 1px solid #ddd8ce; border-radius: 12px; box-shadow: 0 8px 24px rgba(54,47,36,.04); }
.bcp-problem-card > span { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 22px; color: var(--bcp-gold); background: #f1ece2; border-radius: 50%; font: 14px/1 Georgia, serif; }
.bcp-problem-card h3 { margin: 0 0 13px; font-family: var(--serif); font-size: 19px; line-height: 1.65; }
.bcp-problem-card p { margin: 0; color: #454d46; font-size: 15px; line-height: 1.95; }
.bcp-problem-answer { margin: 34px 0 0; padding: 26px 30px; color: #fff; background: var(--bcp-dark); text-align: center; font-family: var(--serif); font-size: 20px; line-height: 1.8; }
.bcp-problem-answer strong { color: #ead2a5; font-size: 24px; }

.bcp-about-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 70px; align-items: center; }
.bcp-about-badge { min-height: 365px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 42px; color: #fff; background: var(--bcp-green); text-align: center; border-radius: 50% 50% 8px 8px; box-shadow: 0 20px 45px rgba(49,94,73,.16); }
.bcp-about-badge span { font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.bcp-about-badge strong { margin: 14px 0; font-family: var(--serif); font-size: 38px; font-weight: 500; }
.bcp-about-badge small { padding-top: 15px; border-top: 1px solid rgba(255,255,255,.34); font-size: 13px; line-height: 1.8; }
.bcp-about-copy h2 { margin: 0; font-family: var(--serif); font-size: clamp(32px, 3.4vw, 45px); line-height: 1.55; }
.bcp-about-copy h3 { margin: 25px 0 15px; color: var(--bcp-green); font-family: var(--serif); font-size: 22px; }
.bcp-about-copy p { margin: 0 0 16px; color: #505852; font-size: 15px; line-height: 2; }
.bcp-about-copy strong { color: var(--bcp-green); }

.bcp-comparison-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 19px; }
.bcp-comparison-card { min-height: 290px; padding: 36px 34px; border: 1px solid #d9d6cf; border-radius: 12px; }
.bcp-comparison-card > span { color: var(--bcp-gold); font: 700 12px/1.2 Georgia, serif; letter-spacing: .15em; }
.bcp-comparison-card h3 { margin: 24px 0 18px; font-family: var(--serif); font-size: 25px; }
.bcp-comparison-card p { margin: 0; color: #444c46; font-size: 15px; line-height: 2; }
.bcp-comparison-card.is-accent { color: #fff; background: var(--bcp-navy); border-color: var(--bcp-navy); }
.bcp-comparison-card.is-accent p { color: #e0e5e2; }
.bcp-comparison-card.is-accent > span { color: #e0c591; }
.bcp-comparison-note { margin: 24px 0 0; color: var(--bcp-green); text-align: center; font-family: var(--serif); font-size: 21px; font-weight: 700; }

.bcp-plan-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.bcp-plan-card { min-height: 320px; padding: 29px 25px; background: #fff; border: 1px solid #ded9d0; border-radius: 11px; }
.bcp-plan-letter { width: 54px; height: 54px; display: grid; place-items: center; color: #fff; background: var(--bcp-green); border-radius: 50%; font-family: var(--serif); font-size: 22px; }
.bcp-plan-card h3 { margin: 21px 0 15px; font-family: var(--serif); font-size: 23px; }
.bcp-plan-card ul { margin: 0; padding: 0; list-style: none; }
.bcp-plan-card li { position: relative; padding: 9px 0 9px 18px; color: #424a44; border-bottom: 1px solid #e5e0d7; font-size: 15px; line-height: 1.7; }
.bcp-plan-card li::before { content: ""; position: absolute; top: 18px; left: 0; width: 6px; height: 6px; background: var(--bcp-gold); border-radius: 50%; }

.bcp-merit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bcp-merit-card { min-height: 255px; padding: 32px; background: #fff; border: 1px solid #ddd8ce; border-radius: 11px; }
.bcp-merit-card > span { color: var(--bcp-gold); font: 700 14px/1.2 Georgia, serif; letter-spacing: .12em; }
.bcp-merit-card h3 { margin: 17px 0 13px; font-family: var(--serif); font-size: 22px; }
.bcp-merit-card p { margin: 0; color: #444c46; font-size: 15px; line-height: 1.95; }
.bcp-merit-card small { display: block; margin-top: 17px; padding-top: 14px; color: #504027; border-top: 1px solid #d6cdbf; font-size: 14px; font-weight: 700; line-height: 1.8; }

.bcp-equipment-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.bcp-equipment-card { min-height: 155px; padding: 27px; background: #fff; border: 1px solid #ddd8ce; border-radius: 10px; }
.bcp-equipment-card span { color: var(--bcp-gold); font: 12px/1 Georgia, serif; }
.bcp-equipment-card h3 { margin: 21px 0 0; font-family: var(--serif); font-size: 20px; }
.bcp-section-note { margin: 27px 0 0; padding: 17px 20px; color: #504027; background: #f1e9db; border: 1px solid #d4c09e; text-align: center; font-size: 14px; font-weight: 700; line-height: 1.9; }

.bcp-before-flow { display: grid; grid-template-columns: repeat(7, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.bcp-before-flow li { position: relative; min-height: 145px; display: flex; flex-direction: column; justify-content: center; padding: 19px 16px; background: #fff; border: 1px solid #ddd8ce; text-align: center; }
.bcp-before-flow li:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; top: 50%; right: -20px; width: 28px; height: 28px; display: grid; place-items: center; color: var(--bcp-gold); background: #fff; border-radius: 50%; transform: translateY(-50%); }
.bcp-before-flow span { color: var(--bcp-gold); font: 700 14px/1.2 Georgia, serif; letter-spacing: .08em; }
.bcp-before-flow strong { margin-top: 13px; font-size: 15px; line-height: 1.75; }
.bcp-before-message { margin-top: 32px; padding: 33px; color: #fff; background: var(--bcp-dark); text-align: center; }
.bcp-before-message p { margin: 0; font-family: var(--serif); font-size: 25px; line-height: 1.8; }
.bcp-before-message strong { color: #ead2a5; font-size: 31px; }

.bcp-support { padding: 96px 0; color: #fff; background: var(--bcp-navy); }
.bcp-support-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 75px; align-items: center; }
.bcp-support-copy h2 { margin: 0; font-family: var(--serif); font-size: clamp(32px, 3.8vw, 47px); font-weight: 500; line-height: 1.55; }
.bcp-support-copy > p:last-of-type { margin: 20px 0; color: #e0e5e2; font-size: 15px; line-height: 2; }
.bcp-support-copy ul { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 24px 0 0; padding: 0; list-style: none; }
.bcp-support-copy li { position: relative; padding: 11px 13px 11px 31px; background: rgba(255,255,255,.1); font-size: 14px; line-height: 1.7; }
.bcp-support .bcp-eyebrow, .bcp-practical .bcp-eyebrow, .bcp-cta .bcp-eyebrow, .bcp-heading.is-light .bcp-eyebrow { color: #efd7aa; }
.bcp-support-copy li::before { content: "✓"; position: absolute; left: 11px; color: #e2c690; }
.bcp-support-price { padding: 40px; color: #27332d; background: #fff; border-radius: 13px; text-align: center; box-shadow: 0 20px 44px rgba(18,24,21,.18); }
.bcp-support-price > span { display: inline-flex; padding: 5px 13px; color: #fff; background: var(--bcp-green); border-radius: 999px; font-size: 11px; font-weight: 700; }
.bcp-support-price p { margin: 21px 0 3px; font-family: var(--serif); font-size: 20px; }
.bcp-support-price strong { display: block; color: var(--bcp-gold); font-family: var(--serif); font-size: 51px; line-height: 1.35; }
.bcp-support-price strong small { font-size: 18px; }
.bcp-support-price em { display: block; margin: 8px 0 23px; font-style: normal; font-weight: 800; }
.bcp-support-price .bcp-button { width: 100%; }

.bcp-option-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.bcp-option-card { min-height: 320px; padding: 35px; background: #fff; border: 1px solid #d8d1c5; border-top: 4px solid var(--bcp-gold); border-radius: 10px; }
.bcp-option-card > span { color: var(--bcp-gold); font: 11px/1 Georgia, serif; letter-spacing: .15em; }
.bcp-option-card h3 { margin: 20px 0 3px; font-family: var(--serif); font-size: 26px; }
.bcp-option-card strong { color: var(--bcp-green); font-family: var(--serif); font-size: 39px; }
.bcp-option-card p { margin: 13px 0 19px; color: #434b45; font-size: 15px; line-height: 1.95; }
.bcp-option-card em { display: inline-flex; padding: 6px 12px; color: #60491f; background: #f1e8d7; border-radius: 999px; font-size: 12px; font-style: normal; font-weight: 800; }
.bcp-option-note { margin: 22px 0 0; color: #454b46; text-align: center; font-size: 14px; line-height: 1.85; }

.bcp-insurance-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.bcp-insurance-copy h2 { margin: 0; font-family: var(--serif); font-size: clamp(32px, 3.7vw, 46px); line-height: 1.55; }
.bcp-insurance-copy p { margin: 19px 0 0; color: #434b45; font-size: 15px; line-height: 2; }
.bcp-insurance-copy small { display: block; margin-top: 18px; padding: 14px 16px; color: #504027; background: #f2ebdf; font-size: 14px; font-weight: 700; line-height: 1.8; }
.bcp-insurance-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; padding: 30px; background: var(--bcp-cream); list-style: none; border: 1px solid #ded8ce; }
.bcp-insurance-list li { position: relative; min-height: 70px; display: flex; align-items: center; padding: 15px 15px 15px 43px; background: #fff; font-family: var(--serif); font-size: 16px; font-weight: 700; }
.bcp-insurance-list li::before { content: "✓"; position: absolute; left: 17px; color: var(--bcp-gold); }

.bcp-practical { padding: 96px 0; color: #fff; background: var(--bcp-dark); }
.bcp-heading.is-light h2 { color: #fff; }
.bcp-heading.is-light > p:last-child { color: #dfe5e1; }
.bcp-practical-grid { display: grid; grid-template-columns: 1fr 56px 1fr 56px 1fr; align-items: center; }
.bcp-practical-grid article { min-height: 245px; display: flex; flex-direction: column; justify-content: center; padding: 30px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.055); text-align: center; }
.bcp-practical-grid article:first-child { background: #fff; }
.bcp-practical-grid article:first-child span, .bcp-practical-grid article:first-child p { color: #505852; }
.bcp-practical-grid article:first-child strong { color: var(--bcp-green); }
.bcp-practical-grid article span { color: #ead4aa; font-size: 12px; font-weight: 700; }
.bcp-practical-grid article strong { margin: 11px 0; font-family: var(--serif); font-size: 39px; }
.bcp-practical-grid article p { margin: 0; color: #edf1ee; font-size: 14px; line-height: 1.85; }
.bcp-practical-grid > i { text-align: center; color: #d7b97e; font-family: var(--serif); font-size: 31px; font-style: normal; }

.bcp-reason-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bcp-reason-card { min-height: 220px; display: grid; grid-template-columns: 58px 1fr; gap: 21px; padding: 31px; border: 1px solid #ddd8ce; border-radius: 11px; }
.bcp-reason-card > span { grid-row: 1 / span 2; color: var(--bcp-gold); font: 27px/1 Georgia, serif; }
.bcp-reason-card h3 { grid-column: 2; margin: 0 0 12px; font-family: var(--serif); font-size: 21px; line-height: 1.65; }
.bcp-reason-card p { grid-column: 2; margin: 0; color: #454d47; font-size: 15px; line-height: 1.95; }

.bcp-flow-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 0; padding: 0; list-style: none; }
.bcp-flow-step { position: relative; min-height: 190px; padding: 29px 24px; background: #fff; border: 1px solid #ddd8ce; border-radius: 10px; }
.bcp-flow-step:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; top: 50%; right: -22px; width: 30px; height: 30px; display: grid; place-items: center; color: var(--bcp-gold); background: var(--bcp-cream); border-radius: 50%; transform: translateY(-50%); }
.bcp-flow-step:nth-child(4)::after { display: none; }
.bcp-flow-step span { color: var(--bcp-gold); font: 12px/1 Georgia, serif; letter-spacing: .1em; }
.bcp-flow-step h3 { margin: 25px 0 0; font-family: var(--serif); font-size: 19px; line-height: 1.65; }
.bcp-flow-step p { margin: 11px 0 0; color: #464e48; font-size: 14px; line-height: 1.75; }
.bcp-flow-step.is-option { color: #fff; background: var(--bcp-green); border-color: var(--bcp-green); }
.bcp-flow-step.is-option span { color: #ead2a5; }
.bcp-flow-step.is-option p { color: #e2e9e4; }

.bcp-notice-grid { display: grid; gap: 10px; }
.bcp-notice-card { display: grid; grid-template-columns: 45px 1fr; gap: 19px; padding: 25px 28px; background: #fff; border: 1px solid #ddd8ce; border-radius: 9px; }
.bcp-notice-card > span { width: 36px; height: 36px; display: grid; place-items: center; color: var(--bcp-gold); border: 1px solid #c8aa78; border-radius: 50%; font: 15px/1 Georgia, serif; }
.bcp-notice-card h3 { margin: 0 0 7px; font-family: var(--serif); font-size: 19px; }
.bcp-notice-card p { margin: 0; color: #454d47; font-size: 15px; line-height: 1.9; }

.bcp-faq-list { display: grid; gap: 10px; }
.bcp-faq details { overflow: hidden; background: #fff; border: 1px solid #ddd8ce; border-radius: 10px; }
.bcp-faq summary { min-height: 74px; display: grid; grid-template-columns: 38px 1fr 24px; align-items: center; gap: 18px; padding: 10px 24px; cursor: pointer; list-style: none; font-size: 16px; font-weight: 700; line-height: 1.65; }
.bcp-faq summary::-webkit-details-marker { display: none; }
.bcp-faq summary::after { content: "+"; color: var(--bcp-gold); font: 24px/1 Georgia, serif; }
.bcp-faq details[open] summary::after { content: "−"; }
.bcp-faq-q { width: 36px; height: 36px; display: grid; place-items: center; color: var(--bcp-gold); border: 1px solid var(--bcp-gold); border-radius: 50%; font: 18px/1 Georgia, serif; }
.bcp-faq-answer { margin: 1px 58px 0 80px; color: #414943; font-size: 15px; line-height: 1.95; }
.bcp-problem-card p, .bcp-comparison-card p, .bcp-plan-card li, .bcp-merit-card p, .bcp-option-card p, .bcp-insurance-copy p, .bcp-practical-grid article p, .bcp-reason-card p, .bcp-flow-step p, .bcp-notice-card p, .bcp-faq-answer { font-weight: 500; }
.bcp-faq-answer > div { padding-bottom: 20px; }

.bcp-cta { position: relative; overflow: hidden; padding: 96px 0 110px; color: #fff; background: var(--bcp-dark); }
.bcp-cta::after { content: ""; position: absolute; right: -180px; top: -240px; width: 510px; height: 510px; border: 1px solid rgba(213,188,141,.18); border-radius: 50%; box-shadow: 0 0 0 62px rgba(213,188,141,.035); }
.bcp-cta > .bcp-container { position: relative; z-index: 1; }
.bcp-cta-heading { max-width: 850px; margin: 0 auto; text-align: center; }
.bcp-cta-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(35px, 4.2vw, 52px); font-weight: 500; line-height: 1.55; }
.bcp-cta-heading > p:last-child { margin: 21px 0 0; color: #dfe5e1; font-size: 15px; line-height: 2; }
.bcp-cta-summary { max-width: 850px; display: grid; grid-template-columns: 1.1fr .9fr auto; gap: 25px; align-items: center; margin: 35px auto 50px; padding: 27px 30px; background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.19); }
.bcp-cta-summary > div span { display: block; color: #dfe5e1; font-size: 12px; }
.bcp-cta-summary > div strong { color: #ead2a5; font-family: var(--serif); font-size: 35px; }
.bcp-cta-summary > div small { font-size: 14px; }
.bcp-cta-summary ul { margin: 0; padding: 0; list-style: none; }
.bcp-cta-summary li { display: flex; gap: 8px; align-items: center; font-size: 14px; line-height: 1.7; }
.bcp-cta-summary li b { color: #ead2a5; }
.bcp-cta-summary li small { padding: 2px 6px; color: #354239; background: #e8e2d6; border-radius: 999px; font-size: 9px; }
.bcp-cta-summary > em { padding: 8px 13px; color: #29352f; background: #ead2a5; border-radius: 999px; font-size: 12px; font-style: normal; font-weight: 800; white-space: nowrap; }
.bcp-contact-card { max-width: 970px; margin-inline: auto; padding: 48px 55px 55px; color: #283029; background: #fff; box-shadow: 0 24px 56px rgba(15,22,18,.2); }
.bcp-contact-card > header { margin-bottom: 31px; text-align: center; }
.bcp-contact-card > header p { margin: 0; color: var(--bcp-gold); font: 11px/1 Georgia, serif; letter-spacing: .18em; }
.bcp-contact-card > header h3 { margin: 12px 0 8px; font-family: var(--serif); font-size: 31px; }
.bcp-contact-card > header span { color: #4f5650; font-size: 13px; }
.bcp-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 21px 18px; }
.bcp-form-field { display: grid; gap: 8px; font-size: 14px; font-weight: 700; }
.bcp-form-field.is-wide { grid-column: 1 / -1; }
.bcp-form-field > span b { margin-left: 6px; color: #fff; background: #92644f; padding: 3px 6px; font-size: 9px; }
.bcp-form-field input, .bcp-form-field select, .bcp-form-field textarea,
.bcp-contact-card .wpcf7 input:not([type="submit"]):not([type="checkbox"]), .bcp-contact-card .wpcf7 select, .bcp-contact-card .wpcf7 textarea { width: 100%; min-height: 55px; padding: 12px 14px; color: #283029; background: #fbfbf8; border: 1px solid #d5d3cc; border-radius: 0; font: inherit; }
.bcp-form-field textarea, .bcp-contact-card .wpcf7 textarea { min-height: 145px; resize: vertical; }
.bcp-contact-card .privacy-consent { color: #464d47; }
.bcp-contact-card .contact-submit, .bcp-contact-card .wpcf7-submit { width: min(100%, 460px); }
.bcp-page .mobile-contact-bar { grid-template-columns: 1fr; }

.is-reveal-ready .reveal { opacity: 0; transform: translateY(18px); transition: opacity .52s ease, transform .52s cubic-bezier(.22,1,.36,1); }
.is-reveal-ready .reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (hover: hover) {
  .bcp-problem-card, .bcp-plan-card, .bcp-merit-card, .bcp-equipment-card, .bcp-option-card, .bcp-reason-card, .bcp-flow-step { transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
  .bcp-problem-card:hover, .bcp-plan-card:hover, .bcp-merit-card:hover, .bcp-equipment-card:hover, .bcp-option-card:hover, .bcp-reason-card:hover, .bcp-flow-step:hover { border-color: #c7bca9; box-shadow: 0 13px 30px rgba(54,47,36,.07); transform: translateY(-3px); }
}

@media (max-width: 1024px) {
  .bcp-hero-inner { grid-template-columns: 1.05fr .95fr; gap: 35px; }
  .bcp-hero h1 { font-size: clamp(40px, 5.1vw, 53px); }
  .bcp-problem-grid, .bcp-plan-grid { grid-template-columns: 1fr 1fr; }
  .bcp-equipment-grid { grid-template-columns: 1fr 1fr 1fr; }
  .bcp-before-flow { grid-template-columns: repeat(4, 1fr); }
  .bcp-before-flow li:nth-child(4)::after { display: none; }
  .bcp-flow-grid { grid-template-columns: 1fr 1fr; }
  .bcp-flow-step:nth-child(2n)::after { display: none; }
}

@media (max-width: 760px) {
  .bcp-container { width: min(100% - 32px, 620px); }
  .bcp-section { padding: 61px 0; }
  .bcp-heading { margin-bottom: 31px; text-align: left; }
  .bcp-heading h2 { font-size: 29px; line-height: 1.6; }
  .bcp-heading > p:last-child { margin-top: 13px; font-size: 15px; line-height: 1.95; }
  .bcp-button { width: 100%; min-height: 59px; padding: 13px 18px; font-size: 14px; }
  .bcp-hero-inner { min-height: 0; grid-template-columns: 1fr; gap: 38px; padding-block: 48px 60px; }
  .bcp-breadcrumb { margin-bottom: 28px; font-size: 11px; }
  .bcp-hero h1 { font-size: clamp(36px, 10.3vw, 44px); line-height: 1.45; }
  .bcp-hero-lead { margin-top: 19px; font-size: 15px; line-height: 1.95; }
  .bcp-hero-facts { margin: 24px 0 22px; }
  .bcp-hero-facts > div { padding-inline: 12px; }
  .bcp-hero-facts span { font-size: 11px; }
  .bcp-hero-facts strong { font-size: 21px; }
  .bcp-hero-visual { width: calc(100% - 16px); margin-left: 16px; }
  .bcp-hero-visual img { aspect-ratio: 795 / 941; }
  .bcp-hero-visual figcaption { right: -8px; bottom: 18px; width: 220px; padding: 15px 17px; }
  .bcp-hero-visual figcaption strong { font-size: 13px; }
  .bcp-problem-grid, .bcp-comparison-grid, .bcp-plan-grid, .bcp-merit-grid, .bcp-equipment-grid, .bcp-option-grid, .bcp-reason-grid, .bcp-flow-grid { grid-template-columns: 1fr; }
  .bcp-problem-card, .bcp-plan-card, .bcp-merit-card, .bcp-equipment-card, .bcp-option-card, .bcp-reason-card, .bcp-flow-step { min-height: 0; }
  .bcp-problem-answer { padding: 23px 18px; font-size: 16px; }
  .bcp-problem-answer strong { font-size: 20px; }
  .bcp-about-layout, .bcp-support-layout, .bcp-insurance-layout { grid-template-columns: 1fr; gap: 35px; }
  .bcp-about-badge { min-height: 280px; padding: 30px; border-radius: 140px 140px 8px 8px; }
  .bcp-about-badge strong { font-size: 31px; }
  .bcp-about-copy h2, .bcp-support-copy h2, .bcp-insurance-copy h2 { font-size: 30px; }
  .bcp-comparison-card { min-height: 0; padding: 27px 23px; }
  .bcp-comparison-card h3 { font-size: 21px; }
  .bcp-comparison-note { font-size: 17px; text-align: left; }
  .bcp-plan-card, .bcp-merit-card, .bcp-option-card { padding: 27px 23px; }
  .bcp-equipment-card { padding: 23px; }
  .bcp-section-note { text-align: left; }
  .bcp-before-flow { grid-template-columns: 1fr; gap: 10px; }
  .bcp-before-flow li { min-height: 105px; }
  .bcp-before-flow li:not(:last-child)::after, .bcp-before-flow li:nth-child(4)::after { content: "↓"; top: auto; right: 50%; bottom: -19px; display: grid; transform: translateX(50%); }
  .bcp-before-message { padding: 25px 18px; }
  .bcp-before-message p { font-size: 19px; }
  .bcp-before-message strong { font-size: 22px; }
  .bcp-support { padding: 62px 0; }
  .bcp-support-copy ul { grid-template-columns: 1fr; }
  .bcp-support-price { padding: 32px 23px; }
  .bcp-support-price strong { font-size: 45px; }
  .bcp-option-card strong { font-size: 34px; }
  .bcp-option-note { text-align: left; }
  .bcp-insurance-list { padding: 18px; }
  .bcp-insurance-list li { min-height: 64px; padding-left: 36px; font-size: 14px; }
  .bcp-insurance-list li::before { left: 13px; }
  .bcp-practical { padding: 62px 0; }
  .bcp-practical-grid { grid-template-columns: 1fr; gap: 8px; }
  .bcp-practical-grid > i { transform: rotate(0); font-size: 24px; }
  .bcp-practical-grid article { min-height: 190px; }
  .bcp-reason-card { grid-template-columns: 43px 1fr; gap: 15px; padding: 26px 21px; }
  .bcp-flow-step:not(:last-child)::after, .bcp-flow-step:nth-child(4)::after, .bcp-flow-step:nth-child(2n)::after { content: "↓"; top: auto; right: 50%; bottom: -22px; display: grid; transform: translateX(50%); }
  .bcp-flow-step:last-child::after { display: none; }
  .bcp-notice-card { grid-template-columns: 38px 1fr; gap: 13px; padding: 22px 18px; }
  .bcp-notice-card h3 { font-size: 17px; }
  .bcp-faq summary { min-height: 72px; grid-template-columns: 34px 1fr 20px; gap: 10px; padding: 12px 14px; font-size: 16px; line-height: 1.65; }
  .bcp-faq-q { width: 32px; height: 32px; font-size: 16px; }
  .bcp-faq-answer { margin: 3px 18px 0 58px; font-size: 15px; }
  .bcp-cta { padding: 66px 0 90px; }
  .bcp-cta-heading { text-align: left; }
  .bcp-cta-heading h2 { font-size: 31px; }
  .bcp-cta-heading > p:last-child { font-size: 15px; }
  .bcp-cta-summary { grid-template-columns: 1fr; gap: 17px; margin: 28px 0 35px; padding: 23px 20px; }
  .bcp-cta-summary > em { width: fit-content; }
  .bcp-contact-card { padding: 35px 18px 39px; }
  .bcp-contact-card > header { text-align: left; }
  .bcp-contact-card > header h3 { font-size: 25px; }
  .bcp-form-grid { grid-template-columns: 1fr; }
  .bcp-form-field.is-wide { grid-column: auto; }
  .bcp-page .mobile-contact-bar { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .is-reveal-ready .reveal { opacity: 1; transform: none; transition: none; }
}
