.cotfaq-engine {
  --cotfaq-red: #b52a2e;
  --cotfaq-red-dark: #861c20;
  --cotfaq-ink: #202020;
  --cotfaq-copy: #595552;
  --cotfaq-muted: #7c7773;
  --cotfaq-line: #ddd9d5;
  --cotfaq-soft: #f6f4f1;
  --cotfaq-white: #fff;
  --cotfaq-radius-sm: 10px;
  --cotfaq-radius: 16px;
  --cotfaq-radius-lg: 24px;
  --cotfaq-shadow-sm: 0 5px 16px rgba(39, 34, 31, .06);
  --cotfaq-shadow: 0 14px 38px rgba(39, 34, 31, .09);
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  color: var(--cotfaq-ink);
  background: var(--cotfaq-white);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.65;
}

.cotfaq-engine *,
.cotfaq-engine *::before,
.cotfaq-engine *::after { box-sizing: border-box; }
.cotfaq-engine [hidden] { display: none !important; }
.cotfaq-engine h2,
.cotfaq-engine p { margin-top: 0; }
.cotfaq-engine h2 { margin-bottom: 0; color: var(--cotfaq-ink) !important; font-family: inherit !important; font-size: clamp(27px, 3vw, 39px) !important; font-weight: 700 !important; letter-spacing: -.035em !important; line-height: 1.12 !important; }

