:root{--primary-dark:#2c2e33;--text-main:#333;--text-muted:#666;--bg-light:#fff;--bg-offwhite:#f5f5f7;--transition-speed:.8s}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;color:var(--text-main);background-color:var(--bg-light);line-height:1.6;overflow-x:hidden}.reveal{opacity:0;transform:translateY(40px);transition:all var(--transition-speed) cubic-bezier(.16,1,.3,1)}.reveal.active{opacity:1;transform:translateY(0)}header{position:fixed;top:0;width:100%;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05);z-index:1000;padding:1.5rem 5%;display:flex;justify-content:space-between;align-items:center}.logo-container{display:flex;align-items:center;gap:15px;text-decoration:none}.logo-icon{width:36px;height:36px;border:3px solid var(--primary-dark);display:flex;justify-content:center;align-items:center}.logo-icon-inner{width:20px;height:20px;background-color:var(--primary-dark);border-radius:1px}.logo-text{color:var(--primary-dark);font-weight:700;font-size:1.2rem;letter-spacing:1px;line-height:1.1;text-transform:uppercase}.logo-tagline{font-size:.6rem;font-weight:400;letter-spacing:.5px;color:var(--text-muted)}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:0}.hamburger span{display:block;width:25px;height:3px;background-color:var(--primary-dark);transition:all .3s ease;border-radius:2px}.hamburger span:nth-child(2){width:20px}.hamburger:hover span{background-color:#555}nav ul{list-style:none;display:flex;gap:2rem}nav a{text-decoration:none;color:var(--text-main);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;transition:color .3s ease}nav a:hover{color:#999}.hero{height:100vh;display:flex;align-items:center;padding:0 10%;background:linear-gradient(to right,rgba(255,255,255,1) 40%,rgba(255,255,255,0) 100%),url('../images/hero-primary.jpg') center/cover;margin-top:60px}.hero-content{max-width:800px}.hero h1{font-size:4rem;font-weight:300;color:var(--primary-dark);line-height:1.1;margin-bottom:1.5rem;letter-spacing:-1px}.hero p{font-size:1.2rem;font-weight:300;color:var(--text-muted);max-width:600px}.section{padding:8rem 10%}.bg-light{background-color:var(--bg-light)}.bg-offwhite{background-color:var(--bg-offwhite)}.section-header{margin-bottom:4rem}.section-title{font-size:.9rem;text-transform:uppercase;letter-spacing:2px;font-weight:600;color:var(--text-muted);margin-bottom:1rem;border-left:2px solid var(--primary-dark);padding-left:15px}.section-heading{font-size:2.5rem;font-weight:300;color:var(--primary-dark);max-width:800px}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:4rem}.card{background:#fff;display:flex;flex-direction:column}padding:3rem;border-top:4px solid var(--primary-dark);box-shadow:0 10px 30px rgba(0,0,0,.03);position:relative;overflow:hidden}.card h3{font-size:1.3rem;font-weight:600;margin-bottom:1rem;color:var(--primary-dark)}.card p{font-size:.95rem;color:var(--text-muted);margin-bottom:1.5rem}.card ul{list-style:none;padding-top:1rem;border-top:1px solid #eee}.card ul li{font-size:.85rem;color:var(--text-muted);margin-bottom:.8rem;position:relative;padding-left:15px}.card-img{height:220px;width:100%;background-size:cover;background-position:center;border-bottom:4px solid var(--primary-dark)}.card-content{padding:2.5rem;flex-grow:1;display:flex;flex-direction:column}.card ul li::before{content:"•";position:absolute;left:0;color:var(--primary-dark)}#contact{padding:8rem 10% 4rem}.form-container{max-width:600px;margin:0 auto}.form-heading{font-size:2rem;font-weight:300;color:var(--primary-dark);margin-bottom:2rem;text-align:center}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--primary-dark);margin-bottom:.5rem}.form-input{width:100%;padding:1rem;border:1px solid rgba(0,0,0,.1);font-family:Inter,sans-serif;font-size:.95rem;transition:border-color .3s ease}.form-input:focus{outline:none;border-color:var(--primary-dark)}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml;utf8,<svg fill="black" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');background-repeat:no-repeat;background-position-x:calc(100% - 15px);background-position-y:50%}.form-textarea{resize:vertical;min-height:150px}.submit-btn{display:block;width:100%;padding:1rem 2rem;background-color:var(--primary-dark);color:#fff;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;border:none;cursor:pointer;transition:background-color .3s ease}.submit-btn:hover{background-color:#444}.submit-btn:disabled{background-color:#999;cursor:not-allowed}.char-count{text-align:right;font-size:.8rem;color:var(--text-muted);margin-top:.3rem}#form-message{margin-bottom:1.5rem;padding:1rem;border-radius:4px;font-size:.9rem;display:none;text-align:center}#form-message.success{background-color:rgba(0,255,0,.1);color:green;display:block}#form-message.error{background-color:rgba(255,0,0,.1);color:red;display:block}#form-message.info{background-color:rgba(0,123,255,.1);color:#004085;display:block}footer{background-color:var(--primary-dark);color:#fff;padding:5rem 10% 2rem}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:4rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:4rem}.footer-logo .logo-icon{border-color:#fff}.footer-logo .logo-icon-inner{background-color:#fff}.footer-logo .logo-text,.footer-logo .logo-tagline{color:#fff}.contact-info h4{font-weight:600;margin-bottom:1rem;font-size:1.1rem}.contact-info p{color:#aaa;font-size:.9rem;margin-bottom:.5rem}.legal{text-align:center;font-size:.8rem;color:#666}@media(max-width:768px){.hero h1{font-size:2.5rem}.section{padding:4rem 5%}#contact{padding:4rem 5%}nav ul{position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,.98);flex-direction:column;padding:1rem 2rem;gap:1rem;border-bottom:1px solid rgba(0,0,0,.05);display:none}.nav-active ul{display:flex}.hamburger{display:flex}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-7px)}.footer-grid{grid-template-columns:1fr}}