:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6;--bg: #f5f0eb;--bg-card: #fffdf9;--text: #2c2825;--text-muted: #7a7168;--accent: #c4956a;--accent-hover: #b07d52;--border: #e0d8d0;--error: #c0392b;--radius: .75rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}#root{min-height:100vh}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 3rem;background:#f5f0ebd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}nav .logo{font-weight:700;font-size:1.1rem;letter-spacing:-.02em;color:var(--text)}nav ul{display:flex;list-style:none;gap:2rem}nav a{text-decoration:none;color:var(--text-muted);font-size:.875rem;font-weight:500;transition:color .2s}nav a:hover{color:var(--accent)}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:8rem 3rem 4rem;max-width:56rem}.hero-eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}.hero h1{font-size:clamp(2.5rem,6vw,4.25rem);font-weight:700;line-height:1.1;letter-spacing:-.035em;color:var(--text);margin-bottom:1.5rem}.hero p{font-size:1.15rem;color:var(--text-muted);max-width:36rem;line-height:1.7;margin-bottom:2.5rem}.hero-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s,transform .15s;width:fit-content}.hero-cta:hover{background:var(--accent-hover);transform:translateY(-1px)}section{padding:6rem 3rem}.section-label{font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}.section-title{font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;letter-spacing:-.03em;margin-bottom:1rem}.section-desc{color:var(--text-muted);font-size:1rem;max-width:40rem;margin-bottom:3rem}.case-studies{background:var(--bg)}.cards-grid{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:var(--radius);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.case-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px #2c28251a}.case-card-img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block}.case-card-body{padding:1.75rem}.case-card-tag{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:#c4956a1a;padding:.25rem .65rem;border-radius:.25rem;margin-bottom:.85rem}.case-card h3{font-size:1.3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.6rem}.case-card p{color:var(--text-muted);font-size:.9rem;line-height:1.6;margin-bottom:1.25rem}.case-card-link{font-size:.85rem;font-weight:600;color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;transition:gap .2s}.case-card:hover .case-card-link{gap:.6rem}.gallery{background:var(--bg-card);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:16rem;gap:1rem;max-width:72rem}.gallery-item{position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer}.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.gallery-item:hover img{transform:scale(1.04)}.gallery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(44,40,37,.7) 0%,transparent 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay h4{color:#fff;font-size:1rem;font-weight:600}.gallery-overlay span{color:#ffffffbf;font-size:.8rem}.contact{background:var(--bg)}.contact-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:64rem}.contact-info h3{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.contact-info p{color:var(--text-muted);margin-bottom:2rem;line-height:1.7}.contact-detail{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;color:var(--text-muted);font-size:.9rem}.contact-detail-icon{width:2rem;height:2rem;display:grid;place-items:center;background:#c4956a1a;border-radius:.5rem;font-size:.85rem}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text)}.form-group input,.form-group textarea{width:100%;padding:.8rem 1rem;font-family:inherit;font-size:.95rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);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 #c4956a26}.form-group input.error,.form-group textarea.error{border-color:var(--error)}.form-group textarea{resize:vertical;min-height:7rem}.field-error{font-size:.78rem;color:var(--error);min-height:1.1em}.submit-btn{align-self:flex-start;padding:.85rem 2.5rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s}.submit-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.form-success{padding:1rem 1.25rem;background:#27ae6014;border:1px solid rgba(39,174,96,.25);border-radius:var(--radius);color:#1e8449;font-size:.9rem;font-weight:500}footer{padding:3rem;text-align:center;border-top:1px solid var(--border);color:var(--text-muted);font-size:.85rem}@media(max-width:768px){nav{padding:1rem 1.5rem}nav ul{gap:1.25rem}section,.hero{padding-left:1.5rem;padding-right:1.5rem}.hero{padding-top:6rem}.cards-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:12rem}.gallery-item:nth-child(1){grid-column:span 2}.contact-wrapper{grid-template-columns:1fr;gap:2.5rem}}@media(max-width:480px){.gallery-grid{grid-template-columns:1fr;grid-auto-rows:14rem}.gallery-item:nth-child(1){grid-column:span 1;grid-row:span 1}}
