[data-reveal]{will-change:transform, opacity;pointer-events:none}[data-reveal].is-revealed{pointer-events:auto}[data-reveal=fade]{opacity:0}[data-reveal=fade].is-revealed{opacity:1;transform:none}[data-reveal=fade-up]{opacity:0;transform:translateY(30px)}[data-reveal=fade-up].is-revealed{opacity:1;transform:none}[data-reveal=fade-down]{opacity:0;transform:translateY(-30px)}[data-reveal=fade-down].is-revealed{opacity:1;transform:none}[data-reveal=fade-left]{opacity:0;transform:translate(30px)}[data-reveal=fade-left].is-revealed{opacity:1;transform:none}[data-reveal=fade-right]{opacity:0;transform:translate(-30px)}[data-reveal=fade-right].is-revealed{opacity:1;transform:none}[data-reveal=zoom]{opacity:0;transform:scale(.95)}[data-reveal=zoom].is-revealed{opacity:1;transform:none}[data-reveal=flip]{opacity:0;transform:perspective(1000px)rotateX(10deg)}[data-reveal=flip].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transition:none!important;transform:none!important}}[data-stagger]>*{opacity:0;will-change:transform, opacity;transform:translateY(30px)}[data-stagger]>.is-revealed{opacity:1;transform:none}[data-parallax]{will-change:transform}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.reveal-on-scroll{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(30px)}.reveal-on-scroll.revealed{opacity:1;transform:translateY(0)}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.stagger-7{animation-delay:.7s}.stagger-8{animation-delay:.8s}.stagger-9{animation-delay:.9s}.stagger-10{animation-delay:1s}.animate-float{animation:3s ease-in-out infinite float}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-spin{animation:1s linear infinite spin}.hover-lift{transition:transform .3s}.hover-lift:hover{transform:translateY(-5px)}.hover-scale{transition:transform .3s}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:transform .3s}.hover-rotate:hover{transform:rotate(5deg)}.contact-intro{background:var(--color-background);padding:var(--space-12) var(--space-8)}.contact-inner{text-align:center;max-width:760px;margin:0 auto}.contact-inner h2{font-family:var(--font-family-heading);color:var(--color-secondary);letter-spacing:-.02em;margin:var(--space-2) 0 var(--space-4);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;line-height:1.15}.contact-inner h2 em{color:var(--color-accent);font-style:italic}.contact-inner p{color:var(--color-text-muted);margin-bottom:var(--space-3);line-height:1.65}.contact-inner .overline{font-size:var(--font-size-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-clay);margin-bottom:var(--space-2);font-weight:600}.contact-body{background:var(--color-surface);padding:var(--space-12) var(--space-8);position:relative;overflow:hidden}.contact-body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle,#3d5a402e 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.contact-body__inner{gap:var(--space-12);z-index:1;grid-template-columns:minmax(260px,340px) 1fr;align-items:start;max-width:1100px;margin:0 auto;display:grid;position:relative}.contact-methods{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-base);padding:var(--space-6)}.contact-methods h3{font-family:var(--font-family-heading);color:var(--color-primary);margin:0 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-border);font-size:1.25rem;font-weight:700}.contact-methods__list{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.contact-method{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);transition:background var(--transition-fast);display:flex}.contact-method:last-child{border-bottom:none}.contact-method:hover{background:var(--color-sage-50)}.contact-method__icon{background:var(--color-sage-50);width:32px;height:32px;color:var(--color-sage);border:1px solid #3d5a4033;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-size:13px;display:flex}.contact-method__body{flex-direction:column;gap:2px;min-width:0;display:flex}.contact-method__label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-weight:600}.contact-method__value{font-size:var(--font-size-sm);color:var(--color-secondary);word-break:break-word;transition:color var(--transition-fast);line-height:1.45;text-decoration:none}.contact-method__value:hover,.contact-method__value:focus-visible{color:var(--color-sage);text-decoration:underline}.contact-method__value:focus-visible{outline:2px solid var(--color-sage);outline-offset:2px;border-radius:2px}.contact-hours{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-sage-50);border-radius:var(--border-radius-sm);border:1px solid #3d5a4026}.contact-hours h4{font-family:var(--font-family-heading);font-size:var(--font-size-sm);color:var(--color-sage);margin:0 0 4px;font-weight:700}.contact-hours p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;line-height:1.5}.contact-form-wrap{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-base);padding:var(--space-8)}.contact-form-wrap>h3{font-family:var(--font-family-heading);color:var(--color-primary);margin:0 0 var(--space-6);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-border);font-size:1.375rem;font-weight:700}.contact-form__fields{gap:var(--space-4);flex-direction:column;display:flex}.contact-form__row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.contact-form__field label{color:var(--color-secondary);font-weight:600}.contact-form__field label .required{color:var(--color-accent);margin-left:2px}.contact-form__field input[type=text],.contact-form__field input[type=email],.contact-form__field textarea{background:var(--color-surface);border-radius:var(--border-radius-sm)}.contact-form__field textarea{min-height:140px}.contact-form__submit{margin-top:var(--space-2);align-self:flex-start}.contact-form__success{text-align:center;padding:var(--space-6) var(--space-4)}.contact-form__success h3{font-family:var(--font-family-heading);color:var(--color-secondary);margin:0 0 var(--space-3);font-size:1.5rem;font-weight:700}.contact-form__success p{color:var(--color-text-muted);max-width:480px;margin:0 auto;line-height:1.6}@media (prefers-reduced-motion:reduce){.contact-method,.contact-method__value,.contact-methods h3{transition:none}}@media (width<=1023.98px){.contact-body__inner{gap:var(--space-8);grid-template-columns:1fr}}@media (width<=639.98px){.contact-intro,.contact-body{padding:var(--space-8) var(--space-4)}.contact-form-wrap{padding:var(--space-6)}.contact-form__row{grid-template-columns:1fr}}
