.practice-page{min-height:100svh;color:var(--page-fg);background:#111611e0;padding:140px 0 0}.practice-shell{width:min(100%,1600px);margin-inline:auto;padding-inline:6vw}.practice-hero{padding:25px 0 80px}.practice-kicker{color:var(--page-accent);letter-spacing:.015em;margin:0 0 24px;font-size:14px;line-height:1.5}.practice-title{font-family:var(--font-display);letter-spacing:-.055em;overflow-wrap:normal;text-wrap:balance;max-width:1250px;margin:0;font-size:clamp(64px,7.8vw,112px);font-weight:600;line-height:1.02}.practice-title--compact{max-width:1100px;font-size:clamp(48px,6.2vw,92px)}.practice-lead{color:var(--page-muted);max-width:650px;margin:36px 0 0;font-size:clamp(18px,1.5vw,23px);line-height:1.65}.practice-hero--split{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);align-items:end;gap:70px;display:grid}.practice-hero--split .practice-lead{margin:0 0 6px}.practice-section{border-top:1px solid var(--page-line);padding-block:64px}.practice-section-title{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(28px,3.2vw,48px);font-weight:600;line-height:1.12}.practice-prose{color:var(--page-muted);max-width:730px;font-size:17px;line-height:1.9}.practice-prose p{margin:0 0 24px}.practice-link{width:fit-content;min-height:44px;color:var(--page-fg);border-bottom:1px solid var(--page-line);align-items:center;gap:18px;padding-block:8px;font-size:15px;text-decoration:none;display:inline-flex}.practice-link:hover{border-color:var(--page-accent);color:var(--page-accent)}.practice-page .art-icon{filter:brightness(0)invert();flex-shrink:0;width:22px;height:22px;transition:transform .25s}.practice-link:hover .art-icon{transform:translate(3px,-3px)}.practice-page :focus-visible{outline:2px solid var(--page-accent);outline-offset:5px}.practice-explore{border-top:1px solid var(--page-line);flex-wrap:wrap;gap:30px 60px;margin-top:50px;padding-block:45px 65px;display:flex}.practice-explore .practice-link{font-family:var(--font-display);letter-spacing:-.03em;border:0;font-size:clamp(19px,2vw,29px)}.work-filter-bar{border-block:1px solid var(--page-line);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:65px;padding-block:18px;display:flex}.work-filter{min-height:44px;color:var(--page-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:30px;padding:9px 17px;font-size:14px;transition:background .2s,color .2s,border-color .2s}.work-filter:hover{border-color:var(--page-line);color:var(--page-fg)}.work-filter[aria-pressed=true]{background:var(--page-accent);color:var(--page-bg)}.work-filter-count{color:var(--page-muted);font-variant-numeric:tabular-nums;margin-left:auto;padding:10px 0 10px 20px;font-size:13px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:85px 60px;padding-bottom:65px;display:grid}.project-card{min-width:0}.project-card:first-child{grid-column:1/-1;margin-bottom:10px}.project-card:nth-child(2n+3){margin-top:100px}.project-card__link{color:inherit;text-decoration:none;display:block}.project-card__image{aspect-ratio:1.4;background:var(--page-surface);margin-bottom:23px;position:relative;overflow:hidden}.project-card:first-child .project-card__image{aspect-ratio:2.05}.project-card__image img{object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1)}.project-card__link:hover .project-card__image img{transform:scale(1.035)}.project-card__missing{height:100%;font-family:var(--font-display);color:var(--page-muted);text-align:center;justify-content:center;align-items:center;padding:30px;font-size:24px;display:flex}.project-card__meta{color:var(--page-muted);justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:14px;font-size:12px;display:flex}.project-card__heading{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.project-card__heading h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(24px,2.2vw,35px);font-weight:600;line-height:1.2}.project-card:first-child .project-card__heading h2{font-size:clamp(30px,3.3vw,51px)}.project-card__heading .art-icon{align-self:center}.project-card__link:hover .project-card__heading .art-icon{transform:translate(3px,-3px)}.project-card__subtitle{color:var(--page-muted);max-width:620px;margin:13px 0 0;font-size:14px;line-height:1.7}.project-detail-header{padding-bottom:60px}.project-detail-header .practice-title{max-width:1300px}.project-detail-header .practice-link{color:var(--page-muted);margin-bottom:38px;font-size:13px}.project-cover{background:var(--page-surface);width:100%;margin:0;position:relative;overflow:hidden}.project-cover img{width:100%;height:auto;display:block}.project-overview{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:100px;display:grid}.project-tags{color:var(--page-accent);flex-wrap:wrap;gap:8px 18px;margin-bottom:35px;font-size:13px;display:flex}.project-facts{border-top:1px solid var(--page-line);margin:0}.project-fact{border-bottom:1px solid var(--page-line);grid-template-columns:100px 1fr;gap:24px;padding-block:17px;font-size:14px;line-height:1.6;display:grid}.project-fact dt{color:var(--page-muted)}.project-fact dd{margin:0}.project-gallery-title{margin-bottom:55px}.project-gallery-figure{max-width:100%;margin:0 0 80px}.project-gallery-figure:nth-child(3n+1){width:88%;margin-inline:auto}.project-gallery-figure:nth-child(3n+2){width:68%;margin-right:auto}.project-gallery-figure:nth-child(3n){width:76%;margin-left:auto}.project-gallery-figure img{background:var(--page-surface);width:100%;height:auto;display:block}.project-gallery-figure figcaption{color:var(--page-muted);gap:18px;margin-top:16px;font-size:13px;line-height:1.7;display:flex}.project-gallery-figure figcaption span:first-child{font-variant-numeric:tabular-nums;color:var(--page-accent);flex-shrink:0}.project-pagination{border-top:1px solid var(--page-line);grid-template-columns:1fr auto 1fr;align-items:center;gap:35px;padding-block:45px;display:grid}.project-pagination>a{color:inherit;flex-direction:column;gap:12px;max-width:320px;min-height:44px;text-decoration:none;display:flex}.project-pagination>a:last-child{text-align:right;justify-self:end}.project-pagination .project-pagination__direction{color:var(--page-muted);align-items:center;gap:12px;font-size:13px;display:flex}.project-pagination>a:last-child .project-pagination__direction{justify-content:flex-end}.project-pagination strong{font-family:var(--font-display);letter-spacing:-.025em;font-size:21px;font-weight:600;line-height:1.3}.project-pagination>a:hover strong{color:var(--page-accent)}.technology-feature{grid-template-columns:minmax(0,1.5fr) minmax(260px,390px);align-items:center;gap:100px;display:grid}.technology-feature__title{flex-wrap:wrap;align-items:center;gap:15px 26px;margin-bottom:35px;display:flex}.technology-status{border:1px solid var(--page-line);color:var(--page-accent);border-radius:20px;width:fit-content;padding:6px 12px;font-size:12px}.technology-statement{text-wrap:balance;font-family:var(--font-display);letter-spacing:-.04em;max-width:720px;margin:0 0 30px;font-size:clamp(29px,3.4vw,49px);font-weight:600;line-height:1.2}.technology-figure{justify-self:center;max-width:390px;margin:0}.technology-figure img{border-radius:7px;width:100%;height:auto;display:block}.technology-figure figcaption{color:var(--page-muted);margin-top:17px;font-size:12px;line-height:1.6}.technology-note{color:var(--page-muted);max-width:470px;margin-top:30px;font-size:13px;line-height:1.8}.technology-row{grid-template-columns:1fr 1.7fr;gap:80px;display:grid}.technology-row .technology-status{margin-top:20px}.technology-row .technology-statement{font-size:clamp(27px,2.8vw,39px)}.practice-callout{border-top:1px solid var(--page-line);justify-content:space-between;align-items:end;gap:40px;padding-block:60px;display:flex}.practice-callout h2{font-family:var(--font-display);letter-spacing:-.045em;margin:0 0 20px;font-size:clamp(33px,4vw,57px);font-weight:600;line-height:1.15}.about-intro{grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);align-items:start;gap:100px;padding-bottom:80px;display:grid}.about-intro__lead{font-family:var(--font-display);letter-spacing:-.035em;margin:0 0 40px;font-size:clamp(27px,3vw,44px);font-weight:600;line-height:1.35}.about-portrait{margin:0}.about-portrait img{object-fit:cover;object-position:top;width:100%;height:auto;max-height:630px;display:block}.about-portrait figcaption{color:var(--page-muted);margin-top:15px;font-size:12px}.about-details{grid-template-columns:1.5fr 1fr;gap:100px;display:grid}.about-details .practice-section-title{margin-bottom:30px}.about-education{margin:0;padding:0;list-style:none}.about-education li{border-bottom:1px solid var(--page-line);padding:22px 0;font-size:15px}.about-education li:first-child{padding-top:0}.about-education p{margin:0 0 7px}.about-education span{color:var(--page-muted);font-size:13px}.about-certifications{color:var(--page-muted);margin:25px 0 0;padding-left:18px;font-size:14px;line-height:2}.about-skills{grid-template-columns:1fr 1fr;gap:30px;display:grid}.about-skills h3{margin:0 0 20px;font-size:16px;font-weight:500}.about-skills p{color:var(--page-muted);margin:0;font-size:14px;line-height:2}.contact-hero .practice-title{max-width:1000px}.contact-email{font-family:var(--font-display);letter-spacing:-.04em;color:var(--page-accent);overflow-wrap:anywhere;align-items:center;gap:25px;min-height:44px;margin-top:40px;padding-block:10px;font-size:clamp(22px,4.5vw,66px);line-height:1.35;text-decoration:none;display:inline-flex}.contact-email .art-icon{width:clamp(24px,3vw,42px);height:auto}.contact-email:hover .art-icon{transform:translate(5px,-5px)}.contact-info{grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;display:grid}.contact-info>div{min-width:0}.contact-info h2{color:var(--page-muted);letter-spacing:0;margin:0 0 20px;font-size:13px;font-weight:400}.contact-info a,.contact-info p{color:var(--page-fg);overflow-wrap:anywhere;margin:0;font-size:19px;line-height:1.7;text-decoration:none;display:inline-block}.contact-info a:hover{color:var(--page-accent)}.contact-info a{min-height:44px}@media (max-width:1050px){.practice-page{padding-top:125px}.practice-hero--split{grid-template-columns:1fr;gap:30px}.practice-hero--split .practice-lead{max-width:650px}.project-grid{gap:70px 35px}.project-overview,.about-intro,.about-details{gap:55px}.technology-feature{gap:60px}.technology-row{gap:50px}.project-fact{grid-template-columns:80px 1fr;gap:15px}}@media (max-width:650px){.practice-page{padding-top:100px}.practice-shell{padding-inline:24px}.practice-hero{padding-top:15px;padding-bottom:48px}.practice-kicker{margin-bottom:20px;font-size:12px}.practice-title{letter-spacing:-.05em;font-size:clamp(47px,12vw,70px);line-height:1.07}.practice-title--compact{font-size:clamp(39px,10vw,62px)}.practice-lead{margin-top:25px;font-size:17px;line-height:1.8}.practice-hero--split{gap:25px}.practice-section{padding-block:42px}.practice-prose{font-size:15px;line-height:1.9}.practice-section-title{font-size:29px}.work-filter-bar{gap:5px;margin-bottom:35px;padding-block:13px}.work-filter{padding-inline:13px;font-size:12px}.work-filter-count{width:100%;margin:0;padding:10px 0 0;font-size:12px}.project-grid{grid-template-columns:1fr;gap:45px;padding-bottom:35px}.project-card:first-child{grid-column:auto;margin-bottom:0}.project-card:nth-child(2n+3){margin-top:0}.project-card:first-child .project-card__image,.project-card__image{aspect-ratio:1.35;margin-bottom:18px}.project-card__heading h2,.project-card:first-child .project-card__heading h2{font-size:25px}.project-card__meta{margin-bottom:10px;font-size:11px}.project-card__subtitle{font-size:13px}.project-overview,.about-intro,.about-details,.technology-feature,.technology-row{grid-template-columns:1fr;gap:38px}.project-detail-header{padding-bottom:35px}.project-detail-header .practice-link{margin-bottom:30px}.project-fact{grid-template-columns:85px 1fr;font-size:13px}.project-gallery-figure,.project-gallery-figure:nth-child(n){width:100%;margin:0 0 40px}.project-gallery-title{margin-bottom:30px}.project-gallery-figure figcaption{gap:12px;font-size:11px}.project-pagination{grid-template-columns:1fr 1fr;gap:25px}.project-pagination>.project-pagination__back{text-align:center;grid-area:2/1/auto/-1;justify-self:center}.project-pagination>a:last-child{grid-area:1/2}.project-pagination strong{font-size:17px}.project-pagination__direction{font-size:12px!important}.practice-explore{gap:20px 30px;margin-top:25px;padding-block:30px 45px}.practice-explore .practice-link{font-size:20px}.technology-feature__title{margin-bottom:25px}.technology-statement{margin-bottom:22px;font-size:32px}.technology-figure{width:min(82%,330px);margin-top:5px}.technology-row .technology-statement{font-size:28px}.practice-callout{flex-direction:column;align-items:start;gap:20px;padding-block:42px}.practice-callout h2{font-size:35px}.about-intro{padding-bottom:45px}.about-intro__lead{margin-bottom:28px;font-size:27px}.about-portrait{justify-self:center;width:85%;max-width:330px}.about-portrait img{max-height:none}.about-skills{gap:24px}.about-skills p{font-size:12px}.contact-email{gap:12px;margin-top:25px;font-size:clamp(20px,5.5vw,33px)}.contact-info{grid-template-columns:1fr;gap:30px}.contact-info h2{margin-bottom:10px}.contact-info a,.contact-info p{font-size:18px}}@media (prefers-reduced-motion:reduce){.practice-page *{transition:none!important}.project-card__link:hover .project-card__image img{transform:none}}@media (max-width:360px){.practice-title{font-size:40px}.practice-title--compact{font-size:37px}}
