.project-page {
padding-top: 120px;
padding-bottom: 5rem;
min-height: 100vh;
}

.header-wrapper {
margin-bottom: 4rem;
display: flex;
flex-direction: column;
gap: 1.5rem;
}

@media (min-width: 1024px) {
.header-wrapper {
display: grid;
grid-template-columns: 1fr auto 1fr;
align-items: center;
}
}

.back-btn-block {
justify-self: start;
grid-column: 1;
display: inline-flex;
align-items: center;
gap: 0.5rem;
background: white;
border: 2px solid var(--color-dark);
border-radius: 50px;
padding: 0.8rem 1.5rem;
box-shadow: 4px 4px 0px var(--color-dark);
font-weight: 800;
text-transform: uppercase;
font-size: 0.85rem;
transition: all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.back-btn-block:hover {
transform: translate(-4px, -2px);
box-shadow: 6px 6px 0px var(--color-primary);
border-color: var(--color-primary);
color: var(--color-primary);
}

.title-block-centered {
background: white;
border: 2px solid var(--color-dark);
border-top-width: 8px;
border-radius: 16px;
padding: 2rem 3rem;
text-align: center;
box-shadow: 10px 10px 0px var(--color-dark);
position: relative;
}

@media (min-width: 1024px) {
.title-block-centered {
grid-column: 2;
min-width: 500px;
margin: 0;
}
}

.header-title {
font-size: 2.5rem;
font-weight: 900;
color: var(--color-dark);
margin: 0;
line-height: 1.1;
text-transform: uppercase;
letter-spacing: -1px;
}

.header-meta {
display: flex;
gap: 1rem;
justify-content: center;
margin-top: 1.5rem;
flex-wrap: wrap;
}

.meta-pill {
background: #f5f5f4;
padding: 0.4rem 1rem;
border-radius: 50px;
font-size: 0.75rem;
font-weight: 800;
color: var(--color-dark);
border: 2px solid var(--color-dark);
text-transform: uppercase;
}

.top-section-grid {
display: grid;
grid-template-columns: 1fr;
gap: 2.5rem;
margin-bottom: 3rem;
}

@media (min-width: 1024px) {
.top-section-grid {
grid-template-columns: 2fr 1fr;
}
}

.block-description {
background: white;
border: 2px solid var(--color-dark);
border-top-width: 6px;
border-radius: 16px;
padding: 2.5rem;
box-shadow: 8px 8px 0px var(--color-dark);
height: 100%;
}

.border-primary {
border-top-color: var(--color-primary) !important;
}

.border-secondary {
border-top-color: var(--color-secondary) !important;
}

.block-description h2 {
font-size: 1.5rem;
font-weight: 900;
color: var(--color-dark);
margin-bottom: 1.5rem;
text-transform: uppercase;
display: inline-block;
border-bottom: 4px solid var(--color-secondary);
padding-bottom: 0.25rem;
}

.block-description p {
color: var(--color-text-muted);
line-height: 1.8;
margin-bottom: 1.5rem;
font-weight: 500;
}

.sidebar-stack {
display: flex;
flex-direction: column;
gap: 2.5rem;
}

.block-tools,
.block-actions {
background: white;
border: 2px solid var(--color-dark);
border-radius: 16px;
padding: 1.5rem;
box-shadow: 8px 8px 0px var(--color-dark);
}

.block-tools h3,
.block-actions h3 {
margin-top: 0;
text-align: center;
font-size: 1.1rem;
font-weight: 900;
color: var(--color-dark);
text-transform: uppercase;
margin-bottom: 1.5rem;
letter-spacing: 0.5px;
}

.tools-list {
list-style: none;
padding: 0;
margin: 0;
}

.tools-list li {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 0.75rem 0;
border-bottom: 2px solid #f5f5f4;
color: var(--color-dark);
font-weight: 700;
font-size: 0.9rem;
}

.tools-list li i {
color: var(--color-primary);
}

.action-btn {
display: flex;
align-items: center;
justify-content: center;
gap: 0.75rem;
padding: 1rem;
font-weight: 800;
border-radius: 12px;
text-decoration: none;
text-transform: uppercase;
font-size: 0.85rem;
transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
cursor: pointer;
margin-bottom: 1rem;
border: 2px solid var(--color-dark);
box-shadow: 4px 4px 0px var(--color-dark);
}

.action-btn:hover {
transform: translate(-4px, -4px);
box-shadow: 8px 8px 0px var(--color-dark);
}

.btn-code {
background: white;
color: var(--color-dark);
}

.btn-code:hover {
border-color: var(--color-primary);
color: var(--color-primary);
}

.btn-download {
background: var(--color-secondary);
color: var(--color-dark);
}

.btn-doc {
background: #f5f5f4;
color: var(--color-text-muted);
}

.btn-access {
background: var(--color-primary);
color: white;
}

.bottom-section-grid {
display: grid;
grid-template-columns: 1fr;
gap: 2.5rem;
}

@media (min-width: 1024px) {
.bottom-section-grid {
grid-template-columns: 1fr 1fr;
}
}

.fixed-height-block {
height: 480px;
background: white;
border: 2px solid var(--color-dark);
border-radius: 16px;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
overflow: hidden;
position: relative;
display: flex;
flex-direction: column;
}

.block-label {
text-align: center;
padding: 1.2rem;
font-weight: 900;
color: var(--color-dark);
text-transform: uppercase;
border-bottom: 2px solid var(--color-dark);
background: #fff;
z-index: 2;
flex-shrink: 0;
letter-spacing: 1px;
}

.video-content {
flex-grow: 1;
background: #000;
width: 100%;
height: 100%;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}

.video-content video {
width: 100%;
height: 100%;
object-fit: contain;
}

.gallery-content {
flex-grow: 1;
position: relative;
background: #1a1a1a;
width: 100%;
height: 100%;
overflow: hidden;
}

.mySlides {
display: none;
width: 100%;
height: 100%;
text-align: center;
}

.mySlides img {
width: 100%;
height: 100%;
object-fit: contain !important;
object-position: center;
display: block;
}

.prev, .next {
cursor: pointer;
position: absolute;
top: 50%;
width: auto;
margin-top: -22px;
padding: 16px;
color: white;
font-weight: 900;
font-size: 20px;
user-select: none;
background-color: var(--color-dark);
z-index: 10;
border: 2px solid white;
border-radius: 8px;
transition: 0.3s;
}

.next {
right: 15px;
}

.prev {
left: 15px;
}

.prev:hover,
.next:hover {
background-color: var(--color-primary);
transform: scale(1.1);
}

.full-width {
grid-column: 1 / -1;
}