/* =========================
   FOOTER SECTION (NOW WRAPS CONTACT + FOOTER)
   + ONE SINGLE BACKGROUND BLUR CIRCLE BEHIND BOTH
   ========================= */

.footer-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  color: #FFFFFF;
  font-family: "Urbanist", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin: 0;
  padding: 0;

  position: relative;
  overflow: hidden;

  /* ✅ UNIFIED BLUR (SAME WIDTH, TALLER HEIGHT) */
  --blur-w: 1760px;
  --blur-h: 2000px;
  --blur-top: 48%;
  --blur-radius: 680px;
  --blur-blur: 170px;
  --blur-brightness: 0.60;
  --blur-opacity: 0.90;
}

/* ✅ ONE SINGLE BLUR WRAP (covers the entire section height) */
.footer-unified-blur-wrap {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

/* ✅ Blur circle core (safe default if not defined globally) */
.relyn-blur-layer {
  position: absolute;
  left: 50%;
  top: var(--blur-top);
  width: var(--blur-w);
  height: var(--blur-h);
  transform: translate(-50%, -50%);
  border-radius: var(--blur-radius);
  background: radial-gradient(
    circle at center,
    rgba(99, 62, 178, 0.55) 0%,
    rgba(99, 62, 178, 0.22) 40%,
    rgba(99, 62, 178, 0.10) 60%,
    rgba(99, 62, 178, 0.00) 72%
  );
  filter: blur(var(--blur-blur)) brightness(var(--blur-brightness));
  opacity: var(--blur-opacity);
}

.footer-unified-blur {
  opacity: var(--blur-opacity);
}

/* =========================
   CONTACT SECTION
   ========================= */

.contact-section {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 0 24px 0px;
  background: transparent;
  color: #FFFFFF;
  font-family: "Urbanist", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin: 0;
  position: relative;
  z-index: 1;
}

.contact-shell {
  position: relative;
  width: 100%;
  max-width: 1919px;
  min-height: 1040px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 96px;
  z-index: 1;
}

.contact-header {
  position: relative;
  z-index: 1;
  text-align: center;
  width: 100%;
  max-width: 1400px;
}

.contact-kicker {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #FFFFFF;
}

.contact-title {
  margin: 20px 0 0;
  font-size: 48px;
  font-weight: 600;
  color: #FFFFFF;
}

.contact-row {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1919px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  padding-left: 262px;
  padding-right: 262px;
  box-sizing: border-box;
}

.contact-left {
  width: 640px;
  max-width: 640px;
  margin-top: 268px;
}

.contact-left-kicker {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #FFFFFF;
  text-align: left;
}

.contact-left-title {
  margin: 32px 0 0;
  font-size: 48px;
  font-weight: 700;
  line-height: 70px;
  letter-spacing: 0;
  color: #FFFFFF;
  text-align: left;
}

.contact-points {
  margin-top: 55px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.contact-point {
  display: flex;
  align-items: center;
  gap: 20px;
}

.contact-tick {
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: rgba(99, 62, 178, 0.22);
  border: 1px solid rgba(99, 62, 178, 0.95);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
}

.contact-tick::after {
  content: "";
  width: 9px;
  height: 5px;
  border-left: 2px solid #633EB2;
  border-bottom: 2px solid #633EB2;
  transform: rotate(-45deg);
  display: block;
  margin-top: -1px;
}

.contact-point-text {
  font-size: 20px;
  font-weight: 400;
  color: #FFFFFF;
  text-align: left;
  line-height: 1.35;
}

.contact-point-text.is-single-line {
  white-space: nowrap;
}

.contact-right {
  margin-left: 120px;
  margin-top: 100px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.contact-form-card {
  position: relative;
  width: 711px;
  height: 646px;

  /* ✅ more curvature on top visually as well */
  border-radius: 25px;

  overflow: visible;
  filter: drop-shadow(0 28px 95px rgba(0, 0, 0, 0.95));
}

.contact-form-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

/* ✅ DEFAULT: show curved-notched border */
.contact-form-path--rect {
  display: none;
}

.contact-form-path--notch {
  display: block;
}

/* ✅ MOBILE + TABLET PORTRAIT: switch to straight border (no curve) */
@media (max-width: 820px) {
  .contact-form-path--notch {
    display: none;
  }

  .contact-form-path--rect {
    display: block;
  }
}

.contact-form-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding-top: 53px;
  padding-left: 43px;
  padding-right: 33px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.contact-field {
  width: 100%;
}

.contact-label {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0;
}

.contact-input {
  margin-top: 16px;
  width: 635px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.95);
  background: rgba(0, 0, 0, 0.18);
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 400;
  padding: 0 14px;
  outline: none;
  box-sizing: border-box;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.contact-input::placeholder {
  color: rgba(255, 255, 255, 0.50);
}

.contact-field-row {
  margin-top: 35px;
  width: 635px;
  display: flex;
  gap: 15px;
}

.contact-field.is-half {
  width: 305px;
}

.contact-field.is-half .contact-input {
  width: 305px;
}

.contact-budget {
  margin-top: 35px;
}

.contact-budget-options {
  margin-top: 16px;
  width: 635px;
  display: flex;
  gap: 22px;
}

.contact-budget-pill {
  width: 140px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.95);
  background: rgba(0, 0, 0, 0.16);
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  padding: 0 10px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: transform 0.18s ease, filter 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.contact-budget-pill:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
}

.contact-budget-pill.is-selected {
  border-color: #633EB2;
  background: rgba(99, 62, 178, 0.28);
  color: #FFFFFF;
}

.contact-details {
  margin-top: 35px;
}

.contact-textarea {
  font-family: "Urbanist", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin-top: 16px;
  width: 625px;
  height: 136px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.95);
  background: rgba(0, 0, 0, 0.18);
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 400;
  padding: 10px 14px;
  outline: none;
  box-sizing: border-box;
  resize: none;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.contact-textarea::placeholder {
  color: rgba(255, 255, 255, 0.50);
}

.contact-bottom-spacer {
  margin-top: auto;
  height: 60px;
}

.contact-submit-btn {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
  width: 258px;
  height: 50px;
  border-radius: 20px;
  border: 2px solid #633EB2;
  background: linear-gradient(180deg, rgba(99, 62, 178, 0.95) 0%, rgba(99, 62, 178, 0.62) 100%);
  color: #FFFFFF;
  font-size: 20px;
  font-weight: 600;
  cursor: pointer;
  z-index: 2;
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.90);
  transition: transform 0.22s ease, filter 0.22s ease, box-shadow 0.22s ease;
}

.contact-submit-btn:hover {
  transform: translate(-50%, 50%) translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 30px 85px rgba(0, 0, 0, 0.96);
}

/* ✅ LAPTOP + TABLET (LANDSCAPE) FIX: reduce sizes so full width fits */
@media (max-width: 1400px) and (min-width: 1024px) {
  .contact-shell {
    padding-top: 78px;
    min-height: 960px;
  }

  .contact-header {
    max-width: 1180px;
  }

  .contact-kicker {
    font-size: 16px;
  }

  .contact-title {
    font-size: 34px;
    line-height: 46px;
    margin-top: 16px;
  }

  .contact-row {
    padding-left: 90px;
    padding-right: 90px;
  }

  .contact-left {
    width: 520px;
    max-width: 520px;
    margin-top: 210px;
  }

  .contact-left-kicker {
    font-size: 16px;
  }

  .contact-left-title {
    font-size: 34px;
    line-height: 50px;
    margin-top: 22px;
  }

  .contact-point-text {
    font-size: 16px;
  }

  .contact-right {
    margin-left: 64px;
    margin-top: 86px;
  }

  .contact-form-card {
    width: 620px;
    height: 590px;
    border-radius: 25px;
  }

  .contact-form-inner {
    padding-top: 44px;
    padding-left: 34px;
    padding-right: 28px;
  }

  .contact-input {
    width: 552px;
    height: 38px;
    font-size: 14px;
    margin-top: 12px;
  }

  .contact-label {
    font-size: 16px;
  }

  .contact-field-row {
    margin-top: 26px;
    width: 552px;
    gap: 12px;
  }

  .contact-field.is-half {
    width: 270px;
  }

  .contact-field.is-half .contact-input {
    width: 270px;
  }

  .contact-budget {
    margin-top: 26px;
  }

  .contact-budget-options {
    margin-top: 12px;
    width: 552px;
    gap: 14px;
  }

  .contact-budget-pill {
    width: 123px;
    height: 38px;
    font-size: 13px;
    padding: 0 8px;
  }

  .contact-details {
    margin-top: 26px;
  }

  .contact-textarea {
    width: 552px;
    height: 120px;
    font-size: 14px;
    margin-top: 12px;
  }

  .contact-bottom-spacer {
    height: 54px;
  }

  .contact-submit-btn {
    width: 220px;
    height: 46px;
    font-size: 16px;
    border-radius: 18px;
  }
}

@media (max-width: 1400px) {
  .contact-row {
    padding-left: 120px;
    padding-right: 120px;
  }

  .contact-left {
    width: 520px;
    max-width: 520px;
  }

  .contact-right {
    margin-left: 80px;
  }
}

@media (max-width: 1180px) {
  .contact-row {
    flex-direction: column;
    align-items: center;
    padding-left: 24px;
    padding-right: 24px;
  }

  .contact-left {
    margin-top: 120px;
    width: 100%;
    max-width: 760px;
  }

  .contact-right {
    margin-left: 0;
    margin-top: 80px;
  }

  .contact-point-text.is-single-line {
    white-space: normal;
  }
}

@media (max-width: 820px) {
  .contact-title {
    font-size: 34px;
  }

  .contact-left-title {
    font-size: 34px;
    line-height: 52px;
  }

  .contact-form-card {
    width: min(711px, 100%);
  }

  .contact-form-inner {
    padding-left: 26px;
    padding-right: 26px;
  }

  .contact-input,
  .contact-field-row,
  .contact-budget-options {
    width: 100%;
  }

  .contact-input {
    width: 100%;
  }

  .contact-field.is-half {
    width: 100%;
  }

  .contact-field-row {
    flex-direction: column;
    gap: 18px;
  }

  .contact-field.is-half .contact-input {
    width: 100%;
  }

  .contact-budget-options {
    flex-wrap: wrap;
  }

  .contact-budget-pill {
    width: calc(50% - 11px);
  }

  .contact-textarea {
    width: 100%;
  }
}

/* ✅ MOBILE: reduce font sizes + increase form height */
@media (max-width: 520px) {
  .contact-shell {
    padding-top: 72px;
    min-height: 980px;
  }

  .contact-kicker {
    font-size: 14px;
  }

  .contact-title {
    font-size: 22px;
    line-height: 1.25;
  }

  .contact-left-kicker {
    font-size: 14px;
  }

  .contact-left-title {
    font-size: 22px;
    line-height: 32px;
    margin-top: 18px;
  }

  .contact-points {
    margin-top: 28px;
    gap: 16px;
  }

  .contact-point {
    gap: 14px;
  }

  .contact-point-text {
    font-size: 14px;
    line-height: 1.35;
  }

  .contact-tick {
    width: 18px;
    height: 18px;
  }

  .contact-tick::after {
    width: 8px;
    height: 4px;
  }

  .contact-form-card {
    height: 740px;
    border-radius: 18px;
  }

  .contact-form-inner {
    padding-top: 40px;
    padding-left: 18px;
    padding-right: 18px;
  }

  .contact-label {
    font-size: 14px;
  }

  .contact-input {
    height: 38px;
    font-size: 14px;
    margin-top: 12px;
    border-radius: 10px;
  }

  .contact-field-row {
    margin-top: 22px;
    gap: 14px;
  }

  .contact-budget {
    margin-top: 22px;
  }

  .contact-budget-options {
    margin-top: 12px;
    gap: 12px;
  }

  .contact-budget-pill {
    height: 38px;
    font-size: 13px;
    border-radius: 10px;
    width: calc(50% - 6px);
  }

  .contact-details {
    margin-top: 22px;
  }

  .contact-textarea {
    height: 170px;
    font-size: 14px;
    margin-top: 12px;
  }

  .contact-bottom-spacer {
    height: 78px;
  }

  .contact-submit-btn {
    width: 220px;
    height: 46px;
    font-size: 16px;
    border-radius: 18px;
  }
}

/* =========================
   FOOTER CSS
   ========================= */

.footer-shell {
  position: relative;
  width: 100%;
  max-width: 1920px;
  overflow: hidden;
  margin: 0 auto;
  z-index: 1;
}

.footer-main {
  position: relative;
  width: 100%;
  max-width: 1919px;
  height: 665px;
  margin: 0 auto;
  overflow: hidden;
}

.footer-col {
  position: absolute;
  z-index: 2;
}

.footer-col-1 {
  --footer-col1-left: 160px;
  --footer-col1-top: 110px;

  left: var(--footer-col1-left);
  top: var(--footer-col1-top);
  width: 640px;

  --footer-col1-pad-left: 0px;
  --footer-logo-pad-left: -96px;
  --footer-logo-nudge-x: -58px;
  --footer-text-pad-left: 0px;
  --footer-btn-pad-left: 0px;
}

.footer-col-2 {
  left: 860px;
  top: 116px;
  width: 260px;
}

.footer-col-3 {
  left: 1200px;
  top: 116px;
  width: 240px;
}

.footer-col-4 {
  left: 1462px;
  top: 116px;
  width: 300px;
}

.footer-col-1-inner {
  padding-left: var(--footer-col1-pad-left);
}

.footer-brand-top {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding-left: var(--footer-logo-pad-left);
}

.footer-logo {
  width: 200px;
  height: 200px;
  object-fit: contain;
  display: block;
  flex: 0 0 auto;
  transform: translateX(var(--footer-logo-nudge-x));
}

.footer-description {
  margin: 0;
  margin-top: 58px;
  font-size: 20px;
  font-weight: 500;
  line-height: 30px;
  color: #FFFFFF;
  text-align: left;
  max-width: 520px;
  padding-left: var(--footer-text-pad-left);
}

.footer-btn-wrap {
  margin-top: 38px;
  padding-left: var(--footer-btn-pad-left);
}

.footer-contact-btn {
  width: 175px;
  height: 45px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  text-decoration: none;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;

  background: linear-gradient(to bottom, #633EB2 0%, #633EB2 100%);
  border: 1px solid #FFFFFF;
  box-shadow: 0 10px 30px rgba(99, 62, 178, 0.28);
  transition: transform 220ms ease, box-shadow 220ms ease, opacity 220ms ease;
}

.footer-contact-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 36px rgba(99, 62, 178, 0.36);
}

.footer-contact-btn:active {
  transform: translateY(0px);
  opacity: 0.92;
}

.footer-contact-btn:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.85);
  outline-offset: 3px;
}

