/* Scoped to the quotation/order-request page. */
.qo-hero { --qo-teal:var(--ht-color-primary); display:grid; grid-template-columns:minmax(0,1.22fr) minmax(0,1fr); grid-template-rows:min-content min-content 1fr; grid-template-areas:"copy form" "photo form" "benefits form"; gap:24px 32px; padding-top:24px; align-items:start; }
.qo-hero .qo-copy { grid-area:copy; min-width:0; }
.qo-hero .qo-eyebrow { font-size:var(--public-text-small); font-weight:700; color:var(--qo-teal); letter-spacing:.025em; margin-bottom:16px; }
.ht-public-shell .qo-hero h1 { font-size:var(--public-text-h1); line-height:1.25; text-wrap:initial; margin-bottom:12px; }
.qo-hero .qo-lead { color:var(--navy); font-size:var(--ht-text-lead); line-height:1.6; font-weight:600; margin-bottom:12px; }
.qo-hero .qo-description,.qo-hero .qo-audience { font-size:var(--public-text-body); line-height:1.6; }
.qo-hero .qo-audience { margin-top:14px; }
.qo-hero .qo-card { grid-area:form; min-width:0; background:var(--ht-color-bg); border:1px solid var(--ht-color-border); border-radius:var(--ht-radius-card); padding:24px; box-shadow:0 6px 28px #08284b0d; }
.qo-hero .qo-photo { grid-area:photo; min-width:0; container-type:inline-size; container-name:quote-products; }
.qo-hero .qo-product-figures { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.qo-hero .qo-product-figures figure { min-width:0; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--ht-radius-card); background:#fff; }
.qo-hero .qo-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; }
.qo-hero .qo-product-figures figcaption { padding:12px; color:var(--navy); font-size:var(--public-text-body); font-weight:600; text-align:center; }
@container quote-products (max-width:639px) { .qo-hero .qo-product-figures { grid-template-columns:minmax(0,1fr); } }
.qo-hero .qo-benefits { grid-area:benefits; list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.qo-hero .qo-benefits li { display:flex; align-items:flex-start; gap:10px; font-size:var(--public-text-body); line-height:1.6; }
.qo-hero .qo-benefits img { flex-shrink:0; }
.qo-hero .qo-tabs { display:flex; padding:3px; border-radius:var(--ht-radius-card); background:var(--ht-color-bg-subtle); margin-bottom:20px; }
.qo-hero .qo-tabs button { flex:1; min-width:0; min-height:3rem; padding:8px; border:1px solid transparent; background:transparent; border-radius:var(--ht-radius-control); font-size:var(--public-text-button); font-weight:600; line-height:1.4; color:var(--ht-color-text-muted); }
.qo-hero .qo-tabs [aria-selected=true] { color:var(--ht-color-primary-active); background:var(--ht-color-bg-selected); border-color:var(--ht-color-primary-active); }
.qo-hero .qo-form-title { font-size:var(--public-text-h2); line-height:var(--public-leading-heading); margin-bottom:8px; }
.qo-hero .qo-helper { font-size:var(--public-text-small); line-height:1.6; margin-bottom:16px; }
.qo-hero .qo-field { margin-bottom:14px; }
.qo-hero label { display:block; font-size:var(--public-text-body); font-weight:500; margin-bottom:5px; }
.qo-hero .qo-required { color:var(--ht-color-error); }
.qo-hero input:not([type=hidden]),.qo-hero textarea,.qo-hero select { display:block; width:100%; min-width:0; min-height:3rem; padding:10px 12px; border:1px solid var(--ht-color-control-border); border-radius:var(--ht-radius-control); background:var(--ht-color-bg); color:var(--navy); font:inherit; font-size:var(--public-text-body); }
.qo-hero textarea { min-height:94px; resize:vertical; }
.qo-hero input::placeholder,.qo-hero textarea::placeholder { color:var(--ht-color-text-muted); opacity:1; }
.qo-hero :is(input,textarea,select,summary):focus-visible { outline:3px solid var(--ht-color-primary); outline-offset:3px; }
.qo-hero .qo-small { font-size:var(--public-text-small); line-height:1.6; margin-top:6px; }
.qo-hero .qo-error { color:var(--ht-color-error); font-size:var(--public-text-body); margin-top:5px; overflow-wrap:anywhere; }
.qo-hero .qo-details { margin:18px 0; }
.qo-hero summary { cursor:pointer; display:flex; align-items:flex-start; gap:10px; font-size:var(--public-text-body); list-style:none; min-height:44px; }
.qo-hero summary::-webkit-details-marker { display:none; }
.qo-hero summary small,.qo-hero .qo-attachments small { display:block; color:var(--ht-color-text-muted); font-size:var(--public-text-small); font-weight:400; }
.qo-hero .qo-plus { flex-shrink:0; display:grid; place-items:center; width:22px; height:22px; border:1px solid var(--blue); border-radius:50%; color:var(--blue); line-height:1.6; }
.qo-hero details[open] .qo-plus { transform:rotate(45deg); }
.qo-hero .qo-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; margin-top:14px; }
.qo-hero .qo-attachments label { display:flex; align-items:center; gap:12px; padding:12px; background:var(--ht-color-bg); border:1px solid var(--ht-color-border); border-radius:var(--ht-radius-card); cursor:pointer; }
.qo-hero .qo-attachments label > span:first-child { font-size:var(--public-text-body); }
.qo-hero input[type=file] { position:absolute; width:1px; height:1px; min-height:0; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); border:0; }
.qo-hero .qo-attachments:has(input:focus-visible) label { outline:3px solid var(--ht-color-primary); outline-offset:3px; }
.qo-hero .qo-file-list { list-style:none; padding:0; margin:6px 0; }
.qo-hero .qo-file-list li { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:var(--public-text-body); overflow-wrap:anywhere; }
.qo-hero .qo-file-list button { flex-shrink:0; min-height:3rem; padding:4px 10px; border:0; background:transparent; color:var(--blue); }
.qo-hero .qo-submit { width:100%; min-height:50px; margin-top:16px; border:0; border-radius:var(--ht-radius-control); background:var(--ht-button-bg, var(--ht-color-primary)); color:var(--ht-color-bg); font-size:var(--public-text-button); font-weight:600; }
@media (hover:hover) and (pointer:fine) {
.qo-hero .qo-submit:hover { background:var(--ht-button-bg, var(--ht-color-primary)); } }
.qo-hero .qo-submit:disabled { cursor:wait; opacity:1; color:var(--ht-color-text-muted); background:var(--ht-color-bg-subtle); border:1px solid var(--ht-color-control-border); }
.qo-hero .qo-after { text-align:center; margin-top:10px; }
.qo-hero .qo-status:empty { display:none; }
.qo-hero .qo-status { font-size:var(--public-text-body); margin-top:14px; padding:12px; border-radius:var(--ht-radius-card); background:var(--ht-color-success-surface); color:var(--ht-color-success); }
.qo-hero .qo-status.is-error { background:var(--ht-color-error-surface); color:var(--ht-color-error); }
.qo-hero .qo-zalo { display:block; text-align:center; color:var(--blue); font-size:var(--public-text-body); margin-top:20px; }
.qo-hero [hidden] { display:none!important; }
@media(min-width:1024px) and (max-width:1200px) { .ht-public-shell .qo-hero h1 { font-size:var(--public-text-h1); } .qo-hero .qo-benefits { grid-template-columns:1fr; gap:12px; } }
@media(max-width:1023px) { .qo-hero { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; grid-template-areas:"copy" "form" "photo" "benefits"; gap:24px; padding-top:16px; } .ht-public-shell .qo-hero h1 { font-size:var(--public-text-h1); } }
@media(max-width:540px) { .ht-public-shell .qo-hero h1 { font-size:var(--public-text-h1); } .qo-hero .qo-card { padding:18px; } .qo-hero .qo-form-title { font-size:var(--public-text-h2); } .qo-hero .qo-benefits { grid-template-columns:1fr; } .qo-hero .qo-detail-grid { grid-template-columns:1fr; } }

