/* Sims Limited Liability Co. — shared site styles */

html { scroll-behavior: smooth; }
body { margin: 0; background: #FDFDFC; -webkit-font-smoothing: antialiased; font-family: 'Public Sans', sans-serif; color: #1C2532; }
a { color: #0B1F3A; text-decoration: none; }
::selection { background: #0B1F3A; color: #FDFDFC; }
input:focus, textarea:focus, select:focus { outline: none; border-color: #B08D4A !important; }

/* ---------- Navigation ---------- */
.nav-link { font-size: 13px; font-weight: 400; letter-spacing: 0.08em; text-transform: uppercase; color: #4B5563; transition: color 0.15s ease; }
.nav-link:hover { color: #B08D4A; }
.nav-link.is-active { font-weight: 500; color: #0B1F3A; border-bottom: 1px solid #B08D4A; padding-bottom: 3px; }

.nav-cta { font-size: 13px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: #0B1F3A; border: 1px solid #0B1F3A; padding: 10px 22px; transition: background 0.15s ease, color 0.15s ease; }
.nav-cta:hover { background: #0B1F3A; color: #FDFDFC; }
.nav-cta.is-active { color: #FDFDFC; background: #0B1F3A; }
.nav-cta.is-active:hover { background: #0B1F3A; color: #FDFDFC; }

/* ---------- Buttons & links ---------- */
.btn-gold { display: inline-block; cursor: pointer; background: #B08D4A; color: #0B1F3A; border: none; font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: 16px 34px; transition: background 0.15s ease; }
.btn-gold:hover { background: #C4A566; color: #0B1F3A; }

.btn-outline-gold { display: inline-block; font-size: 13px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: #C4A566; border: 1px solid rgba(176,141,74,0.5); padding: 15px 32px; transition: background 0.15s ease, color 0.15s ease; }
.btn-outline-gold:hover { background: #B08D4A; color: #0B1F3A; }

.submit-btn { cursor: pointer; background: #0B1F3A; color: #FDFDFC; border: none; font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: 17px 40px; transition: background 0.15s ease, color 0.15s ease; }
.submit-btn:hover { background: #B08D4A; color: #0B1F3A; }

.link-outline-light { font-size: 13px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: #FDFDFC; border-bottom: 1px solid rgba(253,253,252,0.4); padding-bottom: 4px; transition: color 0.15s ease, border-color 0.15s ease; }
.link-outline-light:hover { color: #C4A566; border-bottom-color: #B08D4A; }

.anchor-link { font-size: 12px; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: #C4A566; border-bottom: 1px solid rgba(176,141,74,0.4); padding-bottom: 5px; transition: color 0.15s ease, border-color 0.15s ease; }
.anchor-link:hover { color: #FDFDFC; border-bottom-color: #B08D4A; }

.email-link { font-size: 16px; font-weight: 400; color: #0B1F3A; border-bottom: 1px solid #B08D4A; padding-bottom: 3px; transition: color 0.15s ease; }
.email-link:hover { color: #B08D4A; }

.reset-link { margin-top: 12px; background: none; border: none; cursor: pointer; font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: #B08D4A; border-bottom: 1px solid #B08D4A; padding: 0 0 4px; }

.footer-link { font-size: 13.5px; font-weight: 300; color: #B9C2D0; transition: color 0.15s ease; }
.footer-link:hover { color: #C4A566; }

/* ---------- Form fields ---------- */
.field-input { width: 100%; box-sizing: border-box; font-family: 'Public Sans', sans-serif; font-size: 15px; font-weight: 300; color: #1C2532; background: #FDFDFC; border: 1px solid #D9DBDE; padding: 14px 16px; }
select.field-input { appearance: none; }

/* ---------- Hover tiles / rows (sc-for lists in the design) ---------- */
.value-tile:hover { background: rgba(176,141,74,0.05); }
.company-row:hover { background: rgba(11,31,58,0.02); }
.value-row:hover { background: rgba(176,141,74,0.04); }

/* ---------- Company logo boxes ---------- */
.logo-box { display: flex; align-items: center; justify-content: center; height: 340px; background: #FFFFFF; border: 1px solid #E8E9EB; }

/* ---------- Mobile navigation ---------- */
.menu-toggle { display: none; position: relative; width: 32px; height: 32px; padding: 0; border: none; background: none; cursor: pointer; -webkit-tap-highlight-color: transparent; z-index: 110; }
.menu-toggle-bar { position: absolute; left: 5px; right: 5px; height: 2px; background: #0B1F3A; border-radius: 2px; transition: transform 0.3s ease, opacity 0.2s ease, background-color 0.3s ease; }
.menu-toggle-bar:nth-child(1) { top: 10px; }
.menu-toggle-bar:nth-child(2) { top: 15px; }
.menu-toggle-bar:nth-child(3) { top: 20px; }
.menu-toggle[aria-expanded="true"] .menu-toggle-bar:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle-bar:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle-bar:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
.menu-toggle:focus-visible { outline: 2px solid #B08D4A; outline-offset: 4px; }

.mobile-menu { position: fixed; top: 76px; left: 0; right: 0; bottom: 0; z-index: 40; background: #0B1F3A; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transform: translateY(-16px); transition: opacity 0.28s ease, transform 0.28s ease, visibility 0s linear 0.28s; }
.mobile-menu.is-open { opacity: 1; visibility: visible; transform: translateY(0); transition: opacity 0.28s ease, transform 0.28s ease, visibility 0s linear 0s; }
.mobile-menu nav { display: flex; flex-direction: column; align-items: center; gap: 30px; padding: 0 40px; text-align: center; }

.mobile-nav-link { font-family: 'Cormorant Garamond', serif; font-size: 32px; font-weight: 500; color: #FDFDFC; transition: color 0.15s ease; }
.mobile-nav-link:hover, .mobile-nav-link:focus-visible { color: #C4A566; }
.mobile-nav-link.is-active { color: #C4A566; }
.mobile-nav-link:focus-visible { outline: 2px solid #B08D4A; outline-offset: 6px; }

.mobile-nav-cta { margin-top: 10px; font-family: 'Public Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #0B1F3A; background: #B08D4A; padding: 16px 40px; }
.mobile-nav-cta:hover, .mobile-nav-cta:focus-visible { color: #0B1F3A; background: #C4A566; }
.mobile-nav-cta.is-active { background: #C4A566; }

body.menu-open { overflow: hidden; }

@media (min-width: 861px) {
  .mobile-menu { display: none !important; }
}

/* ---------- Responsive ---------- */
@media (max-width: 860px) {
  nav.main-nav { display: none !important; }
  .menu-toggle { display: block; }

  .contact-grid,
  .footer-grid,
  .split-300,
  .split-equal,
  .company-section-grid { grid-template-columns: 1fr !important; gap: 48px !important; }

  .footer-grid { row-gap: 40px !important; }
  .field-row { grid-template-columns: 1fr !important; }

  .split-equal > div[style*="border-left"] { border-left: none !important; padding-left: 0 !important; }

  .values-grid-5 { grid-template-columns: repeat(2, 1fr) !important; }
  .commitments-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .company-row-item { grid-template-columns: 1fr !important; row-gap: 16px !important; }
  .three-col,
  .two-col { grid-template-columns: 1fr !important; }
}

@media (max-width: 560px) {
  .values-grid-5,
  .commitments-grid { grid-template-columns: 1fr !important; }
}
