@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#0c2c40;--navy2:#082334;--red:#ff3131;--white:#fff;--ink:#102433;--muted:#647585;--line:#dfe6ea;--soft:#f5f7f8;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{text-decoration:none;color:inherit}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.topbar{height:4px;background:var(--red)}
.nav{position:sticky;top:0;z-index:50;background:rgba(8,35,52,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1)}.nav-inner{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;color:#fff;font-family:Manrope;font-weight:800;letter-spacing:.12em;font-size:21px}.brand img{width:38px;height:38px;object-fit:contain}.brand b{color:var(--red)}.nav-links{display:flex;gap:30px;align-items:center;color:#dbe6ec;font-size:14px}.nav-links a{opacity:.9}.nav-links a:hover{color:#fff}.nav-cta{background:var(--red);padding:12px 18px;border-radius:999px;color:#fff!important;font-weight:700}.menu{display:none;color:#fff;font-size:26px}
.hero{background:var(--navy2);color:#fff;min-height:690px;display:grid;align-items:center;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:-180px;top:80px;width:650px;height:650px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.015),0 0 0 160px rgba(255,255,255,.01)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;position:relative;z-index:2}.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:#a9bcc8;margin-bottom:18px}.hero h1{font-family:Manrope;font-size:clamp(54px,6vw,88px);line-height:.98;letter-spacing:-.05em;margin:0 0 28px}.hero h1 span{color:var(--red)}.hero p{font-size:18px;max-width:650px;color:#c4d2da;margin:0 0 34px}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 21px;border-radius:999px;font-weight:700;font-size:14px}.btn-red{background:var(--red);color:#fff}.btn-outline{border:1px solid rgba(255,255,255,.35);color:#fff}.hero-visual{height:520px;position:relative}.hero-photo{position:absolute;inset:25px 0 0 55px;background:linear-gradient(180deg,rgba(8,35,52,.1),rgba(8,35,52,.72)),url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1400&q=85') center/cover;border-radius:2px;box-shadow:30px 30px 0 rgba(255,49,49,.08)}.hero-frame{position:absolute;left:0;bottom:40px;width:260px;padding:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px)}.hero-frame strong{font:700 32px Manrope;display:block}.hero-frame span{font-size:12px;color:#b9cbd5}
.section{padding:110px 0}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:50px}.kicker{color:var(--red);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:800}.section h2{font:700 clamp(36px,4.2vw,60px)/1.02 Manrope;letter-spacing:-.04em;margin:10px 0 0}.section-head p{max-width:470px;color:var(--muted);margin:0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.intro-copy{font-size:21px;line-height:1.5}.intro-copy p{margin:0 0 20px}.principles{border-top:1px solid var(--line)}.principle{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.num{font:700 12px Manrope;color:var(--red);padding-top:5px}.principle h3{margin:0 0 5px;font:700 18px Manrope}.principle p{margin:0;color:var(--muted);font-size:14px}
.services{background:var(--soft)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{background:#fff;min-height:300px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(12,44,64,.09);position:relative;z-index:2}.service-no{font:700 12px Manrope;color:var(--red)}.service-card h3{font:700 26px Manrope;letter-spacing:-.03em;margin:20px 0 10px}.service-card p{font-size:14px;color:var(--muted);margin:0;max-width:330px}.service-link{font-weight:700;font-size:13px;margin-top:25px}.service-link span{color:var(--red);margin-left:8px}
.feature{display:grid;grid-template-columns:.9fr 1.1fr;min-height:620px}.feature-image{background:linear-gradient(180deg,rgba(8,35,52,.12),rgba(8,35,52,.65)),url('https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=1300&q=85') center/cover}.feature-copy{background:var(--navy);color:#fff;padding:85px max(40px,6vw)}.feature-copy h2{font:700 clamp(38px,4vw,58px)/1.03 Manrope;letter-spacing:-.04em;margin:12px 0 25px}.feature-copy p{color:#c5d2da;max-width:550px}.quote{margin:35px 0 0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.18);font:600 22px/1.35 Manrope}.quote span{display:block;font:400 12px DM Sans;color:#aebfc8;margin-top:12px}
.approach{background:#fff}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step{padding:35px 25px;border-right:1px solid var(--line)}.step:last-child{border-right:0}.step-no{font:800 13px Manrope;color:var(--red)}.step h3{font:700 24px Manrope;margin:35px 0 10px}.step p{font-size:14px;color:va.footer .footer-grid{display:flex;justify-content:space-between;gap:40px;align-items:center}
.footer .brand{color:#fff}
.footer small{font-size:12px}r(--muted);margin:0}
.sustain{background:var(--navy2);color:#fff}.sustain-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.sustain p{color:#c4d2da}.sustain-list{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(255,255,255,.16)}.sustain-list div{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.16);font-weight:600}.sustain-list div:nth-child(odd){margin-right:20px}.sustain-list div:nth-child(even){padding-left:20px;border-left:1px solid rgba(255,255,255,.16)}
.contact{padding:0;background:var(--red);color:#fff}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;padding:90px 0}.contact h2{font:700 clamp(40px,5vw,70px)/1 Manrope;letter-spacing:-.05em;margin:0 0 20px}.contact p{max-width:550px;color:#ffe4e4}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn-dark{background:var(--navy);color:#fff}.contact-card{background:#fff;color:var(--ink);padding:32px;border-radius:2px}.contact-row{padding:17px 0;border-bottom:1px solid var(--line)}.contact-row:last-child{border:0}.contact-row small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.15em}.contact-row strong{display:block;margin-top:5px;font-size:16px}.contact-row a{color:var(--ink)}
.map-wrap{padding:0 0 100px;background:var(--red)}.map{width:100%;height:330px;object-fit:cover;display:block;filter:saturate(.75) contrast(1.05)}
.footer {
    background: #061c2a;
    color: #aebfc8;
    padding: 55px 0 22px;
    font-family: 'Montserrat', sans-serif;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.2fr 1.2fr 0.65fr;
    gap: 35px;
    align-items: start;
}

.footer .brand {
    color: #fff;
}

.footer small {
    font-size: 12px;
}

.footer .footer-bottom {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.15);
}

@media (max-width: 768px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 25px;
    }
}

@media (max-width: 480px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }
}

.page-hero{background:var(--navy2);color:#fff;padding:95px 0 90px}.page-hero h1{font:700 clamp(48px,6vw,78px)/1 Manrope;letter-spacing:-.05em;margin:12px 0 20px}.page-hero p{max-width:700px;color:#c4d2da;font-size:18px}.crumb{font-size:12px;color:#a9bcc8}.detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px}.detail-copy h2{font:700 42px/1.1 Manrope;margin:0 0 20px}.detail-copy p{color:var(--muted)}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;border-top:1px solid var(--line);margin-top:30px}.detail-list div{padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.detail-side{background:var(--soft);padding:35px;align-self:start}.detail-side h3{font:700 22px Manrope;margin:0 0 18px}.detail-side p{font-size:14px;color:var(--muted)}
.form{display:grid;gap:14px}.form input,.form textarea,.form select{width:100%;padding:15px 16px;border:1px solid #d4dee4;background:#fff;font:inherit;border-radius:2px}.form textarea{min-height:130px;resize:vertical}.form button{border:0;cursor:pointer;justify-content:center}.notice{display:none;padding:12px;background:#e8f7ee;color:#176b3a;font-size:13px}
@media(max-width:900px){.nav-links{display:none}.menu{display:block}.hero-grid,.intro-grid,.feature,.sustain-grid,.contact-grid,.detail-grid{grid-template-columns:1fr}.hero{min-height:auto;padding:80px 0}.hero-visual{height:430px}.hero-photo{left:0}.hero-frame{bottom:10px}.service-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px solid var(--line)}.feature-image{min-height:430px}.section-head{display:block}.section-head p{margin-top:20px}.contact-grid{gap:35px}.sustain-list{margin-top:25px}}
@media(max-width:600px){.container{width:min(calc(100% - 30px),var(--max))}.nav-inner{height:68px}.brand{font-size:17px}.brand img{width:32px;height:32px}.hero h1{font-size:50px}.hero p{font-size:16px}.hero-visual{height:320px}.hero-frame{width:210px}.section{padding:75px 0}.service-grid,.steps{grid-template-columns:1fr}.step{border-right:0!important;border-bottom:1px solid var(--line)!important}.step:last-child{border-bottom:0!important}.feature-copy{padding:60px 25px}.detail-list{grid-template-columns:1fr}.footer-grid{display:block}.footer-grid>*+*{margin-top:18px}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.mobile-open{display:flex!important;position:absolute;left:0;right:0;top:68px;background:var(--navy2);padding:20px;flex-direction:column;align-items:flex-start;gap:18px;border-top:1px solid rgba(255,255,255,.1)}

.hero-video-bg {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: calc(100vh - 75px);
  display: flex;
  align-items: center;
  background: #0c2c40;
}

.hero-background-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}

.hero-video-overlay {
  position: absolute;
  inset: 0;
  background: rgba(12, 44, 64, 0.58);
  z-index: -1;
}

.hero-video-bg .hero-grid {
  position: relative;
  z-index: 1;
 grid-template-columns: 1fr;
  padding-top: 70px;
  padding-bottom: 70px;
}

.hero-video-bg .reveal {
  max-width: 720px;
}

@media (max-width: 768px) {
  .hero-video-bg {
   min-height: calc(100vh - 70px);
  }
}

/* JOYORAA Header Logo */
.nav .brand {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.nav .brand img {
    width: 260px;
    height: 65px;
    max-height: 65px;
    object-fit: contain;
    object-position: left center;
    display: block;
}

/* Mobile logo size */
@media (max-width: 768px) {
    .nav .brand img {
        width: 175px;
        height: 48px;
        max-height: 48px;
    }
}

/* JOYORAA - Premium Centered Video Hero */
.hero-video-bg {
    min-height: calc(100vh - 90px);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
}

.hero-video-bg .hero-grid {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 24px;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}

.hero-video-bg .reveal {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.hero-video-bg .eyebrow {
    text-align: center;
    margin-bottom: 22px;
}

.hero-video-bg h1 {
    margin-left: auto;
    margin-right: auto;
    line-height: 1.08;
}

.hero-video-bg p {
    max-width: 760px;
    margin: 24px auto 0;
}

.hero-video-bg .actions {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

@media (max-width: 768px) {
    .hero-video-bg {
        min-height: calc(100svh - 70px);
    }

    .hero-video-bg .hero-grid {
        padding: 65px 22px;
    }

    .hero-video-bg .reveal {
        max-width: 100%;
    }

    .hero-video-bg h1 {
        font-size: clamp(38px, 9vw, 54px);
    }

    .hero-video-bg p {
        font-size: 16px;
        line-height: 1.7;
    }

    .hero-video-bg .actions {
        gap: 12px;
    }
}

/* JOYORAA - Final Hero Refinements */

.hero-video-bg .hero-grid {
    padding-top: 55px;
    padding-bottom: 75px;
}

.hero-video-bg .reveal {
    transform: translateY(-20px);
}

.hero-video-bg p {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.7;
}

.hero-video-overlay {
    background: rgba(12, 44, 64, 0.68);
}

@media (max-width: 768px) {
    .hero-video-bg .hero-grid {
        padding-top: 45px;
        padding-bottom: 45px;
    }

    .hero-video-bg .reveal {
        transform: translateY(-10px);
    }
}

/* Final Hero Text Alignment */

.hero-video-bg .reveal {
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    transform: translateY(-10px);
}

.hero-video-bg .reveal p {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.7;
}

.hero-video-bg .actions {
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
}

@media (max-width: 768px) {
    .hero-video-bg .reveal {
        transform: none;
    }

    .hero-video-bg .reveal p {
        max-width: 100%;
    }
}

/* Remove Decorative Circles from Hero Video */

.hero-video-bg::before,
.hero-video-bg::after,
.hero-video-bg .hero-grid::before,
.hero-video-bg .hero-grid::after {
    content: none !important;
    display: none !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* JOYORAA - Individual Service Card Images */

.service-grid .service-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #ffffff;
    min-height: 280px;
    transition: background-size 0.3s ease;
}

/* Dark blue overlay for readable text */
.service-grid .service-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(12, 44, 64, 0.62),
        rgba(12, 44, 64, 0.82)
    );
    z-index: -1;
    pointer-events: none;
}

/* Individual background images */
.service-grid .service-card:nth-child(1) {
    background-image: url("assets/services-soft.jpg");
}

.service-grid .service-card:nth-child(2) {
    background-image: url("assets/services-technical.jpg");
}

.service-grid .service-card:nth-child(3) {
    background-image: url("assets/services-engineering.jpg");
}

.service-grid .service-card:nth-child(4) {
    background-image: url("assets/services-property.jpg");
}

.service-grid .service-card:nth-child(5) {
    background-image: url("assets/services-sustainability.jpg");
}

.service-grid .service-card:nth-child(6) {
    background-image: url("assets/services-support.jpg");
}

/* Text styling */
.service-grid .service-card h3,
.service-grid .service-card p,
.service-grid .service-card .service-link {
    color: #ffffff;
}

.service-grid .service-card .service-no {
    color: #ff3131;
}

/* JOYORAA Premium Footer Enhancement */
.footer {
    background: #0c2c40;
    color: #ffffff;
    padding: 55px 0 25px;
    font-family: 'Montserrat', sans-serif;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.2fr 1.2fr 0.8fr;
    gap: 35px;
    align-items: start;
}

.footer h3 {
    color: #ffffff;
    font-size: 16px;
    margin-bottom: 18px;
}

.footer p,
.footer a {
    color: #c8d5de;
    font-size: 13px;
    line-height: 1.9;
}

.footer a {
    text-decoration: none;
}

.footer a:hover {
    color: #ff3131;
}

.footer .footer-bottom {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.15);
}

@media (max-width: 768px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 25px;
    }
}

@media (max-width: 480px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }
}

/* JOYORAA Footer Final Refinements */
.footer .footer-brand .brand img {
    width: 150px;
    height: auto;
    max-height: 55px;
    object-fit: contain;
}

.footer .footer-brand p {
    margin: 12px 0;
}

.footer .footer-contact a,
.footer .footer-links a {
    display: block;
    margin: 7px 0;
    line-height: 1.8;
}

.footer .footer-contact p {
    margin: 0 0 12px;
    line-height: 1.8;
}

.footer .footer-contact h3,
.footer .footer-links h3 {
    margin-bottom: 18px;
}

.footer .footer-bottom {
    align-items: center;
}

@media (max-width: 480px) {
    .footer .footer-brand .brand img {
        width: 135px;
    }
}

/* JOYORAA Footer Premium Polish */
.footer .footer-brand .brand img {
    width: 170px;
    max-height: 60px;
    height: auto;
    object-fit: contain;
}

.footer .footer-grid {
    padding-bottom: 15px;
}

.footer .footer-bottom {
    margin-top: 35px;
    padding-top: 25px;
    line-height: 1.8;
}

.footer .footer-contact a,
.footer .footer-links a {
    transition: color 0.25s ease;
}

.footer .footer-contact a:hover,
.footer .footer-links a:hover {
    color: #ff3131;
}

@media (max-width: 768px) {
    .footer .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
}

@media (max-width: 480px) {
    .footer .footer-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .footer .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* JOYORAA Premium Footer */
.footer {
  background: #0c2c40;
  color: #ffffff;
  padding: 65px 0 24px;
  font-family: 'Montserrat', sans-serif;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1.4fr 0.6fr;
  gap: 45px;
  align-items: start;
}

.footer-brand img {
  width: 155px;
  height: auto;
  display: block;
  margin-bottom: 22px;
}

.footer-brand p {
  line-height: 1.8;
  color: #dce5ec;
}
/* JOYORAA footer text refinement */
.footer-tagline {
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: 0.3px;
  margin-top: 10px;
  margin-bottom: 14px;
}

.footer-brand p {
  font-size: 12px;
  line-height: 1.7;
}

.footer-brand .footer-description {
  font-size: 10.5px;
  line-height: 1.7;
  margin-top: 0;
  margin-bottom: 16px;
  max-width: 300px;
}

.footer-contact h3,
.footer-links h3 {
  margin: 0 0 22px;
  font-size: 18px;
  color: #ffffff;
}

.footer-contact-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 18px;
  color: #e4edf3;
  text-decoration: none;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.footer-contact-row > span:first-child {
  color: #ff3131;
  flex-shrink: 0;
}

.footer-contact-row:hover,
.footer-links a:hover,
.footer-social a:hover {
  color: #ff3131;
}

.footer-links a {
  display: block;
  margin-bottom: 14px;
  color: #e4edf3;
  text-decoration: none;
}

.footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.footer-social a {
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 24px;
  padding: 9px 14px;
  text-decoration: none;
  font-size: 13px;
  transition: 0.25s ease;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  border-top: 1px solid rgba(255,255,255,0.18);
  margin-top: 45px;
  padding-top: 22px;
  color: #dce5ec;
  font-size: 12px;
}

@media (max-width: 768px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* JOYORAA - Final Compact Premium Footer */
.footer {
    background: #0c2c40;
    color: #ffffff;
    padding: 30px 0 16px;
    font-family: 'Montserrat', sans-serif;
}

.footer .footer-grid {
    display: grid;
    grid-template-columns: 1.1fr 1.4fr 0.6fr;
    gap: 32px;
    align-items: start;
    padding-bottom: 0;
}

.footer .footer-brand img {
    width: 180px;
    height: auto;
    max-height: 55px;
    object-fit: contain;
    margin-bottom: 12px;
}

.footer .footer-brand p {
    font-size: 12px;
    line-height: 1.6;
    margin: 6px 0 10px;
}

.footer .footer-brand .footer-tagline {
    font-size: 10px;
    line-height: 1.5;
    margin: 8px 0 12px;
}

.footer .footer-brand .footer-description {
    font-size: 10px;
    line-height: 1.7;
    max-width: 300px;
    margin-bottom: 12px;
}

.footer .footer-contact h3,
.footer .footer-links h3 {
    font-size: 13px;
    margin: 0 0 14px;
    padding-left: 9px;
    border-left: 2px solid #ff3131;
}

.footer .footer-contact-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 8px;
    font-size: 11px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.footer .footer-contact-row > span:first-child {
    flex: 0 0 12px;
    width: 12px;
    text-align: center;
    color: #ff3131;
}

.footer .footer-links a {
    display: block;
    font-size: 11px;
    margin-bottom: 7px;
    line-height: 1.5;
}

.footer .footer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.footer .footer-social a {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 20px;
    font-size: 11px;
    line-height: 1.4;
}

.footer .footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,0.15);
    font-size: 10px;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .footer .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }

    .footer .footer-brand {
        grid-column: 1 / -1;
    }

    .footer .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 480px) {
    .footer .footer-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .footer .footer-brand {
        grid-column: auto;
    }
}

/* JOYORAA Footer - Final Visual Polish */

.footer .footer-brand .footer-description {
    display: block;
    max-width: 310px;
    margin: 8px 0 12px;
    color: #c8d5de;
    font-size: 10px;
    line-height: 1.7;
}

.footer .footer-contact-row {
    gap: 10px;
    align-items: flex-start;
}

.footer .footer-contact-row > span:first-child {
    flex: 0 0 12px;
    text-align: center;
}

.footer .footer-links a {
    position: relative;
    padding-left: 10px;
    margin-bottom: 7px;
}

.footer .footer-links a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #ff3131;
}

.footer .footer-links a:hover {
    color: #ff3131;
}

.footer .footer-social a {
    transition: background 0.25s ease, border-color 0.25s ease;
}

.footer .footer-social a:hover {
    background: rgba(255,49,49,0.08);
    border-color: #ff3131;
}

/* JOYORAA Footer - Final Brand Spacing */

.footer .footer-brand > p:first-of-type {
    margin-top: 10px;
    margin-bottom: 8px;
    font-size: 11px;
    line-height: 1.6;
}

.footer .footer-brand .footer-tagline {
    font-size: 10px;
    line-height: 1.5;
    margin-top: 6px;
    margin-bottom: 12px;
}

.footer .footer-brand .footer-description {
    max-width: 340px;
    font-size: 10px;
    line-height: 1.8;
    margin-top: 0;
    margin-bottom: 14px;
}

.footer .footer-social {
    margin-top: 12px;
    gap: 10px;
}

.footer .footer-bottom {
    margin-top: 25px;
    padding-top: 16px;
}

/* JOYORAA - Larger Footer Logo */
.footer .footer-brand img {
    width: 220px !important;
    height: auto !important;
    max-height: 75px !important;
    object-fit: contain;
    object-position: left center;
    margin-bottom: 14px;
}

@media (max-width: 480px) {
    .footer .footer-brand img {
        width: 180px !important;
        max-height: 60px !important;
    }
}

/* JOYORAA - Premium Footer Alignment Fix */

.footer .footer-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    min-width: 0;
}

.footer .footer-brand > a.brand {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 22px 0;
    padding: 0;
    line-height: 1;
}

.footer .footer-brand > a.brand img {
    display: block;
    width: 220px !important;
    height: auto !important;
    max-height: 65px !important;
    object-fit: contain;
    object-position: left center;
    margin: 0 !important;
}

.footer .footer-brand p {
    text-align: left;
    font-size: 12px;
    line-height: 1.7;
    margin: 0 0 8px !important;
    max-width: 390px;
}

.footer .footer-brand .footer-tagline {
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 0.2px;
    margin: 0 0 12px !important;
}

.footer .footer-brand .footer-description {
    font-size: 10.5px;
    line-height: 1.8;
    max-width: 390px;
    margin: 0 0 16px !important;
}

.footer .footer-brand .footer-social {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

.footer .footer-brand .footer-social a {
    margin: 0;
}

@media (max-width: 768px) {
    .footer .footer-brand > a.brand img {
        width: 190px !important;
        max-height: 58px !important;
    }

    .footer .footer-brand p,
    .footer .footer-brand .footer-description {
        max-width: 100%;
    }
}
/* JOYORAA Premium Footer Background */

.footer {
    background-color: #0c2c40;
    background-image:
        linear-gradient(
            rgba(12, 44, 64, 0.86),
            rgba(12, 44, 64, 0.92)
        ),
        url("assets/joyoraa-footer-bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #ffffff;
    position: relative;
}

.footer h3,
.footer p,
.footer a,
.footer .footer-bottom {
    color: #ffffff;
}

.footer a:hover {
    color: #ff3131;
}


/* JOYORAA Premium Footer Background */

.footer {
    background-color: #0c2c40;
    background-image:
        linear-gradient(
            rgba(12, 44, 64, 0.86),
            rgba(12, 44, 64, 0.92)
        ),
        url("assets/joyoraa-footer-bg.jpg");
    background-size: cover;
background-position: center 5%;
    background-repeat: no-repeat;
    color: #ffffff;
    position: relative;
}

.footer h3,
.footer p,
.footer a,
.footer .footer-bottom {
    color: #ffffff;
}

.footer a:hover {
    color: #ff3131;
}
