:root{--teal:#00b0ab;--teal-dark:#00726e;--bg:#090d0d;--panel:#121919;--text:#fff;--muted:#d4dede}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:21px/1.6 "Segoe UI",Helvetica,Arial,sans-serif}
a{color:var(--teal)}
.wrap{max-width:960px;margin:0 auto;padding:0 24px}
.logo{display:block;width:260px;max-width:70%;margin:0 auto;padding-top:24px}
.hero{display:flex;flex-direction:column;gap:28px;align-items:center;text-align:center;padding:36px 0 48px}
.hero img{width:320px;max-width:100%;height:372px;border-radius:14px;object-fit:cover;object-position:50% 0%;flex:none}
h1{display:inline-block;text-align:left;margin:0 0 12px;font-size:2.4rem;line-height:1.15;letter-spacing:.02em;color:var(--teal);text-transform:uppercase}
h1 span{color:#fff;text-decoration:underline;text-decoration-color:var(--teal);text-underline-offset:6px}
.lead{margin:0 auto;max-width:640px;color:var(--muted)}
.banner{border-top:2px solid var(--teal);border-bottom:2px solid var(--teal);background:var(--panel);text-align:center;padding:22px 0}
.banner p{margin:0;font-size:1.6rem;font-weight:700;color:var(--teal)}
.mission{background:linear-gradient(160deg,var(--bg) 0 8%,var(--teal-dark) 8% 100%);padding:56px 0}
.mission p{margin:0;max-width:760px;font-size:24px;line-height:1.55}
h2{font-size:1.7rem;margin:0 0 20px;color:var(--teal)}
section{padding:56px 0}
ul.offer{list-style:none;margin:0;padding:0;display:grid;gap:14px}
ul.offer li{background:var(--panel);border-left:5px solid var(--teal);padding:14px 18px;border-radius:6px}
.offer-wrap{display:flex;gap:36px;align-items:center}
.offer-wrap img{width:320px;max-width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;flex:none}
.meet{background:var(--panel)}.meet .wrap{display:flex;gap:36px;align-items:center}.meet img{width:220px;height:220px;border-radius:50%;object-fit:cover;flex:none;border:4px solid var(--teal)}.meet p{margin:0}
.quotes{background:var(--teal-dark);color:#fff}
.quotes h2{color:#fff}
blockquote{margin:0 0 24px;padding:20px 24px;background:rgba(0,0,0,.22);border-radius:8px;font-style:normal}
blockquote cite{display:block;margin-top:10px;font-style:normal;font-weight:700}
.contact{text-align:center}
.contact p{margin:6px 0}
.btn{display:inline-block;margin:14px 8px 0;padding:14px 28px;background:var(--teal);color:#021010;font-weight:700;text-decoration:none;border-radius:8px;font-size:22px}
.btn:hover,.btn:focus{background:#fff}
.btn.alt{background:transparent;color:#fff;border:2px solid var(--teal)}
footer{padding:28px 24px;text-align:center;font-size:21px;color:#e8f0f0;border-top:1px solid #1f2a2a}
@media(max-width:720px){.meet .wrap{flex-direction:column;text-align:center}body{font-size:19px}.hero,.offer-wrap{flex-direction:column;text-align:center}h1{font-size:1.9rem}.banner p{font-size:1.3rem}.offer-wrap{align-items:stretch}.offer-wrap img{margin:0 auto}ul.offer{text-align:left}}
body{display:flex;flex-direction:column;min-height:100vh}
main{flex:1;width:100%}
.site-head{padding:20px 24px 8px;text-align:center}
.site-head .logo{padding-top:0}
nav ul{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
nav a{display:block;padding:10px 20px;color:#fff;text-decoration:none;font-weight:700;font-size:21px;border:2px solid var(--teal);border-radius:8px}
nav a:hover,nav a:focus{background:#16302f}
nav a[aria-current="page"]{background:var(--teal);color:#021010}
h1.ptitle{font-size:2.1rem;text-transform:none;letter-spacing:0;margin:0 0 20px}
.quotes h1.ptitle{color:#fff}
.cta{text-align:center;padding:48px 0}
.cta p{margin:0 0 6px;font-size:1.3rem}
.hero{padding-top:28px}
footer{display:block}
footer p{margin:4px 0}
footer a{color:#fff}
@media(max-width:720px){nav a{padding:9px 14px;font-size:19px}h1.ptitle{font-size:1.7rem}}
footer p+p{font-size:17px;color:#b9c7c7}
.quotes blockquote{font-size:22px}
@media(max-width:720px){.mission p{font-size:21px}.btn{font-size:20px}.quotes blockquote{font-size:20px}footer{font-size:19px}}
.light-page main{background:var(--teal)}
.light-page .quotes{background:var(--teal);color:#000}
.light-page .quotes h1.ptitle{color:#000}
.light-page blockquote{background:#f7fcfc;color:#000}
.light-page blockquote cite{color:#000}
.mission p{margin:0 auto;text-align:center}
.hero{padding-bottom:28px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:48px;padding-bottom:28px}
.card{background:var(--panel);border-top:5px solid var(--teal);border-radius:8px;padding:22px 24px}
.card h2{font-size:1.35rem;margin:0 0 10px}
.card p{margin:0}
.homequote{padding-bottom:12px}
.homequote blockquote{background:var(--panel);border-left:6px solid var(--teal);margin:0;font-size:22px}
.homequote cite{color:var(--muted)}
.cta{padding:36px 0 56px}
@media(max-width:720px){.cards{grid-template-columns:1fr}.homequote blockquote{font-size:20px}}

/* Light Home page */
.home-light{background:#fff;color:#14201f}
.home-light .site-head{background:#000;padding-bottom:18px}
.home-light h1{color:#00726e}
.home-light h1 span{color:#14201f;text-decoration-color:var(--teal)}
.home-light h2{color:#00726e}
.home-light .banner{background:#e3f6f5;border-color:var(--teal)}
.home-light .banner p{color:#00524f}
.home-light .mission{background:linear-gradient(160deg,#fff 0 8%,var(--teal) 8% 100%)}
.home-light .mission p{color:#000}
.home-light .card{background:#eef8f7;color:#14201f}
.home-light .homequote blockquote{background:#eef8f7;color:#000;border-left-color:var(--teal)}
.home-light .homequote cite{color:#00524f}
.home-light .homequote cite a{color:#00524f}
.home-light .cta{background:#f4fbfa}
.home-light .cta p{color:#14201f}
.home-light footer{background:#00524f;color:#fff;border:0}
.home-light footer p+p{color:#d4ebe9}

/* Home hero: heading beside photo on larger screens */
@media(min-width:721px){
.hero{flex-direction:row;justify-content:center;align-items:center;gap:72px;text-align:left;padding-top:36px;padding-bottom:40px}
.hero h1{font-size:3rem;margin:0}
.hero img{width:380px;height:460px}
}

/* Tighter top of page on larger screens so more shows without scrolling */
@media(min-width:721px){
.site-head{padding:10px 24px 6px}
.home-light .site-head{padding-bottom:12px}
.site-head .logo{width:190px}
nav ul{margin-top:8px}
nav a{padding:8px 20px}
.hero{padding-top:20px;padding-bottom:22px}
.hero img{width:320px;height:372px}
.hero h1{font-size:2.8rem}
}

.meet p+p{margin-top:16px}
.meet .wrap{align-items:flex-start}
.meet{padding:48px 0}
@media(max-width:720px){.meet .wrap{align-items:center}.meet p{text-align:left}}
.certs{padding:48px 0 56px}

/* About page: bright teal background with cream cards */
.about-page main{background:var(--teal)}
.about-page .meet{background:var(--teal);padding:40px 0 20px}
.about-page .meet .wrap{background:#f7fcfc;color:#000;border-radius:14px;width:calc(100% - 48px);max-width:912px;margin:0 auto;padding:32px}
.about-page .meet h1.ptitle{color:#00524f}
.about-page .meet img{border-color:var(--teal)}
.about-page .certs{background:var(--teal);padding:20px 0 56px}
.about-page .certs h2{color:#000}
.about-page .certs ul.offer li{background:#f7fcfc;color:#000;border-left-color:#00524f}
@media(max-width:720px){.about-page .meet .wrap{padding:24px 20px}}

/* About page v5: grouped bio card with certifications beside it */
.about-page .about{background:var(--teal);padding:40px 0 56px}
.about-grid{width:calc(100% - 48px);max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}
.about-card,.certs-card{background:#f7fcfc;color:#000;border-radius:14px;padding:32px}
.about-top{display:flex;gap:28px;align-items:center;margin-bottom:8px}
.about-top img{width:180px;height:180px;border-radius:50%;object-fit:cover;flex:none;border:4px solid var(--teal)}
.about-card h1.ptitle{color:#00524f;margin:0 0 8px}
.about-card .summary{margin:0;font-size:1.5rem;font-weight:600;color:#00524f;line-height:1.35}
.about-card h2,.certs-card h2{color:#00524f;font-size:1.5rem;margin:30px 0 10px}
.certs-card h2{margin-top:0}
.about-card p{margin:0 0 14px}
.about-card strong{font-weight:700}
.goals{margin:0 0 16px;padding-left:28px}
.goals li{margin-bottom:8px}
.goals li::marker{color:#00726e}
.about-cta{margin:28px 0 0!important}
.about-cta .btn{margin:0}
.certs-card ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.certs-card li{background:#e3f4f2;border-left:5px solid #00524f;border-radius:6px;padding:14px 16px}
@media(max-width:900px){.about-grid{grid-template-columns:1fr}}
@media(max-width:720px){.about-card,.certs-card{padding:24px 20px}.about-top{flex-direction:column;text-align:center}.about-card .summary{font-size:1.3rem}}
.about-card .loved-one{margin-top:22px;padding:16px 18px;background:#e3f4f2;border-left:5px solid #00524f;border-radius:6px}

/* Services page: bright teal background with cream boxes */
.services-page main{background:var(--teal)}
.services-page section{background:var(--teal);padding:48px 0 56px}
.services-page h1.ptitle{color:#000}
.services-page h2{color:#000}
.services-page ul.offer li{background:#f7fcfc;color:#000;border-left-color:#00524f}

/* Home hero: photo fades into a softly blurred copy of itself, spread across the full width */
.hero{position:relative;max-width:none;width:100%;padding:0;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:-40px;background:url(images/lynne-with-client-cropped.jpg) 50% 40%/cover;filter:blur(30px) saturate(1.15);z-index:-2}
.hero::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.6);z-index:-1}
.hero img{border-radius:0;max-width:none;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%)}
@media(min-width:721px){
.hero{gap:56px}
.hero h1{padding:30px 0}
.hero img{width:360px;height:410px;object-fit:cover;object-position:50% 0}
}
@media(max-width:720px){
.hero{padding:28px 0 0;gap:20px}
.hero img{width:100%;max-width:380px;height:auto}
}
.home-light .mission{background:linear-gradient(160deg,#000 0 8%,var(--teal) 8% 100%)}

/* Articles page */
.articles-page main{background:var(--teal)}
.articles-page section{background:var(--teal);padding:48px 0 56px}
.articles-page h1.ptitle{color:#000;margin-bottom:6px}
.articles-intro{margin:0 0 24px;font-size:1.2rem;color:#000;font-weight:600}
.article{background:#f7fcfc;color:#000;border-left:6px solid #00524f;border-radius:10px;padding:24px 26px;margin-bottom:18px}
.article h2{color:#00524f;margin:0 0 10px;font-size:1.5rem}
.article p{margin:0 0 14px}
.article .btn{margin:0}
.article .meta{margin:10px 0 0;font-size:.9rem;color:#14201f}
@media(max-width:720px){.article{padding:20px 18px}.article h2{font-size:1.3rem}.article .btn{display:block;text-align:center}}

/* Contact page: bright teal background with one cream card */
.contact-page main{background:var(--teal)}
.contact-page section.contact{background:var(--teal);padding:56px 0 72px}
.contact-card{background:#f7fcfc;color:#000;border-radius:14px;padding:40px 32px;max-width:760px;margin:0 auto;border-left:6px solid #00524f}
.contact-card h1.ptitle{color:#00524f;margin-bottom:22px}
.contact-card p{color:#000;margin:6px 0;font-size:1.2rem}
.contact-card .area{font-weight:600;color:#00524f;margin-bottom:10px}
.contact-card .btn{margin:14px 8px 0}
.contact-card .btn.alt{background:#fff;color:#000;border:2px solid #00524f}
.contact-card .btn.alt:hover,.contact-card .btn.alt:focus{background:#e3f4f2}
@media(max-width:720px){.contact-card{padding:28px 20px}.contact-card .btn{display:block;margin:14px 0 0;text-align:center}}
.contact-card h1.ptitle{text-align:center}
.contact-card .btn.alt{background:var(--teal);color:#000;border:0}
.contact-card .btn.alt:hover,.contact-card .btn.alt:focus{background:#00c9c3}
.article .meta{font-size:1.1rem}
.articles-page .article p.meta,.meta{font-size:1.1rem}
footer p{font-size:1.1rem}
.contact-card p{font-size:1.3rem}
/* logo pop */
.site-head{padding:28px 24px 14px;border-bottom:5px solid var(--teal)}
.site-head .logo{width:300px;max-width:75%}
.home-light .site-head{padding-bottom:14px}
@media(max-width:720px){.site-head{padding:18px 16px 10px}.site-head .logo{width:230px}}
.contact-card .reply{font-size:1.2rem;margin-bottom:6px}
.page-photo{margin:0 0 28px}.page-photo img{display:block;width:100%;max-height:340px;object-fit:cover;object-position:center 30%;border-radius:14px;border:4px solid #f7fcfc}
.certs-card h2.ce{margin-top:30px}
/* bigger home heading and taglines */
.home-light .banner p{font-size:2.1rem}
.home-light .mission p{font-size:32px;max-width:900px}
@media(min-width:721px){.hero h1{font-size:4.6rem;line-height:1.08;margin-left:-70px}.hero{gap:40px}.hero h1 span{position:relative}}
@media(max-width:720px){.hero h1{font-size:2.6rem;line-height:1.1}.home-light .banner p{font-size:1.5rem}.home-light .mission p{font-size:24px}}
