/* ============================================================
   Premium Healthcare Services LLC — site styles
   Palette: ink #101C4E · royal #1D3FC4 · sky #58A6E8
            ice #EEF4FB · cream #FAF5EA · paper #FFFFFF
   Type:    Bricolage Grotesque (display) · Figtree (body)
   ============================================================ */

:root{
  --ink:#101C4E;
  --royal:#1D3FC4;
  --royal-dark:#152FA0;
  --sky:#58A6E8;
  --sky-soft:#D9E9F9;
  --ice:#EEF4FB;
  --cream:#FAF5EA;
  --paper:#FFFFFF;
  --text:#3A4262;
  --muted:#6B7394;
  --line:#E3E8F4;
  --radius:18px;
  --shadow:0 18px 45px -18px rgba(16,28,78,.22);
  --font-display:"Bricolage Grotesque", "Segoe UI", sans-serif;
  --font-body:"Figtree", "Segoe UI", sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{
  font-family:var(--font-body);
  color:var(--text);
  background:var(--paper);
  line-height:1.65;
  font-size:1.0rem;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--royal);text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--sky);outline-offset:2px;border-radius:4px;
}

h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);line-height:1.12;letter-spacing:-.015em}
h1{font-size:clamp(2.4rem,5.2vw,3.9rem);font-weight:700}
h2{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:700}
h3{font-size:1.22rem;font-weight:650}

.container{width:min(1180px,92%);margin-inline:auto}
.section{padding:5.5rem 0}
.section--ice{background:var(--ice)}
.section--cream{background:var(--cream)}

.eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-display);font-weight:600;font-size:.82rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--royal);
  margin-bottom:1rem;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--sky);border-radius:2px}

.lead{color:var(--muted);font-size:1.08rem;max-width:640px}
.center{text-align:center}
.center .lead{margin-inline:auto}
.section-head{margin-bottom:3rem}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-display);font-weight:650;font-size:.95rem;
  padding:.95rem 1.9rem;border-radius:999px;border:2px solid transparent;
  cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--royal);color:#fff;box-shadow:0 12px 26px -12px rgba(29,63,196,.55)}
.btn--primary:hover{background:var(--royal-dark)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff}
.btn--light{background:#fff;color:var(--royal)}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.7rem 0}
.brand{display:flex;align-items:center;gap:.7rem}
.brand img{width:54px;height:54px;object-fit:contain}
.brand-name{font-family:var(--font-display);font-weight:700;color:var(--ink);font-size:1.02rem;line-height:1.15}
.brand-name small{display:block;font-weight:600;font-size:.66rem;letter-spacing:.22em;color:var(--sky);text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:1.9rem;list-style:none}
.nav-links a{
  font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--ink);
  padding:.35rem 0;position:relative;
}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:-2px;height:2.5px;width:0;
  background:var(--royal);border-radius:2px;transition:width .2s ease;
}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{width:100%}
.nav-links a[aria-current="page"]{color:var(--royal)}
.nav-cta{white-space:nowrap}
.nav-toggle{
  display:none;background:none;border:0;cursor:pointer;padding:.4rem;
}
.nav-toggle span{display:block;width:26px;height:3px;background:var(--ink);border-radius:2px;margin:5px 0;transition:.25s}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(60rem 30rem at 110% -10%, var(--sky-soft), transparent 60%),
  linear-gradient(180deg,#fff 0%,var(--ice) 100%);}
.hero .container{
  display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center;
  padding-top:4.5rem;padding-bottom:5rem;
}
.hero h1 .accent{color:var(--royal)}
.hero p{margin:1.4rem 0 2.2rem;max-width:520px;color:var(--muted);font-size:1.1rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero-trust{display:flex;gap:2.2rem;margin-top:2.6rem;flex-wrap:wrap}
.hero-trust div{font-family:var(--font-display)}
.hero-trust strong{display:block;font-size:1.5rem;color:var(--ink);font-weight:700}
.hero-trust span{font-size:.85rem;color:var(--muted)}

.hero-visual{position:relative}
.arch{
  border-radius:260px 260px var(--radius) var(--radius);
  overflow:hidden;box-shadow:var(--shadow);
  border:8px solid #fff;
}
.arch img{width:100%;height:560px;object-fit:cover}
.badge-rotator{
  position:absolute;left:-56px;bottom:42px;width:150px;height:150px;
  background:#fff;border-radius:50%;box-shadow:var(--shadow);
  display:grid;place-items:center;
}
.badge-rotator svg{width:126px;height:126px;animation:spin 22s linear infinite}
.badge-rotator img{position:absolute;width:56px;height:56px}
@keyframes spin{to{transform:rotate(360deg)}}
.badge-rotator text{
  font-family:var(--font-display);font-size:9.2px;font-weight:650;
  letter-spacing:.24em;text-transform:uppercase;fill:var(--royal);
}

/* ---------- value cards ---------- */
.values-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem}
.value-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:1.8rem 1.4rem;text-align:center;transition:transform .2s ease, box-shadow .2s ease;
}
.value-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.value-card .icon{
  width:56px;height:56px;margin:0 auto 1rem;border-radius:16px;
  background:var(--sky-soft);display:grid;place-items:center;color:var(--royal);
}
.value-card .icon svg{width:28px;height:28px}
.value-card p{font-size:.9rem;color:var(--muted);margin-top:.5rem}

