/* Shared visual system for the legacy pages, aligned with the refreshed homepage. */
:root {
  --site-ink: #101e2d;
  --site-ink-soft: #263849;
  --site-paper: #f8f7f4;
  --site-white: #fff;
  --site-gold: #c6a36a;
  --site-gold-light: #dec28f;
  --site-muted: #69737d;
  --site-rule: #e4e2dc;
  --site-serif: Georgia, "Times New Roman", serif;
  --site-sans: "Segoe UI", Arial, sans-serif;
}

html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { background: var(--site-paper); color: var(--site-ink); font-family: var(--site-sans); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
body, p, li, label, input, textarea, button, select { font-family: var(--site-sans); }
p { line-height: 1.75; }
a, a:visited { color: #8e6c38; text-decoration: none !important; transition: color .18s ease, background-color .18s ease, transform .18s ease; }
a:hover, a:focus-visible { color: var(--site-ink); }
img { max-width: 100%; }
:focus-visible { outline: 3px solid var(--site-gold); outline-offset: 3px; }

/* Shared brand and navigation */
.site-header { position: sticky !important; inset: 0 0 auto; z-index: 1000; width: 100%; padding: 12px 0 !important; overflow: visible; background: #fff; border-bottom: 1px solid var(--site-rule); box-shadow: 0 5px 18px rgba(8, 20, 31, .06); }
.site-header .container { width: min(1320px, calc(100% - 48px)); max-width: 1320px; padding: 0; }
.site-header .container > .row { margin: 0; }
.site-header .container > .row > .col-md-12 { display: flex; align-items: center; justify-content: space-between; min-height: 220px; padding: 0; }
.site-header .logo { float: none !important; display: flex; align-items: center; margin: 0 !important; }
.site-header .logo a { display: inline-flex; align-items: center; padding: 3px 9px; background: transparent; }
.site-header .logo img { display: block; width: 300px !important; height: 200px !important; max-height: none; object-fit: contain; }
.site-header .main-navigation { float: none !important; display: flex; align-items: center; margin: 0; }
.site-header .main-nav > ul.sf-menu { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; }
.site-header .main-nav > ul.sf-menu > li { position: relative; float: none; display: block; margin: 0; }
.site-header .main-nav > ul.sf-menu > li > a { display: block; width: auto; padding: 12px 15px; border: 0; border-radius: 2px; background: transparent; color: var(--site-ink-soft); font-size: 12px; font-weight: 600; letter-spacing: .075em; text-transform: uppercase; }
.site-header .main-nav > ul.sf-menu > li:hover > a,
.site-header .main-nav > ul.sf-menu > li.active > a,
.site-header .main-nav > ul.sf-menu > li > a:focus-visible { background: #f4f2ed; color: #8e6c38; }
.site-header .main-nav .sf-menu li ul { top: calc(100% + 3px); left: 0; min-width: 210px; padding: 8px; border: 1px solid rgba(255,255,255,.09); border-radius: 3px; background: var(--site-ink-soft); box-shadow: 0 16px 32px rgba(0,0,0,.2); }
.site-header .main-nav .sf-menu li ul li { float: none; width: 100%; margin: 0; border: 0; }
.site-header .main-nav .sf-menu li ul li a { padding: 11px 12px; background: transparent !important; color: #e7ebed !important; font-size: 12px; font-weight: 500; }
.site-header .main-nav .sf-menu li ul li a:hover { background: rgba(255,255,255,.08) !important; color: var(--site-gold-light) !important; }
.site-header .responsive-navigation { float: none; margin: 0; }
.site-header a.menu-toggle-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; border: 1px solid #cbd0d3; border-radius: 2px; color: var(--site-ink); }
.site-header a.menu-toggle-btn i { font-size: 18px; }
.responsive_menu { position: sticky; top: 244px; z-index: 999; padding: 15px 24px; border-bottom: 1px solid var(--site-rule); background: #fff; box-shadow: 0 10px 20px rgba(8,20,31,.08); }
.main_menu li { padding: 9px 0; border-color: var(--site-rule); }
.main_menu li a { color: var(--site-ink-soft); font-family: var(--site-sans); font-size: 13px; }
.main_menu li a:hover { color: var(--site-gold-light); }

/* Page titles and reading surfaces */
.service-section, .first-widget { margin-top: 0 !important; }
.first-widget.parallax { min-height: 255px; background-color: var(--site-ink); background-position: center; background-size: cover; }
.first-widget .parallax-overlay { min-height: inherit; background: linear-gradient(90deg, rgba(16,30,45,.9), rgba(16,30,45,.58)); }
.first-widget .pageTitle { padding: 76px 0 70px; }
.first-widget .pageTitle .row { display: flex; align-items: end; justify-content: space-between; }
.first-widget .page-title { margin: 0; color: #fff; font: 400 clamp(38px, 5vw, 64px)/1.05 var(--site-serif); letter-spacing: -.04em; text-transform: none; }
.first-widget .page-location, .first-widget .page-location a { color: #e5e8ea; font-size: 12px; letter-spacing: .04em; }
.first-widget .page-location a:hover { color: var(--site-gold-light); }
body > .container, body > .light-content > .container, body > .dark-content > .container { width: min(1220px, calc(100% - 48px)); }
body > .container { padding-block: 64px; }
.blog-posts, .project-single, .contact-wrapper, .archive-wrapper { color: var(--site-ink-soft); }
.blog-posts h1, .blog-posts h2, .blog-posts h3, .project-single h2, .project-single h3,
.sidebar h3, .contact-wrapper h3, .archive-wrapper h3 { color: var(--site-ink); font-family: var(--site-serif); font-weight: 400; letter-spacing: -.02em; }
.blog-posts h2, .project-single h2 { font-size: clamp(28px, 3.3vw, 42px); line-height: 1.15; }
.blog-posts h3, .project-single h3, .sidebar h3, .contact-wrapper h3 { font-size: 25px; line-height: 1.25; }
.blog-posts p, .project-single p, .contact-wrapper p, .sidebar p { color: #53606b; }
.blog-post, .blog-posts .blog-post, .sidebar-widget, .project-single .meta-post, .contact-wrapper .contact-form { border: 1px solid var(--site-rule); border-radius: 3px; background: #fff; box-shadow: 0 14px 38px rgba(16,30,45,.045); }
.blog-post { margin-bottom: 28px; padding: clamp(20px, 3vw, 34px); }
.blog-post .thumb-post, .blog-post .thumb-post img { border-radius: 2px; }
.blog-post .thumb-post img, .thumb-post > img { object-fit: cover; }
.sidebar { padding-left: 20px; }
.sidebar-widget { margin-bottom: 20px; padding: 24px; }
.sidebar-widget h3 { margin-bottom: 17px; }
.sidebar-widget li { padding: 9px 0; border-bottom: 1px solid var(--site-rule); }

/* Portfolio tiles, buttons, forms and footer */
.portfolio-holder { margin-inline: -10px; }
.portfolio-post { margin-bottom: 22px; padding-inline: 10px; }
.portfolio-post .thumb-post { overflow: hidden; border-radius: 3px; background: var(--site-ink); box-shadow: 0 14px 30px rgba(16,30,45,.1); }
.portfolio-post .portfolio-image-link { display: block; }
.portfolio-post .portfolio-image-link > img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .45s ease; }
.portfolio-post .thumb-post:hover .portfolio-image-link > img { transform: scale(1.035); }
.portfolio-post .overlay { background: linear-gradient(0deg, rgba(16,30,45,.94), rgba(16,30,45,.12)); }
.portfolio-post .overlay { pointer-events: none; }
.portfolio-post .overlay a { pointer-events: auto; }
.portfolio-post .portfolio-title, .portfolio-post .portfolio-title a { color: #fff; font-family: var(--site-serif); font-weight: 400; }
.portfolio-post .meta-category { color: var(--site-gold-light); letter-spacing: .08em; text-transform: uppercase; }
.mixitup-controls li, #filters li { border-radius: 99px; }
.mixitup-controls li a, #filters li a { display: inline-block; padding: 9px 15px; border-radius: 99px; background: #eeece7; color: var(--site-ink-soft); }
.mixitup-controls li a:hover, #filters li a:hover, #filters li a.active { background: var(--site-ink); color: #fff; }
.pages li a { border-radius: 2px; background: #eeece7; }
.pages li a.active, .pages li a:hover { background: var(--site-ink); color: #fff; }
input, textarea, select { border: 1px solid #d5d7d6 !important; border-radius: 2px !important; background: #fff !important; color: var(--site-ink) !important; font-size: 14px !important; }
input:focus, textarea:focus, select:focus { border-color: var(--site-gold) !important; box-shadow: 0 0 0 3px rgba(198,163,106,.16); }
button, input[type="submit"], input[type="button"], .mainBtn { border: 1px solid var(--site-ink) !important; border-radius: 2px !important; background: var(--site-ink) !important; color: #fff !important; font-family: var(--site-sans); font-weight: 600; letter-spacing: .03em; }
button:hover, input[type="submit"]:hover, input[type="button"]:hover, .mainBtn:hover { background: #263849 !important; }
.site-footer { margin-top: 56px; padding: 44px 0 35px; background: #0b1722; color: #d6dce1; font-family: var(--site-sans); }
.site-footer .container { width: min(1320px, calc(100% - 48px)); }
.footer-menu { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; }
.footer-menu li { margin: 0; }
.footer-menu li a { color: #d6dce1; font-size: 12px; letter-spacing: .035em; }
.footer-menu li a:hover { color: var(--site-gold-light); }
.copyright-text { margin-top: 24px; color: #aeb8c0; font-size: 11px; font-weight: 400; letter-spacing: .06em; text-transform: uppercase; }

@media (max-width: 991px) {
  html { scroll-padding-top: 90px; }
  .site-header { position: sticky !important; padding: 10px 0 !important; }
  .site-header .container { width: calc(100% - 40px); }
  .site-header .container > .row > .col-md-12 { min-height: 220px; }
  .site-header .logo img { width: 300px !important; height: 200px !important; max-height: none; }
  .site-header .main-nav { display: none !important; }
  .site-header .responsive-navigation { display: block !important; }
  .site-header .responsive-navigation a { color: var(--site-ink); }
  .responsive_menu { top: 240px; }
  body > .container { padding-block: 44px; }
  .sidebar { padding-left: 0; }
}

@media (max-width: 767px) {
  .site-header .container { width: calc(100% - 32px); }
  .site-header .container > .row > .col-md-12 { min-height: clamp(164px, 55vw, 220px); }
  .site-header .logo img { width: min(300px, calc(100vw - 100px)) !important; height: auto !important; max-height: none; }
  .responsive_menu { top: calc(clamp(164px, 55vw, 220px) + 20px); }
  .first-widget.parallax { min-height: 205px; }
  .first-widget .pageTitle { padding: 57px 0 49px; }
  .first-widget .pageTitle .row { display: block; }
  .first-widget .pageTitle .text-right { margin-top: 15px; text-align: left; }
  .first-widget .page-title { font-size: clamp(34px, 10vw, 46px); }
  body > .container, body > .light-content > .container, body > .dark-content > .container { width: calc(100% - 32px); }
  body > .container { padding-block: 34px; }
  .blog-post { padding: 20px; }
  .sidebar-widget { padding: 19px; }
  .portfolio-holder { margin-inline: 0; }
  .portfolio-post { padding-inline: 0; }
  .footer-menu { gap: 12px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Mobile navigation remains reachable below the header at every scroll position. */
@media (max-width: 991px) {
  .responsive_menu { position: fixed; top: var(--site-menu-top, 240px); right: 0; left: 0; max-height: calc(100dvh - var(--site-menu-top, 240px)); overflow-y: auto; overscroll-behavior: contain; }
  .responsive_menu .main_menu { margin: 0; padding: 0; }
  .responsive_menu .main_menu li a { display: block; min-height: 44px; padding: 9px 6px; }
  .responsive_menu .main_menu li { padding: 0; }
  .responsive_menu .main_menu li ul li:first-child { margin-top: 0; padding-top: 0; border-top: 1px solid var(--site-rule); }
  .responsive_menu .main_menu li ul li::before { content: none; }
}
.site-header .main-nav .sf-menu li:focus-within > ul { display: block; visibility: visible; }
