:root{--color-bg: #FAF7F2;--color-surface: #EDE6D9;--color-surface-alt: #E3D9C8;--color-primary: #7A5C1E;--color-primary-dark: #5C4316;--color-accent: #C49A3C;--color-text: #1E140A;--color-text-muted: #5A4A38;--color-border: #C8B89A;--color-error: #8B1F1F;--color-success: #1F5C2E;--color-hero-bg: #2C1F0E;--color-hero-text: #FAF7F2;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-size-base: 1rem;--line-height: 1.6;--letter-spacing: .01em;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--container-max: 1100px;--container-pad: 1.25rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height);letter-spacing:var(--letter-spacing);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}ul,ol{list-style:none}a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}a:hover{color:var(--color-primary-dark)}:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}.skip-link{position:absolute;top:-100%;left:var(--space-md);z-index:9999;padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:#faf7f2;font-weight:700;border-radius:var(--radius-sm);text-decoration:none;transition:top var(--transition)}.skip-link:focus{top:var(--space-sm);outline:3px solid #FAF7F2;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.section{padding-block:var(--space-2xl)}h1,h2,h3,h4{line-height:1.25;font-weight:700;color:var(--color-text)}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:clamp(1.5rem,3.5vw,2.25rem)}h3{font-size:clamp(1.1rem,2.5vw,1.35rem)}p{max-width:68ch}.lead{font-size:1.15rem;font-weight:500;color:var(--color-text)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.75rem 1.5rem;font-family:var(--font-sans);font-size:1rem;font-weight:600;border-radius:var(--radius-md);text-decoration:none;cursor:pointer;border:2px solid transparent;transition:background-color var(--transition),color var(--transition),border-color var(--transition),box-shadow var(--transition);white-space:nowrap}.btn-primary{background-color:var(--color-primary);color:#faf7f2;border-color:var(--color-primary)}.btn-primary:hover,.btn-primary:focus-visible{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#faf7f2}.btn-secondary{background-color:transparent;color:var(--color-hero-text);border-color:var(--color-hero-text)}.btn-secondary:hover,.btn-secondary:focus-visible{background-color:#faf7f21f;color:var(--color-hero-text)}.site-header{position:sticky;top:0;z-index:100;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);box-shadow:0 1px 4px #1e140a14}.header-inner{display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-md);gap:var(--space-md)}.brand{text-decoration:none;font-size:1.4rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em;flex-shrink:0}.brand:hover,.brand-accent{color:var(--color-primary)}.primary-nav ul{display:flex;align-items:center;gap:var(--space-xs)}.primary-nav a{display:block;padding:var(--space-sm) var(--space-md);color:var(--color-text-muted);font-weight:600;text-decoration:none;border-radius:var(--radius-sm);transition:color var(--transition),background-color var(--transition)}.primary-nav a:hover,.primary-nav a[aria-current=page]{color:var(--color-primary);background-color:var(--color-surface)}.nav-cta{background-color:var(--color-primary)!important;color:#faf7f2!important;border-radius:var(--radius-md)!important}.nav-cta:hover{background-color:var(--color-primary-dark)!important;color:#faf7f2!important}.nav-toggle{display:none;background:none;border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm);cursor:pointer;color:var(--color-text);line-height:0}.hamburger{display:block;width:22px;height:2px;background-color:currentColor;position:relative;transition:background-color var(--transition)}.hamburger:before,.hamburger:after{content:"";position:absolute;left:0;width:22px;height:2px;background-color:currentColor;transition:transform var(--transition),top var(--transition)}.hamburger:before{top:-7px}.hamburger:after{top:7px}.nav-toggle[aria-expanded=true] .hamburger{background-color:transparent}.nav-toggle[aria-expanded=true] .hamburger:before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .hamburger:after{top:0;transform:rotate(-45deg)}.section-hero{background-color:var(--color-hero-bg);color:var(--color-hero-text);padding-block:var(--space-3xl)}.hero-inner{display:grid;gap:var(--space-2xl);align-items:center}.hero-eyebrow{font-size:.9rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-md)}.section-hero h1{color:var(--color-hero-text);margin-bottom:var(--space-lg)}.highlight{color:var(--color-accent)}.hero-sub{font-size:1.1rem;color:#faf7f2d9;margin-bottom:var(--space-xl);max-width:60ch}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-md)}.hero-visual{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.hero-badge{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-md);background-color:#faf7f20f;border:1px solid rgba(250,247,242,.15);border-radius:var(--radius-lg);text-align:center}.badge-icon{font-size:1.75rem}.badge-label{font-size:.8rem;font-weight:600;letter-spacing:.04em;color:#faf7f2d9}.section-services{background-color:var(--color-surface);padding-block:var(--space-2xl)}.services-list{display:grid;gap:var(--space-lg)}.service-item{background-color:var(--color-bg);padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:box-shadow var(--transition),transform var(--transition)}.service-item:hover{box-shadow:0 4px 16px #1e140a1a;transform:translateY(-2px)}.service-icon{font-size:2rem;display:block;margin-bottom:var(--space-md)}.service-item h3{margin-bottom:var(--space-sm);color:var(--color-primary)}.service-item p{color:var(--color-text-muted);font-size:.95rem}.section-about{background-color:var(--color-bg)}.about-inner{display:grid;gap:var(--space-2xl);align-items:start}.about-content h2{margin-bottom:var(--space-lg);color:var(--color-primary-dark)}.about-content p{margin-bottom:var(--space-lg);color:var(--color-text-muted)}.about-content .lead{color:var(--color-text)}.about-subheading{margin-top:var(--space-xl);margin-bottom:var(--space-md);font-size:1.1rem;color:var(--color-primary)}.expertise-list{display:grid;gap:var(--space-sm);grid-template-columns:1fr 1fr}.expertise-list li{position:relative;padding-left:1.25em;color:var(--color-text-muted);font-size:.95rem}.expertise-list li:before{content:"▸";position:absolute;left:0;color:var(--color-accent);font-size:.8em;top:.2em}.about-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.about-stats{display:grid;gap:var(--space-md)}.stat-item dt{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.stat-item dd{font-size:1.6rem;font-weight:800;color:var(--color-primary)}.about-cta-card{margin-top:var(--space-md);background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);display:flex;flex-direction:column;gap:var(--space-md);align-items:flex-start}.about-cta-card p{color:#faf7f2e6;font-weight:500;max-width:none;margin:0}.section-projects{background-color:var(--color-surface)}.section-header{margin-bottom:var(--space-2xl)}.section-header h2{margin-bottom:var(--space-sm);color:var(--color-primary-dark)}.section-sub{color:var(--color-text-muted);font-size:1rem}.projects-grid{display:grid;gap:var(--space-lg)}.project-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md);transition:box-shadow var(--transition),transform var(--transition)}.project-card:hover{box-shadow:0 6px 24px #1e140a1a;transform:translateY(-2px)}.project-card--placeholder{opacity:.75;border-style:dashed}.project-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.project-title{color:var(--color-primary-dark);font-size:1.2rem}.project-badge{flex-shrink:0;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.2em .65em;background-color:var(--color-surface-alt);color:var(--color-text-muted);border-radius:100px;border:1px solid var(--color-border)}.project-summary{color:var(--color-text-muted);font-size:.95rem;flex-grow:1}.project-meta{display:grid;gap:var(--space-sm);background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-md)}.project-meta>div{display:flex;gap:var(--space-sm);font-size:.88rem;flex-wrap:wrap}.project-meta dt{font-weight:700;color:var(--color-text);min-width:7rem;flex-shrink:0}.project-meta dd{color:var(--color-text-muted)}.project-link{align-self:flex-start;font-weight:600;font-size:.95rem;color:var(--color-primary);text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-xs);border-bottom:2px solid transparent;transition:border-color var(--transition);padding-bottom:1px}.project-link:hover{border-color:var(--color-primary)}.project-link--disabled{color:var(--color-text-muted);cursor:default;font-style:italic}.section-contact{background-color:var(--color-bg)}.contact-inner{display:grid;gap:var(--space-2xl);align-items:start}.contact-info h2{margin-bottom:var(--space-lg);color:var(--color-primary-dark)}.contact-info .lead{margin-bottom:var(--space-xl);color:var(--color-text-muted)}.contact-details{display:grid;gap:var(--space-md)}.contact-details li{display:flex;align-items:center;gap:var(--space-md);font-size:1rem}.contact-label{font-size:1.2rem;flex-shrink:0;width:1.75rem;text-align:center}.contact-form-wrapper{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.contact-form{display:grid;gap:var(--space-lg)}.form-group{display:grid;gap:var(--space-sm)}.form-group label{font-weight:600;font-size:.95rem;color:var(--color-text)}.required{color:var(--color-error);margin-left:2px}.form-group input,.form-group textarea{width:100%;padding:.65rem .9rem;font-family:var(--font-sans);font-size:1rem;color:var(--color-text);background-color:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition),box-shadow var(--transition);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #7a5c1e33}.form-group input[aria-invalid=true],.form-group textarea[aria-invalid=true]{border-color:var(--color-error)}.form-group input[aria-invalid=true]:focus,.form-group textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px #8b1f1f33}.form-group textarea{resize:vertical;min-height:10rem}.form-group input::placeholder,.form-group textarea::placeholder{color:#767676;opacity:1}.field-error{font-size:.875rem;color:var(--color-error);font-weight:500;min-height:1.2em;display:block}.form-status{font-size:.95rem;font-weight:600;min-height:1.5em}.form-status--success{color:var(--color-success)}.form-status--error{color:var(--color-error)}.btn-submit{justify-self:start}.site-footer{background-color:var(--color-hero-bg);color:#faf7f2cc;padding-block:var(--space-xl)}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);text-align:center}.footer-brand{font-size:1.25rem;font-weight:800;color:var(--color-hero-text)}.site-footer nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs)}.site-footer nav a{display:block;padding:var(--space-xs) var(--space-md);color:#faf7f2bf;font-size:.9rem;font-weight:500;text-decoration:none;border-radius:var(--radius-sm);transition:color var(--transition)}.site-footer nav a:hover{color:var(--color-hero-text)}.footer-copy{font-size:.85rem;color:#faf7f280}@media(min-width:640px){:root{--container-pad: 2rem}.services-list{grid-template-columns:repeat(3,1fr)}.projects-grid{grid-template-columns:repeat(2,1fr)}.expertise-list{grid-template-columns:1fr 1fr}}@media(min-width:900px){:root{--container-pad: 2.5rem}.nav-toggle{display:none}.primary-nav{display:block!important}.hero-inner{grid-template-columns:1fr 1fr;gap:var(--space-3xl)}.about-inner{grid-template-columns:1fr 320px}.projects-grid{grid-template-columns:repeat(3,1fr)}.contact-inner{grid-template-columns:1fr 1fr}}@media(max-width:639px){.nav-toggle{display:block}.primary-nav{position:absolute;top:100%;left:0;right:0;background-color:var(--color-bg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);box-shadow:0 4px 12px #1e140a1a;display:none;z-index:99}.primary-nav.is-open{display:block}.primary-nav ul{flex-direction:column;gap:0;padding:var(--space-sm) 0}.primary-nav li{width:100%}.primary-nav a{padding:.875rem var(--space-xl);border-radius:0;width:100%}.nav-cta{margin:var(--space-sm) var(--space-lg)!important;border-radius:var(--radius-md)!important;text-align:center}.hero-visual{display:none}.expertise-list{grid-template-columns:1fr}.project-meta>div{flex-direction:column;gap:var(--space-xs)}.project-meta dt{min-width:auto}}@media print{.site-header,.nav-toggle,.hero-actions,.hero-visual,.contact-form-wrapper,.site-footer{display:none!important}body{color:#000;background:#fff}a[href]:after{content:" (" attr(href) ")";font-size:.8em;color:#555}}
