/* Official Google feedback, wrapped in an editorial Mihra Mist composition. */
.google-reviews { background: #f7f5ef; overflow: hidden; padding: 88px 0; }
.google-reviews__layout {
  align-items: stretch;
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  max-width: 1460px;
  position: relative;
  width: calc(100% - 80px);
}
.google-reviews__intro { background: #0f392b; color: #f8f5ed; display: flex; flex-direction: column; justify-content: center; min-height: 620px; padding: clamp(52px, 6.1vw, 104px); position: relative; }
.google-reviews__intro::before { background: #c8a653; content: ''; height: 2px; left: clamp(52px, 6.1vw, 104px); position: absolute; top: 0; width: 68px; }
.google-reviews__intro h2 { color: #f8f5ed; font-size: clamp(48px, 4.15vw, 70px); line-height: .99; margin: 21px 0 31px; max-width: 9ch; }
.google-reviews__intro > p:last-child { color: rgba(248, 245, 237, .72); font-size: 16px; line-height: 1.7; margin: 0; max-width: 34ch; }
.google-reviews__map-card { background: #d9cda8; min-width: 0; padding: clamp(15px, 1.5vw, 25px); position: relative; transition: box-shadow .28s ease, transform .28s cubic-bezier(.2,.75,.2,1); }
.google-reviews__map-card::before { border: 1px solid rgba(255,255,255,.35); content: ''; inset: 9px; pointer-events: none; position: absolute; z-index: 1; }
.google-reviews__map-frame { background: #e5e3dc; height: 500px; overflow: hidden; }
.google-reviews__map-frame iframe { border: 0; display: block; height: 100%; width: 100%; }
.google-reviews__map-actions { background: #f7f5ef; display: grid; grid-template-columns: 1fr 1fr; position: relative; z-index: 2; }
.google-reviews__map-actions a { align-items: center; color: #14372a; display: flex; font-family: var(--mono); font-size: 10px; gap: 8px; justify-content: space-between; letter-spacing: .08em; min-height: 82px; padding: 0 24px; text-decoration: none; text-transform: uppercase; transition: background-color .22s ease, color .22s ease; }
.google-reviews__map-actions a + a { border-left: 1px solid rgba(20,55,42,.17); }
.google-reviews__map-actions b { color: #a78435; font-size: 17px; font-weight: 400; transition: transform .25s ease; }
@media (hover: hover) and (pointer: fine) {
  .google-reviews__map-card:hover { box-shadow: 0 20px 38px rgba(17,53,40,.13); transform: translateY(-4px); }
  .google-reviews__map-actions a:hover, .google-reviews__map-actions a:focus-visible { background: #123a2c; color: #f8f5ed; outline: 0; }
  .google-reviews__map-actions a:hover b, .google-reviews__map-actions a:focus-visible b { transform: translate(3px,-3px); }
}
@media (max-width: 760px) {
  .google-reviews { padding: 56px 0; }
  .google-reviews__layout { display: block; }
  .google-reviews__layout.shell { width: calc(100% - 32px); }
  .google-reviews__intro { min-height: 390px; padding: 42px 34px; }
  .google-reviews__intro::before { left: 34px; }
  .google-reviews__map-card { padding: 10px; }
  .google-reviews__map-frame { height: 330px; }
  .google-reviews__map-actions { grid-template-columns: 1fr; }
  .google-reviews__map-actions a { min-height: 58px; }
  .google-reviews__map-actions a + a { border-left: 0; border-top: 1px solid rgba(20,55,42,.15); }
}

/* The panorama is an actual Google Street View canvas, loaded only once it nears view. */
.street-view { background: #123a2c; color: #f8f5ed; padding: 118px 0 76px; }
.street-view__head { align-items: end; display: grid; gap: 48px; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .55fr); margin-bottom: 54px; }
.street-view__head h2 { color: #f8f5ed; font-size: clamp(46px, 5.15vw, 78px); margin: 15px 0 0; }
.street-view__head > p { color: rgba(248,245,237,.72); font-size: 15px; line-height: 1.72; margin: 0 0 7px; max-width: 34ch; }
.street-view__frame { background: #e2dccd; border: 1px solid rgba(219,194,132,.38); box-shadow: 20px 20px 0 rgba(5,25,18,.22); height: min(57vw, 640px); min-height: 410px; overflow: hidden; padding: 10px; }
.street-view__frame iframe { border: 0; display: block; height: 100%; width: 100%; }
.street-view__foot { align-items: center; display: flex; font-family: var(--mono); font-size: 9px; justify-content: space-between; letter-spacing: .11em; padding-top: 24px; text-transform: uppercase; }
.street-view__foot span { color: rgba(248,245,237,.53); }
.street-view__foot a { color: #f8f5ed; text-decoration: none; transition: color .22s ease, transform .22s cubic-bezier(.2,.75,.2,1); }
.street-view__foot b { color: #c4a75c; font-size: 15px; font-weight: 400; margin-left: 8px; }
@media (hover: hover) and (pointer: fine) { .street-view__foot a:hover, .street-view__foot a:focus-visible { color: #d9c17f; outline: 0; transform: translateX(4px); } }
@media (max-width: 760px) {
  .street-view { padding: 80px 0 56px; }
  .street-view__head { display: block; margin-bottom: 38px; }
  .street-view__head > p { margin-top: 23px; }
  .street-view__frame { box-shadow: 10px 12px 0 rgba(5,25,18,.22); height: 68vw; min-height: 270px; padding: 6px; }
  .street-view__foot { align-items: flex-start; flex-direction: column; gap: 13px; line-height: 1.5; }
}
