@charset "utf-8";
*, *::before, *::after {
  box-sizing: border-box;
  user-select: none;
}

html, body, h1, h2, h3, h4, h5, h6, p,
ul, ol, li, figure, blockquote, dl, dd {
  margin: 0;
  padding: 0;
}

ul, ol {
  list-style: none;
}

input, button, textarea, select {
  font: inherit;
  color: inherit;
  border: none;
  background: none;
}

table {
  border-collapse: collapse;
}

table th{
  vertical-align:top;
}


img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}


a{
	text-decoration:underline;
	color:#ffc400;
}

a {
    -webkit-tap-highlight-color:transparent;
}

a:hover{
	color: #fff;
}

a img {
    border-style:none;
}

input,textarea,select,button{
	font-family: "Noto Sans JP", sans-serif;
}

img{
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
}

html,body {
	-webkit-text-size-adjust: 100%;
}

:root {
	--black:0, 0, 0;
	--white:255, 255, 255;
	--brown:40, 31, 16;
	--brown2:78, 48, 29;
	--yellow:242, 218, 137;
	--yellow2:244, 198, 81;
	--red:123, 16, 15;
	--red2:189, 0, 0;
	--green:0, 151, 36;
	--green2:8, 169, 0;
	--orange:215, 147, 47;
}

body {
	min-height: 100vh;
    margin:0;
	width:100%;
    color: rgba(var(--white),1.0);
	background: rgba(var(--black),1.0);
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: clamp(14px, 3.5vw, 18px);
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
}


#wrapper {
  	overflow:hidden;
	margin: 0 auto;
	max-width: 1024px;
}

/* =========================
   TOP MV
========================= */
:root {
  --mv-glow: #27854e;
}

.mv {
  position: relative;
  width: 100%;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background: #000;
}

.mv__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url("../../images/newgate/top.jpg") center top / cover no-repeat;
  transform: scale(1);
  filter: blur(0px);
  transition:
    filter 1.3s ease,
    transform 1.8s ease,
    opacity 0.8s ease;
  will-change: filter, transform;
}

.mv.is-blur .mv__bg {
  filter: blur(2px);
  transform: scale(1.02);
}

.mv::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(to bottom,
      rgba(0,0,0,0.08) 0%,
      rgba(0,0,0,0.10) 25%,
      rgba(0,0,0,0.18) 55%,
      rgba(0,0,0,0.28) 100%);
}

.mv__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 100svh;
  padding:
    clamp(20px, 4vw, 36px)
    0
    clamp(28px, 7vw, 56px);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.mv__logo {
  width: min(91.3%, 935px);
  margin:
    clamp(12px, 2vw, 18px)
    auto
    0;
}

.mv__txt {
  width: min(82.5%, 845px);
  margin:
    clamp(18px, 3.4vw, 34px)
    auto
    0;
}

.mv__cv {
  width: min(100%, 980px);
  margin:
    clamp(26px, 5vw, 44px)
    auto
    0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(14px, 2.8vw, 24px);
}

.mv__cvLead {
  width: min(88.4%, 906px);
}

.mv__lineBtn {
  display: block;
  width: min(96.3%, 987px);
  border-radius: 999px;
  position: relative;
  transform-origin: center center;
  will-change: transform, filter;
}

.mv__lineBtn img {
  width: 100%;
  display: block;
}

.mv__cvSub {
  width: min(82.1%, 841px);
}

/* 初期非表示 */
.js-reveal {
  opacity: 0;
  transform: translateY(24px) scale(0.96);
  filter: blur(8px);
  pointer-events: none;
}

.js-reveal.is-show {
  animation: mvReveal 0.9s cubic-bezier(.22,1,.36,1) forwards;
  pointer-events: auto;
}

@keyframes mvReveal {
  0% {
    opacity: 0;
    transform: translateY(24px) scale(0.96);
    filter: blur(8px);
  }
  60% {
    opacity: 1;
    transform: translateY(-2px) scale(1.01);
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

/* cv01 の上下ふわふわ */
.floatY {
  animation: floatY 2.8s ease-in-out infinite;
  animation-play-state: paused;
}

.floatY.is-animated {
  animation-play-state: running;
}

@keyframes floatY {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-10px); }
  100% { transform: translateY(0); }
}

/* line-btn の拡大縮小 + 光彩 */
.pulseGlow {
  animation:
    linePulse 1.7s ease-in-out infinite,
    lineGlow 1.7s ease-in-out infinite;
  animation-play-state: paused;
}

