﻿
/* ===========================

   INSPIRE PICTURES - Unique Cinematic Design

   Breaking away from generic AI patterns

   =========================== */



/* Root Variables - Inspire Pictures Brand Palette */

:root {

    --primary-orange: #FF8500;

    --accent-orange: #FF9019;

    --dark-blue: #132545;

    --light-orange: #FFE5CC;

    --electric-orange: #FFA500;

    

    --film-black: #0a0a0a;

    --film-white: #fafafa;

    --silver: #94a3b8;



    /* Redefine main colors */

    --primary-blue: var(--dark-blue);

    --accent-blue: var(--primary-orange);

    --electric-blue: var(--accent-orange);

    

    --font-display: 'Bebas Neue', sans-serif;

    --font-body: 'Inter', sans-serif;

    

    --transition-smooth: cubic-bezier(0.4, 0, 0.2, 1);

    --transition-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);

}



/* Reset & Base */

* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}



html {

    scroll-behavior: smooth;

    overflow-x: hidden;

}



body {

    font-family: var(--font-body);

    background: var(--film-black);

    color: var(--film-white);

    line-height: 1.6;

    position: relative;

    overflow-x: hidden;

}



/* Film Perforations - Unique Border Effect */

.film-perforations {

    position: fixed;

    width: 100%;

    height: 30px;

    background: repeating-linear-gradient(

        90deg,

        transparent 0,

        transparent 20px,

        var(--dark-blue) 20px,

        var(--dark-blue) 25px,

        transparent 25px,

        transparent 35px,

        var(--dark-blue) 35px,

        var(--dark-blue) 40px

    );

    z-index: 100;

    pointer-events: none;

}



.film-perforations.top {

    top: 0;

}



.film-perforations.bottom {

    bottom: 0;

}



/

/* Navigation - Asymmetric Design */

.navbar {

    position: fixed;

    top: 30px;

    left: 0;

    right: 0;

    z-index: 1000;

    padding: 20px 40px;

    background: linear-gradient(180deg, rgba(10, 10, 10, 0.95) 0%, transparent 100%);

    backdrop-filter: blur(10px);

    transition: all 0.3s var(--transition-smooth);

}



.navbar.scrolled {

    background: rgba(10, 10, 10, 0.98);

    padding: 15px 40px;

}



.nav-wrapper {

    max-width: 1400px;

    margin: 0 auto;

    display: flex;

    justify-content: space-between;

    align-items: center;

}



.logo-container {

    display: flex;

    align-items: center;

    gap: 15px;

    position: relative;
    margin-right:1rem;

}



.logo-frame {

    display: flex;

    flex-direction: column;

    line-height: 1;

    position: relative;

    z-index: 1;

}



.logo-text {

    font-family: var(--font-display);

    font-size: 32px;

    color: var(--accent-blue);

    letter-spacing: 2px;

    position: relative;

}



.logo-text::after {

    content: '';

    position: absolute;

    bottom: -2px;

    left: 0;

    width: 100%;

    height: 2px;

    background: linear-gradient(90deg, var(--electric-blue), transparent);

    animation: slideGradient 3s ease-in-out infinite;

}



.logo-subtext {

    font-family: var(--font-body);

    font-size: 12px;

    color: var(--silver);

    letter-spacing: 4px;

    margin-top: 2px;

}



.director-viewfinder {

    width: 40px;

    height: 40px;

    border: 2px solid var(--primary-blue);

    position: relative;

    transform: rotate(45deg);

}



.director-viewfinder::before,

.director-viewfinder::after {

    content: '';

    position: absolute;

    background: var(--primary-blue);

}



.director-viewfinder::before {

    width: 100%;

    height: 2px;

    top: 50%;

    transform: translateY(-50%);

}



.director-viewfinder::after {

    width: 2px;

    height: 100%;

    left: 50%;

    transform: translateX(-50%);

}



/* Navigation Menu */

.nav-menu {

    display: flex;

    gap: 40px;

}



.nav-item {

    position: relative;

    cursor: pointer;

    transition: all 0.3s var(--transition-smooth);

}



.nav-number {

    font-size: 10px;

    color: var(--silver);

    margin-right: 5px;

    opacity: 0.5;

    transition: opacity 0.3s;

}



.nav-text {

    font-family: var(--font-display);

    font-size: 18px;

    color: var(--film-white);

    letter-spacing: 1px;

    transition: color 0.3s;

}



.nav-underline {

    position: absolute;

    bottom: -5px;

    left: 0;

    width: 0;

    height: 2px;

    background: var(--electric-blue);

    transition: width 0.3s var(--transition-smooth);

}



.nav-item:hover .nav-number {

    opacity: 1;

}



.nav-item:hover .nav-text {

    color: var(--accent-blue);

}



.nav-item:hover .nav-underline {

    width: 100%;

}



/* Language Switcher */

.lang-switcher {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    margin-right: 20px;
}

.lang-link {
    color: var(--film-white);
    text-decoration: none;
    font-family: var(--font-display);
    font-size: 14px;
    letter-spacing: 1px;
    transition: color 0.3s ease;
    opacity: 0.6;
}

.lang-link:hover {
    color: var(--primary-orange);
    opacity: 1;
}

.lang-link.active {
    color: var(--primary-orange);
    opacity: 1;
    font-weight: bold;
}

