/* The project overview shares the site's real, scrollable project viewers. */
.projects-return{background:var(--ink);color:var(--paper)}
.projects-return[hidden]{display:none}
.projects-return a{display:inline-flex;align-items:center;min-height:44px;padding-block:10px;color:inherit;font-size:13px;line-height:1.5;text-underline-offset:4px}
.projects-concept{padding-block:48px}
.projects-concept .home-service-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);align-items:center;gap:40px;padding:clamp(24px,4vw,48px);background:var(--lime);color:var(--ink);border-radius:16px}
.projects-concept .projects-concept-copy,.projects-concept .projects-concept-action{display:block;min-width:0}
.projects-concept h2{font-size:clamp(30px,3.2vw,42px);line-height:1.12;margin:0 0 18px;letter-spacing:-.045em;text-wrap:balance}
.projects-concept .projects-concept-copy p{font-size:17px;max-width:52ch;line-height:1.65;color:var(--ink);margin:0;padding:0}
.projects-concept .button{margin:0;max-width:100%;white-space:normal;color:#fff;font-size:15px;line-height:1.5}
.projects-concept .projects-concept-note{font-size:13px;line-height:1.6;color:var(--ink);margin:16px 0 0;padding:0;max-width:38ch}
@media(max-width:850px){
 .projects-concept{padding-block:36px}
 .projects-concept .home-service-card{grid-template-columns:minmax(0,1fr);gap:24px}
 .projects-concept .projects-concept-copy p{font-size:16px}
 .projects-concept .button{font-size:14px}
}
.projects-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(36px,5vw,80px);padding-block:64px 78px;min-height:520px}
.projects-hero-copy{min-width:0;position:relative;z-index:1}
.projects-hero h1{font-size:clamp(52px,5.7vw,82px);line-height:1.01;letter-spacing:-.065em;max-width:11ch;margin:0 0 26px;text-wrap:balance}
.projects-hero .eyebrow{margin-bottom:25px}
.projects-hero .prose{max-width:36em;font-size:17px;line-height:1.75}
.projects-hero .button{margin-top:24px}
.projects-hero .prose .button{color:#fff}
.projects-hero-art{position:relative;isolation:isolate;min-width:0;width:100%;height:390px}
.projects-hero-art::before{content:"";position:absolute;inset:20px 12px 13px 18px;background:var(--blue);border-radius:48% 48% 20px 20px;transform:rotate(-5deg);z-index:-1}
.projects-hero-art::after{content:"";position:absolute;width:48px;height:48px;right:22px;bottom:9px;border-radius:50%;background:var(--lime);border:7px solid var(--paper);z-index:3}
.projects-hero-shot{display:block;position:absolute;object-fit:cover;object-position:top;border:7px solid #fff;border-radius:11px;background:#fff;box-shadow:0 16px 35px #071c3433}
.projects-hero-shot-1{width:65%;height:57%;left:0;top:31px;transform:rotate(-7deg);z-index:1}
.projects-hero-shot-2{width:58%;height:53%;right:0;top:123px;transform:rotate(6deg);z-index:2}
.projects-hero-shot-3{width:49%;height:43%;left:8%;bottom:0;transform:rotate(-3deg);z-index:3}

.projects-index{padding-block:52px 96px}
.projects-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:28px 54px;margin-bottom:32px}
.projects-index .projects-heading h2{font-size:clamp(36px,3.6vw,50px);line-height:1.04;margin:0}
.projects-index .projects-heading .prose{max-width:42em;font-size:15px;line-height:1.75}
.projects-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 28px;padding-bottom:28px;margin-bottom:12px;border-bottom:1px solid #bfccd233}
.projects-toolbar [data-project-filters]{display:flex;flex-wrap:wrap;gap:9px}
.projects-toolbar [data-project-filters][hidden]{display:none}
.projects-toolbar [data-project-filter]{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 19px;border:1px solid #bfccd259;border-radius:28px;background:transparent;color:var(--paper);font-size:13px;font-weight:500;line-height:1.4;white-space:normal;text-align:center;transition:background .22s,color .22s,border-color .22s}
.projects-toolbar [data-project-filter]:hover{background:#ffffff0c;border-color:#bfccd2b3}
.projects-toolbar [data-project-filter][aria-pressed="true"]{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.projects-toolbar [data-project-filter][aria-pressed="true"]:hover{background:#ebff9b;border-color:#ebff9b}
.projects-toolbar [data-project-filter]:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.projects-results{flex-shrink:0;margin:0;color:#bfccd2;font-size:12px;line-height:1.6;font-variant-numeric:tabular-nums}
.projects-index [data-project-empty]{padding:48px 0;color:#bfccd2}
.projects-index [data-project-empty][hidden]{display:none}
.projects-index [data-project-reset]{min-height:44px;border:0;border-radius:7px;padding:11px 18px;background:var(--lime);color:var(--ink);font-weight:500}
.projects-index [data-project-reset]:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.projects-grid.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 54px;margin:0;padding:0;border:0;align-items:stretch}
.projects-grid>[data-project-card]{min-width:0;max-width:100%;width:100%;margin:0;padding:34px 0 44px;border:0;border-bottom:1px solid #bfccd233}
.projects-grid>[data-project-card][hidden]{display:none!important}
.projects-grid>.case-study{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;row-gap:24px;padding:34px 0 44px;margin:0;border-bottom:1px solid #bfccd233}
.projects-grid .case-intro{min-height:174px}
.projects-grid .case-study h3,.projects-grid .case-study h2{font-size:clamp(38px,3.5vw,48px);line-height:1.03;max-width:none;margin-bottom:18px;text-wrap:balance}
.projects-grid .case-label{margin-bottom:21px}
.projects-grid .case-title{min-height:0;font-size:25px;line-height:1.25;max-width:23em;text-wrap:pretty}
.projects-grid .case-visual{width:100%;max-width:none;margin:0;align-self:start}
.projects-grid .case-switch{min-height:54px;margin-bottom:6px;align-items:stretch}
.projects-grid .case-switch button{flex:1 1 auto;min-width:0;min-height:44px;padding-inline:17px}
.projects-grid .case-stage{padding:20px 8px}
.projects-grid .case-screens{height:380px}
.projects-grid .case-description{font-size:14px;line-height:1.8;max-width:none;margin-bottom:22px}
.projects-grid .case-features{margin-bottom:26px}
.projects-grid .case-preview-note{min-height:1.7em;font-size:11px;line-height:1.7}
.projects-grid .case-action{margin-top:0}
.projects-grid .case-status{max-width:34em}
.projects-grid .portfolio-localwebp .case-screens:has([data-case-panel="plugin"]:not([hidden])){height:auto}
.projects-grid .projects-example{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;row-gap:22px;align-content:start;padding-top:34px;margin-left:0;transform:none!important}
.projects-grid .projects-example>.case-label{grid-column:1;grid-row:1;margin:0}
.projects-example .example-caption{grid-column:1;grid-row:2;min-height:0;align-items:flex-start;padding:0;gap:16px}
.projects-example .example-number{padding-top:4px}
.projects-example .example-caption h3{font-size:32px;line-height:1.15;margin-top:0;letter-spacing:-.045em}
.projects-example .demo-tag{font-size:10px;letter-spacing:.12em}
.projects-example .example-preview{grid-column:1;grid-row:3;border:1px solid #ffffff24;box-shadow:0 18px 36px #00101c22}
.projects-example .example-preview:hover{transform:none;box-shadow:0 18px 36px #00101c22}
.projects-example .preview-toolbar{height:44px}
.projects-example .preview-toolbar>a{width:36px;height:36px}
.projects-example .frame-viewport{height:380px}

/* An unpaired real project spans the overview so both examples share the next row. */
@media(min-width:951px){
  .projects-index[data-active-filter="all"] .projects-grid>.projects-featured{grid-column:1/-1;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto 1fr;column-gap:54px;row-gap:24px}
  .projects-index[data-active-filter="all"] .projects-featured>.case-intro{grid-column:1;grid-row:1;min-height:0}
  .projects-index[data-active-filter="all"] .projects-featured>.case-details{grid-column:1;grid-row:2}
  .projects-index[data-active-filter="all"] .projects-featured>.case-visual{grid-column:2;grid-row:1/span 2;align-self:center}
  .projects-index[data-active-filter="all"] .projects-featured .case-screens{height:400px}
}
@media(max-width:1100px){
  .projects-hero{gap:32px;padding-block:48px 62px;min-height:460px}
  .projects-hero h1{font-size:clamp(50px,6vw,68px)}
  .projects-hero-art{height:340px}
  .projects-hero .prose{font-size:16px}
  .projects-grid.portfolio-grid{column-gap:34px}
  .projects-grid .case-intro{min-height:182px}
  .projects-grid .case-title{font-size:23px}
  .projects-grid .case-screens,.projects-example .frame-viewport{height:340px}
}
@media(max-width:950px){
  .projects-hero{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:28px}
  .projects-hero h1{font-size:54px}
  .projects-hero-art{height:300px}
  .projects-hero-shot{border-width:5px}
  .projects-hero-shot-2{top:98px}
  .projects-grid.portfolio-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .projects-grid>.case-study,.projects-grid>.case-study+.case-study{padding-block:38px 42px;border-top:0}
  .projects-grid .case-intro{min-height:0}
  .projects-grid .case-study h3,.projects-grid .case-study h2{font-size:48px}
  .projects-grid .case-title{font-size:26px;max-width:28em}
  .projects-grid .case-screens,.projects-example .frame-viewport{height:440px}
  .projects-grid .case-description{max-width:48em}
  .projects-example .example-caption{min-height:0}
  .projects-grid .projects-example{padding-block:38px 42px}
}
@media(max-width:700px){
  .projects-hero{grid-template-columns:minmax(0,1fr);gap:24px;min-height:0;padding-block:36px 48px}
  .projects-hero h1{font-size:clamp(45px,11.4vw,66px);max-width:12ch;margin-bottom:23px}
  .projects-hero .eyebrow{margin-bottom:22px}
  .projects-hero .prose{font-size:15px;line-height:1.75}
  .projects-hero-art{height:290px;max-width:420px;justify-self:center;margin-top:3px}
  .projects-hero-art::before{inset:16px 14px 8px 20px}
  .projects-hero-art::after{width:40px;height:40px;right:12px;bottom:2px;border-width:6px}
  .projects-hero-shot-1{top:22px}
  .projects-hero-shot-2{top:91px}
  .projects-index{padding-block:32px 58px}
  .projects-heading{grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:26px}
  .projects-toolbar{gap:17px;padding-bottom:24px;margin-bottom:0}
  .projects-toolbar [data-project-filters]{gap:8px}
  .projects-toolbar [data-project-filter]{font-size:12px;min-height:44px;padding:10px 15px}
  .projects-results{font-size:11px}
  .projects-grid>.case-study,.projects-grid>.case-study+.case-study,.projects-grid .projects-example{padding-block:32px 36px;row-gap:22px}
  .projects-grid .case-study h3,.projects-grid .case-study h2{font-size:42px;line-height:1.02;margin-bottom:17px}
  .projects-grid .case-label{margin-bottom:18px}
  .projects-grid .case-title{font-size:24px;line-height:1.22}
  .projects-grid .case-stage{padding:14px 0}
  .projects-grid .case-switch{min-height:54px;margin-bottom:2px}
  .projects-grid .case-switch button{font-size:11px;padding-inline:14px}
  .projects-grid .case-screens,.projects-example .frame-viewport{height:min(480px,67svh)}
  .projects-grid .case-preview-note{min-height:0;text-align:left}
  .projects-example .example-caption{gap:12px}
  .projects-example .example-caption h3{font-size:28px;margin-top:0}
  .projects-example .preview-toolbar{height:40px;font-size:9px}
  .projects-example .preview-toolbar>a{width:34px;height:34px}
}
@media(max-width:360px){
  .projects-hero-art{height:248px}
  .projects-hero-shot-2{top:80px}
  .projects-grid .case-study h3,.projects-grid .case-study h2{font-size:38px}
  .projects-grid .case-title{font-size:22px}
  .projects-grid .case-switch button{padding-inline:11px}
  .projects-toolbar [data-project-filter]{padding-inline:13px}
}
@media(prefers-reduced-motion:reduce){.projects-toolbar [data-project-filter]{transition:none}}
@media print{.projects-hero-art,.projects-toolbar [data-project-filters]{display:none}.projects-hero{display:block;padding:24px 0}.projects-index{padding-block:24px}.projects-grid.portfolio-grid{display:block}.projects-grid>[data-project-card]{break-inside:avoid}}
