:root{--navy:#173653;--navy2:#0e2940;--blue:#6f8eab;--sage:#6f806c;--cream:#f8f3ea;--paper:#fffdf8;--gold:#b5965a;--ink:#24333d;--line:#ded3c3}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}img{max-width:100%;display:block}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);margin:0 0 18px}h1{font-size:clamp(3rem,7vw,6.8rem);line-height:.98;letter-spacing:-.04em}h1 em{color:#d8c7a3;font-weight:400}h2{font-size:clamp(2.2rem,4.5vw,4.2rem);line-height:1.08}h3{font-size:1.45rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-weight:700;font-size:.77rem}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:8px 5vw;position:sticky;top:0;z-index:40;background:rgba(248,243,234,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(23,54,83,.12)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--navy);font:1.1rem Georgia,serif;letter-spacing:.12em;text-transform:uppercase}.brand img{width:68px;height:68px;object-fit:contain}.site-header nav{display:flex;gap:28px}.site-header nav a{text-decoration:none;color:var(--navy);font-size:.9rem}.menu{display:none;background:none;border:0;font-size:1.8rem;color:var(--navy)}.hero{min-height:760px;position:relative;background:url('assets/sunset.jpg') center 48%/cover no-repeat;display:flex;align-items:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,31,48,.84),rgba(9,31,48,.52) 52%,rgba(9,31,48,.08))}.hero-content{position:relative;color:white;max-width:850px;padding:8vw 6vw}.hero h1{color:white}.hero p:not(.eyebrow){font-size:1.2rem;max-width:650px}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;padding:13px 22px;border-radius:28px;text-decoration:none;font-weight:700}.primary{background:var(--navy);color:white}.ghost{border:1px solid white;color:white}.intro,.quote-strip,.story,.map-contact{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.intro{padding:100px 6vw;background:var(--paper)}.intro img{width:100%;max-height:620px;object-fit:cover;border-radius:24px;box-shadow:0 20px 50px rgba(23,54,83,.13)}.section{padding:100px 6vw}.heading{max-width:820px;margin-bottom:45px}.programs{background:linear-gradient(180deg,var(--cream),#efe7db)}.program-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:35px}.feature-art{width:100%;height:100%;max-height:760px;object-fit:cover;border-radius:22px}.program-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.program-cards article{background:var(--paper);padding:32px;border-radius:18px;border:1px solid var(--line);box-shadow:0 12px 28px rgba(23,54,83,.07)}.program-cards span{color:var(--gold);font-weight:700}.quote-strip{padding:90px 6vw;background:var(--navy);color:white}.quote-strip h2{color:white}.quote-strip img{width:100%;max-height:600px;object-fit:cover;border-radius:22px}.serve{background:var(--paper)}.serve-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.serve-grid article{background:var(--cream);border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:0 16px 35px rgba(23,54,83,.08)}.serve-image{height:330px;background-size:cover;background-position:center}.serve-grid article>div:last-child{padding:28px}.story{background:#f1e9dd}.story-text .lead{font:italic 1.4rem Georgia,serif;color:var(--navy)}.signature{font:italic 1.2rem Georgia,serif;color:var(--sage)}.story-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px}.story-gallery img{height:520px;width:100%;object-fit:cover;border-radius:18px;box-shadow:0 16px 35px rgba(23,54,83,.1)}.coastal-break{min-height:590px;background:linear-gradient(rgba(13,41,64,.25),rgba(13,41,64,.72)),url('assets/sunset.jpg') center/cover no-repeat;display:flex;align-items:flex-end;padding:70px 6vw}.coastal-copy{max-width:760px;color:white}.coastal-copy h2{color:white}.map-contact{background:var(--paper)}.map-wrap{height:520px;border-radius:22px;overflow:hidden}.map-wrap iframe{width:100%;height:100%;border:0}.contact-card{background:var(--cream);padding:44px;border-radius:22px}.contact-card a{display:block;color:var(--navy);margin:10px 0}.contact-card .btn{display:inline-block;color:white;margin-top:18px}footer{display:grid;grid-template-columns:1fr 1.2fr .7fr;gap:35px;align-items:center;padding:45px 6vw 24px;background:var(--navy2);color:white}.footer-brand{display:flex;gap:15px;align-items:center}.footer-brand img{width:88px;height:88px;background:white;border-radius:50%;object-fit:contain}.footer-brand strong,.footer-brand span,.footer-info span,.footer-info a,.footer-qr strong,.footer-qr span{display:block}.footer-info a{color:white}.footer-qr{text-align:center}.footer-qr img{width:130px;margin:auto;background:white;padding:6px;border-radius:10px}.footer-qr span{font-size:.75rem;color:#d9c7a3}.copyright{grid-column:1/-1;text-align:center;border-top:1px solid rgba(255,255,255,.14);padding-top:18px}.reveal{opacity:1;transform:none}.js-enabled .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.js-enabled .reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.menu{display:block}.site-header nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--cream);padding:25px;flex-direction:column}.site-header nav.open{display:flex}.intro,.quote-strip,.story,.map-contact,.program-layout{grid-template-columns:1fr}.serve-grid{grid-template-columns:1fr}.program-cards{grid-template-columns:1fr 1fr}.hero{min-height:650px}.story-gallery img{height:420px}footer{grid-template-columns:1fr 1fr}.footer-qr{grid-column:1/-1}}
@media(max-width:620px){.site-header{height:74px}.brand img{width:54px;height:54px}.brand span{font-size:.82rem}.site-header nav{top:74px}.hero{min-height:620px}.hero-content{padding:90px 22px 60px}.hero h1{font-size:3.45rem}.intro,.quote-strip,.section{padding:68px 22px}.program-cards{grid-template-columns:1fr}.story-gallery{grid-template-columns:1fr}.story-gallery img{height:auto}.serve-image{height:300px}.coastal-break{min-height:500px;padding:55px 22px}.map-contact{padding:68px 22px}.contact-card{padding:30px 22px}footer{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}.footer-qr{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
/* Mobile hero refinement — keeps the full premium headline visible and readable */
.hero-content{width:100%;}
.hero h1,.hero p{overflow-wrap:normal;word-break:normal;}
.hero h1{text-shadow:0 3px 18px rgba(0,0,0,.38);}
.hero h1 em{color:#efd79d;text-shadow:0 3px 18px rgba(0,0,0,.45);}
.hero .eyebrow{color:#f0cf82;text-shadow:0 2px 10px rgba(0,0,0,.7);}
.hero p:not(.eyebrow){color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.65);}

@media(max-width:620px){
  body{overflow-x:hidden;}
  .site-header{padding:8px 14px;}
  .brand{gap:10px;min-width:0;}
  .brand img{flex:0 0 54px;}
  .brand span{font-size:.78rem;letter-spacing:.09em;white-space:nowrap;}
  .menu{flex:0 0 auto;padding:4px 0 4px 10px;}
  .hero{min-height:760px;align-items:flex-start;background-position:center 48%;}
  .hero-overlay{background:linear-gradient(90deg,rgba(6,25,40,.82),rgba(8,30,48,.60) 68%,rgba(8,30,48,.30));}
  .hero-content{max-width:none;padding:82px 22px 58px;}
  .hero .eyebrow{font-size:.72rem;line-height:1.55;letter-spacing:.13em;margin:0 0 22px;max-width:100%;}
  .hero h1{font-size:clamp(2.65rem,13vw,3.35rem);line-height:.98;letter-spacing:-.035em;margin-bottom:24px;max-width:100%;}
  .hero h1 br{display:block;}
  .hero h1 em{display:block;margin-top:7px;}
  .hero p:not(.eyebrow){font-size:1.08rem;line-height:1.62;max-width:100%;margin:0;}
  .buttons{display:grid;grid-template-columns:1fr;gap:14px;margin-top:30px;width:100%;}
  .btn{text-align:center;padding:14px 18px;font-size:1rem;line-height:1.25;}
  .ghost{justify-self:start;min-width:230px;}
}

@media(max-width:380px){
  .brand span{font-size:.71rem;letter-spacing:.07em;}
  .hero-content{padding-left:18px;padding-right:18px;}
  .hero h1{font-size:2.5rem;}
  .btn{font-size:.94rem;}
}

/* Credentials */
.credentials{background:var(--paper);}
.credentials .heading p:last-child{max-width:720px;}
.credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1000px;}
.credential-card{display:flex;align-items:center;gap:22px;background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 14px 34px rgba(23,54,83,.08);min-width:0;}
.credential-card h3{margin-bottom:5px;}
.credential-card p{margin:0;color:#42535e;}
.credential-icon{width:94px;height:94px;flex:0 0 94px;border-radius:50%;display:grid;place-items:center;border:2px solid #c9aa6a;background:linear-gradient(145deg,#173653,#0e2940);box-shadow:inset 0 0 0 5px rgba(255,255,255,.12),0 10px 22px rgba(23,54,83,.18);}
.credential-icon span{color:#f4d99d;font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:1.25rem;letter-spacing:.08em;}
/* Prevent clipped or partially hidden writing on narrow screens */
section,article,.hero-content,.story-text,.contact-card{min-width:0;}
h1,h2,h3,p,a,span{max-width:100%;}
.story-text p,.contact-card p,.quote-strip p,.coastal-copy p{overflow-wrap:anywhere;}
@media(max-width:620px){
  .credential-grid{grid-template-columns:1fr;}
  .credential-card{align-items:flex-start;padding:23px 18px;gap:16px;}
  .credential-icon{width:74px;height:74px;flex-basis:74px;}
  .credential-icon span{font-size:1rem;}
  h2{font-size:clamp(2rem,10vw,3rem);}
  .story-text,.contact-card,.quote-strip>div,.coastal-copy{width:100%;overflow:visible;}
}

/* Founder photo belongs only in the Our Story section */
.founder-gallery .founder-photo{object-position:center 18%;}
@media(max-width:620px){
  .founder-gallery{grid-template-columns:1fr;}
  .founder-gallery .founder-photo{max-height:620px;object-fit:cover;object-position:center 15%;}
}

/* Final CJ story placement */
.founder-gallery{display:block;}
.founder-gallery .founder-photo{width:100%;height:auto;max-height:none;aspect-ratio:1/1;object-fit:cover;object-position:center;border-radius:24px;}
@media(max-width:620px){
  .founder-gallery .founder-photo{width:100%;max-height:none;aspect-ratio:1/1;object-fit:cover;object-position:center;}
}

/* Clear email call-to-action */
.contact-card .email-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:58px;margin-top:24px;font-size:1.05rem;letter-spacing:.01em;box-shadow:0 10px 24px rgba(23,54,83,.18)}
.contact-card .email-button .email-icon{font-size:1.25rem;line-height:1}
.contact-card .email-button:hover,.contact-card .email-button:focus-visible{background:var(--navy2);transform:translateY(-1px)}

/* Final hero readability upgrade */
.hero-overlay{
  background:linear-gradient(90deg,rgba(6,24,39,.94) 0%,rgba(8,31,50,.84) 46%,rgba(8,31,50,.48) 75%,rgba(8,31,50,.22) 100%);
}
.hero-content{max-width:900px;}
.hero .eyebrow{
  color:#f3d792;
  font-size:.84rem;
  text-shadow:0 2px 10px rgba(0,0,0,.8);
}
.hero h1{
  color:#ffffff;
  font-weight:700;
  text-shadow:0 4px 20px rgba(0,0,0,.62),0 1px 2px rgba(0,0,0,.9);
}
.hero h1 em{
  color:#f2d79b;
  font-weight:600;
  text-shadow:0 4px 20px rgba(0,0,0,.68),0 1px 2px rgba(0,0,0,.9);
}
.hero p:not(.eyebrow){
  color:#fff;
  font-weight:500;
  text-shadow:0 3px 14px rgba(0,0,0,.78);
}
.hero .primary{
  background:#f2d79b;
  color:#102e49;
  border:2px solid #f2d79b;
  box-shadow:0 10px 26px rgba(0,0,0,.25);
}
.hero .ghost{
  background:rgba(10,38,61,.72);
  border:2px solid #fff;
  color:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}
.hero .btn:hover,.hero .btn:focus-visible{transform:translateY(-2px);}

@media(max-width:620px){
  .hero-overlay{
    background:linear-gradient(180deg,rgba(6,24,39,.92) 0%,rgba(7,28,46,.84) 58%,rgba(7,28,46,.64) 100%);
  }
  .hero-content{padding-top:88px;}
  .hero .eyebrow{font-size:.78rem;}
  .hero h1{font-size:clamp(2.75rem,13.5vw,3.5rem);}
  .hero p:not(.eyebrow){font-size:1.1rem;font-weight:600;}
  .hero .primary,.hero .ghost{width:100%;min-width:0;justify-self:stretch;}
}

/* Mobile fix: show the complete assisted-living graphic without cropping its heading */
@media(max-width:900px){
  .serve-grid article:nth-child(3) .serve-image{
    height:auto;
    aspect-ratio:546 / 603;
    background-size:contain;
    background-repeat:no-repeat;
    background-position:center;
    background-color:#173653;
  }
}

/* BRIGHT HERO V3 — intentionally overrides all earlier dark hero rules */
.hero{
  min-height:820px;
  background-image:url('assets/bright-sunset-v3.jpg') !important;
  background-position:center 46% !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  align-items:center;
}
.hero-overlay{
  background:linear-gradient(90deg,rgba(255,249,237,.70) 0%,rgba(255,249,237,.38) 48%,rgba(255,249,237,.06) 78%) !important;
}
.hero-content{
  position:relative;
  z-index:2;
  max-width:900px;
  padding:105px 6vw 82px;
}
.hero .eyebrow{
  color:#8a6b2e !important;
  text-shadow:0 1px 0 rgba(255,255,255,.72) !important;
  font-size:.88rem;
}
.hero h1{
  color:#0b3157 !important;
  text-shadow:0 2px 0 rgba(255,255,255,.55),0 8px 28px rgba(255,244,220,.45) !important;
}
.hero h1 em{
  color:#9b742f !important;
  font-weight:500;
  text-shadow:0 2px 0 rgba(255,255,255,.55) !important;
}
.hero p:not(.eyebrow){
  color:#123755 !important;
  font-weight:500;
  text-shadow:0 1px 0 rgba(255,255,255,.65) !important;
  max-width:700px;
}
.hero .primary{
  background:#0b3157 !important;
  color:#fff !important;
  border-color:#0b3157 !important;
}
.hero .ghost{
  background:rgba(10,43,73,.18) !important;
  border-color:#fff !important;
  color:#fff !important;
  text-shadow:0 2px 8px rgba(0,0,0,.55);
  backdrop-filter:blur(2px);
}
.site-header .brand img{object-fit:contain;background:#f8f3ea;border-radius:50%;}

@media(max-width:620px){
  .hero{
    min-height:860px !important;
    align-items:flex-start !important;
    background-position:center 46% !important;
  }
  .hero-overlay{
    background:linear-gradient(180deg,rgba(255,249,237,.88) 0%,rgba(255,249,237,.62) 48%,rgba(255,249,237,.20) 74%,rgba(10,43,73,.14) 100%) !important;
  }
  .hero-content{
    padding:76px 22px 62px !important;
    max-width:none !important;
  }
  .hero .eyebrow{
    color:#8a6b2e !important;
    font-size:.76rem !important;
    line-height:1.55;
    margin-bottom:20px;
  }
  .hero h1{
    color:#0b3157 !important;
    font-size:clamp(2.7rem,13vw,3.55rem) !important;
    text-shadow:0 2px 0 rgba(255,255,255,.72) !important;
  }
  .hero h1 em{
    color:#9b742f !important;
    text-shadow:0 2px 0 rgba(255,255,255,.72) !important;
  }
  .hero p:not(.eyebrow){
    color:#123755 !important;
    font-size:1.06rem !important;
    font-weight:600 !important;
    line-height:1.55;
    text-shadow:0 1px 0 rgba(255,255,255,.82) !important;
  }
  .buttons{margin-top:28px !important;}
  .hero .primary{background:#0b3157 !important;color:#fff !important;}
  .hero .ghost{background:rgba(10,43,73,.72) !important;color:#fff !important;border-color:#fff !important;}
}
