/* Opaque text preserves the original cobalt / raspberry palette at AA contrast. */
body { font-weight: 400; }
.skill-sec .skill-details .paragraph {
    color: #fff;
    font-size: 16px;
    line-height: 1.75;
}
.contact-sec .contact-details .text,
.contact-sec .contact-details ul li { opacity: 1; }
.contact-sec .contact-form .form-control::placeholder { color: #fff; opacity: 1; }
.contact-sec .contact-form .form-control:focus { border-bottom-color: #fff; }
.partners-slider .logo-item img { width: 170px; height: 40px; object-fit: contain; opacity: 1; }
/* Directional scrim: readable title and top contacts; right-hand studio stays visible. */
.banner .banner-overlay {
    background: linear-gradient(180deg, rgba(12,17,36,.72), transparent 32%),
                linear-gradient(90deg, rgba(12,17,36,.36), rgba(12,17,36,.66) 52%, rgba(12,17,36,.16));
}
.banner .overlay-yellow-box { background: #b8205b; }
.banner-text-left p { font-weight: 400; }
.portfolio-sec .cbp-l-grid-mosaic .cbp-caption-activeWrap { background: #ad2056; }
.portfolio-foot-detail .btn { padding: 12px 16px; overflow-wrap: normal; word-break: normal; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
    outline: 2px solid #fff; outline-offset: 5px;
}
@media (max-width: 767.98px) {
    /* Prevent the decorative plant from covering the following section's copy. */
    .skill-sec { padding-top: 150px; }
    .banner .banner-overlay {
        background: linear-gradient(180deg, rgba(12,17,36,.72), rgba(12,17,36,.58) 36%, rgba(12,17,36,.18) 75%);
    }
    .banner-text-left p { font-size: 16px; }
    .contact-sec .contact-details { width: 100%; margin-left: 0; }
    .portfolio-foot-detail .btn { padding: 10px 12px; font-size: 11px; }
}
