/* Sandy Media industry layout fixes. Scoped to these twelve industry pages. */
.gind_page, .gind_page *, .gind_page *::before, .gind_page *::after { box-sizing:border-box; }
.gind_page :is(h1,h2,h3,h4,h5,h6,p,li) {
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    hyphens:none !important;
    text-wrap:wrap !important;
}
.gind_page :is([class$="_grid"],[class$="_steps"],[class$="_layout"]) {
    align-items:start !important;
    grid-auto-rows:auto !important;
}
/* Content determines card height, including cards with only one list item. */
.gind_page .gind_card {
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    align-self:start !important;
    justify-content:flex-start !important;
}
.gind_page .gind_card :is(h3,h4,p,ul,ol):last-child { margin-bottom:0 !important; }
/* A compact feature introduction followed by a responsive grid. The feature
   never stretches to the height of all the neighbouring cards. */
.gind_page .gind_compact_board {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:22px !important;
    align-items:start !important;
    height:auto !important;
    min-height:0 !important;
}
.gind_page .gind_feature_panel {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    align-items:center !important;
    align-content:start !important;
    justify-content:start !important;
    gap:12px 32px !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    grid-row:auto !important;
    padding:clamp(24px,2.6vw,36px) !important;
}
.gind_page .gind_feature_panel > span:first-child {
    grid-column:1 / -1;
    margin:0 !important;
}
.gind_page .gind_feature_panel :is(h2,h3,p) {
    max-width:none !important;
    margin:0 !important;
    min-width:0;
}
.gind_page .gind_feature_panel h3 {
    font-size:clamp(24px,2.3vw,32px) !important;
    line-height:1.3 !important;
}
.gind_page .gind_feature_panel p { font-size:16px !important; line-height:1.7 !important; }
.gind_page .gind_compact_board > :not(.gind_feature_panel) {
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)) !important;
    align-items:start !important;
    gap:18px !important;
    min-width:0;
}
.gind_page :is(.hs_business_point,.edu_goal_small) { min-height:0 !important; padding-block:22px !important; }
.gind_page .edu_goal_primary { grid-row:auto !important; grid-column:1 / -1 !important; }
/* Two-column experience sections can retain their original layout without
   expanding the short brand panel or distributing its text vertically. */
.gind_page :is(.im_experience,.ps_campaign_box) { align-items:start !important; }
.gind_page :is(.im_experience_brand,.ps_campaign_feature,.edu_goal_primary) { display:flex !important; flex-direction:column; align-items:flex-start !important; gap:14px !important; }
.gind_page .im_experience_content { min-height:0 !important; }
.gind_page .saas_service_feature h3 { grid-column:1 / -1; }
/* Remove the second border/background in process steps. */
.gind_page .gind_card_body {
    display:block !important;
    width:100% !important;
    min-width:0;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
    text-align:left !important;
}
.gind_page .gind_card_body::before,.gind_page .gind_card_body::after { content:none !important; }
.gind_page .gind_card_body h3 { margin:0 0 12px !important; }
.gind_page :is(.saas_process_grid,.hs_process_grid,.hs_approach_grid,.edu_roadmap_grid,.local_process_grid,.b2b_process_grid,.ps_process_grid,.rg_process_steps,.hc_process_steps) {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-items:start !important;
    gap:22px !important;
    padding:0 !important;
    width:100% !important;
}
.gind_page :is(.rg_process_grid,.hc_process_grid) { grid-template-columns:minmax(0,1fr) !important; gap:28px !important; }
.gind_page :is(.rg_process_intro,.hc_process_intro) { position:static !important; max-width:none !important; }
.gind_page :is(.saas_process_line,.hs_process_line,.local_process_line) { padding:0 !important; }
.gind_page :is(.rg_process_steps,.hc_process_steps,.hs_approach_grid,.saas_process_line,.hs_process_line,.local_process_line)::before,
.gind_page :is(.rg_process_steps,.hc_process_steps,.hs_approach_grid,.saas_process_line,.hs_process_line,.local_process_line)::after { content:none !important; }
.gind_page .gind_numbered_card { margin-bottom:0 !important; }
.gind_page :is(.auto_business_top,.local_sector_top) { min-height:0 !important; }
.gind_page .gind_numbered_card :is(.auto_business_top,.local_sector_top) { margin-bottom:0 !important; }
.gind_page .im_manage_card:nth-child(even) { transform:none; }
/* Independent portfolio columns keep short lists compact. */
.gind_page .gind_portfolio_grid {
    display:block !important;
    columns:3 280px;
    column-gap:20px;
}
.gind_page .gind_portfolio_grid > .gind_card {
    display:inline-block;
    vertical-align:top;
    break-inside:avoid;
    width:100%;
    margin:0 0 20px !important;
}
/* Natural word wrapping rather than a forced break before the coloured span. */
.gind_page .gind_hero_grid { align-items:center !important; }
.gind_page .gind_hero_copy h1 span { display:inline !important; }
.gind_page .gind_hero_copy [class*="_hero_badge"] { background-image:url('../google-ads-mark.svg') !important; }
.gind_page .gind_hero_badge { background-image:url('../google-ads-mark.svg') !important; }
/* Let the final actions use the full banner width. The two buttons flow to
   their own rows when needed, while each label remains on a single line. */
