/* 1. Use a more-intuitive box-sizing model */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* 2. Remove default margin */
* {
  margin: 0;
}
html {
  height: 100%;
}
body {
  height: 100%;
  /* 3. Add accessible line-height */
  line-height: 1.5;
  /* 4. Improve text rendering */
  -webkit-font-smoothing: antialiased;
}

/* 5. Improve media defaults */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

/* 6. Inherit fonts for form controls */
input,
button,
textarea,
select {
  font: inherit;
  border: white;
  
}

/* 7. Avoid text overflows */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

/* 8. Improve line wrapping */
p {
  text-wrap: pretty;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}

/*
    9. Create a root stacking context
  */
#root,
#__next {
  isolation: isolate;
}
ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
a {
  text-decoration: none;
  color: inherit;
}

body {
  line-height: 1;
  height: 100%;
  font-family: "Outfit", sans-serif;
}

.wrapper {
  min-width: 100%;
  /* overflow: hidden; */
  height: 100%;
}

.container {
  max-width: 375px;
  margin: 0px auto;
  padding-right: 18px;
  padding-left: 18px;
}
@media screen and (min-width: 1280px) {
  .container {
    max-width: 1280px;
  }
}

/* header */
.header_container {
  display: flex;
  justify-content: center;
  padding-top: 68px;
}
@media screen and (min-width: 1280px) {
  .header_container {
    display: flex;
    justify-content: center;
    padding-top: 30px;
  }
}

/* about */
.about_container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 35px;
}
@media screen and (min-width: 1280px) {
  .about_container {
    padding-bottom: 100px;
  }
}
.about_title {
  margin-top: 35px;
  margin-bottom: 35px;
  font-weight: 500;
  font-size: 38px;
}
@media screen and (min-width: 1280px) {
  .about_title {
    font-size: 50px;
    font-weight: 500;
    line-height: 75px;
    letter-spacing: 0px;
    margin-top: 100px;
    margin-bottom: 30px;
  }
}

.about_title_sp {
  margin-top: 35px;
  margin-bottom: 35px;
  font-weight: 500;
  font-size: 28px;
}
@media screen and (min-width: 1280px) {
  .about_title {
    font-size: 50px;
    font-weight: 500;
    line-height: 75px;
    letter-spacing: 0px;
    margin-top: 100px;
    margin-bottom: 30px;
  }
}

.about_text_container {
  /* margin-bottom: 20px; */
  text-align: center;
}
.about_text {
  margin-bottom: 35px;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
}

@media screen and (min-width: 1280px) {
  .about_text {
    display: none;
  }
}
.desktop_text {
  display: none;
}
@media screen and (min-width: 1280px) {
  .desktop_text {
    display: block;
    margin-bottom: 25px;
    color: rgb(0, 0, 0);
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: 0px;
    text-align: center;
  }
}

