/* Reset & base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: 'Poppins', sans-serif;
  color: #fff;
  background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('images/ChatGPT Image Jul 30, 2025, 03_08_24 PM.png') no-repeat center center;
  Background: cover;
  background-attachment: scroll;
  padding-top: 80px;
}

/* Header */
header {
  position: fixed;
  top: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 50px;
  background: rgba(0,0,0,0.7);
  z-index: 100;
}
header .logo {
  font-weight: 900;
  font-size: 20px;
}
header nav a {
  margin: 0 20px;
  text-decoration: none;
  color: #fff;
  font-weight: 600;
  transition: color 0.3s;
}
header nav a.active,
header nav a:hover {
  color: #e63946;
}

/* Sections */
section {
  padding: 80px 50px;
  max-width: 900px;
  margin: 0 auto;
}

.intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100vh;
  padding-top: 80px;
  flex-wrap: nowrap;
}

.intro-left {
  /* override the 60% max-width so it won’t shrink too small */
  flex: 0 0 50%;
  max-width: none;
  min-width: 300px;    /* prevent it from collapsing if viewport < 600px */
}

.intro-left .small,
.intro-left .title {
  color: #e63946;
  font-size: 18px;
  font-weight: 500;
}
.intro-left h1 {
  font-size: 40px;
  font-weight: 900;
  margin: 10px 0;
}
.intro-left p {
  font-weight: 300;
  line-height: 1.5;
  margin-bottom: 30px;
}
.btn-more {
  display: inline-block;
  border: 1px solid #e63946;
  padding: 10px 30px;
  text-decoration: none;
  font-weight: 600;
  color: #e63946;
  font-size: 18px;
  margin-top: 15px;
}

.btn-portfolio {
  display: inline-block;
  border: 1px solid #e63946;
  padding: 20px 110px;
  text-decoration: none;
  font-weight: 800;
  color: #e63946;
  font-size: 30px;
}
.intro-right {
  /* take up the other half and center the image within */
  flex: 0 0 50%;
  display: flex;
  justify-content: center;
}

.intro-right img {
  max-height: 100vh;     /* allow it to grow taller */
  width: auto;           /* keep natural width scaling */
  max-width: 170%;        /* limit it to avoid overflow */
  border-radius: 10px;
  transform: scaleX(-1);
}

/* Quote */
.quote {
  text-align: center;
  font-style: italic;
  font-weight: 300;
  font-size: 20px;
  color: #ffffff;
  margin-top: -40px;
}

/* Common section titles & content */
.section-title {
  font-size: 32px;
  font-weight: 600;
  color: #e63946;
  margin-bottom: 20px;
}
.content,
.item p {
  font-weight: 300;
  line-height: 1.6;
  margin-bottom: 20px;
}
.item {
  margin-bottom: 20px;
}
.item h3 {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 5px;
}
.item small {
  display: block;
  margin-bottom: 10px;
  color: #bbb;
}

.item-image {
  max-width: 100%;
  height: auto;
  margin-bottom: 10px;
}

/* Portfolio page (portfolio.html) */
.page-title {
  font-size: 48px;
  font-weight: 900px;
  color: #e63946;
  text-align: center;
  margin: 40px 0;
}

/* make left container the positioning context */
.intro-left {
  position: relative;
}

/* ensure the portrait sits above the button */
.intro-right {
  position: relative;
  z-index: 3;
  pointer-events: none; /* allow clicking the button underneath */
}

.intro-left .btn-portfolio {
  position: absolute;
  right: 0;                /* align to the right edge of .intro-left */
  top: 116%;               /* tweak this so it sits at the same height as your button */
  transform: translateX(82%); /* shift it 50% of its own width into the image */
  z-index: 1;              /* keep below portrait */
}

.quote-title {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.5em;
  color: #e63946;
}

