@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Black+Ops+One&family=Montserrat:wght@100..900&display=swap');

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
background:white;
overflow-x:hidden;
font-family:Arial, Helvetica, sans-serif;
margin-top:70px;
}

/* NAVBAR */




/* ================= FONTS ================= */


/* body{
  font-family: "Montserrat", sans-serif;
} */

/* ================= NAVBAR ================= */

.ohm-navbar{
  width:100%;
  position:fixed;
  top:0;
  left:0;
  background:#fff;
  z-index:1000;
  border-bottom:1px solid #eee;
}

/* CONTAINER */
.ohm-container{
  max-width:1200px;
  margin:auto;
  height:70px;
  padding:0 20px;

  display:flex;
  align-items:center;
  justify-content:space-between;
}

/* LOGO */
.ohm-logo{
  font-family:"Black Ops One", cursive;
  font-size:22px;
  letter-spacing:2px;
  color:#000;
}

/* MENU */
.ohm-menu{
  display:flex;
  align-items:center;
  gap:24px;
  list-style:none;
}

/* LINKS */
.ohm-menu a{
  text-decoration:none;
  color:#444;
  font-size:14px;

  display:flex;
  align-items:center;
  gap:6px;

  padding:8px 14px;
  border-radius:20px;
  transition:0.3s;
}

/* HOVER */
.ohm-menu a:hover{
  background:#000;
  color:#fff;
}

/* ACTIVE */
.ohm-menu a.active{
  background:#000;
  color:#fff;
}

/* CONTACT BUTTON (DESKTOP) */
.ohm-btn{
  text-decoration:none;
  padding:8px 18px;
  background:#000;
  color:#fff;
  border-radius:30px;
  font-size:13px;
  white-space:nowrap;
  transition:0.3s;
}

.ohm-btn:hover{
  transform:translateY(-2px);
}

/* HAMBURGER */
.ohm-hamburger{
  display:none;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
}

.ohm-hamburger span{
  width:25px;
  height:3px;
  background:#000;
}

/* MOBILE CONTACT (hidden desktop) */
.ohm-mobile-contact{
  display:none;
}

/* ================= MOBILE ================= */

@media(max-width:768px){

  .ohm-hamburger{
    display:flex;
  }

  /* hide desktop button */
  .ohm-btn{
    display:none;
  }

  /* menu dropdown */
  .ohm-menu{
    position:absolute;
    top:70px;
    left:0;
    width:100%;

    flex-direction:column;
    align-items:center;
    gap:20px;

    padding:20px 0;
    background:#fff;

    transform:translateY(-120%);
    opacity:0;
    transition:0.4s;
  }

  .ohm-menu.active{
    transform:translateY(0);
    opacity:1;
  }

  /* SHOW CONTACT IN MENU */
  .ohm-mobile-contact{
    display:flex;
  }

}

/* ================= SMALL FIX ================= */

/* prevent overflow */
/* html,body{
  overflow-x:hidden;
} */




















.about-section{
width:100%;
height:80vh;
background:#fff;
display:flex;
flex-direction:column;
justify-content:center;
padding:40px 5%;
margin-top: 40px;
}

/* GRID */

.about-grid{
display:grid;
grid-template-columns:1fr 1fr 1fr;
grid-template-areas:"left content right";
gap:40px;
align-items:center;
margin-bottom:50px;
}



.about-image:first-child{
grid-area:left;
}

.about-content{
grid-area:content;
}

.about-image:last-child{
grid-area:right;
}





/* IMAGES */

.about-image img{
width:100%;
height:380px;
object-fit:cover;
border-radius:25px;
filter:grayscale(100%);
}

/* CONTENT */

.about-content{
text-align:center;
}

.about-content h2{
font-size:40px;
margin-bottom:20px;
font-weight:600;
}

.about-content p{
color:#555;
line-height:1.6;
margin-bottom:25px;
}

/* BUTTON */

.about-btn{
padding:14px 34px;
background:#000;
color:#fff;
border:none;
border-radius:30px;
cursor:pointer;
transition:0.3s;
}

.about-btn:hover{
background:#333;
}

/* TYPEWRITER CURSOR */

.cursor{
display:inline-block;
width:3px;
height:1em;
background:#000;
margin-left:6px;
animation:blink 1s infinite;
}