.lang-separator {
    color: var(--silver);
    opacity: 0.4;
    font-size: 14px;
}

/* Burger Menu */

.nav-burger {

    display: none;

    flex-direction: column;

    gap: 4px;

    cursor: pointer;

    padding: 5px;

}



.burger-line {

    width: 25px;

    height: 2px;

    background: var(--film-white);

    transition: all 0.3s var(--transition-smooth);

}



.nav-burger.active .burger-line:nth-child(1) {

    transform: rotate(45deg) translate(5px, 5px);

}



.nav-burger.active .burger-line:nth-child(2) {

    opacity: 0;

}



.nav-burger.active .burger-line:nth-child(3) {

    transform: rotate(-45deg) translate(5px, -5px);

}



@keyframes slideGradient {

    0%, 100% { transform: translateX(0); }

    50% { transform: translateX(10px); }

}

/* Hero Section - Cinematic Design */

.hero-section {

    min-height: 100vh;

    position: relative;

    display: flex;

    align-items: center;

    padding: 120px 40px 80px;

    overflow: hidden;

    background: linear-gradient(170deg, #010207 0%, rgba(5, 6, 12, 0.92) 45%, #090503 100%);

}




.hero-background {

    position: absolute;

    inset: 0;

    z-index: 1;

    background:

        radial-gradient(circle at 18% 25%, rgba(255, 133, 0, 0.07) 0%, transparent 40%),

        radial-gradient(circle at 78% 22%, rgba(255, 133, 0, 0.12) 0%, transparent 30%),

        radial-gradient(circle at 62% 68%, rgba(18, 43, 86, 0.4) 0%, transparent 10%),

        linear-gradient(160deg, #02030a 0%, #05060b 45%, #0b0602 100%);

}





/* Animated Film Strips */

.film-strip {

    position: absolute;

    width: 150px;

    height: 100%;

    background: repeating-linear-gradient(

        0deg,

        transparent 0,

        transparent 28px,

        rgba(255, 133, 0, 0.32) 28px,

        rgba(255, 133, 0, 0.32) 58px

    );

    opacity: 0.65;

    mix-blend-mode: screen;

}





.film-strip.strip-1 {

    left: 10%;

    animation: moveStrip 20s linear infinite;

}



.film-strip.strip-2 {

    right: 10%;

    animation: moveStrip 25s linear infinite reverse;

}




@media (max-width: 1024px) {

    .film-strip {

        width: 120px;

        opacity: 0.55;

    }



    .film-strip.strip-1 {

        left: -30px;

    }



    .film-strip.strip-2 {

        right: -30px;

    }

}



@media (max-width: 600px) {

    .film-strip {

        width: 90px;

        opacity: 0.48;

    }



    .film-strip.strip-1 {

        left: -60px;

    }



    .film-strip.strip-2 {

        right: -60px;

    }

}

@keyframes moveStrip {

    to { transform: translateY(-60px); }

}



/* Lens Flare Effect */

.lens-flare {

    position: absolute;

    width: 600px;

    height: 600px;

    background: radial-gradient(

        circle,

        rgba(14, 66, 160, 0.3) 0%,

        rgba(255, 133, 0, 0.18) 32%,

        transparent 70%

    );

    top: 20%;

    right: -200px;

    animation: floatFlare 15s ease-in-out infinite;

    filter: blur(45px);

}




@keyframes floatFlare {

    0%, 100% { transform: translate(0, 0) scale(1); }

    50% { transform: translate(-100px, 50px) scale(1.2); }

}



.hero-content {

    max-width: 1400px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 80px;

    align-items: center;

    position: relative;

    z-index: 1;

}



/* Director Slate */

.director-slate {

    display: inline-block;

    background: var(--dark-blue);

    border: 2px solid var(--primary-blue);

    padding: 10px 20px;

    margin-bottom: 30px;

    transform: skewX(-10deg);

    animation: slideInLeft 1s var(--transition-smooth);

}



.slate-top {

    display: flex;

    gap: 30px;

    font-family: var(--font-display);

    font-size: 14px;

    color: var(--silver);

    margin-bottom: 5px;

}



.slate-numbers {

    display: flex;

    gap: 30px;

    font-family: var(--font-display);

    font-size: 24px;

    color: var(--accent-blue);

}



/* Hero Title with Staggered Animation */

.hero-title {

    font-family: var(--font-display);

    font-size: clamp(60px, 8vw, 120px);

    line-height: 0.9;

    margin-bottom: 30px;

}



.title-line {

    display: block;

    overflow: hidden;

}



.title-line.line-1 {

    animation: slideInText 0.8s 0.2s both;

}



.title-line.line-2 {

    animation: slideInText 0.8s 0.4s both;

    color: var(--accent-blue);

    margin-left: 60px;

}



.title-line.line-3 {

    animation: slideInText 0.8s 0.6s both;

    margin-left: 120px;

}



.accent-dot {

    color: var(--electric-blue);

    animation: pulseDot 2s ease-in-out infinite;

}



@keyframes slideInText {

    from {

        transform: translateY(100%);

        opacity: 0;

    }

    to {

        transform: translateY(0);

        opacity: 1;

    }

}



@keyframes pulseDot {

    0%, 100% { transform: scale(1); }

    50% { transform: scale(1.3); }

}



.hero-description {

    font-size: 18px;

    color: var(--silver);

    max-width: 500px;

    margin-bottom: 40px;

    animation: fadeInUp 1s 0.8s both;

}



/* CTA Buttons - Unique Design */

.hero-cta-group {

    display: flex;

    gap: 20px;

    animation: fadeInUp 1s 1s both;

}



.cta-primary {

    position: relative;

    background: var(--primary-blue);

    color: var(--film-white);

    border: none;

    padding: 15px 30px;

    font-family: var(--font-display);

    font-size: 18px;

    letter-spacing: 1px;

    cursor: pointer;

    overflow: hidden;

    clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 100%, 15px 100%);

    transition: all 0.3s var(--transition-smooth);

}



.cta-primary:hover {

    background: var(--accent-blue);

    transform: translateX(5px);

}



.cta-text {

    position: relative;

    z-index: 1;

}



.cta-icon {

    width: 20px;

    height: 20px;

    margin-left: 10px;

    stroke: currentColor;

    stroke-width: 2;

    fill: none;

    display: inline-block;

    vertical-align: middle;

    transition: transform 0.3s;

}



.cta-primary:hover .cta-icon {

    transform: translateX(5px);

}



.cta-secondary {

    display: flex;

    align-items: center;

    gap: 10px;

    background: transparent;

    color: var(--film-white);

    border: 2px solid var(--primary-blue);

    padding: 15px 30px;

    font-family: var(--font-body);

    font-weight: 500;

    cursor: pointer;

    position: relative;

    overflow: hidden;

    transition: all 0.3s var(--transition-smooth);

}



.cta-secondary::before {

    content: '';

    position: absolute;

    inset: 0;

    background: var(--primary-blue);

    transform: scaleX(0);

    transform-origin: left;

    transition: transform 0.3s var(--transition-smooth);

}



.cta-secondary:hover::before {

    transform: scaleX(1);

}



.cta-secondary:hover {

    color: var(--film-white);

    border-color: var(--primary-blue);

}



.play-icon {

    font-size: 12px;

    position: relative;

    z-index: 1;

}



.cta-secondary span {

    position: relative;

    z-index: 1;

}

/* Camera Viewfinder */

.camera-viewfinder {

    position: relative;

    width: 100%;

    max-width: 640px;

    aspect-ratio: 16/9;

    background: linear-gradient(135deg, #0a0a0a 0%, #132545 100%);

    border-radius: 8px;

    overflow: hidden;

    box-shadow: 0 20px 60px rgba(255, 133, 0, 0.2);

    margin-left: auto;

}



.hero-video-placeholder {

    position: absolute;

    inset: 0;

    display: flex;

    align-items: center;

    justify-content: center;

}



.hero-video-placeholder img {

    max-width: 70%;

    height: auto;

    opacity: 0.85;

}

.viewfinder-frame {

    position: absolute;

    inset: 0;

    border: 2px solid var(--primary-blue);

    pointer-events: none;

    z-index: 2;

}



.viewfinder-frame .corner {

    position: absolute;

    width: 30px;

    height: 30px;

    border: 2px solid var(--electric-blue);

}



.corner.tl {

    top: -2px;

    left: -2px;

    border-right: none;

    border-bottom: none;

}



.corner.tr {

    top: -2px;

    right: -2px;

    border-left: none;

    border-bottom: none;

}



.corner.bl {

    bottom: -2px;

    left: -2px;

    border-right: none;

    border-top: none;

}



.corner.br {

    bottom: -2px;

    right: -2px;

    border-left: none;

    border-top: none;

}



.rec-indicator {

    position: absolute;

    top: 20px;

    right: 20px;

    padding: 5px 10px;

    background: rgba(255, 0, 0, 0.8);

    color: white;

    font-family: var(--font-display);

    font-size: 14px;

    letter-spacing: 1px;

    animation: blink 1.5s infinite;

}



.timecode {

    position: absolute;

    bottom: 20px;

    left: 20px;

    font-family: monospace;

    color: var(--electric-blue);

    font-size: 14px;

    background: rgba(0, 0, 0, 0.5);

    padding: 5px 10px;

}



@keyframes blink {

    0%, 100% { opacity: 1; }

    50% { opacity: 0.3; }

}



.hero-video {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



/* Scroll Indicator */

.scroll-indicator {

    position: absolute;

    bottom: 40px;

    left: 50%;

    transform: translateX(-50%);

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 10px;

    animation: bounce 2s infinite;

}



.film-reel {

    width: 60px;

    height: 60px;

    animation: rotate 3s linear infinite;

}



.scroll-text {

    font-family: var(--font-display);

    font-size: 12px;

    letter-spacing: 2px;

    color: var(--silver);

}



@keyframes bounce {

    0%, 100% { transform: translateX(-50%) translateY(0); }

    50% { transform: translateX(-50%) translateY(10px); }

}



@keyframes rotate {

    to { transform: rotate(360deg); }

}



/* Animations */

@keyframes slideInLeft {

    from {

        transform: translateX(-100px) skewX(-10deg);

        opacity: 0;

    }

    to {

        transform: translateX(0) skewX(-10deg);

        opacity: 1;

    }

}



@keyframes slideInRight {

    from {

        transform: translateX(100px);

        opacity: 0;

    }

    to {

        transform: translateX(0);

        opacity: 1;

    }

}



@keyframes fadeInUp {

    from {

        transform: translateY(30px);

        opacity: 0;

    }

    to {

        transform: translateY(0);

        opacity: 1;

    }

}



/* Services Section */

.services-section {

    padding: 120px 40px;

    position: relative;

    background: linear-gradient(135deg, var(--film-black) 0%, var(--dark-blue) 100%);

}





.section-inner {

    max-width: 1240px;

    margin: 0 auto;

    width: 100%;

}

.section-header {

    display: flex;

    align-items: center;

    gap: 30px;

    margin: 0 auto 80px;

    max-width: 1240px;

    width: 100%;

    padding: 0 40px;

    position: relative;

}



.section-number {

    font-family: var(--font-display);

    font-size: 120px;

    color: rgba(255, 133, 0, 0.2);

    line-height: 1;

}



.section-title {

    display: flex;

    flex-direction: column;

    gap: 10px;

}



.title-main {

    font-family: var(--font-display);

    font-size: 48px;

    color: var(--film-white);

    letter-spacing: 2px;

}



.title-sub {

    font-family: var(--font-body);

    font-size: 18px;

    color: var(--silver);

    margin-top: -20px !important;

}



/* Services Grid with Diagonal Cards */



.services-cta {

    margin: 80px auto 0;

    max-width: 1200px;

    padding: 40px 48px;

    background: linear-gradient(135deg, rgba(255,133,0,0.15) 0%, rgba(19,37,69,0.95) 100%);

    border: 1px solid rgba(255,133,0,0.4);

    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);

    border-radius: 16px;

    text-align: center;

}



.services-cta h3 {

    font-family: var(--font-display);

    font-size: clamp(28px, 5vw, 42px);

    letter-spacing: 2px;

    color: var(--film-white);

    margin-bottom: 12px;

}



.services-cta p {

    font-family: var(--font-body);

    color: var(--silver);

    font-size: 18px;

    margin-bottom: 24px;

}



.services-cta__button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 6px 15px 5px 15px;

    background: transparent;

    border-style:solid;

    border-width:1px;

    color: var(--film-black);

    font-family: var(--font-display);

    letter-spacing: 1px;

    text-decoration: none;

    border-radius: 999px;

    transition: transform 0.3s ease, box-shadow 0.3s ease;

}



.services-cta__button:hover {

    transform: translateY(-3px);

    box-shadow: 0 15px 30px rgba(255,133,0,0.35);

}



@media (max-width: 768px) {

    .services-cta {

        padding: 32px 24px;

        margin-top: 56px;

    }



    .services-cta p {

        font-size: 16px;

    }

}



.services-grid {

    display: grid;

    grid-template-columns: repeat(2, minmax(320px, 1fr));

    gap: 40px;

    max-width: 1200px;

    margin: 0 auto;

}

.service-card {

    position: relative;

    background: rgba(255, 133, 0, 0.1);

    border: 1px solid rgba(255, 144, 25, 0.3);

    padding: 40px 30px;

    transform: skewY(-2deg);

    transition: all 0.3s var(--transition-smooth);

    overflow: hidden;

}



.service-card::before {

    content: '';

    position: absolute;

    inset: 0;

    background: linear-gradient(135deg, transparent, rgba(0, 212, 255, 0.1));

    transform: translateX(-100%);

    transition: transform 0.5s;

}



.service-card:hover::before {

    transform: translateX(0);

}



.service-card:hover {

    transform: skewY(0deg) translateY(-10px);

    border-color: var(--electric-blue);

    box-shadow: 0 20px 40px rgba(0, 212, 255, 0.2);

}



.service-card > * {

    transform: skewY(2deg);

}



.service-number {

    position: absolute;

    top: 20px;

    right: 20px;

    font-family: var(--font-display);

    font-size: 60px;

    color: rgba(0, 212, 255, 0.1);

}



.service-icon {

    width: 80px;

    height: 80px;

    margin-bottom: 20px;

    color: var(--accent-blue);

}



.service-icon svg {

    width: 100%;

    height: 100%;

    stroke-width: 1.5;

}



.service-title {

    font-family: var(--font-display);

    font-size: 24px;

    color: var(--film-white);

    margin-bottom: 15px;

    letter-spacing: 1px;

}



.service-description {

    color: var(--silver);

    line-height: 1.6;

    margin-bottom: 20px;

}



.service-tags {

    display: flex;

    gap: 10px;

    flex-wrap: wrap;

}



.tag {

    padding: 5px 12px;

    background: rgba(255, 144, 25, 0.2);

    border: 1px solid rgba(255, 144, 25, 0.4);

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 1px;

    color: var(--accent-blue);

}

/* Portfolio Section */

.portfolio-section {

    padding: 120px 40px;

    background: var(--film-black);

    position: relative;

    overflow: hidden;

}



.portfolio-container {

    position: relative;

    margin-bottom: 80px;

}



.film-strip-gallery {

    overflow: hidden;

    padding: 40px 0;

}



.gallery-track {

    display: flex;

    gap: 30px;

    transition: transform 0.5s var(--transition-smooth);

}



.portfolio-item {

    min-width: 400px;

    aspect-ratio: 16/9;

    position: relative;

}



.portfolio-frame {

    position: relative;

    width: 100%;

    height: 100%;

    overflow: hidden;

    border: 2px solid var(--primary-blue);

    transform: perspective(1000px) rotateY(-5deg);

    transition: all 0.3s var(--transition-smooth);

}



.portfolio-frame:hover {

    transform: perspective(1000px) rotateY(0deg) scale(1.05);

}



.portfolio-frame img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.portfolio-overlay {

    position: absolute;

    inset: 0;

    background: linear-gradient(180deg, transparent 50%, rgba(10, 10, 10, 0.9) 100%);

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    padding: 20px;

    opacity: 0;

    transition: opacity 0.3s;

}



.portfolio-frame:hover .portfolio-overlay {

    opacity: 1;

}



.project-category {

    font-size: 12px;

    color: var(--electric-blue);

    letter-spacing: 2px;

    margin-bottom: 5px;

}



.project-title {

    font-family: var(--font-display);

    font-size: 24px;

    color: var(--film-white);

}



.play-button {

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    width: 60px;

    height: 60px;

    border: 2px solid var(--film-white);

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 20px;

    color: var(--film-white);

    background: rgba(0, 0, 0, 0.5);

    backdrop-filter: blur(5px);

    cursor: pointer;

    transition: all 0.3s;

}



.play-button:hover {

    background: var(--primary-blue);

    transform: translate(-50%, -50%) scale(1.1);

}



.portfolio-controls {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    width: 100%;

    display: flex;

    justify-content: space-between;

    padding: 0 20px;

    pointer-events: none;

}



.control-prev,

.control-next {

    width: 50px;

    height: 50px;

    background: rgba(255, 133, 0, 0.8);

    border: 2px solid var(--accent-blue);

    color: var(--film-white);

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: center;

    transition: all 0.3s;

    pointer-events: all;

}



.control-prev:hover,

.control-next:hover {

    background: var(--accent-blue);

    transform: scale(1.1);

}



.control-prev svg,

.control-next svg {

    width: 24px;

    height: 24px;

    stroke: currentColor;

    stroke-width: 2;

    fill: none;

}



/* Portfolio Stats */

.portfolio-stats {

    display: flex;

    justify-content: center;

    gap: 80px;

}



.stat-item {

    text-align: center;

}



.stat-number {

    font-family: var(--font-display);

    font-size: 72px;

    color: var(--accent-blue);

    display: block;

    margin-bottom: 10px;

}



.stat-label {

    font-size: 14px;

    color: var(--silver);

    letter-spacing: 2px;

}



.footer-passion {

    text-align: center !important;

    padding: 10px 0 15px !important;

    color: rgba(255, 255, 255, 0.7) !important;

    font-size: 14px !important;

    letter-spacing: 1px !important;

}



.footer-passion p {

    margin: 0 !important;

    font-style: italic !important;

}



.footer-passion .heart {

    display: inline-block !important;

    color: #FF8500 !important;

    font-size: 18px !important;

    animation: heartPulse 2s ease-in-out infinite !important;

    margin: 0 5px !important;

}



@keyframes heartPulse {

    0%, 100% {

        opacity: 0.8;

    }

    50% {

        opacity: 1;

    }

}



/* About Section */


.about-section {
    padding: 120px 40px;
    position: relative;
    background: linear-gradient(140deg, rgba(10, 23, 45, 0.9) 0%, rgba(5, 6, 12, 0.96) 55%, rgba(9, 5, 3, 0.96) 100%);
    overflow: hidden;
}

.about-section::before,
.about-section::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    opacity: 0.45;
    pointer-events: none;
    z-index: 0;
}