.footer-arrow {
  font-size: 18px;
  line-height: 1;
}

.footer-col-title {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: #FFFFFF;
  text-align: left;
  letter-spacing: 0.02em;
}

.footer-list {
  list-style: none;
  padding: 0;
  margin: 52px 0 0 0;
}

.footer-list li {
  margin: 0 0 22px 0;
}

.footer-list li:last-child {
  margin-bottom: 0;
}

.footer-link {
  font-size: 20px;
  font-weight: 500;
  color: #FFFFFF;
  text-decoration: none;
  opacity: 0.95;
  transition: opacity 180ms ease, transform 180ms ease;
  display: inline-block;
}

.footer-link:hover {
  opacity: 1;
  transform: translateX(2px);
}

.footer-link:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.85);
  outline-offset: 3px;
  border-radius: 6px;
}

.footer-social-title {
  margin-top: 94px;
}

.footer-social-row {
  margin-top: 52px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer-social {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  text-decoration: none;
  color: #FFFFFF;
  transition: transform 180ms ease, opacity 180ms ease, background 180ms ease;
}

.footer-social:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.06);
}

.footer-social:active {
  transform: translateY(0px);
  opacity: 0.9;
}

.footer-social:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.85);
  outline-offset: 3px;
}

/* ✅ Proper icons + same visible size across all */
.footer-social-icon {
  width: 22px;
  height: 22px;
  display: block;
  flex: 0 0 auto;
}

