/* Portfolio refinements; shared and original styles remain untouched. */
.side_nav {
    background: linear-gradient(90deg, rgba(25, 27, 26, .94), rgba(25, 27, 26, .85));
    box-shadow: none;
}
.side_nav .navbar-nav {
    position: absolute;
    top: 50%;
    width: 100%;
    padding: 24px;
    transform: translateY(-50%);
}
.side_nav .side-nav-menu { position: relative; width: 100%; }
.side_nav .navbar-nav .nav-link {
    font-size: clamp(25px, 2.5vw, 44px);
    min-height: 64px;
    line-height: 1.25;
    letter-spacing: -.035em;
    padding: 10px 0 10px 20px;
}
.side_nav .menu-line {
    left: 0;
    top: 0;
    height: 64px;
    line-height: 64px;
    font-size: 36px;
}
.side_nav .contact-page-btn {
    margin: 32px 0 0 20px !important;
    padding: 12px 18px;
    font-size: 15px;
    letter-spacing: .02em;
}
.sidenav-bottom { left: 24px; bottom: 24px; }
.social-icons { display: flex; gap: 4px; }
.side_bar { box-shadow: none; border-right: 1px solid #e7e7e2; }
.swiper-slide img { display: block; object-fit: cover; }
.swiper-pagination-bullet {
    box-shadow: 0 0 0 2px rgba(20, 24, 22, .65);
    background-color: rgba(20, 24, 22, .5);
}
.swiper-pagination-bullet-active { background-color: #fff; }
.broad .nav-item .nav-link.active { color: #796000; }
.broad .nav-link:hover { color: #796000; }
a:focus-visible, button:focus-visible, .swiper-pagination-bullet:focus-visible {
    outline: 3px solid #fed51b;
    outline-offset: 5px;
}
.broad a:focus-visible { outline-color: #796000; }
.contact-section .overlay-background {
    background: linear-gradient(90deg, rgba(20, 24, 22, .88), rgba(20, 24, 22, .74));
}
.contact-sec .contact-details .text,
.contact-sec .contact-details ul li { opacity: 1; color: #fff; }
.contact-left-side h3, .contact-sec .heading { text-transform: none; }
.contact-form .form-control { font-weight: 400; }
.contact-form .form-control::placeholder { opacity: 1; color: #fff; }
.contact-form .form-control:focus {
    outline: 2px solid #fed51b;
    outline-offset: 6px;
}
.contact-sec .contact-details ul li { flex-wrap: wrap; gap: 8px; }
.contact-sec .contact-details ul li:first-child { width: 100%; }
body > p:last-child { background: #252725 !important; padding: 2px 8px; }
@media (min-width: 1201px) {
    .main-page-section > section,
    .main-page-section .swiper-container,
    .main-page-section .swiper-wrapper,
    .main-page-section .swiper-slide { height: 100vh; }
}
@media (min-width: 768px) and (max-height: 650px) {
    .side_nav .navbar-nav { top: 16px; transform: none; padding-top: 0; }
    .side_nav .navbar-nav .nav-link { min-height: 48px; font-size: 28px; }
    .side_nav .menu-line { height: 48px; line-height: 48px; }
    .side_nav .contact-page-btn { margin-top: 16px !important; }
}
@media (max-width: 1200px) {
    .swiper-slide img { height: auto; aspect-ratio: 16 / 9; }
    .swiper-wrapper.row { margin: 0; }
}
@media (max-width: 767px) {
    #home > .navbar { padding: 16px 20px; }
    .my_nav_tog { padding: 12px 8px; margin-left: -8px; cursor: pointer; }
    .broad-nav { overflow-y: auto; }
    .broad .nav-link { font-size: 28px; padding: 10px 16px; }
    .broad .nav-menu { width: min(100%, 360px); }
    .contact-left-side h3 { font-size: 30px; line-height: 1.3; }
    .contact-sec .s-font { font-size: 24px; margin-bottom: 12px; }
}
