
.faq-main{
  background:#fff;
}

.faq-hero{
  padding:92px 0 18px;
}

.faq-hero .inner,
.faq-section .inner{
  max-width:1600px;
  margin:0 auto;
  padding:0 80px;
}

.faq-kicker{
  font-size:22px;
  color:var(--blueLight);
  margin-top:48px;
  margin-bottom:8px;
}

.faq-title{
  margin:0;
  font-size:34px;
  font-weight:700;
  color:var(--blue);
  letter-spacing:.1px;
}

.faq-section{
  padding:10px 0 0;
}

.faq-h{
  margin:64px 0 22px;
  font-size:30px;
  font-weight:700;
  color:var(--blue);
}

.faq-accordion{
  border-top:1px solid rgba(31,21,72,.16);
}

.faq-item{
  border-bottom:1px solid rgba(31,21,72,.16);
}

.faq-q{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:transparent;
  border:none;
  padding:28px 0;
  cursor:pointer;
  text-align:left;
  color:var(--blue);
  font-size:22px;
  font-weight:700;
  line-height:1.25;
}

.faq-q:focus-visible{
  outline:3px solid rgba(228,206,142,.55);
  outline-offset:6px;
  border-radius:10px;
}

.faq-icon{
  width:26px;
  height:26px;
  flex:0 0 26px;
  position:relative;
}

.faq-icon::before,
.faq-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:20px;
  height:2px;
  background:var(--blue);
  transform:translate(-50%,-50%);
  border-radius:2px;
}

/* vertical line (plus) */
.faq-icon::after{
  width:2px;
  height:20px;
  transition: transform .18s ease, opacity .18s ease;
}

.faq-item.is-open .faq-icon::after{
  transform:translate(-50%,-50%) scaleY(0);
  opacity:0;
}

.faq-a{
  overflow:hidden;
  height:0;
  transition: height .22s ease;
}

.faq-a[hidden]{
  display:block; 
}

.faq-a-inner{
  padding:0 0 24px;
  max-width:980px;
}

.faq-a-inner p{
  margin:10px 0 0;
  font-size:20px;
  line-height:1.7;
  color:#7a7a7a;
}


.footer{
  margin-top:70px;
}

.stay-informed {
  background: var(--gold); 
  padding: 62px 0 76px;
  margin-top: 40px;
}

.stay-informed .inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 80px;
}

.stay-informed h2 {
  margin: 0 0 16px;
  color: var(--blue);
  font-size: 42px;
  line-height: 1.12;
  font-weight: 700;
}

.stay-informed p {
  width: 780px;
  margin: 0 0 42px;
  color: #363041;
  font-size: 20px;
  line-height: 1.55;
}

.subscribe-form {
  display: flex;
  width: 750px;
  height: 56px;
}

.subscribe-form input {
  flex: 1;
  height: 50px;
  border: none;
  padding: 0 24px;
  background: #fff;
  font-size: 22px;
  color: var(--blue);
}

.btn-receive {
  height: 50px;
  min-width: 218px;
  border: none;
  background: var(--blue);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;

  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.btn-receive:hover {
  background: #2a1d63;
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(31, 21, 72, 0.3);
}

.btn-receive:active {
  transform: translateY(0);
}


.footer {
  margin-top: 0; 
}