:root{--primary:#c49e49;--secondary-dark:#031a40;--text-color:#0f0e0e;--white:#fff;--gray:#f5f5f5;--container:1200px;--radius:8px;--shadow:0 14px 30px #031a401f}body{color:var(--text-color);background:var(--white)}:root{--font-family-base:"Segoe UI", Roboto, Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Noto Sans", sans-serif;--font-size-body:16px;--line-height-body:1.6;--letter-spacing-tight:-.02em;--letter-spacing-medium:-.015em;--h1-size:clamp(1.6rem, 3.4vw, 2.2rem);--h2-size:clamp(1.38rem, 2.8vw, 1.8rem);--h3-size:clamp(1.18rem, 2.1vw, 1.45rem);--h4-size:clamp(1.02rem, 1.7vw, 1.16rem);--h5-size:clamp(.92rem, 1.4vw, 1rem);--h6-size:clamp(.94rem, 1.5vw, 1rem);--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem}html{font-size:var(--font-size-body);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}*,:before,:after{font-family:var(--font-family-base)}body{font-size:var(--text-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:var(--h1-size);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:1.2}h2{font-size:var(--h2-size);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-medium);line-height:1.25}h3{font-size:var(--h3-size);font-weight:var(--font-weight-semibold);line-height:1.3}h4{font-size:var(--h4-size);font-weight:var(--font-weight-semibold);line-height:1.35}h5{font-size:var(--h5-size);font-weight:var(--font-weight-semibold);line-height:1.4}h6{font-size:var(--h6-size);font-weight:var(--font-weight-semibold);line-height:1.45}p,li,label,input,textarea,select,button{font-size:var(--text-md);line-height:var(--line-height-body)}p{font-weight:var(--font-weight-regular)}a{font-size:var(--text-md)}h1,h2,h3,h4,h5,h6{margin:0}strong,b{font-weight:var(--font-weight-bold)}small{font-size:var(--text-sm);line-height:1.5}*,:before,:after{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0}.container{width:min(var(--container), calc(100% - 2rem));margin-inline-start:auto;margin-inline-end:auto}.topbar{background:var(--secondary-dark);color:var(--white);font-size:var(--text-sm)}.topbar-content{justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.topbar-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.topbar-left p{font-size:var(--text-sm);margin:0;line-height:1.4}.topbar-contact-item{align-items:center;gap:6px;display:inline-flex}.topbar-contact-item svg{font-size:var(--text-sm);color:var(--primary)}.topbar-right{align-items:center;gap:10px;display:flex}.social-link{width:28px;height:28px;color:var(--white);border:1px solid #ffffff47;border-radius:999px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.social-link:hover{background:var(--primary);border-color:var(--primary);color:var(--secondary-dark)}@media (max-width:640px){.topbar-content{justify-content:center}.topbar-right{margin-top:0}}@media (max-width:1024px){.topbar-left{display:none}.topbar-content{justify-content:center;padding:8px 0}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header{z-index:40;background:var(--white);border-bottom:1px solid #e6e8ec;position:sticky;top:0}.nav{justify-content:flex-start;align-items:center;gap:24px;min-height:76px;display:flex}.logo{justify-content:center;align-items:center;height:52px;display:inline-flex}.logo img{object-fit:contain;width:auto;height:100%;display:block}.menu-root{justify-content:flex-end;align-items:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}nav[aria-label=Main\ navigation]{margin-left:auto}.mobile-menu-toggle{width:42px;height:42px;color:var(--secondary-dark);background:#fff;border:1px solid #e6e8ec;border-radius:8px;display:none}.menu-item{position:relative}.menu-link{color:var(--text-color);white-space:nowrap;background:0 0;border-radius:6px;padding:8px 12px;font-weight:500;transition:background-color .25s,color .25s}.menu-link:hover{background:var(--gray)}.menu-link.is-active{color:var(--secondary-dark);background:#c49e4924}.simple-dropdown{background:var(--white);min-width:280px;box-shadow:var(--shadow);z-index:50;border:1px solid #e6e8ec;border-radius:12px;padding:20px;display:none;position:absolute;top:calc(100% + 14px);left:0}.menu-item:hover .simple-dropdown{display:block}.simple-dropdown-column h4{color:var(--secondary-dark);margin:0 0 10px;font-size:16px}.simple-dropdown-column ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.simple-dropdown-column li{color:#495467;font-size:14px}.services-mega-wrapper{z-index:90;opacity:0;visibility:hidden;pointer-events:none;width:100%;padding-top:10px;transition:opacity .3s,transform .3s,visibility .3s;position:absolute;top:100%;left:0;transform:translateY(10px)}.services-mega-wrapper.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.portfolio-mega-wrapper{z-index:90;opacity:0;visibility:hidden;pointer-events:none;width:100%;padding-top:10px;transition:opacity .3s,transform .3s,visibility .3s;position:absolute;top:100%;left:0;transform:translateY(10px)}.portfolio-mega-wrapper.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.services-mega-content{background:#fff;border:1px solid #eceef2;border-radius:12px;grid-template-columns:28% 72%;gap:24px;width:min(1400px,100% - 2rem);margin:0 auto;padding:40px;display:grid;position:relative;box-shadow:0 10px 40px #00000014}.portfolio-mega-content{background:#fff;border:1px solid #eceef2;border-radius:12px;width:min(1400px,100% - 2rem);margin:0 auto;padding:40px;position:relative;box-shadow:0 10px 40px #00000014}.portfolio-mega-content:before{content:"";pointer-events:none;background:radial-gradient(circle at 12% 12%,#c49e491f,#0000 35%),radial-gradient(circle at 90% 85%,#031a4014,#0000 35%);border-radius:12px;position:absolute;top:0;bottom:0;left:0;right:0}.portfolio-items-grid{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid;position:relative}.services-mega-content:before{content:"";pointer-events:none;background:radial-gradient(circle at 10% 10%,#c49e491f,#0000 35%),radial-gradient(circle at 95% 95%,#031a4014,#0000 35%);border-radius:12px;position:absolute;top:0;bottom:0;left:0;right:0}.services-categories{background:#f9f9f9;border-radius:10px;align-content:start;gap:6px;padding:10px;display:grid}.service-category-item{color:var(--text-color);text-align:left;background:0 0;border-left:4px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:12px 16px;font-size:16px;font-weight:500;transition:all .3s;display:flex}.service-category-icon{width:30px;height:30px;color:var(--secondary-dark);background:#c49e4924;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.service-category-item:hover,.service-category-item.is-active{border-left-color:var(--primary);background:#fff}.services-submenu-panel{z-index:1;width:100%;position:relative}.service-items-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.service-card{background:linear-gradient(160deg,#fff 0%,#fbfcff 100%);border:1px solid #eceef2;border-radius:12px;padding:15px;transition:transform .3s,background-color .3s,border-color .3s,box-shadow .3s}.service-card-link{color:inherit;text-decoration:none;display:block}.service-card:hover{background:#f5f5f5;border-color:#c49e4980;transform:translateY(-3px);box-shadow:0 12px 24px #0f0e0e14}.service-card-link:focus-visible{outline-offset:2px;outline:2px solid #c49e49}.service-card-icon{width:36px;height:36px;color:var(--secondary-dark);background:#c49e4924;border-radius:10px;justify-content:center;align-items:center;margin-bottom:10px;font-size:16px;line-height:1;display:inline-flex}.service-card h4{margin:0;font-size:16px;font-weight:700;line-height:1.35}.service-card p{color:#667085;margin:8px 0 0;font-size:13px;line-height:1.45}.btn{border-radius:var(--radius);padding:10px 20px;font-weight:500}.btn-primary{background:var(--primary);color:var(--white)}.mobile-menu-panel{background:#fff;border-top:1px solid #e6e8ec;display:none}.mobile-menu-list{margin:0;padding:8px 1rem 0;list-style:none}.mobile-menu-item{border-bottom:1px solid #f0f2f5}.mobile-menu-link{width:100%;color:var(--text-color);background:0 0;justify-content:space-between;align-items:center;padding:14px 0;font-weight:600;display:flex}.mobile-menu-link svg{transition:transform .25s}.mobile-menu-link svg.open{transform:rotate(180deg)}.mobile-submenu{padding:0 0 12px}.mobile-submenu h4{margin:8px 0;font-size:14px}.mobile-submenu ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mobile-submenu li{color:#667085;font-size:14px}.mobile-services-content{padding-bottom:12px}.mobile-services-categories{flex-wrap:wrap;gap:8px;margin:4px 0 12px;display:flex}.mobile-category-btn{color:#1f2937;background:#f3f4f6;border-radius:999px;padding:7px 10px;font-size:13px}.mobile-category-btn.is-active{color:var(--secondary-dark);background:#c49e4933}.mobile-service-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.mobile-service-list li{background:#f9fafb;border-radius:10px;padding:10px}.mobile-service-list .mobile-service-icon{width:30px;height:30px;color:var(--secondary-dark);background:#c49e4924;border-radius:8px;justify-content:center;align-items:center;margin-bottom:8px;font-size:14px;display:inline-flex}.mobile-service-list strong{margin-bottom:4px;font-size:14px;display:block}.mobile-service-description{color:#667085;font-size:12px;line-height:1.4;display:block}.mobile-menu-cta{width:calc(100% - 2rem);margin:12px 1rem 16px}@media (max-width:992px){.nav{flex-wrap:wrap;gap:14px;padding:12px 0}.menu-root{flex-wrap:wrap;justify-content:center}.simple-dropdown{min-width:100%;box-shadow:none;margin-top:8px;position:static}.services-mega-wrapper{opacity:1;visibility:visible;pointer-events:none;width:100%;max-height:0;padding-top:0;transition:max-height .35s;position:static;overflow:hidden;transform:none}.services-mega-wrapper.open{pointer-events:auto;max-height:1800px}.portfolio-items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-mega-content{width:100%;box-shadow:none;border:1px solid #e6e8ec;grid-template-columns:1fr;gap:16px;margin-top:8px;padding:20px}.service-items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1024px){.nav{min-height:68px}nav[aria-label=Main\ navigation],.nav>.btn.btn-primary{display:none}.mobile-menu-toggle{justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.services-mega-wrapper,.portfolio-mega-wrapper,.mobile-menu-panel{display:none}.mobile-menu-panel.open{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 68px);display:block;overflow-y:auto}}@media (max-width:640px){.service-items-grid,.portfolio-items-grid{grid-template-columns:1fr}}.floating-actions{z-index:80;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:18px;right:18px}.floating-call{color:#031a40;background:#c49e49;border:1px solid #031a4026;border-radius:999px;align-items:center;gap:8px;height:52px;padding:8px 14px 8px 8px;animation:2.2s ease-in-out infinite floatingBob;display:inline-flex;box-shadow:0 12px 30px #c49e4966}.floating-call-icon{color:#fff;background:#031a40;border-radius:50%;place-items:center;width:34px;height:34px;animation:1.4s infinite ringPulse;display:inline-grid}.floating-call-label{color:#031a40;font-weight:700;line-height:1}.floating-top{color:#fff;opacity:0;background:#031a40;border:1px solid #c49e4973;border-radius:50%;place-items:center;width:44px;height:44px;transition:opacity .25s,transform .25s;display:inline-grid;transform:translateY(16px);box-shadow:0 10px 22px #031a4040}.floating-top-visible{opacity:1;transform:translateY(0)}.floating-top:hover,.floating-call:hover{transform:translateY(-2px)}@keyframes ringPulse{0%{transform:scale(1)}70%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes floatingBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (max-width:640px){.floating-actions{bottom:12px;right:12px}.floating-call{height:48px;padding:7px 12px 7px 7px}.floating-call-icon{width:30px;height:30px}}
