:root{
  --deep:#123f49;
  --teal:#176e73;
  --mint:#dff7f2;
  --gold:#c6a15b;
  --cream:#fffdf8;
  --line:rgba(22,110,115,.16);
  --shadow:0 32px 80px rgba(24,79,86,.20);
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  color:var(--deep);
  font-family:"Noto Sans JP",system-ui,-apple-system,sans-serif;
  background:#f7fcfb;
}

.hero{
  position:relative;
  min-height:100svh;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
  background:
    url("assets/hero-bg.png") center center / cover no-repeat;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(
      to bottom,
      rgba(255,255,255,.03) 0%,
      rgba(255,255,255,.02) 48%,
      rgba(248,255,253,.78) 88%,
      #f7fcfb 100%
    );
}

.hero-shade{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(
      circle at center 49%,
      rgba(255,255,255,.62) 0%,
      rgba(255,255,255,.26) 19%,
      rgba(255,255,255,.04) 38%,
      transparent 62%
    ),
    linear-gradient(
      90deg,
      rgba(14,67,73,.08),
      transparent 22%,
      transparent 78%,
      rgba(14,67,73,.08)
    );
}

.hero-inner{
  position:relative;
  z-index:2;
  width:min(1100px,calc(100% - 32px));
  display:flex;
  justify-content:center;
  text-align:center;
  padding:80px 0 140px;
}

.hero-title-wrap{
  margin-top:14vh;
  padding:20px 24px 28px;
  border-radius:34px;
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(1px);
}

.section-kicker{
  margin:0;
  font-size:11px;
  font-weight:700;
  letter-spacing:.34em;
  color:var(--gold);
}

.top-logo{
  display:block;
  width:min(720px,68vw);
  max-width:100%;
  margin:0 auto 28px;
  filter:
    drop-shadow(0 10px 28px rgba(255,255,255,.55))
    drop-shadow(0 16px 30px rgba(24,79,86,.12));
}


h1{
  margin:10px 0 0;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(84px,13vw,190px);
  font-weight:600;
  line-height:.82;
  letter-spacing:-.05em;
  color:#164f4e;
  text-shadow:
    0 2px 0 rgba(255,255,255,.85),
    0 12px 34px rgba(255,255,255,.72),
    0 15px 30px rgba(24,79,86,.12);
}

.ornament{
  margin:14px 0 20px;
  color:var(--gold);
  font-size:20px;
}

.discord-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-height:60px;
  padding:0 26px;
  border:1px solid rgba(255,255,255,.9);
  border-radius:999px;
  text-decoration:none;
  color:#fff;
  font-weight:700;
  letter-spacing:.03em;
  background:
    linear-gradient(135deg,rgba(31,134,126,.94),rgba(17,94,94,.97));
  box-shadow:
    0 18px 48px rgba(19,96,95,.27),
    inset 0 1px 0 rgba(255,255,255,.42);
  transition:.22s ease;
}

.discord-btn:hover{
  transform:translateY(-3px) scale(1.01);
  box-shadow:
    0 24px 55px rgba(19,96,95,.34),
    inset 0 1px 0 rgba(255,255,255,.48);
}

.discord-mark{
  font-size:15px;
  opacity:.95;
}

.arrow{
  font-size:19px;
  opacity:.8;
}

.scroll{
  position:absolute;
  z-index:3;
  bottom:28px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  text-decoration:none;
  color:rgba(18,63,73,.68);
  font-size:9px;
  font-weight:700;
  letter-spacing:.28em;
}

.scroll i{
  display:block;
  width:1px;
  height:42px;
  background:linear-gradient(var(--teal),transparent);
}

.about{
  position:relative;
  padding:70px 20px 105px;
  background:
    radial-gradient(circle at 50% 0%,rgba(204,246,237,.65),transparent 36%),
    linear-gradient(180deg,#f7fcfb 0%,#f5faf8 100%);
  overflow:hidden;
}

.about::before,
.about::after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  filter:blur(90px);
  opacity:.34;
}

.about::before{
  left:-170px;
  top:20%;
  background:#c9f5ea;
}

.about::after{
  right:-170px;
  bottom:8%;
  background:#fff0c9;
}

.about-card{
  position:relative;
  z-index:2;
  width:min(980px,100%);
  margin:0 auto;
  padding:clamp(55px,8vw,94px) clamp(28px,7vw,86px);
  text-align:center;
  border:1px solid var(--line);
  border-radius:38px;
  background:
    linear-gradient(rgba(255,255,255,.91),rgba(255,255,255,.95));
  box-shadow:var(--shadow);
  backdrop-filter:blur(14px);
}


.section-kicker{
  color:var(--gold);
}

h2{
  margin:0 0 40px;
  font-family:"Cormorant Garamond","Noto Sans JP",serif;
  font-size:clamp(36px,5vw,62px);
  font-weight:600;
  letter-spacing:.055em;
}

.copy{
  width:min(730px,100%);
  margin:0 auto;
  color:#3a5c60;
  font-size:clamp(15px,1.8vw,18px);
  line-height:2.15;
}

.copy p{
  margin:0 0 29px;
}

.copy .lead{
  color:var(--deep);
  font-size:clamp(19px,2.4vw,26px);
  line-height:1.95;
}

.copy strong{
  color:var(--teal);
}

.statement{
  position:relative;
  margin:52px auto!important;
  padding:25px 16px;
  color:#176264;
  font-family:"Cormorant Garamond","Noto Sans JP",serif;
  font-size:clamp(24px,4vw,39px)!important;
  letter-spacing:.07em;
}

.statement::before,
.statement::after{
  content:"";
  display:block;
  width:110px;
  height:1px;
  margin:0 auto 20px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}

.statement::after{
  margin:20px auto 0;
}

@media(max-width:720px){
  .hero{
    min-height:90svh;
    background-position:center top;
  }

  .hero-inner{
    padding:90px 0 120px;
  }

  .hero-title-wrap{
    margin-top:19vh;
    padding:22px 15px 28px;
  }

  .top-logo{
    width:min(88vw,520px);
    margin:12px auto 18px;
  }

  h1{
    font-size:clamp(74px,24vw,116px);
  }

  .discord-btn{
    min-height:55px;
    padding:0 20px;
    font-size:14px;
  }

  .about{
    padding:38px 13px 70px;
  }

  .about-card{
    padding:48px 22px 58px;
    border-radius:27px;
  }

  .copy{
    line-height:2;
  }

  .copy br{
    display:none;
  }

  .statement{
    margin:42px auto!important;
  }

}
