    :root { --ink:#243b36; --muted:#566760; --sage:#627c6c; --sage-dark:#3b5a4c; --cream:#f6f3ed; --paper:#fffdf8; --line:#d8dfd5; --blush:#eecfc0; --peach:#e9b7a0; --gold:#ba8c5e; --shadow:0 24px 70px rgba(37,57,47,.1); }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--cream); color:var(--ink); font:16px/1.6 "Aptos","Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
    button, input { font:inherit; }
    button { cursor:pointer; }
    a { color:inherit; }
    :focus-visible { outline:3px solid #a9674c; outline-offset:4px; }
    .skip { position:absolute; left:16px; top:-60px; z-index:50; padding:10px 15px; background:var(--ink); color:white; border-radius:8px; }
    .skip:focus { top:12px; }
    .shell { width:min(1160px, calc(100% - 64px)); margin-inline:auto; }
    .site-header { position:relative; z-index:3; border-bottom:1px solid rgba(36,59,54,.09); }
    .nav { min-height:90px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
    .brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-family:Georgia,"Times New Roman",serif; font-size:22px; line-height:1.02; letter-spacing:-.045em; white-space:nowrap; }
    .brand small { display:block; margin-top:5px; font:600 10px/1.2 "Segoe UI",sans-serif; letter-spacing:.19em; color:var(--muted); }
    .mark { width:39px; height:39px; display:grid; place-items:center; flex:none; border:1px solid var(--sage); border-radius:50%; color:var(--sage-dark); }
    .nav-links { display:flex; gap:30px; align-items:center; }
    .nav-links a { font-size:13px; font-weight:650; text-decoration:none; white-space:nowrap; }
    .nav-links a:hover, .text-link:hover { text-decoration:underline; text-underline-offset:5px; }
    .nav-links .nav-cta { padding:11px 17px; border:1px solid var(--sage-dark); border-radius:100px; }
    .eyebrow { display:inline-flex; gap:10px; align-items:center; font-size:11px; font-weight:750; letter-spacing:.19em; text-transform:uppercase; color:var(--sage-dark); }
    .eyebrow:before { content:""; width:27px; height:1px; background:currentColor; }
    h1,h2,h3,p { margin-top:0; }
    h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.045em; line-height:1.09; }
    h1 { font-size:clamp(48px,5.6vw,79px); margin:26px 0 27px; max-width:680px; }
    h1 em,h2 em { color:var(--sage); font-weight:400; }
    h2 { font-size:clamp(39px,4.1vw,59px); margin:18px 0 22px; }
    h3 { font-size:26px; margin-bottom:12px; }
    .lede { font-size:18px; line-height:1.72; color:#42554d; max-width:600px; }
    .hero { padding:72px 0 96px; overflow:hidden; }
    .hero-grid { display:grid; grid-template-columns:1.06fr .94fr; align-items:center; gap:58px; }
    .hero-copy { position:relative; z-index:1; }
    .hero-copy .lede { margin-bottom:34px; }
    .actions { display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
    .button { min-height:51px; display:inline-flex; align-items:center; justify-content:center; gap:15px; padding:12px 22px; border-radius:100px; border:1px solid var(--sage-dark); text-decoration:none; background:var(--sage-dark); color:white; font-size:13px; font-weight:700; transition:transform .2s,background .2s; }
    .button:hover { transform:translateY(-2px); background:#294739; }
    .button.secondary { color:var(--sage-dark); background:transparent; }
    .button.secondary:hover { background:#e9ede6; }
    .text-link { font-size:14px; font-weight:700; text-decoration:none; text-underline-offset:5px; }
    .hero-art { min-height:565px; position:relative; isolation:isolate; }
    .art-arch { position:absolute; inset:18px 35px 35px 35px; background:linear-gradient(153deg,#dfe6d8 5%,#cedbcf 48%,#c4d0c0 100%); border-radius:49% 49% 44% 44% / 38% 38% 21% 21%; overflow:hidden; }
    .art-arch:before { content:""; position:absolute; width:450px; height:450px; background:rgba(255,253,248,.35); border-radius:50%; left:43%; top:-31%; }
    .art-arch:after { content:""; position:absolute; width:360px; height:360px; border:1px solid rgba(255,255,255,.62); border-radius:50%; bottom:-18%; right:-26%; }
    .portrait-frame:before,.portrait-frame:after { display:none; }
    .portrait-frame img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 28%; }
    .art-circle { width:300px; height:300px; position:absolute; left:0; bottom:-7px; border-radius:50%; background:var(--blush); z-index:-1; }
    .art-sun { position:absolute; right:0; top:0; width:103px; height:103px; background:#e6ac8f; border-radius:50%; z-index:-1; }
    .plant { position:absolute; width:73%; max-width:350px; left:17%; top:10%; height:82%; color:#637b64; opacity:.8; }
    .art-quote { position:absolute; left:-9px; bottom:-12px; width:265px; padding:26px 28px; border:1px solid rgba(37,57,47,.08); background:rgba(255,253,248,.96); box-shadow:var(--shadow); border-radius:6px 30px 6px 6px; }
    .art-quote span { color:var(--gold); font:48px/.7 Georgia,serif; }
    .art-quote p { font:italic 22px/1.25 Georgia,serif; margin:8px 0 0; }
    .hero-foot { display:flex; gap:12px; flex-wrap:wrap; margin-top:54px; }
    .hero-foot span { font-size:12px; color:var(--sage-dark); border:1px solid #d2d9ce; border-radius:100px; padding:6px 13px; }
    .section-work { background:var(--paper); padding:98px 0 106px; }
    .section-intro { max-width:780px; }
    .section-intro p { color:var(--muted); font-size:17px; line-height:1.75; }
    .service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; margin-top:42px; }
    .service { padding:31px 28px 30px; border:1px solid #dce3d9; background:#fafaf6; min-height:242px; }
    .service:nth-child(2) { background:#f9f4ef; border-color:#e7ddd5; }
    .service:nth-child(3) { background:#f2f6ef; }
    .service .num { color:#a67f66; font-size:12px; font-weight:700; letter-spacing:.12em; }
    .service h3 { margin-top:31px; }
    .service p { font-size:14px; line-height:1.7; color:var(--muted); margin:0; }
    .specialties { margin-top:54px; padding-top:34px; border-top:1px solid #dce3d9; scroll-margin-top:28px; }
    .specialties-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:23px; }
    .specialties-heading h3 { margin:12px 0 0; font-size:31px; }
    .specialties-heading p { max-width:390px; color:var(--muted); font-size:14px; margin:0; }
    .specialty-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
    .specialty-link { position:relative; display:flex; flex-direction:column; min-height:142px; gap:22px; padding:19px 19px 21px; border:1px solid #dce3d9; border-radius:4px; background:#f6f8f3; text-decoration:none; transition:background .2s,transform .2s; }
    .specialty-link:nth-child(2n) { background:#f9f4ef; }
    .specialty-link:hover { background:#e8eee7; transform:translateY(-2px); }
    .specialty-link span { font-size:10px; letter-spacing:.13em; font-weight:750; color:#8d735d; }
    .specialty-link strong { font:24px/1.13 Georgia,serif; letter-spacing:-.04em; max-width:175px; }
    .specialty-link b { position:absolute; right:18px; bottom:18px; font:20px/1 Georgia,serif; color:var(--sage-dark); }
    .details { display:grid; grid-template-columns:1.24fr .76fr; gap:24px; margin-top:23px; }
    .approach,.fees { border-radius:4px; padding:36px 38px; }
    .approach { background:#e9eee7; }
    .approach p { color:#455950; max-width:650px; margin:0 0 18px; }
    .pill-row { display:flex; gap:8px; flex-wrap:wrap; }
    .pill-row span { display:inline-block; border:1px solid #bfcfc0; background:#f5f8f2; border-radius:100px; padding:5px 12px; color:var(--sage-dark); font-size:12px; font-weight:650; }
    .fees { background:#f7ece5; }
    .fees .price { display:flex; gap:6px; align-items:baseline; margin:4px 0 13px; font:47px/1 Georgia,serif; letter-spacing:-.045em; }
    .fees .price small { font:13px/1.4 "Segoe UI",sans-serif; letter-spacing:0; color:#5f615d; }
    .fees p { font-size:14px; color:#5a615b; margin:0; }
    .fees .fee-note { margin-top:13px; font-size:12px; }
    .home-faq { display:grid; grid-template-columns:.45fr 1fr; gap:60px; padding-top:55px; margin-top:55px; border-top:1px solid #dce3d9; }
    .home-faq-heading h3 { margin:13px 0 0; font-size:clamp(30px,3vw,40px); }
    .faq-items { min-width:0; border-bottom:1px solid #dce3d9; }
    .faq-items details { border-top:1px solid #dce3d9; padding:18px 0; }
    .faq-items summary { cursor:pointer; position:relative; padding-right:35px; color:var(--ink); font-size:16px; font-weight:700; list-style:none; }
    .faq-items summary::-webkit-details-marker { display:none; }
    .faq-items summary:after { content:"+"; position:absolute; right:4px; top:-2px; color:var(--sage-dark); font:24px/1 Georgia,serif; }
    .faq-items details[open] summary:after { content:"−"; }
    .faq-items summary:focus-visible { outline:3px solid #a9674c; outline-offset:4px; }
    .faq-items details > p,.insurance-answer > p { color:var(--muted); font-size:14px; line-height:1.7; margin:14px 20px 2px 0; }
    .faq-items a { color:var(--sage-dark); overflow-wrap:anywhere; }
    .insurance-table-wrap { max-width:100%; overflow-x:auto; margin-top:17px; }
    .insurance-table-wrap table { border-collapse:collapse; width:100%; font-size:13px; line-height:1.45; }
    .insurance-table-wrap caption { text-align:left; font-size:12px; color:var(--muted); margin-bottom:9px; }
    .insurance-table-wrap th { text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.09em; color:var(--sage-dark); background:#e9eee7; }
    .insurance-table-wrap th,.insurance-table-wrap td { padding:10px 12px; vertical-align:top; border-bottom:1px solid #dce3d9; }
    .insurance-table-wrap th:first-child,.insurance-table-wrap td:first-child { width:58%; }
    .insurance-table-wrap tr:nth-child(even) td { background:#f6f8f3; }
    .section-consult { padding:100px 0 110px; background:#e8eee7; }
    .consult-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:70px; align-items:start; }
    .consult-copy > p { font-size:16px; color:#4d6056; line-height:1.75; }
    .consult-list { margin:30px 0 0; padding:0; list-style:none; }
    .consult-list li { display:flex; gap:15px; padding:17px 0; border-top:1px solid #c5d4c5; color:#43564b; font-size:14px; }
    .consult-list b { color:var(--sage-dark); font-size:13px; }
    .guide { background:var(--paper); border:1px solid #dce3d9; box-shadow:var(--shadow); border-radius:7px; padding:34px 36px 30px; }
    .guide-head { display:flex; align-items:start; justify-content:space-between; gap:16px; }
    .guide-head h3 { font-size:30px; margin-bottom:6px; }
    .guide-head p { font-size:13px; color:var(--muted); margin-bottom:0; }
    .guide-badge { white-space:nowrap; background:#eaf0e8; border-radius:50px; font-size:11px; font-weight:700; color:var(--sage-dark); padding:6px 10px; }
    fieldset { border:0; padding:0; margin:25px 0 0; }
    legend { font-size:13px; font-weight:750; color:var(--ink); margin-bottom:10px; padding:0; }
    .options { display:flex; flex-wrap:wrap; gap:9px; }
    .choice { position:relative; }
    .choice input { position:absolute; opacity:0; inset:0; cursor:pointer; }
    .choice span { display:inline-flex; align-items:center; min-height:37px; padding:7px 12px; border:1px solid #d5ddd3; border-radius:100px; background:#fff; color:#4b5f55; font-size:12px; line-height:1.25; transition:background .18s,border-color .18s; }
    .choice input:focus-visible + span { outline:3px solid #a9674c; outline-offset:3px; }
    .choice input:checked + span { border-color:var(--sage-dark); background:#e7eee6; color:#243d31; font-weight:700; }
    .choice:hover span { border-color:var(--sage-dark); }
    .guide-actions { display:flex; flex-wrap:wrap; align-items:center; gap:17px; margin-top:29px; }
    .guide-actions .button { border:0; }
    .quiet { border:0; padding:8px; background:transparent; color:var(--sage-dark); font-size:12px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
    .privacy { border-top:1px solid #e0e5dc; margin-top:25px; padding-top:14px; color:#65756c; font-size:11px; }
    .result { display:none; margin-top:27px; border-top:1px solid #dce3d9; padding-top:24px; }
    .result.visible { display:block; }
    .result h4 { font:26px/1.2 Georgia,serif; letter-spacing:-.03em; margin:0 0 8px; }
    .result > p { font-size:13px; color:var(--muted); }
    .result ol { padding-left:20px; margin:17px 0 18px; color:#3d5548; font-size:14px; }
    .result li { padding-left:3px; margin-bottom:9px; }
    .result .minor { background:#f4f6f0; border-left:3px solid var(--sage); padding:10px 13px; }
    .contact-strip { margin-top:48px; padding:28px 32px; background:var(--sage-dark); border-radius:5px; color:white; display:flex; justify-content:space-between; align-items:center; gap:24px; }
    .contact-strip p { margin:4px 0 0; color:#e0e9df; font-size:13px; }
    .contact-strip strong { font:25px/1.2 Georgia,serif; }
    .contact-strip .button { color:var(--sage-dark); background:#fffdf8; border-color:#fffdf8; white-space:nowrap; }
    .contact-strip .button:hover { background:#eef1e9; }
    .contact-email { color:#fff; font-weight:700; overflow-wrap:anywhere; text-underline-offset:3px; }
    .focus-hero { padding:72px 0 82px; background:var(--cream); }
    .focus-hero-inner { max-width:930px; }
    .back-link { display:flex; width:fit-content; align-items:center; gap:8px; text-decoration:none; font-size:12px; font-weight:700; color:var(--sage-dark); margin-bottom:45px; }
    .back-link:hover { text-decoration:underline; text-underline-offset:4px; }
    .focus-hero h1 { max-width:890px; margin:19px 0 20px; }
    .focus-hero .lede { max-width:750px; }
    .focus-hero .actions { margin-top:32px; }
    .focus-body { background:var(--paper); padding:82px 0 94px; }
    .focus-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:65px; align-items:start; }
    .focus-copy h2 { font-size:clamp(37px,3.6vw,51px); }
    .focus-copy p { color:#45584f; line-height:1.78; font-size:16px; }
    .focus-list { list-style:none; margin:27px 0 0; padding:0; }
    .focus-list li { position:relative; padding:16px 0 16px 23px; border-top:1px solid #dce3d9; color:#43584d; font-size:15px; }
    .focus-list li:before { content:"✳"; position:absolute; left:0; top:17px; color:var(--sage); font-size:12px; }
    .focus-panel { padding:34px 36px; background:#e9eee7; border-radius:4px; }
    .focus-panel h3 { font-size:29px; }
    .focus-panel p { color:#4a5e52; font-size:14px; line-height:1.72; }
    .focus-panel .eyebrow { margin-bottom:14px; }
    .focus-faq { margin-top:47px; max-width:840px; }
    .focus-faq h3 { margin-bottom:19px; }
    .focus-faq details { border-top:1px solid #dce3d9; padding:16px 0; }
    .focus-faq details:last-child { border-bottom:1px solid #dce3d9; }
    .focus-faq summary { cursor:pointer; font-size:15px; font-weight:700; color:var(--ink); }
    .focus-faq details p { color:var(--muted); font-size:14px; line-height:1.7; margin:12px 20px 2px 0; }
    .related { margin-top:35px; color:var(--muted); font-size:13px; }
    .related a { color:var(--sage-dark); font-weight:700; margin-left:12px; text-underline-offset:3px; }
    .focus-consult { background:#e8eee7; padding:72px 0 86px; }
    .consult-callout { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; }
    .consult-callout h2 { max-width:690px; margin-bottom:12px; }
    .consult-callout p { max-width:630px; color:#4b6053; }
    .consult-callout .button { white-space:nowrap; }
    .clinician { display:flex; align-items:center; gap:16px; margin-top:25px; }
    .clinician img { width:57px; height:57px; border-radius:50%; object-fit:cover; object-position:center 32%; border:2px solid white; }
    .clinician span { font-size:12px; color:#4b6053; }
    .clinician strong { display:block; font-size:14px; color:var(--ink); }
    footer { background:#233b33; color:#e6eee6; padding:36px 0; }
    .footer-inner { display:flex; justify-content:space-between; gap:30px; align-items:start; }
    footer .brand { color:#fff; font-size:20px; }
    footer .brand small { color:#cad9ce; }
    footer .mark { border-color:#bdcfc0; color:#e9f0e7; }
    footer p { max-width:520px; font-size:11px; color:#c6d4cb; margin:4px 0 0; }
    @media (max-width:920px) { .hero-grid { gap:25px; } .hero-art { min-height:480px; } .art-quote { left:-10px; width:230px; } .consult-grid { gap:35px; } .nav-links { gap:17px; } .specialty-grid { grid-template-columns:repeat(2,1fr); } .focus-grid { gap:35px; } }
    @media (max-width:720px) { .shell { width:min(100% - 36px,550px); } .nav { min-height:74px; } .brand { font-size:18px; } .mark { width:34px; height:34px; } .nav-links { display:none; } .hero { padding:52px 0 70px; } .hero-grid,.details,.consult-grid { grid-template-columns:1fr; } .hero-grid { gap:26px; } h1 { font-size:clamp(46px,11vw,68px); } .lede { font-size:16px; } .hero-foot { margin-top:35px; } .hero-art { min-height:390px; max-width:520px; width:100%; margin:auto; } .art-arch { inset:12px 32px 22px; } .plant { height:82%; top:8%; } .art-quote { bottom:25px; left:0; width:205px; padding:17px 20px; } .art-quote p { font-size:18px; } .art-sun { width:75px; height:75px; } .art-circle { width:190px; height:190px; } .section-work,.section-consult { padding:72px 0; } .service-grid { grid-template-columns:1fr; gap:11px; margin-top:28px; } .service { min-height:auto; padding:22px 24px; } .service h3 { margin-top:15px; } .details { gap:12px; margin-top:12px; } .approach,.fees { padding:27px; } .consult-grid { gap:30px; } .guide { padding:26px 22px; } .contact-strip { flex-direction:column; align-items:flex-start; margin-top:35px; padding:24px; } .footer-inner { flex-direction:column; gap:20px; } }
    @media (max-width:360px) { .shell { width:calc(100% - 28px); } .nav-links .nav-cta { display:none; } .guide { padding:22px 17px; } .guide-badge { display:none; } }
    @media (max-width:720px) { .specialties { margin-top:36px; } .specialties-heading { display:block; } .specialties-heading p { margin-top:12px; } .specialty-grid { grid-template-columns:repeat(2,1fr); gap:9px; } .specialty-link { padding:15px; min-height:130px; } .specialty-link strong { font-size:21px; } .specialty-link b { right:13px; bottom:13px; } .art-quote { bottom:-8px; } .focus-hero { padding:40px 0 68px; } .back-link { margin-bottom:34px; } .focus-hero h1 { font-size:clamp(46px,11vw,67px); } .focus-body { padding:65px 0 70px; } .focus-grid { grid-template-columns:1fr; gap:25px; } .focus-panel { padding:26px; } .focus-faq { margin-top:35px; } .focus-consult { padding:60px 0 70px; } .consult-callout { grid-template-columns:1fr; gap:13px; } .consult-callout .button { justify-self:start; } .related a { display:inline-block; margin:5px 12px 0 0; } }
    @media (max-width:920px) { .specialty-grid .specialty-link:last-child { grid-column:1 / -1; } }
    @media (max-width:720px) { .home-faq { grid-template-columns:1fr; gap:22px; padding-top:35px; margin-top:40px; } .faq-items summary { font-size:15px; } .insurance-table-wrap table { font-size:12px; } .insurance-table-wrap th,.insurance-table-wrap td { padding:9px 7px; overflow-wrap:anywhere; } }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button,.choice span { transition:none; } }
