:root{--color-primary: #C17A5F;--color-primary-light: #D4A89A;--color-secondary: #E8DDD0;--color-background: #FAF8F5;--color-background-alt: #F5F0EB;--color-text: #3A3632;--color-text-light: #6B6560;--color-accent: #9B7E6B;--color-white: #FFFFFF;--font-serif: "Playfair Display", serif;--font-sans: "Inter", sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1)}.lucide{width:24px;height:24px;stroke-width:1.5}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-background);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:500;line-height:1.2;color:var(--color-text)}h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:var(--spacing-md)}h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:var(--spacing-md)}h3{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:var(--spacing-sm)}p{margin-bottom:var(--spacing-sm);color:var(--color-text-light)}a{color:var(--color-primary);text-decoration:none;transition:var(--transition-smooth)}a:hover{color:var(--color-accent)}.wip-banner{background-color:#fce4e4;color:#c92a2a;text-align:center;padding:.5rem 1rem;font-weight:500;font-size:.9rem;z-index:2000;position:relative;letter-spacing:.5px;width:100%}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:#faf8f5f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(193,122,95,.1);transition:var(--transition-smooth)}.header-content{max-width:1400px;margin:0 auto;padding:var(--spacing-sm) var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.logo{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;color:var(--color-text);letter-spacing:.5px}.nav-links{display:flex;gap:var(--spacing-md);align-items:center}.nav-links a{font-size:.95rem;font-weight:400;color:var(--color-text-light);position:relative;padding:.5rem 0}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-primary);transition:width .3s ease}.nav-links a:hover:after{width:100%}.mobile-menu-toggle,.nav-header-mobile{display:none}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-background) 0%,var(--color-secondary) 100%);padding-top:80px}.hero-content{max-width:1400px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-md);display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:center}.hero-text{animation:fadeInUp 1s ease-out}.hero-subtitle{font-size:1rem;text-transform:uppercase;letter-spacing:3px;color:var(--color-primary);margin-bottom:var(--spacing-sm);font-weight:500}.hero-title{margin-bottom:var(--spacing-md)}.hero-description{font-size:1.1rem;margin-bottom:var(--spacing-md);max-width:500px}.cta-button{display:inline-block;padding:1rem 2.5rem;background-color:var(--color-primary);color:var(--color-white);border-radius:50px;font-weight:500;transition:var(--transition-smooth);box-shadow:0 4px 20px #c17a5f4d}.cta-button:hover{background-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 6px 30px #c17a5f66}.hero-image{position:relative;animation:fadeIn 1.2s ease-out}.hero-image img{width:100%;height:auto;border-radius:8px;box-shadow:0 20px 60px #00000026}.section{padding:var(--spacing-xl) var(--spacing-md);max-width:1400px;margin:0 auto}.section-header{text-align:center;margin-bottom:var(--spacing-lg)}.section-subtitle{font-size:.9rem;text-transform:uppercase;letter-spacing:2px;color:var(--color-primary);margin-bottom:var(--spacing-xs)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:center}.about-text{padding:var(--spacing-md)}.about-image{position:relative;overflow:hidden;border-radius:8px}.about-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.about-image:hover img{transform:scale(1.05)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.service-card{background-color:var(--color-white);padding:var(--spacing-md);border-radius:8px;box-shadow:0 4px 20px #00000014;transition:var(--transition-smooth)}.service-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001f}.service-icon{width:60px;height:60px;background-color:var(--color-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-sm);color:var(--color-primary)}.service-title{font-size:1.3rem;margin-bottom:var(--spacing-sm)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.portfolio-item{position:relative;overflow:hidden;border-radius:8px;aspect-ratio:1 / 1;background-color:var(--color-secondary)}.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.portfolio-item:hover img{transform:scale(1.1)}.portfolio-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(58,54,50,.8),transparent);opacity:0;transition:var(--transition-smooth);display:flex;align-items:flex-end;padding:var(--spacing-md)}.portfolio-item:hover .portfolio-overlay{opacity:1}.portfolio-overlay h3{color:var(--color-white);margin:0}.contact-content{max-width:800px;margin:0 auto;text-align:center}.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.contact-card{background-color:var(--color-white);padding:var(--spacing-md);border-radius:8px;box-shadow:0 4px 20px #00000014}.contact-card h3{font-size:1.1rem;margin-bottom:var(--spacing-sm);color:var(--color-primary)}.footer{background-color:var(--color-text);color:var(--color-secondary);padding:var(--spacing-lg) var(--spacing-md);text-align:center}.footer-credit{margin-top:var(--spacing-sm);font-size:.9rem;opacity:.8}.footer-credit a{color:var(--color-secondary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.footer-credit a:hover{color:var(--color-primary)}.footer-content{max-width:1400px;margin:0 auto}.social-links{display:flex;gap:var(--spacing-sm);justify-content:center;margin-bottom:var(--spacing-md)}.social-link{width:40px;height:40px;background-color:#e8ddd01a;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-secondary);transition:var(--transition-smooth)}.social-link:hover{background-color:var(--color-primary);color:var(--color-white);transform:translateY(-3px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.booking-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:var(--spacing-lg);align-items:start}.booking-info h3{font-size:clamp(1.3rem,2.5vw,1.7rem);margin-bottom:var(--spacing-sm)}.booking-info p{margin-bottom:var(--spacing-md)}.booking-meta{list-style:none;display:flex;flex-direction:column;gap:.75rem}.booking-meta li{display:flex;align-items:center;gap:.6rem;color:var(--color-text-light);font-size:.95rem}.booking-meta .lucide{color:var(--color-primary);flex-shrink:0;width:18px;height:18px}.booking-form-wrap{background-color:var(--color-white);border-radius:12px;padding:var(--spacing-md) clamp(1.25rem,3vw,var(--spacing-md));box-shadow:0 4px 30px #00000014}.booking-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.4rem}.form-field label{font-size:.875rem;font-weight:500;color:var(--color-text)}.required{color:var(--color-primary)}.optional{color:var(--color-text-light);font-weight:400;font-size:.8rem}.booking-form input,.booking-form select,.booking-form textarea{width:100%;padding:.7rem .9rem;border:1.5px solid var(--color-secondary);border-radius:8px;background-color:var(--color-background);font-family:var(--font-sans);font-size:.9rem;color:var(--color-text);transition:border-color .2s ease,box-shadow .2s ease;appearance:none;-webkit-appearance:none}.booking-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239B7E6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem;cursor:pointer}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #c17a5f1f}.booking-form textarea{resize:vertical;min-height:80px}.timeslots-grid{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;background-color:var(--color-background);border:1.5px solid var(--color-secondary);border-radius:8px;min-height:56px;align-items:center}.slot-hint{font-size:.85rem;color:var(--color-text-light);margin:0;font-style:italic}.slot-btn{padding:.35rem .75rem;border:1.5px solid var(--color-secondary);border-radius:50px;background-color:var(--color-white);font-family:var(--font-sans);font-size:.85rem;color:var(--color-text);cursor:pointer;transition:var(--transition-smooth);white-space:nowrap}.slot-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:#c17a5f0f}.slot-btn.selected{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);font-weight:500}.slot-btn--taken,.slot-btn--taken:hover{background-color:var(--color-background-alt);border-color:var(--color-secondary);color:var(--color-text-light);cursor:not-allowed;opacity:.5;text-decoration:line-through}.slot-hint--full{color:var(--color-primary);font-style:normal;font-weight:500}.booking-submit{border:none;cursor:pointer;width:100%;font-size:1rem;margin-top:.25rem}.booking-submit:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.booking-status{font-size:.9rem;padding:0;border-radius:8px;display:none}.booking-status--success{display:block;background-color:#f0faf4;border:1.5px solid #6dbf8b;color:#2d6e4a;padding:.85rem 1rem}.booking-status--error{display:block;background-color:#fff5f5;border:1.5px solid #f08080;color:#9b2c2c;padding:.85rem 1rem}@media(max-width:768px){.hero-content,.about-content{grid-template-columns:1fr}.header-content{padding:var(--spacing-xs) var(--spacing-sm)}.logo{font-size:1.25rem}.hero{padding-top:90px}.mobile-menu-toggle{display:flex;align-items:center;gap:.5rem;background:none;border:none;font-family:var(--font-sans);font-size:1rem;color:var(--color-text);font-weight:500;cursor:pointer;padding:.5rem}.mobile-menu-toggle .lucide{color:var(--color-primary)}.nav{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:var(--color-background);z-index:3000;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0;transform:translate(100%);transition:transform .4s cubic-bezier(.4,0,.2,1)}.nav.is-open{transform:translate(0)}.nav-header-mobile{display:flex;justify-content:space-between;align-items:center;padding:1rem var(--spacing-sm);border-bottom:1px solid rgba(193,122,95,.1);background-color:var(--color-white);flex-shrink:0}.mobile-menu-close{display:flex;align-items:center;gap:.5rem;background:none;border:none;font-family:var(--font-sans);font-size:1rem;color:var(--color-primary);font-weight:500;cursor:pointer;padding:.5rem}.nav-links{flex-direction:column;gap:0;padding:0 var(--spacing-sm) 2rem;flex-grow:1;overflow-y:auto}.nav-links a{font-size:1.15rem;font-weight:500;color:var(--color-text);padding:1rem .5rem;border-bottom:1px solid var(--color-secondary);display:block;width:100%}.nav-links a:after{display:none}.portfolio-grid{grid-template-columns:1fr}.section{padding:var(--spacing-lg) var(--spacing-sm)}.booking-layout,.form-row{grid-template-columns:1fr}}
