
:root{--ink:#173536;--muted:#647777;--cream:#fbf8f2;--teal:#197d80;--teal-dark:#123d3e;--mint:#dcebea;--white:#fff;--line:#d8e0dc;--coral:#d9826b;--shadow:0 18px 48px rgba(24,51,52,.09);--radius:24px;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65}a{color:inherit}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Fraunces",Georgia,serif;line-height:1.05;letter-spacing:-.025em}h1{font-size:clamp(3.1rem,7vw,6.3rem);max-width:860px;margin-bottom:24px}h2{font-size:clamp(2.5rem,4.8vw,4.25rem);margin-bottom:20px}h3{line-height:1.25}.site-header{height:82px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;background:rgba(251,248,242,.95);backdrop-filter:blur(14px);z-index:50;border-bottom:1px solid rgba(24,51,52,.08)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.1}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:white;font-weight:700;font-size:.82rem}.brand strong{display:block;font-size:1.06rem}.brand small{display:block;color:var(--muted);font-size:.73rem;margin-top:3px}.top-nav{display:flex;align-items:center;gap:26px}.top-nav a{text-decoration:none;font-size:.93rem;font-weight:600}.top-nav a:not(.nav-cta):hover{color:var(--teal)}.nav-cta{padding:11px 18px;background:var(--ink);color:white;border-radius:999px}.menu-toggle{display:none;border:1px solid var(--line);background:white;border-radius:999px;padding:9px 14px}.section-pad{padding:100px max(24px,calc((100vw - var(--max))/2))}.section-soft{background:var(--mint)}.hero{min-height:760px;display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.76rem;color:var(--teal);margin-bottom:18px}.hero-text{font-size:1.25rem;max-width:650px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 24px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.primary{background:var(--teal);color:white}.primary:hover,.form-button:hover{background:var(--teal-dark)}.text-button{padding-left:4px;padding-right:4px}.availability{margin-top:36px;font-size:.9rem;color:var(--muted)}.availability span,.contact-location span{padding:0 8px;color:var(--coral)}.hero-card{position:relative;background:white;border-radius:36px;padding:0 38px 38px;box-shadow:var(--shadow);min-height:450px;overflow:hidden}.hero-carousel{position:relative;height:245px;margin:0 -38px 30px;overflow:hidden;border-radius:36px 36px 0 0;background:var(--mint)}.carousel-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease;pointer-events:none}.carousel-image.active{opacity:1}.hero-card-kicker{font-weight:700;font-size:1.1rem;margin-bottom:8px}.about{display:grid;grid-template-columns:1.05fr 1.2fr;gap:70px;align-items:center}.about-visuals{display:grid;grid-template-columns:minmax(150px,.72fr) minmax(210px,1.28fr);gap:28px;align-items:center}.about-photo-carousel{position:relative;aspect-ratio:4/5;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);background:#f7f2ea}.about-photo-carousel .carousel-image{object-fit:cover;object-position:center center;background:#f7f2ea}.about-photo-carousel .about-portrait{object-position:center 38%}.about-photo-carousel .about-session{object-position:center center}.credentials-block{padding-left:27px;border-left:1px solid rgba(24,51,52,.18)}.credentials-block h3{font-family:"Fraunces",Georgia,serif;font-size:1.5rem;margin-bottom:16px}.credentials-block p{font-size:.92rem;color:#3f5859;margin-bottom:13px}.credentials-block a,.service-card a,.article-body a,.resource-card a{color:var(--teal-dark);text-decoration-color:rgba(16,87,90,.42);text-underline-offset:2px}.section-copy p:not(.eyebrow){font-size:1.05rem;color:#3f5859}.about-signature{font-weight:700;color:var(--ink)!important;margin-top:26px}.email-link{display:inline-block;font-weight:700;text-underline-offset:3px}.section-heading{max-width:760px;margin-bottom:48px}.section-heading>p:last-child{color:var(--muted)}.section-heading.compact{margin-bottom:28px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{padding:26px 24px;background:white;border:1px solid rgba(24,51,52,.08);border-radius:var(--radius);transition:.2s ease}.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.service-card h3{font-size:1.12rem;margin-bottom:10px}.service-card p{font-size:.92rem;color:var(--muted);margin-bottom:0}.accordion{max-width:900px}.accordion details{background:rgba(255,255,255,.68);border:1px solid rgba(24,51,52,.10);border-radius:16px;margin-bottom:12px;padding:0 22px}.accordion summary{cursor:pointer;list-style:none;font-weight:700;padding:20px 36px 20px 0;position:relative}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:"+";position:absolute;right:0;font-size:1.4rem;color:var(--teal);top:15px}.accordion details[open] summary:after{content:"–"}.accordion details p{color:var(--muted);padding:0 30px 20px 0;margin:0}.resources-home-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:22px}.latest-stack{display:grid;gap:22px}.blog-card{display:block;padding:32px;background:white;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;transition:.2s ease}.blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.blog-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--teal)}.blog-card h3{font-family:"Fraunces",Georgia,serif;font-size:1.75rem;margin:16px 0 12px}.blog-card p{color:var(--muted)}.read-more{font-weight:700}.featured-resource{padding:0 32px 32px;overflow:hidden}.featured-resource img{width:calc(100% + 64px);height:220px;object-fit:cover;margin:0 -32px 28px;display:block}.contact{background:var(--ink);color:white;display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.eyebrow.light{color:#98d4d1}.contact h2{font-size:clamp(2.5rem,5vw,4.5rem)}.contact-intro>p:not(.eyebrow){color:#cbd7d6}.contact-intro a{color:white}.contact-form{background:white;color:var(--ink);padding:32px;border-radius:28px}.contact-form label{display:block;font-size:.86rem;font-weight:700;margin-bottom:18px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #cdd8d7;background:#fcfdfc;border-radius:12px;padding:12px 13px;font:inherit;color:var(--ink);outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,109,112,.12)}.form-button{background:var(--teal);color:white;width:100%}.form-status{margin:14px 0 0;min-height:24px;font-size:.9rem}.required-mark{color:var(--coral)}.site-footer{padding:36px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;border-top:1px solid rgba(24,51,52,.1);background:var(--cream)}.footer-brand strong,.footer-brand span{display:block}.footer-brand span{font-size:.78rem;color:var(--muted)}.site-footer nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}.site-footer nav a{font-size:.84rem;text-decoration:none}.copyright{grid-column:1/-1;margin:0;color:var(--muted);font-size:.78rem}.social-links{display:flex;gap:12px;margin-top:12px}.social-links a{font-weight:700;font-size:.88rem}
/* Resources index */.page-hero{padding:82px max(24px,calc((100vw - var(--max))/2)) 45px}.page-hero h1{font-size:clamp(3rem,6vw,5.5rem);margin-bottom:18px}.page-hero p{font-size:1.1rem;color:var(--muted);max-width:780px}.resource-tools{padding:0 max(24px,calc((100vw - var(--max))/2)) 40px}.resource-search{width:100%;max-width:620px;padding:14px 16px;border-radius:999px;border:1px solid var(--line);font:inherit;background:white}.category-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.category-chip{border:1px solid var(--line);background:white;border-radius:999px;padding:8px 13px;font:inherit;cursor:pointer}.category-chip.active{background:var(--ink);color:white}.resource-grid{padding:0 max(24px,calc((100vw - var(--max))/2)) 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.resource-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.resource-card img{width:100%;height:170px;object-fit:cover}.resource-card .inner{padding:24px}.resource-card h2{font-size:1.55rem;margin-bottom:10px}.resource-card p{color:var(--muted);font-size:.95rem}.resource-card .meta{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--teal);font-weight:700}.featured-home{grid-column:span 2}.featured-home img{height:240px}
/* Article */.article-shell{max-width:900px;margin:0 auto;padding:70px 24px 100px}.article-shell .article-tag{color:var(--teal);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.article-shell h1{font-size:clamp(2.8rem,6vw,5.3rem);max-width:900px;margin:10px 0 18px}.article-dek{font-size:1.16rem;color:var(--muted);max-width:780px}.article-feature{width:100%;height:min(460px,55vw);object-fit:cover;border-radius:28px;margin:28px 0 38px}.article-body{font-size:1.06rem;color:#324b4c}.article-body h2{font-size:2.2rem;margin-top:40px}.article-body h3{font-family:"Fraunces",Georgia,serif;font-size:1.5rem;margin-top:30px}.article-body ul{padding-left:1.25rem}.article-body li{margin-bottom:.5rem}.callout{background:var(--mint);border-radius:20px;padding:22px 24px;margin:28px 0}.affiliate-note{margin-top:50px;padding-top:20px;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}.product-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}.product-item{border:1px solid var(--line);background:white;border-radius:16px;padding:18px}.product-item h3{font-size:1.2rem;margin-top:0}.product-item a{font-weight:700}.privacy-body{max-width:920px;margin:0 auto;padding:70px 24px 100px}.privacy-body h1{font-size:clamp(2.8rem,6vw,5rem)}.privacy-body h2{font-size:2rem;margin-top:36px}.privacy-body h3{font-size:1.3rem;margin-top:26px}
@media(max-width:900px){.top-nav{display:none;position:absolute;top:74px;left:18px;right:18px;background:white;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:4px}.top-nav.open{display:flex}.top-nav a{padding:10px}.menu-toggle{display:block}.hero{grid-template-columns:1fr;min-height:auto;padding-top:75px}.hero-card{min-height:330px}.about,.contact{grid-template-columns:1fr;gap:42px}.about-visuals{max-width:700px}.service-grid{grid-template-columns:repeat(2,1fr)}.resources-home-grid{grid-template-columns:1fr}.resource-grid{grid-template-columns:repeat(2,1fr)}.featured-home{grid-column:span 2}}
@media(max-width:620px){.section-pad{padding:72px 20px}.site-header{padding:0 20px}.brand small{display:none}.hero{gap:36px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.service-grid{grid-template-columns:1fr}.about-visuals{grid-template-columns:1fr;gap:22px}.about-photo-carousel{max-width:230px}.credentials-block{padding-left:0;border-left:0;border-top:1px solid rgba(24,51,52,.18);padding-top:20px}.contact-form{padding:22px}.site-footer{grid-template-columns:1fr}.site-footer nav{justify-content:flex-start;gap:10px 16px}.copyright{grid-column:auto}.resource-grid{grid-template-columns:1fr}.featured-home{grid-column:span 1}.product-list{grid-template-columns:1fr}}
