.page-faq{
  --faq-hero-echo: rgba(255,255,255,0.08);
  --faq-card-shadow: 0 12px 32px rgba(10,37,64,0.10);
  position:relative;
  color:var(--text);
  background:var(--white);
}

.page-faq .faq-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(120deg, var(--navy-deep) 0%, var(--navy) 46%, rgba(10,37,64,0.96) 100%);
  border-radius:0;
  padding:2.5rem 0 3.25rem;
}

.page-faq .faq-hero::after{
  content:"";
  position:absolute;
  left:-2rem;
  bottom:-5rem;
  width:56%;
  height:13rem;
  background:linear-gradient(90deg, rgba(255,122,0,0.26), transparent 72%);
  clip-path:polygon(0 42%, 100% 0, 100% 100%, 0 68%);
  pointer-events:none;
}

.page-faq .faq-geo{
  position:absolute;
  display:block;
  pointer-events:none;
}
.page-faq .faq-geo--ring{
  width:14rem;
  height:14rem;
  right:-5rem;
  bottom:-5rem;
  border:2.5rem solid var(--faq-hero-echo);
  border-radius:50%;
  box-sizing:border-box;
}
.page-faq .faq-geo--dot{
  width:5rem;
  height:5rem;
  right:9rem;
  top:-1.8rem;
  border-radius:50%;
  background:rgba(255,122,0,0.28);
}
.page-faq .faq-geo--slash{
  width:22rem;
  height:4rem;
  top:1.6rem;
  right:-6rem;
  background:rgba(255,122,0,0.20);
  transform:rotate(-24deg);
  border-radius:var(--radius-pill);
}

.page-faq .faq-breadcrumb{
  margin-bottom:1.75rem;
}
.page-faq .faq-breadcrumb .breadcrumb__item a{
  color:rgba(255,255,255,0.70);
  text-decoration:none;
  transition:color .25s var(--ease);
}
.page-faq .faq-breadcrumb .breadcrumb__item a:hover{
  color:var(--orange);
}
.page-faq .faq-breadcrumb .breadcrumb__item[aria-current="page"]{
  color:rgba(255,255,255,0.95);
}

.page-faq .faq-hero-inner{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:2.25rem;
}

.page-faq .faq-hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:var(--orange);
  font-family:var(--font-data);
  font-size:.74rem;
  letter-spacing:.08em;
  padding:.4rem .9rem;
  border:1px solid rgba(255,122,0,0.45);
  background:rgba(255,122,0,0.10);
  border-radius:var(--radius-pill);
  margin-bottom:1.2rem;
}

.page-faq .faq-hero-text h1{
  max-width:11.5em;
  font-size:clamp(2rem, 5vw, 3.55rem);
  font-weight:900;
  letter-spacing:-0.02em;
  line-height:1.08;
  color:var(--white);
  margin:0 0 1.1rem;
}
.page-faq .faq-hero-text .lead{
  max-width:34rem;
  font-size:1.04rem;
  line-height:1.75;
  color:rgba(255,255,255,0.80);
  margin:0;
}

