/* WordPress-specific additions for the Ideal Home Care theme. */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:#fff;clip:auto!important;clip-path:none;color:#1a1a1a;display:block;height:auto;left:5px;padding:12px 20px;top:5px;width:auto;z-index:100000}

/* Banner with no featured image yet */
.svc-hero:not(:has(.svc-hero-bg)){background:var(--dark)}

/* Article body content added in the editor */
.article-body img{max-width:100%;height:auto;border-radius:12px}
.article-body .wp-block-image,.article-body figure{margin:1.5rem 0}
.article-body figcaption{font-size:var(--text-xs);color:var(--gray-600);margin-top:.5rem}
.article-hero img{width:100%;height:auto}
.alignleft{float:left;margin:0 1.5rem 1rem 0}
.alignright{float:right;margin:0 0 1rem 1.5rem}
.aligncenter{display:block;margin-left:auto;margin-right:auto}

/* Search / archive pagination */
.ihcs-pagination{margin-top:2.5rem;display:flex;gap:.5rem;justify-content:center}
.ihcs-pagination .page-numbers{padding:.5rem .9rem;border-radius:8px;background:var(--gray-100);color:var(--dark);text-decoration:none}
.ihcs-pagination .page-numbers.current{background:var(--red);color:#fff}

.ihcs-404{text-align:center;max-width:720px}
.ihcs-404 .btn{margin:.35rem}

/* ===== Google Sheet tables (Open Shifts, Available Caregivers) ===== */
.sheet-wrap{margin-top:var(--head-gap,2rem)}
.sheet-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1.25rem}
.sheet-search{position:relative;flex:1 1 260px;display:flex;align-items:center}
.sheet-search svg{position:absolute;left:1rem;color:var(--gray-400,#999);pointer-events:none}
.sheet-search input,.sheet-filter select{width:100%;font:inherit;font-size:.92rem;padding:.75rem 1rem;border:1px solid rgba(0,0,0,.1);border-radius:999px;background:var(--white,#fff);color:var(--dark,#1a1a1a)}
.sheet-search input{padding-left:2.6rem}
.sheet-filter{flex:0 1 200px}
.sheet-filter select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23CC1F24' stroke-width='3'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.4rem;cursor:pointer}
.sheet-search input:focus,.sheet-filter select:focus{outline:2px solid var(--red,#CC1F24);outline-offset:1px}
.sheet-legend{display:flex;gap:.5rem;margin-left:auto}
.sheet-table-wrap{background:var(--white,#fff);border-radius:16px;border:1px solid rgba(0,0,0,.06);overflow:hidden;overflow-x:auto}
.sheet-table{width:100%;border-collapse:collapse;font-size:.92rem}
.sheet-table th{background:var(--dark,#1a1a1a);color:#fff;text-align:left;font-weight:600;font-size:.82rem;padding:.95rem 1.1rem;white-space:nowrap}
.sheet-table td{padding:.85rem 1.1rem;border-bottom:1px solid var(--gray-100,#f0f0f0);color:var(--gray-800,#333);vertical-align:middle}
.sheet-table tbody tr:nth-child(even) td{background:var(--gray-50,#fafafa)}
.sheet-table tbody tr.row-is-open td:first-child{box-shadow:inset 4px 0 0 #6b3fa0}
.sheet-table tbody tr.row-is-process td:first-child{box-shadow:inset 4px 0 0 #437a22}
.sheet-action{text-align:right;white-space:nowrap}
.sheet-btn{padding:.55rem 1.1rem;font-size:.82rem}
.sheet-status{display:inline-block;padding:.25rem .7rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;background:#eee;color:#555}
.sheet-status.is-open{background:#efe7f8;color:#6b3fa0}
.sheet-status.is-process{background:#e6f1e0;color:#437a22}
.sheet-status.is-closed{background:#eee;color:#777}
.sheet-empty,.sheet-empty-static{text-align:center;padding:2rem 1rem;color:var(--gray-600,#666)}
.sheet-updated{margin-top:.9rem;font-size:.8rem;color:var(--gray-400,#999);text-align:right}
.sheet-admin-note{background:#fff3cd;border-radius:10px;padding:.8rem 1rem;font-size:.85rem;margin-bottom:1rem}
@media (max-width:760px){
  .sheet-legend{margin-left:0}
  .sheet-filter{flex:1 1 45%}
  .sheet-table-wrap{background:none;border:0;overflow:visible}
  .sheet-table thead{position:absolute;left:-9999px}
  .sheet-table,.sheet-table tbody,.sheet-table tr,.sheet-table td{display:block;width:100%}
  .sheet-table tr{background:var(--white,#fff);border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:.4rem 0;margin-bottom:.9rem;overflow:hidden}
  .sheet-table tbody tr:nth-child(even) td{background:none}
  .sheet-table td{display:flex;gap:1rem;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--gray-100,#f0f0f0);padding:.6rem 1rem;text-align:right}
  .sheet-table td::before{content:attr(data-label);font-weight:600;color:var(--dark,#1a1a1a);text-align:left;flex-shrink:0;max-width:45%}
  .sheet-table td:last-child{border-bottom:0}
  .sheet-table td.sheet-action::before{content:none}
  .sheet-table td.sheet-action{justify-content:stretch}
  .sheet-table td.sheet-action .btn{width:100%;justify-content:center;text-align:center}
  .sheet-table tbody tr.row-is-open td:first-child,.sheet-table tbody tr.row-is-process td:first-child{box-shadow:none}
  .sheet-table tr.row-is-open{border-left:4px solid #6b3fa0}
  .sheet-table tr.row-is-process{border-left:4px solid #437a22}
}

/* Sheet cards layout (default) */
.sheet-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}
.sheet-group{grid-column:1/-1;font-family:var(--font-display);font-size:1.25rem;color:var(--dark,#1a1a1a);margin:1rem 0 0;padding-bottom:.5rem;border-bottom:2px solid var(--red,#CC1F24)}
.sheet-group:first-child{margin-top:0}
.sheet-card{display:flex;flex-direction:column;background:var(--white,#fff);border:1px solid rgba(0,0,0,.06);border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.04);overflow:hidden}
.sheet-card.row-is-open{border-top:4px solid #6b3fa0}
.sheet-card.row-is-process{border-top:4px solid #437a22}
.sheet-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1.15rem 1.25rem .75rem}
.sheet-card-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--dark,#1a1a1a);line-height:1.25}
.sheet-card-title span{display:block;font-family:var(--font-body,inherit);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red,#CC1F24);margin-bottom:.2rem}
.sheet-card-body{margin:0;padding:0 1.25rem;flex:1}
.sheet-card-body div{display:grid;grid-template-columns:minmax(90px,38%) 1fr;gap:.75rem;padding:.55rem 0;border-top:1px solid var(--gray-100,#f0f0f0);font-size:.9rem}
.sheet-card-body dt{font-weight:600;color:var(--gray-600,#666)}
.sheet-card-body dd{margin:0;color:var(--gray-800,#333);overflow-wrap:anywhere}
.sheet-card-foot{padding:1rem 1.25rem 1.25rem}
.sheet-card-foot .btn{width:100%;justify-content:center;text-align:center}
.sheet-group-row th{background:var(--gray-50,#fafafa)!important;color:var(--dark,#1a1a1a)!important;font-family:var(--font-display);font-size:1rem;text-align:left}
.sheet-wrap.is-cards .sheet-toolbar{justify-content:space-between}
@media (max-width:760px){.sheet-cards{grid-template-columns:1fr}}

/* Sheet embedded as staff format it (default) */
.sheet-embed{margin-top:var(--head-gap,2rem);background:var(--white,#fff);border:1px solid rgba(0,0,0,.06);border-radius:18px;box-shadow:0 12px 32px rgba(0,0,0,.06);overflow:hidden}
.sheet-embed-bar{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;background:var(--dark,#1a1a1a);color:#fff}
.sheet-embed-legend{display:flex;flex-wrap:wrap;gap:.5rem}
.sheet-embed-chip{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;padding:.3rem .75rem .3rem .45rem;border-radius:999px;background:rgba(255,255,255,.1)}
.sheet-embed-chip i{width:14px;height:14px;border-radius:4px;display:inline-block;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.sheet-embed-actions{display:flex;align-items:center;gap:1.25rem;margin-left:auto;font-size:.8rem}
.sheet-embed-live{display:inline-flex;align-items:center;gap:.45rem;color:rgba(255,255,255,.75)}
.sheet-embed-live b{width:8px;height:8px;border-radius:50%;background:#5ccf6b;box-shadow:0 0 0 3px rgba(92,207,107,.25)}
.sheet-embed-open{display:inline-flex;align-items:center;gap:.4rem;color:#fff;font-weight:700;text-decoration:none;padding:.45rem .9rem;border-radius:999px;background:var(--red,#CC1F24)}
.sheet-embed-open:hover{filter:brightness(1.08)}
.sheet-embed-frame{position:relative;height:var(--sheet-h,760px);background:#fff}
.sheet-embed-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.sheet-embed-hint{margin:0;padding:.75rem 1.25rem;font-size:.8rem;color:var(--gray-600,#666);background:var(--gray-50,#fafafa);border-top:1px solid var(--gray-100,#f0f0f0)}
.sheet-embed-hint a{color:var(--red,#CC1F24);font-weight:600}
@media (max-width:760px){
  .sheet-embed-frame{height:min(var(--sheet-h,760px),70vh)}
  .sheet-embed-actions{margin-left:0;width:100%;justify-content:space-between}
  .sheet-embed-live{display:none}
}

/* Table layout: column sizing */
.sheet-table{table-layout:auto}
.sheet-table th.col-short,.sheet-table td.col-short{white-space:nowrap}
.sheet-table td.col-long{min-width:240px;max-width:420px;line-height:1.5;color:var(--gray-600,#555)}
.sheet-table td.col-key{font-weight:700;color:var(--dark,#1a1a1a)}
.sheet-table td.col-status{text-align:center}
.sheet-table th.col-status{text-align:center}
.sheet-table th.sheet-action,.sheet-table td.sheet-action{width:1%}
@media (max-width:760px){
  .sheet-table td.col-short,.sheet-table td.col-long{white-space:normal;min-width:0;max-width:none}
  .sheet-table td.col-status{text-align:right}
}
.sheet-table th,.sheet-table td{padding-left:.85rem;padding-right:.85rem}
.sheet-table td.col-long{min-width:190px;max-width:300px}
.sheet-table td.sheet-action{padding-left:.4rem}
.sheet-table .sheet-btn{padding:.5rem .95rem;font-size:.8rem}
@media (max-width:760px){
  .sheet-table tr.sheet-group-row{background:none;border:0;border-radius:0;padding:0;margin:1.25rem 0 .75rem;overflow:visible}
  .sheet-table tr.sheet-group-row:first-child{margin-top:0}
  .sheet-table tr.sheet-group-row th{display:block;width:100%;background:none!important;padding:0 0 .5rem;font-size:1.15rem;border-bottom:2px solid var(--red,#CC1F24)}
}
@media (max-width:760px){
  .sheet-table td.col-long{min-width:0;max-width:none}
  .sheet-table th.sheet-action,.sheet-table td.sheet-action{width:100%;padding:.75rem 1rem}
  .sheet-table td.sheet-action .sheet-btn{width:100%;padding:.75rem 1rem;font-size:.9rem}
}

/* ===== Apply for a Shift ===== */
.shift-chip{display:inline-block;margin:0 auto 1.5rem;padding:.55rem 1.1rem;border-radius:999px;background:var(--red-soft,#fdecec);color:var(--dark,#1a1a1a);font-size:.92rem}
.shift-chip strong{color:var(--red,#CC1F24)}
.shift-apply .form-card{text-align:center}
.shift-apply .form-card form,.shift-apply .ihcs-gform{text-align:left}
.shift-back{margin:1.5rem 0 0;font-size:.9rem}
.shift-back a{color:var(--red,#CC1F24);font-weight:600;text-decoration:none}

/* Gravity Forms in the site design */
.ihcs-gform .gform_wrapper{margin:0}
.ihcs-gform .gform_heading,.ihcs-gform .gform_required_legend{display:none}
.ihcs-gform .gform_fields{row-gap:1.1rem!important}
.ihcs-gform .gfield_label,.ihcs-gform legend.gfield_label{font-family:var(--font-body,inherit)!important;font-size:.85rem!important;font-weight:600!important;color:var(--dark,#1a1a1a)!important;margin-bottom:.4rem!important}
.ihcs-gform .gfield_required{color:var(--red,#CC1F24)!important}
.ihcs-gform .gform-field-label--type-sub,.ihcs-gform .ginput_complex label{font-size:.75rem!important;color:var(--gray-600,#666)!important}
.ihcs-gform input[type=text],.ihcs-gform input[type=email],.ihcs-gform input[type=tel],.ihcs-gform input[type=number],.ihcs-gform select,.ihcs-gform textarea{width:100%!important;font:inherit!important;font-size:.95rem!important;padding:.8rem 1rem!important;border:1px solid rgba(0,0,0,.12)!important;border-radius:10px!important;background:#fff!important;color:var(--dark,#1a1a1a)!important;box-shadow:none!important;min-height:0!important;line-height:1.4!important}
.ihcs-gform input:focus,.ihcs-gform select:focus,.ihcs-gform textarea:focus{outline:2px solid var(--red,#CC1F24)!important;outline-offset:1px!important;border-color:transparent!important}
.ihcs-gform .gfield_radio,.ihcs-gform .gfield_checkbox{display:flex!important;flex-wrap:wrap;gap:.5rem!important}
.ihcs-gform .gchoice{display:inline-flex!important;align-items:center;gap:.45rem;padding:.5rem 1rem;border:1px solid rgba(0,0,0,.12);border-radius:999px;background:#fff}
.ihcs-gform .gchoice label{margin:0!important;font-size:.9rem!important;max-width:none!important}
.ihcs-gform input[type=radio],.ihcs-gform input[type=checkbox]{accent-color:var(--red,#CC1F24)}
.ihcs-gform .gform_footer{justify-content:center;padding-top:1.25rem!important;margin:0!important}
.ihcs-gform .gform_button,.ihcs-gform input[type=submit]{background:var(--red,#CC1F24)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:.95rem 2.4rem!important;font:inherit!important;font-weight:700!important;font-size:1rem!important;cursor:pointer;box-shadow:0 8px 20px rgba(204,31,36,.25)!important;width:auto!important}
.ihcs-gform .gform_button:hover{filter:brightness(1.07)}
.ihcs-gform .gfield_description.validation_message,.ihcs-gform .gfield_validation_message{background:none!important;border:0!important;padding:.25rem 0 0!important;color:var(--red,#CC1F24)!important;font-size:.8rem!important}
.ihcs-gform .gform_validation_errors{border-radius:10px!important;box-shadow:none!important}
.ihcs-gform .gform_confirmation_message{padding:1.25rem;border-radius:12px;background:#e6f1e0;color:#2f5a17;font-weight:600;text-align:center}

/* About "Grow With Ideal": two cards fill the row */
.grow-grid:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,1fr);max-width:900px;margin-left:auto;margin-right:auto}
@media (max-width:760px){.grow-grid:has(> :nth-child(2):last-child){grid-template-columns:1fr}}

/* Testimonials: matching red opening and closing quote marks; separate name/location */
.testi-card blockquote::after { content: close-quote; color: var(--red); font-size: 1.5em; line-height: 0; vertical-align: -0.4em; margin-left: .1em; }
.testi-author .testi-name { display: block; font-size: var(--text-sm); color: var(--dark); font-weight: 700; }
.testi-author .testi-location { font-size: var(--text-xs); color: var(--gray-400); }

/* Testimonials: curly red quote marks with a space before and after the words */
.testi-card blockquote::before,
.testi-card blockquote::after { font-family: var(--font-display); font-style: normal; font-weight: 700; color: var(--red); font-size: 1.6em; line-height: 0; vertical-align: -0.35em; }
.testi-card blockquote::before { content: "\201C"; margin-right: 0.3em; }
.testi-card blockquote::after { content: "\201D"; margin-left: 0.3em; }

/* Join Our Team: perks grid in four columns, website-application link */
.feature-grid.feature-grid-4 { grid-template-columns: repeat(4, 1fr); }
.feature-grid.feature-grid-4 .feature-card h3 { margin-bottom: 0; }
@media (max-width: 1024px) { .feature-grid.feature-grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .feature-grid.feature-grid-4 { grid-template-columns: 1fr; } }
.apply-alt { margin-top: 1rem; font-size: 0.88rem; color: var(--gray-600); }
.apply-alt a { color: var(--red); font-weight: 600; }

/* Homepage Family Resources: four side articles, top and bottom aligned with the featured one */
@media (min-width: 881px) {
  .blog-section .blog-grid { align-items: stretch; }
  .blog-section .blog-featured { height: 100%; }
  .blog-section .blog-side { justify-content: space-between; }
  .blog-section .blog-side .blog-card { flex: 1 1 0; min-height: 0; }
}

/* Join Our Team: "How to Apply" photo layout (different from the homepage) */
.join-visual { position: relative; height: 480px; align-self: center; }
.join-visual::before { content: ""; position: absolute; top: 18px; right: 0; width: 46%; height: 62%; border-radius: 20px; background: var(--red-soft, #fdecec); }
.join-visual img { position: absolute; display: block; object-fit: cover; border-radius: 18px; box-shadow: 0 18px 40px rgba(0,0,0,0.12); }
.join-visual-a { top: 0; left: 0; width: 78%; aspect-ratio: 4 / 3; }
.join-visual-b { top: 44%; right: 0; width: 60%; aspect-ratio: 16 / 10; border: 8px solid #fff; object-position: 15% 30%; }
.join-visual-badge { position: absolute; left: 2%; bottom: 4%; z-index: 2; display: flex; flex-direction: column; gap: .2rem; padding: 1rem 1.25rem; border-radius: 16px; background: var(--red, #CC1F24); color: #fff; box-shadow: 0 12px 28px rgba(204,31,36,.3); max-width: 34%; }
.join-badge-label { font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; line-height: 1.2; }
.join-badge-roles { font-size: .8rem; font-weight: 600; letter-spacing: .02em; opacity: .92; }
@media (max-width: 880px) {
  .join-visual { order: -1; height: auto; display: grid; gap: 1rem; max-width: 560px; }
  .join-visual::before { display: none; }
  .join-visual img { position: static; width: 100%; border: 0; }
  .join-visual .join-visual-b { display: none; }
  .join-visual-badge { position: static; max-width: none; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: .6rem; }
}

/* School logo: the wide logo needs more room than the old square icon */
.school .school-logo { width: 190px; max-width: 100%; height: auto; padding: 4px; background: #fff; }
@media (max-width: 760px) { .school .school-logo { width: 170px; } }

/* Become a Caregiver: application with a side panel and numbered parts */
.bc-apply { background: var(--cream, #f9f7f4); padding: clamp(3.5rem, 7vw, 5.5rem) 0; }
.bc-apply-grid { display: grid; grid-template-columns: 330px 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.bc-apply-side { position: sticky; top: 110px; }
.bc-apply-side .section-eyebrow, .bc-apply-side .section-heading { text-align: left; }
.bc-apply-intro { margin-top: 1rem; font-size: .93rem; line-height: 1.7; color: var(--gray-600, #555); }
.bc-apply-intro a { color: var(--red, #CC1F24); font-weight: 600; }
.bc-apply-note { margin: 1rem 0 1.25rem; font-weight: 700; color: var(--red, #CC1F24); font-size: .92rem; }
.bc-apply-parts { margin: 0 0 1.5rem 13px; padding: 0; list-style: none; counter-reset: bcpart; border-left: 2px solid rgba(204,31,36,.2); }
.bc-apply-parts li { counter-increment: bcpart; position: relative; padding: .45rem 0 .45rem 1.6rem; font-size: .95rem; color: var(--dark, #1a1a1a); }
.bc-apply-parts li::before { content: counter(bcpart); position: absolute; left: -13px; top: .4rem; width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 2px solid var(--red, #CC1F24); color: var(--red, #CC1F24); font-size: .75rem; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.bc-apply-help { font-size: .9rem; color: var(--gray-600, #555); line-height: 1.6; }
.bc-apply-help a { color: var(--red, #CC1F24); font-weight: 600; }
.bc-apply-form { background: #fff; border-radius: 22px; padding: clamp(1.5rem, 3vw, 2.5rem); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.bc-apply-form legend { display: flex; align-items: center; gap: .6rem; }
.bc-num { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 8px; background: var(--red, #CC1F24); color: #fff; font-size: .85rem; font-weight: 800; flex-shrink: 0; }
@media (max-width: 900px) {
  .bc-apply-grid { grid-template-columns: 1fr; }
  .bc-apply-side { position: static; }
}

/* Caregiver application: collapsible parts */
.bc-stepped .app-section { border: 1px solid rgba(0,0,0,.08); border-radius: 14px; padding: 0; margin: 0 0 .75rem; }
.bc-stepped .app-section legend { float: left; width: 100%; padding: 0; margin: 0; }
.bc-stepped .app-section legend + * { clear: both; }
.bc-part-toggle { all: unset; box-sizing: border-box; width: 100%; display: flex; align-items: center; gap: .6rem; padding: 1rem 1.25rem; cursor: pointer; font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; color: var(--dark, #1a1a1a); }
.bc-part-toggle:focus-visible { outline: 2px solid var(--red, #CC1F24); outline-offset: -2px; border-radius: 14px; }
.bc-part-toggle::after { content: ""; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid var(--red, #CC1F24); border-bottom: 2px solid var(--red, #CC1F24); transform: rotate(45deg); transition: transform .2s; }
.bc-stepped .app-section.is-open .bc-part-toggle::after { transform: rotate(-135deg); }
.bc-stepped .app-section.is-done:not(.is-open) .bc-num { background: #437a22; }
.bc-part-body { padding: 0 1.25rem 1.25rem; }
.bc-stepped .app-section:not(.is-open) .bc-part-body { display: none; }
.bc-part-next { margin-top: 1rem; border: 0; border-radius: 999px; background: var(--dark, #1a1a1a); color: #fff; font: inherit; font-weight: 700; font-size: .9rem; padding: .65rem 1.4rem; cursor: pointer; }
.bc-part-next:hover { background: var(--red, #CC1F24); }
.bc-apply-parts li[role="button"] { cursor: pointer; }
.bc-apply-parts li[role="button"]:hover { color: var(--red, #CC1F24); }
.bc-stepped .btn-form-submit { margin-top: .75rem; }
.bc-apply-form .bc-stepped .app-section,
.bc-apply-form .bc-stepped .app-section + .app-section { margin: 0 0 .6rem; padding: 0; border-top: 1px solid rgba(0,0,0,.08); }
.bc-apply-form .bc-stepped { gap: 0; }

/* Homepage: tighter vertical spacing so the page is shorter */
.home { --head-gap: clamp(1.1rem, 2vw, 1.6rem); }
.home .about-intro, .home .services, .home .process, .home .testimonials, .home .faq, .home .blog-section { padding-top: clamp(1.75rem, 3.5vw, 2.75rem); padding-bottom: clamp(1.75rem, 3.5vw, 2.75rem); }
.home .video-section { padding-top: clamp(.75rem, 2vw, 1.25rem); padding-bottom: clamp(.75rem, 2vw, 1.25rem); }
.home .differentiators, .home .cta-banner { padding-top: clamp(1.5rem, 3vw, 2.25rem); padding-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.home .process-image { min-height: 500px; }
.home .about-grid, .home .process-grid, .home .faq-grid { row-gap: clamp(1.5rem, 3vw, 2rem); }
.home .about-stats { margin-top: 1.25rem; margin-bottom: 1.25rem; padding-top: 1rem; padding-bottom: 1rem; }
.home .services-header, .home .blog-header, .home .testi-header { margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem); }
.home .services-cta { margin-top: 1.5rem; }
.home .process .btn-dark-nav { margin-top: 1.25rem; }
.home .testi-card { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.home .hero-subhead { margin-bottom: 1.5rem; }
.home .blog-section .container > div[style*="margin-top"] { margin-top: 1.5rem !important; }
@media (max-width: 880px) {
  .home .about-grid, .home .process-grid, .home .faq-grid { gap: 1.5rem; }
  .home .process-image { min-height: 0; }
}

/* About page: calmer rhythm (one photo, stats strip, Founder + Team together) */
.about-page-intro { background: var(--cream, #faf8f5); }
.about-single { position: relative; }
.about-single-img { display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: var(--radius-xl, 24px); box-shadow: var(--shadow-lg, 0 20px 45px rgba(0,0,0,.12)); }
.about-stats.about-stats-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: clamp(2rem, 4vw, 3rem); padding-top: clamp(1.5rem, 3vw, 2rem); border-top: 1px solid rgba(0,0,0,.08); text-align: center; }
.about-stats-strip .stat-num { white-space: nowrap; }
.approach { background: #fff; }
.people { background: var(--cream, #faf8f5); padding: clamp(3rem, 6vw, 5rem) 0; }
.people .founder-grid, .people .team-grid { margin: 0; }
.people-divider { border: 0; border-top: 1px solid rgba(0,0,0,.08); margin: clamp(2.5rem, 5vw, 4rem) 0; }
.grow { background: #fff; }
.stat-num { white-space: nowrap; }
@media (max-width: 600px) { .about-stats.about-stats-strip { grid-template-columns: 1fr; gap: 1rem; } }
.sheet-table .sheet-action-first{text-align:left;padding-right:.4rem}
.sheet-table td.sheet-action-first{padding-left:1rem}
.two-col.two-col-single { grid-template-columns: 1fr; max-width: 880px; margin-left: auto; margin-right: auto; }

/* Phones and tablets: slider arrows sit beside the dots instead of over the text */
@media (max-width: 1180px) {
  .slider-arrow { top: auto; bottom: calc(5.5rem - 15px); transform: none; width: 40px; height: 40px; }
  .slider-arrow:hover { transform: scale(1.05); }
  .slider-prev { left: calc(50% - 115px); }
  .slider-next { right: calc(50% - 115px); }
  .slider-dot { position: relative; }
  .slider-dot::before { content: ""; position: absolute; inset: -12px; } /* bigger touch area */
}

/* Phones: compact "We Care. We Listen. We Act." bar, dots and arrows above it, text clear of both */
@media (max-width: 600px) {
  .hero-trust-bar { flex-wrap: nowrap; gap: 1rem; padding: .8rem .75rem; justify-content: space-around; }
  .trust-badge { font-size: 1rem; gap: .4rem; }
  .trust-badge svg { width: 18px; height: 18px; }
  .slider-dots { bottom: calc(3.4rem + 22px); }
  .slider-arrow { bottom: calc(3.4rem + 7px); width: 38px; height: 38px; }
  .hero-slide-text { padding-bottom: 8.5rem; }
  .hero { min-height: 720px; }
}
@media (max-width: 360px) {
  .trust-badge { font-size: .85rem; }
  .trust-badge svg { width: 16px; height: 16px; }
  .hero { min-height: 760px; }
}
@media (min-width: 601px) and (max-width: 1180px) {
  .hero-trust-bar { padding-top: 1.1rem; padding-bottom: 1.1rem; }
  .slider-dots { bottom: calc(4.2rem + 22px); }
  .slider-arrow { bottom: calc(4.2rem + 7px); }
  .hero { min-height: max(800px, 92vh); }
  .hero-slide-text { padding-bottom: 9rem; }
}

/* Phones/tablets: when the service cards stack, keep every icon on the same side */
@media (max-width: 1024px) {
  .services-showcase .services-col-right .svc-card { flex-direction: row-reverse; justify-content: space-between; }
}

/* Become a Caregiver: fewer boxes */
.bc-plain .two-col-single .info-card { background: none; border: 0; box-shadow: none; padding: 0; }
.bc-flat .resp-card { background: none; border: 0; border-left: 3px solid var(--red, #CC1F24); border-radius: 0; box-shadow: none; padding: .25rem 0 .25rem 1.4rem; }
.bc-flat .resp-card:hover { box-shadow: none; transform: none; }
.bc-open .benefit-box { background: none; border: 0; box-shadow: none; padding: 0; }
.bc-open .reasons-list.benefit-box { grid-template-columns: 1fr 1fr; column-gap: 2rem; }
@media (max-width: 600px) { .bc-open .reasons-list.benefit-box { grid-template-columns: 1fr; } }
.bc-apply-cta .btn-row { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin-top: .5rem; }
.btn-cta-ghost { border: 2px solid rgba(255,255,255,.7); color: #fff; background: transparent; }
.btn-cta-ghost:hover { background: #fff; color: var(--red, #CC1F24); }
