* { box-sizing: border-box; }
:root { --ink: #263b36; --fern: #5c806e; --moss: #dfe9df; --shell: #f7f4ee; --coral: #d97d64; --white: #ffffff; }
body { margin: 0; font-family: 'DM Sans', sans-serif; }
a { color: inherit; text-decoration: none; }
.crisis-bar { background: #263b36; color: #f7f4ee; font-size: 12px; letter-spacing: .02em; padding: 11px 5vw; text-align: center; }
.crisis-bar a { color: #f3b19f; text-decoration: underline; text-underline-offset: 3px; }
.crisis-dot { display: inline-block; width: 7px; height: 7px; background: #f3b19f; border-radius: 50%; margin-right: 6px; }
.site-header { background: var(--shell); border-bottom: 1px solid rgba(38,59,54,.1); }
.site-nav { align-items: center; display: flex; justify-content: space-between; margin: auto; max-width: 1280px; padding: 22px 5vw; }
.brand { align-items: center; display: inline-flex; font-family: Fraunces, Georgia, serif; font-size: 25px; font-weight: 600; gap: 9px; letter-spacing: -.02em; }
.brand-mark { align-items: center; background: var(--coral); border-radius: 50% 50% 48% 48%; color: white; display: inline-flex; font-family: Fraunces, Georgia, serif; font-size: 21px; height: 31px; justify-content: center; transform: rotate(-9deg); width: 31px; }
.brand-dot { color: var(--coral); }
.main-menu { align-items: center; display: flex; gap: 30px; font-size: 14px; font-weight: 600; }
.main-menu a:not(.nav-cta) { color: #466059; }
.nav-cta { background: var(--coral); border-radius: 999px; color: white; padding: 12px 18px; }
.nav-cta span { margin-left: 8px; }
.menu-toggle { display: none; }
.flash { background: #e4f0e5; border-bottom: 1px solid #bfd7c2; color: #315d43; padding: 14px 5vw; text-align: center; }
.eyebrow { color: var(--fern); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.display { font-family: Fraunces, Georgia, serif; font-weight: 500; letter-spacing: -.04em; line-height: .98; }
.hero { overflow: hidden; position: relative; }
.hero-inner { display: grid; grid-template-columns: 1fr .85fr; margin: auto; max-width: 1280px; min-height: 610px; padding: 82px 5vw 70px; position: relative; }
.hero-copy { align-self: center; max-width: 620px; position: relative; z-index: 1; }
.hero h1 { font-size: clamp(55px, 7vw, 96px); margin: 18px 0 26px; }
.hero h1 em { color: var(--coral); font-style: normal; }
.hero p { color: #526760; font-size: 18px; line-height: 1.7; max-width: 480px; }
.hero-actions { align-items: center; display: flex; gap: 18px; margin-top: 35px; }
.primary-button, .outline-button { border-radius: 999px; display: inline-flex; font-size: 14px; font-weight: 700; gap: 10px; padding: 15px 21px; }
.primary-button { background: var(--coral); color: white; }
.outline-button { border: 1px solid #aac1b2; color: var(--ink); }
.hero-art { align-items: center; display: flex; justify-content: center; position: relative; }
.hero-art:before { background: #dce9dd; border-radius: 46% 54% 50% 50%; content: ''; height: 500px; position: absolute; right: 2%; top: 0; transform: rotate(14deg); width: 390px; }
.hero-art:after { background: #f0c3b2; border-radius: 50%; content: ''; height: 100px; left: 8%; position: absolute; top: 12%; width: 100px; }
.art-card { background: #f4eee2; border-radius: 180px 180px 18px 18px; box-shadow: 0 25px 50px rgba(38,59,54,.12); height: 390px; overflow: hidden; position: relative; width: 310px; z-index: 1; }
.art-card img { height: 100%; object-fit: cover; width: 100%; }
.stats-strip { background: #dfe9df; display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; padding: 28px 5vw; }
.stat { border-right: 1px solid rgba(38,59,54,.18); padding: 0 25px; text-align: center; } .stat:last-child { border: 0; }
.stat strong { display: block; font-family: Fraunces, Georgia, serif; font-size: 26px; font-weight: 500; } .stat span { color: #526760; font-size: 12px; }
.section { margin: auto; max-width: 1280px; padding: 100px 5vw; } .section-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 42px; } .section h2 { font-size: clamp(38px, 5vw, 62px); margin: 12px 0 0; max-width: 620px; }
.service-grid, .counselor-grid { display: grid; gap: 18px; grid-template-columns: repeat(3,1fr); }
.service-card { background: white; border: 1px solid #e3e6df; border-radius: 8px; min-height: 260px; padding: 29px; transition: transform .25s, box-shadow .25s; } .service-card:hover { box-shadow: 0 18px 30px rgba(38,59,54,.08); transform: translateY(-4px); }
.service-icon { align-items: center; background: var(--moss); border-radius: 50%; color: var(--fern); display: flex; font-size: 20px; height: 45px; justify-content: center; margin-bottom: 32px; width: 45px; }
.service-card h3 { font-family: Fraunces, Georgia, serif; font-size: 27px; font-weight: 500; margin: 0 0 10px; } .service-card p { color: #65766f; font-size: 14px; line-height: 1.6; }
.quote-band { background: #263b36; color: white; padding: 95px 5vw; text-align: center; } .quote-band blockquote { font-family: Fraunces, Georgia, serif; font-size: clamp(32px, 4.5vw, 58px); line-height: 1.12; margin: 0 auto 25px; max-width: 850px; } .quote-band cite { color: #a9c5ae; font-size: 13px; font-style: normal; }
.page-hero { background: #dfe9df; padding: 80px 5vw; } .page-hero-inner, .content-width { margin: auto; max-width: 1050px; } .page-hero h1 { font-size: clamp(52px, 7vw, 84px); margin: 16px 0 0; max-width: 800px; } .page-hero p { color: #526760; font-size: 18px; line-height: 1.7; max-width: 600px; }
.content-grid { display: grid; gap: 70px; grid-template-columns: 1.7fr .8fr; } .content-grid h2 { font-family: Fraunces, Georgia, serif; font-size: 38px; font-weight: 500; margin: 0 0 18px; } .content-grid p, .content-grid li { color: #5d7068; line-height: 1.8; } .content-grid section { margin-bottom: 45px; }
.counselor-card { background: white; border-radius: 8px; overflow: hidden; } .counselor-card img { aspect-ratio: 1.2; object-fit: cover; width: 100%; } .counselor-info { padding: 20px; } .counselor-info h3 { font-family: Fraunces, Georgia, serif; font-size: 26px; font-weight: 500; margin: 0; } .counselor-info p { color: #65766f; font-size: 13px; line-height: 1.6; }
.booking-wrap { margin: auto; max-width: 1020px; padding: 70px 5vw 110px; } .booking-head { margin-bottom: 38px; } .booking-head h1 { font-size: 58px; margin: 14px 0; } .booking-form { background: white; border: 1px solid #e1e6de; border-radius: 8px; padding: clamp(25px, 5vw, 55px); } .step-label { color: var(--fern); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; } .field-grid { display: grid; gap: 20px; grid-template-columns: repeat(2,1fr); margin: 18px 0 34px; } .field { display: flex; flex-direction: column; gap: 8px; } .field label { font-size: 13px; font-weight: 700; } .field-input { background: #fbfaf7; border: 1px solid #cad8cd; border-radius: 4px; color: var(--ink); font: inherit; padding: 13px 14px; width: 100%; } .field-input:focus { border-color: var(--fern); box-shadow: 0 0 0 3px #dfe9df; outline: 0; } .errorlist { color: #a64838; font-size: 12px; list-style: none; margin: 0; padding: 0; }
.site-footer { background: #263b36; color: white; display: grid; gap: 30px; grid-template-columns: 1fr 1fr auto; padding: 55px 5vw; } .brand.light { color: white; } .footer-note, .copyright { color: #a9c5ae; font-size: 13px; } .footer-links { display: flex; flex-direction: column; gap: 12px; font-size: 13px; } .footer-links a:hover { color: #f3b19f; }
@media (max-width: 760px) { .site-nav { padding: 17px 5vw; } .menu-toggle { background: none; border: 0; display: flex; flex-direction: column; gap: 5px; padding: 8px; } .menu-toggle span { background: var(--ink); display: block; height: 2px; width: 22px; } .main-menu { align-items: stretch; background: var(--shell); display: none; flex-direction: column; gap: 18px; left: 0; padding: 22px 5vw 28px; position: absolute; right: 0; top: 108px; z-index: 5; } .main-menu.open { display: flex; } .hero-inner { display: block; min-height: 0; padding-top: 60px; } .hero h1 { font-size: 60px; } .hero-art { height: 390px; margin-top: 42px; } .stats-strip { grid-template-columns: 1fr; } .stat { border-bottom: 1px solid rgba(38,59,54,.18); border-right: 0; padding: 10px; } .section { padding: 70px 5vw; } .section-heading { align-items: start; display: block; } .service-grid, .counselor-grid, .content-grid, .site-footer { grid-template-columns: 1fr; } .content-grid { gap: 20px; } .field-grid { grid-template-columns: 1fr; } .booking-head h1 { font-size: 48px; } }

/* Kindred brand refresh */
:root { --ink: #182d2a; --fern: #3f7468; --moss: #dcebe5; --shell: #f5f8f5; --coral: #ef8068; --clay: #bd5849; --line: #dce8e2; --muted: #60766e; --white: #ffffff; }
body { background: var(--shell); color: var(--ink); font-family: 'Manrope', sans-serif; }
.bg-ink { background: var(--ink); }
.text-white { color: var(--white); }
.crisis-bar { background: var(--ink); padding: 10px 5vw; }
.site-header { background: rgba(245,248,245,.94); backdrop-filter: blur(14px); position: relative; z-index: 10; }
.site-nav { max-width: 1320px; padding: 20px 5vw; }
.brand { font-family: 'DM Serif Display', Georgia, serif; font-size: 28px; letter-spacing: 0; }
.brand-mark { background: var(--coral); font-family: 'DM Serif Display', Georgia, serif; height: 32px; width: 32px; }
.main-menu { gap: 27px; letter-spacing: .01em; }
.main-menu a:not(.nav-cta) { color: var(--white); transition: color .2s; }
.main-menu a:not(.nav-cta):hover { color: var(--white); }
.nav-cta, .primary-button { background: var(--coral); box-shadow: 0 8px 18px rgba(239,128,104,.2); transition: background .2s, transform .2s, box-shadow .2s; }
.nav-cta:hover, .primary-button:hover { background: var(--clay); box-shadow: 0 12px 22px rgba(189,88,73,.23); transform: translateY(-2px); }
.hero { background: linear-gradient(135deg, #f5f8f5 0%, #edf5ef 54%, #e4f0e7 100%); }
.hero-inner { max-width: 1320px; min-height: 670px; padding-bottom: 86px; padding-top: 100px; }
.eyebrow { align-items: center; display: inline-flex; gap: 9px; letter-spacing: .16em; }
.eyebrow-line { background: var(--coral); display: inline-block; height: 2px; width: 25px; }
.display, .hero h1, .section h2, .page-hero h1, .service-card h3, .counselor-info h3 { font-family: 'DM Serif Display', Georgia, serif; letter-spacing: -.025em; }
.hero h1 { font-size: clamp(64px, 8vw, 112px); line-height: .93; margin: 22px 0 30px; max-width: 650px; }
.hero h1 em { color: var(--coral); }
.hero p { color: var(--muted); font-size: 17px; line-height: 1.75; }
.hero-actions { gap: 25px; margin-top: 38px; }
.primary-button, .outline-button { border-radius: 5px; padding: 15px 21px; }
.text-link { align-items: center; color: var(--ink); display: inline-flex; font-size: 14px; font-weight: 700; gap: 8px; }
.text-link span { color: var(--coral); font-size: 20px; transition: transform .2s; }.text-link:hover span { transform: translateX(4px); }
.hero-trust { align-items: center; color: var(--muted); display: flex; font-size: 11px; gap: 12px; margin-top: 50px; }
.trust-avatars { display: flex; }.trust-avatars span { align-items: center; background: var(--ink); border: 2px solid #edf5ef; border-radius: 50%; color: white; display: flex; font-size: 8px; height: 27px; justify-content: center; margin-left: -6px; width: 27px; }.trust-avatars span:first-child { margin-left: 0; }.trust-avatars span:nth-child(2) { background: var(--fern); }.trust-avatars span:last-child { background: var(--coral); }
.hero-art { min-height: 500px; }
.hero-art:before, .hero-art:after { display: none; }
.art-card { border-radius: 165px 165px 7px 7px; height: 465px; width: 345px; }
.art-card img { filter: saturate(.82); }
.art-caption { background: rgba(24,45,42,.88); bottom: 18px; color: white; font-family: 'DM Serif Display', Georgia, serif; font-size: 19px; left: 18px; line-height: 1.05; padding: 11px 14px; position: absolute; }
.art-orbit { border: 1px solid rgba(63,116,104,.25); border-radius: 50%; height: 540px; position: absolute; width: 540px; }.orbit-one { transform: rotate(25deg) scaleY(.8); }.orbit-two { border-color: rgba(239,128,104,.35); height: 410px; transform: rotate(-33deg) scaleY(.78); width: 410px; }
.art-stamp { align-items: center; background: var(--coral); border-radius: 50%; color: white; display: flex; font-size: 11px; font-weight: 800; height: 90px; justify-content: center; letter-spacing: .08em; line-height: 1.25; position: absolute; right: 5%; text-align: center; text-transform: uppercase; top: 14%; transform: rotate(12deg); width: 90px; z-index: 2; }
.stats-strip { background: var(--ink); color: white; gap: 0; padding: 24px 5vw; }.stat { border-color: rgba(220,235,229,.2); }.stat strong { font-family: 'DM Serif Display', Georgia, serif; font-size: 28px; }.stat span { color: #a9c9be; }
.section { max-width: 1320px; padding-bottom: 112px; padding-top: 112px; }.section-heading { margin-bottom: 48px; }.section h2 { font-size: clamp(44px, 5vw, 70px); line-height: .98; }.service-grid, .counselor-grid { gap: 20px; }.service-card { border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 12px 30px rgba(24,45,42,.035); min-height: 285px; padding: 31px; }.service-card:hover { box-shadow: 0 18px 35px rgba(24,45,42,.1); }.service-icon { background: var(--moss); color: var(--fern); }.service-icon.accent-coral { background: rgba(239,128,104,.14); color: var(--coral); }.service-icon.accent-ink { background: rgba(24,45,42,.08); color: var(--ink); }.service-card p, .counselor-info p { color: var(--muted); }
.quote-band { background: var(--fern); padding: 100px 5vw; }.quote-label { color: #bfe0d3; font-size: 11px; font-weight: 800; letter-spacing: .16em; margin-bottom: 28px; text-transform: uppercase; }.quote-band blockquote { font-family: 'DM Serif Display', Georgia, serif; }.quote-band cite { color: #c7e0d7; }.quote-band cite span { color: var(--coral); margin: 0 8px; }
.counselor-card { border: 1px solid var(--line); box-shadow: 0 12px 30px rgba(24,45,42,.035); }.counselor-info { padding: 22px; }
.feedback-section { background: #e9f2ed; border-top: 1px solid #d9e8df; }.feedback-inner { padding-bottom: 104px; padding-top: 104px; }.feedback-score { align-items: center; color: var(--fern); display: flex; gap: 13px; }.feedback-score strong { color: var(--ink); font-family: 'DM Serif Display', Georgia, serif; font-size: 42px; font-weight: 400; }.feedback-score span { color: var(--coral); font-size: 15px; letter-spacing: 2px; line-height: 1.2; }.feedback-score small { color: var(--muted); font-size: 10px; letter-spacing: 0; }.feedback-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }.feedback-card { background: rgba(255,255,255,.78); border: 1px solid rgba(63,116,104,.12); border-radius: 6px; display: flex; flex-direction: column; min-height: 255px; padding: 26px; }.feedback-stars { color: var(--coral); font-size: 16px; letter-spacing: 3px; }.feedback-card p { color: var(--ink); font-family: 'DM Serif Display', Georgia, serif; font-size: 23px; line-height: 1.18; margin: 25px 0; }.feedback-card footer { align-items: center; display: flex; gap: 10px; margin-top: auto; }.feedback-initial { align-items: center; background: var(--moss); border-radius: 50%; color: var(--fern); display: flex; font-size: 12px; font-weight: 800; height: 31px; justify-content: center; width: 31px; }.feedback-card footer span:last-child { display: flex; flex-direction: column; gap: 2px; }.feedback-card footer strong { font-size: 12px; }.feedback-card footer small { color: var(--muted); font-size: 10px; }
.site-footer { background: var(--ink); }.site-footer .brand-mark { background: var(--coral); }
@media (max-width: 760px) { .hero-inner { padding-top: 65px; }.hero h1 { font-size: 65px; }.hero-trust { margin-top: 35px; }.hero-art { min-height: 400px; }.art-card { height: 350px; width: 270px; }.art-orbit { height: 390px; width: 390px; }.art-stamp { right: 2%; top: 10%; }.feedback-grid { grid-template-columns: 1fr; }.feedback-score { margin-top: 25px; }.feedback-inner .section-heading { display: flex; flex-wrap: wrap; }.feedback-card { min-height: 220px; } }