.about-section::before {
    width: 520px;
    height: 520px;
    top: -180px;
    left: -140px;
    background: radial-gradient(circle, rgba(255, 133, 0, 0.42) 0%, transparent 70%);
}

.about-section::after {
    width: 480px;
    height: 480px;
    bottom: -220px;
    right: -160px;
    background: radial-gradient(circle, rgba(19, 37, 69, 0.65) 0%, transparent 72%);
}

.about-section .section-inner {
    position: relative;
    z-index: 1;
}

.about-content {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr);
    gap: 80px;
    align-items: stretch;
}

.about-text {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.about-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.about-pill {
    font-size: 13px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 10px 18px;
    border-radius: 999px;
    background: linear-gradient(120deg, rgba(255, 133, 0, 0.22), rgba(255, 133, 0, 0.08));
    border: 1px solid rgba(255, 133, 0, 0.45);
    color: var(--film-white);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 12px 25px rgba(255, 133, 0, 0.12);
}

.about-copy {
    position: relative;
    background: linear-gradient(150deg, rgba(11, 19, 36, 0.75) 0%, rgba(8, 8, 12, 0.92) 100%);
    padding: 36px 32px;
    border-radius: 24px;
    border: 1px solid rgba(255, 133, 0, 0.22);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

.about-copy::before {
    content: '';
    position: absolute;
    top: -160px;
    right: -120px;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, rgba(255, 133, 0, 0.28) 0%, transparent 70%);
    opacity: 0.55;
    pointer-events: none;
}

.about-copy p {
    color: var(--silver);
    font-size: 18px;
    line-height: 1.8;
}

.about-copy .about-intro {
    color: var(--film-white);
    font-size: 20px;
    font-weight: 500;
      text-align: center;
  text-transform: uppercase;
}

.about-copy strong {
    color: var(--primary-orange);
    font-weight: 600;
}

.about-focus-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
}

