@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root{
  --primary-font-family: "Inter", sans-serif;
  --primary-bg-color: #2e2a27;
  --primary-text-color: #e8e2da;
}

/* add dark-theme class */
.dark-theme{
  --primary-bg-color: #e8e2da;
  --primary-text-color: #2e2a27;
  --primary-text-color2: #e8e2da;
}

body{
  min-height: 200vh;
  height: 100%;
  font-family: var(--primary-font-family);
  /* background-color: var(--primary-bg-color); */
  font-optical-sizing: auto;
  transition: all 3s;
  background: linear-gradient(135deg, #0f0f0f 0%, #1a1a1a 50%, #0f0f0f 100%);
  color: #ffffff;
  line-height: 1.6;
  overflow-x: hidden;
}

a{
  text-decoration: none;
  color: inherit;
}

/* cover image */
.cover-image{
  width: 100%;
  height: 100vh;
  background-image: url('/wp-content/themes/BRITISH KHAKI/assets/images/image1.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* header */
.is--nav{
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: var(--primary-bg-color);
  transition: all 3s;
}

#site-header{
  width: 100%;
  z-index: 10;
  text-align: center;
  color: white;
  background-color: var(--primary-bg-color);

  & .site-nav{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2rem 0rem;
    border-bottom: var(--primary-text-color) 1px solid;
    color: var(--primary-text-color);
    margin: 0 2rem;

    & ul{
      display: flex;
      gap: 1rem;
      list-style: none;

      & li a{
        color: var(--primary-text-color);
        text-transform: uppercase;
        font-size: 1.6vw;
        letter-spacing: -1px;
        font-weight: 500;

        &:hover{
          color: #8c8c8c;
        }
      }
    }

    & .site-title {
      font-size: 3vw;
      font-weight: 700;
      letter-spacing: -1px;
      /* transform: translateY(-140px); */
    }

    & .copy-right {
      text-transform: uppercase;
      font-size: 1.6vw;
      font-weight: 500;
    }

  }
}

/* main */
#site-main{

  /* discover section */
  & #discover{
    display: flex;
    justify-content: center;

    & .container{
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-top: 8.79rem;
      text-align: center;

      & .slide {
        width: 60vw;
        max-width: 60vw;
        margin: 2px;
        overflow: hidden;
      }

      & .slide1 > h1{
        display: none;
      }
      & .slide > h1{
        display: block;
        font-size: 13.8vw;
        font-weight: 700;
        color: var(--primary-text-color);
        letter-spacing: -10px;
        line-height: 0.8;

        &.lightWidth{
          font-weight: 300;
          font-style: italic;
        }
      }
    }
  }
  /* Image Section */
  & #image-section{

    & .cover{
      position: relative;
      height: 130vh;

      & img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: -8%;
        left: 0;
        clip-path:  circle(20% at 50% 50%);
      }
    }
  }
}

/* image-section */