.gind_page [class$="_final_box"] {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    align-items:start !important;
    gap:24px !important;
    padding:clamp(26px,4vw,52px) !important;
}
.gind_page [class$="_final_content"] { width:100% !important; max-width:100% !important; }
.gind_page [class$="_final_actions"] {
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    flex-flow:row wrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:12px !important;
}
.gind_page :is([class$="_final_actions"],[class*="_hero_actions"]) > a {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;
    height:auto !important;
    min-height:50px !important;
    padding:14px 20px !important;
    gap:10px !important;
    font-size:14px !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    text-decoration:none;
}
.gind_page .gind_cta_label { white-space:nowrap !important; }
.gind_page :is([class$="_final_actions"],[class*="_hero_actions"]) > a svg { width:16px; height:16px; flex:none; }
/* Preserve the uploaded artwork, avoid enlargement beyond its intrinsic
   dimensions, and extend its actual background into the surrounding tile. */
.gind_page .gisp_logo_item {
    width:350px !important;
    flex:0 0 350px !important;
    height:154px !important;
    padding:18px !important;
    background:var(--gind-logo-bg,#fff) !important;
    border-color:#dce5df !important;
    box-shadow:none !important;
    overflow:hidden;
}
.gind_page .gisp_logo_item img {
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:118px !important;
    object-fit:contain !important;
    opacity:1 !important;
    filter:none !important;
    transform:none !important;
    image-rendering:auto !important;
}
.gind_page .gisp_logo_wrap { padding-block:2px; }
.gind_page .gind_card_group { border:0 !important; background:transparent !important; box-shadow:none !important; padding:0 !important; }
@media (min-width:768px) and (max-width:1100px) {
    .gind_page :is(.saas_process_grid,.hs_process_grid,.hs_approach_grid,.edu_roadmap_grid,.local_process_grid,.b2b_process_grid,.ps_process_grid,.rg_process_steps,.hc_process_steps) { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:1023px) {
    .gind_page .gind_feature_panel { grid-template-columns:minmax(0,1fr) !important; }
    .gind_page .gind_feature_panel > * { grid-column:1 !important; }
}
@media (max-width:767px) {
    .gind_page .gind_compact_board > :not(.gind_feature_panel) { grid-template-columns:minmax(0,1fr) !important; }
    .gind_page .gind_portfolio_grid { columns:1; }
    .gind_page :is(.saas_process_grid,.hs_process_grid,.hs_approach_grid,.edu_roadmap_grid,.local_process_grid,.b2b_process_grid,.ps_process_grid,.rg_process_steps,.hc_process_steps) { grid-template-columns:minmax(0,1fr) !important; }
    .gind_page [class$="_final_actions"] { display:grid !important; grid-template-columns:minmax(0,1fr) !important; }
    .gind_page :is([class$="_final_actions"],[class*="_hero_actions"]) > a {
        width:100% !important;
        padding-inline:12px !important;
        gap:6px !important;
        font-size:clamp(11px,3.1vw,14px) !important;
    }
    .gind_page .gind_hero_grid { align-items:stretch !important; }
    .gind_page .gisp_logo_item { width:290px !important; flex-basis:290px !important; height:138px !important; padding:16px !important; }
    .gind_page .gisp_logo_item img { max-height:106px !important; }
}
@media (max-width:390px) {
    .gind_page :is([class$="_final_actions"],[class*="_hero_actions"]) > a svg { display:none; }
}