/* footer */
.footer_container {
  color: white;
  background-color: black;
  padding-top: 50px;
  padding-bottom: 50px;
}
@media screen and (min-width: 1280px) {
  .footer_container {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.store_buttons {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 52px;
}
@media screen and (min-width: 1280px) {
  .store_buttons {
    display: flex;
    flex-direction: row;
    gap: 20px;
    margin-bottom: 72px;
  }
}
.main_store_buttons {
  display: none;
}

@media screen and (min-width: 1280px) {
  .main_store_buttons {
    display: flex;
    gap: 24px;
    margin-bottom: 321px;
  }
}

.store_button {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: black;
  color: #fff;
  text-decoration: none;
  padding: 10px 6px;
  border: 2px solid #a6a6a6;
  border-radius: 10px;
  width: 202px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
  transition: background-color 0.3s, transform 0.2s;
}

.store_button:hover {
  background-color: #333;
  transform: translateY(-2px);
}

.store_button div {
  display: flex;
  flex-direction: column;
}

.store_button p {
  font-size: 10px;
  color: #ccc;
  /* margin-bottom: 7px; */
}

.store_button h2 {
  font-size: 22px;
  font-weight: 400;
  color: #fff;
}
.button_img {
  margin-right: 16px;
}

.footer_info {
  display: flex;
  flex-direction: column;
  align-items: center;
}


.footer_info_title {
  font-size: 38px;
  font-weight: 500;
  line-height: 57px;
  margin-bottom: 35px;
}
@media screen and (min-width: 1280px) {
  .footer_info_title {
    margin-bottom: 20px;
  }
}
.footer_nav_list_sp {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 17px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0px;
  text-align: left;
}
@media screen and (min-width: 1280px) {
  .footer_nav_list {
    font-family: "Outfit", sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 20px;
  }
}

.footer_nav_list {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  font-size: 17px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0px;
  text-align: left;
}
@media screen and (min-width: 1280px) {
  .footer_nav_list {
    font-family: "Outfit", sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 20px;
  }
}

.footer_language {
  display: flex;
  align-items: baseline;
  gap: 64px;
  font-family: "Outfit", sans-serif;
  font-size: 17px;
  margin-bottom: 25px;
}
@media screen and (min-width: 1280px) {
  .footer_language {
    align-items: baseline;
    gap: 25px;
    font-family: "Outfit", sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: 0px;
    text-align: left;
    margin-bottom: 0;
  }
}

.select {
  background-color: black;
  color: #fff;
}
.select option {
  background-color: black;
  color: #fff;
}
.select:hover {
  background-color: black;
}
/* .select:focus {
  outline: none;
  border-color: #777;
} */
#language {
  margin-top: 10px;
  padding: 5px 0px;
  font-size: 17px;
  cursor: pointer;
  border: none;
}
@media screen and (min-width: 1280px) {
  #language {
   
    font-size: 15px;
    
  }
}

/* index styles */
.hero_container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero {
  font-size: 38px;
  font-weight: 500;
  line-height: 57px;
  text-align: center;
  margin-top: 185px;
  margin-bottom: 30px;
}
@media screen and (min-width: 1280px) {
  .hero {
    margin-top: 321px;
    margin-bottom: 30px;
    color: rgb(0, 0, 0);
    font-size: 50px;
    font-weight: 500;
    line-height: 75px;
    letter-spacing: 0px;
  }
}
.hero_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 50px;
  border-radius: 10000px;

  background: rgb(0, 0, 0);

  color: rgb(255, 255, 255);
  font-size: 17px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0%;
  text-align: center;
  margin-bottom: 206px;
}
@media screen and (min-width: 1280px) {
  .hero_btn {
    display: none;
  }
}

.index_select {
  background-color: white;
}
.footer_main {
  padding-bottom: 35px;
}
@media screen and (min-width: 1280px) {
  .footer_main {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 500px;
    padding-bottom: 10px;
  }
}

@media screen and (min-width: 1280px) {
  .desktop_footer {
    display: flex;
    align-items: baseline;
    gap: 580px;
    justify-content: space-between;
  }
}
.footer_wrapper {
  width: 100%;
  background-color: black;
}
/* terms */

.terms_container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 1280px) {
  .terms_container {
    padding-top: 70px;
  }
}

@media screen and (min-width: 1280px) {
  .terms_text_wrapper {
    padding-bottom: 70px;
  }
}

.terms_hero_sp {
  font-size: 28px;
  font-weight: 500;
  line-height: 52px;
  margin-bottom: 20px;
  margin-top: 35px;
}
@media screen and (min-width: 1280px) {
  .terms_hero {
    color: rgb(22, 24, 35);
    font-family: "Outfit", sans-serif;
    font-size: 50px;
    font-weight: 500;
    line-height: 52px;
    letter-spacing: 0%;
    text-align: left;
    margin-bottom: 31px;
    margin-top: 0;
  }
}