.page-faq .faq-hero-cta{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-top:1.6rem;
  background:var(--orange);
  color:#fff;
  border-radius:var(--radius-pill);
  padding:.85rem 1.8rem;
  font-weight:700;
  font-family:var(--font-body);
  text-decoration:none;
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.page-faq .faq-hero-cta:hover{
  background:var(--orange-hover);
  transform:translateY(-2px);
}

.page-faq .faq-hero-search{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:1.65rem 1.6rem;
  box-shadow:0 24px 60px rgba(6,24,44,0.30);
  position:relative;
  z-index:3;
}
.page-faq .faq-search-heading{
  display:block;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:1.35rem;
  color:var(--navy);
  margin-bottom:.3rem;
}
.page-faq .faq-search-desc{
  font-size:.9rem;
  color:var(--muted);
  margin:0 0 1.1rem;
  line-height:1.6;
}

.page-faq .faq-search-field{
  display:flex;
  align-items:center;
  gap:.55rem;
  border:2px solid var(--navy);
  border-radius:var(--radius-pill);
  padding:.3rem .4rem .3rem 1.1rem;
  background:#fff;
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.page-faq .faq-search-field:focus-within{
  border-color:var(--orange);
  box-shadow:0 0 0 4px rgba(255,122,0,0.15);
}
.page-faq .faq-search-ico{
  color:var(--navy);
  flex:0 0 auto;
  display:inline-flex;
}
.page-faq .faq-search-input{
  flex:1 1 auto;
  border:0;
  background:transparent;
  padding:.6rem 0;
  font-family:var(--font-body);
  font-size:.96rem;
  color:var(--text);
  outline:none;
}
.page-faq .faq-search-input::placeholder{
  color:var(--muted);
}

.page-faq .faq-search-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1rem;
  align-items:center;
}
.page-faq .faq-search-tags > span{
  font-size:.8rem;
  color:var(--muted);
}
.page-faq .faq-search-tag{
  text-decoration:none;
  background:var(--loft);
  border:1px solid var(--border);
  color:var(--navy);
  font-size:.85rem;
  padding:.28rem .85rem;
  border-radius:var(--radius-pill);
  transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
}
.page-faq .faq-search-tag:hover{
  background:var(--orange-soft);
  border-color:var(--orange);
  color:var(--navy);
}

.page-faq .faq-cat-strip{
  padding:1.6rem 0;
  background:var(--white);
  border-bottom:1px solid var(--border);
}
.page-faq .faq-cat-strip-inner{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:.75rem;
}
.page-faq .faq-cat-card{
  display:flex;
  flex-direction:column;
  gap:.45rem;
  padding:1.05rem 1.1rem;
  background:var(--loft);
  border-radius:var(--radius-md);
  border:1px solid transparent;
  text-decoration:none;
  color:var(--text);
  transition:transform .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.page-faq .faq-cat-card:hover,
.page-faq .faq-cat-card:focus-visible{
  transform:translateY(-4px);
  background:var(--white);
  border-color:rgba(255,122,0,0.30);
  box-shadow:var(--faq-card-shadow);
  outline:none;
}
.page-faq .faq-cat-index{
  font-family:var(--font-data);
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--orange);
}
.page-faq .faq-cat-name{
  font-weight:700;
  font-size:.95rem;
  line-height:1.4;
}

.page-faq .faq-block{
  padding:3.25rem 0;
}
.page-faq .faq-block-head{
  margin-bottom:2.25rem;
}
.page-faq .faq-block-step{
  display:inline-flex;
  width:max-content;
  background:var(--navy);
  color:var(--white);
  padding:.32rem .85rem;
  border-radius:var(--radius-pill);
  font-family:var(--font-data);
  font-size:.72rem;
  letter-spacing:.08em;
  font-weight:700;
}
.page-faq .faq-block-kicker{
  display:block;
  margin-top:1rem;
  font-family:var(--font-data);
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
}
.page-faq .faq-block-head .headline{
  margin:.35rem 0 0;
}
.page-faq .faq-block-intro{
  margin:.85rem 0 0;
  color:var(--muted);
  max-width:45rem;
  line-height:1.7;
}
.page-faq .faq-block-intro strong{
  color:var(--orange);
  font-weight:700;
}

.page-faq .faq-block--case{
  border-top:4px solid var(--orange);
  border-bottom:1px solid var(--border);
}

.page-faq .faq-block--navy{
  background:var(--navy);
  color:var(--white);
}
.page-faq .faq-block--navy .faq-block-step{
  background:var(--orange);
  color:var(--navy-deep);
}
.page-faq .faq-block--navy .faq-block-kicker{
  color:rgba(255,255,255,0.55);
}
.page-faq .faq-block--navy .faq-block-intro{
  color:rgba(255,255,255,0.75);
}

.page-faq .faq-block-grid{
  display:grid;
  gap:2rem;
}
.page-faq .faq-block-grid--narrow{
  max-width:48rem;
}

.page-faq .faq-block-aside{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.page-faq .faq-figure{
  margin:0;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--loft);
  box-shadow:var(--faq-card-shadow);
}
.page-faq .faq-figure img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
}
.page-faq .faq-figure-caption{
  display:flex;
  gap:.6rem;
  align-items:flex-start;
  padding:.85rem 1.2rem 1rem;
  border-top:1px solid var(--border);
  font-size:.86rem;
  color:var(--muted);
  line-height:1.6;
}
.page-faq .faq-figure-caption span{
  flex-shrink:0;
  color:var(--orange);
  font-family:var(--font-data);
  font-weight:700;
}

.page-faq .faq-accordion-list{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.page-faq .faq-accordion-item{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  transition:border-color .35s var(--ease), box-shadow .35s var(--ease);
}
.page-faq .faq-accordion-item:hover{
  border-color:rgba(255,122,0,0.45);
  box-shadow:var(--faq-card-shadow);
}
.page-faq .faq-accordion-trigger{
  width:100%;
  display:flex;
  align-items:center;
  gap:.85rem;
  padding:1.15rem 1.25rem;
  background:none;
  border:0;
  text-align:left;
  font-family:var(--font-body);
  font-size:1rem;
  font-weight:600;
  line-height:1.5;
  color:var(--text);
  cursor:pointer;
}
.page-faq .faq-q-mark{
  flex:0 0 2.25rem;
  height:2.25rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--orange-soft);
  color:var(--orange);
  font-family:var(--font-data);
  font-size:.85rem;
  font-weight:700;
}
.page-faq .faq-q-text{
  flex:1 1 auto;
}
.page-faq .faq-q-arrow{
  flex:0 0 auto;
  width:1.5rem;
  height:1.5rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--loft);
  color:var(--muted);
  transition:background .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);
}
.page-faq .faq-q-arrow svg{
  display:block;
  transition:transform .3s var(--ease);
}
.page-faq .faq-accordion-trigger:hover .faq-q-arrow{
  background:var(--orange-soft);
  color:var(--orange);
}
.page-faq .faq-accordion-item:has(.faq-accordion-panel:not([hidden])) .faq-q-arrow svg{
  transform:rotate(180deg);
}
.page-faq .faq-accordion-item:has(.faq-accordion-panel:not([hidden])) .faq-q-arrow{
  background:var(--orange-soft);
  color:var(--orange);
}
.page-faq .faq-a-content{
  padding:0 1.5rem 1.5rem calc(1.25rem + 2.25rem + .85rem);
  color:var(--muted);
  font-size:.96rem;
  line-height:1.8;
}
.page-faq .faq-a-content p + p{
  margin-top:.65rem;
}
.page-faq .faq-a-content ul{
  margin:.45rem 0 .6rem;
  padding-left:1.1rem;
}
.page-faq .faq-a-content li{
  margin-bottom:.3rem;
}
.page-faq .faq-a-content a{
  color:var(--orange);
  text-decoration:none;
  font-weight:600;
  transition:text-decoration .2s var(--ease);
}
.page-faq .faq-a-content a:hover{
  text-decoration:underline;
}