/* Section 2 uses the Public shell's typography and colors. */
.qo-hero #quote-request-form { scroll-margin-top:120px; }
.qo-information { position:relative; isolation:isolate; margin-top:56px; padding-block:56px; }
.qo-information::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--pale); box-shadow:0 0 0 100vmax var(--pale); clip-path:inset(0 -100vmax); }
.ht-public-shell .qo-information h2 { max-width:900px; font-size:var(--public-text-h2); line-height:1.3; }
.qo-information .qo-information-intro { max-width:1080px; margin-top:16px; font-size:var(--public-text-body); line-height:1.6; }
.qo-information .qo-information-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:28px; }
.qo-information .qo-information-card { position:relative; display:flex; align-items:flex-start; gap:18px; min-width:0; padding:28px 24px; border:1px solid var(--line); border-radius:var(--ht-radius-card); background:var(--white); }
.qo-information .qo-information-icon { display:grid; place-items:center; flex:0 0 64px; width:64px; height:64px; border-radius:var(--ht-radius-card); color:var(--navy); background:var(--ht-color-bg-subtle); }
.qo-information .qo-information-icon svg { width:44px; height:44px; }
.qo-information .qo-information-copy { min-width:0; padding-top:8px; }
.ht-public-shell .qo-information h3 { padding-right:20px; font-size:var(--public-text-h3); line-height:1.3; }
.qo-information .qo-information-copy p { margin-top:12px; font-size:var(--public-text-body); line-height:1.6; }
.qo-information .qo-information-number { position:absolute; top:8px; right:18px; color:var(--muted); font-size:var(--public-text-small); line-height:1.4; }
.qo-information .qo-information-cta { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:24px; padding:28px; border-radius:var(--ht-radius-control); background:var(--ht-color-bg-subtle); }
.qo-information .qo-information-cta > div { max-width:720px; min-width:0; }
.qo-information .qo-information-question { margin-bottom:8px; color:var(--navy); font-size:var(--public-text-body); line-height:1.6; font-weight:700; }
.qo-information .qo-information-cta p:not(.qo-information-question) { font-size:var(--public-text-button); line-height:1.4; }
.ht-public-shell .qo-information .qo-information-button { display:flex; align-items:center; justify-content:center; flex:0 0 auto; gap:12px; max-width:100%; min-height:50px; padding:14px 20px; border-radius:var(--ht-radius-control); background:var(--ht-button-bg, var(--ht-color-primary)); color:var(--ht-color-bg); font-size:var(--public-text-button); line-height:1.4; font-weight:600; text-align:center; }
@media (hover:hover) and (pointer:fine) {
.ht-public-shell .qo-information .qo-information-button:hover { background:var(--ht-button-bg, var(--ht-color-primary)); } }
.qo-information .qo-information-button:focus-visible { outline:3px solid var(--ht-color-primary); outline-offset:3px; }
.qo-information .qo-information-button svg { flex:0 0 20px; width:20px; height:20px; }
@media(min-width:768px) and (max-width:1023px) {
  .qo-information .qo-information-card { flex-direction:column; }
  .qo-information .qo-information-copy { padding-top:0; }
  .qo-information .qo-information-cta { flex-direction:column; align-items:stretch; }
}