@keyframes blink{
0%{opacity:1}
50%{opacity:0}
100%{opacity:1}
}

/* LOGO STRIP */

.brand-strip{
display:flex;
justify-content:space-between;
padding:25px;
background:#f3f3f3;
border-radius:12px;
font-weight:600;
letter-spacing:2px;
color:#777;
}



















/* RESPONSIVE */

@media (max-width:900px){

.about-section{
height:auto;
padding:80px 6%;
}

.about-grid{
grid-template-columns:1fr;
grid-template-areas:
"left"
"content"
"right";
gap:30px;
}

/* ensure correct order */

.about-image:nth-child(1){
order:1;
}

.about-content{
order:2;
}

.about-image:nth-child(3){
order:3;
}

/* image adjustments */

.about-image img{
height:260px;
}

/* text sizing */

.about-content h2{
font-size:32px;
}

.about-content p{
font-size:15px;
}

}















/* make content take full height */

.about-content{
text-align:center;
display:flex;
flex-direction:column;
justify-content:space-between;
height:100%;
}

/* push button to bottom */

.about-btn{
margin-top:auto;
align-self:center;
}












.about-btn{
position:relative;
padding:14px 36px;
font-size:15px;
letter-spacing:1px;

background:#000;
color:#fff;

border:none;
border-radius:40px;
cursor:pointer;

overflow:hidden;
transition:all .35s ease;
}

/* sliding highlight */

.about-btn::before{
content:"";
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;
background:#fff;
transition:left .35s ease;
z-index:0;
}

/* text above effect */

.about-btn span{
position:relative;
z-index:2;
}

/* hover animation */

.about-btn:hover::before{
left:0;
}

.about-btn:hover{
color:#000;
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(0,0,0,0.25);
}












































.clean-timeline{
  background:#fff;
  padding:120px 8%;
}

/* LAYOUT */
.clean-container{
  display:flex;
  gap:120px;
}

/* LEFT (STICKY) */
.clean-left{
  flex:1;
  position:sticky;
  top:120px;
  height:max-content;
}

.clean-left h2{
  font-size:44px;
  margin-bottom:10px;
  color:#000;
}

.clean-left h3{
  font-size:26px;
  margin-bottom:20px;
  color:#333;
}

.clean-left p{
  font-size:17px;
  line-height:1.8;
  color:#555;
  margin-bottom:12px;
}

/* RIGHT */
.clean-right{
  flex:2;
  display:flex;
  flex-direction:column;
  gap:100px;
  position:relative;
}

/* LINE */
.clean-right::before{
  content:"";
  position:absolute;
  left:20px;
  top:0;
  width:2px;
  height:100%;
  background:#ddd;
}

/* ITEM */
.clean-item{
  position:relative;
  padding-left:70px;

  opacity:0;
  transform:translateY(50px);
  transition:0.6s ease;
}

.clean-item.show{
  opacity:1;
  transform:translateY(0);
}

/* DOT */
.clean-item::before{
  content:"";
  position:absolute;
  left:13px;
  top:10px;
  width:14px;
  height:14px;
  background:#000;
  border-radius:50%;
}

/* ICON */
.clean-item i{
  font-size:28px;
  margin-bottom:10px;
  color:#000;
}

/* TITLE */
.clean-item h4{
  font-size:22px;
  margin-bottom:10px;
  color:#000;
}

/* TEXT */
.clean-item p{
  font-size:16px;
  color:#555;
  margin-bottom:8px;
}

/* HOVER */
.clean-item:hover{
  transform:translateY(-5px);
}

/* RESPONSIVE */
@media(max-width:900px){

  .clean-container{
    flex-direction:column;
  }

  .clean-left{
    position:relative;
    top:0;
  }

}























.about-btn{
position:relative;
padding:14px 36px;
font-size:15px;
letter-spacing:1px;

background:#000;
color:#fff;

border:none;
border-radius:40px;
cursor:pointer;

overflow:hidden;
transition:all .35s ease;
}

/* sliding highlight */

.about-btn::before{
content:"";
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;
background:#fff;
transition:left .35s ease;
z-index:0;
}

/* text above effect */

.about-btn span{
position:relative;
z-index:2;
}

/* hover animation */

.about-btn:hover::before{
left:0;
}

.about-btn:hover{
color:#000;
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(0,0,0,0.25);
}





































