/* ============================================================
   AnyJob Construction — clean & trustworthy
   White background. Charcoal type. Navy + brick accents.
   ============================================================ */

:root{
  --bg:#fcfaf7;
  --bg-warm:#f4efe8;
  --bg-card:#ffffff;
  --ink:#1a1d21;
  --ink-soft:#2c3038;
  --gray:#5e646d;
  --gray-soft:#8a909a;
  --line:rgba(26,29,33,.10);
  --line-soft:rgba(26,29,33,.06);
  --navy:#1a3559;
  --navy-dark:#122845;
  --brick:#a83a2c;
  --brick-dark:#8a2e22;
  --gold:#b58a3f;

  --serif:'Source Serif 4', 'Source Serif Pro', Georgia, serif;
  --sans:'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
  font-feature-settings:"ss01","cv11";
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* ============ TOP STRIP ============ */
.topstrip{
  background:var(--navy);
  color:#fff;
  padding:9px 24px;
  font-size:13px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.topstrip .left,.topstrip .right{display:flex;align-items:center;gap:18px}
.topstrip a{color:#fff;font-weight:500;transition:opacity .15s}
.topstrip a:hover{opacity:.8}
.topstrip .sep{opacity:.35}
.topstrip .badge{
  display:inline-flex;align-items:center;gap:6px;
  font-weight:500;font-size:12.5px;letter-spacing:.01em;
}
.topstrip .badge::before{
  content:'★';color:var(--gold);font-size:13px;
}
@media (max-width:760px){
  .topstrip{font-size:12px;padding:8px 16px;flex-wrap:wrap;justify-content:center;gap:8px 14px}
  .topstrip .right .ext{display:none}
}

/* ============ NAV ============ */
nav.main{
  position:sticky;top:0;z-index:50;
  background:var(--bg-card);
  border-bottom:1px solid var(--line);
  padding:14px 32px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:32px;
}

.brand{
  display:flex;align-items:center;gap:14px;
}
.brand img{
  height:46px;width:auto;
}
.brand-text{
  display:flex;flex-direction:column;line-height:1;
}
.brand-name{
  font-family:var(--serif);
  font-weight:600;
  font-size:22px;
  color:var(--ink);
  letter-spacing:-.01em;
}
.brand-tagline{
  font-family:var(--sans);
  font-size:11px;
  color:var(--gray);
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-top:4px;
  font-weight:500;
}
@media (max-width:760px){
  nav.main{padding:12px 16px;gap:14px}
  .brand img{height:38px}
  .brand-name{font-size:18px}
  .brand-tagline{display:none}
}

.nav-links{
  display:flex;
  align-items:center;
  gap:8px;
  list-style:none;
  justify-content:center;
}
.nav-links a{
  padding:10px 16px;
  font-size:14.5px;
  font-weight:500;
  color:var(--ink-soft);
  border-radius:4px;
  transition:all .15s;
  letter-spacing:-.005em;
}
.nav-links a:hover{
  color:var(--brick);
  background:var(--bg-warm);
}
.nav-links a.active{
  color:var(--navy);
  background:var(--bg-warm);
  font-weight:600;
}
@media (max-width:1000px){.nav-links{display:none}}

.nav-cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:11px 20px;
  background:var(--brick);
  color:#fff !important;
  font-weight:600;
  font-size:14.5px;
  border-radius:4px;
  transition:background .15s;
  letter-spacing:-.005em;
}
.nav-cta:hover{background:var(--brick-dark)}
.nav-cta::before{content:'☎';font-size:13px}
@media (max-width:560px){
  .nav-cta{padding:10px 14px;font-size:13px}
}

.menu-btn{
  display:none;
  align-items:center;
  gap:6px;
  padding:9px 14px;
  border:1px solid var(--line);
  background:var(--bg-card);
  font-size:13px;
  font-weight:600;
  color:var(--ink);
  border-radius:4px;
}
@media (max-width:1000px){.menu-btn{display:inline-flex}}

.mobile-menu{
  display:none;
  position:fixed;
  inset:0;
  background:var(--bg-card);
  z-index:200;
  padding:24px;
  flex-direction:column;
}
.mobile-menu.open{display:flex}
.mobile-menu .mm-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
  margin-bottom:24px;
}
.mobile-menu .mm-close{
  font-size:14px;
  font-weight:600;
  color:var(--ink);
  padding:8px 14px;
  border:1px solid var(--line);
  border-radius:4px;
}
.mobile-menu a{
  display:block;
  padding:18px 0;
  border-bottom:1px solid var(--line-soft);
  font-family:var(--serif);
  font-weight:500;
  font-size:24px;
  color:var(--ink);
  letter-spacing:-.015em;
}
.mobile-menu .mm-cta{
  display:block;
  margin-top:24px;
  padding:16px;
  background:var(--brick);
  color:#fff;
  text-align:center;
  font-weight:600;
  font-size:16px;
  border-radius:4px;
  font-family:var(--sans);
  border-bottom:none;
}

/* ============ COMMON ============ */
.section{
  max-width:1240px;
  margin:0 auto;
  padding:96px 32px;
}
@media (max-width:760px){.section{padding:64px 20px}}

.eyebrow{
  display:inline-block;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brick);
  margin-bottom:18px;
}
.eyebrow.navy{color:var(--navy)}
.eyebrow.muted{color:var(--gray)}

