:root{--page-title-display:none;}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');

* { margin: 0; padding: 0; box-sizing: border-box; cursor: none; }
:root { --black:#000; --white:#fff; --gray-dark:#111; --gray-medium:#222; --gray-light:#888; --gray-lighter:#ccc; }
html { scroll-behavior: smooth; }
body { font-family:'Inter',sans-serif; background:var(--black); color:var(--white); overflow-x:hidden; cursor:none; }

/* Cursor hidden on mobile */
@media (max-width:768px){ .cursor,.cursor-follower{ display:none!important; } *{ cursor:auto!important } }

/* Navigation */
nav { position:fixed; top:0; width:100%; padding:30px 60px; z-index:1000; transition:all .5s cubic-bezier(0.25,0.8,0.25,1); mix-blend-mode:difference; }
nav.scrolled { padding:20px 60px; background:rgba(0,0,0,.95); backdrop-filter:blur(20px); mix-blend-mode:normal; }
.nav-container { display:flex; justify-content:space-between; align-items:center; max-width:1800px; margin:0 auto; }
.logo { width:200px; height:auto; transition:all .3s ease; }
.logo:hover { transform:scale(1.05); }
.nav-menu { display:flex; gap:50px; list-style:none; align-items:center; }
.nav-link { color:var(--white); text-decoration:none; font-weight:500; font-size:14px; letter-spacing:2px; text-transform:uppercase; position:relative; transition:all .3s ease; }
.nav-link::after { content:''; position:absolute; bottom:-5px; left:0; width:0; height:1px; background:var(--white); transition:width .3s ease; }
.nav-link:hover::after { width:100%; }

/* Hero */
.hero { height:100vh; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; background:var(--black); }
.hero-bg-text { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-size:20vw; font-weight:900; letter-spacing:-.05em; line-height:.8; text-align:center; color:rgba(255,255,255,.8); white-space:nowrap; user-select:none; z-index:1; }
.mobile-text { display:none; }
.hero-porsche { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(.8); width:70%; max-width:1000px; height:auto; z-index:2; filter:drop-shadow(0 50px 100px rgba(0,0,0,.8)); }

/* Parallax */
.parallax-container{ position:fixed; top:0; left:0; width:100%; height:100vh; pointer-events:none; z-index:0; }
.parallax-layer{ position:absolute; width:110%; height:110%; left:-5%; top:-5%; }
.grid-overlay{ background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px); background-size:50px 50px; opacity:1; transform:translateZ(0); }
.noise-overlay{ opacity:.03; background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIj48ZmlsdGVyIGlkPSJhIj48ZmVUdXJidWxlbmNlIGJhc2VGcmVxdWVuY3k9Ii43NSIgbnVtT2N0YXZlcz0iMTAiLz48ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAxIDAgMCAwIDEgMCIvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbHRlcj0idXJsKCNhKSIgb3BhY2l0eT0iMSIvPjwvc3ZnPg=='); }

/* Scroll indicator */
.scroll-indicator{ position:absolute; bottom:40px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--white); font-size:12px; letter-spacing:2px; text-transform:uppercase; opacity:.5; animation:bounce 2s infinite; }
@keyframes bounce{ 0%,100%{ transform:translateX(-50%) translateY(0) } 50%{ transform:translateX(-50%) translateY(10px) } }
.scroll-line{ width:1px; height:60px; background:linear-gradient(to bottom, var(--white), transparent); }

/* Sections */
.services, .about, .stats, .gallery, .contact { padding:150px 60px; background:var(--black); position:relative; }
.section-header{ text-align:center; margin-bottom:100px; opacity:0; transform:translateY(50px); }
.section-number{ font-size:200px; font-weight:900; color:rgba(255,255,255,.05); line-height:1; margin-bottom:-50px; }
.section-title{ font-size:60px; font-weight:800; letter-spacing:-2px; text-transform:uppercase; }

