*,*:before,*:after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}:root{--color-bg: #f7f3ed;--color-bg-alt: #efe8dc;--color-surface: #fffdf8;--color-text: #3e3429;--color-text-muted: #6d6256;--color-heading: #2c2419;--color-primary: #6b7c4c;--color-primary-dark: #556339;--color-accent: #b8734f;--color-border: #ddd4c4;--color-border-light: #e8e0d4;--color-footer-bg: #3a3228;--color-footer-border: #52483c;--color-footer-muted: #b8a99a;--color-error: #b85444;--color-success: #6b8f5e;--color-header-bg: rgba(255, 253, 248, .95);--shadow-sm: 0 4px 6px rgba(62, 52, 41, .06);--shadow-md: 0 8px 25px rgba(62, 52, 41, .1);--shadow-lg: 0 10px 25px rgba(62, 52, 41, .12);--focus-ring: rgba(107, 124, 76, .35)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-heading);color:var(--color-surface);padding:8px;text-decoration:none;border-radius:4px;z-index:1000;transition:top .3s}.skip-link:focus{top:6px}.container{max-width:1200px;margin:0 auto;padding:0 1rem}h1,h2,h3,h4,h5,h6{margin:0 0 1rem;font-weight:600;line-height:1.2}p{margin:0 0 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.btn--primary{background-color:var(--color-primary);color:#fff}.btn--primary:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.btn--secondary{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn--secondary:hover{background-color:var(--color-primary);color:#fff}.btn--full-width{width:100%}.btn__spinner{display:none;width:20px;height:20px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;margin-left:.5rem}.btn--loading .btn__text{opacity:.7}.btn--loading .btn__spinner{display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header{position:fixed;top:0;left:0;right:0;background-color:var(--color-header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;border-bottom:1px solid var(--color-border-light)}.nav__container{display:flex;align-items:center;justify-content:space-between;padding:1rem;max-width:1200px;margin:0 auto}.nav__brand{display:flex;align-items:center}.nav__logo{font-size:1.5rem;font-weight:700;color:var(--color-primary);text-decoration:none}.nav__logo:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.nav__toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem;border-radius:4px}.nav__toggle:focus{outline:2px solid var(--color-primary);outline-offset:2px}.nav__hamburger{width:25px;height:3px;background-color:var(--color-text);margin:3px 0;transition:.3s;border-radius:2px}.nav__menu{display:flex;list-style:none;margin:0;padding:0;gap:2rem}.nav__link{color:var(--color-text);text-decoration:none;font-weight:500;padding:.5rem 0;transition:color .2s ease;border-radius:4px}.nav__link:hover,.nav__link:focus{color:var(--color-primary);outline:none}.nav__link--cta{background-color:var(--color-primary);color:#fff!important;padding:.5rem 1rem;border-radius:6px}.nav__link--cta:hover{background-color:var(--color-primary-dark)}.hero{padding:8rem 1rem 4rem;background:linear-gradient(135deg,var(--color-bg) 0%,var(--color-bg-alt) 100%);text-align:center;min-height:100vh;display:flex;align-items:center}.hero__container{max-width:800px;margin:0 auto}.hero__title{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1.5rem;color:var(--color-heading)}.hero__title-accent{color:var(--color-accent)}.hero__subtitle{font-size:1.25rem;color:var(--color-text-muted);margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.hero__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}section{padding:4rem 0}.section__title{font-size:2.5rem;text-align:center;margin-bottom:3rem;color:var(--color-heading)}.services{background-color:var(--color-bg-alt)}.services__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.service-card{background:var(--color-surface);padding:2rem;border-radius:12px;text-align:center;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.service-card__icon{font-size:3rem;margin-bottom:1rem}.service-card__title{font-size:1.25rem;margin-bottom:1rem;color:var(--color-heading)}.service-card__description{color:var(--color-text-muted);line-height:1.6}.tech-stack{background-color:var(--color-surface)}.tech-stack__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.tech-category{text-align:center;background:var(--color-surface);padding:2rem;border-radius:12px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.tech-category:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.solution-icon{font-size:3rem;margin-bottom:1rem;display:block}.tech-category__title{font-size:1.5rem;margin-bottom:1rem;color:var(--color-heading)}.solution-description{font-size:1rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:1.5rem;max-width:280px;margin-left:auto;margin-right:auto}.tech-list{list-style:none;padding:0;margin:0;text-align:left}.tech-list li{color:var(--color-text-muted);font-weight:400;position:relative;padding:.375rem 0 .375rem 1rem}.tech-list li:before{content:"•";color:var(--color-primary);font-weight:700;position:absolute;left:0}.about__content{max-width:800px;margin:0 auto;text-align:center}.about__description{font-size:1.125rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:1.5rem}.contact{background-color:var(--color-bg-alt)}.contact__content{max-width:600px;margin:0 auto}.contact__info{text-align:center;margin-bottom:3rem}.contact__description{font-size:1.125rem;color:var(--color-text-muted);line-height:1.7}.contact-form{background:var(--color-surface);padding:2rem;border-radius:12px;box-shadow:var(--shadow-sm)}.form-group{margin-bottom:1.5rem}.form-group--checkbox{margin-bottom:2rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-heading)}.form-input{width:100%;padding:.75rem;border:2px solid var(--color-border);border-radius:6px;font-size:1rem;transition:border-color .2s ease;background-color:var(--color-surface)}.form-input:focus{outline:none;border-color:var(--color-primary)}.form-input.error{border-color:var(--color-error)}.form-textarea{resize:vertical;min-height:120px}.form-error{margin-top:.25rem;font-size:.875rem;color:var(--color-error);min-height:1.25rem}.checkbox-label{display:flex;align-items:flex-start;cursor:pointer;font-size:.875rem;line-height:1.5}.checkbox-input{position:absolute;opacity:0;cursor:pointer}.checkbox-checkmark{width:20px;height:20px;background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:4px;margin-right:.75rem;margin-top:.125rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.checkbox-input:checked+.checkbox-checkmark{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-input:checked+.checkbox-checkmark:after{content:"✓";color:var(--color-surface);font-size:14px;font-weight:700}.checkbox-input:focus+.checkbox-checkmark{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--focus-ring)}.honeypot{position:absolute;left:-9999px;opacity:0}.footer{background-color:var(--color-footer-bg);color:var(--color-surface);padding:3rem 0 1rem}.footer__content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:2rem}.footer__brand{flex:1}.footer__logo{font-size:1.5rem;font-weight:700;color:var(--color-accent);margin-bottom:.5rem;display:block}.footer__tagline{color:var(--color-footer-muted);margin:0}.footer__links{display:flex;gap:1rem;flex-wrap:wrap}.footer__link{color:var(--color-footer-muted);text-decoration:none;transition:color .2s ease}.footer__link:hover,.footer__link:focus{color:var(--color-surface);outline:none}.footer__bottom{border-top:1px solid var(--color-footer-border);padding-top:1rem;text-align:center}.footer__copyright{color:var(--color-footer-muted);margin:0;font-size:.875rem}.toast{position:fixed;top:2rem;right:2rem;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-lg);max-width:400px;transform:translate(100%);transition:transform .3s ease;z-index:1100;border-left:4px solid var(--color-success)}.toast.show{transform:translate(0)}.toast.error{border-left-color:var(--color-error)}.toast__content{display:flex;align-items:center;justify-content:space-between;padding:1rem}.toast__message{flex:1;margin-right:1rem;font-weight:500}.toast__close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-muted);padding:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px}.toast__close:hover{background-color:var(--color-bg-alt)}@media (max-width: 768px){.nav__toggle{display:flex}.nav__menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-surface);flex-direction:column;padding:1rem;border-top:1px solid var(--color-border);gap:0}.nav__menu.open{display:flex}.nav__link{padding:1rem 0;border-bottom:1px solid var(--color-bg-alt)}.nav__link--cta{margin-top:1rem;padding:.75rem 1rem;text-align:center;border-bottom:none}.hero{padding:6rem 1rem 3rem;min-height:auto}.hero__actions{flex-direction:column;align-items:center}.hero__actions .btn{width:100%;max-width:300px}.services__grid,.tech-stack__grid{grid-template-columns:1fr}.footer__content{flex-direction:column;text-align:center}.footer__links{justify-content:center}.toast{top:1rem;right:1rem;left:1rem;max-width:none}}@media (max-width: 480px){.container{padding:0 .75rem}section{padding:3rem 0}.section__title{font-size:2rem}.contact-form{padding:1.5rem}}a:focus,button:focus,input:focus,textarea:focus,select:focus{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
