:root{--color-oak: #8B6914;--color-walnut: #5C4033;--color-cream: #FAF7F2;--color-warm-white: #FEFDFB;--color-sand: #F0EBE3;--color-charcoal: #2C2C2C;--color-dark: #1A1A1A;--color-text: #3D3D3D;--color-text-light: #6B6B6B;--color-accent: #A67C52;--color-accent-dark: #8B6914;--color-border: #E8E2D9;--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 8rem;--container-max: 1280px;--container-padding: 1.5rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .6s;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--color-text);background-color:var(--color-warm-white);overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;transition:color var(--duration-fast) ease}ul{list-style:none}button{border:none;background:none;cursor:pointer;font-family:inherit}input,textarea{font-family:inherit;font-size:inherit}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:var(--space-lg) 0;transition:background-color var(--duration-normal) ease,padding var(--duration-normal) ease,box-shadow var(--duration-normal) ease}.site-header.scrolled{background-color:#fefdfbf2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:var(--space-md) 0;box-shadow:0 1px 0 var(--color-border)}.nav-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;align-items:center;gap:var(--space-sm);z-index:1001}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-walnut);color:var(--color-cream);font-family:var(--font-display);font-size:1.25rem;font-weight:600;border-radius:var(--radius-sm)}.logo-text{font-weight:600;font-size:1.05rem;color:var(--color-dark);letter-spacing:-.02em}.nav-links{display:flex;align-items:center;gap:var(--space-xl)}.nav-links a{font-size:.9rem;font-weight:500;color:var(--color-text);position:relative;transition:color var(--duration-fast) ease}.nav-links a:not(.nav-cta):hover{color:var(--color-walnut)}.nav-links a:not(.nav-cta):after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background-color:var(--color-walnut);transition:width var(--duration-normal) var(--ease-out)}.nav-links a:not(.nav-cta):hover:after{width:100%}.nav-cta{background-color:var(--color-walnut);color:var(--color-cream)!important;padding:.6rem 1.4rem;border-radius:var(--radius-sm);font-weight:500;transition:background-color var(--duration-fast) ease,transform var(--duration-fast) ease!important}.nav-cta:hover{background-color:var(--color-dark);transform:translateY(-1px)}.nav-toggle{display:none;width:32px;height:32px;position:relative;z-index:1001}.hamburger,.hamburger:before,.hamburger:after{display:block;width:24px;height:2px;background-color:var(--color-dark);border-radius:2px;transition:all var(--duration-normal) var(--ease-out)}.hamburger{position:relative}.hamburger:before,.hamburger:after{content:"";position:absolute;left:0}.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)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#1a1a1ad1,#2c2c2c8c,#5c403359)}.hero-content{position:relative;z-index:2;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);padding-top:6rem}.hero-label{font-size:.85rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-lg);opacity:0;transform:translateY(20px);animation:fadeUp .8s var(--ease-out) .3s forwards}.hero-title{font-family:var(--font-display);font-size:clamp(3rem,8vw,6.5rem);font-weight:600;line-height:1.05;color:var(--color-cream);letter-spacing:-.02em;margin-bottom:var(--space-xl);opacity:0;transform:translateY(30px);animation:fadeUp .8s var(--ease-out) .5s forwards}.hero-subtitle{font-size:clamp(1rem,2vw,1.2rem);color:#faf7f2cc;max-width:520px;line-height:1.7;margin-bottom:var(--space-2xl);opacity:0;transform:translateY(20px);animation:fadeUp .8s var(--ease-out) .7s forwards}.hero-actions{display:flex;gap:var(--space-md);flex-wrap:wrap;opacity:0;transform:translateY(20px);animation:fadeUp .8s var(--ease-out) .9s forwards}.hero-scroll-hint{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);z-index:2;opacity:0;animation:fadeIn 1s var(--ease-out) 1.5s forwards}.scroll-line{display:block;width:1px;height:48px;background:linear-gradient(to bottom,rgba(250,247,242,.6),transparent);animation:scrollPulse 2s ease-in-out infinite}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 2rem;font-size:.9rem;font-weight:600;border-radius:var(--radius-sm);transition:all var(--duration-normal) var(--ease-out);cursor:pointer;border:none}.btn-primary{background-color:var(--color-accent);color:var(--color-cream)}.btn-primary:hover{background-color:var(--color-walnut);transform:translateY(-2px);box-shadow:0 8px 24px #5c403340}.btn-ghost{background:transparent;color:var(--color-cream);border:1.5px solid rgba(250,247,242,.4)}.btn-ghost:hover{border-color:var(--color-cream);background:#faf7f214}.btn-full{width:100%}.section{padding:var(--space-4xl) 0}.section-header{max-width:640px;margin-bottom:var(--space-3xl)}.section-label{font-size:.8rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-md)}.section-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:600;line-height:1.15;color:var(--color-dark);letter-spacing:-.02em;margin-bottom:var(--space-lg)}.section-desc{font-size:1.05rem;color:var(--color-text-light);line-height:1.7}.section-services{background-color:var(--color-cream)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}.service-card{padding:var(--space-xl);background:var(--color-warm-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--ease-out)}.service-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #5c403314;border-color:transparent}.service-icon{width:44px;height:44px;margin-bottom:var(--space-lg);color:var(--color-accent)}.service-icon svg{width:100%;height:100%}.service-card h3{font-family:var(--font-body);font-size:1.1rem;font-weight:600;color:var(--color-dark);margin-bottom:var(--space-sm)}.service-card p{font-size:.9rem;color:var(--color-text-light);line-height:1.6}.section-projects{background-color:var(--color-warm-white)}.projects-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:auto auto;gap:var(--space-xl)}.project-card--large{grid-row:1 / 3}.project-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer}.project-image-wrap{width:100%;height:100%;min-height:320px;overflow:hidden}.project-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease-out)}.project-card:hover .project-image-wrap img{transform:scale(1.04)}.project-info{position:absolute;bottom:0;left:0;right:0;padding:var(--space-xl);background:linear-gradient(to top,rgba(26,26,26,.85) 0%,transparent 100%);transform:translateY(10px);opacity:0;transition:all var(--duration-normal) var(--ease-out)}.project-card:hover .project-info{transform:translateY(0);opacity:1}.project-info h3{font-family:var(--font-display);font-size:1.3rem;color:var(--color-cream);margin-bottom:var(--space-xs)}.project-info p{font-size:.85rem;color:#faf7f2bf}.section-workshop{background-color:var(--color-cream)}.workshop-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center}.workshop-image{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5}.workshop-image img{width:100%;height:100%;object-fit:cover}.workshop-content .section-title{margin-top:var(--space-sm)}.workshop-text{font-size:1.05rem;color:var(--color-text-light);margin-bottom:var(--space-lg);line-height:1.8}.workshop-features{margin-top:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md)}.workshop-features li{position:relative;padding-left:1.5rem;font-size:.95rem;font-weight:500;color:var(--color-dark)}.workshop-features li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;background-color:var(--color-accent);border-radius:50%}.section-contact{background-color:var(--color-warm-white)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:start}.contact-text{font-size:1.05rem;color:var(--color-text-light);margin-bottom:var(--space-2xl);line-height:1.7}.contact-details{display:flex;flex-direction:column;gap:var(--space-lg)}.contact-item{display:flex;align-items:flex-start;gap:var(--space-md)}.contact-item svg{width:22px;height:22px;color:var(--color-accent);flex-shrink:0;margin-top:2px}.contact-item-label{display:block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light);margin-bottom:2px}.contact-item a{font-weight:500;color:var(--color-dark);transition:color var(--duration-fast) ease}.contact-item a:hover{color:var(--color-accent)}.contact-form-wrap{background:var(--color-cream);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl)}.contact-form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-group label{font-size:.85rem;font-weight:600;color:var(--color-dark)}.form-group input,.form-group textarea{padding:.8rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-warm-white);color:var(--color-dark);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease;outline:none}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #a67c521a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-light);opacity:.6}.form-group textarea{resize:vertical;min-height:120px}.site-footer{background-color:var(--color-dark);color:var(--color-cream);padding:var(--space-3xl) 0 var(--space-xl)}.footer-content{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-2xl);border-bottom:1px solid rgba(250,247,242,.1)}.footer-brand{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.footer-brand .logo-mark{background-color:var(--color-accent)}.footer-name{font-weight:600;font-size:1.05rem}.footer-tagline{width:100%;padding-left:52px;font-size:.85rem;color:#faf7f280;margin-top:var(--space-xs)}.footer-links{display:flex;gap:var(--space-xl)}.footer-links a{font-size:.9rem;color:#faf7f299;transition:color var(--duration-fast) ease}.footer-links a:hover{color:var(--color-cream)}.footer-bottom{padding-top:var(--space-xl)}.footer-bottom p{font-size:.8rem;color:#faf7f259}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}@keyframes scrollPulse{0%,to{opacity:.4;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.2)}}[data-reveal]{opacity:0;transform:translateY(32px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}[data-reveal].revealed{opacity:1;transform:translateY(0)}@media(max-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr)}.projects-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.project-card--large{grid-row:auto;grid-column:1 / -1}.workshop-layout,.contact-layout{gap:var(--space-2xl)}}@media(max-width:768px){:root{--container-padding: 1.25rem}.nav-toggle{display:flex;align-items:center;justify-content:center}.nav-links{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-warm-white);flex-direction:column;justify-content:center;align-items:center;gap:var(--space-2xl);opacity:0;pointer-events:none;transition:opacity var(--duration-normal) ease}.nav-links.open{opacity:1;pointer-events:all}.nav-links a{font-size:1.3rem}.hero-content{padding-top:8rem}.section{padding:var(--space-3xl) 0}.section-header{margin-bottom:var(--space-2xl)}.services-grid{grid-template-columns:1fr;gap:var(--space-lg)}.projects-grid{grid-template-columns:1fr}.project-info{transform:translateY(0);opacity:1}.workshop-layout{grid-template-columns:1fr;gap:var(--space-2xl)}.workshop-image{aspect-ratio:16/10}.contact-layout{grid-template-columns:1fr;gap:var(--space-2xl)}.form-row{grid-template-columns:1fr}.footer-content{flex-direction:column;align-items:flex-start;gap:var(--space-xl)}.footer-tagline{padding-left:0}.footer-links{flex-wrap:wrap;gap:var(--space-lg)}.hero-actions{flex-direction:column}.hero-actions .btn{text-align:center}}@media(max-width:480px){.hero-title{font-size:2.5rem}.section-title{font-size:1.8rem}.service-card,.contact-form-wrap{padding:var(--space-lg)}}