.page-faq .faq-block--navy .faq-accordion-item{
  background:rgba(255,255,255,0.07);
  border-color:rgba(255,255,255,0.14);
}
.page-faq .faq-block--navy .faq-accordion-item:hover{
  background:rgba(255,255,255,0.12);
  border-color:rgba(255,122,0,0.55);
  box-shadow:0 16px 40px rgba(0,0,0,0.22);
}
.page-faq .faq-block--navy .faq-accordion-trigger{
  color:var(--white);
}
.page-faq .faq-block--navy .faq-q-mark{
  background:rgba(255,122,0,0.25);
  color:var(--orange);
}
.page-faq .faq-block--navy .faq-q-arrow{
  background:rgba(255,255,255,0.14);
  color:var(--white);
}
.page-faq .faq-block--navy .faq-a-content{
  color:rgba(255,255,255,0.80);
}
.page-faq .faq-block--navy .faq-accordion-item:has(.faq-accordion-panel:not([hidden])) .faq-q-arrow{
  background:var(--orange);
  color:var(--navy-deep);
}

.page-faq .faq-contact-block{
  background:var(--orange-soft);
  border-top:1px solid rgba(255,122,0,0.18);
}
.page-faq .faq-contact-card{
  background:var(--white);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--faq-card-shadow);
  display:flex;
  flex-direction:column;
}
.page-faq .faq-contact-info{
  flex:1.1 1 0;
  padding:2.5rem 2rem;
  background:radial-gradient(circle at 90% 10%, rgba(255,122,0,0.18), transparent 55%), var(--navy);
  color:var(--white);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}
.page-faq .faq-contact-info .faq-block-step{
  background:var(--orange);
  color:var(--navy-deep);
  margin-bottom:1rem;
}
.page-faq .faq-contact-info h2{
  color:var(--white);
  margin:0 0 .5rem;
}
.page-faq .faq-contact-lead{
  color:rgba(255,255,255,0.78);
  font-size:.98rem;
  line-height:1.7;
  margin:0 0 1.4rem;
}
.page-faq .faq-contact-info .btn--primary{
  background:var(--orange);
  color:#fff;
  border-radius:var(--radius-pill);
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.page-faq .faq-contact-info .btn--primary:hover{
  background:var(--orange-hover);
  transform:translateY(-2px);
}
.page-faq .faq-contact-methods{
  flex:0.9 1 0;
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
  padding:2rem;
  align-content:center;
}
.page-faq .faq-method-label{
  display:block;
  font-family:var(--font-data);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.35rem;
}
.page-faq .faq-method-value{
  color:var(--text);
  font-weight:600;
  line-height:1.5;
}
.page-faq .faq-method-value--email{
  word-break:break-all;
}
.page-faq .faq-contact-note{
  margin:1.4rem 0 0;
  text-align:center;
  font-size:.9rem;
  color:var(--navy);
  font-weight:600;
}

@media (min-width: 560px){
  .page-faq .faq-contact-methods{
    grid-template-columns:1fr 1fr;
  }
}

@media (min-width: 768px){
  .page-faq .faq-hero{
    padding:3.5rem 0 4rem;
  }
  .page-faq .faq-cat-strip-inner{
    grid-template-columns:repeat(5, minmax(0,1fr));
    gap:1rem;
  }
  .page-faq .faq-block{
    padding:4.5rem 0;
  }
  .page-faq .faq-block-grid--narrow{
    max-width:52rem;
  }
}

@media (min-width: 992px){
  .page-faq .faq-hero-inner{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:3.5rem;
    align-items:center;
  }
  .page-faq .faq-breadcrumb{
    grid-column:1 / -1;
  }
  .page-faq .faq-block-grid{
    grid-template-columns:1.15fr 0.85fr;
    align-items:start;
  }
  .page-faq .faq-block-grid--flip .faq-block-aside{
    order:-1;
  }
  .page-faq .faq-block-grid--narrow{
    grid-template-columns:1fr;
    max-width:52rem;
  }
  .page-faq .faq-contact-card{
    flex-direction:row;
    align-items:stretch;
  }
}
