.tm-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:clamp(2.5rem,4vw,3.5rem);display:grid}.tm-card{border:1px solid var(--line);color:var(--ink);transition:translate .25s var(--ease), box-shadow .25s ease, border-color .25s ease;background:#fff;border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.tm-card-photo{aspect-ratio:5/6;background:radial-gradient(circle at 30% 25%,#fff,#ffe2c6 70%);display:block;position:relative;overflow:hidden}.tm-card-photo:before{content:"";opacity:0;background:radial-gradient(circle at 30% 25%,#ffc48a,#f7913b 55%,#d9691a);transition:opacity .35s;position:absolute;inset:0}.tm-card-photo img{object-fit:cover;object-position:center top;transition:scale .5s var(--ease)}.tm-card-body{flex-direction:column;flex:1;padding:1.25rem 1.35rem 1.4rem;display:flex}.hx .tm-card h3{font:500 1.25rem/1.2 var(--font-heading);letter-spacing:-.02em;margin:0}.tm-card-role{color:#b25a12;margin-top:.35rem;font-size:.9375rem;font-weight:500;line-height:1.35}.tm-card .svc-card-more{padding-top:1rem}.tm-card:focus-visible{outline:2px solid var(--orange);outline-offset:3px}@media (hover:hover) and (pointer:fine){.tm-card:hover{color:var(--ink);border-color:#0000;translate:0 -3px;box-shadow:0 24px 44px -24px #0f1c2e59}.tm-card:hover .tm-card-photo:before{opacity:1}.tm-card:hover .tm-card-photo img{scale:1.04}.tm-card:hover .svc-card-more .icon{translate:3px}}.tm-role{color:#b25a12;font:600 .875rem/1.2 var(--font-heading);background:#fff1e4;border-radius:2rem;margin-bottom:1.25rem;padding:.35rem .85rem;display:inline-block}.tm-portrait{aspect-ratio:5/6;width:100%;max-width:27rem;box-shadow:var(--lift);background:radial-gradient(circle at 30% 25%,#ffc48a,#f7913b 55%,#d9691a);border-radius:24px;justify-self:end;position:relative;overflow:hidden}.tm-portrait img{object-fit:cover;object-position:center top}.tm-skills{flex-wrap:wrap;gap:.6rem;max-width:60rem;margin:clamp(2rem,3vw,2.75rem) 0 0;padding:0;list-style:none;display:flex}.tm-skills li{border:1px solid var(--line);color:var(--ink);font:500 .9375rem/1.2 var(--font-heading);background:#fff;border-radius:999px;padding:.6rem 1rem;box-shadow:0 6px 16px -10px #0f1c2e40}.tm-projects{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1rem;margin-top:clamp(2.5rem,4vw,3.5rem);display:grid}.tm-projects .svc-card p{-webkit-line-clamp:unset;display:block}.hx .tm-projects .svc-card h3{margin-top:0}.tm-projects .svc-card-more{color:#b25a12;gap:.35rem}.tm-projects .tm-internal{color:var(--ink-2)}@media (hover:hover) and (pointer:fine){.tm-projects a.svc-card:hover .svc-card-more .icon{translate:2px -2px}}.tm-pager{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.tm-pager-link{border:1px solid var(--line);color:var(--ink);transition:translate .25s var(--ease), box-shadow .25s ease, border-color .25s ease;background:#fff;border-radius:20px;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.tm-pager-link.next{text-align:right;flex-direction:row-reverse}.tm-pager-photo{background:radial-gradient(circle at 30% 25%,#fff,#ffe2c6 70%);border-radius:50%;flex:none;width:4.5rem;height:4.5rem;position:relative;overflow:hidden}.tm-pager-photo img{object-fit:cover;object-position:center top}.tm-pager-link small{color:var(--ink-2);font:600 .75rem/1 var(--font-heading);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.35rem;display:flex}.tm-pager-link.next small{justify-content:flex-end}.tm-pager-link:not(.next) small .icon{rotate:180deg}.tm-pager-link small .icon{width:.9rem;height:.9rem}.tm-pager-link b{font:500 1.125rem/1.2 var(--font-heading);margin-top:.4rem;display:block}.tm-pager-link b+span{color:#b25a12;margin-top:.2rem;font-size:.875rem;display:block}.tm-pager-link:focus-visible{outline:2px solid var(--orange);outline-offset:3px}@media (hover:hover) and (pointer:fine){.tm-pager-link:hover{color:var(--ink);border-color:#0000;translate:0 -3px;box-shadow:0 24px 44px -24px #0f1c2e59}}@media (max-width:1180px){.tm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:980px){.tm-portrait{justify-self:start;max-width:22rem}}@media (max-width:620px){.tm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.tm-card-body{padding:.9rem .9rem 1rem}.hx .tm-card h3{font-size:1rem}.tm-card-role,.tm-card .svc-card-more{font-size:.8125rem}.tm-pager{grid-template-columns:minmax(0,1fr)}}
