@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--cream:#f5f0e6;--cream-dark:#ebe4d4;--cream-mid:#f0ead9;--ink:#2a2118;--ink-light:#4a3f32;--ink-faded:#2a211880;--ink-ghost:#2a211814;--paper-shadow:#2a21181f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}img{max-width:100%;height:auto}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--ink-light) var(--cream-dark);overscroll-behavior-x:none;text-size-adjust:100%;overflow-x:clip}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--cream-dark)}::-webkit-scrollbar-thumb{background:var(--ink-light);border-radius:4px}body{font-family:var(--ff-body), "Libre Baskerville", serif;background:var(--cream);color:var(--ink);overscroll-behavior-x:none;text-wrap:pretty;font-size:17px;line-height:1.7;overflow-x:clip}p,li,dd,blockquote{font-size:17px;line-height:1.7}p,li,dd,blockquote,.case-desc,.service-card p,.contact-info p{text-wrap:pretty;overflow-wrap:break-word}#grain{pointer-events:none;z-index:9999;opacity:.035;mix-blend-mode:multiply;position:fixed;inset:0}.shake{animation:.4s ease-out screenShake}@keyframes screenShake{0%,to{transform:translate(0)rotate(0)}10%{transform:translate(-4px,2px)rotate(-.3deg)}20%{transform:translate(4px,-3px)rotate(.3deg)}30%{transform:translate(-3px,3px)rotate(-.2deg)}40%{transform:translate(3px,-2px)rotate(.2deg)}50%{transform:translate(-2px,1px)rotate(-.1deg)}60%{transform:translate(1px,-1px)rotate(.1deg)}}@keyframes stampSlam{0%{opacity:0;filter:blur(3px);transform:translateY(-120vh)scale(2.5)rotate(-15deg)}40%{opacity:1;filter:blur();transform:translateY(10px)scale(.9)rotate(2deg)}55%{transform:translateY(-20px)scale(1.06)rotate(-1deg)}70%{transform:translateY(5px)scale(.97)rotate(.5deg)}85%{transform:translateY(-3px)scale(1.02)rotate(-.2deg)}to{transform:translateY(0)scale(1)rotate(0)}}@keyframes stampSlamShadow{0%{box-shadow:0 0 #2a211800}40%{box-shadow:0 30px 60px #2a211866,inset 0 0 30px #2a21181a}to{box-shadow:0 8px 32px #2a211826}}@keyframes splatOut{0%{opacity:.8;transform:translate(0)scale(0)}to{transform:translate(var(--tx), var(--ty)) scale(1);opacity:0}}.ink-splatter{pointer-events:none;position:absolute;top:50%;left:50%}.ink-splatter .drop{background:var(--ink);opacity:0;border-radius:50%;position:absolute}.ink-splatter.active .drop{animation:.6s cubic-bezier(.2,0,.3,1) forwards splatOut}@keyframes inkBleed{0%{opacity:0;filter:blur(12px);transform:scale(1.15)}40%{opacity:.6;filter:blur(4px);transform:scale(1.03)}to{opacity:1;filter:blur();transform:scale(1)}}.typewriter-cursor:after{content:"█";margin-left:2px;animation:.7s step-end infinite blink}@keyframes blink{50%{opacity:0}}.reveal{opacity:0;transition:all .8s cubic-bezier(.16,1,.3,1);transform:translateY(40px)scale(.96)}.reveal.visible{opacity:1;transform:translateY(0)scale(1)}.stamp-reveal{opacity:0;filter:blur(6px);transition:all .6s cubic-bezier(.16,1,.3,1);transform:scale(1.4)rotate(-8deg)}.stamp-reveal.visible{opacity:1;filter:blur();transform:scale(1)rotate(0)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}.delay-5{transition-delay:.5s}.ornament-line path,.ornament-line line{stroke-dasharray:var(--dash-len,1000);stroke-dashoffset:var(--dash-len,1000);transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1)}.ornament-line.drawn path,.ornament-line.drawn line{stroke-dashoffset:0}.letterpress{text-shadow:1px 1px #f5f0e666,-.5px -.5px #00000014}section{padding:100px 24px}.container{max-width:1100px;margin:0 auto}.section-title{font-family:var(--ff-heading), "Playfair Display SC", serif;letter-spacing:6px;text-align:center;margin-bottom:16px;font-size:clamp(28px,4vw,44px)}.section-subtitle{font-family:var(--ff-typewriter), "Courier Prime", cursive;text-align:center;color:var(--ink-light);letter-spacing:2px;margin-bottom:60px;font-size:15px}.divider{justify-content:center;padding:20px 0;display:flex;overflow:hidden}.divider svg{width:80%;max-width:600px;height:auto}@keyframes bounceDown{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:.4;transform:translate(-50%)translateY(0)}}.mobile-bar{z-index:100;background:var(--ink);display:none;position:fixed;bottom:0;left:0;right:0}.mobile-bar a{text-align:center;font-family:var(--ff-heading), "Playfair Display SC", serif;letter-spacing:3px;color:var(--cream);flex:1;padding:16px;font-size:12px;text-decoration:none}.mobile-bar a:first-child{background:var(--ink-light)}@media (width<=900px){.container{padding:0 20px}}@media (width<=600px){section{padding:60px 20px}body,p,li,dd,blockquote{font-size:18px}.mobile-bar{display:flex}}
