.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(84px,10vw,144px)}.practice-index__projects-heading{justify-content:space-between;align-items:center;gap:20px 32px;margin-bottom:34px;display:flex}.practice-index__projects-heading h2{font-size:var(--type-h2-size);font-weight:var(--type-h2-weight);margin:0}.practice-filter__status{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.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__preparing{grid-template-columns:1fr 1fr;gap:60px;padding:80px 0 70px;display:grid}.practice-index__preparing h2,.practice-index__contact h2{font:400 clamp(32px, 3vw, 44px)/1.2 var(--font-title,Georgia, serif)}.practice-index__preparing article{border-top:1px solid var(--color-border-default);padding:24px 0}.practice-index__preparing article h3{font:400 26px/1.3 var(--font-title,Georgia, serif)}.practice-index__contact{padding:65px 0 120px}.practice-index__contact a{color:#28784b;text-decoration:none}.practice-card__image{aspect-ratio:1.52;background:var(--color-bg-page);display:block;overflow:hidden;box-shadow:0 8px 28px #0000000f}.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-filters{flex-wrap:wrap;justify-content:flex-end;gap:0 20px;display:flex}.practice-filters button{min-height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 2px}.practice-filters button:hover{color:var(--color-text-primary)}.practice-filters button[aria-pressed=true]{color:var(--color-action-primary);border-color:currentColor;font-weight:600}.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-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__body{touch-action:pan-y;width:100%}.case-media__stage{min-width:0;position:relative}.case-media__figure{min-width:0;margin:0}.case-media__image-link{width:100%;text-decoration:none;display:block;overflow:hidden}.case-media__image-link img{width:100%;height:auto;display:block}.case-media__controls{z-index:1;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;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)}.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--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__figure{justify-content:center;display:flex}.case-media--phone .case-media__image-link{background:#111;border-radius:44px;width:min(100%,370px);padding:8px;box-shadow:0 18px 48px #0002}.case-media--phone .case-media__image-link img{border-radius:36px}.case-media--browser .case-media__image-link{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{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-index__preparing,.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__image-link{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-index__projects-heading{flex-direction:column;align-items:flex-start}.practice-grid,.practice-grid[data-filtered=true]{grid-template-columns:1fr}.practice-card__phone{width:66%}.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 img{transition:none}}
