/* Reference ③ / ⑥: local family-service flyer, variance 4 / motion 1 / density 6.
   Existing static stack, brand, real representative image and section order retained.
   Layering within photo blocks: photograph 0, legibility wash 1, copy 2. */
.local-company, .store { --display-font: "Tanuki Magic", "Yusei Magic", sans-serif; padding: 35px 0 65px; background: radial-gradient(ellipse 55% 350px at 25% 8%, #ffe8e0a6, transparent), radial-gradient(ellipse 55% 320px at 100% 18%, #eff9dd, transparent), #fffcf6; }
.local-company > .wrap, .store > .wrap { width: min(1100px, calc(100% - 48px)); }
.local-company::before, .store::before { top: 4px; }
.reference-eyebrow { position: relative; font: 400 40px/1.45 var(--display-font); color: var(--green); text-align: center; width: fit-content; max-width: 100%; margin: 0 auto 8px; background: linear-gradient(transparent 76%, #fff49b 76%, #fff49b 95%, transparent 95%); }
.reference-eyebrow::before, .reference-eyebrow::after { content: ""; position: absolute; top: 5%; width: 47px; height: 90%; background: url("../images/heading-rays.svg") center / 230px 100% no-repeat; }
.reference-eyebrow::before { left: -53px; background-position: left center; }
.reference-eyebrow::after { right: -53px; background-position: right center; }
.local-company .local-company-title { position: relative; font-size: 71px; line-height: 1.28; letter-spacing: -.075em; margin: 0 auto 20px; width: 100%; text-wrap: initial; }
.local-company-title em, .company-reassurance em, .store-note em { font-style: normal; color: #f52e30; }
.local-company-title .company-title-line { display: table; margin-inline: auto; position: relative; white-space: nowrap; }
.local-company-title .company-title-line::after { content: ""; position: absolute; left: -4px; right: -4px; bottom: 1px; height: 19px; border-radius: 70% 40% 45% 60%; background: #fff49b; z-index: -1; transform: rotate(-1deg); }
.local-company .local-company-title::before, .local-company .local-company-title::after { display: none; }
.local-company .company-panel { display: grid; grid-template-columns: 55% 1fr; gap: 22px; margin-top: 0; align-items: stretch; }
.local-company .company-brand { position: relative; border: 0; border-radius: 23% 30% 17% 14% / 20% 25% 16% 18%; box-shadow: none; transform: none; min-width: 0; height: 475px; }
.local-company .company-brand img { width: 100%; height: 100%; object-fit: cover; object-position: 55% center; aspect-ratio: auto; }
.local-company .company-brand::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 36% 54% at 12% 20%, #fffdf5f5, #fffdf5cf 42%, transparent 85%); pointer-events: none; z-index: 1; }
.company-photo-note { position: absolute; top: 31px; left: 25px; z-index: 2; font: 400 22px/1.4 var(--display-font); transform: rotate(-10deg); text-align: center; color: #39251c; }
.local-company .company-message { border-radius: 15% 10% 12% 10% / 12% 15% 9% 12%; background: #fffef6; box-shadow: 0 6px 25px #d9bca323; padding: 44px 32px 30px; color: #352419; display: flex; flex-direction: column; justify-content: center; }
.local-company .company-message::after { display: none; }
.company-message h3 { font: 400 35px/1.65 var(--display-font); letter-spacing: -.035em; color: var(--green); margin-bottom: 20px; }
.company-message h3 span { display: table; background: linear-gradient(transparent 78%, #fff49b 78%, #fff49b 96%, transparent 96%); white-space: nowrap; }
.local-company .company-message p { font: 700 20px/1.85 var(--body-font); letter-spacing: -.06em; }
.local-company .company-message .company-signature { margin-top: 28px; text-align: right; font: 400 27px/1.5 var(--display-font); letter-spacing: .015em; }
.local-company .company-values { margin-top: 17px; gap: 12px; }
.company-values > article { display: flex; flex-direction: column; background: radial-gradient(ellipse at 50% 50%, #fffef8, #eff9e5); border-radius: 32px; padding: 12px 19px 20px; min-width: 0; isolation: isolate; }
.company-values > article:nth-child(2) { background: radial-gradient(ellipse at center, #fffef8, #fff0e7); }
.local-company .company-values h3 { border-radius: 40px; padding: 6px 4px; background: #389c50; color: #fff; font: 700 26px/1.5 var(--body-font); text-align: center; white-space: nowrap; }
.local-company .company-values > article:nth-child(2) h3 { background: #fb795e; }
.local-company .company-values > article:nth-child(3) h3 { font-size: 23px; }
.company-values img { width: 100%; height: 155px; object-fit: contain; mix-blend-mode: multiply; margin: 12px auto 9px; }
.company-values > article:nth-child(2) img { width: 146px; }
.company-values p { font: 700 21px/1.6 var(--body-font); letter-spacing: -.035em; margin: 0 auto; width: fit-content; }
.company-reassurance { position: relative; display: grid; grid-template-columns: 165px 1fr; align-items: center; gap: 14px; background: #fff0e7; border-radius: 90px; padding: 0 20px 0 15px; margin-top: 20px; isolation: isolate; }
.company-reassurance > img { width: 150px; height: 132px; object-fit: cover; object-position: top; mix-blend-mode: multiply; border-radius: 50% 50% 35% 35%; }
.company-reassurance p { font: 400 30px/1.65 var(--display-font); letter-spacing: -.045em; }
.company-reassurance em { background: linear-gradient(transparent 78%, #fff49b 78%, #fff49b 95%, transparent 95%); }
.company-connect { display: inline-block; white-space: nowrap; }
.company-cta, .store-cta { text-align: center; position: relative; margin-top: 20px; }
.company-cta::before, .store-cta::before { content: ""; position: absolute; inset: -16px -18vw -35px; background: radial-gradient(ellipse at 50% 50%, #eaf6dcbd 0, #f1f9e3bd 55%, transparent 72%); z-index: -1; border-radius: 35% 25% 40% 30%; }
.reference-cta-kicker { font: 700 23px/1.6 var(--body-font); margin-bottom: 7px; }
.reference-cta-kicker::before { content: "＼ "; }
.reference-cta-kicker::after { content: " ／"; }
.company-cta .btn { min-width: 650px; font-size: 37px; min-height: 110px; }
.reference-cta-note { margin-top: 7px; font: 700 18px/1.6 var(--body-font); }
.store .store-heading { position: relative; }
.store .store-eyebrow { font-size: 45px; }
.store .store-title { font-size: 99px; line-height: 1.25; margin: 0 auto 0; color: #f52e30; }
.store .store-title::before { inset: -10px -120px; }
.store .store-title::after { height: 21px; margin-top: -20px; }
.store .store-sub { font: 400 49px/1.5 var(--display-font); letter-spacing: -.04em; margin: 7px 0 18px; }
.store-heading-bubble { position: absolute; z-index: 1; width: 212px; padding: 21px 12px; font: 400 25px/1.4 var(--display-font); text-align: center; background: #fff0e7; border-radius: 50% 48% 50% 46%; color: #39251c; }
.store-heading-bubble--left { left: -13px; top: 93px; transform: rotate(-13deg); }
.store-heading-bubble--right { right: -8px; top: 86px; font-size: 22px; transform: rotate(10deg); }
.store-photo { position: relative; }
.store .store-parking { width: 100%; height: auto; max-height: none; aspect-ratio: 2; object-fit: cover; border: 7px solid #fff; border-radius: 40px; }
.store-photo-bubble { position: absolute; left: 59%; top: 15%; transform: translateX(-50%) rotate(-4deg); border: 2px solid #7ebb7b; border-radius: 50% 48% 44% 49%; padding: 17px 21px; background: #fff; color: #352419; font: 400 25px/1.35 var(--display-font); text-align: center; }
.store-photo-bubble::after { content: ""; position: absolute; right: 9px; bottom: 0; width: 23px; height: 22px; background: #fff; border-right: 2px solid #7ebb7b; clip-path: polygon(0 0, 80% 0, 100% 100%); transform: rotate(-12deg); }
.store-photo figcaption { position: absolute; left: 23px; bottom: 38px; color: #352419; background: #ffffffec; border-radius: 4px; padding: 2px 8px; font: 400 12px/1.6 var(--body-font); }
.store .store-features { gap: 12px; margin: -27px 18px 17px; }
.store-features > article { padding: 17px 10px 20px; border-radius: 30px; border: 2px solid #fff; background: radial-gradient(ellipse at center, #fffef8, #f6ffed); box-shadow: 0 3px 15px #adce971f; text-align: center; min-width: 0; }
.store .store-features svg, .store-phone-icon { width: 73px; height: 68px; margin: 0 auto 6px; }
.store-phone-icon { display: block; background: var(--green); mask: url("../images/cta-phone-icon.svg") center / contain no-repeat; }
.store-features h3 { display: table; margin: 0 auto 8px; color: var(--green); font: 400 29px/1.5 var(--display-font); letter-spacing: -.05em; background: linear-gradient(transparent 76%, #fff49b 76%, #fff49b 94%, transparent 94%); white-space: nowrap; }
.store .store-features p { font: 700 22px/1.6 var(--body-font); color: #352419; letter-spacing: -.06em; }
.store .store-note { color: #352419; background: #fff0e7; border-radius: 70px; padding: 16px 85px; margin-top: 0; font: 400 32px/1.6 var(--display-font); letter-spacing: -.035em; }
.store-note em { display: block; }
.store-note::before, .store-note::after { content: ""; position: absolute; width: 130px; height: 112px; background: #fff0e7 url("../images/botanical-branch.webp") center / contain no-repeat; background-blend-mode: multiply; pointer-events: none; border-radius: 50%; }
.store-note::before { left: 15px; top: 0; transform: rotate(75deg); }
.store-note::after { right: 15px; bottom: 0; transform: rotate(-5deg); }
.store-cta-kicker { font: 400 32px/1.5 var(--display-font); color: var(--green); margin-bottom: 11px; }
.store-cta .cta-row { gap: 13px; }
.store-cta .btn { min-width: 0; white-space: nowrap; min-height: 112px; font-size: 33px; padding-inline: 30px; gap: 17px; }
.store-cta .btn-line { flex: 1.15; }
.store-cta .btn-tel { flex: 1; }
.store-cta .reference-cta-note { margin-top: 13px; }
@media (min-width: 761px) and (max-width: 1150px) {
  .reference-eyebrow { font-size: 3.5vw; }
  .local-company .local-company-title { font-size: 6vw; }
  .local-company .company-panel { gap: 15px; }
  .local-company .company-brand { height: 42vw; }
  .company-photo-note { font-size: 1.9vw; top: 23px; left: 18px; }
  .local-company .company-message { padding: 25px 20px; }
  .company-message h3 { font-size: 2.9vw; margin-bottom: 13px; }
  .local-company .company-message p { font-size: 1.7vw; }
  .local-company .company-message .company-signature { font-size: 2.3vw; margin-top: 18px; }
  .company-values > article { padding-inline: 12px; }
  .local-company .company-values h3 { font-size: 2.15vw; }
  .local-company .company-values > article:nth-child(3) h3 { font-size: 1.85vw; }
  .company-values img { height: 13vw; }
  .company-values p { font-size: 1.8vw; }
  .company-reassurance { grid-template-columns: 120px 1fr; }
  .company-reassurance > img { height: 110px; width: 120px; }
  .company-reassurance p { font-size: 2.5vw; }
  .store .store-eyebrow { font-size: 4vw; }
  .store .store-title { font-size: 8.5vw; }
  .store .store-sub { font-size: 4vw; }
  .store-heading-bubble { width: 17vw; font-size: 2.05vw; padding: 16px 8px; top: 8.5vw; }
  .store-heading-bubble--right { font-size: 1.8vw; }
  .store-photo-bubble { font-size: 2.2vw; padding: 13px 18px; }
  .store-features h3 { font-size: 2.35vw; }
  .store .store-features p { font-size: 1.8vw; }
  .store .store-note { font-size: 2.6vw; padding-inline: 80px; }
  .store-note::before, .store-note::after { width: 90px; height: 90px; }
  .store-cta-kicker { font-size: 2.9vw; }
  .store-cta .btn { font-size: 2.75vw; gap: 10px; min-height: 92px; padding-inline: 18px; }
  .store-cta .btn .line-icon, .store-cta .btn .tel-icon { width: 45px; height: 45px; flex-basis: 45px; }
}
@media (max-width: 760px) {
  .local-company, .store { padding: 30px 0 45px; }
  .local-company > .wrap, .store > .wrap { width: calc(100% - 32px); }
  .reference-eyebrow { font-size: clamp(17px, 4.7vw, 30px); line-height: 1.6; margin-bottom: 11px; }
  .reference-eyebrow::before, .reference-eyebrow::after { width: 20px; background-size: 100px 100%; }
  .reference-eyebrow::before { left: -21px; }
  .reference-eyebrow::after { right: -21px; }
  .local-company .local-company-title { font-size: clamp(21px, 6.1vw, 45px); line-height: 1.6; letter-spacing: -.065em; margin-bottom: 19px; }
  .local-company-title .company-title-line::after { height: 9px; bottom: 3px; }
  .local-company .company-panel { grid-template-columns: 1fr; gap: 16px; }
  .local-company .company-brand { width: 100%; max-width: 560px; height: auto; aspect-ratio: 1.18; margin: auto; }
  .company-photo-note { font-size: clamp(15px, 4vw, 23px); left: 15px; top: 19px; }
  .local-company .company-message { padding: 24px 23px; border-radius: 30px; text-align: left; }
  .company-message h3 { font-size: clamp(25px, 6.2vw, 35px); line-height: 1.65; margin-bottom: 16px; }
  .local-company .company-message p { font-size: 15px; letter-spacing: -.05em; }
  .local-company .company-message .company-signature { font-size: 22px; margin-top: 20px; }
  .local-company .company-values { grid-template-columns: 1fr; gap: 12px; margin-top: 19px; }
  .company-values > article { display: grid; grid-template-columns: 108px 1fr; grid-template-rows: auto 1fr; column-gap: 14px; padding: 15px; border-radius: 25px; }
  .local-company .company-values h3, .local-company .company-values > article:nth-child(3) h3 { grid-column: 1 / 3; font: 700 19px/1.5 var(--body-font); min-height: 0; padding: 7px; }
  .company-values img, .company-values > article:nth-child(2) img { grid-column: 1; grid-row: 2; width: 108px; height: 110px; margin: 12px 0 0; align-self: center; }
  .company-values p { grid-column: 2; grid-row: 2; font-size: 15px; line-height: 1.65; margin: 12px 0 0; width: auto; align-self: center; }
  .company-values p br { display: none; }
  .company-reassurance { grid-template-columns: 70px 1fr; gap: 7px; margin-top: 20px; padding: 14px 12px 10px 2px; border-radius: 35px; }
  .company-reassurance > img { width: 70px; height: 96px; }
  .company-reassurance p { font-size: 22px; line-height: 1.65; }
  .company-cta, .store-cta { margin-top: 20px; }
  .reference-cta-kicker { font-size: 16px; }
  .company-cta .btn { min-width: 0; width: 100%; min-height: 78px; font-size: clamp(18px, 5.15vw, 28px); padding-inline: 15px; gap: 10px; white-space: nowrap; }
  .company-cta .btn .line-icon { width: 44px; height: 44px; flex-basis: 44px; }
  .reference-cta-note { font-size: 12px; }
  .store .store-eyebrow { font-size: clamp(24px, 6.1vw, 37px); }
  .store .store-title { font-size: clamp(45px, 13.5vw, 78px); line-height: 1.4; }
  .store .store-title::before { inset: 0 -55px; }
  .store .store-title::after { height: 12px; margin-top: -15px; }
  .store .store-sub { font-size: clamp(23px, 6vw, 35px); line-height: 1.5; margin: 14px auto 0; max-width: 94%; }
  .store .store-heading { padding-bottom: 109px; }
  .store-heading-bubble { top: auto; bottom: 11px; width: 43%; padding: 13px 7px; font-size: 17px; left: 3px; transform: rotate(-8deg); }
  .store-heading-bubble--right { left: auto; right: 2px; bottom: 6px; font-size: 15px; transform: rotate(7deg); }
  .store .store-parking { aspect-ratio: 1.35; height: auto; object-position: 50% center; border: 4px solid #fff; border-radius: 25px; }
  .store-photo-bubble { top: 9%; left: 60%; font-size: 13px; padding: 9px 10px; border-width: 1px; }
  .store-photo-bubble::after { width: 13px; height: 13px; border-width: 1px; }
  .store-photo figcaption { bottom: 10px; left: 12px; font-size: 9px; padding-inline: 5px; }
  .store .store-features { grid-template-columns: 1fr; gap: 11px; margin: 13px 0 18px; }
  .store-features > article { display: grid; grid-template-columns: 59px 1fr; grid-template-rows: auto auto; gap: 3px 12px; padding: 17px 15px; text-align: left; border-radius: 24px; }
  .store .store-features svg, .store-phone-icon { grid-row: 1 / 3; width: 53px; height: 53px; align-self: center; margin: 0; }
  .store-features h3 { grid-column: 2; font-size: clamp(19px, 5.25vw, 29px); margin: 0 auto 3px 0; line-height: 1.5; }
  .store .store-features p { grid-column: 2; font-size: 15px; line-height: 1.65; letter-spacing: -.045em; }
  .store .store-features p br { display: none; }
  .store .store-note { font-size: 22px; line-height: 1.6; border-radius: 34px; padding: 20px 21px; }
  .store .store-note span { display: inline; }
  .store-note::before, .store-note::after { display: none; }
  .store-cta-kicker { font-size: 23px; line-height: 1.6; margin: 0 auto 13px; max-width: 340px; text-wrap: balance; }
  .store-cta-kicker span { display: block; }
  .store-cta .cta-row { flex-direction: column; gap: 10px; }
  .store-cta .btn { flex: auto; width: 100%; min-height: 78px; font-size: clamp(19px, 5.2vw, 28px); padding-inline: 18px; gap: 12px; }
  .store-cta .btn .line-icon, .store-cta .btn .tel-icon { width: 43px; height: 43px; flex-basis: 43px; }
  .store-cta .reference-cta-note { font-size: 12px; }
}
@media (max-width: 370px) {
  .company-values > article { grid-template-columns: 90px 1fr; gap: 9px; padding: 12px; }
  .company-values img, .company-values > article:nth-child(2) img { width: 90px; }
  .company-values p { font-size: 14px; }
  .local-company .company-message { padding-inline: 17px; }
  .company-message h3 { font-size: 22px; }
  .local-company .company-message p { font-size: 13px; }
  .company-reassurance p { font-size: 19px; }
  .company-cta .btn { gap: 8px; font-size: 17px; }
  .store .store-features p { font-size: 14px; }
  .store-cta .btn { font-size: 17px; gap: 9px; padding-inline: 13px; }
  .store-cta .btn .line-icon, .store-cta .btn .tel-icon { width: 38px; height: 38px; flex-basis: 38px; }
}
