:root{--h-brand:#a34e31;--h-brand-dark:#8c3f27;--h-ink:#1f1a17;--h-ink-2:#4a3b33;--h-cream:#f0e8db;--h-cream-2:#f5e7d0;--h-paper:#fff;--h-display:"Fraunces", "Instrument Serif", Georgia, serif;--h-body:var(--font-inter,"Inter", system-ui, sans-serif)}html,body{background:var(--h-cream);color:var(--h-ink)}body{font-family:var(--h-body)}.h-display,.h-h2,.h-hero__title,.h-mission__text,.h-service h3,.h-step h3,.h-test p,.h-faq summary,.h-stats strong,.nav_brand,.nav_wordmark,.nav_menu a{font-family:var(--h-display);font-variation-settings:"opsz" 48, "SOFT" 60, "WONK" 0}.h-hero__title,.h-h2{font-variation-settings:"opsz" 144, "SOFT" 100, "WONK" 0}.h-section{padding-inline:clamp(1rem,4vw,2rem)}.h-display{font-family:var(--h-display);letter-spacing:-.01em;color:var(--h-ink);max-width:14ch;margin:0;font-size:clamp(2.5rem,6.5vw,5rem);font-weight:500;line-height:1.05}.h-h2{font-family:var(--h-display);letter-spacing:-.01em;color:var(--h-ink);margin:0;font-size:clamp(2rem,4.6vw,3.2rem);font-weight:500;line-height:1.1}.h-h2+.h-sub{margin-top:1rem}.h-sub,.h-lead{font-family:var(--h-body);color:var(--h-ink-2);max-width:46ch;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.6}.h-lead{margin:1.25rem 0 2rem}.h-eyebrow{font-family:var(--h-body);letter-spacing:.14em;text-transform:uppercase;color:var(--h-ink-2);background:var(--h-cream-2);border-radius:999px;margin-bottom:1rem;padding:.4rem .9rem;font-size:.8rem;display:inline-block}.h-btn{background:var(--h-brand);color:#fff;font-family:var(--h-body);letter-spacing:.01em;border-radius:999px;align-items:center;gap:.5rem;padding:.95rem 1.6rem;font-size:.95rem;text-decoration:none;transition:background .18s,transform .18s;display:inline-flex}.h-btn:hover{background:var(--h-brand-dark);transform:translateY(-1px)}.h-btn:after{content:"→";transition:transform .22s;display:inline-block}.h-btn:hover:after{transform:translate(3px)}.h-hero{isolation:isolate;align-items:center;width:100%;min-height:100svh;padding-inline:0;display:flex;position:relative;overflow:hidden}.h-hero__bg{object-fit:cover;object-position:center;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.h-hero__overlay{z-index:-1;background:linear-gradient(90deg,#f0e8dbc7 0%,#f0e8db80 35%,#f0e8db00 65%);position:absolute;inset:0}.h-hero__content{flex-direction:column;align-items:flex-start;gap:clamp(1rem,2vw,1.5rem);width:100%;max-width:1200px;margin-inline:auto;padding:clamp(7rem,14vh,10rem) clamp(1.25rem,5vw,3rem) clamp(3rem,8vh,5rem);display:flex}.h-hero__title{font-family:var(--h-display);letter-spacing:-.01em;color:var(--h-ink);text-wrap:balance;max-width:14ch;margin:0;font-size:clamp(2.5rem,6vw,4.75rem);font-weight:500;line-height:1.05}.h-hero__lead{font-family:var(--h-body);color:var(--h-ink);max-width:32ch;margin:0;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.55}.h-rating{align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.h-rating__stars{color:var(--h-brand);letter-spacing:.2em;font-size:.95rem}.h-rating__text{color:var(--h-ink-2);font-size:.9rem}@media (max-width:820px){.h-hero__bg{object-position:72% center}.h-hero__overlay{background:linear-gradient(#f0e8dbeb 0%,#f0e8db8c 42%,#f0e8db14 100%)}.h-hero__content{padding-top:clamp(6rem,14vh,8rem)}.h-hero__title{max-width:100%}.h-rating{flex-wrap:wrap}}.h-mission{padding-block:clamp(4rem,8vw,7rem)}.h-mission__text{max-width:60rem;font-family:var(--h-display);text-align:center;color:var(--h-ink);margin:0 auto;font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.35}.h-about{max-width:1200px;margin:0 auto;padding-block:clamp(3rem,6vw,5rem)}.h-about__head{max-width:36rem;margin-bottom:clamp(2rem,4vw,3rem)}.h-about__grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(2rem,4vw,3rem);display:grid}.h-about__text p+p{margin-top:1.1rem}.h-about__text p{color:var(--h-ink-2);font-size:1.05rem;line-height:1.75}.h-about__photo{aspect-ratio:4/5;isolation:isolate;background:var(--h-cream-2);border-radius:clamp(1rem,2vw,1.5rem);position:relative;overflow:hidden}.h-about__photo img{object-fit:cover;object-position:center top;filter:sepia(.6)saturate(1.15)hue-rotate(-18deg)contrast(1.05)brightness(1.03);width:100%;height:100%;display:block}.h-about__photo:after{content:"";mix-blend-mode:multiply;pointer-events:none;background:linear-gradient(145deg,#cd6e462e 0%,#a34e3147 100%);position:absolute;inset:0}.h-stats{padding:0;border-top:1px solid #00000014;grid-template-columns:repeat(3,1fr);gap:1rem;margin:clamp(2.5rem,5vw,4rem) 0 0;padding-top:clamp(1.5rem,3vw,2.5rem);list-style:none;display:grid}.h-stats li{flex-direction:column;gap:.35rem;display:flex}.h-stats strong{font-family:var(--h-display);color:var(--h-brand);font-size:clamp(2rem,4vw,2.75rem);font-weight:500}.h-stats span{color:var(--h-ink-2);font-size:.95rem}.h-services{max-width:1200px;margin:0 auto;padding-block:clamp(4rem,7vw,6rem)}.h-services__head{max-width:42rem;margin-bottom:clamp(2rem,4vw,3rem)}.h-services__grid{grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);display:grid}.h-service{background:var(--h-paper);border-radius:clamp(1rem,2vw,1.5rem);flex-direction:column;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden}.h-service:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px #0003}.h-service__photo{aspect-ratio:4/5;overflow:hidden}.h-service__photo img{object-fit:cover;width:100%;height:100%;display:block}.h-service h3{font-family:var(--h-display);color:var(--h-ink);margin:1.25rem 1.25rem .5rem;font-size:1.5rem;font-weight:500}.h-service p{color:var(--h-ink-2);margin:0 1.25rem 1.5rem;font-size:.95rem;line-height:1.6}.h-process{max-width:1200px;margin:0 auto;padding-block:clamp(4rem,7vw,6rem)}.h-process__head{max-width:42rem;margin-bottom:clamp(2.5rem,5vw,3.5rem)}.h-process__steps{grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.5rem);margin-bottom:clamp(2rem,4vw,3rem);display:grid}.h-step{background:var(--h-cream-2);border-radius:clamp(1rem,2vw,1.5rem);flex-direction:column;gap:.75rem;padding:1.75rem;display:flex}.h-step__num{font-family:var(--h-display);color:var(--h-brand);font-size:1.6rem;font-weight:500}.h-step h3{font-family:var(--h-display);color:var(--h-ink);margin:0;font-size:1.4rem;font-weight:500}.h-step p{color:var(--h-ink-2);margin:0;font-size:.95rem;line-height:1.6}.h-tests{max-width:1200px;margin:0 auto;padding-block:clamp(4rem,7vw,6rem)}.h-tests h2{max-width:24ch;margin-bottom:clamp(2rem,4vw,3rem)}.h-tests__grid{grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);display:grid}.h-test{background:var(--h-paper);border-radius:clamp(1rem,2vw,1.5rem);flex-direction:column;gap:1.25rem;margin:0;padding:clamp(1.5rem,2.5vw,2rem);display:flex}.h-test p{font-family:var(--h-display);color:var(--h-ink);margin:0;font-size:1.1rem;font-style:normal;line-height:1.5}.h-test cite{color:var(--h-ink-2);letter-spacing:.05em;font-size:.9rem;font-style:normal}.h-faq{max-width:760px;margin:0 auto;padding-block:clamp(4rem,7vw,6rem)}.h-faq__head{text-align:center;margin-bottom:clamp(2rem,4vw,3rem)}.h-faq__list{flex-direction:column;gap:.75rem;display:flex}.h-faq details{background:var(--h-paper);border-radius:1rem;padding:1.25rem 1.5rem;transition:background .2s}.h-faq details[open]{background:var(--h-cream-2)}.h-faq summary{cursor:pointer;font-family:var(--h-display);color:var(--h-ink);justify-content:space-between;align-items:center;gap:1rem;font-size:1.1rem;list-style:none;display:flex}.h-faq summary::-webkit-details-marker{display:none}.h-faq summary:after{content:"+";color:var(--h-brand);font-size:1.5rem;line-height:1;transition:transform .22s}.h-faq details[open] summary:after{content:"–"}.h-faq p{color:var(--h-ink-2);margin:.9rem 0 0;line-height:1.65}.h-cta{text-align:center;max-width:820px;margin:0 auto;padding-block:clamp(4rem,8vw,7rem)}.h-cta h2{max-width:20ch;margin-inline:auto}.h-cta__text{max-width:44ch;color:var(--h-ink-2);margin:1.25rem auto 2rem;font-size:1.05rem;line-height:1.65}.h-cta__contact{color:var(--h-ink-2);margin-top:1.25rem;font-size:.9rem}.h-cta__contact a{color:var(--h-brand);border-bottom:1px solid;text-decoration:none}@media (max-width:820px){.h-about__grid,.h-services__grid,.h-process__steps,.h-tests__grid{grid-template-columns:1fr}.h-stats{grid-template-columns:1fr;gap:1.25rem}.h-hero__inner{padding-top:1rem}.h-mission__text,.h-faq__head,.h-cta{text-align:left}.h-cta h2,.h-cta__text{margin-inline:0}}@media (max-width:480px){.h-eyebrow{padding:.3rem .75rem;font-size:.72rem}.h-service,.h-step,.h-test{border-radius:1rem}.h-btn{justify-content:center;width:100%}}