.terms_hero {
  font-size: 38px;
  font-weight: 500;
  line-height: 52px;
  margin-bottom: 20px;
  margin-top: 35px;
}
@media screen and (min-width: 1280px) {
  .terms_hero {
    color: rgb(22, 24, 35);
    font-family: "Outfit", sans-serif;
    font-size: 50px;
    font-weight: 500;
    line-height: 52px;
    letter-spacing: 0%;
    text-align: left;
    margin-bottom: 31px;
    margin-top: 0;
  }
}
.terms_container h2 {
  margin-bottom: 30px;
  font-size: 26px;
  font-weight: 600;
  line-height: 33.6px;
  letter-spacing: 0%;
  text-align: left;
}
@media screen and (min-width: 1280px) {
  .terms_container h2 {
    font-size: 26.58px;
    font-weight: 600;
    line-height: 33.6px;
    letter-spacing: 0%;
    text-align: left;
    margin-bottom: 30px;
  }
}

.terms_text {
  font-size: 15.5px;
  font-weight: 400;
  line-height: 20.8px;
  letter-spacing: 0.03px;
  text-align: left;
  margin-bottom: 30px;
}
@media screen and (min-width: 1280px) {
  .terms_text {
    margin-bottom: 30px;
  }
}

.terms_bold_text {
  font-size: 16px;
  font-weight: 600;
  line-height: 20.8px;
  letter-spacing: 0.03px;
  margin-bottom: 20px;
}

/* contact */
.contact_container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 1280px) {
  .contact_container {
    padding-top: 100px;
  }
}
.contact_hero {
  font-size: 38px;
  font-weight: 500;
  line-height: 57px;
  margin-bottom: 35px;
  margin-top: 35px;
}
@media screen and (min-width: 1280px) {
  .contact_hero {
    font-size: 55px;
    font-weight: 600;
    line-height: 57px;
    letter-spacing: 0%;
    text-align: center;
    margin-top: 0;
  }
}

.contact_wrapper {
  margin-bottom: 100px;
  width: 100%;
  border-radius: 8px;

  box-shadow: 2px 4px 20px 0px rgba(34, 90, 89, 0.2);
  background: rgb(255, 255, 255);
}
@media screen and (min-width: 1280px) {
  .contact_wrapper {
    width: 916px;
  }
}

@media screen and (min-width: 1280px) {
  .contact_list {
    display: flex;
    flex-wrap: wrap;
  }
}
.contact_connect {
  padding-top: 40px;
  padding-bottom: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  border-bottom: 1px solid rgb(220, 220, 222);
}
.contact_list_item {
  padding-top: 40px;
  padding-bottom: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  border-bottom: 1px solid rgb(220, 220, 222);
}
@media screen and (min-width: 1280px) {
  .contact_list_item {
    min-width: 458px;
    flex-direction: row;
    padding-left: 41px;
  }
}

.contact_list_info {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 1280px) {
  .contact_list_info {
    display: flex;
    flex-direction: column;
    align-items: start;
  }
}
.contact_img {
  margin-bottom: 15px;
}

@media screen and (min-width: 1280px) {
  .contact_img {
    margin-bottom: 0;
    margin-right: 40px;
  }
}
.contact_list_title {
  font-size: 26px;
  font-weight: 400;
  line-height: 39px;
  letter-spacing: 0%;
  text-align: left;
}
.contact_link {
  font-size: 18px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: 0%;
  text-align: left;
}

#download_link :focus {
  outline: none;
  
}
#download_link :hover {
  outline: none;
}
#download_link::selection {
  background: transparent;
}
#download_link {
  user-select: none;
}
#download_link:focus {
  box-shadow: none;
  outline: none;
  border: none;
  
}




/* Global font: Outfit */
html, body, body *, button, input, textarea, select {
  font-family: "Outfit", sans-serif !important;
}

/* Legal pages: prevent <strong> from becoming extra-bold. */
.terms_container strong {
  font-weight: inherit;
}

/* Improve App Store small label readability. */
.store_button.app_store p {
  font-size: 12px;
  line-height: 1.15;
}

