/* Light information pages (Contact, About, Affiliates, FAQ): companions to services-v3.css.
   Same tokens, same type scale; this file only adds the components those pages need. */
.info-icon { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; }
.info-icon--sm { width:18px; height:18px; }
.svc-page .info-badge { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; background:#f3efe3; color:var(--svc-gold); margin-bottom:18px; }
.svc-page .info-card { display:flex; flex-direction:column; padding:28px; border:1px solid var(--svc-line); border-radius:5px; background:#fff; color:var(--svc-ink); transition:border-color .18s ease,background-color .18s ease; }
.svc-page a.info-card:hover,.svc-page a.info-card:focus-visible { background:#f9f8f4; border-color:#b7a47b; }
.svc-page .info-card h3 { font-size:1.25rem; margin-bottom:10px; }
.svc-page .info-card p { font-size:.86rem; margin-bottom:0; }
.svc-page .info-card .info-value { display:block; font-family:'Playfair Display',Georgia,serif; font-size:1.35rem; line-height:1.3; color:var(--svc-ink); margin:0 0 8px; letter-spacing:-.02em; word-break:break-word; }
.svc-page .info-card .info-hint { font-size:.78rem; color:#6c6960; margin-top:auto; padding-top:14px; }
.info-grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.info-grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.info-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.svc-page .info-list { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.svc-page .info-list li { display:flex; gap:12px; align-items:flex-start; color:var(--svc-text); font-size:.92rem; line-height:1.7; }
.svc-page .info-list .info-icon { color:var(--svc-gold); margin-top:4px; }
.svc-page .info-list strong { color:var(--svc-ink); font-weight:600; }
.svc-page .info-areas { display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.svc-page .info-areas li a,.svc-page .info-areas li span { display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border:1px solid var(--svc-line); border-radius:999px; background:#fff; color:var(--svc-ink); font-size:.82rem; }
.svc-page .info-areas li a:hover { border-color:#b7a47b; color:var(--svc-gold); }
.info-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--svc-line); border-radius:5px; background:#fff; }
.svc-page .info-table { width:100%; border-collapse:collapse; font-size:.88rem; min-width:560px; }
.svc-page .info-table caption { text-align:left; padding:18px 20px 6px; color:#6c6960; font-size:.78rem; }
.svc-page .info-table th,.svc-page .info-table td { padding:16px 20px; text-align:left; border-top:1px solid var(--svc-line); vertical-align:top; color:var(--svc-text); line-height:1.6; }
.svc-page .info-table thead th { border-top:0; font-size:.68rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#6c6960; }
.svc-page .info-table tbody th { color:var(--svc-ink); font-weight:600; }
.svc-page .info-table .info-rate { font-family:'Playfair Display',Georgia,serif; font-size:1.5rem; color:var(--svc-ink); letter-spacing:-.02em; }
.svc-page .info-note { color:#615e55; font-size:.78rem; line-height:1.7; margin:16px 0 0; }
.svc-page .info-press { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.svc-page .info-press a { display:flex; flex-direction:column; gap:10px; padding:24px 26px; border:1px solid var(--svc-line); border-radius:5px; background:#fff; color:var(--svc-ink); transition:border-color .18s ease,background-color .18s ease; }
.svc-page .info-press a:hover { background:#f9f8f4; border-color:#b7a47b; }
.svc-page .info-press .svc-eyebrow { margin-bottom:0; }
.svc-page .info-press strong { font-family:'Playfair Display',Georgia,serif; font-weight:500; font-size:1.1rem; line-height:1.4; letter-spacing:-.02em; }
.svc-page .info-press span.info-read { color:var(--svc-gold); font-size:.78rem; font-weight:600; display:inline-flex; align-items:center; gap:8px; margin-top:auto; }
.svc-page .info-social { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.svc-page .info-social a { display:inline-flex; align-items:center; gap:10px; min-height:46px; padding:0 18px; border:1px solid var(--svc-line); border-radius:4px; color:var(--svc-ink); font-size:.82rem; font-weight:600; transition:border-color .18s ease,color .18s ease; }
.svc-page .info-social a:hover { border-color:#b7a47b; color:var(--svc-gold); }
.svc-page .info-quote { border-left:3px solid #c9a44a; padding:4px 0 4px 24px; margin:0; }
.svc-page .info-quote p { font-family:'Playfair Display',Georgia,serif; font-size:1.25rem; line-height:1.55; color:var(--svc-ink); }
.svc-page .info-quote cite { font-style:normal; font-size:.8rem; color:#6c6960; }
.svc-page .svc-faq-list a { color:var(--svc-gold); text-decoration:underline; text-underline-offset:3px; }
.svc-page .svc-faq-list details[hidden] { display:none; }
.svc-page .svc-faq-list .faq-answer { padding-bottom:4px; }
/* FAQ hub tools */
.svc-page .faq-tools { padding:40px 0 8px; }
.svc-page .faq-search-label { display:block; font-size:.7rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--svc-gold); margin-bottom:12px; }
.svc-page .faq-search-wrap { position:relative; max-width:640px; }
.svc-page .faq-search-wrap .info-icon { position:absolute; left:18px; top:50%; transform:translateY(-50%); color:#6c6960; pointer-events:none; }
.svc-page #faq-search { width:100%; min-height:56px; padding:0 112px 0 54px; border:1px solid var(--svc-line); border-radius:4px; background:#fff; color:var(--svc-ink); font:500 16px/1.4 'Montserrat',Arial,sans-serif; appearance:none; }
.svc-page #faq-search:focus { outline:3px solid #85682b; outline-offset:2px; border-color:#b7a47b; }
.svc-page #faq-clear { position:absolute; right:8px; top:50%; transform:translateY(-50%); min-height:40px; padding:0 14px; border:0; border-radius:4px; background:#f3efe3; color:var(--svc-ink); font:600 .78rem/1 'Montserrat',Arial,sans-serif; cursor:pointer; }
.svc-page #faq-clear[hidden] { display:none; }
.svc-page .faq-filters { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.svc-page .faq-filters button { min-height:44px; padding:0 18px; border:1px solid var(--svc-line); border-radius:999px; background:#fff; color:var(--svc-ink); font:600 .78rem/1 'Montserrat',Arial,sans-serif; cursor:pointer; transition:background-color .18s ease,border-color .18s ease,color .18s ease; }
.svc-page .faq-filters button:hover { border-color:#b7a47b; }
.svc-page .faq-filters button.is-active { background:var(--svc-ink); border-color:var(--svc-ink); color:#fff; }
.svc-page .faq-filters button:focus-visible { outline:3px solid #85682b; outline-offset:3px; }
.svc-page .faq-result-count { margin:16px 0 0; font-size:.78rem; color:#6c6960; }
.svc-page .faq-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:64px; align-items:start; padding:40px 0 80px; }
.svc-page .faq-sidebar { position:sticky; top:96px; display:grid; gap:4px; }
.svc-page .faq-sidebar-label { font-size:.7rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--svc-gold); margin-bottom:10px; }
.svc-page .faq-sidebar a { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:44px; padding:8px 12px; border-radius:4px; color:var(--svc-text); font-size:.84rem; }
.svc-page .faq-sidebar a:hover { background:#f6f5f0; color:var(--svc-ink); }
.svc-page .faq-sidebar a span { font-size:.72rem; color:#6c6960; }
.svc-page .faq-category { padding:0 0 48px; }
.svc-page .faq-category[hidden] { display:none; }
.svc-page .faq-category-heading { display:flex; gap:20px; align-items:flex-start; margin-bottom:12px; }
.svc-page .faq-category-number { color:var(--svc-gold); font-size:.75rem; margin:6px 0 0; flex:0 0 auto; }
.svc-page .faq-category-heading h2 { font-size:clamp(1.5rem,2.4vw,2.1rem); margin-bottom:6px; }
.svc-page .faq-category-heading p { font-size:.88rem; margin-bottom:0; }
.svc-page .faq-no-results { padding:32px; border:1px solid var(--svc-line); border-radius:5px; background:#f9f8f4; }
.svc-page .faq-no-results[hidden] { display:none; }
.svc-page .faq-no-results h2 { font-size:1.5rem; }
.svc-page .faq-reviewed { font-size:.75rem; color:#6c6960; margin:0 0 56px; }
@media(max-width:1023px) {
  .info-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .info-grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .svc-page .faq-layout { grid-template-columns:1fr; gap:32px; }
  .svc-page .faq-sidebar { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .svc-page .faq-sidebar-label { grid-column:1 / -1; }
}
@media(max-width:767px) {
  .info-grid-4,.info-grid-3,.info-grid-2,.svc-page .info-press { grid-template-columns:1fr; gap:14px; }
  .svc-page .info-card { padding:22px; }
  .svc-page .info-card .info-value { font-size:1.25rem; }
  /* Phones: each tier becomes a stacked card instead of a sideways-scrolling table */
  .svc-page .info-table { min-width:0; }
  .svc-page .info-table caption { padding:16px 18px 4px; }
  .svc-page .info-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .svc-page .info-table tr { display:block; border-top:1px solid var(--svc-line); padding:14px 18px 16px; }
  .svc-page .info-table th,.svc-page .info-table td { display:block; border:0; padding:4px 0; }
  .svc-page .info-table tbody th { font-family:'Playfair Display',Georgia,serif; font-weight:500; font-size:1.3rem; letter-spacing:-.02em; padding-bottom:6px; }
  .svc-page .info-table td[data-label]::before { content:attr(data-label); display:block; font-size:.66rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#6c6960; margin-bottom:2px; }
  .svc-page .info-table .info-rate { font-size:1.35rem; }
  .svc-page .faq-tools { padding:24px 0 0; }
  .svc-page .faq-layout { padding:24px 0 40px; }
  .svc-page .faq-sidebar { grid-template-columns:1fr; }
  .svc-page .faq-category { padding-bottom:32px; }
  .svc-page #faq-search { padding-right:96px; }
}
@media(prefers-reduced-motion:reduce) { .svc-page .info-card,.svc-page .info-press a,.svc-page .info-social a,.svc-page .faq-filters button { transition:none; } }