.pulseGlow.is-animated {
  animation-play-state: running;
}

@keyframes linePulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.035); }
  100% { transform: scale(1); }
}

@keyframes lineGlow {
  0% {
    filter:
      drop-shadow(0 0 0 rgba(39,133,78,0))
      drop-shadow(0 0 0 rgba(39,133,78,0));
  }
  50% {
    filter:
      drop-shadow(0 0 10px rgba(39,133,78,0.70))
      drop-shadow(0 0 22px rgba(39,133,78,0.55))
      drop-shadow(0 0 38px rgba(39,133,78,0.35));
  }
  100% {
    filter:
      drop-shadow(0 0 0 rgba(39,133,78,0))
      drop-shadow(0 0 0 rgba(39,133,78,0));
  }
}

/* 少しだけ見栄え調整 */
.mv__logo img,
.mv__txt img,
.mv__cvLead img,
.mv__cvSub img {
  width: 100%;
}


/* PCで少し大きく見せたい時用 */
@media (min-width: 769px) {
  .mv__logo {
    max-width: 780px;
  }

  .mv__txt {
    max-width: 780px;
  }

  .mv__cv {
    max-width: 780px;
  }
}

/* =========================
   RESULT
========================= */
.result {
  position: relative;
  padding: clamp(30px, 6vw, 70px) 0;
}

.result__inner {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 clamp(12px, 3vw, 24px);
}

.resultSwiper {
  overflow: visible;
}

.resultSwiper .swiper-slide {
  height: auto;
}

.resultCard {
  position: relative;
  width: 100%;
  aspect-ratio: 877 / 1461;
  overflow: hidden;
}

.resultCard__bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.resultCard__img {
    position: absolute;
    width: 80%;
    top: 24%;
    left: 10%;
    z-index: 100;
}

.resultCard__img img {
    border: 2px solid #000
}

/* 日付 */
.resultCard__date {
  position: absolute;
  left: 50%;
  top: 59.7%;
  transform: translateX(-50%);
  width: 72%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 7.4%;
  padding: 0.35em 0.8em;
  border-radius: 999px;
  color: #fff;
  background: rgb(var(--brown));
  text-align: center;
  font-weight: 900;
  font-size: clamp(14px, 3.5vw, 24px);
  line-height: 1;
  letter-spacing: 0.02em;
}

/* プラン名 */
.resultCard__plan {
  position: absolute;
  left: 50%;
  top: 69%;
  transform: translateX(-50%);
  width: 92%;
  color: rgb(var(--brown));
  text-align: center;
  font-weight: 700;
  font-size: clamp(15px, 3.3vw, 25px);
  line-height: 1.25;
  letter-spacing: 0.01em;

  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
}

/* レース名 */
.resultCard__race {
  position: absolute;
  left: 50%;
  top: 76%;
  transform: translateX(-50%);
  width: 95%;
  color: rgb(var(--brown));
  text-align: center;
  font-weight: 700;
  font-size: clamp(15px, 3.3vw, 25px);
  line-height: 1.25;
  letter-spacing: 0.01em;
}