.image-card {
  position: relative;
  width: 100%;
  height: 100vh;
  aspect-ratio: 3/4;
  margin: 0 auto;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  color: white;
  top: -85px;
  & .image-wrapper {
    width: 100%;
    height: 100%;
    transition: transform 1s cubic-bezier(0.6, 1, 0.6, 1);
    & img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  /* 縦書きタイトル */
  & .vertical-title {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: clamp(1.2rem, 3vw, 2rem);
    color: #ecd4c9;
    font-weight: 500;
    letter-spacing: 0.2em;
    line-height: 1.8;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    margin: 0;
    z-index: 2;
  }

  /* 説明文コンテナ */
  & .description-text {
    /* color: #071c4e; */
    color: #ecd4c9;
    position: absolute;
    max-width: 60%;
    bottom: 20px;
    right: 20px;
    z-index: 2;
    padding: 12px;

    /* 上部テキスト（STORYと日付） */
    & .text-span {
      display: flex;
      justify-content: space-between;
      border-bottom: 1px solid #ecd4c9;
      padding-bottom: 6px;
      margin-bottom: 8px;
      font-size: 1rem;
    }

    /* 説明本文 */
    & .description-content {
      margin: 0;
      font-size: 1.3rem;
      line-height: 1.5;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
  }
}
/* ホバー効果 */
.image-card:hover .image-wrapper {
  transform: rotateX(5deg) rotateY(5deg) scale(1.2);
}

.texe-clr2{
  & .vertical-title{
    color: #e42b06eb;
  }
  & .description-text{
    color: #e42b06eb;
    & .text-span{
      border-bottom: 1px solid #e42b06eb;
    }
  }
}

.texe-clr3{
  & .vertical-title{
    color: #071c4e;
  }
  & .description-text{
    /* color: #f0830fef; */
    color: #071c4e;
    & .text-span{
      border-bottom: 1px solid #071c4e;
    }
  }
}

.texe-clr4{
  & .vertical-title{
    /* color: #f00fd2f6; */
    color: #f0830fef;
  }
  & .description-text{
    color: #f0830fef;
    & .text-span{
      border-bottom: 1px solid #f0830fef;
    }
  }
}

.texe-clr5{
  & .vertical-title{
    color: #ffea04;
  }
  & .description-text{
    color: #ffea04;
    & .text-span{
      border-bottom: 1px solid #ffea04;
    }
  }
}

.texe-clr6{
  & .vertical-title{
    /* color: #ecd4c9; */
    color: #068fe4;
  }
  & .description-text{
    color: #068fe4;
    & .text-span{
      border-bottom: 1px solid #068fe4;
    }
  }
}

.texe-clr7{
  & .vertical-title{
    color: #04ffc0;
  }
  & .description-text{
    color: #04ffc0;
    & .text-span{
      border-bottom: 1px solid #04ffc0;
    }
  }
}

/* hero-section */

.container-a {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;

  & .hero-section {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    padding: 2rem 0;
    & .hero-content {
      flex: 1;
      max-width: 600px;
      & .main-title {
        font-size: clamp(3rem, 8vw, 6rem);
        font-weight: 900;
        line-height: 0.9;
        margin-bottom: 1rem;
        & .title-line {
          display: block;
          position: relative;
        }
      }
    }
  }
}

.highlight {
  background: linear-gradient(45deg, #ff6b6b, #ffd93d, #6bcf7f, #4ecdc4);
  background-size: 400% 400%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gradientShift 3s ease-in-out infinite;
}
@keyframes gradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* skills-section */

.skills-section {
  padding: 5rem 0;
  border-top: 1px solid #333;
  & .section-title {
    font-size: 2.5rem;
    font-weight: 800;
    text-align: center;
    margin-bottom: 3rem;
    position: relative;
  }
  & .section-title::after {
    content: '';
    display: block;
    width: 80px;
    height: 3px;
    background: linear-gradient(45deg, #ff6b6b, #ffd93d);
    margin: 1rem auto;
  }


  & .skills-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
    & .skill-card {
      background: rgba(255, 255, 255, 0.05);
      padding: 2rem;
      border-radius: 15px;
      text-align: center;
      border: 1px solid rgba(255, 255, 255, 0.1);
      transition: all 0.3s ease;
      backdrop-filter: blur(10px);
      & .skill-icon {
        font-size: 3rem;
        margin-bottom: 1rem;
      }
      & .skill-card h3 {
        font-size: 1.3rem;
        font-weight: 600;
        margin-bottom: 0.5rem;
      }
      & .experience {
        color: #ffd93d;
        font-size: 0.9rem;
        font-weight: 500;
        margin-top: 1rem;
      }
    }
    & .skill-card:hover {
      transform: translateY(-10px);
      border-color: #ffd93d;
      box-shadow: 0 10px 30px rgba(255, 217, 61, 0.2);
    }
  }
}

/* philosophy-section */
.philosophy-section {
  padding: 5rem 0;
  border-top: 1px solid #333;
  & .philosophy-content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    & .quote {
      font-size: 1.5rem;
      font-style: italic;
      color: #ffd93d;
      margin-bottom: 2rem;
      font-weight: 300;
    }
    & .philosophy-text p:last-child {
      font-size: 1.1rem;
      color: #b0b0b0;
      line-height: 1.7;
    }
  }
}

/* contact */
.contact{
  padding: 250px 0;
  background-color: #ffea04;
}
.contact-title{
  font-size: 4rem;
  text-align: center;
}

.footer{
  padding-top: 7rem;
  padding-bottom: 5rem;
  background-color: var(--primary-bg-color);
  /* background-color: #2e2a27; */
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  h2{
    font-size: 6vw;
    text-align: center;
    line-height: 0.9;
    margin-bottom: 25px;
    color: #2e2a27;
    /* border-bottom: 1px solid black  ; */
  }
  .footer-line{
    border: 1px solid black;
    margin: 30px 0;
    width: 780px;
  }
  small{
    font-size: 1.5vw;
    color: #2e2a27;
  }
}



@media (max-width: 768px) {
  .hero-section {
      flex-direction: column;
      text-align: center;
      min-height: auto;
      padding: 3rem 0;
  }

  .hero-visual {
      width: 200px;
      height: 200px;
      margin-top: 2rem;
  }

  .skills-grid {
      grid-template-columns: 1fr;
  }

  .interests-grid {
      grid-template-columns: repeat(2, 1fr);
  }

  .section-title {
      font-size: 2rem;
  }
}

@media (max-width: 480px) {
  .cover-image{
    background-position: bottom;

  }
  .interests-grid {
      grid-template-columns: 1fr;
  }

  .main-title {
      font-size: 2.5rem;
  }
}
