/* Studio, Services and Journal pages. Extends portfolio.css: same Geist type, ink/muted/surface tones, pills and soft radii. */
.uf-kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 22px;padding:8px 14px;border-radius:999px;background:var(--uf-surface,#f2f2f2);color:var(--uf-muted,#626262);font:500 12px/1 Geist,Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.uf-kicker::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.uf-page .uf-intro{margin-bottom:64px}
.uf-page .uf-cover{margin-bottom:0}

.uf-block{margin-top:110px}
.uf-block--tight{margin-top:72px}
.uf-section-head{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:18px;row-gap:10px;margin:0 0 36px;padding-top:28px;border-top:1px solid #e5e5e5}
.uf-section-head .uf-num{grid-row:1}
.uf-section-head h2{margin:0;font-size:clamp(30px,3.6vw,46px);font-weight:500;line-height:1.1;letter-spacing:-.04em;text-wrap:balance}
.uf-section-head p{grid-column:1/-1;margin:0;font-size:16px;line-height:1.5;color:var(--uf-muted,#626262)}
.uf-section-head:not(:has(.uf-num)) h2{grid-column:1/-1}
.uf-num{font-size:13px;line-height:1;color:var(--uf-muted,#626262);font-variant-numeric:tabular-nums}
.uf-section-head .uf-num{padding:8px 12px;border-radius:999px;background:var(--uf-surface,#f2f2f2);font-weight:500}

.uf-statement{margin:0;font-size:clamp(30px,3.5vw,46px);font-weight:500;line-height:1.12;letter-spacing:-.04em;text-wrap:balance}
.uf-brief .uf-section-head{border-top:0;padding-top:0;margin-bottom:26px}
.uf-brief .uf-section-head h2{font-size:15px;letter-spacing:0;color:var(--uf-muted,#626262);font-weight:500}
.uf-brief .uf-kicker{margin-bottom:24px}
.uf-sign{font-size:14px!important;color:var(--uf-muted,#626262);margin-top:28px!important}

.uf-tiles{display:grid;gap:16px}
.uf-tiles--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.uf-tiles--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.uf-prose .uf-tiles{margin-top:34px}
.uf-tile{background:var(--uf-surface,#f2f2f2);border-radius:28px;padding:30px;min-width:0}
.uf-tile .uf-kicker{background:#fff;margin-bottom:16px}
.uf-tile h3{margin:22px 0 10px;font-size:22px;font-weight:500;line-height:1.2;letter-spacing:-.03em}
.uf-tile p{margin:0;font-size:15px!important;line-height:1.6!important;color:var(--uf-muted,#626262)}

.uf-wide{margin:0}
.uf-wide img{display:block;width:100%;height:auto;max-height:720px;object-fit:cover;border-radius:48px;background:#f2f2f2}
.uf-results--top{border-top:0;border-bottom:0;padding-top:64px}
.uf-results-title{grid-column:1/-1;justify-self:start;margin-bottom:8px}
.uf-results--top strong{font-size:clamp(38px,4.4vw,60px)}
.uf-results--3{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:56px}
.uf-results--3 strong{font-size:clamp(34px,4vw,52px)}

.uf-steps{list-style:none;margin:0;padding:0}
.uf-steps li{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(0,1.3fr);gap:24px;align-items:baseline;padding:30px 0;border-top:1px solid #e5e5e5}
.uf-steps li:last-child{border-bottom:1px solid #e5e5e5}
.uf-steps h3{margin:0;font-size:24px;font-weight:500;letter-spacing:-.03em}
.uf-steps p{margin:0;font-size:16px;line-height:1.65;color:var(--uf-muted,#626262)}

.uf-service{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:56px;padding:44px 0;border-top:1px solid #e5e5e5;scroll-margin-top:120px}
.uf-service-side{display:flex;flex-direction:column;align-items:flex-start;gap:14px;position:sticky;top:120px;align-self:start}
.uf-service-side h2{margin:0;font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.1;letter-spacing:-.04em}
.uf-service-img{display:block;width:100%;margin-top:14px;aspect-ratio:1.48;border-radius:32px;overflow:hidden;background:#f2f2f2}
.uf-service-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.uf-service-img:hover img{transform:scale(1.035)}
.uf-service-list{list-style:none;margin:0;padding:0}
.uf-service-list li{padding:20px 0;border-bottom:1px solid #e5e5e5}
.uf-service-list li:first-child{padding-top:0}
.uf-service-list h3{margin:0 0 6px;font-size:18px;font-weight:500;letter-spacing:-.02em}
.uf-service-list p{margin:0;font-size:15px;line-height:1.6;color:var(--uf-muted,#626262)}
.uf-textlink{display:inline-flex;align-items:center;gap:10px;color:var(--uf-ink,#1a1a1a);font-size:15px;font-weight:500;text-decoration:none;padding:6px 0;border-bottom:1px solid currentColor}
.uf-textlink svg{width:15px;height:15px;transition:transform .25s}
.uf-textlink:hover svg{transform:rotate(45deg)}

.uf-pills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.uf-pills li{padding:12px 18px;border-radius:999px;background:var(--uf-surface,#f2f2f2);color:var(--uf-ink,#1a1a1a);font-size:14px;font-weight:500;line-height:1}
.uf-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 22px}
.uf-grid--3 .uf-image{border-radius:28px}
.uf-grid--3 .uf-card-info h2{font-size:21px}

.uf-switch{display:flex;flex-wrap:wrap;gap:8px;margin-top:90px;padding-top:36px;border-top:1px solid #e5e5e5}
.uf-switch a{padding:14px 20px;border-radius:999px;background:var(--uf-surface,#f2f2f2);color:var(--uf-muted,#626262);text-decoration:none;font-size:14px;font-weight:500;line-height:1;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;transition:background .2s,color .2s}
.uf-switch a:hover{background:#e5e5e5;color:var(--uf-ink,#1a1a1a)}
.uf-switch a[aria-current=page]{background:var(--uf-ink,#1a1a1a);color:#fff}

.uf-cta .uf-kicker{background:#fff}
.uf-cta-body{max-width:560px;margin:-8px auto 30px;font-size:17px;line-height:1.6;color:var(--uf-muted,#626262)}

/* Journal */
.uf-post .uf-card-info p{margin:0 0 8px}
.uf-post .uf-card-info h2{font-size:24px}
.uf-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;list-style:none;margin:0;padding:34px 0 0;color:var(--uf-muted,#626262);font-size:14px}
.uf-meta li+li::before{content:"·";margin-right:22px;color:#b5b5b5}
.uf-article{max-width:720px;margin:0 auto;padding:64px 0 40px}
.uf-article>p:not(.uf-kicker){font-size:17px;line-height:1.8;color:#3a3a3a;margin:0 0 22px}
.uf-article .uf-lead{font-size:22px;line-height:1.55;color:var(--uf-ink,#1a1a1a);letter-spacing:-.01em;margin-bottom:44px}
.uf-article .uf-kicker{margin:46px 0 16px}
.uf-article h2{font-size:clamp(28px,3vw,38px);font-weight:500;line-height:1.15;letter-spacing:-.04em;margin:0 0 22px;text-wrap:balance}
.uf-article blockquote{margin:56px 0;padding:44px 40px;border-radius:32px;background:var(--uf-surface,#f2f2f2)}
.uf-article blockquote p{margin:0;font-size:clamp(24px,2.6vw,32px);font-weight:500;line-height:1.25;letter-spacing:-.03em;text-wrap:balance}
.uf-article cite{display:block;margin-top:18px;font-style:normal;font-size:14px;color:var(--uf-muted,#626262)}
.uf-article figure{margin:48px 0}
.uf-article figure img{display:block;width:100%;height:auto;border-radius:32px;background:#f2f2f2}
.uf-article ul:not(.uf-pills){margin:0 0 24px;padding-left:22px;color:#3a3a3a;font-size:17px;line-height:1.8}
.uf-article .uf-pills{margin-top:48px}
.uf-detail .uf-next{border-top:1px solid #e5e5e5}

@media(max-width:1199px){.uf-service{gap:36px}.uf-steps li{grid-template-columns:60px minmax(0,1fr);}.uf-steps p{grid-column:2}.uf-block{margin-top:90px}}
@media(max-width:799px){.uf-tiles--2,.uf-tiles--3,.uf-grid--3{grid-template-columns:1fr}.uf-tile{padding:24px;border-radius:24px}.uf-wide img{border-radius:28px}.uf-service{grid-template-columns:1fr;gap:24px;padding:32px 0}.uf-service-side{position:static}.uf-service-img{border-radius:24px}.uf-steps li{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:24px 0}.uf-steps h3{font-size:20px}.uf-block{margin-top:72px}.uf-section-head{margin-bottom:28px}.uf-article{padding-top:44px}.uf-article .uf-lead{font-size:19px}.uf-article>p:not(.uf-kicker),.uf-article ul:not(.uf-pills){font-size:16px}.uf-article blockquote{padding:30px 24px;border-radius:24px;margin:40px 0}.uf-article figure img{border-radius:24px}.uf-switch{margin-top:64px}.uf-results--3{grid-template-columns:1fr;gap:24px}.uf-results--top{padding-top:48px}.uf-cta-body{font-size:16px}}
@media(prefers-reduced-motion:reduce){.uf-service-img img,.uf-textlink svg{transition:none}.uf-service-img:hover img{transform:none}}
.uf-page a:focus-visible{outline:3px solid #777;outline-offset:5px}
.uf-post time{white-space:nowrap}
