/* Shared public-site responsive theme */
:root {
    --tcw-ink: #17313a;
    --tcw-muted: #63777a;
    --tcw-teal: #0b7070;
    --tcw-coral: #d06b4e;
    --tcw-paper: #f4f7f5;
    --tcw-line: #d8e4df;
}

html { scroll-behavior: smooth; }
body { background: var(--tcw-paper); color: var(--tcw-ink); font-family: "Trebuchet MS", Arial, sans-serif; }
.navbar-bg { background: rgba(255,255,255,.96); border: 0; border-bottom: 1px solid var(--tcw-line); box-shadow: 0 3px 18px rgba(23,49,58,.08); backdrop-filter: blur(12px); }
.nav-logo { height: 74px; padding: 10px 15px; }
.nav-logo img { max-height: 54px; width: auto; }
.navbar-nav > li > a { color: var(--tcw-ink); font-weight: 600; letter-spacing: .02em; padding: 27px 15px; transition: color .2s ease, background .2s ease; }
.navbar-nav > li > a:hover, .navbar-nav > .active > a { background: transparent; color: var(--tcw-teal); }
.navbar-right > li:last-child > a { border: 1px solid var(--tcw-teal); border-radius: 3px; color: var(--tcw-teal); margin: 17px 0 0 9px; padding: 10px 17px; }
.navbar-right > li:last-child > a:hover { background: var(--tcw-teal); color: white; }
.dropdown-bg { border: 1px solid var(--tcw-line); box-shadow: 0 12px 25px rgba(23,49,58,.12); }
.dropdown-bg li a { color: var(--tcw-ink); padding: 11px 16px; }
.dropdown-bg li a:hover { background: #e6f2ee; color: var(--tcw-teal); }
.footer { background: var(--tcw-ink); color: #f4f7f5; padding: 52px 0 28px; }
.footer a { color: #cfe4dc; }
.footer a:hover { color: white; }
.footer-bottom { background: #10242b; color: #cfe4dc; padding: 15px 0; }

/* Homepage surfaces */
.fade-carousel { border-radius: 0 0 8px 8px; box-shadow: 0 18px 45px rgba(23,49,58,.16); overflow: hidden; }
.fade-carousel .slides img { object-fit: cover; filter: saturate(.86); }
.hero_copy { background: rgba(23,49,58,.86) !important; border-left: 5px solid var(--tcw-coral); max-width: 600px; padding: 30px 34px !important; text-shadow: none; }
.hero_copy h1 { color: white; font-family: Georgia, serif; font-size: clamp(28px, 4vw, 58px) !important; font-style: normal !important; line-height: 1.05; text-transform: none !important; }
.hero_copy p { color: #dceee7; font-family: "Trebuchet MS", Arial, sans-serif; font-size: 16px !important; line-height: 1.6; text-align: left; }
.main-heading { margin: 52px 0 24px; text-align: left; }
.main-heading h2 { color: var(--tcw-ink); font-family: Georgia, serif; font-size: clamp(30px, 4vw, 46px); letter-spacing: -.02em; text-transform: none; }
.main-heading h2::after { background: var(--tcw-coral); content: ""; display: block; height: 3px; margin-top: 12px; width: 58px; }
.project-slide { background: white; border: 1px solid var(--tcw-line); border-radius: 6px; box-shadow: 0 7px 25px rgba(23,49,58,.07); min-height: 400px !important; overflow: hidden; transition: box-shadow .25s ease, transform .25s ease; }
.project-slide:hover { box-shadow: 0 16px 35px rgba(23,49,58,.15); transform: translateY(-4px); }
.project-image { overflow: hidden; }
.project-image img { height: 230px; object-fit: cover; transition: transform .4s ease; }
.project-slide:hover .project-image img { transform: scale(1.04); }
.content-overlay { background: var(--tcw-ink); border-radius: 0 0 0 4px; opacity: .94; padding: 8px 15px; }
.running-status { background: var(--tcw-teal); border: 0; border-radius: 2px; font-weight: 600; }
.prj-in-pd { padding: 9px 21px; }
.prj-in-pd h5 { color: var(--tcw-muted); font-size: 13px; line-height: 1.4; }
.prj-in-pd .col-md-5:nth-of-type(2n) h5 { color: var(--tcw-ink); font-weight: 600; }
.view-mre-btn { background: var(--tcw-teal); border: 0; border-radius: 3px; color: white; float: none; margin: 8px 21px 20px; padding: 10px 18px; transition: background .2s ease; }
.view-mre-btn:hover { background: var(--tcw-coral); color: white; }
.project-tab { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 12px; }
.project-tab li a, .project-tab li .btn { background: white; border: 1px solid var(--tcw-line) !important; border-radius: 20px !important; color: var(--tcw-muted); font-size: 12px; padding: 8px 15px; }
.project-tab li.active a, .project-tab li.active .btn, .project-tab li .btn:hover { background: var(--tcw-teal); color: white; }
.news-bg { background: #e7f1ed; padding: 52px 0; }
.news-bg h3 { color: var(--tcw-ink); font-family: Georgia, serif; font-size: 32px; }
.seprator1 { background: var(--tcw-coral); height: 3px; width: 58px; }
.top-aero { background: var(--tcw-teal); border-radius: 4px; }
.top-aero:hover { background: var(--tcw-coral); }

img { max-width: 100%; height: auto; }
.table-responsive { border: 0; }

@media (max-width: 767px) {
    .navbar-header { min-height: 74px; }
    .navbar-toggle { margin-top: 20px; border-color: var(--tcw-line); }
    .navbar-toggle .icon-bar { background: var(--tcw-teal); }
    .navbar-nav { margin: 0 -15px; }
    .navbar-nav > li > a { padding: 14px 20px; border-top: 1px solid #edf2ef; }
    .navbar-right > li:last-child > a { border: 0; border-radius: 0; margin: 0; padding: 14px 20px; }
    .navbar-nav .open .dropdown-menu { background: #f4f8f6; box-shadow: none; }
    .navbar-nav .open .dropdown-menu > li > a { padding: 11px 30px; }
    .nav-logo { padding-left: 10px; }
    .footer { padding: 32px 15px 20px; }
    .footer-bottom .text-right { text-align: left; }
    .container { padding-left: 15px; padding-right: 15px; }
    .row { margin-left: -10px; margin-right: -10px; }
    .fade-carousel { margin: 0 -15px; }
    .fade-carousel .slides img { min-height: 420px; }
    .hero_copy { bottom: 24px; left: 18px !important; top: auto !important; width: calc(100% - 36px) !important; }
    .hero_copy h1 { font-size: 32px !important; }
    .hero_copy p { font-size: 14px !important; }
    .main-heading { margin-top: 34px; }
    .project-tab { gap: 5px; }
    .project-tab li .btn, .project-tab li a { padding: 7px 10px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
