
/** ADD YOUR AWESOME CODES HERE **/
/* ---------- Punreach Rany customizations ---------- */
.text-logo { font-size: 22px; font-weight: 700; letter-spacing: 1px; color: #fff !important; text-transform: uppercase; }

.about-stats { display: flex; flex-wrap: wrap; gap: 30px; margin: 20px 0 10px; }
.about-stat-num { display: block; font-size: 36px; font-weight: 700; line-height: 1; color: #333; }
.about-stat-label { display: block; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: #888; }
.about-sub { font-size: 18px; font-weight: 600; margin: 25px 0 10px; }
.about-list { list-style: none; padding: 0; margin: 0 0 10px; }
.about-list li { margin-bottom: 10px; line-height: 1.5; }
.about-list li span { float: right; font-size: 13px; color: #888; }
.about-list small { color: #777; }
.about-tags { margin: 10px 0 0; }
.tag-pill { display: inline-block; border: 1px solid #ddd; border-radius: 20px; padding: 3px 12px; margin: 0 6px 6px 0; font-size: 13px; color: #555; background: #fff; }
.profile-location { margin-top: 35px; color: #777; }

.exp-box, .project-box { padding: 25px; }
.exp-box h2, .project-box h2 { font-size: 20px; margin-top: 5px; }
.exp-period { display: inline-block; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: #fff; background: #333; padding: 2px 10px; }
.exp-org { font-weight: 600; color: #777; font-size: 14px; }
.exp-box ul { padding-left: 18px; margin-bottom: 10px; }
.exp-box ul li { margin-bottom: 4px; }
.exp-box ul, .exp-box ul li { list-style: disc outside; }
.project-links a { margin-right: 15px; font-weight: 600; color: #333; }
.project-links a:hover { text-decoration: underline; }

/* Equal-height cards: each column is a flex container and the card fills it */
.equal-cards > [class*="col-"] { display: flex; margin-bottom: 30px; }
.equal-cards .services-inner-box,
.equal-cards .post-box { flex: 1 1 auto; display: flex; flex-direction: column; margin-bottom: 0; }
.equal-cards .post-info { flex: 1 1 auto; }
.equal-cards .services-inner-box > *,
.project-box > * { align-self: flex-start; max-width: 100%; }
.project-box { display: flex; flex-direction: column; }
/* Pin tags/links to the bottom of each card */
.equal-cards .about-tags, .project-box .about-tags,
.equal-cards .project-links, .project-box .project-links { margin-top: auto; }
.about-tags + .project-links { margin-top: 0 !important; }

.post-info { padding-top: 25px; margin-top: 0; }
.post-info ul { text-align: left; padding: 0; }
.post-info ul li { margin-right: 12px; font-size: 13px; color: #888; }

.contact-links a { display: inline-block; margin: 0 20px 8px 0; color: #fff; }
.contact-links a:hover { text-decoration: underline; }

/* ---- Card visibility: outline + shadow so white cards stand out on white sections ---- */
.services-inner-box, .post-box {
    background: #fff;
    border: 1px solid #e3e5e8;
    border-radius: 6px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    transition: box-shadow .2s ease, transform .2s ease;
}
.post-box { overflow: hidden; }
.services-inner-box:hover, .post-box:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
    transform: translateY(-2px);
}

/* Social icons in the top navbar (same row as the menu links) */
/* The link keeps the exact same box as the text links (same padding, same
   14px x 1.5 = 21px line), so the row height and underline position match.
   Only the glyph is enlarged, and it is boxed to that same 21px line. */
.nav-social .nav-link .fa {
    font-size: 18px;
    line-height: 21px;
    height: 21px;
    vertical-align: top;
    position: relative;
    top: 1px;               /* optical centring on the uppercase text */
}
.nav-social .nav-link:hover { opacity: .75; }

/* ---- Awards carousel: one equal-height card per award ---- */
.testi-carousel .owl-stage-outer { padding: 6px 0 12px; }   /* room for the card shadow */
.testi-carousel .owl-stage { display: flex; }
.testi-carousel .owl-item { display: flex; }
.testi-carousel .testimonial {
    display: flex; flex-direction: column; width: 100%;
    background: #fff; border: 1px solid #e3e5e8; border-radius: 6px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.testi-carousel .desc { flex: 1 1 auto; background: transparent; border: 0; padding: 25px 25px 0; }
.testi-carousel .desc h3 { color: #333; font-size: 20px; }
.testi-carousel .desc h3 i { color: #333; font-size: 28px; }
.testi-carousel .lead { color: #555; font-size: 15px; line-height: 1.7; }
.testi-carousel .testi-meta { margin: 0; padding: 18px 25px 25px; }
.testi-carousel .testi-org { display: block; margin-top: 8px; font-weight: 600; font-size: 14px; color: #777; }
.testi-carousel .owl-nav { margin-top: 20px; }
/* Subtle dots: one per award, active one stretches into a pill */
.testi-carousel .owl-dots { text-align: center; margin-top: 18px; line-height: 0; }
.testi-carousel .owl-dots.disabled { display: none; }
.testi-carousel .owl-dot { display: inline-block; margin: 0; padding: 4px; cursor: pointer; }
.testi-carousel .owl-dot span {
    display: block; width: 8px; height: 8px; border-radius: 4px;
    background: #c5c8cd; transition: width .3s ease, background .3s ease;
}
.testi-carousel .owl-dot:hover span { background: #888; }
.testi-carousel .owl-dot.active span { width: 22px; background: #333; }

/* Projects grid: standard 30px gutters, cards fill their column */
.gallery-list.equal-cards > .gallery-grid { padding-left: 15px; padding-right: 15px; }
.gallery-list .project-box { margin-bottom: 0; }
.gallery-menu { margin-bottom: 30px; }

/* About text: darker for readability; key phrases bold + underlined */
#about .message-box p { color: #444; }
#about .message-box p strong {
    color: #111; font-weight: 700;
    text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px;
}
#about .message-box a.about-link { color: #111; text-decoration: none; }
#about .message-box a.about-link:hover strong { text-decoration-color: #888; }
