.company-page {
  background: #f8f9f5;
}
.company-page .site-header {
  background: #fff;
}
.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-block: 23px;
  font-size: 11px;
  color: #7c8871;
  flex-wrap: wrap;
}
.breadcrumbs a:hover {
  color: var(--ink);
  text-decoration: underline;
}
.breadcrumbs [aria-current] {
  color: #344d2e;
}
.profile-hero {
  background: var(--ink);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.profile-hero:after {
  content: "";
  position: absolute;
  right: 11%;
  top: -215px;
  width: 580px;
  height: 580px;
  border: 1px solid #c2d3a312;
  border-radius: 50%;
  pointer-events: none;
}
.profile-hero:before {
  content: "";
  position: absolute;
  right: 8%;
  top: -230px;
  width: 650px;
  height: 650px;
  border: 1px solid #c2d3a30a;
  border-radius: 50%;
  pointer-events: none;
}
.profile-hero-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 45px;
  padding-block: 46px 40px;
  position: relative;
  z-index: 1;
}
.profile-identity {
  display: flex;
  gap: 27px;
  align-items: center;
  min-width: 0;
}
.profile-avatar {
  width: 108px;
  height: 108px;
  border-radius: 18px;
  background: #e8eddc;
  flex-shrink: 0;
  box-shadow: 0 5px 20px #122b1812;
}
.profile-avatar .company-initial {
  font-size: 47px;
  font-weight: 800;
  color: #7f9468;
}
.profile-title {
  min-width: 0;
}
.profile-category {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  background: #ffffff0c;
  border: 1px solid #d2dfb829;
  border-radius: 5px;
  padding: 5px 9px;
  color: #c4d5b1;
  line-height: 1.5;
}
.profile-category .icon {
  width: 13px;
  height: 13px;
}
.profile-title h1 {
  color: #fff;
  font-size: 42px;
  letter-spacing: -1.7px;
  line-height: 1.2;
  margin: 13px 0 9px;
  overflow-wrap: anywhere;
}
.profile-slogan {
  font-size: 15px;
  color: #c5d2bb;
}
.profile-meta {
  display: flex;
  gap: 17px;
  flex-wrap: wrap;
  margin-top: 18px;
  font-size: 11px;
  color: #afc2a5;
}
.profile-meta > span,
.profile-meta > a {
  display: flex;
  align-items: center;
  gap: 7px;
  overflow-wrap: anywhere;
}
.profile-meta .icon {
  width: 14px;
  height: 14px;
}
.profile-meta > a:hover {
  color: #fff;
}
.hero-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 13px;
  flex-shrink: 0;
}
.hero-contact .eyebrow {
  color: #b6c9a1;
  font-size: 8px;
}
.hero-contact .button {
  font-size: 15px;
  padding: 14px 25px;
  gap: 12px;
}
.hero-contact > span:last-child {
  font-size: 10px;
  color: #adbea3;
}
.profile-hero-foot {
  border-top: 1px solid #d1deb821;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  min-height: 57px;
  color: #b8c9ab;
  font-size: 11px;
  position: relative;
  z-index: 1;
}
.profile-hero-foot > span,
.profile-hero-foot > a {
  display: flex;
  align-items: center;
  gap: 8px;
}
.profile-hero-foot .icon {
  width: 15px;
  height: 15px;
}
.profile-hero-foot > a:hover {
  color: #fff;
}
.profile-hero-foot > a .icon {
  color: #ddebab;
}
.profile-nav-wrap {
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.profile-nav {
  display: flex;
  align-items: center;
  gap: 33px;
  min-height: 66px;
  font-size: 12px;
  font-weight: 600;
}
.profile-nav > a {
  padding-block: 23px;
  white-space: nowrap;
}
.profile-nav > a:first-child {
  border-bottom: 2px solid var(--green);
  color: var(--green);
}
.profile-nav > a:hover {
  color: #78974f;
}
.profile-nav .profile-back {
  margin-left: auto;
  font-weight: 400;
  font-size: 11px;
  color: #77896c;
}
.profile-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 28px;
  padding-top: 33px;
}
.profile-main,
.profile-sidebar {
  min-width: 0;
}
.profile-panel {
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  margin-bottom: 22px;
  scroll-margin-top: 24px;
}
.panel-heading {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 24px;
}
.section-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  background: #f1f4e9;
  border-radius: 9px;
  color: #819662;
  flex-shrink: 0;
}
.section-icon .icon {
  width: 19px;
  height: 19px;
}
.panel-heading .eyebrow {
  font-size: 8px;
  letter-spacing: 1.3px;
  color: #849472;
  margin-bottom: 3px;
}
.profile-panel h2 {
  font-size: 22px;
  color: var(--ink);
  letter-spacing: -0.6px;
  font-weight: 750;
}
.profile-description {
  font-size: 15px;
  line-height: 1.95;
  color: #5c6c52;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.text-link {
  display: inline-flex;
  gap: 9px;
  align-items: center;
  margin-top: 24px;
  font-size: 12px;
  color: #31593c;
  font-weight: 600;
}
.text-link .icon {
  width: 14px;
  height: 14px;
}
.text-link:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.profile-empty {
  font-size: 13px;
  line-height: 1.9;
  color: #748267;
}
.service-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.service-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid #e6ebde;
  border-radius: 7px;
  padding: 14px;
  font-size: 13px;
  color: #506443;
  overflow-wrap: anywhere;
}
.service-list li > span {
  display: grid;
  place-items: center;
  color: #779749;
  flex-shrink: 0;
  background: #f1f5e8;
  width: 20px;
  height: 20px;
  border-radius: 50%;
}
.service-list .icon {
  width: 12px;
  height: 12px;
}
.legal-details {
  margin: 0;
}
.legal-details > div {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 20px;
  padding: 15px 0;
  border-bottom: 1px solid #eef0e8;
  font-size: 13px;
  line-height: 1.7;
}
.legal-details > div:first-child {
  padding-top: 0;
}
.legal-details dt {
  color: #78876b;
}
.legal-details dd {
  margin: 0;
  color: #354c2b;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.legal-details dd.not-provided,
.not-provided {
  font-weight: 400;
  color: #859277;
  font-size: 12px;
}
.detail-note {
  font-size: 11px;
  color: #87947b;
  line-height: 1.8;
  margin-top: 18px;
}
.contact-panel {
  padding: 27px;
}
.contact-heading {
  padding-bottom: 23px;
  border-bottom: 1px solid var(--line);
}
.contact-heading .eyebrow {
  font-size: 8px;
  letter-spacing: 1.5px;
}
.contact-heading h2 {
  font-size: 25px;
  margin-top: 5px;
}
.contact-heading > p {
  font-size: 11px;
  color: #7c8b70;
  margin-top: 7px;
}
.contact-details {
  margin: 21px 0 24px;
}
.contact-details > div {
  margin-bottom: 21px;
}
.contact-details > div:last-child {
  margin-bottom: 0;
}
.contact-details dt {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #819270;
  font-size: 10px;
  margin-bottom: 5px;
}
.contact-details dt .icon {
  width: 15px;
  height: 15px;
  color: #90a178;
}
.contact-details dd {
  margin: 0 0 0 24px;
  font-size: 14px;
  font-weight: 550;
  color: #35512c;
  overflow-wrap: anywhere;
  line-height: 1.8;
}
.contact-details dd > a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.contact-details dd .icon {
  width: 12px;
  height: 12px;
  margin-left: 4px;
  color: #8b9b7a;
}
.contact-details .map-link {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 11px;
  font-weight: 500;
  color: #718b50;
  margin-top: 8px;
}
.write-company {
  width: 100%;
  font-size: 12px;
  padding: 13px 14px;
  gap: 9px;
}
.write-company .icon {
  width: 16px;
  height: 16px;
}
.write-company .icon:last-child {
  margin-left: auto;
}
.hours-panel,
.social-panel {
  padding: 24px 27px;
}
.hours-panel h2,
.social-panel h2 {
  font-size: 16px;
  letter-spacing: -0.3px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 17px;
}
.hours-panel h2 .icon {
  color: #82986a;
  width: 19px;
  height: 19px;
}
.opening-hours {
  white-space: pre-line;
  font-size: 13px;
  color: #5b704d;
  line-height: 2;
  overflow-wrap: anywhere;
}
.hours-panel .detail-note {
  margin-top: 6px;
  font-size: 10px;
}
.social-links {
  display: flex;
  flex-direction: column;
  gap: 13px;
}
.social-links > a {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 12px;
  color: #5c704d;
}
.social-links > a:hover {
  color: var(--ink);
}
.social-letter {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  background: #f0f4e9;
  border-radius: 6px;
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  font-weight: 800;
  color: #749254;
}
.social-links .icon {
  margin-left: auto;
  width: 13px;
  height: 13px;
  color: #83976a;
}
.profile-help {
  display: flex;
  gap: 11px;
  padding: 0 12px;
  color: #80976c;
}
.profile-help > .icon {
  width: 17px;
  height: 17px;
  margin-top: 2px;
}
.profile-help p {
  font-size: 11px;
  line-height: 1.8;
  color: #60764e;
}
.profile-help p > span {
  color: #88977b;
  font-size: 10px;
}
.profile-rating-inner {
  display: flex;
  align-items: center;
  gap: 35px;
  padding: 8px 0 13px;
}
.profile-rating-average {
  min-width: 130px;
  text-align: center;
  border-right: 1px solid var(--line);
  padding: 10px 30px 10px 0;
  color: #899977;
  font-size: 11px;
}
.profile-rating-average > div {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 7px;
  margin-bottom: 7px;
}
.profile-rating-average strong {
  font-family: "Manrope", sans-serif;
  font-size: 49px;
  line-height: 1.3;
  color: var(--ink);
  font-weight: 750;
  letter-spacing: -2px;
}
.profile-rating-average > div > span {
  font-size: 17px;
  color: #a0ae90;
}
.profile-rating-action h3 {
  font-size: 14px;
  letter-spacing: -0.2px;
  color: #3e5932;
}
.profile-rating-action > p {
  font-size: 11px;
  color: #849572;
  margin-top: 5px;
}
.profile-rating .stars {
  gap: 8px;
}
.profile-rating .star-button {
  width: 36px;
  height: 39px;
}
.profile-rating .star-button .icon {
  width: 30px;
  height: 30px;
}
.profile-rating .rating-hint {
  margin-top: 9px;
  font-size: 11px;
}
.rating-policy {
  border-top: 1px solid #edf0e7;
  padding-top: 17px;
  margin-top: 9px;
}
.profile-explore {
  background: #edf2e5;
  border: 1px solid #e3e9d9;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
  padding: 29px 35px;
  margin-top: 14px;
}
.profile-explore h2 {
  font-size: 25px;
  letter-spacing: -0.9px;
  color: var(--ink);
  margin: 7px 0;
}
.profile-explore p {
  font-size: 12px;
  color: #788b67;
}
.profile-explore .button {
  flex-shrink: 0;
  font-size: 12px;
}
.company-page .site-footer {
  padding-block: 36px;
}
.company-page .flash {
  font-size: 12px;
}
@media (min-width: 1500px) {
  .profile-content {
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 32px;
  }
  .profile-panel {
    padding: 34px;
  }
  .contact-panel {
    padding: 30px;
  }
}
@media (max-width: 1100px) {
  .profile-content {
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 22px;
  }
  .profile-hero-inner {
    gap: 25px;
  }
  .profile-avatar {
    width: 88px;
    height: 88px;
  }
  .profile-identity {
    gap: 20px;
  }
  .profile-title h1 {
    font-size: 36px;
  }
  .profile-slogan {
    font-size: 13px;
  }
  .profile-panel {
    padding: 24px;
  }
  .profile-nav {
    gap: 23px;
  }
  .profile-nav .profile-back {
    display: none;
  }
  .hero-contact .button {
    font-size: 13px;
    padding: 13px 18px;
  }
  .legal-details > div {
    grid-template-columns: 145px minmax(0, 1fr);
    gap: 15px;
    font-size: 12px;
  }
  .profile-rating-inner {
    gap: 20px;
  }
  .profile-rating-average {
    padding-right: 20px;
    min-width: 105px;
  }
  .profile-rating-average strong {
    font-size: 40px;
  }
  .profile-rating .stars {
    gap: 3px;
  }
  .profile-rating .star-button {
    width: 33px;
    height: 36px;
  }
  .profile-rating-action h3 {
    font-size: 12px;
  }
  .profile-description {
    font-size: 14px;
  }
  .service-list {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 800px) {
  .breadcrumbs {
    font-size: 10px;
    padding-block: 19px;
    gap: 9px;
  }
  .profile-hero-inner {
    padding-block: 30px;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
  }
  .profile-identity {
    gap: 20px;
  }
  .profile-title h1 {
    font-size: 35px;
  }
  .profile-meta {
    font-size: 10px;
    margin-top: 14px;
  }
  .hero-contact {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
  }
  .hero-contact .eyebrow {
    display: none;
  }
  .hero-contact > span:last-child {
    font-size: 10px;
  }
  .profile-hero-foot {
    font-size: 10px;
    min-height: 55px;
  }
  .profile-hero-foot > span {
    display: none;
  }
  .profile-nav {
    gap: 25px;
    min-height: 60px;
    overflow-x: auto;
    scrollbar-width: thin;
    font-size: 11px;
  }
  .profile-nav > a {
    padding-block: 20px;
  }
  .profile-content {
    grid-template-columns: 1fr;
    padding-top: 24px;
  }
  .profile-sidebar {
    grid-row: 1;
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 18px;
    align-items: start;
  }
  .profile-sidebar .contact-panel {
    grid-row: span 3;
    margin-bottom: 0;
  }
  .profile-sidebar .profile-panel {
    margin-bottom: 0;
  }
  .profile-help {
    padding: 0 4px;
  }
  .contact-details dd {
    font-size: 13px;
  }
  .profile-panel {
    padding: 24px;
    margin-bottom: 18px;
  }
  .profile-main {
    display: contents;
  }
  .about-panel {
    grid-row: 1;
  }
  .profile-sidebar {
    grid-row: 2;
  }
  .profile-content {
    gap: 18px;
  }
  .profile-rating-inner {
    gap: 30px;
  }
  .profile-rating-average {
    min-width: 140px;
  }
  .profile-rating-action h3 {
    font-size: 14px;
  }
  .profile-explore {
    padding: 26px;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 10px;
    gap: 18px;
  }
  .profile-explore h2 {
    font-size: 24px;
  }
  .profile-panel h2 {
    font-size: 21px;
  }
  .hours-panel h2,
  .social-panel h2 {
    font-size: 15px;
  }
}
@media (max-width: 480px) {
  .breadcrumbs {
    font-size: 9px;
    gap: 8px;
    padding-block: 17px;
  }
  .profile-hero-inner {
    padding-block: 26px;
    gap: 23px;
  }
  .profile-identity {
    align-items: flex-start;
    gap: 14px;
  }
  .profile-avatar {
    width: 65px;
    height: 65px;
    border-radius: 12px;
    margin-top: 4px;
  }
  .profile-avatar .company-initial {
    font-size: 30px;
  }
  .profile-title h1 {
    font-size: 29px;
    letter-spacing: -1.1px;
    margin-block: 11px 8px;
  }
  .profile-category {
    font-size: 8px;
    padding: 4px 7px;
  }
  .profile-category .icon {
    width: 11px;
    height: 11px;
  }
  .profile-slogan {
    font-size: 11px;
    line-height: 1.7;
  }
  .profile-meta {
    font-size: 10px;
    gap: 10px;
    line-height: 1.6;
  }
  .profile-meta .icon {
    width: 12px;
    height: 12px;
  }
  .hero-contact {
    gap: 11px;
  }
  .hero-contact .button {
    font-size: 13px;
    padding: 13px 20px;
  }
  .hero-contact > span:last-child {
    font-size: 9px;
  }
  .profile-hero-foot {
    font-size: 10px;
    min-height: 52px;
  }
  .profile-nav {
    gap: 23px;
    font-size: 11px;
    min-height: 58px;
  }
  .profile-nav > a {
    padding-block: 19px;
  }
  .profile-content {
    padding-top: 20px;
    gap: 0;
  }
  .profile-panel {
    padding: 22px 20px;
    margin-bottom: 18px;
    border-radius: 9px;
  }
  .panel-heading {
    gap: 11px;
    margin-bottom: 20px;
  }
  .section-icon {
    width: 35px;
    height: 35px;
    border-radius: 8px;
  }
  .section-icon .icon {
    width: 17px;
    height: 17px;
  }
  .panel-heading .eyebrow {
    font-size: 7px;
  }
  .profile-panel h2 {
    font-size: 20px;
  }
  .profile-description {
    font-size: 13px;
    line-height: 2;
  }
  .text-link {
    font-size: 11px;
    margin-top: 21px;
  }
  .profile-sidebar {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .profile-sidebar .profile-panel,
  .profile-sidebar .contact-panel {
    margin-bottom: 18px;
    grid-row: auto;
  }
  .profile-help {
    display: none;
  }
  .contact-heading {
    padding-bottom: 20px;
  }
  .contact-heading h2 {
    font-size: 24px;
  }
  .contact-details {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 22px;
  }
  .contact-details > div {
    margin-bottom: 22px;
  }
  .contact-details dd {
    font-size: 14px;
  }
  .contact-details dt {
    font-size: 11px;
  }
  .write-company {
    font-size: 13px;
  }
  .hours-panel h2,
  .social-panel h2 {
    font-size: 16px;
  }
  .legal-details > div {
    grid-template-columns: 1fr 1.2fr;
    gap: 14px;
    font-size: 11px;
    padding-block: 14px;
  }
  .legal-details dd.not-provided {
    font-size: 11px;
  }
  .detail-note {
    font-size: 10px;
  }
  .profile-rating-inner {
    gap: 18px;
    align-items: center;
  }
  .profile-rating-average {
    min-width: 88px;
    padding-right: 18px;
    font-size: 9px;
  }
  .profile-rating-average strong {
    font-size: 35px;
  }
  .profile-rating-average > div > span {
    font-size: 13px;
  }
  .profile-rating-action {
    min-width: 0;
  }
  .profile-rating-action h3 {
    font-size: 12px;
  }
  .profile-rating-action > p {
    font-size: 10px;
  }
  .profile-rating .stars {
    gap: 2px;
  }
  .profile-rating .star-button {
    width: 29px;
    height: 34px;
  }
  .profile-rating .star-button .icon {
    width: 25px;
    height: 25px;
  }
  .profile-rating .rating-hint {
    font-size: 10px;
  }
  .profile-explore {
    padding: 25px 21px;
    margin-top: 6px;
  }
  .profile-explore h2 {
    font-size: 23px;
    line-height: 1.4;
  }
  .profile-explore p {
    font-size: 11px;
  }
  .profile-explore .eyebrow {
    font-size: 8px;
  }
  .company-page .site-footer {
    padding-block: 29px;
  }
  .service-list li {
    font-size: 12px;
  }
}
@media (max-width: 350px) {
  .profile-avatar {
    width: 52px;
    height: 52px;
  }
  .profile-title h1 {
    font-size: 26px;
  }
  .profile-rating-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }
  .profile-rating-average {
    border-right: 0;
    padding: 0;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 15px;
  }
  .profile-rating-average > div {
    margin: 0;
  }
  .profile-rating .star-button {
    width: 36px;
    height: 39px;
  }
}
