
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500;600&display=swap');

 * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    background: #fafafa;
    color: #1a1a1a;
    line-height: 1.6;
}

header {
    background: #1a1a1a;
    color: white;
    padding: 3rem 1.5rem;
    position: relative;
    overflow: hidden;
}

header::before {
content: 'R';
position: absolute;
font-family: 'Playfair Display', serif;
font-size: 15rem;
font-weight: 900;
opacity: 0.05;
right: -3rem;
top: -5rem;
line-height: 1;
}

h1 {
font-family: 'Playfair Display', serif;
font-size: clamp(4rem, 12vw, 8rem);
font-weight: 900;
letter-spacing: -0.03em;
line-height: 0.9;
margin-bottom: 1rem;
position: relative;
z-index: 1;
}

header p {
font-size: 1.125rem;
font-weight: 400;
letter-spacing: 0.05em;
text-transform: uppercase;
opacity: 0.7;
position: relative;
z-index: 1;
}

main {
max-width: 1400px;
margin: 0 auto;
padding: 2rem 1.5rem;
}

section {
margin-bottom: 3rem;
position: relative;
}

h2 {
font-family: 'Playfair Display', serif;
font-size: clamp(2.5rem, 6vw, 4rem);
font-weight: 700;
margin-bottom: 2rem;
position: relative;
display: inline-block;
}

h2::after {
content: attr(data-number);
position: absolute;
font-size: 0.4em;
font-weight: 900;
top: -0.5em;
right: -1.2em;
color: #ff6b6b;
}

/* Mobile First - All sections stack */
ul {
list-style: none;
display: grid;
grid-template-columns: 1fr;
gap: 1.5rem;
}

section:nth-of-type(1) ul li,
section:nth-of-type(2) ul li,
section:nth-of-type(3) ul li,
section:nth-of-type(4) ul li {
min-height: 250px;
}

li {
position: relative;
overflow: hidden;
background: #1a1a1a;
transition: transform 0.4s ease;
}

li:hover {
transform: scale(1.02);
}

a {
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 2.5rem;
text-decoration: none;
color: white;
height: 100%;
position: relative;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
transition: all 0.4s ease;
}

li:nth-child(2n) a {
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

li:nth-child(3n) a {
background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

a::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.7) 100%);
z-index: 1;
}

a::after {
content: '→';
position: absolute;
top: 2rem;
right: 2rem;
font-size: 3rem;
opacity: 0;
transform: translateX(-20px);
transition: all 0.4s ease;
z-index: 2;
}

a:hover::after {
opacity: 1;
transform: translateX(0);
}

a span {
font-family: 'Playfair Display', serif;
font-size: clamp(1.5rem, 3vw, 2.5rem);
font-weight: 700;
position: relative;
z-index: 2;
line-height: 1.2;
}

a[href="#"] {
background: #e0e0e0;
color: #999;
cursor: not-allowed;
}

a[href="#"]::before {
background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.2) 100%);
}

a[href="#"]:hover {
transform: none;
}

a[href="#"]::after {
content: '...';
opacity: 0.3;
transform: none;
}

footer {
background: #1a1a1a;
color: white;
text-align: center;
padding: 3rem 2rem;
margin-top: 5rem;
}

footer p {
font-size: 0.875rem;
letter-spacing: 0.1em;
text-transform: uppercase;
opacity: 0.7;
}

/* Tablet - 768px and up */
@media (min-width: 768px) {
header {
padding: 4rem 2rem;
}

header::before {
font-size: 20rem;
right: -4rem;
top: -7rem;
}

main {
padding: 3rem 2rem;
}

section {
margin-bottom: 4rem;
}

section:nth-of-type(2) ul {
grid-template-columns: repeat(2, 1fr);
}

section:nth-of-type(2) ul li {
min-height: 300px;
}
}

/* Desktop - 1024px and up */
@media (min-width: 1024px) {
header::before {
font-size: 25rem;
right: -5rem;
top: -8rem;
}
}

section {
margin-bottom: 5rem;
}

/* Semester 1 - Feature Layout */
section:nth-of-type(1) ul {
grid-template-columns: 2fr 1fr;
grid-template-rows: repeat(2, 300px);
}

section:nth-of-type(1) li:first-child {
grid-row: 1 / 3;
}

section:nth-of-type(1) ul li {
min-height: auto;
}

/* Semester 2 - keeps 2 columns, adjusts height */
section:nth-of-type(2) ul li {
min-height: 350px;
}

/* Semester 3 - Offset Grid */
section:nth-of-type(3) ul {
grid-template-columns: 1fr 1.5fr;
}

section:nth-of-type(3) ul li {
min-height: 300px;
}

section:nth-of-type(3) ul li:first-child {
margin-top: 3rem;
}

/* Portfolio - Full Width */
section:nth-of-type(4) ul li {
min-height: 400px
}