.services-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(400px,1fr)); gap:60px; max-width:1400px; margin:0 auto; }
.service-card{ background:var(--gray-dark); color:var(--white); padding:60px; position:relative; overflow:hidden; opacity:0; transform:translateY(50px) scale(.9); transition:all .5s cubic-bezier(0.25,0.8,0.25,1); }
.service-card.reveal{ opacity:1; transform:translateY(0) scale(1); }
.service-card::before{ content:''; position:absolute; inset:0; background:linear-gradient(135deg, transparent, rgba(255,255,255,.05)); transform:translate(-100%,-100%); transition:transform .6s ease; }
.service-card:hover::before{ transform:translate(0,0); }
.service-number{ font-size:80px; font-weight:900; color:rgba(255,255,255,.1); margin-bottom:20px; }
.service-title{ font-size:32px; font-weight:700; margin-bottom:20px; text-transform:uppercase; letter-spacing:-1px; }
.service-description{ font-size:16px; line-height:1.8; color:rgba(255,255,255,.8); margin-bottom:30px; }
.service-features{ list-style:none; }
.service-features li{ padding:10px 0 10px 25px; color:rgba(255,255,255,.7); position:relative; }
.service-features li::before{ content:'→'; position:absolute; left:0; color:var(--white); }

/* About */
.about-container{ max-width:1400px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.about-text h2{ font-size:60px; font-weight:800; margin-bottom:30px; line-height:1.1; }
.about-text p{ font-size:18px; line-height:1.8; color:rgba(255,255,255,.8); margin-bottom:30px; }
.expertise-points{ margin-top:50px; }
.expertise-item{ display:flex; align-items:center; gap:20px; margin-bottom:30px; padding:25px; background:var(--gray-dark); transition:all .3s ease; }
.expertise-item:hover{ transform:translateX(10px); background:var(--gray-medium); }
.expertise-icon{ font-size:40px; width:60px; height:60px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.05); border-radius:10px; }
.expertise-content h3{ font-size:20px; margin-bottom:5px; }
.expertise-content p{ font-size:14px; color:rgba(255,255,255,.7); }

/* Video */
.video-section{ position:relative; height:100vh; background:var(--black); display:flex; align-items:center; justify-content:center; padding:0; }
.video-wrapper{ position:relative; width:100%; height:100vh; overflow:hidden; }
.video-iframe{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:100vw; height:56.25vw; min-height:100vh; min-width:177.77vh; border:none; }
.video-overlay{ position:absolute; inset:0; background:rgba(0,0,0,.3); pointer-events:none; z-index:1; }
.video-overlay-text{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-size:10vw; font-weight:900; letter-spacing:-5px; text-transform:uppercase; color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.1); white-space:nowrap; pointer-events:none; z-index:2; }

/* Stats */
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:60px; max-width:1400px; margin:0 auto; }
.stat-item{ text-align:center; opacity:0; transform:translateY(50px); }
.stat-number{ font-size:80px; font-weight:900; color:var(--white); display:block; margin-bottom:10px; }
.stat-label{ font-size:14px; letter-spacing:2px; text-transform:uppercase; color:var(--gray-light); }