/* Section 3: original photographs in metadata-defined crop viewports. */
.qo-customer-groups { padding-block:56px; }
.ht-public-shell .qo-customer-groups h2 { font-size:var(--public-text-h2); line-height:1.3; }
.qo-customer-groups .qo-customer-groups-intro { max-width:1080px; margin-top:16px; font-size:var(--public-text-body); line-height:1.6; }
.qo-customer-groups .qo-customer-groups-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:28px; }
.qo-customer-groups .qo-group-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--ht-radius-card); background:var(--white); box-shadow:0 4px 18px #08284b0a; }
.qo-customer-groups .qo-group-photo { position:relative; overflow:hidden; aspect-ratio:8/5; flex:none; }
.qo-customer-groups .qo-group-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.qo-customer-groups .qo-group-copy { display:flex; flex-direction:column; flex:1; padding:24px; }
.ht-public-shell .qo-customer-groups h3 { font-size:var(--public-text-h3); line-height:1.3; }
.qo-customer-groups .qo-group-copy p { font-size:var(--public-text-body); line-height:1.6; }
.qo-customer-groups .qo-group-benefit { margin-top:12px; color:var(--navy); font-weight:700; }
.qo-customer-groups .qo-group-body { margin-top:12px; }
.qo-customer-groups .qo-group-hint { margin-block:20px; color:var(--ht-color-text-muted); }
.ht-public-shell .qo-customer-groups .qo-group-button { display:flex; align-items:center; justify-content:center; min-height:48px; max-width:100%; margin-top:auto; padding:12px 16px; border:1px solid var(--ht-color-primary); border-radius:var(--ht-radius-control); background:var(--ht-button-bg, var(--ht-color-primary)); color:var(--ht-color-bg); font-size:var(--public-text-button); line-height:1.4; font-weight:600; text-align:center; }
@media (hover:hover) and (pointer:fine) {
.ht-public-shell .qo-customer-groups .qo-group-button:hover { background:var(--ht-button-bg, var(--ht-color-primary)); border-color:var(--ht-button-bg, var(--ht-color-primary)); } }
.qo-customer-groups .qo-group-button:focus-visible { outline:3px solid var(--ht-color-primary); outline-offset:3px; }
.qo-customer-groups .qo-group-retail { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:24px; padding:24px; border-radius:var(--ht-radius-card); background:var(--ht-color-bg-subtle); }
.qo-customer-groups .qo-group-retail > div { max-width:800px; min-width:0; }
.ht-public-shell .qo-customer-groups .qo-group-retail h3 { font-size:var(--public-text-h3); }
.qo-customer-groups .qo-group-retail p { margin-top:8px; font-size:var(--public-text-body); line-height:1.6; }
.ht-public-shell .qo-customer-groups .qo-group-button-outline { flex-shrink:0; margin-top:0; background:var(--ht-control-bg, transparent); color:var(--ht-control-text, var(--ht-color-primary)); }
@media (hover:hover) and (pointer:fine) {
.ht-public-shell .qo-customer-groups .qo-group-button-outline:hover { color:var(--ht-control-text, var(--white)); } }
@media(max-width:1023px) {
  .qo-customer-groups .qo-customer-groups-grid { grid-template-columns:minmax(0,1fr); max-width:640px; margin-inline:auto; }
  .qo-customer-groups .qo-group-retail { flex-direction:column; align-items:stretch; gap:20px; }
}
@media(max-width:767px) {
  .qo-customer-groups { padding-block:40px; }
  .ht-public-shell .qo-customer-groups h2 { font-size:var(--public-text-h2); }
  .qo-customer-groups .qo-customer-groups-intro { font-size:var(--public-text-body); }
  .qo-customer-groups .qo-customer-groups-grid { gap:20px; margin-top:24px; }
  .qo-customer-groups .qo-group-copy { padding:20px; }
  .qo-customer-groups .qo-group-retail { padding:22px 20px; }
  .ht-public-shell .qo-customer-groups .qo-group-retail h3 { font-size:var(--public-text-h3); }
}
@media(max-width:767px) {
  .qo-hero #quote-request-form { scroll-margin-top:100px; }
  .qo-information { margin-top:40px; padding-block:40px; }
  .ht-public-shell .qo-information h2 { font-size:var(--public-text-h2); }
  .qo-information .qo-information-intro { font-size:var(--public-text-body); }
  .qo-information .qo-information-grid { grid-template-columns:minmax(0,1fr); gap:16px; margin-top:24px; }
  .qo-information .qo-information-card { padding:24px 18px 20px; gap:14px; }
  .qo-information .qo-information-icon { flex-basis:56px; width:56px; height:56px; }
  .qo-information .qo-information-icon svg { width:40px; height:40px; }
  .qo-information .qo-information-copy { padding-top:4px; }
  .ht-public-shell .qo-information h3 { font-size:var(--public-text-h3); padding-right:8px; }
  .qo-information .qo-information-number { top:4px; right:12px; font-size:var(--public-text-small); }
  .qo-information .qo-information-cta { flex-direction:column; align-items:stretch; gap:20px; padding:22px 20px; }
  .qo-information .qo-information-question { font-size:var(--public-text-body); }
  .qo-information .qo-information-button { width:100%; }
}

