:root { color-scheme: light; --ink:#1d1a31; --muted:#656477; --blue:#332eea; --pink:#f08cae; --paper:#f9f9fc; --line:#e7e6f0; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.6 Inter,sans-serif; }
    a { color:inherit; }
    .topbar { position:sticky; top:0; z-index:10; background:#fff; border-bottom:1px solid var(--line); }
    .nav { width:min(1240px,calc(100% - 48px)); min-height:78px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
    .brand { text-decoration:none; font-size:24px; font-weight:700; letter-spacing:-.07em; }
    .brand span { color:var(--blue); }
    .nav-links { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; }
    .nav-links a { text-decoration:none; }
    .nav-links a:hover { color:var(--blue); }
    .contact-link { padding:11px 20px; color:white!important; background:var(--blue); border-radius:999px; }
    .hero { padding:78px 24px 45px; }
    .hero-inner { width:min(1240px,100%); margin:auto; }
    .eyebrow,.card-kicker,.meta-label { margin:0; color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
    h1,h2,h3 { margin-top:0; }
    h1 { max-width:900px; margin:14px 0 18px; font:clamp(52px,8vw,104px)/.98 Anton,Impact,sans-serif; letter-spacing:-.025em; text-transform:uppercase; }
    .hero-copy { max-width:690px; margin:0; color:var(--muted); font-size:18px; }
    .work { width:min(1240px,calc(100% - 48px)); margin:auto; padding:10px 0 100px; }
    .filters { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 34px; }
    .filter { min-height:42px; padding:10px 16px; border:1px solid #d9d8e5; border-radius:999px; color:var(--ink); background:white; font:700 12px/1.2 Inter,sans-serif; cursor:pointer; transition:background .2s,color .2s,border-color .2s,transform .2s; }
    .filter:hover { border-color:var(--blue); transform:translateY(-1px); }
    .filter[aria-pressed="true"] { color:white; border-color:var(--blue); background:var(--blue); }
    .grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:26px; row-gap:44px; }
    .card[hidden] { display:none; }
    .card { min-width:0; animation:rise .45s both; }
    .thumb { display:block; aspect-ratio:16/10; overflow:hidden; border-radius:5px; background:#e9e9f1; }
    .thumb img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
    .card:hover .thumb img { transform:scale(1.035); }
    .card-copy { padding-top:14px; }
    .card-kicker { color:var(--blue); font-size:10px; letter-spacing:.16em; }
    .card h2 { margin:6px 0 4px; font-size:20px; line-height:1.25; letter-spacing:-.04em; }
    .card-copy p:last-child { margin:0; color:var(--muted); font-size:14px; }
    .card-link { display:block; text-decoration:none; }
    .card-link:focus-visible,.filter:focus-visible { outline:3px solid var(--pink); outline-offset:4px; }
    .empty { display:none; grid-column:1/-1; padding:30px; text-align:center; color:var(--muted); }
    .formats { padding:72px 24px 82px; background:#fff; border-top:1px solid var(--line); }
    .formats-inner { width:min(1240px,100%); margin:auto; }
    .formats h2 { max-width:760px; margin:10px 0 28px; font:clamp(34px,5vw,58px)/1.05 Anton,Impact,sans-serif; letter-spacing:-.02em; text-transform:uppercase; }
    .format-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
    .format-grid article { min-height:190px; padding:24px; background:#fff; }
    .format-grid h3 { margin:0 0 8px; color:var(--blue); font-size:17px; }
    .format-grid p { margin:0 0 14px; color:var(--muted); font-size:14px; }
    .format-grid a { font-size:13px; font-weight:700; text-decoration-thickness:1px; text-underline-offset:4px; }
    .format-grid a:hover { color:var(--blue); }
    .cta { padding:62px 24px; color:white; background:var(--ink); text-align:center; }
    .cta h2 { margin:0 0 8px; font:clamp(34px,5vw,56px)/1 Anton,Impact,sans-serif; text-transform:uppercase; }
    .cta p { margin:0 0 22px; color:#d8d6e4; }
    .cta a { display:inline-block; padding:13px 23px; border-radius:999px; color:white; background:var(--blue); font-weight:700; text-decoration:none; }
    footer { padding:24px; color:#777589; background:white; text-align:center; font-size:13px; }
    footer a { color:var(--ink); }
    @keyframes rise { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
    @media (max-width:900px) { .grid,.format-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
    @media (max-width:600px) { .nav { width:calc(100% - 32px); min-height:68px; } .nav-links { gap:14px; font-size:13px; } .nav-links .home-link { display:none; } .contact-link { padding:9px 13px; } .hero { padding:58px 20px 32px; } .work { width:calc(100% - 32px); padding-bottom:52px; } .formats { padding:54px 16px 62px; } .hero-copy { font-size:16px; } .grid,.format-grid { grid-template-columns:1fr; row-gap:30px; } .format-grid { gap:1px; } .format-grid article { min-height:0; } .filters { gap:7px; margin-bottom:25px; } .filter { padding:9px 12px; font-size:11px; } }
    @media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