/* 金額 */
.resultCard__price {
  position: absolute;
  left: 48%;
  bottom: 6.2%;
  transform: translateX(-50%);
  width: 92%;
  text-align: center;
  font-weight: 900;
  font-size: clamp(18px, 7.5vw, 44px);
  line-height: 1;

  white-space: nowrap;
  background: linear-gradient(
    to bottom,
    #f9e777 0%, #f9e777 20%,
    #fff 49%,
    #ffd649 50%,
    #d48c2d 50%, #d48c2d 60%,
    #f6b934 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: url(#gold-outline) drop-shadow(0 4px 6px rgba(0,0,0,0.3));
  -webkit-text-stroke: 0;
}

.resultCard__price::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 10;
  display: block;

  background: linear-gradient(
    to bottom,
    #f9e777 0%,
    #f9e777 20%,
    #fff 49%,
    #ffd649 50%,
    #d48c2d 50%,
    #d48c2d 60%,
    #f6b934 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;

  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;

  letter-spacing: inherit;
  line-height: inherit;
}

@media (max-width: 1024px) {
  .result__inner {
    padding: 0 4px;
  }
}

@media (max-width: 768px) {
  .result {
    padding: 16px 0;
  }

  .resultCard__date {
    width: 73%;
  }



  .resultCard__price {
    width: 92%;
    bottom: 5.8%;
  }
}

/* =========================
   SEC01
========================= */
.sec01 {
  background: #000;
  padding: 0;
}

.sec01__inner {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0;
}

.sec01__visual {
  position: relative;
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  overflow: hidden;
}

.sec01__bgImg {
  display: block;
  width: 100%;
  height: auto;
}

/* 重ねる文字 */
.sec01__ttl,
.sec01__txt {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.sec01__ttl {
  top: 20%;
  width: min(78%, 802px);
}

.sec01__txt {
  top: 49%;
  width: min(80%, 833px);
}

/* 画像 */
.sec01__ttl img,
.sec01__txt img {
  width: 100%;
}

/* 初期状態 */
.js-sec01Ttl,
.js-sec01Txt {
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity, filter;
}

.js-sec01Ttl {
  transform: translateX(-50%) translateY(36px) scale(0.94);
  filter: blur(10px);
}

.js-sec01Txt {
  transform: translateX(-50%) translateY(24px);
  filter: blur(8px);
}

.js-sec01Ttl.is-inview {
  animation: sec01TtlIn 0.75s cubic-bezier(.22,1,.36,1) forwards;
}

.js-sec01Txt.is-inview {
  animation: sec01TxtIn 0.7s cubic-bezier(.22,1,.36,1) 0.18s forwards;
}

.js-sec01Ttl.is-outview {
  animation: sec01TtlOut 0.45s ease forwards;
}

.js-sec01Txt.is-outview {
  animation: sec01TxtOut 0.42s ease forwards;
}

/* =========================
   SEC02
========================= */
.sec02 {
  background: #000;
  padding: 0;
}

.sec02__inner {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0;
}

.sec02__visual {
  position: relative;
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  overflow: hidden;
}

.sec02__bgImg {
  display: block;
  width: 100%;
  height: auto;
}

.sec02__ttl,
.sec02__txt {
  position: absolute;
  left: 50%;
  z-index: 2;
}

.sec02__ttl {
  top: 10.5%;
  width: min(72.3%, 741px);
  transform: translateX(-50%);
}

.sec02__txt {
  top: 53.1%;
  width: min(81.5%, 835px);
  transform: translateX(-50%);
}

.sec02__ttl img,
.sec02__txt img {
  width: 100%;
}

/* =========================
   SEC03
========================= */
.sec03 {
  background: #000;
  padding: 0;
}

.sec03__inner {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0;
}

.sec03__visual {
  position: relative;
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  overflow: hidden;
}

.sec03__bgImg {
  display: block;
  width: 100%;
  height: auto;
}

.sec03__ttl,
.sec03__mid,
.sec03__txt {
  position: absolute;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
}

.sec03__ttl {
  top: 3.8%;
  width: min(91.5%, 937px);
}

.sec03__mid {
  top: 32.2%;
  width: min(86.0%, 881px);
}

.sec03__txt {
  top: 65.8%;
  width: min(85.6%, 877px);
}

.sec03__ttl img,
.sec03__mid img,
.sec03__txt img {
  width: 100%;
}

/* =========================
   SEC04
========================= */
.sec04 {
  background: #000;
  padding: 0;
}

.sec04__inner {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0;
}

.sec04__visual {
  position: relative;
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  overflow: hidden;
}

.sec04__bgImg {
  display: block;
  width: 100%;
  height: auto;
}

.sec04__ttl,
.sec04__mid,
.sec04__txt {
  position: absolute;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
}

.sec04__ttl {
  top: 5.8%;
  width: min(93.9%, 962px);
}

.sec04__mid {
  top: 35.8%;
  width: min(89.5%, 917px);
}

.sec04__txt {
  top: 60.8%;
  width: min(93.1%, 954px);
}

.sec04__ttl img,
.sec04__mid img,
.sec04__txt img {
  width: 100%;
}

/* =========================
   SEC05
========================= */
.sec05 {
  background: #000;
  padding: 0;
}

.sec05__inner {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0;
}

.sec05__visual {
  position: relative;
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  overflow: hidden;
}

.sec05__bgImg {
  display: block;
  width: 100%;
  height: auto;
}

.sec05__ttl,
.sec05__mid,
.sec05__cv {
  position: absolute;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
}

.sec05__ttl {
  top: 12.8%;
  width: min(90.5%, 927px);
}

.sec05__mid {
  top: 42.2%;
  width: min(87.0%, 891px);
}

.sec05__cv {
  top: 60.8%;
  width: min(98%, 800px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(10px, 2vw, 18px);
}

.sec05__cvLead {
  width: min(51.1%, 524px);
}

.sec05__lineBtn {
  display: block;
  width: min(96.3%, 987px);
  border-radius: 999px;
  transform-origin: center center;
  will-change: transform, filter;
}

.sec05__cvSub {
  width: min(82.1%, 841px);
}

.sec05__ttl img,
.sec05__mid img,
.sec05__cvLead img,
.sec05__lineBtn img,
.sec05__cvSub img {
  width: 100%;
}



/* =========================
   COMMON SCROLL ANIMATION
========================= */
.js-fadeUpStrong,
.js-fadeUpSoft {
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity, filter;
}

.js-fadeUpStrong {
  transform: translateX(-50%) translateY(36px) scale(0.94);
  filter: blur(10px);
}

.js-fadeUpSoft {
  transform: translateX(-50%) translateY(24px);
  filter: blur(8px);
}

.js-fadeUpStrong.is-inview {
  animation: fadeUpStrongIn 0.75s cubic-bezier(.22,1,.36,1) forwards;
}

.js-fadeUpSoft.is-inview {
  animation: fadeUpSoftIn 0.7s cubic-bezier(.22,1,.36,1) 0.18s forwards;
  pointer-events: auto;
}

.js-fadeUpStrong.is-outview {
  animation: fadeUpStrongOut 0.45s ease forwards;
}

.js-fadeUpSoft.is-outview {
  animation: fadeUpSoftOut 0.42s ease forwards;
}

@keyframes fadeUpStrongIn {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(36px) scale(0.94);
    filter: blur(10px);
  }
  62% {
    opacity: 1;
    transform: translateX(-50%) translateY(-2px) scale(1.01);
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes fadeUpSoftIn {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(24px);
    filter: blur(8px);
  }
  100% {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    filter: blur(0);
  }
}

@keyframes fadeUpStrongOut {
  0% {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
    filter: blur(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-50%) translateY(18px) scale(0.97);
    filter: blur(8px);
  }
}

@keyframes fadeUpSoftOut {
  0% {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    filter: blur(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-50%) translateY(16px);
    filter: blur(6px);
  }
}

.floatY2 {
  animation: floatY 2.8s ease-in-out infinite;
  animation-play-state: paused;
  will-change: transform;
  animation-play-state: running;
}

.pulseGlow2 {
  animation:
    linePulse 1.7s ease-in-out infinite,
    lineGlow 1.7s ease-in-out infinite;
  animation-play-state: paused;
  will-change: transform, filter;
  animation-play-state: running;
}

/* =========================
   TERMS PAGE
========================= */
.termsPage {
  padding: clamp(24px, 6vw, 60px) 14px clamp(50px, 8vw, 90px);
  background:
    linear-gradient(to bottom, #050505 0%, #120a05 100%);
}

.termsPage__inner {
  max-width: 960px;
  margin: 0 auto;
}

.termsPage__head {
  margin-bottom: clamp(18px, 4vw, 32px);
  padding: clamp(20px, 4.5vw, 34px) clamp(16px, 4vw, 30px);
  border: 1px solid rgba(246, 217, 122, 0.25);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
  box-shadow:
    0 10px 30px rgba(0,0,0,0.25),
    inset 0 0 0 1px rgba(255,255,255,0.02);
}

.termsPage__title {
  margin: 0;
  font-weight: 900;
  font-size: clamp(26px, 6vw, 42px);
  line-height: 1.2;
  letter-spacing: 0.06em;
  text-align: center;
  color: #f6d97a;
  text-shadow:
    0 2px 0 #3a2200,
    0 0 12px rgba(246, 217, 122, 0.18);
}

.termsPage__lead {
  margin-top: 12px;
  color: rgba(255,255,255,0.78);
  text-align: center;
  font-size: clamp(13px, 3.5vw, 16px);
  line-height: 1.8;
}

.termsBox {
  padding: clamp(18px, 4vw, 34px);
  border: 1px solid rgba(246, 217, 122, 0.16);
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  box-shadow:
    0 10px 30px rgba(0,0,0,0.22);
}

.termsSection + .termsSection {
  margin-top: clamp(22px, 4.6vw, 34px);
  padding-top: clamp(22px, 4.6vw, 34px);
  border-top: 1px solid rgba(255,255,255,0.10);
}

.termsSection__title {
  margin: 0 0 12px;
  font-weight: 800;
  font-size: clamp(18px, 4.5vw, 24px);
  line-height: 1.5;
  color: #ffd970;
  letter-spacing: 0.02em;
}

.termsSection p {
  color: rgba(255,255,255,0.92);
  font-size: clamp(14px, 3.7vw, 16px);
  line-height: 2;
}

.termsSection p + p {
  margin-top: 10px;
}

.termsList {
  margin: 12px 0 0;
  padding: 0;
}

.termsList li {
  position: relative;
  padding-left: 1.2em;
  color: rgba(255,255,255,0.92);
  font-size: clamp(14px, 3.7vw, 16px);
  line-height: 2;
}

.termsList li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  color: #f6d97a;
  font-weight: 700;
}

.termsList li + li {
  margin-top: 4px;
}

@media (max-width: 768px) {
  .termsPage {
    padding: 20px 12px 44px;
  }

  .termsPage__head {
    border-radius: 14px;
  }

  .termsBox {
    padding: 18px 14px;
    border-radius: 14px;
  }

  .termsSection__title {
    margin-bottom: 10px;
  }

  .termsSection p,
  .termsList li {
    line-height: 1.9;
  }
}

/* =========================
   FOOTER
========================= */
.footer {
  position: relative;
  padding: clamp(28px, 6vw, 56px) 14px clamp(22px, 5vw, 40px);
  color: rgba(var(--white), 0.88);
  border-top: 1px solid rgba(255, 214, 110, 0.18);
}

.footer__ornament {
  width: min(100%, 720px);
  height: clamp(14px, 2vw, 18px);
  margin: 0 auto clamp(22px, 4vw, 32px);
  position: relative;
}

.footer__ornament::before,
.footer__ornament::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.footer__ornament::before {
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    to right,
    rgba(255, 214, 110, 0) 0%,
    rgba(255, 214, 110, 0.9) 18%,
    rgba(255, 245, 200, 1) 50%,
    rgba(255, 214, 110, 0.9) 82%,
    rgba(255, 214, 110, 0) 100%
  );
  box-shadow: 0 0 10px rgba(255, 214, 110, 0.22);
}

.footer__ornament::after {
  left: 50%;
  width: 64px;
  height: 14px;
  transform: translate(-50%, -50%);
  border-top: 2px solid rgba(255, 214, 110, 0.9);
  border-bottom: 2px solid rgba(255, 214, 110, 0.9);
  border-radius: 999px;
  opacity: 0.95;
}

.footer__logo {
  width: min(100%, 320px);
  margin: 0 auto clamp(18px, 4vw, 26px);
}

.footer__logo img {
  width: 100%;
  height: auto;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .footer__logo {
    width: min(100%, 240px);
    margin-bottom: 18px;
  }
}

.footer__inner {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
}

.footer__nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 22px;
  margin-bottom: clamp(22px, 4vw, 30px);
}

.footer__nav a {
  position: relative;
  color: #f3e1a0;
  text-decoration: none;
  font-weight: 700;
  font-size: clamp(13px, 2vw, 16px);
  line-height: 1.4;
  padding-bottom: 4px;
}



.footer__nav a:hover {
  color: #fff4bf;
}

.footer__nav a:hover::after {
  transform: scaleX(0.65);
  opacity: 0.8;
}

.footer__notes {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 214, 110, 0.14);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 8px 20px rgba(0,0,0,0.18);
  border-radius: 14px;
  padding: clamp(16px, 3.5vw, 26px);
}

.footer__notes p {
  color: rgba(255,255,255,0.74);
  font-size: clamp(12px, 3.2vw, 15px);
  line-height: 1.9;
}

.footer__notes p + p {
  margin-top: 12px;
}

.footer__copy {
  margin-top: clamp(18px, 4vw, 26px);
  text-align: center;
  color: rgba(255,255,255,0.38);
  font-size: clamp(12px, 2.8vw, 14px);
  font-weight: 700;
  letter-spacing: 0.02em;
}

@media (max-width: 768px) {
  .footer {
    padding: 28px 14px 28px;
  }

  .footer__nav {
    gap: 10px 16px;
    margin-bottom: 20px;
  }

  .footer__notes {
    border-radius: 12px;
    padding: 16px 14px;
  }

  .footer__notes p {
    line-height: 1.8;
  }
}