.h-display{
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1.05;
  color:var(--ink);
}
.h-display em{
  font-style:italic;
  font-weight:400;
  color:var(--brick);
}

p.lede{
  font-size:19px;
  line-height:1.55;
  color:var(--ink-soft);
  max-width:640px;
}
p.lede strong{color:var(--ink);font-weight:600}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 24px;
  font-family:var(--sans);
  font-weight:600;
  font-size:15px;
  letter-spacing:-.005em;
  border-radius:4px;
  transition:all .15s;
  border:1.5px solid transparent;
  cursor:pointer;
  white-space:nowrap;
}
.btn-primary{
  background:var(--brick);
  color:#fff !important;
}
.btn-primary:hover{
  background:var(--brick-dark);
  transform:translateY(-1px);
  box-shadow:0 8px 20px -8px rgba(168,58,44,.4);
}
.btn-secondary{
  background:var(--ink);
  color:#fff !important;
}
.btn-secondary:hover{background:var(--navy)}
.btn-outline{
  background:transparent;
  color:var(--ink) !important;
  border-color:var(--ink);
}
.btn-outline:hover{
  background:var(--ink);
  color:#fff !important;
}
.btn-ghost{
  background:transparent;
  color:var(--ink) !important;
  border-color:var(--line);
}
.btn-ghost:hover{border-color:var(--ink)}
.btn-light{
  background:#fff;
  color:var(--ink) !important;
}
.btn-light:hover{background:var(--bg-warm)}
.btn .arrow{transition:transform .2s;font-weight:400}
.btn:hover .arrow{transform:translateX(3px)}
.btn-lg{padding:16px 28px;font-size:16px}
@media (max-width:560px){
  .btn{padding:12px 20px;font-size:14px;width:100%}
  .btn-lg{padding:14px 22px;font-size:15px}
}

