/* PR111 Owner-frozen homepage. Loaded only by the homepage after shared search CSS.
   All differences stay below the home marker; other search/detail/workspaces keep
   their existing structure, colours, sizing, query contract and interactions. */
.do56-homepage-header .do56-carrier-detail-header__inner,
.s07-home .s07-container {
    width: min(82.5rem, calc(100% - 7rem));
    margin-inline: auto;
}
.do56-homepage-header .do56-carrier-detail-header__inner { min-height: 5.5rem; }
.s07-home .s07-hero {
    display: block;
    min-height: 0;
    padding: 4.375rem 0 8.875rem;
    background: #c74745;
}
.s07-home .s07-hero-content { gap: 0; padding-block: 0; }
.s07-home .s07-proposition { display: block; max-width: none; color: white; }
.s07-home .s07-proposition h1 {
    margin: 0;
    color: white;
    font-size: clamp(2.375rem, 3.5vw, 3.25rem);
    font-weight: 750;
    line-height: 1.3;
    letter-spacing: -.0875rem;
}
.s07-home .s07-proposition h1 span,
.s07-home .s07-hero-description span { display: inline-block; white-space: nowrap; }
.s07-home .s07-hero-description {
    margin: 1.4375rem 0 0;
    color: #ffe8e4;
    font-size: 1.1875rem;
    line-height: 1.8;
    letter-spacing: .00625rem;
}
.s07-home .s07-home-search-zone { position: relative; z-index: 10; margin-top: -3.375rem; }
.s07-home .do56-public-search-form--home {
    --detail-blue: #006ce4;
    --detail-gold: #e7c58c;
    width: 100%;
    grid-template-columns: minmax(0, 1.37fr) minmax(0, 1.06fr) 14.25rem;
    gap: 0;
    align-items: stretch;
    min-height: 7.375rem;
    border: 3px solid var(--detail-gold);
    border-radius: 1.0625rem;
    background: white;
    padding: .3125rem;
    box-shadow: 0 .75rem 1.75rem rgb(64 42 38 / 7%), 0 .125rem .3125rem rgb(64 42 38 / 2%);
}
.s07-home .do56-public-search-form--home .do56-detail-search-field {
    height: 100%;
    min-height: 6.5rem;
    border-radius: .6875rem;
    gap: 1.1875rem;
    padding: 1.0625rem 1.625rem;
}
.s07-home .do56-detail-search-copy { gap: .3125rem; }
.s07-home .do56-detail-search-label { font-size: .8125rem; color: #7d8a93; }
.s07-home .do56-detail-search-copy strong { font-size: 1.375rem; font-weight: 650; line-height: 1.45; }
.s07-home .do56-public-search-form--home .do56-detail-capability {
    min-height: 0;
    margin: .6875rem 0;
    border-left: 1px solid #e2e7eb;
    border-radius: 0;
    padding: .3125rem 1.5rem;
}
.s07-home .do56-detail-capability legend { font-size: .8125rem; margin-bottom: .75rem; }
.s07-home .do56-detail-capability-clear { top: .3125rem; right: 1.5rem; }
.s07-home .do56-detail-capability-options { gap: .5rem; }
.s07-home .do56-detail-capability-options span { min-height: 2.5625rem; font-size: .875rem; border-radius: .4375rem; }
.s07-home .do56-detail-search-submit {
    min-height: 6.5rem;
    border-radius: .6875rem;
    font-size: 1.3125rem;
    font-weight: 650;
    padding-inline: 1rem;
}
.s07-home .do56-detail-search-submit:focus-visible {
    outline: 3px solid var(--detail-blue);
    outline-offset: 2px;
    box-shadow: 0 0 0 5px white;
}
.s07-home .do56-detail-search-submit:disabled { opacity: .55; cursor: not-allowed; }
.s07-home .s07-home-browse { padding-top: 4.75rem; }
.s07-home .s07-market-browse { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .8125rem; }

@media (max-width: 74.9375rem) {
    .do56-homepage-header .do56-carrier-detail-header__inner,
    .s07-home .s07-container { width: calc(100% - 4.5rem); }
    .s07-home .s07-hero { padding-top: 4.0625rem; padding-bottom: 8.4375rem; }
    .s07-home .s07-proposition h1 { font-size: 2.6875rem; }
    .s07-home .s07-hero-description { font-size: 1.0625rem; }
    .s07-home .do56-public-search-form--home { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 11.875rem; }
    .s07-home .do56-public-search-form--home .do56-detail-search-field { padding-inline: 1.125rem; gap: .875rem; }
    .s07-home .do56-detail-search-copy strong { font-size: 1.25rem; }
    .s07-home .do56-public-search-form--home .do56-detail-capability { padding-inline: 1.125rem; }
    .s07-home .do56-detail-capability-options span { font-size: .75rem; }
    .s07-home .do56-detail-search-submit { font-size: 1.125rem; }
}
@media (max-width: 53.125rem) {
    .do56-homepage-header .do56-carrier-detail-header__inner,
    .s07-home .s07-container { width: calc(100% - 2.75rem); }
    .s07-home .s07-hero { padding-top: 3.0625rem; padding-bottom: 6.5625rem; }
    .s07-home .s07-proposition h1 { font-size: 2.375rem; letter-spacing: -.05rem; }
    .s07-home .s07-hero-description { font-size: 1rem; margin-top: 1.25rem; }
    .s07-home .s07-home-search-zone { margin-top: -2.625rem; }
    .s07-home .do56-public-search-form--home { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); padding: .375rem; }
    .s07-home .do56-detail-search-submit { grid-column: 1 / -1; width: 100%; min-height: 3.3125rem; margin-top: .1875rem; }
    .s07-home .do56-public-search-form--home .do56-detail-search-field { min-height: 5.875rem; padding: .8125rem 1.0625rem; }
    .s07-home .do56-public-search-form--home .do56-detail-capability { margin: .5rem 0; padding: .3125rem 1.0625rem; }
    .s07-home .s07-market-browse { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
    .s07-home .s07-home-browse { padding-top: 3.5625rem; }
}
@media (max-width: 36.25rem) {
    .do56-homepage-header .do56-carrier-detail-header__inner,
    .s07-home .s07-container { width: calc(100% - 2.25rem); }
    .do56-homepage-header .do56-carrier-detail-header__inner { min-height: 4.5rem; }
    .s07-home .s07-hero { padding-top: 2.375rem; padding-bottom: 4.8125rem; }
    .s07-home .s07-proposition h1 { font-size: 2.0625rem; line-height: 1.4; letter-spacing: -.03125rem; }
    .s07-home .s07-hero-description { font-size: .875rem; line-height: 1.9; margin-top: 1.125rem; }
    .s07-home .s07-home-search-zone { margin-top: -1.875rem; }
    .s07-home .do56-public-search-form--home { display: block; min-height: 0; padding: .375rem; border-radius: .875rem; }
    .s07-home .do56-public-search-form--home .do56-detail-search-field { min-height: 5rem; padding: .6875rem .8125rem; gap: .8125rem; }
    .s07-home .do56-detail-search-label { font-size: .6875rem; }
    /* Home stacks full-width fields; the shared two-column panel width does not apply. */
    .s07-home .do56-detail-market-panel { left: 0; width: 100%; }
    .s07-home .do56-detail-search-copy { gap: .1875rem; }
    .s07-home .do56-detail-search-copy strong { font-size: 1.1875rem; }
    .s07-home .do56-public-search-form--home .do56-detail-capability { margin: 0; border-left: 0; border-top: 1px solid #e6ebee; padding: .8125rem .8125rem .9375rem; }
    .s07-home .do56-detail-capability legend { font-size: .6875rem; margin-bottom: .625rem; }
    .s07-home .do56-detail-capability-clear { top: .8125rem; right: .8125rem; }
    .s07-home .do56-detail-capability-options span { min-height: 2.4375rem; font-size: .8125rem; }
    .s07-home .do56-detail-search-submit { min-height: 3.125rem; margin: 0; border-radius: .5rem; font-size: 1.0625rem; }
    .s07-home .s07-home-browse { padding-top: 2.6875rem; }
    .s07-home .s07-market-browse { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8125rem .6875rem; }
    .s07-home .s07-market-card h3 { padding: .625rem .6875rem; font-size: .75rem; line-height: 1.7; }
}
@media (max-width: 21.875rem) {
    .s07-home .s07-proposition h1 { font-size: 1.8125rem; }
    .s07-home .s07-hero-description { font-size: .8125rem; }
}
