:root{
  --ink:#171b22;
  --muted:#5d6673;
  --blue:#0050aa;
  --soft-blue:#dceef8;
  --soft-green:#e7f7ef;
  --soft-yellow:#fff5cd;
  --soft-red:#ffe5e5;
  --surface:#ffffff;
  --line:#e7eaf0;
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Open Sans",Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{color:#0a65b7;text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:#064b87}
img{max-width:100%;height:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.06)}
.nav-wrap{max-width:1440px;margin:0 auto;min-height:64px;display:flex;align-items:center;gap:24px;padding:8px 22px}
.brand{display:flex;align-items:center;gap:10px;min-width:0;color:var(--ink);text-decoration:none;font-weight:600;white-space:nowrap}
.brand img{width:40px;height:40px;object-fit:contain}
.brand span{overflow:hidden;text-overflow:ellipsis;max-width:520px}
.nav-toggle{display:none;margin-left:auto;background:none;border:0;font-size:30px;cursor:pointer;padding:4px 8px}
nav{margin-left:auto}
nav ul{list-style:none;display:flex;align-items:center;gap:25px;margin:0;padding:0}
nav a{text-decoration:none;color:#24272d;font-size:15px}
nav a[aria-current="page"]{font-weight:700}
.hero{position:relative;min-height:310px;background:url('/assets/banner.webp') center center/cover no-repeat;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,0) 65%);pointer-events:none}
.hero-inner{max-width:var(--max);min-height:310px;margin:0 auto;display:flex;align-items:center;padding:42px 30px;position:relative;z-index:1}
.hero-logo{width:min(390px,42vw);margin-left:36px;filter:drop-shadow(0 2px 2px rgba(255,255,255,.25))}
.hero-title{font-family:"Montserrat",Arial,Helvetica,sans-serif;font-size:clamp(38px,5vw,62px);line-height:1.05;margin:0 0 0 10px;font-weight:800;letter-spacing:-1px;max-width:540px}
main{display:block}
.section{padding:48px 24px}
.container{max-width:var(--max);margin:0 auto}
.intro{text-align:center;max-width:900px;margin:0 auto 38px}
.intro h1,.intro h2{font-family:"Montserrat",Arial,Helvetica,sans-serif;margin:0 0 12px;font-size:28px}
.intro p{font-size:18px;margin:0}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;align-items:start}
.card{text-align:center;padding:6px 8px 18px}
.card a.card-link{display:block;color:inherit;text-decoration:none;border-radius:18px;padding:14px 10px;transition:transform .15s ease,box-shadow .15s ease;background:#fff}
.card a.card-link:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(20,45,65,.08)}
.card img{width:178px;height:178px;object-fit:contain;margin:0 auto 20px}
.card h3{font-family:"Montserrat",Arial,Helvetica,sans-serif;color:var(--blue);font-size:24px;line-height:1.25;margin:0 0 22px}
.card p{font-size:17px;line-height:1.55;margin:0;color:#1f252c}
.content{max-width:1040px;margin:0 auto}
.content h2{font-family:"Montserrat",Arial,Helvetica,sans-serif;font-size:31px;margin:0 0 24px;text-decoration:underline;text-underline-offset:4px}
.content h3{font-family:"Montserrat",Arial,Helvetica,sans-serif;font-size:22px;margin:34px 0 10px}
.content p{font-size:18px;margin:0 0 16px}
.content ul{font-size:18px}
.block{padding:42px 0;border-bottom:1px solid var(--line)}
.block:first-child{padding-top:0}
.info-panel{background:#d8edf8;margin:40px -24px 0;padding:40px 24px}
.info-panel .inner{max-width:1040px;margin:0 auto}
.info-panel h2{text-decoration:none;margin-bottom:18px}
.info-panel p{margin:0 0 10px}
.callout{background:#f7fafc;border:1px solid #e2e8ef;border-radius:16px;padding:24px 26px;margin:28px 0}
.project-list{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.project-item{border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff}
.project-item h3{margin-top:0}
.footer{border-top:1px solid var(--line);background:#f7f9fb;padding:28px 24px;margin-top:35px}
.footer .inner{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;color:#4d5661;font-size:14px}
.footer a{color:#4d5661}
.pill{display:inline-block;background:var(--soft-blue);border-radius:999px;padding:5px 11px;font-size:14px;font-weight:700;color:#25546c}
.contact-box{font-size:18px;line-height:1.7}
.small{font-size:15px;color:var(--muted)}
.button{display:inline-block;padding:10px 16px;border-radius:10px;background:#0c66b3;color:#fff;text-decoration:none;font-weight:700}
.button:hover{background:#084f8c;color:#fff}
.legal h3{font-size:19px;margin-top:28px}.legal p,.legal li{font-size:16px}
@media(max-width:1200px){.brand span{max-width:360px}.nav-wrap{gap:18px}nav ul{gap:14px}}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}.project-list{grid-template-columns:1fr}.hero-logo{width:min(340px,48vw);margin-left:0}.nav-wrap{padding:8px 14px}nav ul{gap:15px}.brand span{max-width:250px}}
@media(max-width:760px){.site-header{position:relative}.nav-wrap{flex-wrap:wrap}.brand span{max-width:230px;font-size:15px}.nav-toggle{display:block}nav{display:none;width:100%;margin:0}nav.open{display:block}nav ul{flex-direction:column;align-items:flex-start;gap:0;padding:8px 0 12px}nav li{width:100%}nav a{display:block;padding:10px 4px;width:100%}.hero{min-height:300px;background-position:62% center}.hero-inner{min-height:300px;align-items:center;padding:30px 22px}.hero-logo{width:min(290px,72vw);margin:0 0 0 4px}.hero-title{font-size:42px;max-width:50%;margin-left:0}.section{padding:38px 18px}.cards{gap:12px}.card img{width:145px;height:145px}.card h3{font-size:21px;margin-bottom:14px}.card p{font-size:16px}.content p{font-size:17px}.info-panel{margin-left:-18px;margin-right:-18px}.footer .inner{display:block}.footer .right{margin-top:12px}}
@media(max-width:520px){.cards{grid-template-columns:1fr}.hero{min-height:260px;background-position:64% center}.hero-inner{min-height:260px}.hero-logo{width:250px}.hero-title{font-size:36px;max-width:62%}.intro p{font-size:17px}.card{max-width:370px;margin:auto}.card img{width:165px;height:165px}.content h2{font-size:28px}}
