*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
body{background:#0D1B2F;color:#E8ECF0;font-family:'Libre Baskerville',serif;overflow-x:hidden}
.header{padding:20px 24px}.logo{font-family:'Josefin Sans',sans-serif;font-size:1.2rem;font-weight:700;color:#E8ECF0;letter-spacing:.06em}.a{color:#8A9BB0}
.hero{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 24px;background:radial-gradient(ellipse at center,#1B2A4A,#0D1B2F 70%)}
.title{font-family:'Josefin Sans',sans-serif;font-size:clamp(3rem,8vw,6rem);font-weight:700;line-height:1.08;color:#E8ECF0;letter-spacing:.06em}
.sub{font-size:clamp(.9rem,1.3vw,1.05rem);color:#9BAAB8;max-width:480px;line-height:1.7;margin-top:20px}
.grid{max-width:900px;margin:0 auto;padding:60px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.card{background:#2C3E5A;border:1px solid #8A9BB030;border-radius:14px;padding:32px;box-shadow:4px 4px 12px rgba(0,0,0,0.3),-4px -4px 12px rgba(255,255,255,0.03);transition:border-color .3s,transform .3s}
.card:hover{border-color:#C0CCD8;transform:translateY(-4px)}
.tag{font-family:'IBM Plex Mono',monospace;font-size:.6rem;font-weight:300;letter-spacing:.25em;text-transform:uppercase;color:#8A9BB0;display:block;margin-bottom:8px}
.card h2{font-family:'Josefin Sans',sans-serif;font-size:1.2rem;font-weight:700;margin-bottom:10px;color:#E8ECF0}
.card p{font-size:.88rem;line-height:1.7;color:#9BAAB8}
.c1{border-top:3px solid #8A9BB0}.c2{border-top:3px solid #C0CCD8}.c3{border-top:3px solid #D4A03E}
.footer{text-align:center;padding:40px 24px;border-top:1px solid #8A9BB015}
.footer p{font-size:.75rem;color:#9BAAB8;opacity:.3}
