*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
    /* removed margin-top: -1rem — this was shifting EVERY element on the page up,
       stacking/compounding as elements nest. That's what caused the odd overlap. */
}

html {
  scrollbar-width: none;       /* Firefox */
  -ms-overflow-style: none;    /* old Edge/IE */
  overflow-x: hidden;
}

html::-webkit-scrollbar {
  display: none;               /* Chrome, Safari, new Edge */
}

body{
    background:#0f0a00;
    color:white;
    overflow-x:hidden;
}

/* Moving grid overlay */
body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 200%;
    height: 100%;
    background-image:
        linear-gradient(rgba(255, 166, 0, 0.137) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 166, 0, 0.137) 1px, transparent 1px);
    background-size: 50px 50px;
    animation: moveGrid 10s linear infinite;
    pointer-events: none;
    z-index: -1;
}
@keyframes moveGrid {
    from { transform: translate(0, 0); }
    to { transform: translate(-50px, -50px); }
}

/* Section */

.about{
    width:90%;
    max-width:1100px;
    margin:auto;
    padding: 20px 0 80px;
    position: relative;
}

/* Title */

.section-title {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    text-align: center;
    gap: 1rem 1.5rem;
    padding-top: 20px;
    margin-bottom: 60px;
}

/* logo (left) and button (right) sit side by side; label + heading
   each take the full row width and wrap below, centered */
.section-title .logo{
    order: 1;
}

.section-title .home-btn1{
    order: 2;
}

.section-title p{
    order: 3;
    flex: 1 1 100%;
    color:#ff8d0c;
    letter-spacing:5px;
    font-size:14px;
    margin: 0;
}

.section-title h1{
    order: 4;
    flex: 1 1 100%;
    font-size: clamp(1.8rem, 5vw, 58px);
    margin-top:10px;
}

.section-title span{
    color:#ff8d0c;
}

/* Card */

.about-card{
    background:rgb(31, 20, 0);
    border:1px solid rgba(255,141,12,.25);
    border-radius:20px;
    backdrop-filter:blur(12px);
    padding: clamp(24px, 5vw, 50px);
    box-shadow: 0 0 40px rgba(255,141,12,.08);
}

.intro{
    font-size: clamp(1rem, 2.2vw, 22px);
    line-height:1.8;
    color:#d9d9d9;
}

.intro span{
    color:#ff8d0c;
    font-weight:bold;
}

.divider{
    width:100%;
    height:1px;
    margin:45px 0;
    background:linear-gradient(to right, transparent, #ff8d0c, transparent);
}

h2{
    color:#ff8d0c;
    margin-bottom:20px;
    font-size: clamp(1.3rem, 3vw, 30px);
}

.about-card p{
    color:#bdbdbd;
    line-height:1.9;
    margin-bottom:35px;
}

/* Services */

.services{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(250px, 100%),1fr));
    gap:25px;
    margin-bottom:40px;
}

.service{
    background:#0f0f0f;
    border:1px solid rgba(255,141,12,.2);
    padding:25px;
    border-radius:15px;
    transition:.35s;
}

.service:hover{
    transform:translateY(-8px);
    border-color:#ff8d0c;
    box-shadow: 0 0 25px rgba(255,141,12,.25);
}

.service h3{
    margin-bottom:15px;
    color:#fff;
    font-size:22px;
}

.service p{
    margin:0;
}

/* List */

ul{
    list-style:none;
    margin-bottom:55px;
}

ul li{
    padding:12px 0;
    color:#d4d4d4;
    font-size: clamp(0.95rem, 1.6vw, 18px);
}

/* Button */

.button-group{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.home-btn1,
.home-btn2,
.contact-btn{
    display:inline-block;
    text-decoration:none;
    padding:18px 38px;
    border-radius:50px;
    font-weight:bold;
    transition:.35s;
}

/* Home Button (in normal flow now, sits on the right side of the title row) */
.home-btn1 {
    color: #fff;
    border: 2px solid #ff8d0c;
    background: transparent;
    padding: 10px 20px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: bold;
    transition: .35s;
    letter-spacing: 0.15rem;
    font-size: clamp(0.8rem, 1.6vw, 1rem);
    white-space: nowrap;
}

.home-btn1:hover{
    background:#6600c548;
    transform:translateY(-4px);
    box-shadow: 0 0 25px rgba(255,141,12,.45);
}

.home-btn2{
    color:#fff;
    border:2px solid #ff8d0c;
    background:transparent;
}

.home-btn2:hover{
    background:#6600c548;
    transform:translateY(-4px);
    box-shadow: 0 0 25px rgba(255,141,12,.45);
}

/* Contact Button */

.contact-btn{
    color:#000;
    background:#ff8d0c;
}

.contact-btn:hover{
    transform:translateY(-4px);
    box-shadow: 0 0 25px #ff8d0c, 0 0 60px rgba(255,141,12,.45);
}

/* Logo — position: relative (not static) so the ring pseudo-element
   below anchors to the logo box itself, not the whole section-title */
.logo {
    position: relative;
    --logo-size: clamp(90px, 12vw, 220px);
    width: var(--logo-size);
    height: var(--logo-size);
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    transition: transform 0.3s ease;
}

.logo::before {
    content: "";
    position: absolute;
    inset: -8px;
    border: 2px solid rgba(255, 141, 12, .5);
    border-top-color: #ff8d0c;
    border-radius: 50%;
    animation: spin 12s linear infinite;
}

@keyframes spin{
    from{transform:rotate(0deg);}
    to{transform:rotate(360deg);}
}

/* Responsive */

@media(max-width:768px){
    .about-card{
        padding:35px;
    }
}

@media(max-width:480px){
    .home-btn1{
        padding: 8px 14px;
    }

    .about-card{
        padding: 22px;
    }
}

/* Fade In */

body {
    opacity: 0;
    animation: pageFadeIn 0.8s ease forwards;
}

@keyframes pageFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Fade out before leaving page */
body.fade-out {
    animation: pageFadeOut 0.5s ease forwards;
}

@keyframes pageFadeOut {
    from { opacity: 1; }
    to { opacity: 0; }
}