.cotfaq-search-panel {
  padding: 68px clamp(24px, 7vw, 88px);
  border: 0;
  border-radius: var(--cotfaq-radius-lg);
  background: var(--cotfaq-soft);
  box-shadow: var(--cotfaq-shadow-sm);
  text-align: center;
}
.cotfaq-search-heading { max-width: 680px; margin: 0 auto; }
.cotfaq-search-heading > p { margin: 13px auto 0; color: var(--cotfaq-copy); font-size: 16px; }
.cotfaq-search-wrap { max-width: 760px; margin: 27px auto 0; }
.cotfaq-search-field { display: grid; grid-template-columns: minmax(0, 1fr) 34px 46px; gap: 7px; align-items: center; min-height: 64px; padding: 7px 8px 7px 19px; border: 1px solid #d0cbc6; border-radius: 15px; color: #6f6965; background: var(--cotfaq-white); box-shadow: var(--cotfaq-shadow); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.cotfaq-search-field:focus-within { border-color: var(--cotfaq-red); box-shadow: 0 0 0 3px rgba(181, 42, 46, .12); }
.cotfaq-search-field input { width: 100%; min-width: 0; height: 58px; margin: 0 !important; padding: 0 !important; border: 0 !important; outline: 0 !important; color: var(--cotfaq-ink) !important; background: transparent !important; box-shadow: none !important; font-family: inherit !important; font-size: 16px !important; font-weight: 500 !important; }
.cotfaq-search-field input::placeholder { color: #928c87; opacity: 1; }
.cotfaq-search-field input::-webkit-search-cancel-button { display: none; -webkit-appearance: none; }
.cotfaq-engine .cotfaq-search-field button { display: grid !important; width: auto !important; margin: 0 !important; padding: 0 !important; place-items: center; border: 0 !important; font-size: 0 !important; line-height: 1 !important; cursor: pointer; box-shadow: none !important; transition: color .16s ease, background .16s ease, transform .16s ease; }
.cotfaq-engine .cotfaq-search-clear { width: 32px !important; min-width: 32px !important; height: 32px !important; min-height: 32px !important; border-radius: 50% !important; color: #69635f !important; background: transparent !important; }
.cotfaq-engine .cotfaq-search-clear:hover,
.cotfaq-engine .cotfaq-search-clear:focus { color: var(--cotfaq-red) !important; background: #f7e9e9 !important; }
.cotfaq-engine .cotfaq-search-submit { width: 46px !important; min-width: 46px !important; height: 46px !important; min-height: 46px !important; border-radius: 12px !important; color: var(--cotfaq-white) !important; background: var(--cotfaq-red) !important; }
.cotfaq-engine .cotfaq-search-submit:hover,
.cotfaq-engine .cotfaq-search-submit:focus { color: var(--cotfaq-white) !important; background: var(--cotfaq-red-dark) !important; transform: translateY(-1px); }
.cotfaq-search-field button svg { width: 19px; height: 19px; }
.cotfaq-engine .cotfaq-toolbar button { display: grid !important; width: 30px !important; min-width: 30px !important; height: 30px !important; min-height: 30px !important; margin: 0 !important; padding: 0 !important; place-items: center; border: 1px solid #ddd7d2 !important; border-radius: 8px !important; color: #5a5551 !important; background: var(--cotfaq-white) !important; box-shadow: none !important; cursor: pointer; transition: color .16s ease, border-color .16s ease, background .16s ease; }
.cotfaq-toolbar button svg { width: 18px; height: 18px; }
.cotfaq-search-help { margin: 10px 0 0; color: var(--cotfaq-muted); font-size: 11px; }
.cotfaq-search-help span { color: var(--cotfaq-ink); font-weight: 700; }

.cotfaq-resource { padding: 66px clamp(22px, 6vw, 74px) 72px; }
.cotfaq-section-heading { margin-bottom: 25px; text-align: center; }
.cotfaq-section-heading > p { margin-bottom: 7px; color: var(--cotfaq-red); font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.cotfaq-section-heading h2 { font-size: clamp(25px, 2.8vw, 35px) !important; }

.cotfaq-popular-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; align-items: start; }
.cotfaq-featured-question { align-self: start; overflow: hidden; border: 1px solid #e1dcd7; border-radius: var(--cotfaq-radius); background: var(--cotfaq-white); box-shadow: var(--cotfaq-shadow-sm); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.cotfaq-featured-question:hover { border-color: #d5ceca; box-shadow: var(--cotfaq-shadow); transform: translateY(-2px); }
.cotfaq-featured-question[open] { border-color: rgba(181, 42, 46, .42); box-shadow: 0 12px 30px rgba(94, 35, 37, .09); }

.cotfaq-question summary { display: grid; grid-template-columns: minmax(0, 1fr) 28px; gap: 17px; align-items: center; min-height: 72px; padding: 18px 20px; color: var(--cotfaq-ink) !important; font-size: 15px !important; font-weight: 650 !important; line-height: 1.42 !important; cursor: pointer; list-style: none; }
.cotfaq-question summary::-webkit-details-marker { display: none; }
.cotfaq-question summary:hover { color: var(--cotfaq-red) !important; }
.cotfaq-question summary i { position: relative; display: block; width: 27px; height: 27px; border: 1px solid #d4ceca; border-radius: 50%; background: #faf8f6; transition: border-color .16s ease, background .16s ease; }
.cotfaq-question summary i::before,
.cotfaq-question summary i::after { position: absolute; top: 10px; left: 6px; width: 9px; height: 1px; content: ""; background: var(--cotfaq-red); transition: transform .16s ease; }
.cotfaq-question summary i::before,
.cotfaq-question summary i::after { top: 12px; left: 8px; width: 9px; }
.cotfaq-question summary i::after { transform: rotate(90deg); }
.cotfaq-question[open] summary { color: var(--cotfaq-red) !important; }
.cotfaq-question[open] summary i { border-color: var(--cotfaq-red); background: #f9eded; }
.cotfaq-question[open] summary i::after { transform: rotate(0); }
.cotfaq-answer { padding: 0 58px 24px 20px; }
.cotfaq-answer p { margin-bottom: 12px; color: var(--cotfaq-copy); font-size: 13px; line-height: 1.72; }
.cotfaq-share { display: flex; flex-wrap: wrap; gap: 10px 13px; align-items: center; margin-top: 18px; padding-top: 14px; border-top: 1px solid #ebe7e3; }
.cotfaq-share-label { color: var(--cotfaq-muted); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.cotfaq-share-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cotfaq-engine .cotfaq-share-actions a,
.cotfaq-engine .cotfaq-share-actions button { display: grid !important; width: 31px !important; min-width: 31px !important; height: 31px !important; min-height: 31px !important; margin: 0 !important; padding: 0 !important; place-items: center; border: 1px solid #ddd7d2 !important; border-radius: 9px !important; color: #68615d !important; background: var(--cotfaq-white) !important; box-shadow: none !important; font-size: 0 !important; line-height: 1 !important; text-decoration: none !important; cursor: pointer; transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease; }
.cotfaq-engine .cotfaq-share-actions a:hover,
.cotfaq-engine .cotfaq-share-actions a:focus,
.cotfaq-engine .cotfaq-share-actions button:hover,
.cotfaq-engine .cotfaq-share-actions button:focus,
.cotfaq-engine .cotfaq-share-actions button.is-copied { border-color: var(--cotfaq-red) !important; color: var(--cotfaq-white) !important; background: var(--cotfaq-red) !important; transform: translateY(-1px); }
.cotfaq-share-actions svg { width: 15px; height: 15px; }
.cotfaq-share-status { min-width: 58px; color: var(--cotfaq-red); font-size: 10px; font-weight: 700; }

.cotfaq-browse { margin-top: 70px; padding-top: 61px; border-top: 1px solid var(--cotfaq-line); }
.cotfaq-topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.cotfaq-engine .cotfaq-topic-grid button { position: relative; display: grid !important; grid-template-columns: minmax(0, 1fr) 34px; grid-template-rows: auto auto; gap: 3px 13px; align-items: center; width: 100% !important; min-height: 92px !important; margin: 0 !important; padding: 20px !important; border: 1px solid #e0dbd6 !important; border-radius: var(--cotfaq-radius) !important; color: var(--cotfaq-ink) !important; background: var(--cotfaq-white) !important; box-shadow: var(--cotfaq-shadow-sm) !important; font-family: inherit !important; text-align: left !important; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease; }
.cotfaq-engine .cotfaq-topic-grid button:hover,
.cotfaq-engine .cotfaq-topic-grid button:focus,
.cotfaq-engine .cotfaq-topic-grid button.is-active { border-color: var(--cotfaq-red) !important; color: var(--cotfaq-red) !important; background: #fff7f7 !important; box-shadow: var(--cotfaq-shadow) !important; transform: translateY(-2px); }
.cotfaq-engine .cotfaq-topic-grid button span { align-self: end; color: inherit !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1.3 !important; }
.cotfaq-engine .cotfaq-topic-grid button small { align-self: start; color: var(--cotfaq-muted) !important; font-size: 10px !important; }
.cotfaq-topic-grid button i { display: grid; grid-column: 2; grid-row: 1 / span 2; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: var(--cotfaq-red); background: #f9ecec; font-size: 17px; font-style: normal; transition: color .16s ease, background .16s ease, transform .16s ease; }
.cotfaq-engine .cotfaq-topic-grid button:hover i,
.cotfaq-engine .cotfaq-topic-grid button:focus i,
.cotfaq-engine .cotfaq-topic-grid button.is-active i { color: var(--cotfaq-white) !important; background: var(--cotfaq-red) !important; transform: translateX(2px); }

.cotfaq-results { margin: 0 0 68px; padding-top: 3px; scroll-margin-top: 25px; }
.cotfaq-toolbar { display: flex; gap: 20px; align-items: center; justify-content: space-between; margin-bottom: 40px; padding-bottom: 13px; border-bottom: 1px solid var(--cotfaq-line); }
.cotfaq-toolbar p { margin: 0; color: var(--cotfaq-muted); font-size: 12px; }
.cotfaq-toolbar div { display: flex; gap: 8px; align-items: center; color: #aaa39e; }
.cotfaq-engine .cotfaq-toolbar button:hover,
.cotfaq-engine .cotfaq-toolbar button:focus { border-color: var(--cotfaq-red) !important; color: var(--cotfaq-red) !important; background: #fffafa !important; }
.cotfaq-topics { display: grid; gap: 59px; }
.cotfaq-topic[hidden],
.cotfaq-question[hidden] { display: none !important; }
.cotfaq-topic-header { max-width: 760px; margin: 0 auto 22px; text-align: center; }
.cotfaq-topic-number { margin-bottom: 5px; color: var(--cotfaq-red) !important; font-size: 10px !important; font-weight: 800; letter-spacing: .14em; }
.cotfaq-topic-header h2 { font-size: clamp(24px, 2.7vw, 33px) !important; }
.cotfaq-topic-header > p:last-child { max-width: 650px; margin: 10px auto 0; color: var(--cotfaq-copy); font-size: 13px; }
.cotfaq-question-list { max-width: 850px; margin: 0 auto; overflow: hidden; border: 1px solid var(--cotfaq-line); border-radius: var(--cotfaq-radius); background: var(--cotfaq-white); box-shadow: var(--cotfaq-shadow-sm); }
.cotfaq-question-list .cotfaq-question { border-bottom: 1px solid var(--cotfaq-line); scroll-margin-top: 22px; }
.cotfaq-question-list .cotfaq-question:last-child { border-bottom: 0; }
.cotfaq-question-list .cotfaq-question[open] { background: #fffcfb; }

.cotfaq-no-results { padding: 50px 28px; border-radius: var(--cotfaq-radius); color: var(--cotfaq-white); background: var(--cotfaq-ink); box-shadow: var(--cotfaq-shadow); text-align: center; }
.cotfaq-no-results h2 { color: var(--cotfaq-white) !important; }
.cotfaq-no-results p { max-width: 570px; margin: 13px auto 22px; color: #d6d2cf; font-size: 14px; }
.cotfaq-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 14px 25px; border: 0; border-radius: 12px; color: var(--cotfaq-white) !important; background: var(--cotfaq-red); box-shadow: 0 8px 20px rgba(181, 42, 46, .22); font-family: inherit; font-size: 13px; font-weight: 750; text-decoration: none !important; cursor: pointer; transition: background .16s ease, box-shadow .16s ease, transform .16s ease; }
.cotfaq-button:hover,
.cotfaq-button:focus { color: var(--cotfaq-white) !important; background: var(--cotfaq-red-dark); box-shadow: 0 11px 26px rgba(134, 28, 32, .28); transform: translateY(-2px); }
.cotfaq-button-dark { background: #080808; }

.cotfaq-disclaimer { display: grid; grid-template-columns: auto 1fr; gap: 12px; max-width: 850px; margin: 54px auto 0; padding: 19px 21px; border: 1px solid #e4dfda; border-left: 4px solid var(--cotfaq-red); border-radius: var(--cotfaq-radius-sm); background: var(--cotfaq-soft); }
.cotfaq-disclaimer strong { color: var(--cotfaq-ink); font-size: 11px; }
.cotfaq-disclaimer p { margin: 0; color: #6b6662; font-size: 10px; line-height: 1.6; }

.cotfaq-contact { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: center; margin-top: 12px; padding: 46px clamp(26px, 6vw, 72px); border-radius: var(--cotfaq-radius-lg); color: var(--cotfaq-white); background: var(--cotfaq-ink); box-shadow: var(--cotfaq-shadow); }
.cotfaq-contact-mark { display: none; }
.cotfaq-contact h2 { color: var(--cotfaq-white) !important; font-size: clamp(25px, 2.8vw, 35px) !important; }
.cotfaq-contact-copy > p { max-width: 680px; margin: 11px 0 15px; color: #d1cecb; font-size: 13px; }
.cotfaq-contact-links { display: flex; flex-wrap: wrap; gap: 7px 22px; }
.cotfaq-contact-links a { color: var(--cotfaq-white) !important; font-size: 12px; font-weight: 650; text-decoration-color: var(--cotfaq-red); text-underline-offset: 4px; }
.cotfaq-contact-action .cotfaq-button { min-width: 180px; }
.cotfaq-search-field button:focus-visible,
.cotfaq-toolbar button:focus-visible,
.cotfaq-topic-grid button:focus-visible,
.cotfaq-share-actions a:focus-visible,
.cotfaq-share-actions button:focus-visible,
.cotfaq-button:focus-visible,
.cotfaq-question summary:focus-visible { outline: 3px solid rgba(181, 42, 46, .28); outline-offset: 3px; }
.cotfaq-engine-message { padding: 18px; border-left: 4px solid var(--cotfaq-red); background: #f8eeee; }

@media (max-width: 820px) {
  .cotfaq-popular-grid { grid-template-columns: 1fr; column-gap: 0; }
  .cotfaq-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cotfaq-contact { grid-template-columns: 1fr; gap: 25px; }
}

@media (max-width: 540px) {
  .cotfaq-search-panel { padding: 46px 18px; border-radius: var(--cotfaq-radius); }
  .cotfaq-search-field { grid-template-columns: minmax(0, 1fr) 32px 42px; min-height: 57px; padding: 6px 7px 6px 13px; }
  .cotfaq-search-field input { height: 53px; font-size: 14px !important; }
  .cotfaq-engine .cotfaq-search-submit { width: 42px !important; min-width: 42px !important; height: 42px !important; min-height: 42px !important; }
  .cotfaq-resource { padding: 48px 17px 53px; }
  .cotfaq-browse { margin-top: 54px; padding-top: 48px; }
  .cotfaq-topic-grid { grid-template-columns: 1fr; }
  .cotfaq-engine .cotfaq-topic-grid button { min-height: 72px !important; }
  .cotfaq-toolbar { align-items: flex-start; flex-direction: column; gap: 7px; }
  .cotfaq-question summary { min-height: 66px; gap: 12px; padding: 16px 15px; font-size: 14px !important; }
  .cotfaq-answer { padding: 0 43px 22px 15px; }
  .cotfaq-disclaimer { grid-template-columns: 1fr; }
  .cotfaq-contact { padding: 38px 20px; border-radius: var(--cotfaq-radius); }
  .cotfaq-contact-action .cotfaq-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .cotfaq-engine *,
  .cotfaq-engine *::before,
  .cotfaq-engine *::after { scroll-behavior: auto !important; transition: none !important; }
}