.cards-section{
width:100%;
padding:120px 8%;
box-sizing:border-box;
background:#f6f6f6;
}


/* GRID */

.cards-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:90px;
justify-items:center;
}



/* CARD WRAPPER */

.parent {
  width:100%;
  max-width:300px;
  padding:20px;
  perspective:1200px;
}


/* CARD */

.card {
  padding-top:50px;
  border:3px solid #ffffff;
  transform-style:preserve-3d;

  background:
  linear-gradient(135deg,#0000 18.75%,#eaeaea 0 31.25%,#0000 0),
  repeating-linear-gradient(45deg,#eaeaea -6.25% 6.25%,#ffffff 0 18.75%);

  background-size:60px 60px;
  background-position:0 0,0 0;
  background-color:#f4f4f4;

  width:100%;

  box-shadow:
  rgba(0,0,0,0.15) 0px 40px 40px -15px,
  rgba(0,0,0,0.08) 0px 10px 20px;

  transition:all 0.5s ease-in-out;

  position:relative;
}


/* 3D HOVER */

.card:hover {
  background-position:-100px 100px,-100px 100px;
  transform:rotate3d(0.5,1,0,30deg) scale(1.05);
}


/* CONTENT */

.content-box {

  background:rgba(0,0,0,0.85);

  transition:all 0.5s ease-in-out;

  padding:60px 25px 25px 25px;

  transform-style:preserve-3d;
}


/* TITLE */

.content-box .card-title {

  display:inline-block;
  color:#ffffff;

  font-size:22px;
  font-weight:800;

  transition:all 0.5s ease-in-out;

  transform:translate3d(0px,0px,60px);
}


/* TEXT */

.content-box .card-content {

  margin-top:10px;

  font-size:13px;
  font-weight:600;

  color:#d7d7d7;

  transition:all 0.5s ease-in-out;

  transform:translate3d(0px,0px,40px);
}


/* BUTTON */




/* BADGE */

.date-box {

  position:absolute;

  top:30px;
  right:30px;

  height:60px;
  width:60px;

  background:#ffffff;

  border:1px solid #000;

  padding:10px;

  transform:translate3d(0px,0px,80px);

  box-shadow:rgba(0,0,0,0.15) 0px 17px 10px -10px;
}

.date-box span{
display:block;
text-align:center;
}

.date-box .month{
color:#444;
font-size:9px;
font-weight:700;
}

.date-box .date{
font-size:20px;
font-weight:900;
color:#000;
}



/* RESPONSIVE */

@media(max-width:1000px){

.cards-grid{
grid-template-columns:repeat(2,1fr);
gap:70px;
}

}

@media(max-width:600px){

.cards-grid{
grid-template-columns:1fr;
gap:60px;
}

}
















/* CARD WRAPPER */

.parent {
  width:100%;
  max-width:300px;
  padding:20px;
  perspective:1200px;
}


/* CARD */

.card {
  height:320px;          /* fixed height */
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}


/* CONTENT BOX */

.content-box {
  background:rgba(0,0,0,0.85);
  padding:60px 25px 25px 25px;

  display:flex;
  flex-direction:column;
  justify-content:space-between;

  height:100%;
}


/* TEXT CONTROL */

.card-content{
  overflow:hidden;
}
















.content-box .see-more {

  width:110px;              /* fixed width */
  text-align:center;        /* center text */

  cursor:pointer;

  margin-top:1rem;

  display:block;

  font-weight:800;
  font-size:10px;

  text-transform:uppercase;

  color:#000;

  background:#ffffff;

  padding:6px 0;

  transition:all 0.5s ease-in-out;

  transform:translate3d(0px,0px,25px);
}


































.faq-container{
width:700px;
display:flex;
flex-direction:column;
gap:30px;
position:relative;
}

/* wrapper */

.faq{
position:relative;
}

/* dotted original position */

.faq::before{
content:"";
position:absolute;
width:100%;
height:100%;
border:2px dashed #d9d9d9;
border-radius:22px;
top:0;
left:0;
z-index:0;
}

/* card */

.faq-card{

background:white;
border-radius:22px;
padding:25px 30px;
cursor:pointer;

position:relative;
z-index:1;

transition:all .45s ease;

box-shadow:0 8px 18px rgba(0,0,0,0.08);

}

.faq-question{
display:flex;
justify-content:space-between;
font-size:18px;
font-weight:500;
}

.faq-answer{

margin-top:12px;
max-height:0;
overflow:hidden;
transition:max-height .4s ease;
color:#555;

}

/* ACTIVE CARD */

.faq.active{
z-index:10; /* brings card above others */
}

.faq.active .faq-card{

transform:rotate(-4deg) translateY(12px);

box-shadow:
0 60px 90px rgba(0,0,0,0.35),
0 25px 40px rgba(0,0,0,0.25);

}

.faq.active .faq-answer{
max-height:120px;
}

.icon{
font-size:22px;
}






















/* SECTION WRAPPER */

.faq-section{
width:100%;
max-width:1200px;
padding:10px 0px;
box-sizing:border-box;
}

/* container */

.faq-container{
width:100%;
max-width:800px;
margin:auto;
display:flex;
flex-direction:column;
gap:35px;
position:relative;
}

/* wrapper */

.faq{
position:relative;
}

/* dotted original position */

.faq::before{
content:"";
position:absolute;
width:100%;
height:100%;
border:2px dashed #d9d9d9;
border-radius:22px;
top:0;
left:0;
z-index:0;
}

/* card */

.faq-card{

background:white;
border-radius:22px;
padding:30px 35px;
cursor:pointer;

position:relative;
z-index:1;

transition:all .45s ease;

box-shadow:0 12px 25px rgba(0,0,0,0.08);

}

/* question */

.faq-question{
display:flex;
justify-content:space-between;
align-items:center;
font-size:20px;
font-weight:600;
}

/* answer */

.faq-answer{

margin-top:14px;
max-height:0;
overflow:hidden;
transition:max-height .4s ease;
color:#555;
line-height:1.6;

}

/* ACTIVE CARD */

.faq.active{
z-index:10;
}

.faq.active .faq-card{

transform:rotate(-4deg) translateY(12px);

box-shadow:
0 70px 110px rgba(0,0,0,0.35),
0 30px 45px rgba(0,0,0,0.25);

}

.faq.active .faq-answer{
max-height:140px;
}

/* icon */

.icon{
font-size:24px;
font-weight:700;
transition:transform .3s;
}

.faq.active .icon{
transform:rotate(45deg);
}

/* responsive */

@media(max-width:768px){

.faq-section{
padding:80px 20px;
}

.faq-question{
font-size:18px;
}

}








.faq-section{
width:100%;
padding:120px 0px;
margin: 0 auto;
box-sizing:border-box;
}

.faq-container{
max-width:800px;
margin:auto;
display:flex;
flex-direction:column;
gap:35px;
}






/* layout */

.faq-layout{
display:grid;
grid-template-columns: 2fr 1fr;
gap:80px;
align-items:start;
}

/* title styling */

.faq-title{
position:sticky;
top:120px;
}

.faq-title h2{
font-size:42px;
margin-bottom:20px;
font-weight:600;
}

.faq-title p{
color:#555;
line-height:1.6;
}

/* mobile */

@media(max-width:900px){

.faq-layout{
grid-template-columns:1fr;
}

.faq-title{
position:relative;
text-align:center;
}

}














@media (max-width:900px){

/* stack layout */

.faq-layout{
display:flex;
flex-direction:column;
gap:40px;
}

/* heading at top */

.faq-title{
position:relative;
top:auto;
text-align:center;
max-width:600px;
margin:auto;
}

/* reduce heading size */

.faq-title h2{
font-size:32px;
}

.faq-title p{
font-size:15px;
}

/* FAQ cards full width */

.faq-container{
max-width:100%;
padding:0 20px;
}

/* card padding smaller */

.faq-card{
padding:22px 24px;
}

/* question text */

.faq-question{
font-size:17px;
}

}






























/* =============================
FAQ SECTION
============================= */

.faq-section{
width:100%;
padding:120px 40px;
box-sizing:border-box;
}

/* LAYOUT */

.faq-layout{
display:grid;
grid-template-columns: 1fr 2.2fr; /* smaller title, larger FAQs */
gap:60px;
align-items:start;
max-width:1200px;
margin:auto;
}

/* =============================
LEFT TITLE
============================= */

.faq-title{
position:sticky;
top:120px;
}

.faq-title h2{
font-size:38px;
font-weight:600;
margin-bottom:15px;
}

.faq-title p{
font-size:16px;
color:#555;
line-height:1.6;
max-width:280px;
}

/* =============================
FAQ CONTAINER
============================= */

.faq-container{
display:flex;
flex-direction:column;
gap:25px;
}

/* WRAPPER */

.faq{
position:relative;
}

/* dotted outline */

.faq::before{
content:"";
position:absolute;
width:100%;
height:100%;
border:2px dashed #e3e3e3;
border-radius:18px;
top:0;
left:0;
}

/* CARD */

.faq-card{
background:white;
border-radius:18px;
padding:24px 28px;
cursor:pointer;
position:relative;
z-index:1;
transition:all .35s ease;
box-shadow:0 10px 20px rgba(0,0,0,0.06);
}

/* QUESTION */

.faq-question{
display:flex;
justify-content:space-between;
align-items:center;
font-size:18px;
font-weight:600;
}

/* ANSWER */

.faq-answer{
margin-top:12px;
max-height:0;
overflow:hidden;
transition:max-height .35s ease;
color:#555;
line-height:1.6;
}

/* ACTIVE */

.faq.active .faq-answer{
max-height:160px;
}

.faq.active .faq-card{
transform:translateY(6px) rotate(-2deg);
box-shadow:
0 40px 70px rgba(0,0,0,0.18);
}

/* ICON */

.icon{
font-size:22px;
transition:transform .3s;
}

.faq.active .icon{
transform:rotate(45deg);
}

/* =============================
TABLET
============================= */

@media (max-width:900px){

.faq-layout{
grid-template-columns:1fr;
gap:40px;
}

.faq-title{
position:relative;
top:auto;
text-align:center;
}

.faq-title p{
margin:auto;
}

}

/* =============================
PHONE
============================= */

@media (max-width:600px){

.faq-section{
padding:80px 20px;
}

.faq-title h2{
font-size:28px;
}

.faq-question{
font-size:16px;
}

.faq-card{
padding:20px;
}

}










a{
  text-decoration: none;
  color: white;
}













*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial, Helvetica, sans-serif;
}

.footer{

background:#0a0a0a;
color:white;

padding:120px 8% 80px;

position:relative;

overflow:hidden;

/* grid background */

background-image:
linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);

background-size:60px 60px;

}

