:root{--bg-primary:#f5f1e8;--bg-secondary:#e8e0d0;--bg-card:#fff;--bg-elevated:#fff;--text-primary:#2c2416;--text-secondary:#5a4a3a;--text-muted:#8b8681;--accent:#8b4513;--accent-hover:#6b3410;--accent-light:peru;--accent-subtle:rgba(139,69,19,.1);--accent-glow:rgba(139,69,19,.25);--green-soft:#527d31;--green-hover:#3d5e22;--green-subtle:rgba(82,125,49,.12);--green-glow:rgba(82,125,49,.25);--border:#d4c4a8;--border-subtle:#e8e0d0;--border-dark:#c4b5a0;--shadow-sm:rgba(44,36,22,.04);--shadow:rgba(44,36,22,.08);--shadow-md:rgba(44,36,22,.12);--shadow-lg:rgba(44,36,22,.16);--overlay:rgba(44,36,22,.02);--shimmer:hsla(0,0%,100%,.5);--font-display:"Rubik Dirt",sans-serif;--font-body:"Inter",sans-serif;--font-mono:"JetBrains Mono",monospace}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.04;pointer-events:none;z-index:1000}.vintage-sepia{filter:grayscale(100%) sepia(20%) brightness(.95)}.vintage-photo{filter:grayscale(100%) sepia(30%) brightness(.9) contrast(1.1)}.torn-border{border:2px solid var(--border);border-image:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,20 Q10,10 20,20 T40,20 T60,20 T80,20 T100,20 L100,80 Q90,90 80,80 T60,80 T40,80 T20,80 T0,80 Z' fill='none' stroke='%23D4C4A8' stroke-width='2'/%3E%3C/svg%3E") 2;position:relative}.vintage-stamp{position:relative;padding:.5rem 1rem;border:2px dashed var(--accent);border-radius:0;background:var(--bg-card);display:inline-block;font-family:var(--font-display);font-style:italic;color:var(--accent);transform:rotate(-2deg);box-shadow:0 2px 8px rgba(139,69,19,.15)}.vintage-stamp:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:1px solid var(--accent-subtle);border-radius:0;opacity:.5}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(2.5);opacity:0}}section{padding:5rem 2rem}@media (max-width:600px){section{padding:3rem 1rem}}.section-header{text-align:center;max-width:600px;margin:0 auto 3.5rem}.section-label{font-family:var(--font-display);font-size:.875rem;color:var(--accent);font-weight:500;margin-bottom:.75rem;font-style:italic;letter-spacing:.025em;text-transform:uppercase}.section-label-green{color:var(--green-soft)}.section-title{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,2.75rem);margin-bottom:1rem;color:var(--text-primary);line-height:1.2;letter-spacing:-.01em}.section-subtitle{color:var(--text-secondary);font-size:1.1rem}@media (max-width:900px){.about-content{grid-template-columns:1fr;text-align:center}.about-photo-container{display:flex;justify-content:center}.about-links{justify-content:center}.footer-content{grid-template-columns:1fr 1fr;gap:2rem}}@media (max-width:600px){.footer-content,.offerings-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}.reveal.active{opacity:1;transform:translateY(0)}.text-balance{text-wrap:balance}.text-gradient{background:linear-gradient(135deg,var(--accent),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn,a[role=button],button,input[type=button],input[type=submit]{min-height:44px;min-width:44px;touch-action:manipulation}@media (max-width:600px){.btn,a[role=button],button,input[type=button],input[type=submit]{min-height:44px;min-width:44px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}