:root{--plum:#5c4965;--lavender:#aa8bc1;--white:#f7f6f4;--sage:#b1c296;--olive:#6e7762;--ink:#342d39;--line:#dad5de}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--white);color:var(--ink);font:17px/1.75 Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--lavender);outline-offset:5px}header{padding:25px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:var(--white)}.brand{display:flex;align-items:center;gap:15px;font-family:Georgia,serif;font-size:21px;line-height:1.3}.brand small{display:block;font:9px/2.4 Arial,sans-serif;letter-spacing:2px}.monogram{font:italic 43px Georgia;color:var(--plum);border-right:1px solid var(--line);padding-right:17px}nav{display:flex;align-items:center;gap:30px;font-size:14px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;padding:17px 25px;background:var(--plum);color:white;border:1px solid var(--plum);border-radius:3px;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:#473650;transform:translateY(-2px)}.button.small{padding:11px 18px;gap:20px}.hero{max-width:1440px;margin:auto;min-height:760px;padding:70px 8% 65px;display:grid;grid-template-columns:1.1fr 1fr;gap:65px;position:relative;align-items:center}.eyebrow{font-size:11px;letter-spacing:2.6px;font-weight:600;color:var(--plum);margin:0 0 28px;display:flex;align-items:center;gap:13px}.dash{width:30px;height:1px;background:var(--plum)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.13;margin:0;color:var(--plum)}h1{font-size:clamp(48px,5.4vw,80px);letter-spacing:-3px}em{font-weight:400;color:#8d739f}h2{font-size:clamp(36px,3.4vw,51px);letter-spacing:-1.6px}h3{font-size:32px;letter-spacing:-.8px}.intro{font-size:17px;margin:28px 0;color:#6a626b}.session-note{font-size:11px;margin-top:18px;letter-spacing:.4px;color:#6d656f}.portrait-wrap{position:relative;padding:0 26px 28px 0;max-width:470px;width:100%;justify-self:end}.portrait-bg{position:absolute;inset:30px 0 0 30px;background:#ded5e4;border-radius:180px 180px 4px 4px}.portrait{position:relative;width:100%;height:530px;object-fit:cover;object-position:50% 43%;border-radius:190px 190px 3px 3px;display:block}.portrait-label{position:absolute;left:-30px;bottom:6px;background:#f7f6f4;padding:20px 28px;box-shadow:0 8px 30px #35273e0c;border-left:3px solid var(--sage)}.portrait-label span{display:block;font:24px Georgia;color:var(--plum)}.portrait-label small{font-size:11px}.vertical-note{position:absolute;right:-24px;top:160px;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px;color:var(--olive)}.scroll-note{position:absolute;bottom:20px;left:8%;font-size:11px;letter-spacing:1px;color:var(--olive)}.scroll-note span{margin-left:30px}.section{padding:100px 8%;scroll-margin-top:15px}.about{background:#eeeaf0;display:grid;grid-template-columns:1fr 1fr;gap:9%}.body-copy p:first-child{margin-top:0}.body-copy p{font-size:15px;color:#655c68}.body-copy .lead{font:23px/1.6 Georgia;color:var(--plum)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-heading>p{font-size:14px;color:#766e78}.services{display:grid;grid-template-columns:1fr 1fr;gap:25px}.service{background:#e9e2ef;padding:38px 40px}.service.child{background:#e5eadc}.service-number{display:block;font:italic 27px Georgia;color:#8b749b;margin-bottom:38px}.service-meta{font-size:10px;letter-spacing:1.6px;margin:15px 0 24px}.service>p:not(.service-meta){font-size:15px;line-height:1.9;color:#635c65}.text-button{background:none;border:0;border-bottom:1px solid #a49aa9;padding:10px 0;display:inline-flex;gap:30px;color:var(--plum);font-size:13px;text-align:left}.under-note{font-size:12px;color:#766e78;margin-top:23px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:#f0f0e9}.approach-art{position:sticky;top:45px;align-self:start}.thread-art{width:90%;max-width:430px;height:auto;overflow:visible}.thread-base,.thread{fill:none;stroke:#dcd6de;stroke-width:1.7;stroke-linecap:round}.thread{stroke:var(--plum);stroke-width:2.5}.art-caption{font:italic 18px Georgia;color:var(--olive);margin-top:-20px}.approach-steps{padding-top:45px}.approach-steps article{padding:25px 0 45px;border-bottom:1px solid #d4d5cd;margin-bottom:35px}.approach-steps article:last-child{margin-bottom:0}.approach-steps span{font-size:10px;letter-spacing:2px;color:var(--olive);display:block;margin-bottom:20px}.approach-steps p{font-size:15px;color:#6c666c}.young{background:var(--plum);color:#f6f1f8;display:grid;grid-template-columns:1fr 1fr;column-gap:12%;position:relative}.young>.eyebrow{grid-column:1/-1;color:#d8c9e4}.young h2{color:#fff}.young h2 em{color:#cfb9dd}.young>div p{font-size:15px;margin-top:0;color:#e2dae5}.faq{display:grid;grid-template-columns:1fr 1.25fr;gap:8%}.questions details{border-bottom:1px solid var(--line)}summary{padding:22px 0;list-style:none;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px}summary::-webkit-details-marker{display:none}summary span{font-size:22px;color:var(--plum);font-weight:300}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;color:#6b626f;padding:0 30px 17px 0;margin:0}.contact{text-align:center;background:#dfe5d5}.contact .eyebrow{justify-content:center}.contact h2{font-size:clamp(38px,4.3vw,63px)}.contact p:not(.eyebrow){color:#69715e;font-size:15px;margin:24px 0}.contact-links{display:flex;gap:30px;justify-content:center;margin-top:26px;font-size:12px;color:var(--plum)}footer{padding:40px 8%;display:flex;justify-content:space-between;align-items:center}footer>p{font-size:12px;text-align:right;color:#6d6371}footer small{font-size:10px}.floating{position:fixed;bottom:23px;right:23px;background:var(--plum);color:white;display:flex;gap:10px;align-items:center;border:1px solid #ffffff50;border-radius:40px;padding:13px 18px;box-shadow:0 5px 25px #35273e20;font-size:12px;z-index:4}dialog{width:min(520px,calc(100% - 36px));padding:45px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--white);box-shadow:0 20px 100px #24122d40}dialog::backdrop{background:#33263f80;backdrop-filter:blur(4px)}dialog h2{font-size:44px}dialog>p{font-size:15px}dialog .button{width:100%;margin:15px 0 0}dialog .dialog-note{font-size:12px;color:#776d7d}dialog .text-button{font-size:13px}.skip-form{display:block;font-size:12px;text-decoration:underline;margin-top:20px;color:#776d7d}.close{position:absolute;top:9px;right:15px;border:0;background:none;font-size:28px;color:var(--plum)}.skip{position:absolute;top:-100px}.skip:focus{top:8px;left:8px;background:white;z-index:10;padding:15px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:none}@media(min-width:1500px){.section{padding-left:max(8%,calc((100% - 1200px)/2));padding-right:max(8%,calc((100% - 1200px)/2))}}@media(max-width:850px){header{padding:20px 6%}nav>a{display:none}.brand{font-size:18px}.brand small{font-size:8px}.hero{padding:45px 7% 70px;gap:25px;min-height:auto}h1{font-size:52px;letter-spacing:-2px}.portrait{height:440px}.portrait-label{left:-10px;padding:15px}.portrait-label span{font-size:20px}.section{padding:70px 7%}.about,.approach,.faq{gap:35px}.section-heading{display:block}.service{padding:25px}.young{gap:30px}.vertical-note{display:none}}@media(max-width:600px){header .button{padding:9px 12px;font-size:11px;gap:10px}.monogram{font-size:33px;padding-right:10px}.brand{gap:10px;font-size:17px}.brand small{letter-spacing:1px;font-size:7px}.hero{grid-template-columns:1fr;padding-top:35px}.hero .eyebrow{margin-bottom:18px}h1{font-size:53px}.intro{font-size:15px}.portrait-wrap{max-width:360px;justify-self:center;margin-top:20px}.portrait{height:400px;object-position:50% 44%}.portrait-label{left:-6px}.scroll-note{bottom:17px}.section{padding:60px 7%}.about,.services,.approach,.young,.faq{grid-template-columns:1fr}.about{gap:25px}.body-copy .lead{font-size:21px}h2{font-size:37px}.service-number{margin-bottom:24px}.service{padding:30px}.approach-art{position:static}.thread-art{max-width:280px;display:block;margin:auto}.art-caption{text-align:center}.approach-steps{padding:0}.approach-steps article{padding:15px 0 25px;margin-bottom:20px}.young{gap:22px}.young .eyebrow{margin-bottom:0}.faq{gap:25px}.floating{padding:13px;bottom:16px;right:15px}.floating span{display:none}footer{padding:30px 7% 75px;display:block}footer>p{text-align:left;margin-top:25px}dialog{padding:35px 25px}.contact h2{font-size:39px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* Updated supplied branding and portrait */
.brand-logo{display:block;width:265px;height:auto;mix-blend-mode:multiply}.portrait{object-position:50% 35%;height:530px}.portrait-label{bottom:3px}@media(max-width:850px){.brand-logo{width:220px}.portrait{height:440px}}@media(max-width:600px){.brand-logo{width:185px}header{gap:12px;padding:18px 5%}.portrait{height:420px;object-position:50% 35%}.portrait-wrap{max-width:360px}footer .brand-logo{width:245px}}
