:root{--color-background: #f4ede3;--color-surface: #faf7f2;--color-text: #28231e;--color-text-muted: #756d64;--color-primary: #7a5131;--color-primary-hover: #654126;--color-primary-dark: #4a3020;--color-wood: #986541;--color-border: #ddd1c3;--color-on-primary: #faf7f2;--color-focus: var(--color-primary-dark);--font-family-body: "Segoe UI", Arial, sans-serif;--font-family-heading: Georgia, "Times New Roman", serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: clamp(1.75rem, 3vw, 2.5rem);--font-size-3xl: clamp(2.25rem, 4vw, 3.75rem);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-bold: 700;--line-height-body: 1.65;--line-height-heading: 1.15;--letter-spacing-heading: -.02em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--section-space: clamp(3rem, 7vw, 8rem);--container-max: 87.5rem;--container-narrow: 60rem;--container-text: 42rem;--container-gutter: clamp(1rem, 4vw, 3rem);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-pill: 999px;--shadow-sm: 0 2px 8px rgb(40 35 30 / 6%);--shadow-md: 0 8px 24px rgb(40 35 30 / 10%);--shadow-lg: 0 16px 48px rgb(40 35 30 / 14%);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 0ms;--transition-base: 0ms;--transition-slow: 0ms}}*,*:before,*:after{box-sizing:border-box}body{margin:0}img,picture,video,svg{display:block;max-width:100%}img,video{height:auto}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}app-home .all-services-link{display:inline-flex;align-items:center;gap:var(--space-4);min-height:2.75rem;margin-top:var(--space-8);color:var(--color-primary-dark);font-weight:var(--font-weight-medium);text-underline-offset:.35em}@media(width<48rem){app-home .services-grid>app-service-card:nth-child(n+4){display:none}app-projects .gallery{columns:2;column-gap:var(--space-3)}app-projects .gallery-entry{margin-bottom:var(--space-3)}app-projects .gallery-caption{padding:var(--space-3);font-size:var(--font-size-sm)}}@media(width<22rem){app-projects .gallery{columns:1}}body{background:var(--color-background);color:var(--color-text);font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-body)}h1,h2,h3,h4,h5,h6{margin-block:0 var(--space-4);font-family:var(--font-family-heading);font-weight:var(--font-weight-regular);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading);overflow-wrap:break-word}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}p{margin-block:0 var(--space-4)}a{color:inherit;text-underline-offset:.2em}a:hover{color:var(--color-primary)}.container{width:calc(100% - 2 * var(--container-gutter));max-width:var(--container-max);margin-inline:auto}.container--narrow{max-width:var(--container-narrow)}.section{padding-block:var(--section-space)}app-home .section{padding-block:clamp(3rem,7vw,7rem)}app-home .services-section{padding-bottom:clamp(2rem,3vw,3rem)}app-home .featured-projects{padding-top:clamp(3rem,6vw,6rem)}app-home .section .eyebrow{letter-spacing:.18em}@media(width>=68.75rem){app-home .section{padding-block:clamp(5rem,7vw,7rem)}app-home .services-section{padding-bottom:var(--space-12)}app-home .featured-projects{padding-top:clamp(4rem,6vw,6rem)}}.page-intro{max-width:var(--container-text);color:var(--color-text-muted);font-size:var(--font-size-lg)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:var(--space-3) var(--space-6);border:1px solid transparent;border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast)}.button--primary{background:var(--color-primary);color:var(--color-on-primary)}.button--primary:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}.skip-link{position:absolute;top:var(--space-4);left:var(--space-4);z-index:10;padding:var(--space-3) var(--space-4);background:var(--color-surface);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}