/* ============ FOOTER ============ */
footer{
  background:var(--ink);
  color:rgba(255,255,255,.75);
  padding:72px 32px 28px;
}
.footer-grid{
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:48px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
@media (max-width:900px){
  footer{padding:56px 20px 24px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;gap:28px}}

.footer-brand .fb-name{
  font-family:var(--serif);
  font-size:26px;
  font-weight:500;
  color:#fff;
  letter-spacing:-.015em;
  margin-bottom:6px;
  line-height:1;
}
.footer-brand .fb-tag{
  font-size:11px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:18px;
}
.footer-brand p{
  font-size:14px;
  line-height:1.6;
  margin-bottom:18px;
  max-width:340px;
  color:rgba(255,255,255,.7);
}
.footer-contact a{
  display:block;
  font-size:14px;
  margin-bottom:5px;
  color:#fff;
  font-weight:500;
}
.footer-contact a:hover{color:var(--gold)}

.footer-col h5{
  font-size:11px;
  font-weight:600;
  color:var(--gold);
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:10px}
.footer-col a{
  font-size:14px;
  color:rgba(255,255,255,.7);
  transition:color .15s;
}
.footer-col a:hover{color:#fff}

.footer-license{
  background:rgba(255,255,255,.04);
  border-left:3px solid var(--brick);
  padding:14px 16px;
  margin-top:18px;
  font-size:12px;
  line-height:1.6;
  color:rgba(255,255,255,.65);
}
.footer-license strong{color:#fff;font-weight:600}

.footer-bottom{
  max-width:1240px;
  margin:20px auto 0;
  display:flex;
  justify-content:space-between;
  gap:14px;
  font-size:12px;
  color:rgba(255,255,255,.5);
}
@media (max-width:640px){
  .footer-bottom{flex-direction:column;gap:6px;text-align:center}
}

/* ============ MOBILE STICKY CALL ============ */
.mobile-call{
  display:none;
  position:fixed;
  bottom:0;left:0;right:0;
  background:var(--brick);
  color:#fff;
  z-index:80;
  padding:14px;
  text-align:center;
  font-weight:600;
  font-size:15px;
  box-shadow:0 -4px 16px rgba(0,0,0,.15);
}
.mobile-call a{color:#fff}
@media (max-width:760px){
  .mobile-call{display:block}
  body{padding-bottom:56px}
}

/* ============ PLACEHOLDER FLAGS ============ */
.flag{
  display:inline-block;
  font-size:10px;
  background:rgba(168,58,44,.12);
  color:var(--brick);
  padding:2px 6px;
  border-radius:3px;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:600;
  vertical-align:middle;
  margin:0 3px;
  white-space:nowrap;
}

/* ============ REVEAL ============ */
.reveal{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .55s ease, transform .55s ease;
}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

/* ============ FORM ============ */
.formcard{
  background:var(--bg-card);
  border:1px solid var(--line);
  padding:36px 36px 32px;
  border-radius:6px;
  box-shadow:0 30px 60px -30px rgba(26,29,33,.15);
}
@media (max-width:560px){.formcard{padding:28px 22px 24px}}

.formcard h3{
  font-family:var(--serif);
  font-weight:500;
  font-size:30px;
  letter-spacing:-.02em;
  line-height:1.1;
  margin-bottom:8px;
}
.formcard .fc-sub{
  font-size:14px;
  color:var(--gray);
  margin-bottom:28px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.fc-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.fc-row{grid-template-columns:1fr}}
.fc-field{margin-bottom:16px}
.fc-field label{
  display:block;
  font-size:12px;
  font-weight:600;
  color:var(--ink-soft);
  margin-bottom:6px;
  letter-spacing:.01em;
}
.fc-field input,.fc-field select,.fc-field textarea{
  width:100%;
  padding:12px 14px;
  font-family:var(--sans);
  font-size:15px;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:4px;
  color:var(--ink);
  transition:all .15s;
}
.fc-field input:focus,.fc-field select:focus,.fc-field textarea:focus{
  outline:none;
  border-color:var(--navy);
  background:#fff;
  box-shadow:0 0 0 3px rgba(26,53,89,.08);
}
.fc-field textarea{resize:vertical;min-height:96px}
.fc-disclaim{
  font-size:12px;
  color:var(--gray);
  margin-top:14px;
  line-height:1.55;
}
.fc-success{
  display:none;
  margin-top:14px;
  padding:14px 16px;
  background:rgba(181,138,63,.1);
  border:1px solid var(--gold);
  border-radius:4px;
  color:var(--ink);
  font-weight:600;
  font-size:14px;
}
.fc-success.show{display:block}
.fc-submit{
  width:100%;
  padding:16px;
  background:var(--brick);
  color:#fff;
  font-family:var(--sans);
  font-weight:600;
  font-size:15px;
  border-radius:4px;
  cursor:pointer;
  transition:background .15s;
  margin-top:6px;
  border:none;
  letter-spacing:-.005em;
}
.fc-submit:hover{background:var(--brick-dark)}
