.capabilities-page{--container:1280px;--cap-sticky-column:1;--cap-sticky-header:2;--cap-sticky-corner:3}
.capabilities-page .capabilities-main{padding-bottom:64px}
.capabilities-hero{padding:64px 0 36px}
.capabilities-hero h1{font-size:clamp(36px,4vw,54px);line-height:1.1;letter-spacing:-.035em;margin:0 0 16px}
.capabilities-hero p{max-width:650px;font-size:15px;line-height:1.8;margin:0}
.capability-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:28px}
.capability-tabs button{display:flex;align-items:center;gap:9px;min-height:58px;padding:0 4px;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--muted);font-size:16px;white-space:nowrap;text-align:left}
.capability-tabs button[aria-selected=true]{border-color:var(--brand);color:var(--ink);font-weight:600}
.capability-tabs button:hover{color:var(--ink)}
.capability-tabs .icon{width:18px;height:18px}
.capability-panel-head{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:26px}
.capability-panel-head h2{font-size:26px;letter-spacing:-.02em;line-height:1.3;margin:0 0 8px}
.capability-panel-head p{font-size:14px;margin:0;line-height:1.7;max-width:650px}
.ndc-coverage-total{flex:none;min-width:260px;padding-left:28px;border-left:1px solid var(--line)}
.coverage-total-label{font-size:13px;color:var(--muted)}
.ndc-coverage-total>div{display:flex;align-items:baseline;gap:10px;margin:3px 0 6px}
.ndc-coverage-total strong{font-size:52px;line-height:1.05;letter-spacing:-.035em;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.ndc-coverage-total>div>span{font-size:16px;color:var(--ink)}
.ndc-coverage-total p{font-size:12px;max-width:300px}
.capability-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.capability-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.capability-filters button{min-height:38px;padding:8px 13px;border:1px solid var(--line);border-radius:6px;font-size:12px;color:var(--muted);background:#fff}
.capability-filters button:hover{border-color:#b7bbb8;color:var(--ink)}
.capability-filters button[aria-pressed=true]{border-color:var(--ink);color:var(--ink);font-weight:600;background:#f7f7f6}
.capability-search{display:flex;align-items:center;gap:9px;border:2px solid #dfe1df;border-radius:7px;min-height:44px;width:300px;padding:0 10px;background:#fff}
.capability-search:focus-within{border-color:var(--brand);box-shadow:none;outline:none}
.capability-search>.icon{width:17px;height:17px;color:var(--muted)}
.capability-search input{border:0;outline:0;box-shadow:none;min-width:0;width:100%;min-height:40px;padding:8px 0;font-size:13px;line-height:1.5;background:transparent}
.capability-search input::placeholder{color:var(--muted);opacity:1}
.capabilities-page .capability-search input:focus,.capabilities-page .capability-search input:focus-visible{outline:none;box-shadow:none}
.capability-search input::-webkit-search-cancel-button,.capability-search input::-webkit-search-decoration{appearance:none;display:none}
.capability-search button{display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted)}
.capability-search button .icon{width:16px;height:16px}
.capability-search button:hover,.capabilities-page .capability-search button:focus-visible{background:#eceeeb;color:var(--ink);outline:none}
.capability-result-count{font-size:13px;line-height:1.5;min-height:20px;margin:13px 0 12px;font-variant-numeric:tabular-nums}
.capability-table-wrap{position:relative;isolation:isolate;overflow-x:auto;overscroll-behavior-x:contain}
.capability-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;font-size:13px}
.capability-table th,.capability-table td{height:60px;padding:12px 16px;border-bottom:1px solid #e9ebe8;text-align:left;vertical-align:middle;line-height:1.5}
.capability-table thead th{background:#f7f7f6;color:#555d63;font-size:12px;font-weight:550;border-bottom-color:#dce0db}
.capability-table tbody th{position:sticky;left:0;z-index:var(--cap-sticky-column);background:#fff;font-weight:500}
.capability-table th:first-child{min-width:290px;width:40%;border-right:1px solid #e9ebe8}
.capability-table thead th:first-child{position:sticky;left:0;z-index:var(--cap-sticky-corner);background:#f7f7f6}
.capability-table tbody tr:hover th,.capability-table tbody tr:hover td{background:#fafbf9}
.capability-table tbody tr:last-child th,.capability-table tbody tr:last-child td{border-bottom:0}
.capability-airline{display:flex;align-items:center;gap:12px;font-weight:500;line-height:1.5}
.capability-airline .code{color:var(--muted);font-weight:450;white-space:nowrap}
.capability-table .capability-airline{background:none;border:0;padding:0;text-align:left;color:inherit;font:inherit;min-height:44px}
.capability-table button.capability-airline:hover{color:var(--brand)}
.capabilities-page .logo-wrap{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:36px}
.capabilities-page .logo-wrap img{width:44px;height:36px;object-fit:contain;mix-blend-mode:multiply}
.capability-status{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border-radius:5px;font-size:12px;white-space:nowrap}
.capability-status.fast{background:#eef6f0;color:#326140}
.capability-status.q4{background:#f0f1f5;color:#515b70}
.capability-status.q1{background:#fff3e5;color:#80501a}
.capability-status .icon{width:14px;height:14px}
.capability-table.ticket-matrix{min-width:1040px}
.capability-table.ticket-matrix th:first-child{width:260px;min-width:260px}
.capability-table .cap-check{text-align:center;min-width:84px}
.cap-check>span{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.cap-check .icon{width:16px;height:16px;flex:none}
.cap-check .icon-check{color:#277249}
.capability-table td.cap-check>.icon{color:#277249}
.capability-table.ticket-matrix th.cap-check>span{flex-direction:column;font-size:12px;line-height:1.4}
.capability-table.ticket-matrix .requirement-cell{font-size:12px;max-width:165px;line-height:1.6}
/* Wide tables follow the page; keep the entire header together below the site navigation. */
@media(min-width:1280px){.capability-table-wrap{overflow:visible}.capability-table thead{position:sticky;top:76px;z-index:var(--cap-sticky-header)}.capability-table thead th:first-child{position:static}}
.capabilities-page .airline-dialog-heading .logo-wrap{width:50px}
.capability-note{display:flex;align-items:flex-start;gap:8px;margin:18px 0 0;font-size:12px;color:var(--muted);line-height:1.7;max-width:900px}
.capability-note .icon{width:16px;height:16px;color:var(--muted);margin-top:2px}
.capability-empty{padding:48px 20px;border:1px solid var(--line);border-radius:10px;text-align:center;color:var(--muted);font-size:14px}
.capability-empty>.icon{margin-bottom:12px}
.capability-empty p{margin-bottom:18px}
.partner-timing{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.7;padding-bottom:24px;margin-bottom:30px;border-bottom:1px solid var(--line);color:var(--ink)}
.partner-timing .icon{width:18px;height:18px;margin-top:3px;color:var(--muted)}
.partner-directory{min-width:0}
.partner-type-tabs{display:flex;gap:4px;width:fit-content;max-width:100%;overflow-x:auto;padding:4px;margin:0 0 24px;border:1px solid var(--line);border-radius:8px;background:var(--faint)}
.partner-type-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:none;min-height:44px;padding:9px 18px;border:1px solid transparent;border-radius:5px;font-size:14px;line-height:1.5;color:var(--muted);white-space:nowrap}
.partner-type-tabs button[aria-selected=true]{background:#fff;border-color:var(--line);color:var(--ink);font-weight:600}
.partner-type-tabs button:hover{color:var(--ink)}.partner-type-tabs button:focus-visible{outline:2px solid var(--ink);outline-offset:-3px}
.partner-tab-count{font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--muted)}
.partner-type-panel{min-width:0}.partner-type-panel[hidden]{display:none!important}
.partner-type-panel:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.partner-lookup{max-width:620px}
.partner-directory h3{font-size:19px;line-height:1.4;letter-spacing:-.01em;margin:0 0 16px}
.partner-directory ul{list-style:none;padding:0;margin:0}
.partner-airline-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px}
.partner-airline-list li{min-height:76px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}
.partner-airline-list .logo-wrap{width:48px;height:40px}
.partner-airline-list .logo-wrap img{width:46px;height:38px}
.partner-toolbar{display:flex;flex-direction:column;gap:16px;margin-bottom:14px}
.partner-search-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}
.partner-connection-field select{min-height:44px;max-width:100%;padding:9px 30px 9px 12px;border:1px solid #dfe1df;border-radius:7px;background:#fff;font:inherit;font-size:13px;color:var(--ink)}
.partner-search{width:min(420px,100%)}
.partner-status-filters button>span{margin-left:5px;font-variant-numeric:tabular-nums}
.partner-result-count{font-size:13px;color:var(--muted);margin:0 0 10px;font-variant-numeric:tabular-nums}
.partner-directory-note{font-size:12px;line-height:1.8;color:var(--muted);margin:22px 0 0;max-width:80ch}
.partner-resource-copy{min-width:0;display:flex;flex-direction:column;gap:6px;padding-block:4px}
.partner-resource-copy>strong{font-size:13px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}
.partner-resource-id{font-size:11px;color:var(--muted);line-height:1.5}
.partner-connection-tags{display:flex;flex-wrap:wrap;gap:5px 8px;font-size:11px;line-height:1.5;color:var(--muted)}
.partner-connection-tags span+span{border-left:1px solid var(--line);padding-left:8px}
.partner-history-note{display:flex;align-items:flex-start;gap:5px;margin:1px 0 0;font-size:11px;line-height:1.6;color:var(--muted)}
.partner-history-note .icon{width:13px;height:13px;margin-top:2px}
.partner-resource[data-partner-availability=historical]{align-items:center}
.partner-airline-list .partner-resource{min-height:98px}

.partner-gds-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px}
.partner-gds-list li{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;font-size:14px;min-height:150px;padding:22px 12px;border-bottom:1px solid var(--line)}
.partner-gds-logo{display:flex;align-items:center;justify-content:center;width:210px;max-width:100%;height:64px}
.partner-gds-logo img{display:block;width:auto;max-width:100%;height:auto;max-height:56px;object-fit:contain;mix-blend-mode:normal}
.partner-gds-list .icon{width:17px;height:17px;color:#277249}
.partner-lookup>p{font-size:13px;line-height:1.7;margin-bottom:19px}
.partner-lookup form>label{display:block;font-size:13px;margin-bottom:8px;font-weight:500}
.aggregator-search{width:100%;margin-bottom:12px}
.aggregator-search input{font-size:13px}
.partner-lookup .button{width:100%;min-height:44px;font-size:13px}
.partner-lookup .button:disabled{color:var(--muted);background:#f1f2ef;border-color:var(--line)}
.aggregator-result{min-height:80px;font-size:13px;line-height:1.7;padding-top:16px;overflow-wrap:anywhere}
.aggregator-result strong{display:block;font-weight:550;color:var(--ink);margin-bottom:6px}
.aggregator-result.matched{display:flex;align-items:center;gap:14px}
.aggregator-brand-mark{display:flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;border:1px solid var(--line);border-radius:8px;background:#fff}
.aggregator-brand-mark img{width:32px;height:32px;object-fit:contain}
.aggregator-brand-mark [hidden]{display:none}
.aggregator-brand-mark .icon{margin:0;width:24px;height:24px;color:var(--muted)}
.aggregator-result p{display:flex;align-items:flex-start;gap:7px;margin:0}
.aggregator-result .icon{width:17px;height:17px;margin-top:2px}
.aggregator-result.matched p{color:#277249}
.aggregator-result.empty p,.aggregator-result.unavailable p{color:#a3212e}
@media(max-width:960px){
  .capabilities-hero{padding:52px 0 32px}
  .capability-panel-head{gap:24px}
  .capability-panel-head h2{font-size:24px}
  .ndc-coverage-total{min-width:220px;max-width:280px;padding-left:24px}
  .capability-panel-head p{font-size:13px}
  .ndc-coverage-total p{font-size:12px}
  .capability-toolbar{align-items:flex-start}
  .capability-search{width:280px}
  .partner-airline-list,.partner-gds-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aggregator-search{width:100%}
}
@media(max-width:680px){
  .capabilities-page .capabilities-main{padding-bottom:38px}
  .capabilities-hero{padding:40px 0 24px}
  .capabilities-hero h1{font-size:35px;margin-bottom:13px}
  .capabilities-hero p{font-size:13px;line-height:1.75}
  .capability-tabs{gap:20px;overflow-x:auto;margin-bottom:25px}
  .capability-tabs button{flex:none;font-size:14px;min-height:52px;padding-inline:1px;gap:7px}
  .capability-tabs .icon{width:16px;height:16px}
  .capability-panel-head{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:23px}
  .capability-panel-head h2{font-size:22px}
  .capability-panel-head p{font-size:13px}
  .ndc-coverage-total{border-left:0;border-top:1px solid var(--line);padding:16px 0 0;width:100%;min-width:0;max-width:none}
  .ndc-coverage-total>div{display:inline-flex;margin:0 0 0 14px;gap:7px}
  .ndc-coverage-total strong{font-size:44px}
  .ndc-coverage-total>div>span{font-size:14px}
  .ndc-coverage-total p{font-size:12px;max-width:none;margin-top:8px}
  .capability-toolbar{gap:12px}
  .capability-filters{gap:7px}
  .capability-filters button{font-size:12px;padding-inline:10px}
  .capability-search{width:100%}
  .capability-result-count{font-size:12px;margin-top:12px}
  .capability-table{min-width:680px}
  .capability-table th,.capability-table td{height:59px;padding-inline:11px;font-size:12px}
  .capability-table th:first-child{min-width:200px;width:220px;max-width:230px}
  .capability-table.ndc-matrix{table-layout:fixed}
  .capability-table.ndc-matrix th:nth-child(2),.capability-table.ndc-matrix th:nth-child(3){width:230px}
  .capability-table.ticket-matrix th:first-child{min-width:190px;width:190px}
  .capability-airline{gap:9px;font-size:12px}
  .capabilities-page .logo-wrap{width:36px;height:32px}
  .capabilities-page .logo-wrap img{width:36px;height:32px}
  .capability-status{font-size:11px}
  .capability-note{font-size:12px}
  .partner-timing{font-size:13px;margin-bottom:24px;padding-bottom:20px}
  .partner-type-tabs{margin-bottom:18px}
  .partner-type-tabs button{font-size:13px;padding:9px 12px;gap:7px}
  .partner-directory h3{font-size:18px}
  .partner-airline-list{grid-template-columns:1fr}
  .partner-gds-list{gap:0 20px}
  .partner-airline-list li{font-size:12px;min-height:82px;align-items:center}
  .partner-airline-list .logo-wrap,.partner-airline-list .logo-wrap img{width:34px;height:32px}
  .partner-airline-list .code{display:inline}
  .partner-search-controls{align-items:stretch;flex-direction:column;gap:10px}
  .partner-connection-field select{width:100%}
  .partner-search{width:100%}
  .partner-status-filters{gap:6px}
  .partner-status-filters button{font-size:11px;padding-inline:9px}
  .partner-resource-copy>strong{font-size:12px}
  .partner-airline-list .partner-resource{min-height:90px}
  .partner-gds-list li{font-size:13px;min-height:140px;padding-inline:6px}
  .partner-gds-logo{width:150px;height:56px}
  
  .aggregator-result{min-height:62px}
}
@media(prefers-reduced-motion:reduce){.capabilities-page *{scroll-behavior:auto}}

/* Five result groups; individual field evidence is shown in the native details dialog. */
.verification-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin:14px 0 18px;font-size:12px;color:var(--ink)}
.verification-legend>strong{font-weight:600;margin-right:2px}
.verification-state{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;line-height:1.45;color:#586067}
.verification-state>.icon{flex:none;width:15px;height:15px}
.verification-state.is-supported{color:#24683d}
.verification-state.is-unsupported{color:#6b5557}
.capability-table.ticket-matrix td.cap-check>.verification-state{display:inline-flex;flex-direction:column;gap:4px;max-width:100px}
.capability-table.ticket-matrix td.cap-check>.verification-state>span{overflow-wrap:anywhere}
.capabilities-page .airline-dialog{width:min(860px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 48px);padding:24px;overflow-y:auto;overscroll-behavior:contain}
.capabilities-page .airline-dialog .dialog-head{margin-bottom:18px}
.capabilities-page .airline-dialog .dialog-head>strong{font-size:14px;line-height:1.5}
.capabilities-page .airline-dialog-heading{margin-bottom:12px}
.verification-channel-note{font-size:13px;line-height:1.65;color:#59626a;margin:0 0 22px}
.verification-detail-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}
.verification-detail-group{min-width:0}
.verification-detail-group:first-child{grid-column:1/-1}
.verification-detail-group>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.verification-detail-group h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;line-height:1.5;margin:0;min-width:0}
.verification-detail-group h3>.icon{width:17px;height:17px;flex:none}
.verification-detail-group>header>.verification-state{flex:none;max-width:115px;text-align:right}
.verification-detail-group ul{list-style:none;margin:0;padding:0}
.verification-detail-group li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #edf0ec;font-size:13px;line-height:1.5}
.verification-detail-group li>span:first-child{min-width:0;overflow-wrap:anywhere}
.verification-detail-group li>.verification-state{flex:none;max-width:115px;text-align:right}
.capabilities-page .airline-dialog .airline-requirement{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);line-height:1.6}
@media(max-width:640px){
  .verification-legend{gap:9px 14px}
  .capabilities-page .airline-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:18px}
  .verification-detail-groups{grid-template-columns:1fr;gap:22px}
  .verification-detail-group:first-child{grid-column:auto}
  .verification-detail-group li{gap:12px}
  .verification-detail-group li>.verification-state,.verification-detail-group>header>.verification-state{max-width:100px}
}

.verification-group-count{display:inline-flex;align-items:baseline;gap:3px;color:#59626a;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.verification-group-count strong{font-size:15px;color:var(--ink);font-weight:600}
.verification-count-note{color:#59626a;line-height:1.5}

/* Resource categories and post-booking services share the same reading controls. */
.airline-view-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;border-bottom:1px solid var(--line);padding-bottom:12px}
.airline-view-tabs button{min-height:44px;padding:9px 14px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:13px;line-height:1.5}
.airline-view-tabs button[aria-selected=true]{border-color:var(--line);background:var(--faint);color:var(--ink);font-weight:600}
.airline-view-tabs button:focus-visible,.ancillary-prebooking-toggle:focus-within{outline:2px solid var(--brand);outline-offset:3px}
.aftercare-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-bottom:14px;font-size:13px}
.aftercare-back>.icon{transform:rotate(180deg);width:16px;height:16px}
.ancillary-prebooking-toggle{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;min-height:44px;font-size:13px;line-height:1.6;cursor:pointer}
.ancillary-prebooking-toggle input{width:18px;height:18px;flex:none;accent-color:var(--brand)}
.ancillary-common-requirement{font-size:13px;line-height:1.7;margin:12px 0;color:var(--muted);max-width:76ch}
.verification-state.is-prebooking{color:#80501a}
.verification-state.is-unknown{color:var(--muted)}
.airline-code-mark{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:30px;border:1px solid var(--line);border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--muted);background:var(--faint)}
.section-content .capability-table.ancillary-matrix{table-layout:fixed;min-width:800px}
.section-content .capability-table.ancillary-matrix th:first-child{width:240px;min-width:240px}
.ancillary-matrix th:nth-child(2),.ancillary-matrix th:nth-child(3){width:145px}
.ancillary-matrix th:last-child{width:64px}
.ancillary-matrix .requirement-cell{font-size:12px;line-height:1.6;overflow-wrap:break-word}
.ancillary-matrix .verification-state{display:inline-flex;flex-direction:column;max-width:130px;gap:4px;white-space:normal;overflow-wrap:break-word}
.ancillary-matrix button.capability-airline>span:last-child{min-width:0;overflow-wrap:break-word}
.ancillary-detail-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-block:24px}
.ancillary-detail-services section{min-width:0;padding-block:12px;border-block:1px solid var(--line)}
.ancillary-detail-services h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:15px;line-height:1.5}
.ancillary-detail-services h3>.icon{width:18px;height:18px;flex:none}
.aftercare-page .airline-requirement>strong,.aftercare-page .airline-requirement>span{display:block}
.aftercare-page .airline-requirement>strong{font-size:13px;margin-bottom:6px}
.capability-unavailable{padding:24px 0;max-width:64ch}
.capability-unavailable h2{font-size:24px;line-height:1.4;margin:0 0 12px}
.capability-unavailable p{font-size:14px;line-height:1.7;margin:0 0 20px;color:var(--muted)}
.capability-unavailable .button{min-height:44px}
@media(max-width:680px){
  .section-content .capability-table.ancillary-matrix{min-width:750px}
  .section-content .capability-table.ancillary-matrix th:first-child{width:195px;min-width:195px}
  .ancillary-matrix th:nth-child(2),.ancillary-matrix th:nth-child(3){width:135px}
  .ancillary-matrix .verification-state{font-size:11px;max-width:112px}
  .ancillary-detail-services{gap:16px}
}


/* Right-side floating contact entry (opens the shared enquiry dialog) */
.capabilities-contact-entry{position:fixed;right:18px;top:50%;z-index:60;display:flex;flex-direction:column;align-items:center;gap:6px;padding:13px 10px;border-radius:999px;background:#cb2734;color:#fff;text-decoration:none;box-shadow:0 12px 28px rgba(32,35,40,.22);transform:translateY(-50%);transition:background .16s,box-shadow .16s,transform .16s}
.capabilities-contact-entry:hover{background:#a91f2b;box-shadow:0 16px 34px rgba(32,35,40,.28);transform:translateY(-50%) translateX(-2px)}
.capabilities-contact-entry:focus-visible{outline:3px solid #202328;outline-offset:3px}
.capabilities-contact-entry span{writing-mode:vertical-rl;font-size:12px;font-weight:600;letter-spacing:.14em;line-height:1}
.capabilities-contact-entry .icon{width:17px;height:17px;flex:none}
@media(max-width:720px){.capabilities-contact-entry{right:14px;top:auto;bottom:18px;transform:none;flex-direction:row;gap:7px;padding:10px 14px}.capabilities-contact-entry:hover{transform:translateY(-2px)}.capabilities-contact-entry span{writing-mode:horizontal-tb;letter-spacing:.03em}}

/* Contact entry — horizontal glass pill with subtle motion */
.capabilities-contact-entry {
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  bottom: max(24px, env(safe-area-inset-bottom));
  top: auto;
  z-index: 60;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 11px 18px;
  border-radius: 999px;
  border: 1px solid rgba(32, 35, 40, .10);
  background: rgba(255, 255, 255, .94);
  color: #202328;
  text-decoration: none;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(35, 22, 24, .16), 0 1px 0 rgba(255, 255, 255, .9) inset;
  -webkit-backdrop-filter: blur(16px) saturate(1.12);
  backdrop-filter: blur(16px) saturate(1.12);
  transform: none;
  animation:
    contact-entry-in .7s cubic-bezier(.2, .9, .25, 1) both,
    contact-breathe 5.5s 1.2s ease-in-out infinite;
}
.capabilities-contact-entry span {
  writing-mode: horizontal-tb;
  letter-spacing: .01em;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}
.capabilities-contact-entry .icon {
  width: 18px;
  height: 18px;
  flex: none;
  color: #cb2734;
  transition: color .22s ease;
}
.capabilities-contact-entry::after {
  content: '';
  position: absolute;
  top: -70%;
  left: -40%;
  width: 25%;
  height: 240%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .72), transparent);
  transform: rotate(18deg);
  animation: contact-sheen 7s 2.2s ease-in-out infinite;
  pointer-events: none;
}
.capabilities-contact-entry:hover,
.capabilities-contact-entry:focus-visible {
  background: #cb2734;
  border-color: #cb2734;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(203, 39, 52, .30);
}
.capabilities-contact-entry:hover .icon,
.capabilities-contact-entry:focus-visible .icon { color: #fff; }
.capabilities-contact-entry:active { transform: scale(.97); transition-duration: .08s; }
.capabilities-contact-entry:focus-visible { outline: 3px solid #202328; outline-offset: 3px; }

@keyframes contact-entry-in {
  from { opacity: 0; transform: translateY(14px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes contact-breathe {
  0%, 100% { box-shadow: 0 14px 34px rgba(35, 22, 24, .16), 0 1px 0 rgba(255, 255, 255, .9) inset; }
  50% { box-shadow: 0 16px 40px rgba(203, 39, 52, .16), 0 1px 0 rgba(255, 255, 255, .9) inset, 0 0 0 5px rgba(203, 39, 52, .035); }
}
@keyframes contact-sheen {
  0%, 62% { left: -40%; opacity: 0; }
  70% { opacity: 1; }
  88%, 100% { left: 120%; opacity: 0; }
}

@media (max-width: 720px) {
  .capabilities-contact-entry {
    right: max(14px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
    padding: 11px 15px;
    min-height: 48px;
  }
  .capabilities-contact-entry span { font-size: 12.5px; }
}
@media (prefers-reduced-motion: reduce) {
  .capabilities-contact-entry { animation: none; }
  .capabilities-contact-entry::after { animation: none; display: none; }
}

/* Contact entry — detail-page gradient, kept dark enough for white text */
.capabilities-contact-entry {
  color: #fff;
  border-color: rgba(255, 255, 255, .18);
  background-image: linear-gradient(112deg,
    #1f1b23 0%, #8e1f31 27%, #b8473f 49%, #8f3562 69%, #4a2b6b 87%, #1f1b23 100%);
  background-size: 240% 100%;
  box-shadow: 0 14px 36px rgba(75, 26, 48, .28), 0 1px 0 rgba(255, 255, 255, .16) inset;
  animation:
    contact-entry-in .7s cubic-bezier(.2, .9, .25, 1) both,
    contact-gradient-pan 12s .6s ease-in-out infinite alternate,
    contact-breathe 5.5s 1.2s ease-in-out infinite;
}
.capabilities-contact-entry span {
  color: #fff;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .24);
}
.capabilities-contact-entry .icon,
.capabilities-contact-entry:hover .icon,
.capabilities-contact-entry:focus-visible .icon {
  color: #fff;
  filter: drop-shadow(0 1px 5px rgba(0, 0, 0, .18));
}
.capabilities-contact-entry:hover,
.capabilities-contact-entry:focus-visible {
  background-image: linear-gradient(112deg,
    #1f1b23 0%, #8e1f31 27%, #b8473f 49%, #8f3562 69%, #4a2b6b 87%, #1f1b23 100%);
  background-size: 240% 100%;
  border-color: rgba(255, 255, 255, .32);
  color: #fff;
  filter: brightness(1.08) saturate(1.05);
  transform: translateY(-2px);
}
.capabilities-contact-entry:hover span,
.capabilities-contact-entry:focus-visible span { color: #fff; }
@keyframes contact-gradient-pan {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .capabilities-contact-entry { animation: none; background-position: 35% 50%; }
}
.capabilities-contact-entry {
  background-image: linear-gradient(112deg,
    #24152b 0%, #a32245 25%, #d94f4a 48%, #b44076 68%, #51347f 87%, #24152b 100%);
  background-size: 200% 100%;
  background-position: 30% 50%;
}
.capabilities-contact-entry:hover,
.capabilities-contact-entry:focus-visible {
  background-image: linear-gradient(112deg,
    #24152b 0%, #a32245 25%, #d94f4a 48%, #b44076 68%, #51347f 87%, #24152b 100%);
  background-size: 200% 100%;
}
@keyframes contact-gradient-pan {
  0% { background-position: 18% 50%; }
  100% { background-position: 82% 50%; }
}

/* Remove white edge artifacts from the gradient pill */
.capabilities-contact-entry {
  background-color: #2f152a;
  border-color: transparent;
  box-shadow: 0 14px 36px rgba(75, 26, 48, .28);
  animation:
    contact-entry-in .7s cubic-bezier(.2, .9, .25, 1) both,
    contact-gradient-pan 12s .6s ease-in-out infinite alternate,
    contact-breathe-dark 5.5s 1.2s ease-in-out infinite;
}
.capabilities-contact-entry:hover,
.capabilities-contact-entry:focus-visible {
  background-color: #2f152a;
  border-color: transparent;
}
@keyframes contact-breathe-dark {
  0%, 100% { box-shadow: 0 14px 36px rgba(75, 26, 48, .28); }
  50% { box-shadow: 0 16px 42px rgba(110, 30, 74, .34), 0 0 0 5px rgba(143, 53, 98, .06); }
}
.capabilities-contact-entry { box-shadow: 0 0 0 1px #2f152a, 0 14px 36px rgba(75, 26, 48, .28); }
@keyframes contact-breathe-dark {
  0%, 100% { box-shadow: 0 0 0 1px #2f152a, 0 14px 36px rgba(75, 26, 48, .28); }
  50% { box-shadow: 0 0 0 1px #2f152a, 0 16px 42px rgba(110, 30, 74, .34), 0 0 0 5px rgba(143, 53, 98, .06); }
}

/* Robust pill surface: gradient lives on a clipped pseudo-element, not on the
   anchor background/border, so no white/black edge can show. */
.capabilities-contact-entry {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: 0 12px 30px rgba(75, 26, 48, .26) !important;
  isolation: isolate;
}
.capabilities-contact-entry::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background-image: linear-gradient(112deg,
    #24152b 0%, #a32245 25%, #d94f4a 48%, #b44076 68%, #51347f 87%, #24152b 100%);
  background-size: 200% 100%;
  background-position: 30% 50%;
  animation: contact-gradient-pan 12s .6s ease-in-out infinite alternate;
}
.capabilities-contact-entry:hover,
.capabilities-contact-entry:focus-visible {
  filter: brightness(1.06);
  box-shadow: 0 16px 38px rgba(75, 26, 48, .32) !important;
}
.capabilities-contact-entry:hover::before,
.capabilities-contact-entry:focus-visible::before { filter: saturate(1.05); }
.capabilities-contact-entry .icon,
.capabilities-contact-entry span { position: relative; z-index: 1; }

/* Dialog/iframe: no white hairline, and iframe canvas transparent so the
   dialog gradient reaches every edge. */
.contact-dialog.is-lead {
  border: 0 !important;
  box-shadow: 0 30px 90px rgba(32, 20, 24, .28) !important;
}
.contact-dialog.is-lead .contact-lead-frame {
  background: transparent !important;
  border: 0 !important;
  border-radius: 14px;
}
@media (prefers-reduced-motion: reduce) {
  .capabilities-contact-entry::before { animation: none; background-position: 30% 50%; }
}
