
:root{--accent:#315C80;--ink:#171717;--muted:#60666D;--pale:#F2F4F6;--line:#DFE3E7;--max:1080px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:16px/1.65 Inter,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--accent);text-underline-offset:3px}
.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.site-header{border-bottom:1px solid var(--line);background:#fff}
.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none;flex-shrink:0}
.brand-mark{width:4px;height:48px;background:var(--accent)}
.brand-name{display:block;font-size:19px;font-weight:750;letter-spacing:.045em;line-height:1.2}
.brand-sub{display:block;color:var(--accent);font-size:11px;font-weight:650;letter-spacing:.16em;margin-top:5px}
nav{display:flex;gap:23px;flex-wrap:wrap;justify-content:flex-end}
nav a{color:#333;text-decoration:none;font-size:14px}
nav a[aria-current=page]{color:var(--accent);font-weight:700}
.hero{padding:92px 0 78px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:700}
h1{font-size:clamp(36px,5vw,58px);line-height:1.1;letter-spacing:-.035em;margin:15px 0 22px;max-width:850px}
.hero-lead{max-width:760px;color:#454b51;font-size:19px;line-height:1.65}
.hero-actions{margin-top:30px}.button{display:inline-block;padding:12px 19px;background:var(--accent);color:#fff;text-decoration:none;font-size:14px;font-weight:650;border:1px solid var(--accent)}
.button.secondary{background:transparent;color:var(--accent)}
.section{padding:66px 0}.section.soft{background:var(--pale)}
.section h2{font-size:clamp(25px,3vw,34px);letter-spacing:-.025em;line-height:1.2;margin:0 0 18px}
.section-intro{max-width:760px;color:var(--muted);margin:0 0 34px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.card{border-top:3px solid var(--accent);padding:22px;background:#fff}
.card h3,.project-card h3{margin:0 0 10px;font-size:20px;line-height:1.3}
.card p,.project-card p{margin:0;color:#555d64}
.project-card{border:1px solid var(--line);padding:25px;background:#fff}
.content{padding:64px 0 76px}.content h1{font-size:clamp(36px,4vw,48px);margin-bottom:18px}
.content .intro{max-width:820px;font-size:18px;color:#515960;margin-bottom:40px}
.content-section{padding:34px 0;border-top:1px solid var(--line)}
.content-section h2{font-size:27px;line-height:1.25;margin:0 0 15px}
.content-section p,.content-section ul{max-width:850px}
.content-section li{margin:5px 0}.note{padding:25px 28px;background:var(--pale);margin:30px 0}
.cta{padding:48px 0;background:var(--accent);color:#fff}.cta h2{margin:0 0 10px;font-size:30px}
.cta p{max-width:700px;margin:0 0 20px;color:#eaf0f4}.cta a{color:#fff}
.site-footer{border-top:1px solid var(--line);padding:25px 0;color:var(--muted);font-size:13px}
.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.placeholder{color:var(--muted);font-style:italic}
@media(max-width:760px){.header-inner{align-items:flex-start;flex-direction:column;padding:20px 0;gap:18px}nav{justify-content:flex-start;gap:12px 18px}.hero{padding:65px 0 55px}.grid-3,.grid-2{grid-template-columns:1fr;gap:17px}.section{padding:48px 0}.content{padding:48px 0 56px}}