/* top section */

.footer-top{

display:flex;
justify-content:space-between;
align-items:flex-start;

margin-bottom:120px;

}

/* brand */

.brand{

font-size:22px;
font-weight:700;
letter-spacing:2px;

}

/* links */

.footer-links{

display:flex;
flex-direction:column;
gap:10px;

}

.footer-links a{

cursor:pointer;
opacity:.7;
transition:.3s;

}

.footer-links a:hover{
opacity:1;
}

/* newsletter */

.newsletter{

max-width:320px;

}

.newsletter h3{

font-size:18px;
margin-bottom:20px;

}

/* email box */

.email-box{

display:flex;

background:white;

border-radius:40px;

overflow:hidden;

}

.email-box input{

flex:1;
border:none;

padding:15px 20px;

outline:none;

font-size:14px;

}

.email-box button{

width:50px;

background:black;

color:white;

border:none;

cursor:pointer;

}

/* BIG DISTORTED TEXT */

.big-text{

position:absolute;

left:0;
bottom:120px;

width:100%;

font-size:12vw;

font-weight:900;

color:#f5f5f5;

opacity:.15;

letter-spacing:-10px;

/* perspective distortion */

transform:
scaleY(1.2)
skewX(-15deg);

pointer-events:none;

white-space:nowrap;

}

/* bottom */

.footer-bottom{

margin-top:200px;

display:flex;
justify-content:space-between;
align-items:center;

font-size:12px;

opacity:.8;

}

.social{

display:flex;
gap:20px;

}

.social a{

cursor:pointer;

}

.social a:hover{

color:white;

}

/* responsive */

@media(max-width:900px){

.footer-top{

flex-direction:column;
gap:40px;

}

.footer-bottom{

flex-direction:column;
gap:20px;

text-align:center;

}

.big-text{

font-size:18vw;

}

}










.nav-item a{
display:flex;
align-items:center;
gap:8px;
text-decoration:none;
color:inherit;
}