.practice-index{padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(80px,10vw,140px)}.practice-index .next-page-title{margin:18px 0 clamp(56px,6vw,88px);font-size:clamp(40px,5vw,64px);line-height:1.15}.practice-index__projects{margin-bottom:clamp(68px,8vw,104px)}.practice-index__projects-heading{margin-bottom:26px}.practice-index__projects-heading h2{font-size:var(--type-h2-size);font-weight:var(--type-h2-weight);margin:0}.practice-filter__status{color:var(--color-text-muted);font-size:var(--type-caption-size);margin:0 0 28px}.practice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,2.8vw,42px);display:grid}.practice-grid[data-filtered=true]{grid-template-columns:minmax(0,420px)}.practice-card{flex-direction:column;min-width:0;display:flex}.practice-index__contact{border-top:1px solid var(--color-border-default);justify-content:space-between;align-items:end;gap:32px;padding-top:clamp(32px,4vw,54px);display:flex}.practice-index__contact .next-kicker{margin:0 0 14px}.practice-index__contact h2{font:400 clamp(32px, 3vw, 44px)/1.2 var(--font-title,Georgia, serif);margin:0}.practice-index__contact p:not(.next-kicker){max-width:38em;color:var(--color-text-secondary);font-size:var(--type-body-sm-size);margin:16px 0 0;line-height:1.65}.practice-index__contact a{border-radius:var(--radius-full);background:var(--color-action-primary);min-height:48px;color:var(--color-action-primary-ink);font-size:var(--type-body-sm-size);transition:background var(--motion-duration-feedback) var(--motion-ease-standard);flex:none;justify-content:space-between;align-items:center;gap:24px;padding:10px 20px;text-decoration:none;display:inline-flex}.practice-index__contact a:hover{background:var(--color-action-primary-hover)}.practice-index__contact a:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:4px}.practice-card__image{aspect-ratio:1.52;background:var(--color-bg-page);transition:box-shadow var(--motion-duration-state) var(--motion-ease-standard);display:block;overflow:hidden;box-shadow:0 8px 28px #0000000f}.practice-card:hover .practice-card__image{box-shadow:var(--shadow-md)}.practice-card__image img{transition:transform .24s}.practice-card__image--phone,.practice-card__image--browser{justify-content:center;padding-top:clamp(18px,2vw,26px);display:flex}.practice-card__phone{background:#111;border-radius:40px;align-self:flex-start;width:min(60%,360px);max-width:100%;padding:8px;display:block}.practice-card__phone img{border-radius:32px;width:100%;height:auto;display:block}.practice-card__browser{border:1px solid var(--color-border-subtle);background:var(--color-bg-page);border-bottom:0;border-radius:12px 12px 0 0;width:88%;display:block;overflow:hidden}.practice-card__browser-bar{background:var(--color-bg-surface);align-items:center;gap:6px;height:24px;padding:0 10px;display:flex}.practice-card__browser-bar span{background:var(--color-border-strong);border-radius:50%;width:5px;height:5px}.practice-card__browser-screen{display:block;overflow:hidden}.practice-card__image--browser img{width:160%;max-width:none;height:auto;display:block}.practice-card__image--photo img{object-fit:cover;object-position:50% 44%;width:100%;height:100%;display:block}.practice-card__image--contain img{object-fit:contain;object-position:center}.practice-card__image--text{border:1px solid var(--color-border-default);box-shadow:none;padding:clamp(24px,2.5vw,34px);text-decoration:none}:is(.practice-card__image--text:hover,.practice-card__image--text:focus-visible){border-color:var(--color-action-primary)}.practice-card__record{height:100%;color:var(--color-text-primary);flex-direction:column;justify-content:space-between;gap:20px;display:flex}.practice-card__record-top{color:var(--color-text-muted);font-size:var(--type-caption-size);justify-content:space-between;gap:12px;display:flex}.practice-card__record-client{align-items:center;gap:clamp(16px,2vw,26px);display:flex}.practice-card__record-client strong{max-width:14em;font:400 var(--type-body-lg-size)/1.4 var(--font-title,Georgia, serif)}.practice-card__record-logo{flex:0 0 62px;width:62px;height:68px;display:block;overflow:hidden}.practice-card__record-logo img{object-fit:cover;object-position:left center;width:62px;max-width:none;height:68px;display:block}.practice-card__record-scope{color:var(--color-text-muted);font-size:var(--type-caption-size);gap:8px;display:grid}.practice-card__record-scope>span:last-child{color:var(--color-text-secondary);flex-wrap:wrap;gap:4px 16px;display:flex}.practice-filters{align-items:center;gap:30px;margin-bottom:16px;display:flex}.practice-filters>span{min-width:60px;color:var(--color-text-muted);font-size:var(--type-caption-size);flex:none}.practice-filters>div{flex-wrap:wrap;gap:8px;display:flex}.practice-filters button{border-radius:var(--radius-full);min-height:44px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;padding:7px 14px}.practice-filters button:hover{color:var(--color-text-primary)}.practice-filters button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.practice-filters button[aria-pressed=true]{background:var(--color-bg-surface);color:var(--color-action-primary)}.practice-card__image--photo:hover img{transform:scale(1.015)}.practice-card h2{font-family:var(--font-title,Georgia, serif);margin:18px 0 12px;font-size:29px;font-weight:400}.practice-card h2 a{text-decoration:none}.practice-card__link,.practice-detail__back{color:#227248;text-decoration:none}.practice-card__link{width:fit-content;transition:color var(--motion-duration-feedback) var(--motion-ease-standard), transform var(--motion-duration-feedback) var(--motion-ease-standard)}@media (hover:hover){.practice-card:hover .practice-card__link{color:var(--color-action-primary);transform:translate(3px)}}.practice-detail{padding-top:64px;padding-bottom:clamp(100px,10vw,150px)}.practice-detail--project{max-width:1280px}.practice-detail__back{margin-bottom:68px;display:inline-block}.practice-detail .next-page-title{max-width:950px;margin-block:18px;font-size:clamp(44px,4.7vw,66px);line-height:1.14}.practice-detail__summary{max-width:740px;font-size:clamp(23px,3vw,38px);line-height:1.45;font-family:var(--font-title,Georgia, serif)}.practice-detail__facts{gap:80px;margin:38px 0 86px;display:flex}.practice-detail__facts dt{color:var(--color-text-muted);font-size:var(--type-caption-size)}.practice-detail__facts dd{margin:10px 0 0}.practice-detail__section{width:100%;margin:0 0 140px}.practice-detail__section h2{font:400 clamp(30px, 4vw, 54px)/1.3 var(--font-title,Georgia, serif)}.practice-detail--project #practice-evidence h2{margin:12px 0 16px;font-size:clamp(32px,3.2vw,44px)}.practice-detail--project #practice-evidence>p:not(.next-kicker){margin:0 0 24px}.practice-detail__section>p:not(.next-kicker){max-width:740px;color:var(--color-text-secondary);font-size:var(--type-body-lg-size);line-height:1.8}.case-media{width:100%}.case-media:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:4px}.case-media__image-link:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:4px}.case-media__photo-grid a:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:4px}.case-media__controls button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:4px}.case-media__zoom-trigger:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:4px}.case-media__zoom button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:4px}.case-media__zoom a:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:4px}.case-media__body{touch-action:pan-y;width:100%}.case-media__stage{min-width:0;position:relative}.case-media__frame{background:var(--color-bg-page);overflow:hidden}.case-media__slides{aspect-ratio:1713/1041;background:var(--color-bg-page);position:relative;overflow:hidden}.case-media__figure{opacity:0;min-width:0;transition:opacity var(--motion-duration-enter) var(--motion-ease-standard), transform var(--motion-duration-layout) var(--motion-ease-emphasized);pointer-events:none;margin:0;position:absolute;inset:0;transform:translate(8%)scale(.965)}.case-media__figure[data-position=before]{transform:translate(-8%)scale(.965)}.case-media__figure[data-position=active]{z-index:1;opacity:1;pointer-events:auto;transform:none}.case-media__image-link{background:var(--color-bg-page);cursor:zoom-in;border:0;width:100%;height:100%;padding:0;display:block;overflow:hidden}.case-media__image-link img{object-fit:cover;width:100%;height:100%;transition:transform var(--motion-duration-state) var(--motion-ease-standard);display:block}.case-media__figure[data-position=active] .case-media__image-link:hover img{transform:scale(1.012)}.case-media__controls{z-index:3;pointer-events:none;justify-content:space-between;align-items:center;padding-inline:clamp(10px,2vw,24px);display:flex;position:absolute;inset:0}.case-media__controls button{border:1px solid var(--color-border-default);background:var(--color-bg-page);width:48px;height:48px;color:var(--color-text-primary);box-shadow:var(--shadow-raised);cursor:pointer;pointer-events:auto;transition:border-color var(--motion-duration-feedback), color var(--motion-duration-feedback), scale var(--motion-duration-feedback);border-radius:50%;place-items:center;font-size:22px;display:grid}.case-media__controls button:hover:not(:disabled){border-color:var(--color-action-primary);color:var(--color-action-primary);scale:1.06}.case-media__controls button:disabled{opacity:.45;cursor:default}.case-media--browser .case-media__controls{padding-inline:0}.case-media--browser .case-media__controls button:first-child{transform:translate(-50%)}.case-media--browser .case-media__controls button:last-child{transform:translate(50%)}.case-media__caption h3{font:400 clamp(27px, 3vw, 38px)/1.25 var(--font-title,Georgia, serif);margin:0}.case-media__caption p{color:var(--color-text-secondary);font-size:var(--type-body-size);margin:12px 0 0}.case-media__caption-content{animation:case-media-caption-in var(--motion-duration-enter) var(--motion-ease-enter) both}.case-media__zoom-trigger{color:var(--color-action-primary);font:inherit;font-size:var(--type-body-sm-size);cursor:pointer;background:0 0;border:0;margin-top:28px;padding:7px 0}.case-media__zoom-trigger:hover{text-underline-offset:4px;text-decoration:underline}.case-media__zoom{border:1px solid var(--color-border-default);border-radius:var(--radius-xl);background:var(--color-bg-page);width:min(96vw,1300px);max-width:none;max-height:94dvh;color:var(--color-text-primary);box-shadow:var(--shadow-overlay);padding:0}.case-media__zoom::backdrop{background:#000000ad}.case-media__zoom-toolbar{border-bottom:1px solid var(--color-border-subtle);min-height:60px;font-size:var(--type-body-sm-size);justify-content:space-between;align-items:center;gap:16px;padding:8px 18px;display:flex}.case-media__zoom-toolbar>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.case-media__zoom-toolbar>div{flex:none;gap:4px;display:flex}.case-media__zoom-toolbar button{border-radius:var(--radius-full);width:44px;height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;font-size:24px}.case-media__zoom-toolbar button:hover:not(:disabled){background:var(--color-bg-surface)}.case-media__zoom-toolbar button:disabled{opacity:.35;cursor:default}.case-media__zoom-scroll{text-align:center;max-height:calc(94dvh - 112px);padding:22px;overflow:auto}.case-media__zoom-scroll img{max-width:none;height:auto;transition:width var(--motion-duration-state) var(--motion-ease-standard);margin-inline:auto;display:block}.case-media__zoom-original{width:fit-content;color:var(--color-action-primary);font-size:var(--type-caption-size);margin:0 18px 14px auto;text-decoration:none;display:block}.case-media__zoom-original:hover{text-underline-offset:3px;text-decoration:underline}@keyframes case-media-caption-in{0%{opacity:0;transform:translateY(var(--motion-translate-distance))}to{opacity:1;transform:none}}.case-media--phone .case-media__body{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:center;gap:clamp(42px,8vw,130px);display:grid}.case-media--phone .case-media__stage{width:min(100%,500px);margin-inline:auto}.case-media--phone .case-media__frame{background:#111;border-radius:44px;width:min(100%,370px);margin-inline:auto;padding:8px;box-shadow:0 18px 48px #0002}.case-media--phone .case-media__slides{aspect-ratio:720/1566;border-radius:36px}.case-media--browser .case-media__frame{border:1px solid var(--color-border-subtle);border-radius:12px 12px 0 0;box-shadow:0 10px 36px #0001}.case-media__browser-bar{background:var(--color-bg-surface);align-items:center;gap:7px;height:28px;padding-inline:13px;display:flex}.case-media__browser-bar i{background:var(--color-border-strong);border-radius:50%;width:6px;height:6px}.case-media--browser .case-media__caption{margin-top:24px}.case-media__footer{color:var(--color-text-muted);font-size:var(--type-caption-size);font-variant-numeric:tabular-nums;margin-top:34px}.practice-miniapp-overview{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);align-items:center;gap:clamp(30px,5vw,80px);padding:25px 0 125px;display:grid}.practice-miniapp-overview .practice-detail__facts{gap:24px 40px;margin:36px 0 42px}.practice-miniapp-overview figure{text-align:center;width:min(100%,350px);margin:0 auto}.practice-miniapp-overview video{border:8px solid #111;border-radius:40px;width:100%;height:auto;display:block;box-shadow:0 12px 36px #0002}.practice-miniapp-overview figcaption{color:var(--color-text-muted);font-size:var(--type-caption-size);margin-top:18px}.practice-miniapp-overview figcaption button{color:var(--color-action-primary);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin-left:18px;padding:0}.practice-detail__jump,.practice-detail__website a{color:#246b43;text-decoration:none}.practice-detail__facts{flex-wrap:wrap}.practice-detail__facts dd{max-width:260px;line-height:1.55}.practice-narrative{gap:clamp(68px,8vw,112px);margin:clamp(92px,10vw,148px) 0;display:grid}.practice-narrative__chapter{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(28px,6vw,100px);display:grid}.practice-narrative__chapter h2{max-width:18em;font:400 clamp(32px, 3.7vw, 52px)/1.22 var(--font-title,Georgia, serif);margin:14px 0 0}.practice-narrative__copy{padding-top:35px}.practice-narrative__copy p{max-width:37em;color:var(--color-text-secondary);font-size:var(--type-body-lg-size);margin:0;line-height:1.72}.practice-narrative__copy ul{max-width:37em;color:var(--color-text-secondary);gap:12px;margin:24px 0 0;padding-left:1.2em;line-height:1.65;display:grid}.practice-narrative__copy small{max-width:48em;color:var(--color-text-muted);font-size:var(--type-caption-size);margin-top:20px;line-height:1.6;display:block}.practice-detail--project .practice-narrative,.practice-detail--text .practice-narrative{margin-bottom:0}.practice-detail--text .next-page-title{max-width:none;font-size:clamp(42px,4.2vw,60px)}.practice-detail--text .practice-detail__summary{max-width:930px}.practice-detail--text .practice-detail__facts{margin-bottom:0}.practice-detail__website{flex-wrap:wrap;align-items:baseline;gap:12px 24px;display:flex}.practice-detail__website small{color:var(--color-text-muted);font-size:var(--type-caption-size)}.case-media__photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px);display:grid}.case-media__photo-grid--single{grid-template-columns:minmax(0,760px)}.case-media__photo-grid figure{min-width:0;margin:0}.case-media__photo-grid img{aspect-ratio:3/4;object-fit:cover;width:100%;height:auto;display:block}.case-media__photo-grid figcaption{color:var(--color-text-muted);font-size:var(--type-caption-size);margin-top:14px}.practice-detail--search .practice-detail__back{margin-bottom:clamp(50px,6vw,85px)}.practice-search__header{margin-bottom:clamp(38px,5vw,68px)}.practice-search__header .next-page-title{margin-bottom:0}.practice-search__visual{margin:0}.practice-search__visual a{display:block}:is(.practice-search__visual a:focus-visible,.practice-search__sources a:focus-visible){outline:2px solid var(--color-border-focus);outline-offset:5px}.practice-search__visual img{width:100%;height:auto;display:block}.practice-search__visual figcaption{color:var(--color-text-muted);font-size:var(--type-caption-size);margin-top:14px}.practice-search__sources{grid-template-columns:minmax(0,1fr) minmax(260px,.6fr);align-items:end;gap:clamp(40px,9vw,140px);display:grid}.practice-search__sources h2{font:400 clamp(28px, 3vw, 40px)/1.25 var(--font-title,Georgia, serif);margin:14px 0 20px}.practice-search__sources p:not(.next-kicker){max-width:50em;color:var(--color-text-muted);margin:0;line-height:1.7}.practice-search__sources nav{gap:15px;display:grid}.practice-search__sources a{width:fit-content;color:var(--color-action-primary);text-decoration:none}@media (max-width:900px){.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-miniapp-overview,.practice-narrative__chapter,.practice-search__sources{grid-template-columns:1fr}.practice-narrative__chapter{gap:20px}.practice-narrative__copy{padding-top:0}.practice-search__sources{gap:30px}}@media (max-width:700px){.case-media--phone .case-media__body{grid-template-columns:1fr;gap:28px}.case-media--phone .case-media__frame{width:min(76%,320px)}.case-media--phone .case-media__caption{max-width:420px}.case-media--browser .case-media__caption{margin-top:18px}.case-media__controls{padding-inline:8px}.case-media--browser .case-media__controls{padding-inline:0}.case-media__controls button{width:44px;height:44px}.case-media--browser .case-media__controls button:first-child{transform:translate(-15%)}.case-media--browser .case-media__controls button:last-child{transform:translate(15%)}.case-media__footer{margin-top:24px}}@media (max-width:650px){.case-media__photo-grid{grid-template-columns:1fr;gap:40px}.practice-index{padding-top:48px}.practice-filters{flex-direction:column;align-items:flex-start;gap:8px}.practice-grid,.practice-grid[data-filtered=true]{grid-template-columns:1fr}.practice-card__phone{width:66%}.practice-index__contact{flex-direction:column;align-items:flex-start;gap:28px}.practice-detail__facts{flex-wrap:wrap;gap:28px}.practice-detail__section{margin-bottom:88px}.practice-narrative{gap:64px;margin-block:76px}.practice-detail--project .practice-narrative{margin-bottom:0}}@media (prefers-reduced-motion:reduce){.practice-card__image,.practice-card__image img,.practice-card__link,.practice-index__contact a,.case-media__figure,.case-media__image-link img,.case-media__controls button,.case-media__zoom-scroll img{transition:none}.practice-card:hover .practice-card__link,.case-media__figure[data-position=active] .case-media__image-link:hover img{transform:none}.case-media__caption-content{animation:none}}