/* Language translation UI cleanup */
.goog-te-banner-frame.skiptranslate,
.goog-te-banner-frame,
.goog-te-gadget-icon,
#goog-gt-tt,
.goog-te-balloon-frame {
  display: none !important;
}
body {
  top: 0 !important;
}
.skiptranslate iframe {
  visibility: hidden !important;
}


/* Home social app sections */
.home_feature_section {
  width: 100%;
  padding: 82px 0;
  border-top: 1px solid #eeeeee;
  background: #ffffff;
  color: #000000;
}

.home_feature_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.feature_icon {
  width: 66px;
  height: 66px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  border-radius: 50%;
  background: #f4f4f4;
}

.feature_icon svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.feature_kicker {
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.home_feature_section h2 {
  max-width: 700px;
  margin-bottom: 18px;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.15;
}

.feature_text {
  max-width: 620px;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.55;
  color: #646464;
}

.home_feature_dark {
  background: #000000;
  color: #ffffff;
  border-top-color: #000000;
}

.home_feature_dark .feature_icon {
  background: #1b1b1b;
}

.home_feature_dark .feature_text {
  color: #bdbdbd;
}

@media screen and (max-width: 1279px) {
  .home_feature_section {
    padding: 68px 0;
  }

  .home_feature_section h2 {
    font-size: 30px;
  }

  .feature_text {
    font-size: 16px;
  }
}

@media screen and (min-width: 1280px) {
  .home_feature_section {
    padding: 120px 0;
  }

  .home_feature_section h2 {
    font-size: 48px;
    line-height: 1.15;
  }

  .feature_text {
    font-size: 20px;
    line-height: 1.5;
  }

  .feature_icon {
    width: 76px;
    height: 76px;
    margin-bottom: 28px;
  }

  .feature_icon svg {
    width: 36px;
    height: 36px;
  }

  .main_store_buttons {
    margin-bottom: 180px;
  }
}


/* Premium text-only social sections */
.premium_text_section{position:relative;overflow:hidden;padding:120px 0;border-top:1px solid #e9e9e9;background:#fff;color:#0a0a0a}
.premium_text_inner{position:relative}
.premium_label{display:inline-block;margin-bottom:52px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#777}
.premium_text_section h2{max-width:1000px;margin:0;font-size:clamp(54px,7vw,104px);line-height:.94;letter-spacing:-.055em;font-weight:500}
.premium_text_section h2 em{font-style:normal;color:#9a9a9a;font-weight:400}
.premium_text_bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-top:70px;padding-top:28px;border-top:1px solid #dedede}
.premium_text_bottom p{max-width:500px;margin:0;font-size:19px;line-height:1.6;color:#666}
.premium_word{font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.premium_dark{background:#090909;color:#fff;border-top-color:#090909}
.premium_dark .premium_label{color:#777}
.premium_center{text-align:center}
.premium_center h2{margin-left:auto;margin-right:auto}
.premium_center h2 em{color:#777}
.premium_eyebrow{margin:0 0 26px;font-size:12px;letter-spacing:.2em;color:#777}
.premium_description{max-width:620px;margin:38px auto 0;font-size:18px;line-height:1.65;color:#8f8f8f}
.premium_pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:48px}
.premium_pills span{padding:11px 18px;border:1px solid #303030;border-radius:999px;font-size:13px;color:#bcbcbc}
.premium_closing{padding-bottom:72px}
.premium_split{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}
.premium_split h2{font-size:clamp(60px,7.2vw,108px)}
.premium_statement{padding-bottom:10px}
.premium_statement>p:first-child{margin:0;font-size:27px;line-height:1.25;letter-spacing:-.025em}
.premium_statement .premium_description{margin:22px 0 0;max-width:470px}
.premium_link{display:inline-flex;align-items:center;gap:14px;margin-top:34px;padding-bottom:7px;border-bottom:1px solid #111;color:#111;text-decoration:none;font-size:15px;font-weight:600}
.premium_link span{font-size:18px}
.premium_marquee{margin-top:100px;padding-top:28px;border-top:1px solid #dedede;font-size:clamp(28px,4.2vw,64px);font-weight:500;letter-spacing:-.04em;white-space:nowrap;color:#e1e1e1}
@media(max-width:900px){.premium_text_section{padding:88px 0}.premium_label{margin-bottom:38px}.premium_text_section h2{font-size:clamp(48px,10vw,76px)}.premium_text_bottom{margin-top:52px}.premium_split{grid-template-columns:1fr;gap:54px}.premium_statement{max-width:580px}.premium_marquee{margin-top:72px}}
@media(max-width:560px){.premium_text_section{padding:68px 0}.premium_label{margin-bottom:30px;font-size:11px}.premium_text_section h2,.premium_split h2{font-size:46px;line-height:.98;letter-spacing:-.045em}.premium_text_bottom{display:block;margin-top:42px;padding-top:22px}.premium_text_bottom p,.premium_description{font-size:16px}.premium_word{display:block;margin-top:28px}.premium_eyebrow{margin-bottom:18px;font-size:10px}.premium_description{margin-top:28px}.premium_pills{justify-content:flex-start;margin-top:34px}.premium_center .premium_pills{justify-content:center}.premium_split{gap:42px}.premium_statement>p:first-child{font-size:23px}.premium_statement .premium_description{margin-top:18px}.premium_marquee{margin-top:58px;padding-top:22px;font-size:27px}}

/* Hero title aligned with premium section heading scale */
.hero{font-size:46px;line-height:.98;letter-spacing:-.045em;}
@media screen and (min-width:561px){.hero{font-size:clamp(54px,7vw,104px);line-height:.94;letter-spacing:-.055em;}}
@media screen and (min-width:1280px){.hero{font-size:clamp(54px,7vw,104px);line-height:.94;letter-spacing:-.055em;}}


/* Homepage title sizing */
.hero{
  font-size:54px;
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:500;
}
@media screen and (min-width:1280px){
  .hero{
    font-size:64px;
    line-height:1.02;
    letter-spacing:-.035em;
  }
}
@media screen and (max-width:767px){
  .hero{
    font-size:42px;
    line-height:1.05;
    letter-spacing:-.025em;
  }
}

/* Clean divider line above footer */
footer{
  border-top:1px solid #e5e5e5;
}

/* Balanced spacing for the final premium section */
.premium_closing{
  padding-top:120px;
  padding-bottom:120px;
}

/* Short centered divider above footer instead of full-width line */
footer{
  border-top:0;
}
body.home-page footer{
  position:relative;
  padding-top:42px;
  padding-bottom:42px;
}
body.home-page footer::before{
  content:"";
  display:block;
  width:min(92%, 1180px);
  height:1px;
  background:#e5e5e5;
  margin:0 auto 42px;
}

@media screen and (max-width:767px){
  .premium_closing{
    padding-top:82px;
    padding-bottom:82px;
  }
  body.home-page footer{
    padding-top:30px;
    padding-bottom:30px;
  }
  body.home-page footer::before{
    width:calc(100% - 40px);
    margin-bottom:30px;
  }
}

/* Premium section divider: container width, not full screen */
.premium_text_section{
  border-top:0;
}
.premium_text_section::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:min(92%, 1180px);
  height:1px;
  background:#e9e9e9;
}
.premium_dark::before{
  background:#2a2a2a;
}
@media screen and (max-width:767px){
  .premium_text_section::before{
    width:calc(100% - 40px);
  }
}

/* Correct homepage divider placement:
   keep divider between Real Moments and the next section,
   remove the divider directly above the final Stay Connected section. */
body.home-page .premium_closing::before{
  display:none;
}


/* Homepage only: remove the footer divider line. */
body.home-page footer::before {
  display: none;
}