/* ✅ MOBILE helper blocks are hidden by default */
.footer-social-block--mobile,
.footer-policy-block--mobile {
  display: none;
}

/* =========================
   SUBSECTION (1920×671)
   ========================= */

.footer-subsection {
  position: relative;
  width: 100%;
  max-width: 1920px;
  height: 671px;
  margin: 0 auto;
  overflow: hidden;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;

  padding-top: 80px;
  padding-bottom: 28px;
  box-sizing: border-box;

  z-index: 1;
  isolation: isolate;

  --axis-nudge-x: 0px;
  --relyn-size: clamp(240px, 34vw, 640px);
  --relyn-cut: 0.20;

  --copyright-pad-y: 8px;
  --copyright-pad-x: 14px;
}

.footer-sub-title {
  margin: 0;

  position: absolute;
  left: 50%;
  bottom: calc(var(--relyn-size) * var(--relyn-cut) * -1);

  width: 100%;

  transform: translateX(-50%) translateX(var(--axis-nudge-x));

  text-align: center;
  white-space: nowrap;

  font-size: var(--relyn-size);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;

  background: linear-gradient(
    90deg,
    #A697E0 0%,
    #633EB2 21%,
    #A697E0 52%,
    #633EB2 80%,
    #A697E0 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;

  z-index: 3;

  pointer-events: none;
  user-select: none;
}

.footer-sub-line-blur {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%) translateX(var(--axis-nudge-x));
  width: 1920px;
  height: 403px;
  pointer-events: none;

  background: linear-gradient(
    180deg,
    rgba(99, 62, 178, 0.20) 0%,
    rgba(99, 62, 178, 0.80) 100%
  );

  filter: blur(85px) brightness(0.78);
  opacity: 0.95;

  z-index: 1;
}