/* Section 4: real ordered steps, using the existing Public palette. */
.qo-process { position:relative; isolation:isolate; padding-block:56px; }
.qo-process::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--pale); box-shadow:0 0 0 100vmax var(--pale); clip-path:inset(0 -100vmax); }
.ht-public-shell .qo-process h2 { font-size:var(--public-text-h2); line-height:1.3; }
.qo-process .qo-process-intro { max-width:1080px; margin-top:16px; font-size:var(--public-text-body); line-height:1.6; }
.qo-process .qo-process-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; list-style:none; padding:0; margin:32px 0 0; }
.qo-process .qo-process-step { position:relative; display:grid; grid-template-rows:48px 1fr; gap:16px; min-width:0; }
.qo-process .qo-process-number { position:relative; z-index:1; display:grid; place-items:center; justify-self:center; width:48px; height:48px; border-radius:50%; background:var(--blue); color:var(--white); font-size:var(--public-text-body); font-weight:700; line-height:1; }
.qo-process .qo-process-step:not(:last-child)::before { content:""; position:absolute; top:23px; left:calc(50% + 32px); width:calc(100% - 40px); border-top:2px solid var(--blue); }
.qo-process .qo-process-step:not(:last-child)::after { content:""; position:absolute; top:19px; left:calc(100% + 8px); width:10px; height:10px; border-top:2px solid var(--blue); border-right:2px solid var(--blue); transform:rotate(45deg); }
.qo-process .qo-process-card { display:grid; grid-template-rows:48px auto 1fr; gap:16px; min-width:0; padding:24px 20px; border:1px solid var(--line); border-radius:var(--ht-radius-card); background:var(--white); }
@supports(grid-template-rows:subgrid) {
  .qo-process .qo-process-step { grid-row:span 4; grid-template-rows:subgrid; }
  .qo-process .qo-process-card { grid-row:span 3; grid-template-rows:subgrid; }
}
.qo-process .qo-process-icon { display:grid; place-items:center; color:var(--blue); }
.qo-process .qo-process-icon svg { width:48px; height:48px; }
.ht-public-shell .qo-process h3 { font-size:var(--public-text-h3); line-height:1.3; }
.qo-process .qo-process-card p { font-size:var(--public-text-body); line-height:1.6; }
.qo-process .qo-process-cta { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:28px; padding:28px; border:1px solid var(--line); border-radius:var(--ht-radius-control); background:var(--ht-color-bg-subtle); }
.qo-process .qo-process-cta > div { min-width:0; max-width:720px; }
.ht-public-shell .qo-process .qo-process-cta h3 { font-size:var(--public-text-h3); }
.qo-process .qo-process-cta p { margin-top:8px; font-size:var(--public-text-button); line-height:1.4; }
.ht-public-shell .qo-process .qo-process-button { display:flex; align-items:center; justify-content:center; flex:0 0 auto; gap:12px; max-width:100%; min-height:50px; padding:14px 20px; border-radius:var(--ht-radius-control); background:var(--ht-button-bg, var(--ht-color-primary)); color:var(--ht-color-bg); font-size:var(--public-text-button); font-weight:600; line-height:1.4; text-align:center; }
@media (hover:hover) and (pointer:fine) {
.ht-public-shell .qo-process .qo-process-button:hover { background:var(--ht-button-bg, var(--ht-color-primary)); } }
.qo-process .qo-process-button svg { flex:0 0 20px; width:20px; height:20px; }
.qo-process .qo-process-secondary { display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; margin-top:16px; font-size:var(--public-text-body); line-height:1.6; }
.qo-process .qo-process-secondary strong { color:var(--navy); }
.ht-public-shell .qo-process .qo-process-secondary a { display:inline-flex; align-items:center; min-height:48px; color:var(--blue); }
.qo-process a:focus-visible { outline:3px solid var(--ht-color-primary); outline-offset:3px; }
@media(max-width:1199px) {
  .qo-process .qo-process-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .qo-process .qo-process-step::before,.qo-process .qo-process-step::after { display:none; }
}
@media(max-width:1023px) {
  .qo-process .qo-process-cta { flex-direction:column; align-items:stretch; gap:20px; }
}
@media(max-width:767px) {
  .qo-process { padding-block:40px; }
  .ht-public-shell .qo-process h2 { font-size:var(--public-text-h2); }
  .qo-process .qo-process-intro { font-size:var(--public-text-body); }
  .qo-process .qo-process-steps { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:24px; }
  .qo-process .qo-process-step { gap:12px; }
  .qo-process .qo-process-number { justify-self:start; }
  .qo-process .qo-process-card { padding:22px 20px; }
  .qo-process .qo-process-icon { justify-content:start; }
  .qo-process .qo-process-cta { padding:22px 20px; }
  .ht-public-shell .qo-process .qo-process-cta h3 { font-size:var(--public-text-h3); }
}

