/* /style.css */
:root{
  --bg:#ffffff;
  --text:#151515;
  --muted:#555;
  --black:#0f0f0f;
  --red:#b00018;
  --gold:#d4af37;
  --gold-2:#f1d26a;
  --border:#e7e7e7;
  --card:#ffffff;
  --shadow: 0 10px 26px rgba(0,0,0,.08);
  --radius: 14px;
  --focus: 0 0 0 3px rgba(212,175,55,.35);
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
font-size:17px;
  background: var(--bg);
  color: var(--text);
  line-height: 1.45;
}

.ttltoc a{text-decoration:none;color:#4a4a4a;background-color:#f5f5f5}.ttltoc{text-align:left;font-weight:600;}.toc ul,.toc ol{margin-left:-30px;}.toc ul li,.toc ol li{list-style:none;margin-bottom:8px;}.toc ul li::before{content:'•';color:#4a4a4a;display:inline-block;width:1em;}.toc{color:#4a4a4a;background:#f6f6f6 none repeat scroll 0 0;border:1px solid #aaa;margin-bottom:1em;display:table;font-size:18px;width:auto;padding:18px;}.atoc::before{display:inline-block;padding-right:5px;content:'•';}.atoc{margin-bottom:5px;margin-left:17px;}

.imgleft{float:left;margin-right:10px;}.imgright{float:right;margin-left:10px;}.tbl th,.tbl td{padding:15px;text-align:left;}.tbl{width:100%;}.tbl tr:nth-child(odd){background-color:#fff;}.tbl tr:nth-child(even){background-color:var(--gold);}.tbl th{background-color:var(--red);color:white;}
img, svg, video, iframe {
  max-width: 100%;
  height: auto;
  display: block;
}

img, svg, video, iframe {
  max-width: 100%;
  height: auto;
  display: block;
}

a{ color: var(--red); text-decoration: none; }
a:hover{ text-decoration: underline; }

.skiplink{
  position:absolute;
  left:-999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skiplink:focus{
  left:16px;
  top:16px;
  width:auto;
  height:auto;
  padding:10px 12px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  box-shadow: var(--shadow);
  outline:none;
}

.site-header{
  border-bottom: 1px solid var(--border);
  background:#fff;
}

.header-top{
  max-width: 1200px;
  margin: 0 auto;
  padding: 14px 16px 6px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 16px;
}

.brand-logo{
  display:block;
  max-width: 100%;
  height:auto;
}

.header-right{
  display:flex;
  align-items:flex-start;
  gap: 12px;
}

.cta-call-img{
  display:block;
  max-width:100%;
  height:auto;
  border-radius: 12px;
  box-shadow: var(--shadow);
}

.social-rail{
  display:flex;
  flex-direction:column;
  gap: 10px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid transparent;
  cursor:pointer;
  font-weight: 800;
  letter-spacing: .2px;
  text-decoration:none;
  user-select:none;
}

.btn:focus{ outline:none; box-shadow: var(--focus); }
.btn-gold{
  background: linear-gradient(180deg, var(--gold-2), var(--gold));
  color: var(--black);
  border-color: rgba(0,0,0,.18);
}
.btn-gold:hover{ filter: brightness(0.98); text-decoration:none; }

.btn-outline{
  background:#fff;
  color: var(--black);
  border-color: rgba(0,0,0,.2);
}
.btn-outline:hover{ background:#fafafa; text-decoration:none; }

.icon{
  width: 22px;
  height: 22px;
  fill: var(--black);
}

.main-nav{
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 16px 14px;
  display:flex;
  justify-content:center;
}

.menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap:wrap;
  justify-content:center;
}

.menu-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 900;
  color: var(--black);
  border: 1px solid rgba(0,0,0,.14);
  background: #fff;
  text-decoration:none;
}

.menu-link:hover{
  background: #fafafa;
  text-decoration:none;
}

.toggle{ cursor:pointer; }

.has-sub{
  position:relative;
}

.nav-toggle{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.submenu{
  list-style:none;
  margin:0;
  padding: 10px;
  position:absolute;
  top: 52px;
  left: 0;
  min-width: 220px;
  background:#fff;
  border:1px solid var(--border);
  border-radius: 12px;
  box-shadow: var(--shadow);
  display:none;
  z-index: 50;
}

.submenu-link{
  display:block;
  padding: 10px 10px;
  border-radius: 10px;
  color: var(--black);
  font-weight: 800;
}
.submenu-link:hover{
  background: #fafafa;
  text-decoration:none;
}

.nav-toggle:checked + .toggle + .submenu{
  display:block;
}

.chev{
  margin-left: 8px;
  font-weight: 900;
  color: var(--red);
}

.page{
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 16px 26px;
  display:flex;
  gap: 18px;
  align-items:flex-start;
}

.content{ flex: 1 1 auto; }
.sidebar{ flex: 0 0 25%; min-width: 280px; }

.main-card,
.side-card{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 16px;
}

.main-card h1{
  margin: 4px 0 10px;
  font-size: 34px;
  line-height: 1.15;
}

.content-placeholder{
  border: 1px dashed rgba(0,0,0,.25);
  border-radius: 12px;
  padding: 16px;
  color: var(--muted);
  min-height: 220px;
  background: #fcfcfc;
}

.main-actions{
  margin-top: 14px;
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
}

.sidebar .side-card{
  margin-bottom: 14px;
}

.side-card h2{
  margin: 0 0 12px;
  font-size: 18px;
}

.side-card img{
  display:block;
  max-width:100%;
  height:auto;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
}

.side-line{
  margin: 10px 0 0;
  color: var(--muted);
}

.search-form{
  display:flex;
  gap:10px;
}

.input, .textarea{
  width:100%;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.18);
  font-size: 15px;
  outline:none;
}
.input:focus, .textarea:focus{ box-shadow: var(--focus); border-color: rgba(212,175,55,.7); }

.quote-form{
  display:grid;
  gap: 10px;
}

.map-wrap{
  border-radius: 12px;
  overflow:hidden;
  border: 1px solid rgba(0,0,0,.12);
  background:#f7f7f7;
}
.map-wrap iframe{
  width:100%;
  height: 210px;
  border:0;
  display:block;
}

.floating-call{
  position: fixed;
  right: 14px;
  bottom: 14px;
  z-index: 60;
}
.floating-call-link{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.18);
  box-shadow: var(--shadow);
  color: var(--black);
  font-weight: 900;
  text-decoration:none;
}
.floating-call-link:hover{ background:#fafafa; text-decoration:none; }
.phone-emoji{ font-size: 18px; }

.site-footer{
  border-top: 1px solid var(--border);
  background: #fff;
}

.footer-grid{
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 16px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.footer-col h2{
  margin: 0 0 10px;
  font-size: 16px;
}

.footer-links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap: 8px;
}
.footer-links a{
  color: var(--black);
  font-weight: 800;
}
.footer-links a:hover{ color: var(--red); text-decoration:none; }

.footer-text{
  margin:0;
  color: var(--muted);
}

.footer-bottom{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px 18px;
  color: var(--muted);
}

.icon-sm{
  width:14px;
  height:14px;
}

.btn-icon{
  background: linear-gradient(180deg, #F57C00, #F57C00);

  width:36px;
  height:36px;
  padding: 0;
  border-radius: 12px;
}


@media (max-width: 980px){
  .header-top{
    flex-direction:column;
    align-items:stretch;
  }
  .header-right{
    width:100%;
    justify-content:space-between;
    align-items:flex-start;
  }
  .social-rail{
    flex-direction:row;
  }
  .page{
    flex-direction:column;
  }
  .sidebar{
    flex: 1 1 auto;
    min-width: 0;
  }
  .submenu{
    position:static;
    box-shadow:none;
    margin-top: 8px;
  }
}

@media (max-width: 520px){
  .search-form{
    flex-direction:column;
  }
  .main-card h1{
    font-size: 28px;
  }
}