:root{
  --ink:#0F2438; --muted:#4A6178; --blue:#1B6FB8; --sky:#29A9E0; --gold:#B8802F;
  --paper:#F6F9FC; --white:#fff; --line:#D6E2EE;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Montserrat,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--paper);color:var(--ink);line-height:1.65}
a{color:var(--blue);text-decoration:none}
a:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
h1,h2,h3{line-height:1.2;margin:0}

/* NAV */
nav{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav-in{max-width:1100px;margin:auto;padding:.6rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.nav-in img{height:52px;width:auto;display:block}
.links{display:flex;gap:1.6rem;flex-wrap:wrap}
.links a{color:var(--ink);font-weight:600;font-size:.95rem;padding:.3rem 0;border-bottom:2px solid transparent}
.links a:hover{border-color:var(--gold)}

/* HERO */
.hero{background:linear-gradient(90deg,rgba(15,36,56,.9),rgba(15,36,56,.5)),url('images/hero-banner.png') center/cover no-repeat,var(--ink);color:#fff;overflow:hidden}
.hero-in{max-width:1100px;margin:auto;padding:4.2rem 1.5rem 0}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:600;max-width:15em;letter-spacing:-.015em}
.hero p{max-width:40em;font-size:1.1rem;color:#DCE8F3;margin:1rem 0 0}
.cta{display:inline-block;margin-top:1.4rem;background:var(--sky);color:var(--ink);font-weight:600;padding:.8rem 1.6rem;border-radius:4px}
.cta:hover{background:#fff}
.wave{display:block;width:100%;height:clamp(60px,9vw,100px);margin-top:2rem}
.wave path{vector-effect:non-scaling-stroke;fill:none;stroke-linecap:round;stroke-linejoin:round}
.wave .trace{stroke:var(--sky);stroke-width:3}
.wave .pk{stroke:var(--gold);stroke-width:2;stroke-dasharray:4 4}
.wave .rv{transform-box:fill-box;transform-origin:0 0;transform:scaleX(0);animation:reveal 3.2s ease-out .3s forwards}
@keyframes reveal{to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.wave .rv{animation:none;transform:none}}
.wave .base{stroke:rgba(255,255,255,.25);stroke-width:2}
/* SECTIONS */
.wrap{max-width:1100px;margin:auto;padding:0 1.5rem}
.sec{padding:5rem 0 1rem}
.sec h2{font-size:1.8rem;font-weight:600}
.lead{color:var(--muted);max-width:42em;margin:.8rem 0 2.5rem}

/* TECHNOLOGIES: one row per medium */
.tech{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:center;padding:2rem 0;border-bottom:1px solid var(--line)}
.thumb{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block;background:linear-gradient(135deg,var(--blue),var(--sky))}
.medium{font-weight:600;color:var(--gold);font-size:.95rem;border-left:4px solid var(--sky);padding-left:.8rem;margin-bottom:.8rem}
.row h3{font-size:1.4rem;font-weight:600;margin-bottom:.5rem}
.row p{margin:0 0 .8rem;color:var(--muted);max-width:44em}
.row a{font-weight:600}
.row:hover .medium{border-color:var(--blue)}
@media(max-width:760px){.row{grid-template-columns:1fr;gap:1rem}}

/* APPLICATIONS */
.apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2.5rem;margin-top:1rem}
.apps h3{font-size:1.05rem;font-weight:600;margin-bottom:.4rem}
.apps p{margin:0;color:var(--muted);font-size:.95rem}
.apps div{border-top:3px solid var(--blue);padding-top:1rem}
.apps div:nth-child(even){border-color:var(--gold)}

/* CLOSING CTA */
.closing{margin-top:6rem;background:linear-gradient(135deg,#0A2A4A 0%,#124F86 60%,var(--blue) 100%);border-top:4px solid var(--gold);color:#fff;padding:4rem 0}
.closing h2{font-size:1.8rem;font-weight:600}
.closing p{max-width:40em;margin:.8rem 0 0;color:#E3EEF8}
.btns{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.8rem}
.closing .cta{margin-top:0}
.cta.alt{background:transparent;color:#fff;border:2px solid #fff;padding:calc(.8rem - 2px) calc(1.6rem - 2px)}
.cta.alt:hover{background:#fff;color:#0A2A4A}

footer{color:var(--muted);text-align:center;padding:1.8rem 1rem;font-size:.9rem}
footer a{color:var(--blue)}
.tagline{display:inline-block;margin-top:.4rem}

/* SUBPAGES */
.links a[aria-current]{border-color:var(--gold)}
.hero.sub{background:linear-gradient(90deg,rgba(15,36,56,.92),rgba(15,36,56,.6)),url('images/hero-banner.png') center/cover no-repeat,var(--ink)}
.hero.sub .hero-in{padding:4rem 1.5rem 4rem}
.intro{display:grid;grid-template-columns:1fr 340px;gap:3rem;align-items:center;margin-top:1rem}
.intro p{margin:0 0 1rem;color:var(--muted);max-width:44em}
.intro img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block;background:linear-gradient(135deg,var(--blue),var(--sky))}
@media(max-width:760px){.intro{grid-template-columns:1fr}}

/* CONTACT FORM */
.contact-form{max-width:720px;display:grid;gap:1.2rem;margin-top:2rem}
.contact-form .two{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.contact-form label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.3rem}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;font:inherit;padding:.75rem .9rem;border:1px solid var(--line);border-radius:4px;background:var(--white);color:var(--ink)}
.contact-form textarea{min-height:160px;resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid var(--sky);outline-offset:1px;border-color:var(--blue)}
.contact-form .hp{position:absolute;left:-9999px}
.contact-form .submit{justify-self:start;border:0;cursor:pointer;font:inherit;font-weight:600;background:var(--blue);color:#fff;margin-top:0}
.contact-form .submit:hover{background:var(--ink)}
@media(max-width:600px){.contact-form .two{grid-template-columns:1fr}}