.focus-card {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    padding: 22px;
    border-radius: 20px;
    border: 1px solid rgba(255, 133, 0, 0.28);
    background: linear-gradient(160deg, rgba(19, 37, 69, 0.35) 0%, rgba(10, 10, 10, 0.78) 100%);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.38);
    position: relative;
    overflow: hidden;
}

.focus-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(255, 133, 0, 0.12), transparent 60%);
    opacity: 0.4;
    pointer-events: none;
}

.focus-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    border: 1px solid rgba(255, 133, 0, 0.55);
    background: linear-gradient(135deg, rgba(255, 133, 0, 0.35), rgba(255, 133, 0, 0.1));
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--film-white);
    font-size: 24px;
    box-shadow: 0 12px 28px rgba(255, 133, 0, 0.25);
    position: relative;
    z-index: 1;
}

.focus-icon::after {
    content: '';
    font-family: var(--font-display);
    font-size: 14px;
    letter-spacing: 0.18em;
    color: var(--film-white);
}

.focus-icon--direction::after {
    content: 'RG';
}

.focus-icon--gear::after {
    content: '4K';
}

.focus-icon--edit::after {
    content: 'FX';
}

.focus-icon--next::after {
    content: 'MP';
}

.focus-card h3 {
    margin: 0 0 6px;
    color: var(--film-white);
    font-size: 18px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.focus-card p {
    color: var(--silver);
    font-size: 15px;
    line-height: 1.6;
}

.about-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin-top: 12px;
    padding: 28px 32px;
    border-radius: 22px;
    border: 1px solid rgba(255, 133, 0, 0.24);
    background: linear-gradient(120deg, rgba(11, 22, 43, 0.55), rgba(10, 10, 10, 0.75));
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.45);
}