/* Gallery */
.gallery{ padding:0; background:var(--black); position:relative; overflow:hidden; }
.gallery-container{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.gallery-item{ position:relative; height:50vh; overflow:hidden; background:var(--black); }
.gallery-item img{ width:100%; height:100%; object-fit:cover; filter:grayscale(100%); transition:all .5s ease; transform:scale(1.1); }
.gallery-item:hover img{ filter:grayscale(0%); transform:scale(1); }
.gallery-overlay{ position:absolute; inset:0; background:rgba(0,0,0,.8); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .3s ease; }
.gallery-item:hover .gallery-overlay{ opacity:1; }
.gallery-text{ text-align:center; color:var(--white); transform:translateY(20px); transition:transform .3s ease; }
.gallery-item:hover .gallery-text{ transform:translateY(0); }

/* Contact */
.contact-container{ max-width:1400px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.contact-info h2{ font-size:80px; font-weight:900; letter-spacing:-3px; text-transform:uppercase; margin-bottom:50px; line-height:.9; }
.contact-details{ display:flex; flex-direction:column; gap:40px; }
.contact-item{ border-bottom:1px solid rgba(255,255,255,.1); padding-bottom:20px; }
.contact-label{ font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--gray-light); margin-bottom:10px; }
.contact-value{ font-size:20px; font-weight:300; }
.contact-form{ display:flex; flex-direction:column; gap:30px; }
.form-group{ position:relative; }
.form-input{ width:100%; background:transparent; border:none; border-bottom:1px solid rgba(255,255,255,.2); padding:20px 0; font-size:16px; color:var(--white); transition:all .3s ease; }
.form-input:focus{ outline:none; border-bottom-color:var(--white); }
.form-label{ position:absolute; top:20px; left:0; font-size:16px; color:var(--gray-light); transition:all .3s ease; pointer-events:none; }
.form-input:focus + .form-label, .form-input:not(:placeholder-shown) + .form-label{ top:-10px; font-size:12px; letter-spacing:2px; text-transform:uppercase; }
textarea.form-input{ resize:vertical; min-height:100px; }
.form-submit{ align-self:flex-start; background:var(--white); color:var(--black); border:none; padding:20px 60px; font-size:14px; font-weight:600; letter-spacing:2px; text-transform:uppercase; cursor:none; transition:all .3s ease; position:relative; overflow:hidden; }
.form-submit::before{ content:''; position:absolute; top:50%; left:50%; width:0; height:0; background:var(--black); transform:translate(-50%,-50%); transition:all .5s ease; border-radius:50%; }
.form-submit:hover::before{ width:300%; height:300%; }
.form-submit:hover{ color:var(--white); }
.form-submit span{ position:relative; z-index:1; }

/* Footer */
footer{ padding:60px; background:var(--black); color:var(--white); text-align:center; border-top:1px solid rgba(255,255,255,.1); }
.footer-logo{ width:200px; height:auto; margin-bottom:30px; }
.footer-text{ font-size:14px; color:var(--gray-light); letter-spacing:1px; }

/* Reveal */
.reveal{ opacity:0; transform:translateY(50px); transition:all 1s cubic-bezier(0.25,0.8,0.25,1); }
.reveal.active{ opacity:1; transform:translateY(0); }

/* Mobile toggle */
.mobile-toggle{ display:none; width:35px; height:35px; position:relative; cursor:pointer; z-index:1001; }
.mobile-toggle span{ position:absolute; width:100%; height:2px; background:var(--white); transition:all .3s ease; left:0; }
.mobile-toggle span:nth-child(1){ top:8px }
.mobile-toggle span:nth-child(2){ top:16px }
.mobile-toggle span:nth-child(3){ top:24px }
.mobile-toggle.active span:nth-child(1){ transform:rotate(45deg); top:16px }
.mobile-toggle.active span:nth-child(2){ opacity:0 }
.mobile-toggle.active span:nth-child(3){ transform:rotate(-45deg); top:16px }

/* Responsive */
@media (max-width:768px){
  .hero-bg-text{ display:none!important }
  .mobile-text{ display:block!important; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-size:40vw; font-weight:900; letter-spacing:-.05em; line-height:.8; writing-mode:vertical-rl; text-orientation:upright; color:rgba(255,255,255,.8); z-index:1; }
  .hero-porsche{ width:90%; transform:translate(-50%,-50%) scale(.7); }
  nav{ padding:20px 30px }
  .mobile-toggle{ display:flex }
  .nav-menu{ position:fixed; top:0; right:-100%; width:100%; height:100vh; background:var(--black); flex-direction:column; justify-content:center; align-items:center; transition:right .3s ease; z-index:1000; }
  .nav-menu.active{ right:0 }
  .nav-menu li{ margin:20px 0 }
  .nav-link{ font-size:18px }
  .services-grid, .stats-grid{ grid-template-columns:1fr }
  .gallery-container{ grid-template-columns:1fr }
  .contact-container, .about-container{ grid-template-columns:1fr; gap:60px }
  .contact-info h2{ font-size:50px }
  .section-title{ font-size:40px }
  .section-number{ font-size:120px }
  .service-card{ padding:40px 30px }
  .stats-grid{ gap:40px }
  .stat-number{ font-size:60px }
}/* End custom CSS */