/* Contact page (/contact): landing hero, discovery-call booking, other ways to reach the team, offices, FAQ.
   Desktop measured at 1440px, mobile at 390px (same conventions as site.css). */

.js [data-anim="rise"] { transform: translateY(34px); transition: opacity .9s cubic-bezier(.16, 1, .3, 1) var(--d, 0s), transform 1s cubic-bezier(.16, 1, .3, 1) var(--d, 0s); }
.js [data-anim="rise"].is-in { transform: none; }
.js [data-anim="rise"].is-in.tilt { transition: opacity .9s cubic-bezier(.16, 1, .3, 1) var(--d, 0s), transform .3s ease-in-out; }

#options { scroll-margin-top: 20px; }
.bk-script { display: block; text-align: center; transform-origin: center; }
.bk-lead { margin: 20px auto 0; max-width: 760px; }

/* ---------- Hero ---------- */
.sec--ct-hero { overflow: clip; }
.ct-hero { position: relative; height: auto; display: grid; grid-template-columns: 1fr 590px; column-gap: 60px; align-items: center; padding: 138px 101px 84px; }
.ct-hero__title { margin-top: 12px; max-width: 600px; }
.ct-hero__lead { margin-top: 24px; max-width: 520px; }
.ct-hero__ctas { margin-top: 34px; display: flex; align-items: center; gap: 14px; }
.btn.ct-hero__btn { width: 262px; height: 50px; font-size: 16.9px; }
.ct-hero__alt { display: inline-flex; align-items: center; justify-content: center; gap: 12px; height: 50px; padding: 0 26px; border-radius: 100px; background: var(--peach); font-size: 16.9px; line-height: 1.3; transition: background-color .2s ease; }
.ct-hero__alt svg { width: 10px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
.ct-hero__alt:hover { background: var(--yellow); }
.ct-hero__alt:hover svg { transform: translateY(3px); }
.ct-hero__media { position: relative; height: 560px; }
.ct-hero__ring { position: absolute; left: 150px; top: -62px; width: 470px; height: auto; }
.ct-hero__block { position: absolute; left: -70px; bottom: -84px; width: 360px; height: auto; }
.ct-hero__photo { position: absolute; left: 44px; top: 30px; width: 490px; height: 490px; border-radius: 50%; object-fit: cover; box-shadow: 0 30px 60px -40px rgba(40, 71, 52, .55); animation: ct-pop 1.1s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes ct-pop { from { opacity: 0; transform: scale(.93) translateY(22px); } to { opacity: 1; transform: none; } }
.ct-hero__clover { position: absolute; right: -6px; top: 56px; width: 104px; height: auto; animation: lx-spin 44s linear infinite; }
.ct-hero__card { position: absolute; right: -10px; bottom: 34px; display: block; padding: 20px 26px 22px; text-align: left; cursor: pointer; border-radius: 26px; background: var(--white); box-shadow: 0 30px 60px -40px rgba(40, 71, 52, .5); transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
.ct-hero__card:hover { transform: translateY(-4px); }
.ct-hero__card-k { display: block; font-size: 13px; line-height: 18px; letter-spacing: .08em; text-transform: uppercase; opacity: .65; }
.ct-hero__card .t-h5 { display: flex; align-items: center; gap: 12px; margin-top: 6px; }
.ct-hero__card svg { width: 24px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
.ct-hero__card:hover svg { transform: translateX(6px); }

/* ---------- Discovery-call flow: private-pay question -> calendar / insurance support ---------- */
.ct-book { height: auto; padding: 96px 101px 100px; }
.sec--book-page .ct-book { padding-top: 150px; }
.flow__panel[hidden] { display: none; }
.gate { max-width: 860px; margin: 0 auto; text-align: center; }
.gate .t-script { display: block; transform-origin: center; }
.gate__title { margin-top: 12px; }
.gate__p { margin: 22px auto 0; max-width: 760px; }
.gate__p + .gate__p { margin-top: 14px; }
.gate__ctas { margin-top: 36px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.btn.gate__yes { gap: 14px; width: 440px; height: 64px; font-size: 20px; }
.gate__yes svg { width: 24px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
.gate__yes:hover svg { transform: translateX(6px); }
.gate__no { width: 440px; height: 56px; border-radius: 100px; border: 1.5px solid rgba(40, 71, 52, .35); font-size: 18px; transition: background-color .2s ease, border-color .2s ease; }
.gate__no:hover { background: rgba(40, 71, 52, .06); border-color: var(--green); }
/* /book: the question sits beside a photo, like the other page heroes */
.flow--media .gate { max-width: none; display: grid; grid-template-columns: 1fr 500px; column-gap: 70px; align-items: center; text-align: left; }
.flow--media .gate .t-script { display: inline-block; transform-origin: left center; }
.flow--media .gate__p { margin-left: 0; max-width: 620px; }
.flow--media .gate__ctas { align-items: flex-start; }
.gate__media { position: relative; height: 540px; }
.gate__dome { position: absolute; left: -40px; bottom: 0; width: 420px; height: auto; }
.gate__photo { position: absolute; right: 0; top: 0; width: 410px; height: 520px; border-radius: 999px 999px 32px 32px; object-fit: cover; box-shadow: 0 30px 60px -35px rgba(40, 71, 52, .55); animation: ct-pop 1.1s cubic-bezier(.16, 1, .3, 1) both; }
.gate__clover { position: absolute; left: 30px; top: 40px; width: 96px; height: auto; animation: lx-spin 44s linear infinite; }

.gate__why { margin: 84px auto 0; max-width: 700px; }
.reasons { margin-top: 40px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; list-style: none; }
.reason { display: flex; flex-direction: column; align-items: flex-start; padding: 24px 24px 28px; border-radius: 26px; }
.reason__icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--cream); }
.reason__icon svg { width: 24px; height: 24px; fill: none; stroke: var(--green); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.reason__title { margin-top: 16px; }
.reason__p { margin-top: 8px; font-size: 15px; line-height: 23px; }

.flow__back { display: inline-flex; align-items: center; gap: 12px; font-size: 17px; line-height: 24px; }
.flow__back svg { width: 24px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
.flow__back:hover { color: var(--brown); }
.flow__back:hover svg { transform: translateX(-6px); }
.flow__back--center { display: flex; margin: 40px auto 0; }
.flow__panel[data-flow-panel="book"] .bk-script { margin-top: 8px; }

.support { max-width: 860px; margin: 0 auto; }
.support__icon { display: block; width: 84px; height: auto; margin: 0 auto 22px; animation: lx-spin 44s linear infinite; }
.support__p { margin: 22px auto 0; max-width: 700px; }
.support__p + .support__p { margin-top: 14px; }
.support__links { margin-top: 40px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.support__link { display: flex; flex-direction: column; padding: 22px 24px 24px; border-radius: 26px; font-size: 18.9px; line-height: 26px; transition: transform .3s ease-in-out; }
.support__link:hover { transform: rotate(-3deg); }
.support__link:nth-child(2):hover { transform: rotate(3deg); }
.support__link span { font-size: 13px; line-height: 18px; letter-spacing: .08em; text-transform: uppercase; opacity: .65; }

/* ---------- How it works (contact page) ---------- */
.ct-how { height: auto; padding: 96px 101px 104px; }
.btn.ct-how__btn { display: flex; margin: 44px auto 0; width: 300px; height: 52px; font-size: 16.9px; }

/* ---------- The three steps + calendar (calendar only on /book, after "yes") ---------- */
.ct-steps { margin: 44px auto 0; padding: 0; display: grid; grid-template-columns: repeat(3, 332px); column-gap: 24px; justify-content: center; list-style: none; text-align: center; }
.bk-step { position: relative; display: flex; flex-direction: column; align-items: center; padding: 34px 28px 36px; border-radius: 30px; background: var(--cream); }
/* /book sits on the cream page background, so its step cards are white to stay visible as cards. */
.sec--book-page .bk-step { background: var(--white); }
.bk-step__n { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--green); color: var(--cream); font-size: 15px; line-height: 1; }
.ct-steps__icon { display: flex; align-items: center; justify-content: center; width: 101px; height: 99px; margin-top: 12px; }
.ct-steps__icon img { max-width: 101px; max-height: 99px; }
.ct-steps .t-h5 { margin-top: 12px; max-width: 220px; }
.bk-step__p { margin-top: 12px; max-width: 250px; font-size: 16.2px; line-height: 25.92px; }
.ct-calendar { margin: 18px 45px 0; height: 740px; }
.ct-calendar[hidden] { display: none; }
.ct-calendar.is-revealed { animation: cal-reveal .7s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes cal-reveal { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }

/* "Book a call": an animated invitation that stands in for the calendar until it is pressed */
.cal-tease { margin: 34px auto 0; max-width: 1040px; display: grid; grid-template-columns: 330px 1fr; column-gap: 64px; align-items: center; padding: 44px 56px 46px; border-radius: 40px; background: var(--peach); }
.cal-tease[hidden] { display: none; }
.cal-tease__art { position: relative; height: 250px; }
.cal-tease__clover { position: absolute; left: -26px; top: -18px; width: 120px; height: auto; animation: lx-spin 40s linear infinite; }
.cal-mini { position: absolute; right: 0; top: 14px; width: 262px; padding: 18px 18px 20px; border-radius: 26px; background: var(--white); box-shadow: 0 30px 60px -38px rgba(40, 71, 52, .6); transform: rotate(4deg); animation: cal-float 6s ease-in-out infinite; }
@keyframes cal-float { 50% { transform: rotate(2deg) translateY(-8px); } }
.cal-mini__bar { display: flex; gap: 8px; }
.cal-mini__bar span { height: 10px; border-radius: 10px; background: var(--green); }
.cal-mini__bar span:nth-child(1) { width: 74px; }
.cal-mini__bar span:nth-child(2), .cal-mini__bar span:nth-child(3) { width: 22px; margin-left: auto; opacity: .25; }
.cal-mini__bar span:nth-child(3) { margin-left: 0; }
.cal-mini__grid { margin-top: 16px; display: grid; grid-template-columns: repeat(7, 1fr); gap: 7px; }
.cal-mini__grid i { position: relative; aspect-ratio: 1; border-radius: 9px; background: var(--cream); }
.cal-mini__grid .is-on { animation: cal-on 6s ease-in-out infinite; animation-delay: calc(var(--i) * .55s); }
@keyframes cal-on { 0%, 34%, 100% { background: var(--cream); transform: none; } 8%, 24% { background: var(--blue); transform: scale(1.12); } }
.cal-mini__grid .is-pick { animation: cal-pick 6s ease-in-out infinite; }
.cal-mini__grid .is-pick::after { content: ""; position: absolute; left: 31%; top: 22%; width: 26%; height: 44%; border: solid var(--cream); border-width: 0 2.5px 2.5px 0; transform: rotate(42deg); opacity: 0; animation: cal-check 6s ease-in-out infinite; }
@keyframes cal-pick { 0%, 44% { background: var(--cream); transform: none; } 52% { background: var(--green); transform: scale(1.28); } 58%, 92% { background: var(--green); transform: scale(1.1); } 100% { background: var(--cream); transform: none; } }
@keyframes cal-check { 0%, 52% { opacity: 0; } 60%, 92% { opacity: 1; } 100% { opacity: 0; } }
.cal-tease__title { margin-top: 8px; }
.cal-tease__p { margin-top: 12px; max-width: 460px; font-size: 18.9px; line-height: 30.24px; }
.btn.cal-tease__btn { position: relative; gap: 14px; margin-top: 26px; width: 250px; height: 60px; font-size: 20px; background: var(--green); color: var(--cream); }
.btn.cal-tease__btn:hover { background: var(--brown); }
.cal-tease__btn::before { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 2px solid var(--green); animation: cal-ring 2.4s ease-out infinite; pointer-events: none; }
@keyframes cal-ring { from { opacity: .7; transform: scale(1); } to { opacity: 0; transform: scale(1.22, 1.6); } }
.cal-tease__btn svg { width: 24px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
.cal-tease__btn:hover svg { transform: translateX(6px); }
.ct-calendar iframe { display: block; width: 100%; height: 100%; border: 0; }

/* ---------- Other ways to reach us ---------- */
.hub { height: auto; padding: 78px 101px 104px; }
.hub-cards { margin-top: 50px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; align-items: stretch; }
.hub-card { display: flex; flex-direction: column; align-items: flex-start; padding: 30px 28px 32px; border-radius: 33.75px; text-align: left; cursor: pointer; }
.hub-card:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
.hub-card__icon { display: flex; align-items: center; justify-content: center; width: 78px; height: 76px; }
.hub-card__icon img { max-width: 78px; max-height: 76px; }
.hub-card__kicker { margin-top: 18px; font-size: 13px; line-height: 18px; letter-spacing: .08em; text-transform: uppercase; opacity: .65; }
.hub-card__title { margin-top: 6px; font-size: 30px; line-height: 38px; }
.hub-card__p { margin-top: 12px; flex: 1; }
.hub-card__go { display: inline-flex; align-items: center; gap: 12px; margin-top: 24px; font-size: 17px; line-height: 24px; }
.hub-card__go svg { flex: none; width: 24px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
.hub-card:hover .hub-card__go { color: var(--brown); }
.hub-card:hover .hub-card__go svg { transform: translateX(6px); }

/* ---------- Where to reach us ---------- */
.ct-reach { height: auto; padding: 96px 101px 104px; }
.ct-reach__grid { margin-top: 52px; display: grid; grid-template-columns: 400px 400px 1fr; column-gap: 22px; align-items: stretch; }
.ct-loc { display: flex; flex-direction: column; padding: 18px 18px 26px; border-radius: 33.75px; background: var(--cream); }
.ct-loc img { width: 100%; height: 250px; border-radius: 22px; object-fit: cover; }
.ct-loc__name { display: flex; align-items: center; gap: 12px; margin: 22px 10px 0; font-size: 30px; line-height: 38px; }
.ct-loc__name .pin { width: 13px; height: 18px; fill: var(--blue); }
.ct-loc__go { display: inline-flex; align-items: center; gap: 12px; margin: 12px 10px 0; font-size: 17px; line-height: 24px; }
.ct-loc__go svg { width: 24px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
.ct-loc:hover .ct-loc__go { color: var(--brown); }
.ct-loc:hover .ct-loc__go svg { transform: translateX(6px); }
.ct-reach__info { display: flex; flex-direction: column; justify-content: center; gap: 44px; padding-left: 58px; }
.ct-reach__info h3 + p { margin-top: 16px; }
.ct-reach__info a:hover { color: var(--brown); }
.btn.ct-reach__btn { margin-top: 18px; width: 230px; height: 46px; font-size: 16.2px; background: var(--green); color: var(--cream); }
.btn.ct-reach__btn:hover { background: var(--brown); }

/* ---------- FAQ ---------- */
.ct-faq { height: auto; padding: 92px 101px 100px; }
.faq { margin-top: 48px; display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 22px; align-items: start; }
.faq__col { display: flex; flex-direction: column; gap: 10px; }
.faq__item { border-radius: 20px; background: var(--cream); }
.faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 74px; padding: 21px 25px; font-size: 22.5px; line-height: 31.5px; cursor: pointer; list-style: none; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__chev { flex: none; width: 13px; height: 8px; fill: none; stroke: var(--green); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s ease; }
.faq__item[open] .faq__chev { transform: rotate(180deg); }
.faq__a { padding: 0 25px 24px; font-size: 16.2px; line-height: 25.92px; }
.faq__a p + p { margin-top: 12px; }
.faq__a a { text-decoration: underline; }
.faq__item[open] .faq__a { animation: ct-fade .35s ease; }
@keyframes ct-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.ct-faq__more { display: flex; width: max-content; align-items: center; gap: 12px; margin: 38px auto 0; font-size: 18px; line-height: 24px; }
.ct-faq__more svg { width: 24px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
.ct-faq__more:hover { color: var(--brown); }
.ct-faq__more:hover svg { transform: translateX(6px); }

/* ---------- Free guide band ---------- */
.sec--bk-free { overflow: clip; }
.bk-free { position: relative; height: auto; padding: 78px 101px 86px; }
.bk-free__copy { max-width: 620px; }
.bk-free__title { margin-top: 10px; }
.bk-free__p { margin-top: 18px; max-width: 540px; font-size: 18.9px; line-height: 30.24px; }
.btn.bk-free__btn { margin-top: 28px; width: 257px; height: 48px; font-size: 16.9px; background: var(--green); color: var(--cream); }
.btn.bk-free__btn:hover { background: var(--brown); }
.bk-free__shape { position: absolute; right: 130px; top: 50%; width: 190px; height: 190px; margin-top: -95px; object-fit: contain; animation: lx-spin 50s linear infinite; }

@media (prefers-reduced-motion: reduce) { .ct-hero__photo, .ct-hero__clover, .bk-free__shape, .gate__photo, .gate__clover, .support__icon { animation: none; } }
@media (prefers-reduced-motion: reduce) { .cal-tease__clover, .cal-mini, .cal-mini__grid i, .cal-mini__grid .is-pick::after, .cal-tease__btn::before, .ct-calendar.is-revealed { animation: none; } .cal-mini__grid .is-pick { background: var(--green); } .cal-mini__grid .is-pick::after { opacity: 1; } }

/* ---------- Mobile ---------- */
@media (max-width: 1023px) {
  .bk-lead { margin-top: 14px; max-width: 330px; font-size: 16.2px; line-height: 25.92px; }

  .ct-hero { display: block; padding: 36px 30px 56px; }
  .ct-hero__title { margin-top: 8px; max-width: 330px; }
  .ct-hero__lead { margin-top: 14px; max-width: 330px; font-size: 16.2px; line-height: 25.92px; }
  .ct-hero__ctas { margin-top: 24px; flex-direction: column; align-items: flex-start; gap: 12px; }
  .btn.ct-hero__btn { width: 330px; height: 46px; }
  .ct-hero__alt { width: 330px; height: 46px; font-size: 16.2px; }
  .ct-how { padding: 50px 25px 56px; }
  .btn.ct-how__btn { margin-top: 28px; width: 100%; max-width: 340px; height: 46px; }
  .ct-hero__media { margin-top: 44px; height: 372px; }
  .ct-hero__ring { left: 110px; top: -34px; width: 260px; }
  .ct-hero__block { left: -60px; bottom: -40px; width: 210px; }
  .ct-hero__photo { left: 10px; top: 10px; width: 300px; height: 300px; }
  .ct-hero__clover { right: -8px; top: 6px; width: 66px; }
  .ct-hero__card { right: 0; bottom: 0; padding: 14px 18px 16px; border-radius: 22px; }
  .ct-hero__card .t-h5 { font-size: 17px; line-height: 22px; }

  .ct-book { padding: 50px 25px 56px; }
  .sec--book-page .ct-book { padding-top: 36px; }
  .gate__title { margin-top: 8px; }
  .gate__p { margin-top: 14px; font-size: 16.2px; line-height: 25.92px; }
  .gate__ctas { margin-top: 26px; gap: 12px; }
  .btn.gate__yes { width: 100%; max-width: 340px; height: 56px; font-size: 17px; }
  .gate__no { width: 100%; max-width: 340px; height: 50px; font-size: 16.2px; }
  .flow--media .gate { display: block; text-align: center; }
  .flow--media .gate .t-script { display: block; transform-origin: center; }
  .flow--media .gate__p { margin-left: auto; }
  .flow--media .gate__ctas { align-items: center; }
  .gate__media { display: none; }
  .gate__why { margin-top: 52px; font-size: 26px; line-height: 33px; }
  .reasons { margin-top: 24px; grid-template-columns: 1fr; gap: 12px; }
  .reason { padding: 20px 20px 22px; border-radius: 22px; }
  .reason__title { margin-top: 12px; }
  .support__p { font-size: 16.2px; line-height: 25.92px; }
  .support__links { margin-top: 28px; grid-template-columns: 1fr; gap: 12px; }
  .ct-calendar { margin: 28px 0 0; height: 782px; }
  .cal-tease { margin-top: 26px; display: block; padding: 28px 22px 30px; border-radius: 30px; text-align: center; }
  .cal-tease__art { height: 166px; width: 250px; margin: 0 auto; }
  .cal-tease__clover { left: -6px; top: -10px; width: 84px; }
  .cal-mini { right: 6px; top: 8px; width: 200px; padding: 14px 14px 16px; border-radius: 22px; }
  .cal-mini__grid { margin-top: 12px; gap: 5px; }
  /* On phones the button comes straight after the animated calendar, ahead of the copy. */
  .cal-tease__copy { margin-top: 4px; display: flex; flex-direction: column; align-items: center; }
  .cal-tease__copy .t-script { display: block; transform-origin: center; }
  .cal-tease__p { margin: 10px auto 0; font-size: 16.2px; line-height: 25.92px; }
  .btn.cal-tease__btn { order: -1; margin: 0 auto 26px; width: 100%; max-width: 300px; height: 56px; font-size: 18px; }
  .ct-steps { margin-top: 26px; grid-template-columns: 1fr; row-gap: 16px; }
  .bk-step { padding: 26px 22px 28px; border-radius: 26px; }
  .ct-steps__icon { width: 86px; height: 85px; margin-top: 10px; }
  .ct-steps__icon img { max-width: 86px; max-height: 85px; }
  .ct-steps .t-h5 { max-width: 280px; }
  .bk-step__p { max-width: 290px; font-size: 15px; line-height: 24px; }

  .hub { padding: 46px 30px 60px; }
  .hub-cards { margin-top: 28px; grid-template-columns: 1fr; gap: 16px; }
  .hub-card { padding: 26px 24px 28px; border-radius: 30px; }
  .hub-card__icon { width: 72px; height: 70px; }
  .hub-card__icon img { max-width: 72px; max-height: 70px; }
  .hub-card__kicker { margin-top: 14px; font-size: 12.5px; }
  .hub-card__title { margin-top: 4px; font-size: 26px; line-height: 33px; }
  .hub-card__p { margin-top: 8px; font-size: 15px; line-height: 24px; }
  .hub-card__go { margin-top: 18px; font-size: 16.2px; }

  .ct-reach { padding: 50px 30px 58px; }
  .ct-reach__grid { margin-top: 28px; grid-template-columns: 1fr; row-gap: 16px; }
  .ct-loc { padding: 14px 14px 22px; border-radius: 30px; }
  .ct-loc img { height: 200px; }
  .ct-loc__name { margin-top: 18px; font-size: 26px; line-height: 33px; }
  .ct-reach__info { padding: 18px 10px 0; gap: 28px; }
  .ct-reach__info h3 + p { margin-top: 10px; }

  .ct-faq { padding: 50px 30px 56px; }
  .faq { margin-top: 28px; grid-template-columns: 1fr; row-gap: 10px; }
  .faq__item summary { min-height: 69px; padding: 21px 18px; font-size: 19px; line-height: 26.6px; }
  .faq__a { padding: 0 18px 20px; font-size: 15px; line-height: 24px; }
  .ct-faq__more { margin-top: 26px; width: auto; font-size: 16.2px; }

  .bk-free { padding: 46px 30px 54px; }
  .bk-free__p { font-size: 16.2px; line-height: 25.92px; }
  .btn.bk-free__btn { width: 100%; max-width: 330px; height: 45px; }
  .bk-free__shape { display: none; }
}