.about-stat {
    flex: 1 1 160px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.about-stat-value {
    font-family: var(--font-display);
    font-size: 52px;
    color: var(--primary-orange);
    letter-spacing: 0.08em;
}

.about-stat-label {
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.65);
}

.about-visual {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 32px;
    z-index: 1;
}

.about-visual::before,
.about-visual::after {
    content: ;
    position: absolute;
    inset: 0;
    border-radius: 32px;
    pointer-events: none;
    mix-blend-mode: lighten;
    opacity: 0.25;
}

.about-visual::before {
    transform: translate(-40px, -40px);
    background: radial-gradient(circle, rgba(255, 133, 0, 0.35) 0%, transparent 70%);
    filter: blur(80px);
}

.about-visual::after {
    transform: translate(60px, 60px);
    background: radial-gradient(circle, rgba(19, 37, 69, 0.4) 0%, transparent 65%);
    filter: blur(90px);
}

.about-spotlight {
    position: relative;
    padding: 40px 36px;
    border-radius: 28px;
    border: 1px solid rgba(255, 133, 0, 0.32);
    background: linear-gradient(170deg, rgba(19, 37, 69, 0.78) 0%, rgba(9, 9, 14, 0.92) 100%);
    box-shadow: 0 38px 80px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
}

.about-spotlight .clapperboard {
    margin: 0 auto 24px;
    transform: scale(0.95);
}

