/* Contact and responsive refinement, 29 September 2026. */
:root { --spacing-8:32px; --spacing-16:64px; }
html { background:#000; scroll-behavior:smooth; scroll-padding-top:104px; }
body { margin:0; }
header { height:96px!important; background:rgba(229,229,229,.92); backdrop-filter:blur(18px); }
header a[href^="mailto:"] { box-shadow:none; }
header a[href^="mailto:"] svg { display:none; }
a,button { -webkit-tap-highlight-color:transparent; transition:background-color .2s ease,color .2s ease,box-shadow .2s ease; }
a:focus-visible,button:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
section,footer { scroll-margin-top:100px; }
h1,h2,h3 { text-wrap:balance; }
p { line-height:1.55!important; }
.reveal-clip { clip-path:none!important; opacity:1!important; transform:none!important; }
.reveal { transition-duration:.45s; transition-delay:0s; transform:translateY(12px); }
#top .reveal { opacity:1; transform:none; }
#top h1 { line-height:1.03; }
main>div { box-shadow:none!important; }
#docs .grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:32px; }
#docs img { max-height:440px; object-fit:contain; padding:20px; }
#contact p { max-width:48ch; }
#contact .text-smoke { color:#b6b6b6; }
.contact-links { display:flex; flex-direction:column; align-items:flex-start; gap:16px; margin-top:28px; }
.contact-email { font-size:clamp(22px,2.3vw,32px); letter-spacing:-.04em; overflow-wrap:anywhere; }
.contact-phone { font-size:22px; color:#c5c5c5; }
.contact-button { display:inline-flex; min-height:52px; padding:14px 24px; margin-top:12px; background:#fff; color:#111; border-radius:12px; font-size:16px; }
.contact-links a:hover { color:#fff; }
.contact-button:hover { background:#dedede; color:#111!important; }
#services article { border-radius:24px; }
#services li { background:transparent; padding:0; border-radius:0; }
@media(max-width:1023px) {
 header>div>a[href="#top"] { position:static; translate:none; }
 header a[href^="mailto:"] { display:inline-flex; padding-inline:18px; font-size:13px; }
 header { height:80px!important; }
 section,footer { scroll-margin-top:80px; }
}
@media(max-width:639px) {
 :root { --spacing-8:24px; --spacing-16:40px; }
 header>div { width:100%; }
 #top { padding-top:24px; }
 #top h1 { font-size:clamp(42px,11vw,64px); }
 #top p { font-size:17px; }
 #top .hero-visual { height:320px; margin-top:12px; }
 main>div { border-top-left-radius:28px!important; border-top-right-radius:28px!important; }
 section[class*="py-"],footer>div,#docs>div { padding-block:64px; }
 #docs .grid { grid-template-columns:minmax(0,1fr)!important; gap:28px; padding-bottom:16px!important; }
 #docs img { max-height:380px; padding:14px; }
 #contact h2 { font-size:48px; line-height:1.05; }
 #contact .border-b { padding-bottom:40px; gap:28px; }
 .contact-links { gap:18px; margin-top:12px; }
 .contact-button { width:100%; justify-content:space-between; }
 #services .p-10,#directions article { padding:28px; }
 #directions article { min-height:460px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto!important; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
 .reveal { opacity:1!important; transform:none!important; }
}