/* ---------- mission / vision ---------- */
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.5rem}
.mv-card{
  border-radius:var(--radius);padding:2.4rem;position:relative;overflow:hidden;
}
.mv-card--mission{background:var(--ink);color:#C9D4F5}
.mv-card--mission h3{color:#fff;font-size:1.5rem}
.mv-card--vision{background:var(--cream);border:1px solid #EFE6CF}
.mv-card--vision h3{font-size:1.5rem}
.mv-card--vision p{color:#5C5A4E}
.mv-card h3{margin-bottom:.8rem}
.mv-card .mv-mark{position:absolute;right:-24px;top:-24px;width:120px;opacity:.1}

/* ---------- gallery ---------- */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:1rem}
.gallery figure{border-radius:var(--radius);overflow:hidden}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gallery figure:hover img{transform:scale(1.05)}
.gallery .tall{grid-row:span 2}

/* ---------- services ---------- */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.service-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:2rem;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--sky)}
.service-card .icon{
  width:52px;height:52px;border-radius:14px;background:var(--ice);
  display:grid;place-items:center;color:var(--royal);margin-bottom:1.1rem;
}
.service-card .icon svg{width:26px;height:26px}
.service-card p{font-size:.93rem;color:var(--muted);margin-top:.45rem}

/* ---------- types of care band ---------- */
.care-band{
  position:relative;background:linear-gradient(rgba(16,28,78,.82),rgba(16,28,78,.82)),
  url("img/care-walker.jpg") center/cover fixed;
  color:#fff;padding:5.5rem 0;
}
.care-band h2{color:#fff}
.care-band .lead{color:#B9C6EE}
.care-list{list-style:none;margin:1.8rem 0 2.4rem;display:grid;gap:.9rem;max-width:560px}
.care-list li{
  display:flex;align-items:center;gap:.85rem;font-family:var(--font-display);
  font-weight:600;font-size:1.05rem;
}
.care-list li svg{width:24px;height:24px;color:var(--sky);flex-shrink:0}

/* ---------- 24/7 split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.split .arch--small img{height:430px}
.split blockquote{
  border-left:4px solid var(--sky);padding-left:1.2rem;margin:1.4rem 0 2rem;
  color:var(--muted);font-size:1.05rem;
}

/* ---------- page hero (interior pages) ---------- */
.page-hero{
  background:radial-gradient(50rem 24rem at 100% 0%, var(--sky-soft), transparent 55%), var(--ice);
  padding:4.5rem 0;text-align:center;
}
.page-hero .lead{margin:1.1rem auto 0;max-width:680px}

/* ---------- career ---------- */
.career-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:start}
.check-list{list-style:none;display:grid;gap:.85rem;margin-top:1.2rem}
.check-list li{display:flex;gap:.8rem;align-items:flex-start}
.check-list svg{width:22px;height:22px;color:var(--royal);flex-shrink:0;margin-top:.2rem}
.apply-card{
  background:var(--cream);border:1px solid #EFE6CF;border-radius:var(--radius);
  padding:2.4rem;position:sticky;top:100px;
}
.apply-card h3{font-size:1.45rem;margin-bottom:.8rem}
.apply-card p{color:#5C5A4E;margin-bottom:1.6rem}

/* ---------- forms ---------- */
.form-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:2.6rem;box-shadow:var(--shadow);
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.form-grid .full{grid-column:1/-1}
label{
  display:block;font-family:var(--font-display);font-weight:600;font-size:.9rem;
  color:var(--ink);margin-bottom:.4rem;
}
label .req{color:#D14343}
input,select,textarea{
  width:100%;font-family:var(--font-body);font-size:.98rem;color:var(--ink);
  padding:.85rem 1rem;border:1.5px solid var(--line);border-radius:12px;
  background:#FCFDFF;transition:border-color .15s ease;
}
input:focus,select:focus,textarea:focus{border-color:var(--royal)}
textarea{min-height:140px;resize:vertical}
.form-note{font-size:.85rem;color:var(--muted);margin-top:1rem}
.form-status{
  display:none;margin-top:1.2rem;padding:1rem 1.2rem;border-radius:12px;
  font-family:var(--font-display);font-weight:600;font-size:.95rem;
}
.form-status.ok{display:block;background:#E8F7EE;color:#1C7C43;border:1px solid #BEE5CD}
.form-status.err{display:block;background:#FDEEEE;color:#B03A3A;border:1px solid #F2CACA}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}
.contact-info{display:grid;gap:1.2rem;margin-bottom:2rem}
.contact-info .item{
  display:flex;gap:1rem;align-items:flex-start;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1.4rem;
}
.contact-info .icon{
  width:46px;height:46px;border-radius:12px;background:var(--ice);
  display:grid;place-items:center;color:var(--royal);flex-shrink:0;
}
.contact-info .icon svg{width:22px;height:22px}
.contact-info h4{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:650}
.contact-info a,.contact-info p{color:var(--ink);font-weight:600;font-size:1.02rem}
.map-frame{
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  border:6px solid #fff;margin-top:2rem;
}
.map-frame iframe{width:100%;height:360px;border:0;display:block}

/* ---------- footer ---------- */
.site-footer{background:var(--ink);color:#B9C6EE;margin-top:0}
.footer-cta{
  background:var(--royal);color:#fff;text-align:center;padding:3.6rem 0;
}
.footer-cta h2{color:#fff;margin-bottom:.6rem}
.footer-cta p{color:#CBD8FB;margin-bottom:1.8rem}
.footer-main{
  display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2.5rem;padding:4rem 0 3rem;
}
.footer-main h4{color:#fff;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem}
.footer-main a{color:#B9C6EE;display:block;padding:.22rem 0;font-size:.95rem}
.footer-main a:hover{color:#fff}
.footer-brand img{width:64px;margin-bottom:1rem;background:#fff;border-radius:50%;padding:6px}
.footer-brand p{font-size:.92rem;max-width:280px}
.socials{display:flex;gap:.7rem;margin-top:1.2rem}
.socials a{
  width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);
  display:grid;place-items:center;color:#fff;transition:background .2s;
}
.socials a:hover{background:var(--sky)}
.socials svg{width:18px;height:18px}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);padding:1.4rem 0;
  text-align:center;font-size:.88rem;color:#8C9AC9;
}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .values-grid{grid-template-columns:repeat(3,1fr)}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .footer-main{grid-template-columns:1fr 1fr}
}
@media (max-width:840px){
  .hero .container,.split,.career-grid,.contact-grid,.mv-grid{grid-template-columns:1fr}
  .hero-visual{order:-1}
  .arch img{height:380px}
  .badge-rotator{left:auto;right:14px;bottom:-24px;width:120px;height:120px}
  .badge-rotator svg{width:100px;height:100px}
  .nav-links{
    position:fixed;inset:76px 0 auto 0;background:#fff;flex-direction:column;
    gap:0;padding:1rem 0;border-bottom:1px solid var(--line);display:none;
    box-shadow:var(--shadow);
  }
  .nav-links.open{display:flex}
  .nav-links li{width:100%;text-align:center}
  .nav-links a{display:block;padding:.9rem 0}
  .nav-toggle{display:block}
  .nav-cta{display:none}
  .apply-card{position:static}
}
@media (max-width:600px){
  .section{padding:3.6rem 0}
  .values-grid{grid-template-columns:1fr 1fr}
  .services-grid,.gallery{grid-template-columns:1fr}
  .gallery .tall{grid-row:span 1}
  .form-grid{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr}
  .care-band{background-attachment:scroll}
}
