/* =========================================================
   SUSHYDECOR
   TENTANG KAMI
   PREMIUM • PROFESSIONAL • RESPONSIVE
   ========================================================= */
body {
  max-width: 80%;
  justify-content: center;
  align-items: center;
  display: contents;
}
/* =========================================================
   01. ABOUT HERO
   ========================================================= */

.about-hero-section {
  position: relative;

  width: 100%;

  min-height: 430px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 90px 0 80px;

  background:
    radial-gradient(
      circle at 15% 25%,
      rgba(184, 151, 87, 0.1),
      transparent 30%
    ),
    radial-gradient(
      circle at 85% 70%,
      rgba(105, 118, 77, 0.08),
      transparent 32%
    ),
    linear-gradient(135deg, #1b1b1b 0%, #221d14 100%);

  overflow: hidden;
}

/* Decorative glow */

.about-hero-section::before {
  content: "";

  position: absolute;

  width: 420px;
  height: 420px;

  top: -230px;
  right: -130px;

  border-radius: 50%;

  border: 1px solid rgba(184, 151, 87, 0.13);

  pointer-events: none;
}

.about-hero-section::after {
  content: "✦";

  position: absolute;

  left: 7%;
  bottom: 12%;

  color: rgba(184, 151, 87, 0.12);

  font-family: Georgia, "Times New Roman", serif;

  font-size: 90px;

  line-height: 1;

  pointer-events: none;
}

/* =========================================================
   02. ABOUT HERO CONTAINER
   ========================================================= */

.about-hero-section > .container {
  position: relative;

  z-index: 2;

  width: min(calc(100% - 40px), var(--container-width, 1200px));

  margin-inline: auto;
}

/* =========================================================
   03. ABOUT HERO CONTENT
   ========================================================= */

.about-hero-content {
  width: 100%;

  max-width: 850px;

  margin: 0 auto;

  text-align: center;
}

/* =========================================================
   04. HERO LABEL
   ========================================================= */

.about-hero-content .hero-label {
  position: relative;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  margin: 0 0 18px;

  color: var(--color-primary, #69764d);

  font-size: 0.75rem;

  font-weight: 700;

  letter-spacing: 0.2em;

  text-transform: uppercase;
}

/* garis kiri kanan */

.about-hero-content .hero-label::before,
.about-hero-content .hero-label::after {
  content: "";

  width: 45px;
  height: 1px;

  margin: 0 14px;

  background: linear-gradient(90deg, transparent, rgba(184, 151, 87, 0.75));
}

.about-hero-content .hero-label::after {
  background: linear-gradient(90deg, rgba(184, 151, 87, 0.75), transparent);
}

/* =========================================================
   05. HERO TITLE
   ========================================================= */

.about-hero-content h1 {
  margin: 0;

  color: var(--color-text, #3f3a31);

  font-family: Georgia, "Times New Roman", serif;

  font-size: clamp(2.5rem, 5vw, 4.6rem);

  font-weight: 500;

  letter-spacing: -0.025em;

  line-height: 1.08;
}

/* Highlight Sushydecor */

.about-hero-content h1 span {
  color: var(--color-primary, #cfcfcf);

  font-style: italic;
}

/* =========================================================
   06. HERO DESCRIPTION
   ========================================================= */

.about-hero-description {
  width: 100%;

  max-width: 690px;

  margin: 25px auto 0;

  color: var(--color-text-light, #756e63);

  font-size: 1rem;

  line-height: 1.9;

  text-align: center;
}

/* =========================================================
   07. ABOUT STORY SECTION
   ========================================================= */

.about-story-section {
  position: relative;

  width: 100%;

  padding: 90px 0;

  background: #ffffff;
}

/* =========================================================
   08. STORY CONTAINER
   ========================================================= */

.about-story-section > .container {
  width: min(calc(100% - 40px), var(--container-width, 1200px));

  margin-inline: auto;
}

/* =========================================================
   09. STORY GRID
   ========================================================= */

.about-story {
  display: grid;

  grid-template-columns:
    minmax(0, 1.25fr)
    minmax(320px, 0.75fr);

  gap: 70px;

  align-items: center;
}

/* =========================================================
   10. STORY CONTENT
   ========================================================= */

.about-story-content {
  width: 100%;

  max-width: 680px;
}

/* =========================================================
   11. SECTION LABEL
   ========================================================= */

.about-story-content .section-label,
.about-values-section .section-label,
.about-services-section .section-label,
.about-cta-section .section-label {
  position: relative;

  display: inline-flex;

  align-items: center;

  margin: 0 0 16px;

  color: var(--color-primary, #69764d);

  font-size: 0.72rem;

  font-weight: 700;

  letter-spacing: 0.18em;

  text-transform: uppercase;
}

/* Garis kiri */

.about-story-content .section-label::before,
.about-values-section .section-label::before,
.about-services-section .section-label::before,
.about-cta-section .section-label::before {
  content: "";

  width: 30px;
  height: 1px;

  margin-right: 10px;

  background: var(--color-gold, #b89757);
}

/* =========================================================
   12. STORY TITLE
   ========================================================= */

.about-story-content h2 {
  max-width: 600px;

  margin: 0 0 24px;

  color: var(--color-text, #3f3a31);

  font-family: Georgia, "Times New Roman", serif;

  font-size: clamp(2rem, 3.4vw, 3rem);

  font-weight: 500;

  line-height: 1.2;

  letter-spacing: -0.015em;
}

/* =========================================================
   13. STORY PARAGRAPH
   ========================================================= */

.about-story-content p:not(.section-label) {
  max-width: 670px;

  margin: 0 0 17px;

  color: var(--color-text-light, #756e63);

  font-size: 0.92rem;

  line-height: 1.9;
}

/* =========================================================
   14. STORY HIGHLIGHT
   ========================================================= */

.about-story-highlight {
  display: grid;

  grid-template-columns: 1fr;

  gap: 14px;

  width: 100%;
}

/* =========================================================
   15. HIGHLIGHT CARD
   ========================================================= */

.about-highlight-card {
  position: relative;

  padding: 24px 25px 23px 27px;

  border: 1px solid rgba(184, 151, 87, 0.2);

  border-radius: 14px;

  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.98),
    rgba(249, 245, 236, 0.92)
  );

  box-shadow: 0 8px 25px rgba(70, 55, 35, 0.06);

  overflow: hidden;

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

/* Decorative left line */

.about-highlight-card::before {
  content: "";

  position: absolute;

  left: 0;
  top: 18px;
  bottom: 18px;

  width: 2px;

  background: linear-gradient(to bottom, transparent, #b89757, transparent);
}

.about-highlight-card:hover {
  transform: translateY(-4px);

  border-color: rgba(184, 151, 87, 0.38);

  box-shadow: 0 15px 32px rgba(70, 55, 35, 0.09);
}

/* =========================================================
   16. HIGHLIGHT NUMBER
   ========================================================= */

.about-highlight-number {
  display: block;

  margin-bottom: 7px;

  color: #b89757;

  font-family: Georgia, "Times New Roman", serif;

  font-size: 0.72rem;

  font-weight: 600;

  letter-spacing: 0.15em;
}

/* =========================================================
   17. HIGHLIGHT TITLE
   ========================================================= */

.about-highlight-card h3 {
  margin: 0 0 7px;

  color: var(--color-text, #3f3a31);

  font-family: Georgia, "Times New Roman", serif;

  font-size: 1.05rem;

  font-weight: 600;
}

/* =========================================================
   18. HIGHLIGHT DESCRIPTION
   ========================================================= */

.about-highlight-card p {
  margin: 0;

  color: var(--color-text-light, #756e63);

  font-size: 0.78rem;

  line-height: 1.7;
}

/* =========================================================
   19. VALUES SECTION
   ========================================================= */

.about-values-section {
  position: relative;

  padding: 90px 0;

  background: linear-gradient(180deg, #faf7f0 0%, #f5efe4 100%);

  border-top: 1px solid rgba(184, 151, 87, 0.12);

  border-bottom: 1px solid rgba(184, 151, 87, 0.12);
}

/* =========================================================
   20. SECTION HEADING
   ========================================================= */

.about-values-section .section-heading,
.about-services-section .section-heading {
  width: 100%;

  max-width: 750px;

  margin: 0 auto 48px;

  text-align: center;
}

/* =========================================================
   21. CENTER SECTION LABEL
   ========================================================= */

.about-values-section .section-heading .section-label,
.about-services-section .section-heading .section-label {
  display: flex;

  width: fit-content;

  margin: 0 auto 15px;
}

/* garis kiri kanan */

.about-values-section .section-heading .section-label::before,
.about-services-section .section-heading .section-label::before {
  margin-right: 12px;
}

.about-values-section .section-heading .section-label::after,
.about-services-section .section-heading .section-label::after {
  content: "";

  width: 30px;
  height: 1px;

  margin-left: 12px;

  background: var(--color-gold, #b89757);
}

/* =========================================================
   22. VALUES TITLE
   ========================================================= */

.about-values-section .section-heading h2,
.about-services-section .section-heading h2 {
  margin: 0;

  color: var(--color-text, #3f3a31);

  font-family: Georgia, "Times New Roman", serif;

  font-size: clamp(2rem, 3.5vw, 3rem);

  font-weight: 500;

  line-height: 1.2;
}

/* =========================================================
   23. VALUES DESCRIPTION
   ========================================================= */

.about-values-section .section-heading > p:not(.section-label),
.about-services-section .section-heading > p:not(.section-label) {
  max-width: 600px;

  margin: 17px auto 0;

  color: var(--color-text-light, #756e63);

  font-size: 0.9rem;

  line-height: 1.8;
}

/* =========================================================
   24. VALUES GRID
   ========================================================= */

.about-values-grid {
  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 22px;

  width: 100%;
}

/* =========================================================
   25. VALUE CARD
   ========================================================= */

.about-value-card {
  position: relative;

  display: flex;

  flex-direction: column;

  align-items: center;

  min-height: 285px;

  padding: 34px 30px;

  border: 1px solid rgba(184, 151, 87, 0.18);

  border-radius: 16px;

  background: rgba(255, 255, 255, 0.84);

  text-align: center;

  box-shadow: 0 8px 25px rgba(70, 55, 35, 0.05);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.about-value-card:hover {
  transform: translateY(-5px);

  border-color: rgba(184, 151, 87, 0.38);

  box-shadow: 0 16px 32px rgba(70, 55, 35, 0.09);
}

/* =========================================================
   26. VALUE ICON
   ========================================================= */

.about-value-icon {
  display: flex;

  align-items: center;

  justify-content: center;

  width: 58px;
  height: 58px;

  margin-bottom: 19px;

  border: 1px solid rgba(184, 151, 87, 0.3);

  border-radius: 50%;

  background: linear-gradient(145deg, #faf5e9, #eee4cf);

  color: #ad8a48;

  font-family: Georgia, "Times New Roman", serif;

  font-size: 1.3rem;

  box-shadow: 0 5px 14px rgba(70, 55, 35, 0.07);
}

/* =========================================================
   27. VALUE TITLE
   ========================================================= */

.about-value-card h3 {
  margin: 0 0 12px;

  color: var(--color-text, #3f3a31);

  font-family: Georgia, "Times New Roman", serif;

  font-size: 1.2rem;

  font-weight: 600;
}

/* =========================================================
   28. VALUE TEXT
   ========================================================= */

.about-value-card p {
  margin: 0;

  color: var(--color-text-light, #756e63);

  font-size: 0.83rem;

  line-height: 1.8;
}

/* =========================================================
   29. SERVICES SECTION
   ========================================================= */

.about-services-section {
  padding: 90px 0;

  background: #ffffff;
}

/* =========================================================
   30. SERVICES GRID
   ========================================================= */

.about-services-grid {
  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 18px;

  width: 100%;
}

/* =========================================================
   31. SERVICE CARD
   ========================================================= */

.about-service-card {
  position: relative;

  display: flex;

  flex-direction: column;

  align-items: center;

  min-height: 310px;

  padding: 30px 22px;

  border: 1px solid rgba(184, 151, 87, 0.18);

  border-radius: 16px;

  background: linear-gradient(145deg, #ffffff, #faf7f0);

  text-align: center;

  box-shadow: 0 7px 22px rgba(70, 55, 35, 0.05);

  overflow: hidden;

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.about-service-card::before {
  content: "";

  position: absolute;

  left: 50%;
  top: 0;

  width: 55px;
  height: 2px;

  transform: translateX(-50%);

  background: linear-gradient(90deg, transparent, #b89757, transparent);
}

.about-service-card:hover {
  transform: translateY(-5px);

  border-color: rgba(184, 151, 87, 0.38);

  box-shadow: 0 16px 34px rgba(70, 55, 35, 0.09);
}

/* =========================================================
   32. SERVICE ICON
   ========================================================= */

.about-service-icon {
  display: flex;

  align-items: center;

  justify-content: center;

  width: 58px;
  height: 58px;

  margin-bottom: 18px;

  border: 1px solid rgba(184, 151, 87, 0.28);

  border-radius: 50%;

  background: #faf5e9;

  color: #ad8a48;

  font-family: Georgia, "Times New Roman", serif;

  font-size: 1.3rem;
}

/* =========================================================
   33. SERVICE TITLE
   ========================================================= */

.about-service-card h3 {
  margin: 0 0 11px;

  color: var(--color-text, #3f3a31);

  font-family: Georgia, "Times New Roman", serif;

  font-size: 1.2rem;

  font-weight: 600;
}

/* =========================================================
   34. SERVICE DESCRIPTION
   ========================================================= */

.about-service-card p {
  margin: 0 0 22px;

  color: var(--color-text-light, #756e63);

  font-size: 0.79rem;

  line-height: 1.75;
}

/* =========================================================
   35. SERVICE BUTTON
   ========================================================= */

.about-service-card .button {
  margin-top: auto;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-height: 40px;

  padding: 0 17px;

  border: 1px solid rgba(105, 118, 77, 0.75);

  border-radius: 8px;

  background: var(--color-primary, #69764d);

  color: #ffffff;

  font-size: 0.72rem;

  font-weight: 700;

  text-decoration: none;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.about-service-card .button:hover {
  transform: translateY(-2px);

  background: #78865a;

  box-shadow: 0 7px 17px rgba(105, 118, 77, 0.2);
}

/* =========================================================
   36. ABOUT CTA
   ========================================================= */

.about-cta-section {
  position: relative;

  padding: 90px 0;

  background: linear-gradient(135deg, #68764d 0%, #78865a 55%, #657248 100%);

  overflow: hidden;
}

/* Decorative circles */

.about-cta-section::before {
  content: "";

  position: absolute;

  width: 430px;
  height: 430px;

  top: -260px;
  right: -130px;

  border: 1px solid rgba(255, 255, 255, 0.13);

  border-radius: 50%;
}

.about-cta-section::after {
  content: "✦";

  position: absolute;

  left: 6%;
  bottom: 10%;

  color: rgba(255, 255, 255, 0.1);

  font-family: Georgia, "Times New Roman", serif;

  font-size: 80px;
}

/* =========================================================
   37. CTA CONTAINER
   ========================================================= */

.about-cta-section > .container {
  position: relative;

  z-index: 2;

  width: min(calc(100% - 40px), var(--container-width, 1200px));

  margin-inline: auto;
}

/* =========================================================
   38. CTA CONTENT
   ========================================================= */

.about-cta-content {
  width: 100%;

  max-width: 800px;

  margin: 0 auto;

  text-align: center;
}

/* =========================================================
   39. CTA LABEL
   ========================================================= */

.about-cta-content .section-label {
  display: flex;

  width: fit-content;

  margin: 0 auto 18px;

  color: rgba(255, 255, 255, 0.85);
}

.about-cta-content .section-label::before,
.about-cta-content .section-label::after {
  background: rgba(255, 255, 255, 0.65);
}

/* =========================================================
   40. CTA TITLE
   ========================================================= */

.about-cta-content h2 {
  margin: 0;

  color: #ffffff;

  font-family: Georgia, "Times New Roman", serif;

  font-size: clamp(2rem, 4vw, 3.2rem);

  font-weight: 500;

  line-height: 1.2;
}

/* =========================================================
   41. CTA DESCRIPTION
   ========================================================= */

.about-cta-content > p:not(.section-label) {
  max-width: 650px;

  margin: 20px auto 0;

  color: rgba(255, 255, 255, 0.82);

  font-size: 0.9rem;

  line-height: 1.8;
}

/* =========================================================
   42. CTA ACTIONS
   ========================================================= */

.about-cta-actions {
  display: flex;

  align-items: center;

  justify-content: center;

  flex-wrap: wrap;

  gap: 12px;

  margin-top: 30px;
}

/* =========================================================
   43. CTA BUTTON BASE
   ========================================================= */

.about-cta-actions .button {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-height: 46px;

  padding: 0 23px;

  border-radius: 8px;

  font-size: 0.78rem;

  font-weight: 700;

  text-decoration: none;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease,
    color 0.25s ease;
}

/* =========================================================
   44. PRIMARY BUTTON
   ========================================================= */

.about-cta-actions .button-primary {
  border: 1px solid rgba(255, 255, 255, 0.8);

  background: #ffffff;

  color: #657248;

  box-shadow: 0 7px 18px rgba(30, 45, 20, 0.12);
}

.about-cta-actions .button-primary:hover {
  transform: translateY(-2px);

  box-shadow: 0 11px 25px rgba(30, 45, 20, 0.18);
}

/* =========================================================
   45. WHATSAPP BUTTON
   ========================================================= */

.about-cta-actions .button-whatsapp {
  border: 1px solid rgba(255, 255, 255, 0.42);

  background: rgba(255, 255, 255, 0.1);

  color: #ffffff;

  backdrop-filter: blur(8px);
}

.about-cta-actions .button-whatsapp:hover {
  transform: translateY(-2px);

  background: rgba(255, 255, 255, 0.18);

  box-shadow: 0 10px 22px rgba(30, 45, 20, 0.13);
}

/* =========================================================
   46. FOOTER
   Styling scoped khusus halaman Tentang Kami
   ========================================================= */

.site-footer {
  position: relative;

  width: 100%;

  padding: 65px 0 0;

  background: linear-gradient(135deg, #f6f0e5, #f1eadc);

  border-top: 1px solid rgba(184, 151, 87, 0.2);

  overflow: hidden;
}

.site-footer::before {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 2px;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(184, 151, 87, 0.7),
    transparent
  );
}

/* =========================================================
   47. FOOTER GRID
   ========================================================= */

.site-footer .footer-grid {
  display: grid;

  grid-template-columns:
    1.3fr
    0.9fr
    0.9fr
    1.1fr;

  gap: 42px;

  align-items: start;

  padding-bottom: 45px;
}

/* =========================================================
   48. FOOTER LOGO
   ========================================================= */

.site-footer .footer-logo {
  display: inline-block;

  align-items: center;

  justify-content: center;

  width: 55px;
  height: 55px;

  padding: 3px;

  border: 1px solid rgba(184, 151, 87, 0.5);

  border-radius: 50%;

  background: #fffdf8;

  box-shadow: 0 6px 18px rgba(70, 55, 35, 0.09);
}

.site-footer .footer-logo img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;

  border-radius: 50%;
}

/* =========================================================
   49. FOOTER BRAND TEXT
   ========================================================= */

.site-footer .footer-brand > p {
  max-width: 300px;

  margin: 18px 0 0;

  color: #756e63;

  font-size: 0.82rem;

  line-height: 1.8;
}

/* =========================================================
   50. FOOTER HEADINGS
   ========================================================= */

.site-footer .footer-column h2 {
  position: relative;

  display: inline-block;

  margin: 0 0 18px;

  color: #3f3a31;

  font-family: Georgia, "Times New Roman", serif;

  font-size: 1rem;

  font-weight: 600;
}

.site-footer .footer-column h2::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: -7px;

  width: 28px;
  height: 1px;

  background: #b89757;
}

/* =========================================================
   51. FOOTER LIST
   ========================================================= */

.site-footer .footer-column ul {
  margin: 0;

  padding: 0;

  list-style: none;
}

.site-footer .footer-column li {
  margin: 0;
}

/* =========================================================
   52. FOOTER LINKS
   ========================================================= */

.site-footer .footer-column a {
  color: #756e63;

  font-size: 0.79rem;

  line-height: 1.7;

  text-decoration: none;

  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.site-footer .footer-column a:hover {
  color: #69764d;
}

/* =========================================================
   53. FOOTER CONTACT
   ========================================================= */

.site-footer address {
  margin: 0;

  color: #756e63;

  font-size: 0.79rem;

  font-style: normal;

  line-height: 1.8;
}

.site-footer address p {
  margin: 0 0 5px;
}

/* =========================================================
   54. FOOTER WHATSAPP BUTTON
   ========================================================= */

.site-footer .button-whatsapp {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-height: 40px;

  margin-top: 13px;

  padding: 0 17px;

  border: 1px solid #69764d;

  border-radius: 8px;

  background: #69764d;

  color: #ffffff;

  font-size: 0.72rem;

  font-weight: 700;

  text-decoration: none;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.site-footer .button-whatsapp:hover {
  color: #ffffff;

  transform: translateY(-2px);

  box-shadow: 0 7px 17px rgba(105, 118, 77, 0.2);
}

/* =========================================================
   55. FOOTER BOTTOM
   ========================================================= */

.site-footer .footer-bottom {
  display: flex;

  align-items: center;

  justify-content: center;

  min-height: 65px;

  padding: 18px 0;

  border-top: 1px solid rgba(184, 151, 87, 0.18);

  text-align: center;
}

.site-footer .footer-bottom p {
  margin: 0;

  color: #82796d;

  font-size: 0.68rem;

  line-height: 1.6;
}

/* =========================================================
   56. BACK TO TOP
   ========================================================= */

.back-to-top {
  position: fixed;

  right: 22px;
  bottom: 22px;

  z-index: 1000;

  display: flex;

  align-items: center;

  justify-content: center;

  width: 42px;
  height: 42px;

  border: 1px solid rgba(184, 151, 87, 0.35);

  border-radius: 50%;

  background: rgba(255, 253, 248, 0.92);

  color: #69764d;

  font-size: 18px;

  cursor: pointer;

  box-shadow: 0 7px 20px rgba(70, 55, 35, 0.1);

  backdrop-filter: blur(8px);

  transition:
    transform 0.25s ease,
    background 0.25s ease,
    box-shadow 0.25s ease;
}

.back-to-top:hover {
  transform: translateY(-3px);

  background: #69764d;

  color: #ffffff;

  box-shadow: 0 10px 24px rgba(70, 55, 35, 0.16);
}

/* =========================================================
   57. TABLET
   1024px
   ========================================================= */

@media (max-width: 1024px) {
  .about-story {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(280px, 0.8fr);

    gap: 40px;
  }

  .about-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 18px;
  }

  .about-values-grid {
    gap: 16px;
  }

  .site-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 35px;
  }
}

/* =========================================================
   58. TABLET / SMALL
   768px
   ========================================================= */

@media (max-width: 768px) {
  /* HERO */

  .about-hero-section {
    min-height: 390px;

    padding: 80px 0 70px;
  }

  .about-hero-section > .container,
  .about-story-section > .container,
  .about-cta-section > .container {
    width: calc(100% - 32px);
  }

  .about-hero-content h1 {
    font-size: clamp(2.3rem, 8vw, 3.5rem);
  }

  .about-hero-description {
    max-width: 580px;

    font-size: 0.88rem;
  }

  /* STORY */

  .about-story-section {
    padding: 70px 0;
  }

  .about-story {
    grid-template-columns: 1fr;

    gap: 40px;
  }

  .about-story-content {
    max-width: 720px;

    margin-inline: auto;

    text-align: center;
  }

  .about-story-content .section-label {
    justify-content: center;
  }

  .about-story-content h2 {
    margin-inline: auto;
  }

  .about-story-content p:not(.section-label) {
    margin-inline: auto;
  }

  /* VALUES */

  .about-values-section {
    padding: 70px 0;
  }

  .about-values-grid {
    grid-template-columns: 1fr;

    max-width: 560px;

    margin-inline: auto;

    gap: 15px;
  }

  .about-value-card {
    min-height: auto;

    padding: 30px 25px;
  }

  /* SERVICES */

  .about-services-section {
    padding: 70px 0;
  }

  .about-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    max-width: 650px;

    margin-inline: auto;
  }

  /* CTA */

  .about-cta-section {
    padding: 70px 0;
  }

  .about-cta-section > .container {
    width: calc(100% - 32px);
  }

  /* FOOTER */

  .site-footer {
    padding-top: 55px;
  }

  .site-footer > .container {
    width: calc(100% - 32px);
  }

  .site-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 35px 25px;
  }
}

/* =========================================================
   59. MOBILE
   480px
   ========================================================= */

@media (max-width: 480px) {
  /* =====================================================
       HERO
       ===================================================== */

  .about-hero-section {
    min-height: 350px;

    padding: 65px 0 60px;
  }

  .about-hero-section > .container,
  .about-story-section > .container,
  .about-cta-section > .container {
    width: calc(100% - 24px);
  }

  .about-hero-content .hero-label {
    font-size: 0.64rem;

    letter-spacing: 0.15em;
  }

  .about-hero-content .hero-label::before,
  .about-hero-content .hero-label::after {
    width: 25px;

    margin-inline: 8px;
  }

  .about-hero-content h1 {
    font-size: 2.25rem;

    line-height: 1.12;
  }

  .about-hero-description {
    margin-top: 19px;

    font-size: 0.79rem;

    line-height: 1.75;
  }

  /* =====================================================
       STORY
       ===================================================== */

  .about-story-section {
    padding: 60px 0;
  }

  .about-story-content .section-label,
  .about-values-section .section-label,
  .about-services-section .section-label {
    font-size: 0.62rem;

    letter-spacing: 0.14em;
  }

  .about-story-content .section-label::before {
    width: 23px;

    margin-right: 8px;
  }

  .about-story-content h2 {
    font-size: 1.9rem;

    line-height: 1.22;

    margin-bottom: 20px;
  }

  .about-story-content p:not(.section-label) {
    font-size: 0.78rem;

    line-height: 1.8;
  }

  /* =====================================================
       HIGHLIGHT
       ===================================================== */

  .about-highlight-card {
    padding: 20px 18px 20px 21px;

    border-radius: 12px;
  }

  .about-highlight-card h3 {
    font-size: 1rem;
  }

  .about-highlight-card p {
    font-size: 0.73rem;
  }

  /* =====================================================
       VALUES
       ===================================================== */

  .about-values-section {
    padding: 60px 0;
  }

  .about-values-section .section-heading,
  .about-services-section .section-heading {
    margin-bottom: 35px;
  }

  .about-values-section .section-heading .section-label,
  .about-services-section .section-heading .section-label {
    font-size: 0.62rem;
  }

  .about-values-section .section-heading .section-label::before,
  .about-values-section .section-heading .section-label::after,
  .about-services-section .section-heading .section-label::before,
  .about-services-section .section-heading .section-label::after {
    width: 22px;

    margin-inline: 7px;
  }

  .about-values-section .section-heading h2,
  .about-services-section .section-heading h2 {
    font-size: 1.9rem;
  }

  .about-values-section .section-heading > p:not(.section-label),
  .about-services-section .section-heading > p:not(.section-label) {
    font-size: 0.77rem;

    line-height: 1.75;
  }

  .about-value-card {
    padding: 27px 21px;

    border-radius: 13px;
  }

  .about-value-icon {
    width: 52px;
    height: 52px;

    font-size: 1.15rem;
  }

  .about-value-card h3 {
    font-size: 1.1rem;
  }

  .about-value-card p {
    font-size: 0.75rem;
  }

  /* =====================================================
       SERVICES
       ===================================================== */

  .about-services-section {
    padding: 60px 0;
  }

  .about-services-grid {
    grid-template-columns: 1fr;

    width: 100%;

    max-width: 390px;

    gap: 13px;
  }

  .about-service-card {
    min-height: auto;

    padding: 28px 22px;

    border-radius: 13px;
  }

  .about-service-icon {
    width: 52px;
    height: 52px;

    margin-bottom: 15px;
  }

  .about-service-card h3 {
    font-size: 1.1rem;
  }

  .about-service-card p {
    max-width: 300px;

    font-size: 0.75rem;
  }

  /* =====================================================
       CTA
       ===================================================== */

  .about-cta-section {
    padding: 60px 0;
  }

  .about-cta-content .section-label {
    font-size: 0.6rem;

    letter-spacing: 0.13em;
  }

  .about-cta-content h2 {
    font-size: 1.95rem;

    line-height: 1.2;
  }

  .about-cta-content > p:not(.section-label) {
    font-size: 0.78rem;

    line-height: 1.75;
  }

  .about-cta-actions {
    flex-direction: column;

    width: 100%;

    gap: 9px;

    margin-top: 25px;
  }

  .about-cta-actions .button {
    width: 100%;

    max-width: 290px;
  }

  /* =====================================================
       FOOTER
       ===================================================== */

  .site-footer {
    padding-top: 48px;
  }

  .site-footer > .container {
    width: calc(100% - 24px);
  }

  .site-footer .footer-grid {
    grid-template-columns: 1fr;

    gap: 30px;

    padding-bottom: 35px;
  }

  /* BRAND CENTER */

  .site-footer .footer-brand {
    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;
  }

  .site-footer .footer-brand > p {
    max-width: 290px;

    margin-inline: auto;

    font-size: 0.76rem;
  }

  /* FOOTER HEADING CENTER */

  .site-footer .footer-column:not(.footer-brand) {
    text-align: center;
  }

  .site-footer .footer-column h2 {
    margin-bottom: 17px;
  }

  .site-footer .footer-column h2::after {
    left: 50%;

    transform: translateX(-50%);
  }

  /* NAVIGATION */

  .site-footer .footer-column:nth-child(2) nav ul {
    display: grid;

    grid-template-columns: repeat(1, 1fr);

    max-width: 300px;

    margin-inline: auto;

    gap: 3px;
  }

  /* CATEGORY */

  .site-footer .footer-column:nth-child(3) nav ul {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    max-width: 330px;

    margin-inline: auto;

    gap: 3px;
  }

  .site-footer .footer-column a {
    font-size: 0.74rem;
  }

  /* CONTACT */

  .site-footer .footer-column:nth-child(4) {
    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;
  }

  .site-footer address {
    font-size: 0.75rem;
  }

  .site-footer .button-whatsapp {
    margin-inline: auto;
  }

  .site-footer .footer-bottom {
    min-height: 58px;

    padding: 15px 5px;
  }

  .site-footer .footer-bottom p {
    font-size: 0.64rem;
  }

  /* BACK TO TOP */

  .back-to-top {
    right: 14px;
    bottom: 14px;

    width: 38px;
    height: 38px;

    font-size: 16px;
  }
}

/* =========================================================
   60. EXTRA SMALL MOBILE
   360px
   ========================================================= */

@media (max-width: 360px) {
  .about-hero-content h1 {
    font-size: 2rem;
  }

  .about-hero-description {
    font-size: 0.75rem;
  }

  .about-story-content h2 {
    font-size: 1.7rem;
  }

  .about-values-section .section-heading h2,
  .about-services-section .section-heading h2 {
    font-size: 1.7rem;
  }

  .about-cta-content h2 {
    font-size: 1.75rem;
  }

  .site-footer .footer-column:nth-child(2) nav ul {
    max-width: 280px;
  }

  .site-footer .footer-column:nth-child(3) nav ul {
    max-width: 300px;
  }

  .site-footer .footer-column a {
    font-size: 0.7rem;
  }
}

/* =========================================================
   61. ACCESSIBILITY
   ========================================================= */

.about-cta-actions a:focus-visible,
.about-service-card a:focus-visible,
.site-footer a:focus-visible,
.back-to-top:focus-visible {
  outline: 2px solid #b89757;

  outline-offset: 3px;
}

/* =========================================================
   62. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .about-hero-section *,
  .about-story-section *,
  .about-values-section *,
  .about-services-section *,
  .about-cta-section *,
  .site-footer *,
  .back-to-top {
    transition: none !important;

    animation: none !important;
  }
}