.about-spotlight::before {
    content: '';
    position: absolute;
    inset: 18px;
    border-radius: 22px;
    border: 1px dashed rgba(255, 133, 0, 0.22);
    pointer-events: none;
}

.about-quote {
    text-align: center;
    max-width: 320px;
}

.about-quote h3 {
    font-family: var(--font-display);
    font-size: 28px;
    color: var(--film-white);
    letter-spacing: 0.06em;
    margin-bottom: 10px;
}

.about-quote p {
    color: var(--silver);
    font-size: 17px;
    line-height: 1.6;
}

.about-quote-tags {
    display: inline-flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.about-quote-tags span {
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 133, 0, 0.16);
    border: 1px solid rgba(255, 133, 0, 0.35);
    color: var(--film-white);
}

.about-ribbon {
    font-family: var(--font-display);
    font-size: 16px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--primary-orange);
    padding: 12px 35px;
    border: 1px solid rgba(255, 133, 0, 0.45);
    border-radius: 999px;
    background: rgba(255, 133, 0, 0.08);
    margin-top:2rem;
}

.about-timeline {
    position: relative;
    padding: 36px 32px 36px 56px;
    border-radius: 24px;
    border: 1px solid rgba(255, 133, 0, 0.25);
    background: linear-gradient(150deg, rgba(11, 25, 47, 0.65) 0%, rgba(8, 8, 12, 0.9) 100%);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.45);
}

.about-timeline::before {
    content: '';
    position: absolute;
    top: 32px;
    bottom: 32px;
    left: 28px;
    width: 2px;
    background: linear-gradient(180deg, rgba(255, 133, 0, 0.2) 0%, rgba(255, 133, 0, 0.6) 45%, rgba(255, 133, 0, 0.2) 100%);
}

.timeline-item {
    display: flex;
    gap: 18px;
    padding: 18px 0;
    position: relative;
}

.timeline-item + .timeline-item {
    border-top: 1px dashed rgba(255, 133, 0, 0.2);
}

.timeline-step {
    width: 44px;
    height: 44px;
    border-radius: 18px;
    background: linear-gradient(140deg, rgba(255, 133, 0, 0.9), rgba(255, 133, 0, 0.55));
    color: var(--film-black);
    font-family: var(--font-display);
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 25px rgba(255, 133, 0, 0.35);
    flex-shrink: 0;
}