.footer-sub-copyright {
  position: absolute;
  left: 50%;
  bottom: 17px;
  transform: translateX(-50%) translateX(var(--axis-nudge-x));
  margin: 0;

  font-size: 20px;
  font-weight: 600;
  color: #FFFFFF;
  text-align: center;
  white-space: nowrap;

  padding: var(--copyright-pad-y) var(--copyright-pad-x);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.38);
  border: 1px solid rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  z-index: 6;
}

/* =========================
   RESPONSIVE SAFETY (keeps desktop pixel layout intact)
   ========================= */

@media (max-width: 1600px) {
  .footer-main {
    height: auto;
    min-height: 665px;
    padding: 110px 40px 80px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1fr;
    gap: 42px;
  }

  .footer-col {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
  }

  .footer-col-1,
  .footer-col-2,
  .footer-col-3,
  .footer-col-4 {
    position: relative;
  }

  .footer-col-1 {
    --footer-logo-pad-left: 0px;
    --footer-logo-nudge-x: 0px;
  }
}

@media (max-width: 1200px) {
  .footer-subsection {
    --relyn-size: clamp(220px, 40vw, 520px);
    --relyn-cut: 0.32;
  }
}

@media (max-width: 768px) {
  .footer-main {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "col1 col1"
      "col2 col3";
    padding: 72px 18px 56px;
    gap: 22px;
  }

  .footer-col-1 { grid-area: col1; }
  .footer-col-2 { grid-area: col2; }
  .footer-col-3 { grid-area: col3; }

  .footer-col-4 {
    display: none;
  }

  .footer-social-block--mobile,
  .footer-policy-block--mobile {
    display: block;
  }

  .footer-col-title {
    font-size: 16px;
    letter-spacing: 0.06em;
  }

  .footer-list {
    margin-top: 18px;
  }

  .footer-list li {
    margin: 0 0 12px 0;
  }

  .footer-link {
    font-size: 14px;
  }

  .footer-description {
    margin-top: 18px;
    font-size: 14px;
    line-height: 20px;
    max-width: 100%;
  }

  .footer-btn-wrap {
    margin-top: 16px;
  }

  .footer-contact-btn {
    width: 160px;
    height: 40px;
    font-size: 13px;
    border-radius: 16px;
  }

  .footer-logo {
    width: 150px;
    height: 150px;
    transform: translateX(-18px);
  }

  .footer-brand-top {
    padding-left: 0px;
    gap: 14px;
  }

  .footer-social-title--mobile {
    margin-top: 14px;
  }

  .footer-social-row--mobile {
    margin-top: 12px;
  }

  .footer-policy-title--mobile {
    margin-top: 14px;
  }

  .footer-policy-list--mobile {
    margin-top: 12px;
  }

  .footer-social {
    width: 28px;
    height: 28px;
    border-radius: 8px;
  }

  .footer-social-icon {
    width: 20px;
    height: 20px;
  }

  .footer-subsection {
    height: 420px;
    padding-top: 0px;
    padding-bottom: 18px;

    --relyn-cut: 0.14;
  }

  /* ✅ MOBILE/TABLET PORTRAIT: move "Relyn" up more (and keep a small gap to copyright) */
  .footer-sub-title {
    bottom: 92px;
  }
}

@media (max-width: 520px) {
  .footer-logo {
    width: 132px;
    height: 132px;
    transform: translateX(-24px);
  }

  .footer-subsection {
    height: 300px;
    padding-top: 0px;
    padding-bottom: 18px;

    --relyn-size: clamp(92px, 32vw, 170px);
    --relyn-cut: 0.02;
  }

  .footer-sub-title {
    letter-spacing: 0.02em;
    bottom: 70px;
  }

  .footer-sub-copyright {
    font-size: 12px;
    bottom: 14px;
    white-space: normal;
    width: calc(100% - 26px);
    text-align: center;
  }
}
