/* PHP Management, Inc. — faithful rebuild, accessibility-hardened */
:root {
  --gray-text: #676767;
  --nav-gray: #5f5f5f;
  --title-olive: #8d7d60;
  --addr-gray: #767676;
  --body-text: #333333;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  padding: 0;
  background: url("assets/majorbg2.jpg");
  font-family: "Trebuchet MS", "Lucida Grande", Arial, Helvetica, sans-serif;
  color: var(--body-text);
}
body.bg3 { background-image: url("assets/majorbg3.jpg"); }
.skip {
  position: absolute; left: -9999px;
  background: #fff; color: #000; padding: 8px 14px; z-index: 10;
}
.skip:focus { left: 8px; top: 8px; }
a:focus-visible { outline: 2px solid #33687A; outline-offset: 2px; }

.page { max-width: 982px; margin: 0 auto; padding-top: 14px; text-align: center; }
.col { max-width: 940px; margin: 0 auto; }

/* ---- header: recreated with real text (was one big image) ---- */
.header {
  position: relative;
  background: #ffffff;
  border: 1px solid #666666;
  min-height: 105px;
  text-align: left;
  display: flex;
  align-items: flex-end;
  gap: 14px;
  padding: 0;
}
.header .mark { width: 104px; height: 100px; flex: none; align-self: center; }
.brandname {
  font-family: "Century Gothic", "Futura", "Avenir Next", "Trebuchet MS", sans-serif;
  font-weight: 400;
  font-size: 31px;
  color: var(--gray-text);
  letter-spacing: .5px;
  margin: 0 0 18px;
  white-space: nowrap;
}
.brandname a { color: inherit; text-decoration: none; }
.header .hspace { flex: 1; }
.header .addr2 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10.5px;
  color: var(--addr-gray);
  letter-spacing: .04em;
  text-transform: uppercase;
  margin: 0 8px 16px 0;
  white-space: nowrap;
}
.header .addr2 b { color: #595959; font-weight: bold; }
.header .art { width: 114px; height: 105px; flex: none; }
nav.top {
  position: absolute;
  top: 10px;
  right: 132px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--nav-gray);
  white-space: nowrap;
}
nav.top a {
  color: var(--nav-gray);
  text-decoration: none;
  padding: 2px 1px;
}
nav.top a:hover { text-decoration: underline; }
nav.top a[aria-current="page"] { text-decoration: underline; text-underline-offset: 3px; }
nav.top .sep { margin: 0 7px; color: var(--nav-gray); }

/* banner / slideshow — 940x323 like the original */
.banner {
  position: relative;
  width: 100%;
  height: 323px;
  background: #d8d8d8 center center no-repeat;
  background-size: cover;
  overflow: hidden;
}
.banner .slide {
  position: absolute;
  inset: 0;
  background-position: center center;
  background-size: cover;
  opacity: 0;
  transition: opacity 1.2s ease;
}
.banner .slide.on { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .banner .slide { transition: none; }
}

/* main content row */
.row { max-width: 942px; margin: 14px auto 0; text-align: left; display: flex; }
.inset { width: 341px; height: 347px; border: 0; flex: none; }
.maintext {
  font-size: 14px;
  line-height: 1.5;
  padding-left: 24px;
}
.maintext a { color: var(--body-text); }
h1.title {
  font-family: "Century Gothic", "Futura", "Avenir Next", "Trebuchet MS", sans-serif;
  font-weight: 400;
  font-size: 24px;
  color: var(--title-olive);
  letter-spacing: .5px;
  margin: 4px 0 22px;
}
.maintext ul { margin: 8px 0; padding-left: 22px; list-style: disc; }
.maintext li { margin: 2px 0; }

.bottomline { display: block; width: 100%; height: 3px; margin: 14px auto 0; }

.address {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: var(--addr-gray);
  margin: 16px 0;
}
.address a { color: #595959; }

.spacer { height: 260px; }

.seofooter { font-size: 14px; line-height: 1.6; padding-bottom: 40px; }
.seofooter a { color: var(--body-text); }

/* contact info block (form removed by request) */
.contactinfo { font-size: 15px; line-height: 1.9; }
.contactinfo a { color: var(--body-text); }

/* small screens */
@media (max-width: 960px) {
  .header { flex-wrap: wrap; align-items: center; padding: 10px; min-height: 0; }
  .header .art { display: none; }
  .brandname { font-size: 24px; margin: 0; white-space: normal; }
  .header .addr2 { display: none; }
  nav.top { position: static; width: 100%; margin-top: 8px; white-space: normal; }
  .banner { height: 34vw; }
  .row { display: block; }
  .inset { width: 90%; max-width: 341px; height: auto; margin: 0 auto; display: block; }
  .maintext { padding: 16px; }
  .spacer { height: 60px; }
}