.timeline-content h4 {
    margin: 0 0 6px;
    color: var(--film-white);
    font-size: 18px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.timeline-content p {
    margin: 0;
    color: rgba(250, 250, 250, 0.7);
    font-size: 15px;
    line-height: 1.6;
}

@media (max-width: 1200px) {
    .about-content {
        grid-template-columns: 1fr;
        gap: 56px;
    }

    .about-visual {
        flex-direction: column;
    }
}

@media (max-width: 768px) {
    .about-section {
        padding: 90px 24px;
    }

    .about-copy {
        padding: 28px 24px;
    }

    .about-stats {
        padding: 24px;
        gap: 20px;
    }

    .about-stat-value {
        font-size: 44px;
    }

    .about-spotlight {
        padding: 32px 24px;
    }

    .about-timeline {
        padding: 32px 24px 32px 50px;
    }

    .timeline-step {
        width: 40px;
        height: 40px;
    }
}
/* Clapperboard Animation */

.clapperboard {

    width: 300px;

    height: 250px;

    margin: 0 auto;

    position: relative;

}



.clapper-top {

    background: var(--primary-blue);

    height: 80px;

    display: flex;

    align-items: center;

    justify-content: center;

    transform-origin: bottom left;

    animation: clap 3s ease-in-out infinite;

    position: relative;

    z-index: 2;

}



.clapper-top span {

    font-family: var(--font-display);

    font-size: 24px;

    color: var(--film-white);

    letter-spacing: 2px;

}



.clapper-bottom {

    background: repeating-linear-gradient(

        90deg,

        var(--film-white) 0,

        var(--film-white) 60px,

        var(--film-black) 60px,

        var(--film-black) 120px

    );

    height: 170px;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    align-items: center;

    padding: 20px;

    border: 2px solid var(--primary-blue);

}



.clapper-bottom span {

    font-family: var(--font-display);

    color: var(--primary-blue);

    text-align: center;

}



@keyframes clap {

    0%, 100% { transform: rotateX(0); }

    10% { transform: rotateX(-20deg); }

    15% { transform: rotateX(0); }

}

/* Contact Section */

.contact-section {

    padding: 120px 40px;

    background: var(--film-black);

    position: relative;

}



.contact-content {

    display: grid;

    grid-template-columns: 2fr 1fr;

    gap: 60px;

    max-width: 1200px;

    margin: 0 auto;

}



/* Unique Form Design */

.contact-form {

    display: flex;

    flex-direction: column;

    gap: 30px;

}



.form-row {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 30px;

}



.form-group {

    position: relative;

}



.form-group label{margin-top:-20px;}

.info-card h3 {color:var(--accent-blue);}

.form-group select{margin-top:20px;}

.form-group input,

.form-group select,

.form-group textarea {

    width: 100%;

    padding: 15px 0;

    background: transparent;

    border: none;

    border-bottom: 1px solid rgba(255, 144, 25, 0.3);

    color: var(--film-white);

    font-family: var(--font-body);

    font-size: 16px;

    transition: all 0.3s;

}



.form-group label {

    position: absolute;

    left: 0;

    top: 15px;

    color: var(--silver);

    pointer-events: none;

    transition: all 0.3s;

}



.form-group input:focus ~ label,

.form-group input:valid ~ label,

.form-group select:focus ~ label,

.form-group select:valid ~ label,

.form-group textarea:focus ~ label,

.form-group textarea:valid ~ label {

    top: -10px;

    font-size: 12px;

    color: var(--accent-blue);

}



.input-border {

    position: absolute;

    bottom: 0;

    left: 0;

    width: 0;

    height: 2px;

    background: var(--electric-blue);

    transition: width 0.3s;

}



.form-group input:focus ~ .input-border,

.form-group select:focus ~ .input-border,

.form-group textarea:focus ~ .input-border {

    width: 100%;

}



.form-group.full-width {

    grid-column: 1 / -1;

}



.form-group textarea {

    resize: vertical;

}



.form-group select {

    cursor: pointer;

}



.form-group select option {

    background: var(--dark-blue);

}



/* Submit Button */

.submit-btn {

    position: relative;

    background: transparent;

    color: var(--film-white);

    border: 2px solid var(--primary-blue);

    padding: 18px 40px;

    font-family: var(--font-display);

    font-size: 18px;

    letter-spacing: 2px;

    cursor: pointer;

    overflow: hidden;

    align-self: flex-start;

    transition: all 0.3s;

}



.btn-effect {

    position: absolute;

    inset: 0;

    background: linear-gradient(90deg, var(--primary-blue), var(--accent-blue));

    transform: scaleX(0);

    transform-origin: left;

    transition: transform 0.3s var(--transition-smooth);

}



.submit-btn:hover .btn-effect {

    transform: scaleX(1);

}



.submit-btn:hover {

    color: var(--film-white);

    border-color: transparent;

}



.btn-text {

    position: relative;

    z-index: 1;

}



/* Contact Info */

.contact-info {

    display: flex;

    flex-direction: column;

    gap: 30px;

}



.info-card {

    padding: 30px;

    background: rgba(255, 133, 0, 0.1);

    border: 1px solid rgba(255, 144, 25, 0.3);

    transform: skewX(-5deg);

    transition: all 0.3s;

}



.info-card:hover {

    transform: skewX(0deg);

    background: rgba(255, 133, 0, 0.2);

}



.info-card > * {

    transform: skewX(5deg);

}



.info-icon {

    font-size: 28px;

    margin-bottom: 10px;

}



.info-card h4 {

    font-family: var(--font-display);

    font-size: 20px;

    color: var(--accent-blue);

    margin-bottom: 10px;

}



.info-card p {

    color: var(--silver);

}



/* Social Links */

.social-links {

    display: flex;

    gap: 15px;

    margin-top: 30px;

}



.social-link {

    width: 45px;

    height: 45px;

    border: 2px solid var(--primary-blue);

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--film-white);

    transition: all 0.3s;

    position: relative;

    overflow: hidden;

}



