/* Lynhill Home Health – site styles (v2) */
@font-face{font-family:"Young Serif";src:url("/fonts/young-serif.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible Next";src:url("/fonts/atkinson-next.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}

:root{
  --ink:#0e2f44; --ink-deep:#0a2233; --sea:#1b6a99; --sky:#29a9e3; --marsh:#1b7f45;
  --mint:#d3ebe3; --skypale:#dcedf7; --goldpale:#fcebc2; --paper:#fbfcfc; --foam:#eef6f5;
  --gold:#f2b134; --gold-dark:#e29e1c; --text:#1b2b38; --muted:#4a5c6a; --line:#d5e2e4;
  --max:1120px; --r:22px;
  --serif:"Young Serif",Georgia,"Times New Roman",serif;
  --sans:"Atkinson Hyperlegible Next","Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:1.125rem;line-height:1.65;color:var(--text);background:var(--paper);-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;display:block}
a{color:var(--sea);text-underline-offset:.18em}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px var(--gold);border-radius:6px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.75rem 1rem;z-index:100}
.skip:focus{left:0}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--ink);line-height:1.15;margin:0 0 .55em;letter-spacing:-.005em}
h1{font-size:clamp(1.7rem,3.9vw,3.1rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}
h3{font-size:1.45rem}
h4{font-size:1.3rem}
p{margin:0 0 1em}

/* header */
.site-header{background:rgba(251,252,252,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px;max-width:var(--max);margin:0 auto}
.brand img{width:min(290px,56vw);height:auto}
.nav{display:flex;align-items:center;gap:8px}
.nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.nav a.link{display:block;padding:.5rem .9rem;text-decoration:none;color:var(--ink);font-weight:600;border-radius:8px;position:relative}
.nav a.link:hover{background:var(--foam)}
.nav a.link[aria-current="page"]::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.2rem;height:3px;background:var(--gold);border-radius:3px}
.nav .call{margin-left:10px}
.menu-btn{display:none;background:none;border:2px solid var(--ink);color:var(--ink);font:inherit;font-weight:700;padding:.45rem .95rem;border-radius:999px;cursor:pointer}

/* buttons */
.btn{display:inline-block;background:var(--gold);color:var(--ink);text-decoration:none;font:inherit;font-weight:700;line-height:1.2;padding:.9rem 1.6rem;border-radius:999px;border:2px solid var(--gold);cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:var(--ink)}
.btn.alt{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn.alt:hover{background:var(--ink);color:#fff}
.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.btn.dark:hover{background:var(--ink-deep);border-color:var(--ink-deep);color:#fff}
.btn.sm{padding:.55rem 1.15rem;font-size:1rem}

/* hero */
.hero{position:relative;background:var(--paper);overflow:hidden}
.hero::before{content:"";position:absolute;right:max(-6vw,-90px);top:50%;width:min(52vw,720px);aspect-ratio:1;transform:translateY(-46%);border-radius:50%;background:radial-gradient(circle at 40% 40%,#fdf0c9,#f9dc93 70%);opacity:.85}
.hero-media{position:absolute;right:0;bottom:0;width:min(64vw,1150px)}
.hero-media img{width:100%;height:auto;display:block;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%),linear-gradient(90deg,transparent 0,#000 24%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0,#000 22%),linear-gradient(90deg,transparent 0,#000 24%);mask-composite:intersect}
.hero-inner{position:relative;z-index:2;display:flex;align-items:center;max-width:var(--max);margin:0 auto;min-height:clamp(430px,36vw,550px);padding:60px 20px}
.hero-copy{max-width:44em}
.hero h1{max-width:none;text-wrap:balance;margin-bottom:.5em}
.hero .lead{font-size:1.25rem;color:var(--text);max-width:30em}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.6rem}

/* trust strip */
.trust{background:var(--mint);color:var(--ink)}
.trust ul{list-style:none;margin:0 auto;padding:16px 20px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 38px;font-weight:700;max-width:var(--max)}
.trust li{display:flex;align-items:center;gap:.55em}
.trust li::before{content:"";width:1.05em;height:1.05em;flex:none;border-radius:50%;background:var(--marsh) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.2 8.4l2.4 2.4 5-5.2' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}

/* sections */
.section{padding:76px 0}
.section-head{max-width:44em;margin-bottom:2.2rem}
.section-head p{color:var(--muted);font-size:1.15rem}
section[id],.target{scroll-margin-top:92px}

/* full-width photo */
.full-img{margin:0 0 2.4rem}
.full-img img{width:100%;height:clamp(220px,30vw,440px);object-fit:cover;display:block}

/* service tiles */
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.tile{border-radius:var(--r);padding:30px 30px 26px}
.tile h3{margin-bottom:.35em}
.tile p{margin-bottom:.8em}
.tile ul{list-style:none;margin:.4em 0 0;padding:0}
.tile li{position:relative;padding-left:1.35em;margin:.38em 0}
.tile li::before{content:"";position:absolute;left:0;top:.62em;width:.5em;height:.5em;border-radius:50%;background:var(--marsh)}
.t-nursing{grid-column:span 3;grid-row:span 2;background:var(--ink);color:#e6eef3;display:flex;flex-direction:column}
.t-nursing h3{color:#fff;font-size:1.8rem}
.t-nursing li::before{background:var(--gold)}
.t-pt{grid-column:span 3;background:var(--mint)}
.t-ot{grid-column:span 3;background:var(--skypale)}
.t-speech{grid-column:span 2;background:var(--goldpale)}
.t-aide{grid-column:span 2;background:var(--mint)}
.t-social{grid-column:span 2;background:var(--skypale)}
.subhead{margin:3.2rem 0 1.2rem}
.programs{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.program{border-left:6px solid var(--marsh);background:var(--foam);padding:24px 28px;border-radius:0 var(--r) var(--r) 0}
.program p{margin:0;color:var(--text)}

/* mission */
.banner{position:relative;color:#fff;background:var(--ink);overflow:hidden}
.banner img{width:100%;height:clamp(180px,26vw,320px);object-fit:cover}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,34,51,.94) 0%,rgba(14,47,68,.74) 46%,rgba(14,47,68,.12) 100%)}
.banner .wrap{position:absolute;inset:0;z-index:2;display:flex;align-items:center}
.banner h1{color:#fff;margin:0}
.banner.tall img{height:clamp(300px,34vw,430px)}
.mission-text{font-family:var(--serif);color:#fff;font-size:clamp(1.45rem,3.3vw,2.4rem);line-height:1.3;max-width:23em;margin:0}

/* president */
.president{background:var(--foam)}
.president .grid{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:start}
.president h2{margin-bottom:.4em}
.sign{font-family:var(--serif);color:var(--ink);font-size:1.25rem;line-height:1.35;margin-top:1.6rem}
.sign small{display:block;font-family:var(--sans);font-size:1rem;color:var(--muted);margin-top:.2rem}
.letter p{font-size:1.2rem}
.eeo{font-size:1rem;color:var(--muted);max-width:56em;margin:0}

/* testimonials */
.testimonials{background:var(--ink);color:#fff}
.testimonials h2{color:#fff}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0;margin-top:2.2rem}
figure.quote{margin:0;padding:6px 34px 6px 0;display:flex;flex-direction:column}
figure.quote+figure.quote{padding-left:34px;border-left:1px solid rgba(255,255,255,.2)}
figure.quote::before{content:"\201C";font-family:var(--serif);font-size:4.2rem;line-height:1;height:2.1rem;color:var(--gold);display:block;margin-bottom:.2rem}
figure.quote blockquote{margin:0 0 1.3rem}
figure.quote blockquote p{font-size:1.15rem;line-height:1.6;color:#eef4f7;margin:0}
figure.quote figcaption{margin-top:auto;font-weight:700;color:var(--gold)}

/* closing CTA */
.cta-band{background:var(--gold);color:var(--ink);padding:68px 20px;text-align:center}
.cta-band h2{color:var(--ink)}
.cta-band p{max-width:34em;margin:0 auto 1.6rem;font-size:1.2rem}
.cta-band .btn{background:var(--ink);border-color:var(--ink);color:#fff}
.cta-band .btn:hover{background:var(--ink-deep);border-color:var(--ink-deep)}
.cta-band .btn.alt{background:transparent;color:var(--ink);margin-left:10px}
.cta-band .btn.alt:hover{background:var(--ink);color:#fff}
.cta-band :focus-visible{box-shadow:0 0 0 6px #fff}

/* contact */
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}
.notice{background:var(--foam);border-left:6px solid var(--marsh);padding:16px 22px;border-radius:0 16px 16px 0;margin-bottom:1.3rem}
.notice p{margin:0}
form .field{margin-bottom:1.25rem}
label{display:block;font-weight:700;margin-bottom:.35rem;color:var(--ink)}
label .opt{font-weight:400;color:var(--muted)}
input[type=text],input[type=tel],input[type=email],select,textarea{width:100%;font:inherit;padding:.8rem 1rem;border:2px solid #8ea9b3;border-radius:14px;background:#fff;color:var(--text)}
input:focus,select:focus,textarea:focus{outline:3px solid var(--ink);outline-offset:1px;border-color:var(--ink);box-shadow:0 0 0 6px var(--gold)}
textarea{min-height:150px;resize:vertical}
.hint{font-size:.98rem;color:var(--muted);margin-top:.3rem}
.hp{position:absolute;left:-9999px}
.info-box{background:var(--ink);color:#e6eef3;border-radius:var(--r);padding:32px}
.info-box h2{color:#fff;font-size:1.5rem}
.info-box dl{margin:0}
.info-box dt{font-weight:700;color:var(--gold);margin-top:1.1rem}
.info-box dd{margin:0}
.info-box a{color:#fff;font-weight:700}
.info-box a:hover{color:var(--gold)}
.info-box .big{font-family:var(--sans);font-weight:800;font-size:1.8rem;text-decoration:none;line-height:1.2;letter-spacing:.01em}
.info-box .hint{color:#b7cbd6;margin-top:1.4rem}

/* legal and utility pages */
.legal{max-width:46em}
.legal h2{font-size:1.5rem;margin-top:2em}
.legal ul{padding-left:1.3em}
.updated{color:var(--muted);font-size:1rem}
.not-found{text-align:center;padding:90px 20px}

/* footer */
.site-footer{background:var(--ink-deep);color:#c9d9e3;padding:56px 0 26px;font-size:1.02rem}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:34px}
.site-footer h2{font-family:var(--serif);font-size:1.2rem;color:#fff;margin-bottom:.7em}
.site-footer a{color:#fff}
.site-footer a:hover{color:var(--gold)}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:.4em 0}
.site-footer .logo-box{background:#fff;border-radius:14px;padding:12px 16px;display:inline-block;margin-bottom:14px}
.site-footer .logo-box img{width:230px}
.legal-line{border-top:1px solid rgba(255,255,255,.16);margin-top:34px;padding-top:18px;font-size:.95rem;color:#9fb6c4}

@media (max-width:980px){
  .menu-btn{display:none}
  .js .menu-btn{display:block}
  .js .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:12px 20px 22px;box-shadow:0 14px 24px rgba(10,34,51,.1)}
  .js .nav.open{display:flex}
  .nav ul{flex-direction:column}
  .nav .call{margin:12px 0 0;text-align:center}
  .nav a.link[aria-current="page"]::after{left:.9rem;right:auto;width:2.2rem}
  .header-inner{position:relative}
  html:not(.js) .header-inner{flex-wrap:wrap}
  html:not(.js) .nav{flex-wrap:wrap}
  html:not(.js) .nav ul{flex-direction:row;flex-wrap:wrap}

  .hero::before{display:none}
  .hero{background:linear-gradient(180deg,#fff,var(--foam))}
  .hero-media{position:relative;right:auto;bottom:auto;width:100%;height:230px;background:radial-gradient(circle at 70% 50%,#fdf0c9,#fff 70%)}
  .hero-media img{height:100%;object-fit:cover;object-position:70% center;-webkit-mask-image:none;mask-image:none;-webkit-mask-composite:initial;mask-composite:initial}
  .hero h1{font-size:clamp(1.5rem,6.6vw,2.2rem)}
  .hero-inner{display:block;min-height:0;padding:30px 20px 46px}

  .contact-grid,.footer-grid,.president .grid{grid-template-columns:1fr}
  .president .grid{gap:10px}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .t-nursing{grid-column:span 2;grid-row:auto}
  .t-pt,.t-ot,.t-speech,.t-aide{grid-column:span 1}
  .t-social{grid-column:span 2}
  figure.quote,figure.quote+figure.quote{padding:6px 0 26px;border-left:0}
  figure.quote+figure.quote{border-top:1px solid rgba(255,255,255,.2);padding-top:26px}
  .banner::after{background:rgba(10,34,51,.78)}
  .cta-band .btn.alt{margin:12px 0 0}
}
@media (max-width:640px){
  .tiles{grid-template-columns:1fr}
  .t-nursing,.t-pt,.t-ot,.t-speech,.t-aide,.t-social{grid-column:auto}
  .section{padding:56px 0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-header,.cta-band,.menu-btn{display:none}}
.section.slim{padding:44px 0 52px}
.tile-cta{margin-top:auto;padding-top:1.6rem;color:var(--gold);font-weight:700;text-decoration-color:rgba(242,177,52,.5)}
.tile-cta:hover{color:#fff}

/* mission panel */
.mission-panel{background:var(--ink);padding:92px 0}
.mission-panel .mission-text{font-size:clamp(1.6rem,3.8vw,2.8rem);max-width:21em}

::placeholder{color:#5a6b77;opacity:1}
