/* ================================
   THE A-TEAM / RAINE & HORNE FONTS
   ================================ */

@font-face{
  font-family:"RaineHorne";
  src:url("/fonts/raine-horne-regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"RaineHorne";
  src:url("/fonts/raine-horne-light.ttf") format("truetype");
  font-weight:300;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"InterCustom";
  src:url("/fonts/inter-regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"InterCustom";
  src:url("/fonts/inter-light.ttf") format("truetype");
  font-weight:300;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"InterCustom";
  src:url("/fonts/inter-bold.ttf") format("truetype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}


/* ================================
   MAIN WEBSITE FONT
   ================================ */

body,
p,
li,
a,
span,
div,
input,
textarea,
select,
button,
label,
summary,
details{
  font-family:"InterCustom", Arial, Helvetica, sans-serif !important;
}

body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}


/* ================================
   HEADINGS / BRAND STYLE
   ================================ */

h1,
h2,
h3,
h4,
h5,
h6,
.eyebrow,
.kicker,
.btn,
button,
.form-button{
  font-family:"RaineHorne", Arial, Helvetica, sans-serif !important;
  font-weight:700 !important;
}


/* ================================
   HEADER BRAND TEXT
   ================================ */

.nav a.brand,
.nav a.brand:visited,
.nav a.brand:hover,
.nav a.brand:active,
.nav a.brand *,
.brand-name,
.brand-team,
.brand-rh,
.brand-divider,
.brand-amp{
  font-family:"RaineHorne", Arial, Helvetica, sans-serif !important;
  font-weight:700 !important;
  text-decoration:none !important;
}

/* Brand layout */
.brand-name{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  line-height:1.1 !important;
}

/* Team Peter + Edita black */
.nav a.brand .brand-team,
.nav a.brand .brand-team span:not(.brand-amp){
  color:#111111 !important;
}

/* Raine and Horne black */
.nav a.brand .brand-rh,
.nav a.brand .brand-rh span:not(.brand-amp){
  color:#111111 !important;
}

/* Divider gold */
.nav a.brand .brand-divider{
  color:#ffb200 !important;
  margin:0 2px !important;
}

/* Only & symbols gold */
.nav a.brand .brand-amp{
  color:#ffb200 !important;
}

/* Force any other brand span to black unless it is divider or ampersand */
.nav a.brand span:not(.brand-amp):not(.brand-divider){
  color:#111111 !important;
}


/* ================================
   NAVIGATION MENU
   ================================ */

.nav-links a{
  font-family:"RaineHorne", Arial, Helvetica, sans-serif !important;
  font-weight:700 !important;
  color:#111111 !important;
  letter-spacing:.3px !important;
}

.nav-links a:hover{
  color:#ffb200 !important;
}


/* ================================
   BOLD TEXT
   ================================ */

strong,
b{
  font-family:"InterCustom", Arial, Helvetica, sans-serif !important;
  font-weight:700 !important;
}


/* ================================
   MOBILE BRAND FIX
   ================================ */

@media(max-width:560px){
  .brand-name{
    flex-wrap:wrap !important;
    gap:4px 7px !important;
    font-size:16px !important;
  }

  .nav a.brand img{
    width:42px !important;
    height:42px !important;
  }
}
/* ================================
   PREMIUM TWO-BLOCK SEO FOOTER
   ================================ */

.seo-footer{
  background:#202020 !important;
  color:#ffffff !important;
  padding:54px 20px !important;
}

.seo-footer-inner{
  max-width:1220px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:stretch;
}

.seo-footer-card{
  background:#292929;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:24px;
  padding:32px;
  box-shadow:0 18px 45px rgba(0,0,0,0.18);
}

.seo-footer h2{
  color:#ffffff !important;
  font-size:clamp(28px,3vw,42px);
  line-height:1.1;
  margin:0 0 16px;
  letter-spacing:-0.8px;
}

.seo-footer h3{
  color:#ffffff !important;
  font-size:20px;
  margin:0 0 14px;
}

.seo-footer p{
  color:#eeeeee !important;
  line-height:1.65;
  margin:0 0 14px;
}

.seo-footer .small{
  font-size:13px;
  color:#cccccc !important;
}

.seo-footer-gold{
  color:#ffb200 !important;
}

.seo-footer-contact{
  margin-top:22px;
  display:grid;
  gap:10px;
}

.seo-footer-contact a{
  color:#ffb200 !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

.seo-footer-contact a:hover{
  color:#ffffff !important;
}

.seo-footer-link-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}

.seo-footer-links a{
  display:block;
  color:#ffb200 !important;
  font-weight:800 !important;
  text-decoration:none !important;
  margin-bottom:10px;
  line-height:1.35;
}

.seo-footer-links a:hover{
  color:#ffffff !important;
}

.seo-footer-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  padding:13px 20px;
  border-radius:999px;
  background:#ffb200;
  color:#202020 !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

.seo-footer-cta:hover{
  background:#ffffff;
  color:#202020 !important;
}
/* FINAL FIX: make footer appraisal button text visible */
.seo-footer .seo-footer-contact a.seo-footer-cta,
.seo-footer .seo-footer-contact a.seo-footer-cta:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffb200 !important;
  color: #202020 !important;
  padding: 16px 28px !important;
  border-radius: 999px !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  text-align: center !important;
  min-height: 56px !important;
}

.seo-footer .seo-footer-contact a.seo-footer-cta:hover {
  background: #ffffff !important;
  color: #202020 !important;
}
@media(max-width:900px){
  .seo-footer-inner{
    grid-template-columns:1fr;
  }

  .seo-footer-link-grid{
    grid-template-columns:1fr;
  }

  .seo-footer-card{
    padding:26px;
  }
}
/* ================================
   FINAL DESKTOP FOOTER FIX
   ================================ */

.seo-footer .seo-footer-inner {
  max-width: 1220px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

.seo-footer .seo-footer-left,
.seo-footer .seo-footer-right {
  width: 100% !important;
}

.seo-footer .seo-footer-link-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 28px !important;
}

.seo-footer iframe {
  width: 100% !important;
  max-width: 100% !important;
}

/* Mobile will stack later, but desktop/laptop stays side by side */
@media (max-width: 900px) {
  .seo-footer .seo-footer-inner {
    grid-template-columns: 1fr !important;
  }
}
/* ================================
   MOBILE FOOTER CLEANUP
   ================================ */

@media (max-width: 900px) {
  .seo-footer {
    padding: 32px 14px !important;
  }

  .seo-footer .seo-footer-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .seo-footer .seo-footer-card {
    padding: 22px !important;
    border-radius: 20px !important;
  }

  .seo-footer h2 {
    font-size: 28px !important;
    line-height: 1.15 !important;
    margin-bottom: 14px !important;
  }

  .seo-footer h3 {
    font-size: 18px !important;
    margin-bottom: 10px !important;
  }

  .seo-footer p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .seo-footer-contact {
    gap: 10px !important;
  }

  .seo-footer .seo-footer-cta {
    width: 100% !important;
    min-height: 52px !important;
    font-size: 16px !important;
    padding: 14px 18px !important;
  }

  .seo-footer .seo-footer-link-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
    margin-top: 24px !important;
  }

  .seo-footer .seo-footer-links a {
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin-bottom: 9px !important;
  }

  .seo-footer iframe {
    height: 220px !important;
  }
}

@media (max-width: 480px) {
  .seo-footer .seo-footer-link-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .seo-footer h2 {
    font-size: 25px !important;
  }

  .seo-footer-card {
    padding: 20px !important;
  }

  .seo-footer iframe {
    height: 200px !important;
  }
}
/* ================================
   MOBILE HEADER / MENU CLEANUP
   ================================ */

@media (max-width: 768px) {

  /* Top black bar */
  .topbar {
    font-size: 15px !important;
    line-height: 1.45 !important;
    padding: 14px 18px !important;
  }

  .topbar a {
    display: inline !important;
    font-size: 17px !important;
    font-weight: 900 !important;
  }

  /* Header area */
  header {
    position: relative !important;
  }

  .nav {
    padding: 22px 18px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 20px !important;
  }

  /* Brand/logo row */
  .nav a.brand {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .nav a.brand img {
    width: 56px !important;
    height: 56px !important;
    flex: 0 0 56px !important;
  }

  .brand-name {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px 7px !important;
    font-size: 25px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.4px !important;
  }

  .brand-team,
  .brand-rh {
    display: inline !important;
  }

  /* Mobile menu as clean button grid */
  .nav-links {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-top: 2px !important;
  }

  .nav-links a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 999px !important;
    background: #f6f2e8 !important;
    border: 1px solid #e8e2d7 !important;
    color: #202020 !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    text-align: center !important;
    letter-spacing: 0.1px !important;
  }

  .nav-links a:hover,
  .nav-links a:focus {
    background: #ffb200 !important;
    color: #202020 !important;
  }
}

/* Extra-small phones */
@media (max-width: 390px) {
  .brand-name {
    font-size: 22px !important;
  }

  .nav a.brand img {
    width: 50px !important;
    height: 50px !important;
    flex-basis: 50px !important;
  }

  .nav-links {
    gap: 8px !important;
  }

  .nav-links a {
    font-size: 14px !important;
    min-height: 42px !important;
    padding: 9px 10px !important;
  }
}
