@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

@font-face {
  font-family:"CoconPro";
  src:local("CoconPro Bold"),local("CoconPro-Bold");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}
@font-face {
  font-family:"Lufga";
  src:local("Lufga Medium"),local("Lufga-Medium");
  font-style:normal;
  font-weight:500;
  font-display:swap;
}

:root { --blue:#4342f5; --lime:#a2c60e; --ink:#0b0b0d; --paper:#fff; --line:#dedee3; --muted:#68686f; }
* { box-sizing: border-box; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Lufga","Manrope",Arial,sans-serif; font-weight:500; -webkit-font-smoothing:antialiased; }
header { height:92px; padding:18px 24px; display:flex; align-items:center; justify-content:center; border-bottom:1px solid var(--line); }
.brand { display:block; width:168px; }
.brand img { display:block; width:100%; height:auto; }
main { min-height:calc(100vh - 162px); padding:34px clamp(24px,4vw,56px) 30px; display:grid; align-items:center; }
.cards { width:min(1120px,100%); margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.card { min-width:0; display:flex; flex-direction:column; overflow:hidden; color:inherit; background:white; border:1px solid var(--line); border-radius:16px; text-decoration:none; }
.card-link { transition:transform 180ms ease,box-shadow 180ms ease; }
.card-link:hover { transform:translateY(-4px); box-shadow:0 18px 42px rgba(27,27,55,.11); }
.card-link:focus-visible, footer a:focus-visible, .brand:focus-visible { outline:3px solid var(--lime); outline-offset:4px; }
.card-image { position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--blue); }
.card-image img { width:100%; height:100%; display:block; object-fit:cover; }
.card-body { flex:1; padding:20px; display:flex; flex-direction:column; }
h1,h2 { margin:0; font-family:"CoconPro","Manrope",Arial,sans-serif; font-size:clamp(1.45rem,1.8vw,1.9rem); line-height:1.08; letter-spacing:-.025em; font-weight:700; }
.description { margin:14px 0 20px; color:var(--muted); font-size:.88rem; line-height:1.5; }
.action { min-height:48px; margin-top:auto; padding:0 17px; display:flex; align-items:center; justify-content:space-between; color:white; background:var(--blue); border-radius:9px; font-family:"CoconPro","Manrope",Arial,sans-serif; font-size:.9rem; font-weight:700; }
.action>span { font-size:1.25rem; }
.action.unavailable { justify-content:center; color:var(--ink); background:var(--lime); }
footer { min-height:70px; padding:20px 22px; display:grid; place-items:center; border-top:1px solid var(--line); }
footer p { margin:0; color:var(--muted); font-size:.88rem; }
footer a { color:var(--ink); font-family:"CoconPro","Manrope",Arial,sans-serif; font-weight:700; text-underline-offset:3px; }
@media (max-width:980px) { main { align-items:start; } .cards { grid-template-columns:1fr; max-width:620px; } h1,h2 { font-size:clamp(1.8rem,6vw,2.35rem); } }
@media (max-width:560px) { header { height:82px; } .brand { width:148px; } main { min-height:0; padding-top:26px; padding-bottom:38px; } .card { border-radius:12px; } .card-body { padding:20px; } .card-image { aspect-ratio:4/3; } }
@media (prefers-reduced-motion:reduce) { * { transition:none !important; } }
