:root{--navy:#0F2740;--deep:#0A1B2E;--soft:#1B3A5C;--paper:#F7F6F3;--concrete:#E7E5E0;--weld:#F2B705;--weld-d:#C99600;--fd:"Barlow Condensed",system-ui,sans-serif;--fb:"Source Sans 3",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--navy);font:18px/1.6 var(--fb);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:var(--fd);letter-spacing:-.01em;line-height:1.08;margin:0 0 .5em}
h1{font-size:clamp(2.6rem,7vw,4.4rem);font-weight:700}h2{font-size:clamp(2rem,4.5vw,2.9rem);font-weight:700}h3{font-size:2rem;font-weight:600}
:focus-visible{outline:3px solid var(--weld);outline-offset:3px}
.skip{position:absolute;left:-999px;background:var(--weld);padding:.5rem 1rem;z-index:100}.skip:focus{left:1rem;top:1rem}
.wrap{width:100%;max-width:72rem;margin:0 auto;padding:0 1.25rem}
.sec{padding-top:4.5rem;padding-bottom:4.5rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.5rem;font:600 1.2rem var(--fd);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .2s,color .2s}
.btn-y{background:var(--weld);color:var(--deep)}.btn-y:hover{background:var(--weld-d)}
.btn-d{background:var(--navy);color:#fff}.btn-d:hover{background:var(--soft)}
.btn-o{border-color:rgba(255,255,255,.75);color:#fff}.btn-o:hover{background:#fff;color:var(--navy)}
.ulink{font:600 1.3rem var(--fd);text-decoration:underline;text-decoration-color:var(--weld);text-decoration-thickness:4px;text-underline-offset:4px}
.site-header{position:sticky;top:0;z-index:50;background:var(--deep);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.bar{display:flex;align-items:center;justify-content:space-between;height:4rem}
.brand{text-decoration:none;display:flex;align-items:baseline;gap:.5rem}.brand b{font:700 1.7rem var(--fd);letter-spacing:.04em}.brand span{font:500 1.25rem var(--fd);color:rgba(255,255,255,.75)}
#nav{display:flex;align-items:center;gap:2rem}#nav a:not(.btn){font:500 1.25rem var(--fd);text-decoration:none}#nav a:not(.btn):hover,#nav a[aria-current]{color:var(--weld)}#nav .btn{padding:.4rem 1.1rem}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.8rem;padding:.4rem;cursor:pointer}
.hero{position:relative;color:#fff;background:linear-gradient(90deg,var(--deep) 0%,rgba(10,27,46,.86) 45%,rgba(10,27,46,.4) 100%),var(--bg) center/cover}
.hero-in{display:grid;gap:3rem;padding-top:6rem;padding-bottom:6rem;align-items:end;grid-template-columns:1.4fr 1fr}
.hero p{max-width:34rem;color:rgba(255,255,255,.88)}.btns{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.hero-text{animation:rise .7s ease-out both}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.spec{border:1px solid rgba(255,255,255,.25);background:rgba(10,27,46,.7);backdrop-filter:blur(3px)}
.spec-h{margin:0;padding:.7rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.25);font:600 1.35rem var(--fd);color:var(--weld)}
.spec ul{list-style:none;margin:0;padding:0}.spec li{padding:.7rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.15);font:500 1.35rem var(--fd)}.spec li:last-child{border:0}
.two{display:grid;gap:3rem;grid-template-columns:1fr 1fr}.lead{max-width:68ch;color:rgba(15,39,64,.9)}
.ticks,.dots,.bars,.steps,.chips,.clist{margin:0;padding:0;list-style:none}
.ticks li{padding:.55rem 0 .55rem 1.9rem;border-bottom:1px solid rgba(15,39,64,.15);position:relative}.ticks li::before{content:"";position:absolute;left:.2rem;top:1.05rem;width:.55rem;height:.9rem;border:solid var(--weld-d);border-width:0 3px 3px 0;transform:rotate(45deg) translateY(-30%)}
.dots{list-style:disc;padding-left:1.2rem}.dots li{margin:.2rem 0}
.bars li{background:#fff;border-left:4px solid var(--weld);padding:.7rem 1rem;margin-bottom:.75rem;font-size:1.25rem}
.steps li{display:flex;gap:1rem;background:#fff;padding:1.1rem;margin-bottom:1rem}.steps span{font:700 2.6rem/1 var(--fd);color:var(--weld-d)}.steps b{font:600 1.6rem var(--fd)}.steps p{margin:0;color:rgba(15,39,64,.8)}
.band{background:var(--concrete);padding:4.5rem 0}
.cards{display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-top:2rem}
.card{background:#fff;text-decoration:none;display:flex;flex-direction:column}
.ph{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--concrete)}.ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover .ph img{transform:scale(1.05)}
.ph.tall{aspect-ratio:4/3;align-self:start}
.cb{padding:1.5rem;border-top:4px solid var(--weld);flex:1;display:flex;flex-direction:column}.cb p{flex:1;color:rgba(15,39,64,.8)}.more{font:600 1.25rem var(--fd)}
.stack{display:grid;gap:2.5rem}.row{display:grid;grid-template-columns:1fr 1fr;background:#fff;align-items:center}.row .ph{aspect-ratio:4/3;height:100%}.row.rev .ph{order:2}.rb{padding:2.5rem}
.grid3{display:grid;gap:2.5rem;grid-template-columns:repeat(3,1fr)}
.note{background:#fff;border-left:4px solid var(--weld);padding:1.75rem;align-self:start}
.phero{background:var(--navy);color:#fff;border-bottom:4px solid var(--weld);padding:4.5rem 0}.phero p{max-width:40rem;color:rgba(255,255,255,.8);margin:1rem 0 0}.phero h1{max-width:46rem;margin:0}
.cta{background:var(--weld)}.cta-in{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;padding-top:3.5rem;padding-bottom:3.5rem}.cta h2{margin:0;color:var(--deep)}.cta p{margin:.4rem 0 0;color:rgba(10,27,46,.8)}
.gal{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px}.gal li{overflow:hidden;background:var(--concrete)}.gal li.wide{grid-column:span 2}.gal img{width:100%;height:100%;object-fit:cover}
.chips{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.chips .btn{padding:.4rem 1.1rem}
.contact{display:grid;gap:3rem;grid-template-columns:1.3fr 1fr}
.f{margin-bottom:1.25rem}.f2{display:grid;gap:1.25rem;grid-template-columns:1fr 1fr}label{display:block;font-weight:600;margin-bottom:.25rem}
input,textarea{width:100%;font:inherit;padding:.7rem 1rem;border:1px solid rgba(15,39,64,.35);background:#fff;color:inherit}input:focus,textarea:focus{border-color:var(--navy);outline:none}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#b91c1c}
.err{color:#b91c1c;font-size:.9rem;font-weight:600;margin:.25rem 0 0}.err:empty{display:none}
.hp{position:absolute;left:-9999px}.alert{border-left:4px solid #b91c1c;background:#fef2f2;color:#991b1b;padding:.9rem 1rem}
.ok{border-left:4px solid var(--weld);background:#fff;padding:1.5rem}.ok b{font:600 1.7rem var(--fd)}
.clist li{display:flex;gap:.75rem;margin:1rem 0}.clist b{display:block}
.prose{max-width:48rem}.prose h2{font-size:2rem;margin-top:1.75rem}
.big{font-size:clamp(3rem,9vw,5rem)}
.site-footer{background:var(--deep);color:rgba(255,255,255,.8)}
.grid4{display:grid;gap:2.5rem;grid-template-columns:repeat(4,1fr);padding-top:3.5rem;padding-bottom:3.5rem}.span2{grid-column:span 2}
.site-footer ul{list-style:none;margin:.6rem 0 0;padding:0}.site-footer li{margin:.4rem 0}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--weld)}.small{font-size:.9rem;margin-top:1.5rem!important}
.f-title{font:700 1.7rem var(--fd);color:#fff;margin:0 0 .5rem}.f-h{font:600 1.3rem var(--fd);color:#fff;margin:0}.social{display:flex;gap:1rem}
.copy{margin:0;padding:1.25rem;text-align:center;font-size:.9rem;border-top:1px solid rgba(255,255,255,.1)}
@media(max-width:860px){
 .menu-btn{display:block}
 #nav{display:none;position:absolute;left:0;right:0;top:4rem;background:var(--deep);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.25rem 1rem;border-top:1px solid rgba(255,255,255,.1)}
 #nav.open{display:flex}#nav a:not(.btn){padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:1.4rem}#nav .btn{margin-top:1rem}
 .hero-in,.two,.cards,.row,.grid3,.contact{grid-template-columns:1fr}.row.rev .ph{order:0}.row .ph{height:auto}
 .gal{grid-template-columns:1fr 1fr}.gal li.wide{grid-column:span 2}.grid4{grid-template-columns:1fr 1fr}.brand span{display:none}.hero-in{padding-top:4rem;padding-bottom:4rem}
}
@media(max-width:520px){.gal{grid-template-columns:1fr}.gal li.wide{grid-column:auto}.grid4,.f2{grid-template-columns:1fr}.span2{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
