@font-face{font-family:Roslindale Display;src:url(/fonts/Roslindale-DisplayExtraLight.woff)format("woff");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Roslindale Condensed;src:url(/fonts/Roslindale-DisplayCondensedLightItalic.woff)format("woff");font-weight:300;font-style:italic;font-display:swap}:root{--white:#fefefe;--lily:#f2eee3;--peach:#e1cba0;--periwinkle:#c6d4e7;--ebony:#484e55;--black:#010101;--font-display:"Roslindale Display", Georgia, serif;--font-subhead:"Roslindale Condensed", Georgia, serif;--font-sans:"Urbanist", "Helvetica Neue", Helvetica, sans-serif;--text-body:1.16rem;--nav-height:3.75rem;--ease:cubic-bezier(.22, 1, .36, 1);--wrap:min(1120px, calc(100% - 2.5rem))}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overscroll-behavior-y:none;scroll-padding-top:4.25rem}body{font-family:var(--font-sans);font-size:var(--text-body);letter-spacing:0;color:var(--black);background:var(--lily);overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-weight:500;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:0 0;border:none}::selection{background:var(--periwinkle);color:var(--black)}:focus-visible{outline:2px solid var(--ebony);outline-offset:3px}.site{background:var(--lily);min-height:100vh;color:var(--black)}.wrap{width:min(1120px,100% - 2.75rem);margin-inline:auto}.eyebrow{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ebony);margin:0 0 1.1rem;font-size:.72rem;font-weight:600}.section-title{font-family:var(--font-display);letter-spacing:-.02em;text-align:center;margin:0 0 2.75rem;font-size:clamp(2.6rem,5.5vw,4.25rem);font-weight:200;line-height:1.1}.section-title--left{text-align:left;margin-bottom:1.25rem}.body{color:var(--ebony);max-width:34rem;font-size:1.05rem;line-height:1.7}.inline-link{color:var(--black);border-bottom:1px solid var(--peach)}.inline-link:hover{opacity:.65}.btn{background:var(--black);min-height:2.75rem;color:var(--white);border:1px solid var(--black);font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;justify-content:center;align-items:center;padding:.7rem 1.4rem;font-size:.72rem;font-weight:600;transition:background-color .25s,color .25s,border-color .25s;display:inline-flex}.btn:hover{background:var(--ebony);border-color:var(--ebony)}.btn--ghost{color:var(--black);background:0 0}.btn--ghost:hover{background:var(--black);color:var(--white)}.header{z-index:50;background:var(--white);border-bottom:1px solid #484e551a;width:100%;position:fixed;inset:0 0 auto}.site>main{padding-top:4.25rem}.header__inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.25rem;display:flex}.header__logo{width:min(10.5rem,46vw);display:block}.header__logo img,.footer__logo img{width:100%;height:auto}.header__nav{flex-wrap:wrap;justify-content:flex-end;gap:1.15rem 1.5rem;display:flex}.header__nav a{letter-spacing:.16em;text-transform:uppercase;color:var(--ebony);font-size:.7rem;font-weight:600;transition:color .2s}.header__nav a:hover{color:var(--black)}.hero{background:var(--lily);padding:0}.hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,3rem);min-height:calc(100svh - 4.25rem);padding:clamp(1.75rem,4vw,3rem) max(1.375rem,50vw - 560px + 1.375rem);display:grid}.hero__copy{align-items:center;padding:clamp(1rem,3vw,2rem) 0;display:flex}.hero__copy-inner{max-width:28rem}.hero__headline{font-family:var(--font-display);letter-spacing:-.02em;max-width:11ch;margin:0 0 1.15rem;font-size:clamp(2.6rem,5.2vw,4.1rem);font-weight:200;line-height:1.08}.hero__lede{max-width:28ch;color:var(--ebony);margin:0 0 1.75rem;font-size:1.05rem;line-height:1.55}.hero__media{justify-content:center;align-items:center;max-height:min(78svh,42rem);margin:0;display:flex}.hero__media img{object-fit:contain;object-position:center;width:100%;height:100%;max-height:min(78svh,42rem)}.banner{color:var(--ebony);background:radial-gradient(ellipse 70% 80% at 15% 20%, #fefefe8c, transparent 55%), radial-gradient(ellipse 60% 70% at 85% 75%, #e1cba047, transparent 50%), var(--periwinkle);text-align:center;justify-content:center;align-items:center;min-height:clamp(14rem,34vw,20rem);padding:clamp(3.5rem,9vw,6rem) 1.5rem;display:flex}.banner__copy{text-align:center;max-width:min(40rem,92vw);margin-inline:auto}.banner__headline{font-family:var(--font-display);letter-spacing:-.02em;text-align:center;margin:0;font-size:clamp(2.35rem,5.6vw,4.35rem);font-weight:200;line-height:1.1}.banner__meta{font-family:var(--font-subhead);letter-spacing:.01em;color:var(--ebony);text-align:center;margin:1.35rem 0 0;font-size:clamp(1rem,1.6vw,1.2rem);font-style:italic;font-weight:300;line-height:1.4}.offerings{background:var(--white);padding:clamp(4.5rem,10vw,7rem) 0}.offerings__list{text-align:center;grid-template-columns:repeat(3,1fr);gap:clamp(1.75rem,4vw,3rem);max-width:56rem;margin-inline:auto;list-style:none;display:grid}.offerings__icon{object-fit:contain;width:auto;height:3.75rem;margin:0 auto 1.25rem}.offerings__list h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .75rem;font-size:clamp(1.7rem,2.8vw,2.2rem);font-weight:200;line-height:1.15}.offerings__list p{max-width:22ch;color:var(--ebony);margin:0 auto;font-size:.98rem;line-height:1.6}.about{background:var(--lily);padding:clamp(4.5rem,10vw,7rem) 0}.about__grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.about__photo{aspect-ratio:1;background:var(--periwinkle);margin:0;overflow:hidden}.about__photo img{object-fit:cover;object-position:center 18%;width:100%;height:100%}.about__headline{font-family:var(--font-display);letter-spacing:-.02em;max-width:14ch;margin:0 0 1.25rem;font-size:clamp(2.2rem,4.4vw,3.4rem);font-weight:200;line-height:1.12}.about__copy .body{margin-bottom:1.75rem}.services{background:var(--white);padding:clamp(4.5rem,10vw,7rem) 0}.services__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(2.5rem,6vw,5rem);display:grid}.services__intro .body{margin-bottom:1.75rem}.services__list{border-top:1px solid #484e552e;list-style:none}.services__list li{cursor:default;border-bottom:1px solid #484e552e;outline:none;grid-template-columns:3.25rem 1fr;gap:1rem;margin:0 -1rem;padding:1.15rem 1rem;transition:background-color .25s,padding .25s;display:grid}.services__list li:hover,.services__list li:focus-visible{background:var(--periwinkle);border-bottom-color:#0000}.services__num{font-family:var(--font-subhead);color:var(--peach);padding-top:.15rem;font-size:1.15rem;font-style:italic;line-height:1.3;transition:color .25s}.services__list li:hover .services__num,.services__list li:focus-visible .services__num{color:var(--ebony)}.services__list h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:200;line-height:1.15}.services__detail{opacity:0;max-height:0;color:var(--ebony);margin:0;font-size:.98rem;line-height:1.55;transition:max-height .3s,opacity .25s,margin .25s;overflow:hidden}.services__list li:hover .services__detail,.services__list li:focus-visible .services__detail{opacity:1;max-height:4.5rem;margin-top:.45rem}.contact{background:var(--periwinkle);padding:clamp(4.5rem,10vw,7rem) 0}.contact__inner{text-align:center;max-width:36rem;margin-inline:auto}.contact__lede{max-width:30rem;margin:-1.25rem auto 2rem}.contact__form{text-align:left;grid-template-columns:1fr 1fr;gap:1.25rem 1.5rem;display:grid}.contact__field{flex-direction:column;gap:.45rem;display:flex}.contact__field--full{grid-column:1/-1}.contact__field span{letter-spacing:.16em;text-transform:uppercase;color:var(--ebony);font-size:.68rem;font-weight:600}.contact__field input,.contact__field textarea{width:100%;font:inherit;color:var(--black);resize:vertical;background:0 0;border:0;border-bottom:1px solid #484e5559;border-radius:0;padding:.55rem 0}.contact__field input:-webkit-autofill{-webkit-text-fill-color:var(--black);caret-color:var(--black);box-shadow:0 0 0 1000px var(--periwinkle) inset;transition:background-color 99999s ease-in-out}.contact__field input:-webkit-autofill:hover{-webkit-text-fill-color:var(--black);caret-color:var(--black);box-shadow:0 0 0 1000px var(--periwinkle) inset;transition:background-color 99999s ease-in-out}.contact__field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--black);caret-color:var(--black);box-shadow:0 0 0 1000px var(--periwinkle) inset;transition:background-color 99999s ease-in-out}.contact__field input:focus,.contact__field textarea:focus{border-bottom-color:var(--black);outline:none}.contact__form .btn{grid-column:1/-1;justify-self:center;min-width:11rem;margin-top:.5rem}.contact__form .btn:disabled{opacity:.65;cursor:wait}.contact__status{text-align:center;color:var(--ebony);grid-column:1/-1;margin:0;font-size:.95rem}.contact__status--error{color:#7a2e2e}.footer{background:var(--lily);border-top:1px solid #e1cba0b3;padding:3rem 0 1.5rem}.footer__inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;padding-bottom:2rem;display:grid}.footer__nav{flex-wrap:wrap;gap:.85rem 1.25rem;display:flex}.footer__nav a,.footer__meta a{letter-spacing:.12em;text-transform:uppercase;color:var(--ebony);font-size:.72rem;font-weight:600}.footer__nav a:hover,.footer__meta a:hover{color:var(--black)}.footer__logo{width:min(11rem,50vw);display:block}.footer__meta{justify-self:end;margin:0}.footer__bottom{border-top:1px solid #e1cba08c;padding-top:1.15rem}.footer__bottom p{color:var(--ebony);letter-spacing:.04em;margin:0;font-size:.75rem}@media (width<=860px){.hero__grid{grid-template-columns:1fr;gap:1.75rem;min-height:0;padding:clamp(1.5rem,6vw,2.5rem) 1.375rem}.hero__copy{padding:0}.hero__media{max-height:none}.hero__media img{max-height:min(70vw,28rem)}.about__grid,.services__grid{grid-template-columns:1fr}.hero__headline,.about__headline{max-width:none}.banner p{max-width:14ch}.offerings__list{grid-template-columns:1fr;gap:2.5rem}.footer__inner{text-align:center;grid-template-columns:1fr;justify-items:center}.footer__nav{justify-content:center}.footer__meta{justify-self:center}}@media (width<=640px){.header__nav{display:none}.contact__form{grid-template-columns:1fr}}
