@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Open+Sans:wght@300;400;600&display=swap");:root{--navy:#0b1e2e;--navy2:#132539;--blue:#1a4a6b;--orange:#d4621a;--orange2:#e8772e;--light:#f4f6f8;--mid:#8a9aaa;--white:#ffffff;--border:#dde4ea}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Open Sans,sans-serif;background:var(--white);color:#2c3e50}.topbar{background:var(--navy);color:var(--mid);font-size:.82rem;padding:.5rem 5rem;display:flex;justify-content:space-between;align-items:center}.topbar a{color:var(--mid);text-decoration:none;margin-left:1.5rem;transition:color .15s}.topbar a:hover,.topbar strong{color:var(--white)}.topbar .license-badge{font-weight:600;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--orange2)}nav{background:var(--white);border-bottom:3px solid var(--orange);position:sticky;top:0;z-index:300;justify-content:space-between;padding:0 5rem;height:70px;box-shadow:0 2px 12px rgba(0,0,0,.08)}.logo,nav{display:flex;align-items:center}.logo{font-family:Oswald,sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);gap:.5rem}.logo span{color:var(--orange)}.logo-icon{width:38px;height:38px;background:var(--orange);justify-content:center;color:white;font-size:1.1rem}.logo-icon,nav ul{display:flex;align-items:center}nav ul{list-style:none;gap:.2rem}nav a{display:block;text-decoration:none;color:var(--navy);font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.5rem 1.1rem;border-radius:2px;transition:color .15s,background .15s}nav a:hover{color:var(--orange)}.nav-cta{background:var(--orange)!important;padding:.6rem 1.4rem!important;border-radius:2px}.nav-cta,.nav-cta:hover{color:var(--white)!important}.nav-cta:hover{background:var(--orange2)!important}.hero{position:relative;height:800px;overflow:hidden;display:flex;align-items:center}.hero-bg{background-image:var(--hero-image);background-size:cover;background-position:center 40%;filter:brightness(.95)}.hero-bg,.hero-overlay{position:absolute;inset:0}.hero-overlay{background:linear-gradient(90deg,rgba(11,30,46,.55) 38%,rgba(11,30,46,.25) 65%,transparent)}.hero-content{position:relative;z-index:2;padding:0 5rem;max-width:640px}.hero-tag{display:inline-block;background:var(--orange);color:white;font-size:.72rem;letter-spacing:.2em;padding:.35rem .9rem;margin-bottom:1.4rem}.hero h1,.hero-tag{font-weight:700;text-transform:uppercase}.hero h1{font-family:Oswald,sans-serif;font-size:clamp(2.8rem,5vw,4.2rem);line-height:1.05;color:var(--white);margin-bottom:1.2rem}.hero h1 em{font-style:normal;color:var(--orange2)}.hero p{font-size:1rem;color:rgba(255,255,255,.78);line-height:1.75;margin-bottom:2rem;font-weight:300}.hero-btns{display:flex;gap:1rem;flex-wrap:wrap}.btn-primary{background:var(--orange);color:white;padding:.85rem 2rem;text-decoration:none;font-family:Oswald,sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border:2px solid var(--orange);transition:background .15s;display:inline-block}.btn-primary:hover{background:var(--orange2);border-color:var(--orange2)}.btn-outline{background:transparent;color:white;padding:.85rem 2rem;text-decoration:none;font-family:Oswald,sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border:2px solid rgba(255,255,255,.5);transition:border-color .15s;display:inline-block}.btn-outline:hover{border-color:white}.stats{background:var(--navy);display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:2rem;text-align:center;border-right:1px solid rgba(255,255,255,.08)}.stat:last-child{border-right:none}.stat-num{font-family:Oswald,sans-serif;font-size:2.6rem;font-weight:700;color:var(--orange2);display:block;line-height:1}.stat-label{font-weight:600;letter-spacing:.14em;color:var(--mid);margin-top:.4rem}.section-eyebrow,.stat-label{font-size:.72rem;text-transform:uppercase}.section-eyebrow{font-weight:700;letter-spacing:.22em;color:var(--orange);margin-bottom:.7rem}.section-title{font-family:Oswald,sans-serif;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:700;text-transform:uppercase;color:var(--navy);line-height:1.1;margin-bottom:.8rem}.section-title span{color:var(--orange)}.section-intro{font-size:.95rem;color:#5a6a78;line-height:1.75;max-width:560px;margin-bottom:3rem;font-weight:300}.services{padding:5rem;background:var(--light)}.service-grid{display:grid;grid-template-columns:repeat(2,520px);gap:2rem;max-width:1100px;margin:0 auto;justify-content:center}@media (min-width:2300px){.service-grid{grid-template-columns:repeat(4,520px);max-width:2300px}}@media (max-width:640px){.service-grid{grid-template-columns:1fr;max-width:520px}}.service-card{background:var(--white);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border);border-top:3px solid transparent;transition:border-top-color .2s,box-shadow .2s}.service-card:hover{border-top-color:var(--orange);box-shadow:0 6px 30px rgba(0,0,0,.1)}.service-img{width:100%;height:200px;-o-object-fit:cover;object-fit:cover;display:block}.service-img-placeholder{width:100%;height:200px;background:var(--navy2);display:flex;align-items:center;justify-content:center;font-size:3rem}.service-body{padding:1.6rem 1.8rem 2rem;flex:1;display:flex;flex-direction:column}.service-card h3{font-family:Oswald,sans-serif;font-size:1.25rem;font-weight:600;text-transform:uppercase;color:var(--navy);margin-bottom:.7rem}.service-card ul{list-style:none;margin:.5rem 0 1.2rem;flex:1}.service-card ul li{font-size:.88rem;color:#5a6a78;padding:.3rem 0 .3rem 1.2rem;position:relative;font-weight:300}.service-card ul li:before{content:"▸";position:absolute;left:0;color:var(--orange);font-size:.75rem}.service-card p{font-size:.88rem;color:#5a6a78;line-height:1.75;font-weight:300}.service-link{display:inline-block;margin-top:1rem;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);text-decoration:none}.service-link:hover{text-decoration:underline}.about{padding:5rem;background:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;max-width:1200px;margin:0 auto}.about-img-wrap{position:relative}.about-img-wrap img{width:100%;height:420px;-o-object-fit:cover;object-fit:cover;display:block}.about-years{position:absolute;bottom:-20px;right:-20px;background:var(--orange);color:white;padding:1.5rem;text-align:center;font-family:Oswald,sans-serif}.about-years .num{font-size:2.8rem;font-weight:700;display:block;line-height:1}.about-years .lbl{font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;display:block;margin-top:.2rem}.about-text h2{margin-bottom:1.2rem}.about-text p{font-size:.95rem;color:#4a5a68;line-height:1.8;margin-bottom:1rem;font-weight:300}.about-text strong{color:var(--navy);font-weight:600}.assoc-logos{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:2rem;align-items:center}.assoc-badge{background:var(--light);border:1px solid var(--border);padding:.6rem 1.1rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}.process{background:var(--navy);padding:5rem}.process .section-title{color:var(--white)}.process .section-eyebrow{color:var(--orange2)}.process .section-intro{color:rgba(255,255,255,.5)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:3rem}.process-step{background:rgba(255,255,255,.04);padding:2.2rem 1.8rem;border-top:3px solid rgba(255,255,255,.1);transition:background .2s,border-top-color .2s}.process-step:hover{background:rgba(255,255,255,.07);border-top-color:var(--orange)}.process-num{font-family:Oswald,sans-serif;font-size:2.2rem;font-weight:700;color:var(--orange);line-height:1;margin-bottom:1rem}.process-step h4{font-family:Oswald,sans-serif;font-size:1.05rem;font-weight:600;text-transform:uppercase;color:var(--white);margin-bottom:.6rem}.process-step p{font-size:.85rem;color:rgba(255,255,255,.45);line-height:1.7;font-weight:300}.photo-strip{height:360px;position:relative;overflow:hidden}.photo-strip img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 30%;object-position:center 30%}.photo-strip-overlay{position:absolute;inset:0;background:rgba(11,30,46,.6);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.photo-strip-overlay h2{font-family:Oswald,sans-serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:700;text-transform:uppercase;color:white;margin-bottom:1rem}.photo-strip-overlay h2 span{color:var(--orange2)}.photo-strip-overlay p{color:rgba(255,255,255,.7);font-size:.95rem;margin-bottom:1.5rem;font-weight:300}.faq{padding:5rem;background:var(--light)}.faq-header{max-width:600px;margin-bottom:3rem}.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:1.5rem;max-width:1100px;margin:0 auto;width:100%}@media (min-width:1100px){.faq-grid{grid-template-columns:repeat(3,minmax(320px,1fr));max-width:1500px}}@media (min-width:2200px){.faq-grid{grid-template-columns:repeat(6,minmax(320px,1fr));max-width:2600px}}@media (max-width:640px){.faq-grid{grid-template-columns:1fr;max-width:520px}}.faq-item{background:var(--white);border:1px solid var(--border);border-left:4px solid var(--orange);padding:1.6rem 1.8rem}.faq-item h4{font-family:Oswald,sans-serif;font-size:1.05rem;font-weight:600;text-transform:uppercase;color:var(--navy);margin-bottom:.7rem}.faq-item p{font-size:.88rem;color:#5a6a78;line-height:1.75;font-weight:300}.contact-section{padding:5rem;background:var(--white);display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;max-width:1200px;margin:0 auto}.contact-info h2{margin-bottom:1rem}.contact-info p{font-size:.95rem;color:#5a6a78;line-height:1.75;font-weight:300;margin-bottom:2rem}.contact-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}.contact-item:last-of-type{border-bottom:none}.contact-icon{width:56px;height:56px;flex-shrink:0}.contact-icon img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.contact-detail{font-size:.88rem;color:#4a5a68;line-height:1.6}.contact-detail strong{display:block;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-bottom:.2rem}.contact-detail a{color:var(--orange);text-decoration:none}.quote-form{background:var(--light);padding:2.5rem;border:1px solid var(--border)}.quote-form h3{font-family:Oswald,sans-serif;font-size:1.4rem;font-weight:700;text-transform:uppercase;color:var(--navy);margin-bottom:.4rem}.quote-form .form-sub{font-size:.83rem;color:var(--mid);margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid var(--border);background:white;color:#2c3e50;padding:.8rem 1rem;font-family:Open Sans,sans-serif;font-size:.9rem;outline:none;transition:border-color .2s;margin-bottom:.8rem;display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--orange)}.quote-form input::-moz-placeholder,.quote-form textarea::-moz-placeholder{color:#aab}.quote-form input::placeholder,.quote-form textarea::placeholder{color:#aab}.quote-form textarea{min-height:110px;resize:vertical}.form-submit{background:var(--orange);color:white;border:none;padding:.9rem 2.5rem;font-family:Oswald,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;width:100%;transition:background .15s}.form-submit:hover{background:var(--orange2)}footer{background:var(--navy);padding:2.5rem 5rem;display:flex;align-items:center;justify-content:space-between}footer .logo{color:white}footer .logo span{color:var(--orange2)}.footer-copy,.footer-right{font-size:.8rem;color:var(--mid)}.footer-right{text-align:right}.footer-right strong{color:white;display:block;margin-bottom:.2rem}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1000;align-items:center;justify-content:center}.modal-backdrop.is-open{display:flex}.modal{background:white;max-width:420px;width:90%;border-top:4px solid var(--orange);padding:2.5rem;box-shadow:0 20px 60px rgba(0,0,0,.3)}.modal-title{font-family:Oswald,sans-serif;font-size:1.6rem;font-weight:700;text-transform:uppercase;color:var(--navy);margin-bottom:.8rem}.modal-title span{color:var(--orange)}.modal-body{font-size:.9rem;color:#5a6a78;line-height:1.7;margin-bottom:1.5rem}.modal-close{background:var(--orange);color:white;border:none;padding:.75rem 2rem;font-family:Oswald,sans-serif;font-size:.95rem;font-weight:600;text-transform:uppercase;cursor:pointer;width:100%;transition:background .15s}.modal-close:hover{background:var(--orange2)}@media (max-width:900px){.topbar,nav{padding:.5rem 2rem}nav{height:auto;padding:1rem 2rem;gap:1rem}nav,nav ul{flex-wrap:wrap}nav ul{gap:0}nav a{font-size:.75rem;padding:.4rem .7rem}.hero-content{padding:0 2rem}.hero{height:460px}.stats{grid-template-columns:repeat(2,1fr)}.about,.contact-section,.faq,.process,.services{padding:3rem 2rem}.about,.service-grid{grid-template-columns:1fr}.about{gap:3rem}.about-img-wrap img{height:280px}.about-years{bottom:0;right:0}.process-grid{grid-template-columns:repeat(2,1fr)}.contact-section,.faq-grid{grid-template-columns:1fr}.contact-section{gap:2.5rem}.form-row{grid-template-columns:1fr}footer{flex-direction:column;gap:1rem;text-align:center;padding:2rem}.about,.contact-section{max-width:none}}