*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;scroll-behavior:smooth}:root{--color-cream:#fdf8f0;--color-parchment:#f5e6d3;--color-tan:#d4a574;--color-brown:#8b5a2b;--color-dark-brown:#3d2914;--color-rust:sienna;--color-gold:#c9a227;--color-charcoal:#2c2c2c;--font-serif:"Georgia","Times New Roman",serif;--font-sans:"Helvetica Neue",Arial,sans-serif}body{background:var(--color-cream);color:var(--color-dark-brown);font-family:var(--font-serif);line-height:1.6}.header{background:linear-gradient(180deg,var(--color-dark-brown) 0,#2a1d0f 100%);color:var(--color-cream);padding:1rem 2rem;position:fixed;width:100%;top:0;z-index:100;box-shadow:0 2px 20px rgba(0,0,0,.3)}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:400;letter-spacing:2px;font-family:var(--font-serif)}.logo span{color:var(--color-gold)}.nav{display:flex;gap:2rem}.nav a{color:var(--color-cream);text-decoration:none;font-size:.9rem;letter-spacing:1px;transition:color .3s ease;font-family:var(--font-sans);text-transform:uppercase}.nav a:hover{color:var(--color-gold)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-dark-brown) 0,var(--color-brown) 50%,var(--color-rust) 100%);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.5}.hero-content{text-align:center;color:var(--color-cream);position:relative;z-index:1;padding:2rem}.hero h1{font-size:clamp(2.5rem,8vw,5rem);font-weight:400;letter-spacing:4px;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.hero-subtitle{font-size:1.2rem;letter-spacing:6px;text-transform:uppercase;color:var(--color-gold);margin-bottom:2rem;font-family:var(--font-sans)}.hero-description{font-size:1.1rem;max-width:600px;margin:0 auto 3rem;line-height:1.8;opacity:.9}.cta-button{display:inline-block;padding:1rem 2.5rem;background:var(--color-gold);color:var(--color-dark-brown);text-decoration:none;font-family:var(--font-sans);font-weight:600;letter-spacing:2px;text-transform:uppercase;border-radius:2px;transition:all .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.2)}.cta-button:hover{background:var(--color-cream);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.3)}.section{padding:6rem 2rem;max-width:1200px;margin:0 auto}.section-title{font-size:2.5rem;text-align:center;margin-bottom:1rem;color:var(--color-dark-brown);font-weight:400;letter-spacing:2px}.section-subtitle{text-align:center;color:var(--color-brown);margin-bottom:4rem;font-family:var(--font-sans);letter-spacing:1px}.about{background:var(--color-parchment)}.about-content{display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem;gap:4rem;align-items:center}.about-text h3{font-size:1.8rem;margin-bottom:1.5rem;color:var(--color-dark-brown);font-weight:400}.about-text p{margin-bottom:1.5rem;font-size:1.05rem;line-height:1.8}.about-image{background:var(--color-tan);height:400px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--color-cream);font-size:5rem;box-shadow:0 10px 40px rgba(0,0,0,.15)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:2rem;gap:2rem}.service-card{background:#fff;padding:2.5rem;border-radius:4px;box-shadow:0 5px 25px rgba(0,0,0,.08);transition:transform .3s ease,box-shadow .3s ease;border-top:4px solid var(--color-tan)}.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(0,0,0,.12)}.service-icon{font-size:3rem;margin-bottom:1.5rem}.service-card h3{font-size:1.3rem;margin-bottom:1rem;color:var(--color-dark-brown);font-weight:400}.service-card p{color:var(--color-brown);line-height:1.7}.portfolio{background:var(--color-dark-brown)}.portfolio,.portfolio .section-title{color:var(--color-cream)}.portfolio .section-subtitle{color:var(--color-tan)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:1.5rem;gap:1.5rem}.portfolio-item{aspect-ratio:4/3;background:linear-gradient(135deg,var(--color-brown),var(--color-rust));border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:4rem;transition:transform .3s ease;position:relative;overflow:hidden}.portfolio-item:after{content:attr(data-title);position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.8));padding:2rem 1rem 1rem;font-size:1rem;font-family:var(--font-sans);letter-spacing:1px;opacity:0;transition:opacity .3s ease}.portfolio-item:hover{transform:scale(1.02)}.portfolio-item:hover:after{opacity:1}.contact-content{display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem;gap:4rem}.contact-info h3{font-size:1.5rem;margin-bottom:1.5rem;color:var(--color-dark-brown);font-weight:400}.contact-detail{margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:1rem}.contact-detail-icon{font-size:1.5rem;color:var(--color-gold)}.contact-detail-text h4{font-family:var(--font-sans);font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--color-brown);margin-bottom:.25rem}.contact-detail-text p{font-size:1.1rem;color:var(--color-dark-brown)}.hours-table{width:100%;margin-top:2rem}.hours-table td{padding:.75rem 0;border-bottom:1px solid var(--color-parchment)}.hours-table td:last-child{text-align:right;font-family:var(--font-sans)}.footer{background:var(--color-charcoal);color:var(--color-cream);padding:3rem 2rem;text-align:center}.footer-content{max-width:1200px;margin:0 auto}.footer-logo{font-size:1.5rem;margin-bottom:1rem;letter-spacing:2px}.footer-logo span{color:var(--color-gold)}.footer-tagline{color:var(--color-tan);margin-bottom:2rem;font-style:italic}.footer-links{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem}.footer-links a{color:var(--color-cream);text-decoration:none;font-family:var(--font-sans);font-size:.9rem;transition:color .3s ease}.footer-links a:hover{color:var(--color-gold)}.footer-copy{color:var(--color-brown);font-size:.85rem;font-family:var(--font-sans)}@media (max-width:768px){.header-content{flex-direction:column;gap:1rem}.nav{gap:1rem}.about-content,.contact-content{grid-template-columns:1fr;gap:2rem}.section{padding:4rem 1.5rem}.hero h1{font-size:2rem}}