:root{
  --bg:#FAFAFA;
  --bar:#262626;
  --ink:#171717;
  --alert:#DC2626;
  --paper:#FFFFFF;
}

*{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Arial, Helvetica, sans-serif;
  font-size:17px;
  line-height:1.65;
}

h1,h2,h3,.wordmark-main,.tel-big,.btn-call,.badge-crimson{
  font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;
}

h1{font-size:1.9rem;line-height:1.25;margin:0 0 18px;letter-spacing:-0.01em;}
h2{font-size:1.35rem;margin:34px 0 12px;border-bottom:2px solid var(--bar);padding-bottom:6px;}
h3{font-size:1.02rem;margin:20px 0 6px;text-transform:uppercase;letter-spacing:.07em;}

p{margin:0 0 16px;}

a{color:var(--ink);}
a:hover{color:var(--alert);}

.container{max-width:980px;margin:0 auto;padding:0 16px;}

/* ---------- header ---------- */
.site-header{
  background:var(--paper);
  border-bottom:2px solid var(--bar);
}
.header-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 20px;
  padding-top:12px;
  padding-bottom:12px;
}
.wordmark{
  text-decoration:none;
  display:block;
  margin-right:auto;
}
.wordmark-main{
  display:block;
  font-size:1.3rem;
  font-weight:bold;
  letter-spacing:-0.01em;
}
.wordmark-sub{
  display:block;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:#4a4a4a;
}
.site-nav a{
  display:inline-block;
  margin-right:16px;
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  text-decoration:none;
  border-bottom:2px solid transparent;
  padding:2px 0;
}
.site-nav a:hover,.site-nav a.is-current{
  border-bottom-color:var(--alert);
}
.btn-call{
  display:inline-block;
  background:var(--alert);
  color:var(--paper);
  border:2px solid var(--alert);
  padding:9px 18px;
  font-weight:bold;
  text-decoration:none;
  letter-spacing:.04em;
  white-space:nowrap;
}
.btn-call:hover{
  background:var(--paper);
  color:var(--alert);
}

/* ---------- top response banner ---------- */
.top-bar{
  background:var(--bar);
  color:var(--paper);
  border-bottom:2px solid var(--alert);
}
.top-bar-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 24px;
  padding-top:14px;
  padding-bottom:14px;
}
.top-bar p{margin:0;}
.top-bar-label{
  display:block;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#cfcfcf;
}
.top-bar .tel-big{
  color:var(--paper);
  font-size:1.55rem;
  font-weight:bold;
  text-decoration:none;
  letter-spacing:.01em;
  border-bottom:2px solid var(--alert);
}
.top-bar .tel-big:hover{color:var(--alert);}
.top-bar-area{
  flex:1 1 300px;
  font-size:.86rem;
  color:#e2e2e2;
  border-left:2px solid #4a4a4a;
  padding-left:18px;
}
.badge-crimson{
  display:inline-block;
  background:var(--alert);
  color:var(--paper);
  border:2px solid var(--alert);
  padding:6px 12px;
  font-size:.74rem;
  font-weight:bold;
  text-transform:uppercase;
  letter-spacing:.11em;
}

/* ---------- letter / refusal ---------- */
.letter{padding:34px 0 10px;}
.letter-box{
  background:var(--paper);
  border:2px solid var(--bar);
  padding:30px 28px 24px;
}
.salutation{
  font-weight:bold;
  margin-bottom:18px;
}
.sign-off{margin-bottom:4px;}
.signature{
  font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;
  font-size:1.3rem;
  font-weight:bold;
  margin:0 0 4px;
}

.shot{
  margin:26px 0;
  border:2px solid var(--bar);
  background:var(--bg);
  padding:10px;
}
.shot img{
  display:block;
  width:100%;
  height:auto;
  border:1px solid var(--bar);
}
.shot figcaption{
  font-size:.83rem;
  line-height:1.5;
  padding-top:8px;
  color:#3a3a3a;
  border-top:1px solid #d4d4d4;
  margin-top:10px;
}
.shot-wide{margin-top:30px;}

/* ---------- contact ---------- */
.contact{padding:26px 0 46px;}
.contact-grid{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
}
.contact-box{
  flex:1 1 300px;
  background:var(--paper);
  border:2px solid var(--bar);
  padding:20px 22px;
}
.contact-box h3:first-child{margin-top:0;}
.contact-line{font-size:1.02rem;}
.tel-big,.tel-inline,.tel-foot{
  color:var(--alert);
  font-weight:bold;
  text-decoration:none;
}
.contact-box .tel-big{font-size:1.4rem;}
.tel-inline:hover,.tel-foot:hover,.contact-box .tel-big:hover{text-decoration:underline;}
.privacy-link{
  margin:18px 0 0;
  padding-top:12px;
  border-top:2px solid var(--bar);
  font-size:.9rem;
}

/* ---------- footer ---------- */
.site-footer{
  background:var(--bar);
  color:var(--paper);
  border-top:2px solid var(--alert);
  padding:18px 0;
  font-size:.86rem;
}
.footer-inner{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px 20px;
}
.site-footer p{margin:0;}
.site-footer a{color:var(--paper);}
.site-footer .tel-foot{color:var(--paper);border-bottom:2px solid var(--alert);}
.site-footer a:hover{color:var(--alert);}

/* ---------- responsive ---------- */
@media (max-width:760px){
  body{font-size:16px;}
  h1{font-size:1.5rem;}
  .header-inner{align-items:flex-start;}
  .wordmark{flex:1 1 100%;}
  .site-nav{flex:1 1 100%;}
  .site-nav a{margin-right:14px;}
  .btn-call{flex:1 1 100%;text-align:center;}
  .top-bar-area{border-left:0;padding-left:0;border-top:2px solid #4a4a4a;padding-top:10px;}
  .letter-box{padding:22px 18px 18px;}
}