.social-link::before {

    content: '';

    position: absolute;

    inset: 0;

    background: var(--primary-blue);

    transform: scale(0);

    transition: transform 0.3s;

}



.social-link:hover::before {

    transform: scale(1);

}



.social-link:hover {

    color: var(--film-white);

    transform: translateY(-5px);

}



.social-link svg {

    width: 20px;

    height: 20px;

    position: relative;

    z-index: 1;

    fill: none;

    stroke: currentColor;

    stroke-width: 2;

}



/* Footer */

.footer {

    background: var(--dark-blue);

    padding: 60px 40px 30px;

    border-top: 1px solid rgba(255, 144, 25, 0.2);

}



.footer-content {

    max-width: 1200px;

    margin: 0 auto;

    text-align: center;

}



.footer-logo {

    margin-bottom: 30px;

}



.footer-logo .logo-text {

    font-family: var(--font-display);

    font-size: 36px;

    color: var(--accent-blue);

    display: block;

    letter-spacing: 3px;

}



.tagline {

    font-size: 14px;

    color: var(--silver);

    margin-top: 5px;

}



.footer-links {

    display: flex;

    justify-content: center;

    gap: 40px;

    margin-bottom: 40px;

}



.footer-links a {

    color: var(--silver);

    text-decoration: none;

    font-size: 14px;

    transition: color 0.3s;

    position: relative;

}



.footer-links a::after {

    content: '';

    position: absolute;

    bottom: -5px;

    left: 0;

    width: 0;

    height: 1px;

    background: var(--electric-blue);

    transition: width 0.3s;

}



.footer-links a:hover {

    color: var(--accent-blue);

}



.footer-links a:hover::after {

    width: 100%;

}



.footer-bottom {

    padding-top: 30px;

    border-top: 1px solid rgba(255, 144, 25, 0.1);

}



.footer-bottom p {

    color: var(--silver);

    font-size: 13px;

    margin: 5px 0;

}



/* Responsive Design */

@media (max-width: 1024px) {

    .hero-content {

        display: flex;

        flex-direction: column;

        align-items: flex-start;

        gap: 48px;

    }



    .hero-left {

        width: 100%;

    }



    .hero-right {

        order: 2;

        width: 100%;

        display: flex;

        justify-content: center;

        margin-top: 32px;

    }



    .camera-viewfinder {

        width: 100%;

        max-width: 640px;

        margin: 0 auto;

    }



    .hero-video-placeholder img {

        max-width: 70%;

    }



    .title-line.line-2,

    .title-line.line-3 {

        margin-left: 0;

    }



    .about-content {

        grid-template-columns: 1fr;

        gap: 48px;

    }



    .about-highlight {

        max-width: 520px;

        margin: 0 auto;

    }



    .services-grid {

        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

    }



    .contact-content {

        grid-template-columns: 1fr;

    }

}







@media (max-width: 900px) {

    .services-grid {

        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));

    }

}



@media (max-width: 768px) {

    .nav-menu {

        position: fixed;

        top: 0;

        right: -100%;

        width: 80%;

        height: 100vh;

        background: var(--dark-blue);

        flex-direction: column;

        align-items: center;

        justify-content: center;

        transition: right 0.3s;

    }



    .nav-menu.active {

        right: 0;

    }



    .nav-burger {

        display: flex;

    }



    .hero-content {

        align-items: flex-start;

        gap: 40px;

    }



    .hero-title {

        font-size: clamp(40px, 10vw, 80px);

        margin-bottom: 24px;

    }



    .hero-right {

        margin-top: 24px;

    }



    .camera-viewfinder {

        width: 100%;

        max-width: 520px;

        margin: 0 auto 32px;

    }



    .hero-video-placeholder img {

        max-width: 80%;

    }



    .section-number {

        font-size: 60px;

    }



    .title-main {

        font-size: 32px;

    }



    .portfolio-item {

        min-width: 300px;

    }



    .form-row {

        grid-template-columns: 1fr;

    }



    .portfolio-stats {

        flex-direction: column;

        gap: 40px;

    }



    .footer-links {

        flex-wrap: wrap;

        gap: 20px;

    }

}



@media (max-width: 480px) {

    .hero-section {

        padding: 100px 20px 60px;

    }



    .services-section,

    .portfolio-section,

    .about-section,

    .contact-section {

        padding: 80px 20px;

    }



    .hero-cta-group {

        flex-direction: column;

        width: 100%;

    }



    .cta-primary,

    .cta-secondary {

        width: 100%;

        justify-content: center;

    }



    .camera-viewfinder {

        max-width: 440px;

        margin: 0 auto 24px;

    }



    .hero-video-placeholder img {

        max-width: 85%;

    }

}





.film-reel svg {

    display: block;

    transform-origin: center;

    transform-box: fill-box;

}