/* Section 5: native multi-open FAQ in one column at every width. */
.qo-faq { padding-block:64px; scroll-margin-top:120px; overflow-wrap:break-word; }
.ht-public-shell .qo-faq h2 { font-size:var(--public-text-h2); line-height:1.3; }
.qo-faq .qo-faq-note { margin-top:10px; color:var(--navy); font-size:var(--public-text-small); line-height:1.6; font-weight:600; }
.qo-faq .qo-faq-intro { margin-top:14px; font-size:var(--public-text-body); line-height:1.6; }
.qo-faq .qo-faq-list { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin-top:28px; }
.qo-faq .qo-faq-list details { min-width:0; border:1px solid var(--line); border-radius:var(--ht-radius-card); background:var(--white); }
.qo-faq .qo-faq-list details[open] { background:var(--pale); }
.qo-faq summary { cursor:pointer; list-style:none; border-radius:var(--ht-radius-card); scroll-margin-block:120px 84px; }
.qo-faq summary::-webkit-details-marker { display:none; }
@media (hover:hover) and (pointer:fine) {
.qo-faq summary:hover { background:var(--pale); } }
.ht-public-shell .qo-faq summary h3 { display:flex; align-items:center; gap:16px; min-height:64px; padding:18px 20px; margin:0; font-size:var(--public-text-h3); line-height:1.3; }
.qo-faq .qo-faq-question { flex:1; min-width:0; }
.qo-faq .sp-faq-sign { flex:0 0 28px; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:var(--white); background:var(--blue); }
.qo-faq .sp-faq-sign svg { display:block; width:22px; height:22px; }
.qo-faq .sp-faq-sign .sp-faq-minus,.qo-faq details[open] .sp-faq-plus { display:none; }
.qo-faq details[open] .sp-faq-minus { display:block; }
.qo-faq .qo-faq-answer { padding:0 20px 20px; font-size:var(--public-text-body); line-height:1.6; }
.qo-faq .qo-faq-answer strong { color:var(--navy); }
.qo-faq .qo-faq-answer p { margin:0 0 14px; }
.qo-faq .qo-faq-answer p:last-child { margin-bottom:0; }
.qo-faq .qo-faq-cta { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:24px; padding:28px; border:1px solid var(--line); border-radius:var(--ht-radius-control); background:var(--pale); }
.qo-faq .qo-faq-cta > div { min-width:0; max-width:720px; }
.ht-public-shell .qo-faq .qo-faq-cta h3 { font-size:var(--public-text-h3); line-height:1.3; }
.qo-faq .qo-faq-cta p { margin-top:8px; font-size:var(--public-text-button); line-height:1.4; }
.ht-public-shell .qo-faq .qo-faq-button { display:flex; align-items:center; justify-content:center; flex:0 0 auto; gap:12px; max-width:100%; min-height:50px; padding:14px 20px; border-radius:var(--ht-radius-control); background:var(--ht-button-bg, var(--ht-color-primary)); color:var(--ht-color-bg); font-size:var(--public-text-button); font-weight:600; line-height:1.4; text-align:center; }
@media (hover:hover) and (pointer:fine) {
.ht-public-shell .qo-faq .qo-faq-button:hover { background:var(--ht-button-bg, var(--ht-color-primary)); } }
.qo-faq .qo-faq-button svg { flex:0 0 20px; width:20px; height:20px; }
.qo-faq .qo-faq-secondary { display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; margin-top:16px; font-size:var(--public-text-body); line-height:1.6; }
.ht-public-shell .qo-faq .qo-faq-secondary a { display:inline-flex; align-items:center; min-height:48px; color:var(--blue); }
.qo-faq :is(summary,a):focus-visible { outline:3px solid var(--ht-color-primary); outline-offset:3px; }
@media(max-width:1023px) {
  .qo-faq .qo-faq-cta { flex-direction:column; align-items:stretch; gap:20px; }
}
@media(max-width:767px) {
  .qo-faq { padding-block:40px; scroll-margin-top:100px; }
  .ht-public-shell .qo-faq h2 { font-size:var(--public-text-h2); }
  .qo-faq .qo-faq-note { font-size:var(--public-text-small); }
  .qo-faq .qo-faq-intro,.qo-faq .qo-faq-answer { font-size:var(--public-text-body); }
  .qo-faq .qo-faq-list { margin-top:24px; }
  .qo-faq summary { scroll-margin-block:100px 84px; }
  .ht-public-shell .qo-faq summary h3 { padding:16px; gap:12px; font-size:var(--public-text-h3); }
  .qo-faq .qo-faq-answer { padding:0 16px 20px; }
  .qo-faq .qo-faq-cta { padding:24px 20px; }
  .ht-public-shell .qo-faq .qo-faq-cta h3 { font-size:var(--public-text-h3); }
}
