* { box-sizing: border-box; }
body { margin: 0; background: #1d3f6e linear-gradient(#0d2547, #3a6aa8 600px, #dfe8f3 600px); font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #333; }
a { color: #1a5bb5; }
#wrap { width: 960px; max-width: 100%; margin: 18px auto; background: #fff; border-radius: 10px; box-shadow: 0 0 18px rgba(0,0,0,.45); overflow: hidden; }
#header { display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; background: linear-gradient(#ffffff, #e6edf6); border-bottom: 1px solid #c3d0e0; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.brand span { display: flex; flex-direction: column; line-height: 1; }
.brand b { font-family: "Trebuchet MS", Arial, sans-serif; font-size: 30px; color: #0b2f9e; letter-spacing: -1px; text-transform: uppercase; }
.brand em { font-family: "Trebuchet MS", Arial, sans-serif; font-style: italic; font-size: 20px; color: #555; }
.callbox { text-align: right; }
.callbox small { display: block; color: #666; font-size: 12px; font-weight: bold; }
.callbox a { display: block; font-size: 30px; font-weight: bold; color: #e85d00; text-decoration: none; text-shadow: 1px 1px 0 #fff; }
#menu { list-style: none; margin: 0; padding: 0 10px; display: flex; flex-wrap: wrap; background: linear-gradient(#4f86cc, #1e4f96 50%, #163f7d 51%, #1c4b8f); border-top: 1px solid #7aa6df; border-bottom: 1px solid #0c2b5a; }
#menu a { display: block; padding: 11px 16px; color: #fff; text-decoration: none; font-weight: bold; font-size: 13px; text-shadow: 0 -1px 0 #0b2550; border-right: 1px solid rgba(255,255,255,.15); }
#menu a:hover, #menu a.on { background: linear-gradient(#ff9a3c, #e86b00); }
#hero { position: relative; height: 330px; overflow: hidden; border-bottom: 4px solid #e86b00; }
.heroimg { width: 100%; height: 100%; object-fit: cover; display: block; }
.herocopy { position: absolute; left: 24px; bottom: 24px; max-width: 470px; background: rgba(8,30,70,.82); color: #fff; padding: 18px 22px; border-radius: 8px; border: 1px solid rgba(255,255,255,.3); }
.herocopy h1 { margin: 0 0 6px; font-size: 26px; font-family: "Trebuchet MS", Arial, sans-serif; text-shadow: 1px 1px 2px #000; }
.herocopy p { margin: 0 0 14px; font-size: 15px; }
.glossbtn { display: inline-block; padding: 11px 24px; border-radius: 6px; background: linear-gradient(#ffb562, #f57c00 50%, #e06500 51%, #f08a1c); color: #fff; font-weight: bold; font-size: 17px; text-decoration: none; border: 1px solid #b04f00; box-shadow: 0 2px 4px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.5); text-shadow: 0 -1px 0 #a04800; }
.glossbtn:hover { background: linear-gradient(#ffc27a, #ff8a10 50%, #ec7000 51%, #ff9a30); }
#cols { display: flex; gap: 18px; padding: 22px 20px; background: #f6f9fc; }
.col { flex: 1; background: #fff; border: 1px solid #d4dfeb; border-radius: 8px; padding: 0 16px 14px; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.col h2, #states h2, #contact h2 { margin: 0 -16px 12px; padding: 9px 16px; font-size: 17px; color: #fff; background: linear-gradient(#3d77c4, #1e4f96); border-radius: 8px 8px 0 0; font-family: "Trebuchet MS", Arial, sans-serif; }
.col p { line-height: 1.55; }
.checks { list-style: none; padding: 0; margin: 0; }
.checks li { padding: 6px 0 6px 26px; border-bottom: 1px dotted #c9d6e5; font-weight: bold; color: #1e4f96; position: relative; }
.checks li:before { content: "\2714"; position: absolute; left: 4px; color: #2e9e2e; }
.thumb { width: 100%; border-radius: 4px; border: 1px solid #ccc; }
#states { margin: 0 20px 20px; border: 1px solid #d4dfeb; border-radius: 8px; padding: 0 16px 8px; }
#states h2 { margin: 0 -16px 10px; }
.statelist { line-height: 1.9; color: #555; font-size: 13px; text-align: center; }
#contact { display: flex; gap: 20px; margin: 0 20px 20px; border: 1px solid #d4dfeb; border-radius: 8px; overflow: hidden; }
.contactimg { width: 48%; object-fit: cover; }
.contactcopy { padding: 0 16px 10px; flex: 1; }
.contactcopy h2 { margin: 0 -16px 12px !important; border-radius: 0 !important; }
.tel a { font-size: 30px; font-weight: bold; color: #e85d00; text-decoration: none; }
#footer { background: #163f7d; color: #c5d5ec; text-align: center; font-size: 12px; padding: 12px; border-top: 4px solid #e86b00; }
#footer a { color: #fff; }
#footer p { margin: 4px 0; }
.credit { color: #8eaad1; font-size: 11px; }
@media (max-width: 760px) {
  #wrap { margin: 0; border-radius: 0; }
  #header { flex-direction: column; align-items: flex-start; gap: 8px; }
  .callbox { text-align: left; }
  #menu a { padding: 9px 10px; }
  #hero { height: auto; }
  .heroimg { height: 220px; }
  .herocopy { position: static; max-width: none; border-radius: 0; }
  #cols, #contact { flex-direction: column; }
  .contactimg { width: 100%; height: 200px; }
}

/* Contact form */
#quote { margin: 0 20px 20px; border: 1px solid #d4dfeb; border-radius: 8px; padding: 0 16px 18px; background: #fbfdff; }
#quote h2 { margin: 0 -16px 14px; padding: 9px 16px; font-size: 17px; color: #fff; background: linear-gradient(#ff9a3c, #e86b00); border-radius: 8px 8px 0 0; font-family: "Trebuchet MS", Arial, sans-serif; }
.qgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; }
.quoteform label { display: flex; flex-direction: column; font-weight: bold; font-size: 13px; color: #1e4f96; gap: 4px; }
.quoteform input, .quoteform select, .quoteform textarea { font: 14px Arial, sans-serif; padding: 7px 8px; border: 1px solid #a9bdd6; border-radius: 4px; background: linear-gradient(#f3f6fa, #fff 40%); box-shadow: inset 0 1px 2px rgba(0,0,0,.1); }
.quoteform .full { margin: 12px 0 14px; }
.quoteform button { cursor: pointer; }
.formerr { background: #fff0f0; border: 1px solid #d33; color: #b00; padding: 8px 10px; border-radius: 6px; margin-bottom: 12px; font-weight: bold; }
.hp { position: absolute; left: -9999px; }
@media (max-width: 760px) { #quote { margin: 0 12px 16px; } .qgrid { grid-template-columns: 1fr; } }

.mail a { font-weight: bold; color: #1e4f96; }
