/* ===================================================================
   COMFORT WAVE HOMECARE
   Loaded by the Comfort Wave Templates plugin on its own pages only.
   Every class is prefixed .cw- and scoped under .cw-page.
   =================================================================== */

/* full-bleed reset so the templates own the whole viewport */
body.cw-body{margin:0;padding:0}


.cw-page{
  --cw-deep:#0F3A3F;
  --cw-deep2:#164C52;
  --cw-sea:#2E7D74;
  --cw-sand:#FBF7F0;
  --cw-shell:#FFFFFF;
  --cw-ink:#12201F;
  --cw-muted:#5C6B6A;
  --cw-line:#DFD8CC;
  --cw-amber:#F0A830;
  --cw-display:"Bricolage Grotesque",-apple-system,BlinkMacSystemFont,sans-serif;
  --cw-body:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --cw-wrap:1180px;
  --cw-r:14px;

  background:var(--cw-sand);
  color:var(--cw-ink);
  font-family:var(--cw-body);
  font-size:17.5px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

.cw-page *{box-sizing:border-box}
.cw-page img{max-width:100%;display:block;height:auto}
.cw-page a{color:inherit}

.cw-page h1,.cw-page h2,.cw-page h3,.cw-page h4{
  font-family:var(--cw-display);font-weight:800;letter-spacing:-.022em;
  line-height:1.08;margin:0;color:var(--cw-ink);
}
.cw-page h1{font-size:clamp(2.5rem,5.4vw,4rem)}
.cw-page h2{font-size:clamp(1.9rem,3.5vw,2.8rem)}
.cw-page h3{font-size:1.24rem;letter-spacing:-.012em;line-height:1.25}
.cw-page p{margin:0}

.cw-wrap{max-width:var(--cw-wrap);margin:0 auto;padding:0 24px}

.cw-eyebrow{
  font-family:var(--cw-body);font-weight:600;font-size:.775rem;
  letter-spacing:.13em;text-transform:uppercase;color:var(--cw-sea);margin:0;
}

/* ---------- buttons ---------- */
.cw-page .cw-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--cw-body);font-weight:600;font-size:1.02rem;
  padding:.92rem 1.6rem;border-radius:999px;border:1.5px solid transparent;
  text-decoration:none;cursor:pointer;
  transition:transform .14s ease,background .18s ease;
}
.cw-page .cw-btn:hover{transform:translateY(-1px)}
.cw-page .cw-btn-primary{background:var(--cw-deep);color:#fff;box-shadow:0 6px 18px -8px rgba(15,58,63,.7)}
.cw-page .cw-btn-primary:hover{background:var(--cw-deep2);color:#fff}
.cw-page .cw-btn-ghost{background:transparent;color:var(--cw-deep);border-color:var(--cw-line)}
.cw-page .cw-btn-ghost:hover{border-color:var(--cw-deep);background:rgba(15,58,63,.05)}
.cw-page .cw-btn-dark{background:var(--cw-ink);color:#fff}
.cw-page .cw-btn-dark:hover{background:#000;color:#fff}
.cw-page a:focus-visible,.cw-page button:focus-visible,
.cw-page input:focus-visible,.cw-page select:focus-visible,.cw-page textarea:focus-visible{
  outline:3px solid var(--cw-sea);outline-offset:3px;border-radius:6px;
}

/* ---------- hiring bar + header ---------- */
.cw-hiring{background:var(--cw-amber);color:#3A2500;font-weight:600;font-size:.94rem;text-align:center;padding:.6rem 24px}
.cw-hiring a{color:#3A2500;text-underline-offset:3px}

.cw-hdr{position:sticky;top:0;z-index:60;background:rgba(251,247,240,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--cw-line)}
.cw-hdr-in{display:flex;align-items:center;gap:2rem;padding:.75rem 24px;max-width:var(--cw-wrap);margin:0 auto}
.cw-brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;flex-shrink:0}
.cw-brand img{width:44px;height:44px;object-fit:contain}
.cw-brand b{font-family:var(--cw-display);font-weight:800;font-size:1.06rem;letter-spacing:-.02em;line-height:1.05;display:block}
.cw-brand span span{font-size:.72rem;color:var(--cw-muted);letter-spacing:.04em}
.cw-nav{display:flex;gap:1.7rem;margin-left:auto}
.cw-nav a{text-decoration:none;font-weight:500;font-size:1rem;padding:.3rem 0;border-bottom:2px solid transparent}
.cw-nav a:hover{border-bottom-color:var(--cw-sea);color:var(--cw-deep)}
.cw-hdr-cta{display:flex;align-items:center;gap:1rem;flex-shrink:0}
.cw-tel{text-decoration:none;font-family:var(--cw-display);font-weight:800;font-size:1.1rem;color:var(--cw-deep);white-space:nowrap}
.cw-tel small{display:block;font-family:var(--cw-body);font-weight:500;font-size:.68rem;color:var(--cw-muted);letter-spacing:.05em;text-transform:uppercase}
.cw-burger{display:none;background:none;border:1.5px solid var(--cw-line);border-radius:9px;padding:.5rem .7rem;font-size:1.1rem;cursor:pointer}

/* ---------- hero ---------- */
.cw-hero{padding:4.4rem 0 3.2rem}
.cw-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3.6rem;align-items:start}
.cw-hero h1{margin:.85rem 0 0}
.cw-hero h1 em{font-style:normal;color:var(--cw-sea)}
.cw-lede{font-size:1.16rem;color:var(--cw-muted);max-width:31rem;margin-top:1.15rem}
.cw-btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.9rem}
.cw-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem}
.cw-chip{display:inline-flex;align-items:center;gap:.42rem;background:var(--cw-shell);border:1px solid var(--cw-line);border-radius:999px;padding:.42rem .9rem;font-size:.86rem;font-weight:500;color:var(--cw-deep)}
.cw-chip svg{flex-shrink:0}

/* signature snapshot panel */
.cw-snap{background:var(--cw-deep);color:#EAF2F0;border-radius:var(--cw-r);padding:1.75rem 1.7rem;box-shadow:0 22px 44px -28px rgba(15,58,63,.85)}
.cw-snap-live{display:flex;align-items:center;gap:.55rem;font-weight:600;font-size:.83rem;letter-spacing:.1em;text-transform:uppercase;color:#8FD4C4;margin:0}
.cw-dot{width:9px;height:9px;border-radius:50%;background:#57D6A9;box-shadow:0 0 0 4px rgba(87,214,169,.22)}
.cw-page .cw-snap h3{color:#fff;margin:.7rem 0 1.25rem;font-size:1.42rem}
.cw-snap dl{margin:0}
.cw-snap-row{display:flex;justify-content:space-between;gap:1rem;padding:.72rem 0;border-top:1px solid rgba(255,255,255,.14);font-size:.95rem}
.cw-snap-row dt{color:#A7C0BD;margin:0}
.cw-snap-row dd{margin:0;font-weight:600;color:#fff;text-align:right}
.cw-snap-foot{margin-top:1.4rem;font-size:.85rem;color:#A7C0BD;line-height:1.5}

.cw-wave{display:block;width:100%;height:26px;color:var(--cw-line)}

/* ---------- sections ---------- */
.cw-sec{padding:4.4rem 0}
.cw-sec-head{max-width:38rem;margin-bottom:2.8rem}
.cw-sec-head h2{margin-top:.7rem}
.cw-sec-head p{color:var(--cw-muted);margin-top:.9rem;font-size:1.08rem}
.cw-shell{background:var(--cw-shell);border-top:1px solid var(--cw-line);border-bottom:1px solid var(--cw-line)}

.cw-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.cw-card{background:var(--cw-sand);border:1px solid var(--cw-line);border-radius:var(--cw-r);padding:1.5rem 1.4rem;transition:border-color .18s ease,transform .18s ease}
.cw-card:hover{border-color:var(--cw-sea);transform:translateY(-2px)}
.cw-card svg{width:38px;height:38px;color:var(--cw-sea);margin-bottom:1rem}
.cw-card h3{margin-bottom:.5rem}
.cw-card p{color:var(--cw-muted);font-size:.98rem}

.cw-who{background:var(--cw-shell);border:1px solid var(--cw-line);border-radius:var(--cw-r);overflow:hidden}
.cw-who img{height:172px;width:100%;object-fit:cover}
.cw-who-body{padding:1.4rem}
.cw-who-body p{color:var(--cw-muted);font-size:.97rem;margin-top:.55rem}
.cw-list{margin:.95rem 0 0;padding:0;list-style:none}
.cw-list li{font-size:.94rem;padding-left:1.35rem;position:relative;margin-bottom:.4rem}
.cw-list li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--cw-sea)}

/* numbered steps */
.cw-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;counter-reset:cwstep}
.cw-step{position:relative;padding-top:2.4rem;border-top:2px solid var(--cw-line)}
.cw-step::before{counter-increment:cwstep;content:counter(cwstep,decimal-leading-zero);position:absolute;top:.9rem;left:0;font-family:var(--cw-display);font-weight:800;font-size:.9rem;color:var(--cw-sea);letter-spacing:.06em}
.cw-step h3{font-size:1.1rem;margin-bottom:.45rem}
.cw-step p{color:var(--cw-muted);font-size:.95rem}

/* careers */
.cw-careers{background:var(--cw-ink);color:#fff}
.cw-careers .cw-wrap{padding-top:4.4rem;padding-bottom:4.4rem}
.cw-page .cw-careers h2{color:#fff}
.cw-careers .cw-eyebrow{color:var(--cw-amber)}
.cw-c-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.4rem;align-items:center}
.cw-pay{margin:1.8rem 0}
.cw-pay span{display:block;font-family:var(--cw-display);font-weight:800;font-size:3.1rem;color:var(--cw-amber);line-height:1}
.cw-pay small{font-size:.85rem;color:#B9C2C1;letter-spacing:.03em}
.cw-careers p.cw-lede{color:#C4CDCC;max-width:none}
.cw-perks{list-style:none;padding:0;margin:1.7rem 0 2.1rem;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.4rem}
.cw-perks li{font-size:.97rem;padding-left:1.6rem;position:relative;color:#E4E9E8}
.cw-perks li::before{content:"\2713";position:absolute;left:0;color:var(--cw-amber);font-weight:700}
.cw-c-img{border-radius:var(--cw-r);overflow:hidden}
.cw-c-img img{min-height:390px;height:100%;width:100%;object-fit:cover}

/* faq */
.cw-faq{max-width:820px}
.cw-faq details{border-bottom:1px solid var(--cw-line);padding:1.25rem 0}
.cw-faq summary{font-family:var(--cw-display);font-weight:600;font-size:1.13rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start}
.cw-faq summary::-webkit-details-marker{display:none}
.cw-faq summary::after{content:"+";font-size:1.5rem;color:var(--cw-sea);line-height:1;flex-shrink:0}
.cw-faq details[open] summary::after{content:"\2013"}
.cw-faq details p{color:var(--cw-muted);margin-top:.8rem;font-size:1rem;max-width:62ch}

/* forms */
.cw-form{display:grid;gap:1rem}
.cw-field{display:grid;gap:.4rem}
.cw-field label{font-size:.85rem;font-weight:600;letter-spacing:.02em}
.cw-page .cw-field input,.cw-page .cw-field select,.cw-page .cw-field textarea{
  font-family:var(--cw-body);font-size:1rem;padding:.8rem .95rem;width:100%;
  border:1.5px solid var(--cw-line);border-radius:10px;background:var(--cw-shell);color:var(--cw-ink);
}
.cw-page .cw-field textarea{min-height:118px;resize:vertical}
.cw-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cw-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden}

/* captcha */
.cw-cap{background:var(--cw-shell);border:1.5px solid var(--cw-line);border-radius:10px;padding:1rem 1.1rem}
.cw-cap-top{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--cw-muted);margin-bottom:.7rem}
.cw-cap-top svg{color:var(--cw-sea);flex-shrink:0}
.cw-cap-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.cw-cap-q{font-family:var(--cw-display);font-weight:800;font-size:1.3rem;color:var(--cw-deep);letter-spacing:.02em;user-select:none}
.cw-page .cw-cap-row input{width:96px!important;text-align:center;font-weight:600}
.cw-cap-new{background:none;border:none;color:var(--cw-sea);font-family:var(--cw-body);font-size:.87rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:.3rem}
.cw-cap-ok{color:#1F7A55;font-weight:600;font-size:.9rem}
.cw-msg{border-radius:10px;padding:.85rem 1rem;font-size:.95rem;font-weight:500;display:none}
.cw-msg.cw-err{display:block;background:#FDECEA;color:#8C2318;border:1px solid #F3C4BE}
.cw-msg.cw-ok{display:block;background:#E7F5EE;color:#14603F;border:1px solid #B6E0CB}

/* contact info */
.cw-info{background:var(--cw-shell);border:1px solid var(--cw-line);border-radius:var(--cw-r);padding:1.7rem}
.cw-info h3{margin-bottom:1.2rem}
.cw-info-row{display:flex;gap:.85rem;padding:.85rem 0;border-top:1px solid var(--cw-line);align-items:flex-start}
.cw-info-row:first-of-type{border-top:none;padding-top:0}
.cw-info-row svg{color:var(--cw-sea);flex-shrink:0;margin-top:.22rem}
.cw-info-row a{color:var(--cw-deep);font-weight:600;text-decoration:none;word-break:break-word}
.cw-info-row a:hover{text-decoration:underline}
.cw-info-row small{display:block;color:var(--cw-muted);font-size:.84rem;font-weight:400}
.cw-map{margin-top:1.2rem;border-radius:var(--cw-r);overflow:hidden;border:1px solid var(--cw-line);height:230px}
.cw-map iframe{width:100%;height:100%;border:0;display:block}
.cw-g2{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem}

/* footer */
.cw-ftr{background:var(--cw-deep);color:#C2D3D1;padding:3.6rem 0 2rem;font-size:.95rem}
.cw-ftr-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.4rem}
.cw-page .cw-ftr h4{color:#fff;font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;margin-bottom:1rem;font-family:var(--cw-body)}
.cw-ftr ul{list-style:none;padding:0;margin:0}
.cw-ftr li{margin-bottom:.55rem}
.cw-ftr a{color:#C2D3D1;text-decoration:none}
.cw-ftr a:hover{color:#fff;text-decoration:underline}
.cw-ftr-brand img{width:52px;margin-bottom:.9rem;filter:brightness(0) invert(1)}
.cw-ftr-brand p{max-width:20rem;font-size:.94rem}
.cw-ftr-bot{margin-top:2.8rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.87rem;color:#9AB2AF}

/* page banner (inner pages) */
.cw-banner{background:var(--cw-deep);color:#fff;padding:3.6rem 0 3.2rem}
.cw-page .cw-banner h1{color:#fff;margin-top:.7rem;font-size:clamp(2.2rem,4.6vw,3.3rem)}
.cw-banner p{color:#A7C0BD;margin-top:1rem;max-width:34rem;font-size:1.08rem}
.cw-banner .cw-eyebrow{color:#8FD4C4}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .cw-hero-grid,.cw-c-grid,.cw-g2{grid-template-columns:1fr;gap:2.6rem}
  .cw-g3{grid-template-columns:repeat(2,1fr)}
  .cw-steps{grid-template-columns:repeat(2,1fr);gap:1.8rem 1.4rem}
  .cw-ftr-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .cw-c-img img{min-height:280px}
}
@media (max-width:760px){
  .cw-page{font-size:17px}
  .cw-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cw-sand);border-bottom:1px solid var(--cw-line);flex-direction:column;gap:0;padding:.5rem 24px 1.2rem}
  .cw-nav.cw-open{display:flex}
  .cw-nav a{padding:.75rem 0;border-bottom:1px solid var(--cw-line)}
  .cw-burger{display:block;margin-left:auto;order:3}
  .cw-hdr-in{position:relative;gap:1rem}
  .cw-hdr-cta .cw-btn{display:none}
  .cw-tel{font-size:1rem}
  .cw-hero{padding:3rem 0 2.4rem}
  .cw-sec,.cw-careers .cw-wrap{padding-top:3.4rem;padding-bottom:3.4rem}
  .cw-g3,.cw-steps,.cw-two,.cw-perks{grid-template-columns:1fr}
  .cw-btns .cw-btn{flex:1 1 100%}
  .cw-ftr-grid{grid-template-columns:1fr}
}

/* motion preference */
@media (prefers-reduced-motion:reduce){
  .cw-page *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
html{scroll-behavior:smooth}

/* captcha loading state */
.cw-cap-q:empty::before{content:"\2026";color:var(--cw-muted)}

/* checkbox groups (application form) */
.cw-field-label{font-size:.85rem;font-weight:600;letter-spacing:.02em}
.cw-checks{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.15rem}
.cw-confirm{display:grid;gap:.6rem}
.cw-page .cw-check{
  display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;
  background:var(--cw-shell);border:1.5px solid var(--cw-line);border-radius:10px;
  padding:.62rem .9rem;font-size:.95rem;line-height:1.45;
  transition:border-color .15s ease,background .15s ease;
}
.cw-checks .cw-check{align-items:center;padding:.5rem .85rem;font-size:.92rem}
.cw-page .cw-check:hover{border-color:var(--cw-sea)}
.cw-page .cw-check input[type=checkbox]{
  width:18px!important;height:18px;flex-shrink:0;margin:.08rem 0 0;
  accent-color:var(--cw-sea);cursor:pointer;padding:0!important;
}
.cw-checks .cw-check input[type=checkbox]{margin:0}
.cw-page .cw-check:has(input:checked){border-color:var(--cw-sea);background:rgba(46,125,116,.06)}
