:root{--bg: #faf8f5;--bg-card: #ffffff;--text: #2c2420;--text-secondary: #7a6e64;--accent: #c47a5a;--accent-hover: #a8623f;--border: #e8e0d8;--border-hover: #d4c8bc;--error: #c0392b;--error-bg: #fdf2f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 3rem;background:#faf8f5d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav-logo{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;color:var(--text);text-decoration:none}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--text)}.hero{padding:7rem 3rem 6rem;max-width:52rem}.hero-tag{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}.hero h1{font-size:clamp(2.5rem,5vw,3.75rem);font-weight:700;letter-spacing:-.035em;line-height:1.1;margin-bottom:1.5rem;color:var(--text)}.hero p{font-size:1.15rem;line-height:1.7;color:var(--text-secondary);max-width:38rem}.hero-cta{display:inline-flex;align-items:center;gap:.5rem;margin-top:2.5rem;padding:.85rem 2rem;background:var(--accent);color:#fff;font-size:.9rem;font-weight:600;border:none;border-radius:.5rem;cursor:pointer;transition:background .2s,transform .15s;text-decoration:none}.hero-cta:hover{background:var(--accent-hover);transform:translateY(-1px)}.section{padding:5rem 3rem}.section-label{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}.section-title{font-size:2rem;font-weight:700;letter-spacing:-.03em;margin-bottom:1rem}.section-desc{font-size:1rem;color:var(--text-secondary);max-width:36rem;margin-bottom:3rem}.case-studies{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:2rem;max-width:72rem}.case-card{background:var(--bg-card);border:1px solid var(--border);border-radius:1rem;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;cursor:pointer;text-decoration:none;color:inherit;display:flex;flex-direction:column}.case-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px #2c242014;border-color:var(--border-hover)}.case-card-img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block;background:var(--border)}.case-card-body{padding:1.75rem;flex:1;display:flex;flex-direction:column}.case-card-category{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}.case-card h3{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}.case-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.6;flex:1}.case-card-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:1.25rem;font-size:.85rem;font-weight:600;color:var(--accent);transition:gap .2s}.case-card:hover .case-card-link{gap:.6rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:16rem;gap:1.25rem;max-width:72rem}.gallery-item{position:relative;border-radius:.75rem;overflow:hidden;background:var(--border);cursor:pointer}.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2}.gallery-item:nth-child(4){grid-column:span 2}.gallery-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.gallery-item:hover .gallery-img{transform:scale(1.05)}.gallery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(44,36,32,.7) 0%,transparent 60%);display:flex;align-items:flex-end;padding:1.5rem;opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay span{color:#fff;font-size:.95rem;font-weight:600}.contact-section{max-width:36rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:var(--text)}.form-group input,.form-group textarea{width:100%;padding:.8rem 1rem;font-size:.9rem;font-family:inherit;color:var(--text);background:var(--bg-card);border:1px solid var(--border);border-radius:.5rem;outline:none;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c47a5a26}.form-group input.error,.form-group textarea.error{border-color:var(--error);box-shadow:0 0 0 3px #c0392b1a}.form-error{display:flex;align-items:center;gap:.35rem;margin-top:.4rem;font-size:.8rem;color:var(--error)}.form-group textarea{resize:vertical;min-height:8rem}.form-submit{padding:.85rem 2.5rem;background:var(--accent);color:#fff;font-size:.9rem;font-weight:600;font-family:inherit;border:none;border-radius:.5rem;cursor:pointer;transition:background .2s,transform .15s}.form-submit:hover{background:var(--accent-hover);transform:translateY(-1px)}.form-success{padding:1rem 1.25rem;background:#f0f9f0;border:1px solid #c6e6c6;border-radius:.5rem;color:#2a6e2a;font-size:.9rem;font-weight:500}.footer{padding:3rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--text-secondary)}.footer-links{display:flex;gap:1.5rem;list-style:none}.footer-links a{color:var(--text-secondary);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--text)}@media(max-width:768px){.nav{padding:1rem 1.5rem}.nav-links{gap:1.25rem}.hero{padding:4rem 1.5rem 3rem}.section{padding:3rem 1.5rem}.case-studies{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:12rem}.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 1}.gallery-item:nth-child(4){grid-column:span 2}.footer{flex-direction:column;gap:1rem;text-align:center;padding:2rem 1.5rem}}
