:root{--color-sage: #a99bc9;--color-sage-soft: #ebe5f6;--color-forest: #4b3a72;--color-forest-dark: #352851;--color-earth: #d9b48f;--color-earth-dark: #8a5a3a;--color-ivory: #fcf9f4;--color-beige: #f4ece0;--color-surface: #ffffff;--color-text: #2e2438;--color-text-muted: #675d73;--color-border: #e6dcd0;--color-focus: #4b3a72;--gradient-calm: linear-gradient(135deg, #efe8fa 0%, #f9efe4 55%, #f6e4d6 100%);--gradient-forest: linear-gradient(135deg, #4b3a72 0%, #7a63a8 100%);--font-body: "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading: "Cormorant Garamond", Georgia, "Times New Roman", serif;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2.5rem;--space-6: 4rem;--space-7: 6rem;--radius-sm: 10px;--radius-md: 22px;--radius-lg: 36px;--radius-pill: 999px;--shadow-sm: 0 2px 8px rgb(75 58 114 / 8%);--shadow-md: 0 18px 40px -12px rgb(75 58 114 / 24%);--transition: .25s cubic-bezier(.4, 0, .2, 1);--container: 1360px;--gutter: clamp(16px, 4vw, 48px)}body{font-family:var(--font-body);font-size:1.05rem;font-weight:400;line-height:1.75;color:var(--color-text)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:500;line-height:1.15;color:var(--color-forest);margin:0 0 var(--space-3);letter-spacing:-.01em}h1{font-size:clamp(2.8rem,6.5vw,5rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:1.65rem}p{margin:0 0 var(--space-3)}a{color:var(--color-forest)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;font-weight:500;color:var(--color-earth-dark)}.container{width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}.section{padding-block:var(--space-6)}.grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}*,*:before,*:after{box-sizing:border-box}html,body{width:100%;min-width:320px;overflow-x:clip}button,a{-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}body{margin:0;background:var(--color-ivory);-webkit-font-smoothing:antialiased}img,video{max-width:100%;display:block}a,button{transition:color .18s ease,background-color .18s ease,border-color .18s ease}router-outlet+*{display:block;animation:route-enter .42s cubic-bezier(.2,.7,.2,1) both}@keyframes route-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:is(.card,.svc,.why-home__grid article,.steps article,.reasons article,.offerings__grid article,.photo-story figure){animation:card-arrive .6s cubic-bezier(.2,.7,.2,1) backwards}:is(.card,.svc,.why-home__grid article,.steps article,.reasons article,.offerings__grid article,.photo-story figure):nth-child(2){animation-delay:70ms}:is(.card,.svc,.why-home__grid article,.steps article,.reasons article,.offerings__grid article,.photo-story figure):nth-child(3){animation-delay:.14s}:is(.card,.svc,.why-home__grid article,.steps article,.reasons article,.offerings__grid article,.photo-story figure):nth-child(4){animation-delay:.21s}:is(.card,.svc,.why-home__grid article,.steps article,.reasons article,.offerings__grid article,.photo-story figure):nth-child(n+5){animation-delay:.26s}@keyframes card-arrive{0%{opacity:0;transform:translateY(16px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.card img,.photo-story img{transition:transform .32s cubic-bezier(.2,.7,.2,1)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.card:hover img{transform:scale(1.025)}.svc:hover,.why-home__grid article:hover,.steps article:hover,.reasons article:hover,.offerings__grid article:hover,.photo-story figure:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}}button:active:not(:disabled),.btn:active,.button:active,.contact-link:active,.action:active{transform:scale(.98)}::selection{background:var(--color-sage-soft)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:4px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}@media(max-width:480px){main>.section:last-child,main.section{padding-bottom:calc(var(--space-6) + 6rem)}}
