:root{
  --mfg-navy:#0f2f4f;
  --mfg-navy-2:#173f63;
  --mfg-gold:#c79a45;
  --mfg-gold-light:#ead9b7;
  --mfg-ink:#1d2939;
  --mfg-muted:#667085;
  --mfg-bg:#f5f7fa;
  --mfg-card:#ffffff;
  --mfg-border:#d9e0e7;
  --mfg-success:#067647;
  --mfg-error:#b42318;
  --mfg-focus:rgba(199,154,69,.20);
}

*,
*::before,
*::after{box-sizing:border-box}

html{scroll-behavior:smooth}

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

/* ---------- LIVE SITE FRAGMENTS ---------- */
#site-header,#site-footer{
  width:100%;
  display:block;
  position:relative;
  z-index:10;
}

/* If the live header fragment is markup-only, these rules prevent the
   unstyled vertical list shown when its original stylesheet is absent. */
#site-header{
  background:#fff;
  border-bottom:1px solid #e8edf2;
}

#site-header nav{
  width:100%;
}

#site-header ul{
  margin:0;
  padding:0;
  list-style:none;
}

#site-header > nav > ul,
#site-header nav > ul{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:0;
}

#site-header li{
  position:relative;
}

#site-header a{
  display:block;
  color:var(--mfg-navy);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  padding:15px 13px;
  white-space:nowrap;
}

#site-header a:hover{
  color:var(--mfg-gold);
}

#site-header img{
  max-width:100%;
}

#site-footer{
  background:var(--mfg-navy);
  color:#fff;
  margin-top:0;
}

#site-footer a{
  color:inherit;
}

#site-footer p,
#site-footer ul{
  margin-top:0;
}

#site-footer ul{
  padding-left:18px;
}

/* ---------- FEEDBACK PAGE ---------- */
.feedback-page{
  width:100%;
  min-height:calc(100vh - 180px);
  display:flex;
  justify-content:center;
  padding:56px 20px 72px;
}

.feedback-card{
  width:100%;
  max-width:820px;
  margin:0 auto;
  background:var(--mfg-card);
  border:1px solid rgba(15,47,79,.12);
  border-radius:18px;
  padding:34px;
  box-shadow:0 14px 45px rgba(15,47,79,.09);
}

.feedback-heading{
  display:flex;
  align-items:center;
  gap:18px;
  padding-bottom:24px;
  border-bottom:1px solid #edf0f3;
}

.brand-mark{
  width:76px;
  height:76px;
  flex:0 0 76px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.brand-mark img{
  max-width:76px;
  max-height:76px;
  width:auto;
  height:auto;
  display:block;
}

.eyebrow{
  margin:0 0 2px;
  color:var(--mfg-gold);
  font-size:12px;
  font-weight:800;
  letter-spacing:1.5px;
}

.feedback-card h1{
  margin:0;
  color:var(--mfg-navy);
  font-size:30px;
  line-height:1.2;
}

.heading-subtitle{
  margin:5px 0 0;
  color:var(--mfg-muted);
}

.intro{
  margin:22px 0;
  padding:14px 16px;
  border-left:4px solid var(--mfg-gold);
  background:#fbfaf7;
  color:#475467;
  border-radius:0 8px 8px 0;
}

.intro p{margin:0}

.grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:20px;
}

.full{grid-column:1/-1}

.field label,
.field>label{
  display:block;
  font-weight:700;
  color:var(--mfg-ink);
}

.field label>span,
legend span{color:var(--mfg-error)}

.feedback-card input[type=text],
.feedback-card input[type=email],
.feedback-card input[type=tel],
.feedback-card select,
.feedback-card textarea{
  width:100%;
  margin-top:7px;
  padding:12px 13px;
  border:1px solid var(--mfg-border);
  border-radius:9px;
  background:#fff;
  color:var(--mfg-ink);
  font:inherit;
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}

.feedback-card input:focus,
.feedback-card select:focus,
.feedback-card textarea:focus{
  border-color:var(--mfg-gold);
  box-shadow:0 0 0 3px var(--mfg-focus);
}

.feedback-card textarea{
  min-height:155px;
  resize:vertical;
}

.feedback-card fieldset{
  min-width:0;
  border:1px solid var(--mfg-border);
  border-radius:9px;
  padding:15px 16px 13px;
}

.feedback-card legend{
  padding:0 5px;
  font-weight:700;
}

.rating{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}

.rating label{
  position:relative;
  cursor:pointer;
}

.rating input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.rating span{
  display:inline-block;
  padding:8px 12px;
  border:1px solid var(--mfg-border);
  border-radius:999px;
  background:#fff;
  color:#475467;
  font-weight:600;
}

.rating input:checked+span{
  background:var(--mfg-navy);
  color:#fff;
  border-color:var(--mfg-navy);
}

.rating label:hover span{border-color:var(--mfg-gold)}

.counter{
  text-align:right;
  color:var(--mfg-muted);
  font-size:12px;
  margin-top:4px;
}

.consent{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:23px 0 18px;
  color:#475467;
  font-size:14px;
}

.consent input{
  width:auto;
  margin:4px 0 0;
  accent-color:var(--mfg-navy);
}

.feedback-card button{
  width:100%;
  border:0;
  border-radius:9px;
  padding:13px 18px;
  background:var(--mfg-navy);
  color:#fff;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.feedback-card button:hover{background:var(--mfg-navy-2)}
.feedback-card button:disabled{opacity:.65;cursor:wait}

.privacy{
  margin:12px 0 0;
  text-align:center;
  color:var(--mfg-muted);
  font-size:12px;
}

.message{
  display:none;
  padding:12px 14px;
  margin-bottom:18px;
  border-radius:9px;
  font-weight:700;
}

.message.ok{
  display:block;
  background:#ecfdf3;
  color:var(--mfg-success);
}

.message.err{
  display:block;
  background:#fef3f2;
  color:var(--mfg-error);
}

.hp{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

@media(max-width:800px){
  #site-header > nav > ul,
  #site-header nav > ul{
    justify-content:flex-start;
  }
}

@media(max-width:680px){
  .feedback-page{padding:28px 14px 45px}

  .feedback-card{
    padding:22px;
    border-radius:14px;
  }

  .feedback-heading{align-items:flex-start}

  .brand-mark{
    width:62px;
    height:62px;
    flex-basis:62px;
  }

  .brand-mark img{
    max-width:62px;
    max-height:62px;
  }

  .feedback-card h1{font-size:25px}

  .grid{grid-template-columns:1fr}
  .full{grid-column:auto}

  #site-header a{
    padding:11px 9px;
    font-size:13px;
  }
}
