:root{
  --bg:#ffffff;
  --ink:#17181c;
  --mut:#6d7078;
  --line:#e9e9ec;
  --wash:#f6f6f7;
  --wash-2:#efeff1;
  --accent:#ee55a2;
  --accent-ink:#c54686;
  --ok:#2fac66;
  
  --r-xs:3px;
  --r-sm:5px;
  --r:8px;
  --r-md:9px;
  --r-lg:12px;
  --r-xl:16px;
  
  
  
  
  --r-art-xs:clamp(7px,.9vw,9px);    
  --r-art-sm:clamp(13px,1.6vw,15px); 
  --r-art-md:clamp(17px,1.8vw,20px); 
  --r-art-lg:clamp(19px,2.2vw,24px); 
  
  
  --shade:#0b0d12;
  --art-edge:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent);
  --art-lift:0 10px 30px -12px color-mix(in srgb,var(--shade) 20%,transparent);
  
  --wrap:1260px;
  --pad:40px;
  --s1:8px;
  --s2:16px;
  --s3:24px;
  --s4:40px;
  --s5:64px;
  --s6:88px;
  --s7:120px;
  --t-micro:12px;
  --t-ui:13px;
  --t-small:14px;
  --t-body:15px;
  --t-lead:18px;
  --t-h3:17px;
  
  --t-h2:clamp(22px,20px + .55vw,28px);
  --t-h1:clamp(36px,28px + 2.4vw,56px);
  --t-display:clamp(40px,30px + 2.6vw,64px);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-in:cubic-bezier(.7,0,.84,0);
  --dur:.5s;
  --dur-ui:.22s;
  color-scheme:light;
}
@media(prefers-color-scheme:dark){
  :root:not(.light){
    --bg:#131418;
    --ink:#eef0f4;
    --mut:#8a8f9b;
    --line:#26272e;
    --wash:#1a1b21;
    --wash-2:#1f2027;
    --accent:#ee83b6;
    --accent-ink:#f0a0c8;
    --shade:#000000;
    color-scheme:dark;
  }
}
:root.dark{
  --bg:#131418;
  --ink:#eef0f4;
  --mut:#8a8f9b;
  --line:#26272e;
  --wash:#1a1b21;
  --wash-2:#1f2027;
  --accent:#ee83b6;
  --accent-ink:#f0a0c8;
  --shade:#000000;
  color-scheme:dark;
}

@font-face{font-family:'Geist';font-style:normal;font-weight:300 800;font-display:swap;src:url('/assets/fonts/geist-latin.woff2?v=f4634c3b') format('woff2');}
*{margin:0;padding:0;box-sizing:border-box;}

::selection{background:color-mix(in srgb,var(--accent) 20%,transparent);color:inherit;}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent;}
body{background:var(--bg);color:var(--ink);font-family:Geist,-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:var(--t-body);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100dvh;display:flex;flex-direction:column;}
main{flex:1 0 auto;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
p{text-wrap:pretty;}
h1,h2,h3{text-wrap:balance;}
:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:2px;}
.sh:focus,.sh:focus-visible{outline:none;}
.skip-link {
  position: absolute;
  top: -100px;
  left: 1rem;
  z-index: 1000;
  padding: 0.5rem 1rem;
  background: var(--ink, #111);
  color: var(--bg, #fff);
  font-size: 0.875rem;
  border-radius: 4px;
  text-decoration: none;
}
.skip-link:focus {
  top: 1rem;
}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);width:100%;}
@media(max-width:640px){.wrap{padding:0 22px;}}
.em{font-style:normal;color:var(--accent);}
.hdot{display:inline-block;width:.13em;height:.13em;fill:var(--accent);vertical-align:baseline;}

.site-head{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 84%,transparent);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);}
.nav{display:flex;align-items:center;justify-content:space-between;height:56px;}
.ps-mark{width:24px;height:auto;display:block;transition:transform var(--dur-ui) var(--ease-out);}
.mark-link:hover .ps-mark{transform:rotate(-6deg);}
.ps-mark .pm-ltr{fill:var(--ink);}
.ps-mark .pm-dot{fill:var(--accent);}
.nav-links{display:flex;align-items:center;gap:4px;}

.nav-links a{position:relative;font-size:var(--t-ui);font-weight:450;color:var(--mut);padding:6px 12px;
  text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;
  text-underline-offset:5px;
  transition:color var(--dur-ui) var(--ease-out),text-decoration-color var(--dur-ui) var(--ease-out);}
.nav-links a:hover{color:var(--accent-ink);text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);}

.nav-links a[aria-current="page"],.nav-links a.here{color:var(--ink);font-weight:520;
  text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);}
.nav-links a.cta{color:var(--ink);font-weight:520;padding:6px 12px;margin-left:4px;background:none;}

@media(max-width:420px){.nav-links{gap:0;}.nav-links a{padding:6px 8px;}}

.btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--bg);font-size:var(--t-ui);font-weight:560;padding:10px 18px;border-radius:999px;transition:background var(--dur-ui) var(--ease-out),color var(--dur-ui) var(--ease-out),transform var(--dur-ui) var(--ease-out),box-shadow var(--dur-ui) var(--ease-out),opacity var(--dur-ui) var(--ease-out);}

.btn:hover{background:var(--accent-ink);color:var(--bg);
  transform:translateY(-2px);
  box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 24%,transparent);}
.btn:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--accent) 16%,transparent);}

@media(pointer:coarse){
  .btn,.btn-line{min-height:44px;}
  .link{min-height:44px;}
}
.btn-line{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-small);font-weight:560;color:var(--ink);background:var(--wash);padding:12px 22px;border-radius:999px;transition:background var(--dur-ui) var(--ease-out);}
.btn-line:hover{background:var(--wash-2);}
.dock{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%,18px);z-index:40;display:inline-flex;align-items:center;gap:8px;font-size:var(--t-small);font-weight:560;color:var(--bg);background:var(--ink);padding:12px 22px;border-radius:999px;box-shadow:0 8px 26px rgba(0,0,0,.2);opacity:0;pointer-events:none;
  
  visibility:hidden;
  transition:opacity .35s var(--ease-out),transform .35s var(--ease-out),background .22s var(--ease-out),visibility 0s linear .35s;}
.dock.show{opacity:1;transform:translate(-50%,0);pointer-events:auto;visibility:visible;transition-delay:0s;}
.dock:hover{background:color-mix(in srgb,var(--accent) 65%,#fff);color:#17181c;}
.dock:active{transform:translate(-50%,-1px) scale(.98);}
.link{display:inline-flex;align-items:center;gap:7px;font-size:var(--t-small);font-weight:540;color:var(--mut);transition:color var(--dur-ui) var(--ease-out);}
.link:hover{color:var(--accent-ink);}
.arr{display:inline-block;transition:transform var(--dur-ui) var(--ease-out);}
.link:hover .arr,.btn-line:hover .arr,.tile-case:hover .arr,.home-story:hover .arr{transform:translateX(3px);}
@media(max-width:600px){.cta-row{gap:14px 18px;}.cta-row .link{min-height:44px;}}
.cta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}

.home-hero{
  padding-top:clamp(72px,10vw,112px);
  padding-bottom:clamp(36px,4.5vw,56px);
}
.home-hero-center{
  max-width:36rem;
  margin:0 auto;
  text-align:center;
}
.home-name{
  margin:0 0 20px;
  font-size:var(--t-ui);
  font-weight:520;
  letter-spacing:-.01em;
  color:var(--ink);
  line-height:1.3;
}
.home-name span{color:var(--mut);font-weight:450;}
.home-hero h1{
  margin:0 auto;
  font-size:clamp(36px,30px + 1.6vw,52px);
  font-weight:510;
  letter-spacing:-.034em;
  line-height:1.06;
  max-width:14ch;
}
.home-lede{
  margin:22px auto 0;
  font-size:var(--t-lead);
  line-height:1.55;
  color:var(--mut);
  max-width:38ch;
  font-weight:400;
}
.home-cta-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  margin-top:32px;
}
@media(max-width:640px){
  .home-hero{padding-top:44px;padding-bottom:24px;}
  .home-name{margin-bottom:16px;}
  .home-hero h1{
    max-width:none;
    font-size:clamp(30px,8.2vw,36px);
    letter-spacing:-.03em;
  }
  .home-lede{max-width:none;}
  .home-cta-row{margin-top:28px;}
  .home-cta-row .link{min-height:44px;}
}

.home-block{
  padding-top:clamp(56px,7vw,96px);
}
.home-block:last-child{padding-bottom:clamp(80px,11vw,120px);}
.home-h{
  margin:0 0 16px;
  font-size:clamp(28px,24px + 1.2vw,40px);
  font-weight:500;
  letter-spacing:-.03em;
  line-height:1.12;
  color:var(--ink);
}
.sec-head-center{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:clamp(28px,4vw,44px);
  max-width:36rem;
}
.sec-head-center h2{
  margin-top:8px;
  font-size:clamp(28px,24px + 1.2vw,40px);
  font-weight:500;
  letter-spacing:-.03em;
  line-height:1.12;
}
.sec-head-center p:not(.eyebrow){
  margin-top:12px;
  margin-left:auto;
  margin-right:auto;
  font-size:var(--t-small);
  color:var(--mut);
  max-width:42ch;
  line-height:1.55;
}
@media(max-width:640px){
  .home-block{padding-top:36px;}
  .home-end .home-h{font-size:24px;letter-spacing:-.024em;}
  .home-end .home-cta-row{margin-top:18px;}
  .home-block:last-child{padding-bottom:56px;}
  .home-block:last-child{padding-bottom:72px;}
}

.home-story-grid,
.work-case-grid{
  display:grid;
  
  grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:56px 32px;
  align-items:stretch;
}
.home-story{
  display:flex;
  flex-direction:column;
  gap:0;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.home-story-media{
  position:relative;
  border-radius:var(--r-md);
  overflow:hidden;
  background:none;
  aspect-ratio:16/9;
  flex:none;
}
.home-story-media::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent);
  pointer-events:none;
}
.home-story-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  transition:transform .55s var(--ease-out);
}
.home-story-media img.media-top{object-position:center 18%;}
.home-story-media img.media-mid{object-position:center 35%;}

.home-story-media .tile-vid{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:none;
}
.home-story:hover .home-story-media .tile-vid{transform:none;}

.home-story-media img[src*="equineli-system"]{
  object-fit:contain;
  object-position:center;
  background:var(--wash);
}

.home-story-kicker{
  margin:16px 0 6px;
  font-size:10.5px;
  font-weight:650;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--accent-ink);
}
.home-story-title{
  margin:0;
  font-size:18px;
  font-weight:520;
  letter-spacing:-.016em;
  line-height:1.3;
  color:var(--ink);
  transition:color var(--dur-ui) var(--ease-out);
  text-wrap:pretty;
}

.home-story:hover .home-story-media img{transform:scale(1.012);}
.home-story:hover .home-story-title{color:var(--accent-ink);}
.home-story:focus-visible{
  outline:2px solid var(--accent-ink);
  outline-offset:4px;
  border-radius:var(--r-md);
}

.home-image-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px 14px;
}
.home-img-tile{
  display:block;
}
.home-img-media{
  position:relative;
  display:block;
  border-radius:var(--r-md);
  overflow:hidden;
  background:var(--wash);
  aspect-ratio:16/10;
}
.home-img-media::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent);
  pointer-events:none;
}
.home-img-name{
  display:block;
  margin-top:10px;
  font-size:var(--t-ui);
  font-weight:520;
  letter-spacing:-.01em;
  color:var(--mut);
  transition:color var(--dur-ui) var(--ease-out);
}
.home-img-tile:hover .home-img-name{color:var(--ink);}
.home-img-tile img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .55s var(--ease-out);
}
.home-img-tile:hover img{transform:scale(1.02);}
.home-img-tile:focus-visible{
  outline:2px solid var(--accent-ink);
  outline-offset:3px;
}
@media(max-width:899px){
  .home-image-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
}

.home-end-center{
  max-width:36rem;
  margin:0 auto;
  text-align:center;
}
.home-end .home-h{max-width:none;}
.home-end-p{
  margin:0 auto;
  font-size:var(--t-lead);
  line-height:1.55;
  color:var(--mut);
  max-width:40ch;
}
.home-end .home-cta-row{margin-top:28px;}

.shot::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent);
  pointer-events:none;
}

.hero{padding-top:72px;padding-bottom:var(--s5);}
@media(max-width:640px){.hero{padding-top:48px;padding-bottom:var(--s4);}}

.case-hero{
  padding-top:72px;
  padding-bottom:36px;
  text-align:left;
  max-width:calc(41rem + 2 * var(--pad));
  margin:0 auto;
}
.case-hero .crumb{justify-content:flex-start;margin-bottom:16px;}
.case-hero h1{
  font-size:var(--t-h1);
  font-weight:510;
  letter-spacing:-.032em;
  line-height:1.08;
  max-width:none;
  margin:0;
}
.case-hero .lede{
  margin:24px 0 0;
  max-width:41rem;
  font-size:19px;
  line-height:1.55;
  font-weight:500;
  color:var(--ink);
  text-align:left;
}
.case-hero .tools{max-width:41rem;margin:24px 0 0;justify-content:flex-start;}
.case-quote-hero{
  max-width:41rem;
  margin:8px auto 0;
  padding:48px 44px;
  border-radius:var(--r-lg);
  background:var(--ink);
}
.case-quote-hero p{
  margin:0;
  font-size:clamp(22px,18px + 1vw,30px);
  line-height:1.35;
  letter-spacing:-.02em;
  font-weight:540;
  color:var(--bg);
  max-width:32ch;
}

.case-quote-hero cite{
  display:block;
  margin-top:26px;
  font-style:normal;
  font-size:clamp(15px,13px + .3vw,18px);
  line-height:1.45;
  color:color-mix(in srgb,var(--bg) 66%,var(--ink));
}
.case-quote-hero cite b{
  display:block;
  color:var(--bg);
  font-weight:560;
  font-size:clamp(17px,15px + .35vw,21px);
  letter-spacing:-.01em;
  margin:0 0 2px;
}
@media(max-width:640px){
  .case-quote-hero{padding:36px 24px;}
}

.case-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 30px;
  max-width:41rem;
  margin:28px 0 0;
  padding:16px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  text-align:left;
}
.case-meta div{display:flex;align-items:baseline;gap:9px;}
.case-meta div span{font-size:var(--t-micro);color:var(--mut);line-height:1.4;}
.case-meta div b{font-size:var(--t-small);font-weight:520;color:var(--ink);line-height:1.5;}
.case-meta div b a{color:var(--accent-ink);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent-ink) 35%,transparent);}
.case-meta div b a:hover{border-bottom-color:var(--accent-ink);}
@media(max-width:640px){
  .case-hero{padding-top:48px;padding-bottom:24px;text-align:left;}
  .case-hero .crumb{justify-content:flex-start;}
  .case-hero h1{max-width:none;margin:0;}
  .case-hero .lede{max-width:none;}
  
  .case-meta{flex-direction:column;flex-wrap:nowrap;gap:9px;}
  .case-meta div{width:100%;gap:0;}
  .case-meta div span{flex:none;width:68px;}
  .case-meta div b{min-width:0;}
}
.hero > h1{font-size:var(--t-h1);font-weight:510;letter-spacing:-.032em;line-height:1.05;max-width:none;margin:0;}
.hero-sub{margin-top:var(--s2);font-size:var(--t-lead);line-height:1.45;color:var(--mut);max-width:46ch;font-weight:450;}
.hero-sub b{color:var(--ink);font-weight:520;}
h1{font-size:var(--t-h1);font-weight:510;letter-spacing:-.03em;line-height:1.06;}

.sec{padding-top:var(--s5);}
@media(max-width:640px){.sec{padding-top:var(--s4);}}
.sec-head{margin-bottom:var(--s3);}
p.eyebrow,
.eyebrow{
  margin:0;
  font-size:var(--t-micro);
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--accent-ink);
  line-height:1.3;
  max-width:none;
}
.sec-head .eyebrow{margin-bottom:0;}

.home-clients{padding-top:var(--s5);padding-bottom:var(--s2);}
.clients-note{margin:0 0 36px;text-align:center;font-size:var(--t-micro);font-weight:600;
  letter-spacing:.11em;text-transform:uppercase;color:var(--mut);}
.client-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:28px 64px;max-width:64rem;margin:0 auto;}

.clogo-img{display:block;height:var(--h,26px);width:auto;}
html.dark .clogo-img,html.dark-sys .clogo-img{background:#fff;border-radius:10px;
  padding:10px 16px;height:calc(var(--h,26px) + 20px);box-sizing:border-box;}
@media(prefers-color-scheme:dark){html.dark-sys .clogo-img{background:#fff;}}
@media(max-width:640px){.client-logos{gap:20px 36px;}.clogo-img{height:calc(var(--h,26px) * .82);}}
.sec-head h2{margin-top:8px;font-size:var(--t-h2);font-weight:520;letter-spacing:-.025em;}
.sec-head p:not(.eyebrow){margin-top:8px;font-size:var(--t-small);color:var(--mut);max-width:52ch;}

.shot{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--wash);box-shadow:none;}
.shot img{width:100%;display:block;transition:transform .5s var(--ease-out);}

.work-hero{
  padding-top:clamp(44px,6vw,72px);
  padding-bottom:clamp(20px,3vw,36px);
}
.work-hero-inner{max-width:36rem;}
.work-hero h1{
  margin:0;
  font-size:clamp(36px,30px + 1.6vw,52px);
  font-weight:510;
  letter-spacing:-.034em;
  line-height:1.06;
}
.work-section{
  padding-bottom:clamp(56px,7vw,88px);
}
.work-section + .work-section{padding-top:0;}

.case-pager{
  display:flex;
  align-items:stretch;
  gap:32px;
  margin-top:24px;
  margin-bottom:72px;
  padding-top:40px;
  border-top:1px solid var(--line);
  max-width:calc(41rem + 2 * var(--pad));
  margin-left:auto;
  margin-right:auto;
}
.case-pager-link{
  flex:1 1 0;
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
  min-height:48px;
  color:inherit;
}
.case-pager-next{
  flex-direction:row-reverse;
  text-align:right;
}
.case-pager-thumb{
  position:relative;
  width:48px;
  height:48px;
  border-radius:var(--r-sm);
  overflow:hidden;
  flex-shrink:0;
  background:var(--wash);
}
.case-pager-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
  transition:transform .45s var(--ease-out);
}
.case-pager-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.case-pager-dir{
  font-size:13px;
  font-weight:450;
  line-height:1.3;
  color:var(--mut);
  letter-spacing:-.01em;
}
.case-pager-name{
  font-size:15px;
  font-weight:510;
  line-height:1.3;
  letter-spacing:-.015em;
  color:var(--ink);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:color var(--dur-ui) var(--ease-out);
}
.case-pager-meta{
  font-size:12px;
  font-weight:450;
  line-height:1.3;
  color:var(--mut);
  letter-spacing:-.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.case-pager-link:hover .case-pager-name{color:var(--accent-ink);}
.case-pager-link:hover .case-pager-thumb img{transform:scale(1.04);}
.case-pager-link:focus-visible{
  outline:2px solid var(--accent-ink);
  outline-offset:4px;
  border-radius:var(--r-lg);
}
@media(max-width:640px){
  .case-pager{
    gap:16px;
    margin-top:48px;
    padding-top:28px;
  }
  .case-pager-link{gap:10px;min-height:44px;}
  .case-pager-thumb{width:40px;height:40px;border-radius:var(--r-sm);}
  .case-pager-name{font-size:13px;}
  .case-pager-dir{font-size:12px;}
  .case-pager-meta{display:none;}
}

.contact.wrap{
  
  margin-top:clamp(80px,9vw,128px);
  margin-bottom:96px;
  padding:48px var(--pad) 0;
  background:none;
  border-radius:0;
  border-top:1px solid var(--line);
  max-width:var(--wrap);
}

.contact h2{
  margin:0;
  font-size:clamp(26px,22px + 1.1vw,36px);
  font-weight:520;
  letter-spacing:-.025em;
  line-height:1.15;
  max-width:22ch;
}
.contact p{
  margin-top:14px;
  font-size:var(--t-body);
  color:var(--mut);
  max-width:38ch;
  line-height:1.5;
  font-weight:450;
}
.contact .cta-row{
  margin-top:28px;
  max-width:40rem;
}

.case-pager + .contact.wrap{margin-top:40px;}
@media(max-width:640px){
  .contact.wrap{
    margin-top:72px;
    margin-bottom:72px;
    padding:40px 22px 0;
  }
  .contact h2,.contact p{max-width:none;}
}

.site-foot{margin-top:24px;}
.foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:26px;padding-bottom:30px;flex-wrap:wrap;}
.foot-loc{display:inline-flex;align-items:center;gap:12px;font-size:var(--t-ui);color:var(--mut);}
.foot-nav{display:flex;gap:8px;}
.foot-nav a{font-size:var(--t-ui);color:var(--mut);padding:4px 8px;border-radius:var(--r-sm);transition:color var(--dur-ui) var(--ease-out);}
.foot-nav a:hover{color:var(--ink);}
.mode{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;background:var(--wash);color:var(--mut);cursor:pointer;border-radius:999px;transition:background var(--dur-ui) var(--ease-out),color var(--dur-ui) var(--ease-out);}
.mode:hover{background:var(--wash-2);color:var(--ink);}
.mode svg{position:absolute;width:18px;height:18px;fill:currentColor;transition:opacity .3s var(--ease-out),transform .45s var(--ease-out);}
.ico-day{opacity:1;transform:rotate(0) scale(1);}
.ico-night{opacity:0;transform:rotate(-70deg) scale(.6);}
html.dark .ico-day,html.dark-sys .ico-day{opacity:0;transform:rotate(70deg) scale(.6);}
html.dark .ico-night,html.dark-sys .ico-night{opacity:1;transform:rotate(0) scale(1);}
.mode:hover .ico-day,.mode:hover .ico-night{color:var(--accent);}

.crumb{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  font-size:var(--t-ui);
  font-weight:450;
  color:var(--mut);
  line-height:1.3;
}

.crumb a{
  color:var(--mut);
  transition:color var(--dur-ui) var(--ease-out);
  display:inline-flex;
  align-items:center;
  min-height:44px;
  margin:-14px 0;
  padding-right:2px;
}
.crumb a:hover{color:var(--ink);}
.crumb-sep{opacity:.45;user-select:none;}
.crumb > span:last-child{color:var(--ink);font-weight:520;}
.lede{margin-top:var(--s3);font-size:var(--t-lead);line-height:1.45;color:var(--mut);max-width:min(100%,54ch);font-weight:450;}
.tools{display:flex;align-items:center;gap:11px 22px;flex-wrap:wrap;margin-top:var(--s4);}
.tools span{display:inline-flex;align-items:center;gap:7px;font-size:var(--t-ui);color:var(--mut);}
.tools svg{width:14px;height:14px;fill:currentColor;opacity:.8;}

.phones{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2);margin-top:var(--s3);max-width:68rem;width:100vw;margin-left:50%;transform:translateX(-50%);}
@media(max-width:1160px){.phones{width:100%;margin-left:auto;transform:none;}}

.phones-2{grid-template-columns:repeat(2,1fr);max-width:41rem;margin-left:auto;margin-right:auto;}
@media(max-width:640px){.phones{grid-template-columns:repeat(2,1fr);margin-top:var(--s2);}}

.pair-wrap{margin:0 auto;max-width:48rem;width:100%;}
.pair{
  display:grid;
  
  grid-template-columns:minmax(0,1fr) 140px;
  align-items:end;
  max-width:48rem;
  width:100%;
  margin:0 auto;
  padding-bottom:8px;
}
.pair-wide{
  position:relative;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--shot-bg,var(--wash));
  aspect-ratio:16/9;
}
.pair-wide::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 12%,transparent);
  pointer-events:none;
}
.pair-wide img{width:100%;height:auto;display:block;}

.pair-phone{
  position:relative;
  margin-left:-40px;
  border-radius:16px;
  overflow:hidden;
  background:var(--shot-bg,var(--wash));
  box-shadow:0 2px 8px color-mix(in srgb,var(--shade) 10%,transparent),
             0 16px 36px -14px color-mix(in srgb,var(--shade) 26%,transparent);
}
.pair-phone::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 14%,transparent);
  pointer-events:none;
}
.pair-phone img{width:100%;height:auto;display:block;}
.pair-cap{margin:12px auto 0;max-width:48rem;font-size:var(--t-ui);color:var(--mut);line-height:1.4;}

@media(max-width:560px){
  .pair{grid-template-columns:1fr;justify-items:center;gap:var(--s2);}
  .pair-wide{width:100%;}
  .pair-phone{margin-left:0;width:132px;}
}

.phone{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--shot-bg,var(--wash));}
.phone::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 12%,transparent);
  pointer-events:none;
  z-index:2;
}

.phone-view{aspect-ratio:var(--phone-ar,656/1136);overflow:hidden;}
.phone-view img{width:100%;height:auto;display:block;}
.phone img,.phone video{width:100%;height:auto;display:block;}
.phone video{border-radius:var(--r-lg);}

.phone video:focus-visible{outline:2px solid #c54686;outline-offset:-4px;box-shadow:inset 0 0 0 4px #fff;border-radius:var(--r-lg);}
.phone-play{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#fff;}
.phone-play svg{width:44px;height:44px;filter:drop-shadow(0 2px 12px rgba(0,0,0,.55));transition:opacity var(--dur-ui) var(--ease-out),transform var(--dur-ui) var(--ease-out);}
.phone:hover .phone-play svg{transform:scale(1.04);}
.phone.playing .phone-play svg{opacity:0;}
#vplate,#vplate video{cursor:pointer;}

.case-body{
  max-width:calc(41rem + 2 * var(--pad));
  margin:0 auto;
  padding-top:56px;
  padding-bottom:8px;
}
@media(max-width:640px){.case-body{padding-top:36px;}}

.case-hero + .case-body{padding-top:20px;}
@media(max-width:640px){.case-hero + .case-body{padding-top:12px;}}

.case-hero + .set-body{padding-top:20px;}
@media(max-width:640px){.case-hero + .set-body{padding-top:12px;}}
.set-body > .browser{margin-top:0;}

.set-body > .browser + .browser{margin-top:-24px;}
.case-sec{margin-top:56px;}
.case-sec:first-child{margin-top:0;}

.case-sec h2{
  font-size:clamp(19px,17px + .4vw,23px);
  font-weight:560;
  letter-spacing:-.018em;
  line-height:1.25;
  color:var(--ink);
}
.case-sec p{
  margin-top:14px;
  color:var(--ink);
  line-height:1.65;
  font-weight:450;
  font-size:16px;
  letter-spacing:-.008em;
  max-width:60ch;
}

.set-note{margin-top:var(--s3);}
.set-note p{
  margin:0 0 14px;
  color:var(--ink);
  line-height:1.65;
  font-weight:450;
  font-size:16px;
  letter-spacing:-.008em;
  max-width:60ch;
}
.set-note p:last-child{margin-bottom:0;}
.case-sec ul{
  list-style:none;
  margin-top:14px;
  padding:0;
  color:var(--ink);
  max-width:60ch;
}
.case-sec li{
  margin-top:8px;
  line-height:1.6;
  padding:0;
}

.browser{margin:var(--s3) auto 0;max-width:56rem;width:100%;}

.case-sec + .browser{margin-top:56px;}

.case-body .browser,.case-sec .browser{max-width:56rem;width:100vw;margin-left:50%;transform:translateX(-50%);}
@media(max-width:980px){.case-body .browser,.case-sec .browser{width:100%;margin-left:auto;transform:none;}}

.browser-frame{
  position:relative;
  border-radius:var(--r-md);
  overflow:hidden;
  background:var(--shot-bg,var(--wash));
}

.browser-frame::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 12%,transparent);
  pointer-events:none;
}

.browser-view{
  aspect-ratio:16/9;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:transparent transparent;
}
.browser-frame:hover .browser-view,
.browser-view:focus-visible{
  scrollbar-color:color-mix(in srgb,var(--ink) 30%,transparent) transparent;
}
@media(pointer:coarse){
  .browser-view{aspect-ratio:auto;overflow-y:visible;}
}

.browser-view:focus-visible{outline:2px solid #c54686;outline-offset:-4px;box-shadow:inset 0 0 0 4px #fff;}
.browser-view img{width:100%;height:auto;display:block;}
@media(max-width:640px){
  .browser{margin-top:var(--s2);}
}
.case-shots{display:grid;grid-template-columns:1fr;gap:var(--s3);margin-top:8px;max-width:56rem;margin-left:auto;margin-right:auto;}
@media(min-width:720px){.case-shots.case-shots-2{grid-template-columns:1fr 1fr;}}
.case-shots .shot{background:none;}
.case-shots .shot::after{display:none;}
.case-shots .shot img{width:100%;height:auto;display:block;}

.case-shots figure.shot{overflow:visible;background:none;}

.case-shots figure.shot::after{display:none;}
.case-shots figure.shot img{border-radius:var(--r-lg);background:var(--wash);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent);}
.case-shots figcaption{margin-top:12px;font-size:var(--t-ui);color:var(--mut);line-height:1.4;}
.seq{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:16px;
  padding:0;
  font-size:var(--t-small);
  color:var(--mut);
}
.seq b{color:var(--ink);font-weight:560;}
.seq i{font-style:normal;opacity:.35;}
@media(max-width:640px){
  .seq{flex-direction:column;align-items:flex-start;gap:7px;counter-reset:step;}
  .seq i{display:none;}
  
  .seq > span::before,.seq > b::before{counter-increment:step;content:counter(step) ".";
    display:inline-block;width:20px;margin-right:0;color:var(--mut);font-weight:450;
    font-variant-numeric:tabular-nums;}
}

.case-body > .case-quote:last-child{margin-bottom:0;}
.case-quote{
  margin:52px 0;
  padding:0;
  background:none;
  border:0;
  border-radius:0;
  max-width:none;
}
.case-quote p{
  margin:0;
  font-size:21px;
  line-height:1.45;
  letter-spacing:-.02em;
  color:var(--ink);
  font-weight:560;
  text-indent:-.45em;
}
.case-quote p::before{content:"\201C";}
.case-quote p::after{content:"\201D";}

.case-quote .who{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:16px;
  flex-wrap:wrap;
}
.case-quote .who img{
  width:40px;
  height:40px;
  flex:none;
  border-radius:50%;
  object-fit:cover;
  background:var(--wash);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent);
}

.case-quote .who > div{min-width:0;}
.case-quote .who b{display:block;font-size:var(--t-small);font-weight:590;line-height:1.3;letter-spacing:-.012em;color:var(--ink);}
.case-quote .who span{display:block;margin-top:2px;font-size:var(--t-ui);color:var(--mut);line-height:1.3;}

main:has(.resume-head) .wrap{max-width:calc(44rem + 2 * var(--pad));}
.resume-head{padding-top:var(--s6);padding-bottom:var(--s5);}

@media(max-width:640px){.resume-head{padding-top:var(--s6);}}

.resume-id{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:32px;
}

.resume-portrait{
  order:2;
  width:104px;
  height:104px;
  flex:none;
}
.resume-id-copy{min-width:0;flex:1;}
.resume-head h1{font-size:var(--t-h1);max-width:none;margin:0;}
.resume-role{margin-top:10px;font-size:var(--t-lead);color:var(--mut);}
.resume-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:var(--s3);font-size:var(--t-ui);color:var(--mut);}
.resume-meta a{color:var(--accent-ink);transition:color var(--dur-ui) var(--ease-out);}
.resume-meta a:hover{color:var(--accent);}
.resume-summary{margin-top:var(--s4);font-size:var(--t-lead);line-height:1.62;max-width:60ch;}
.resume-summary b{font-weight:520;}
.resume-actions{margin-top:var(--s4);}

@media(max-width:560px){
  .resume-id{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px;}
  .resume-portrait{order:0;width:84px;height:84px;}
  .resume-id-copy{flex:none;width:100%;}
}

.xp{margin-top:var(--s3);}
.xp-h{font-size:var(--t-micro);font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--mut);padding-bottom:var(--s3);}
.role{position:relative;padding:var(--s4) 0 var(--s4) var(--s4);border-top:1px solid var(--line);}
@media(max-width:640px){.role{padding-left:0;}}
.role::before{content:"";position:absolute;left:0;top:calc(var(--s4) + 4px);width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--accent) 55%,transparent);}
@media(max-width:640px){.role::before{display:none;}}
.role-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;}
.role-top h3{font-size:var(--t-h3);font-weight:600;letter-spacing:-.01em;}
.role-top h3 span{color:var(--accent-ink);}
.role-when{font-size:var(--t-ui);color:var(--mut);white-space:nowrap;}
.role ul{list-style:none;margin-top:var(--s2);display:flex;flex-direction:column;gap:9px;}
.role li{position:relative;padding-left:18px;font-size:var(--t-small);color:var(--mut);line-height:1.55;max-width:70ch;}
.role li b{color:var(--ink);font-weight:520;}

@media(max-width:640px){
  .role-top{flex-direction:column;align-items:flex-start;gap:3px;}
  .role-when{white-space:normal;}
  .role li{padding-left:0;}
}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s3);}
.chip{font-size:var(--t-ui);color:var(--ink);background:var(--wash);border-radius:999px;padding:7px 13px;}
.edu{margin-top:var(--s3);display:flex;flex-direction:column;gap:var(--s2);}
.edu div b{font-size:var(--t-small);font-weight:560;}
.edu div span{display:block;font-size:var(--t-ui);color:var(--mut);margin-top:2px;}

.err{
  padding-top:120px;
  padding-bottom:120px;
  text-align:center;
  max-width:40rem;
  margin:0 auto;
}
.err .eyebrow{color:var(--mut);letter-spacing:.08em;}
.err h1{
  margin-top:16px;
  font-size:var(--t-h1);
  font-weight:510;
  letter-spacing:-.032em;
  line-height:1.05;
}
.err p{
  margin:18px auto 0;
  color:var(--mut);
  max-width:32ch;
  font-size:var(--t-lead);
  line-height:1.45;
  font-weight:450;
}
.err .cta-row{margin-top:32px;justify-content:center;}
@media(max-width:640px){
  .err{padding-top:80px;padding-bottom:80px;}
}
.nsync{position:relative;display:inline-flex;}
@media(max-width:600px){.nsync{width:100%;}}
.nsync-pill{position:absolute;left:50%;bottom:calc(100% + 11px);transform:translate(-50%,6px);white-space:nowrap;font-size:var(--t-micro);font-weight:560;letter-spacing:.01em;color:var(--bg);background:var(--ink);padding:6px 12px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity var(--dur-ui) var(--ease-out),transform var(--dur-ui) var(--ease-out);}
.nsync-pill::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--ink);}
.nsync:hover .nsync-pill,.nsync:focus-within .nsync-pill{opacity:1;transform:translate(-50%,0);}

@media(max-width:640px){
  .case-body{padding-top:36px;}
  .case-sec{margin-top:40px;}
  .case-sec p,.case-sec ul,.lede,.contact p,.case-sec h2,.case-quote{max-width:none;}
  .phones{margin-top:var(--s2);}
  .case-shots{margin-top:var(--s2);}
  .case-quote{margin:40px 0;padding:0;background:none;}
  .case-quote p{font-size:19px;}
  .contact h2{max-width:none;}
}

@media(max-width:640px){
  .nav-links a{min-height:44px;display:inline-flex;align-items:center;}
  .foot-nav a{min-height:44px;display:inline-flex;align-items:center;}
  .mode{width:44px;height:44px;}
  .foot{flex-direction:column;align-items:flex-start;gap:20px;}
  .foot-loc{width:100%;justify-content:space-between;}
  .foot-nav{width:100%;justify-content:space-around;}
  .mark-link{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;margin-left:-9px;}
  
  .resume-meta{flex-direction:column;align-items:flex-start;gap:0;margin-top:var(--s2);}
  .resume-meta > *{min-height:44px;display:inline-flex;align-items:center;}
}
@media(max-width:600px){.feature-copy .btn-line{width:100%;justify-content:center;}}

.offer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s2);}
@media(max-width:720px){.offer-grid{grid-template-columns:1fr;}}
.offer{padding:var(--s3) var(--s3) var(--s3) calc(var(--s3) - 2px);border-radius:var(--r);background:var(--wash);box-shadow:0 0 0 1px var(--line);border-left:2px solid color-mix(in srgb,var(--accent) 50%,transparent);display:flex;flex-direction:column;gap:8px;min-height:100%;}
.offer h3{font-size:var(--t-small);font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:0;}
.offer p{font-size:var(--t-ui);line-height:1.5;color:var(--mut);margin:0;flex:1;}
a.offer-link{transition:background var(--dur-ui) var(--ease-out),transform var(--dur-ui) var(--ease-out),box-shadow var(--dur-ui) var(--ease-out);}
a.offer-link:hover{background:var(--wash-2);transform:translateY(-2px);box-shadow:0 0 0 1px var(--line);}
a.offer-link:active{transform:translateY(0) scale(.99);}
.offer-go{font-size:var(--t-ui);font-weight:560;color:var(--accent-ink);display:inline-flex;align-items:center;gap:5px;margin-top:4px;}
a.offer-link:hover .offer-go .arr{transform:translateX(3px);}
@media(max-width:600px){a.offer-link{min-height:auto;}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  .avail b::after{display:none;}
}

.set-body{max-width:1000px;margin:0 auto;padding-top:40px;display:flex;flex-direction:column;gap:56px;}

.set-body > .case-quote{max-width:41rem;width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;}

.set-shot{margin:0 auto;max-width:41rem;width:100%;}
.set-shot figcaption{margin-top:12px;font-size:var(--t-ui);color:var(--mut);line-height:1.4;}
@media(max-width:640px){.set-body{padding-top:28px;gap:36px;}}

.home-proof .sec-head{margin-bottom:clamp(20px,3vw,44px);}
.home-proof{position:relative;}

.home-proof::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  
  height:88px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(to bottom,
    transparent 0%,
    color-mix(in srgb,var(--bg) 14%,transparent) 42%,
    color-mix(in srgb,var(--bg) 46%,transparent) 68%,
    color-mix(in srgb,var(--bg) 82%,transparent) 87%,
    var(--bg) 100%);
}

ul.quotes {
  list-style: none;
  padding: 0;
  margin: 0 auto;
}
.quotes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px 28px;
  align-items:start;
  max-width:62rem;
  margin:0 auto;
}
@media(max-width:720px){.quotes{grid-template-columns:1fr;gap:12px;}}
.quote{
  margin:0;
  background:var(--bg);
  border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);
  border-radius:var(--r-lg);
  padding:26px 26px 24px;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
  box-shadow:none;
  transition:
    border-color var(--dur-ui) var(--ease-out),
    box-shadow var(--dur-ui) var(--ease-out),
    transform var(--dur-ui) var(--ease-out);
}
.quote p{
  margin:0;
  font-size:15px;
  line-height:1.55;
  letter-spacing:-.011em;
  color:var(--ink);
  overflow-wrap:break-word;
}
.quote .who{
  display:flex;
  align-items:flex-start;
  gap:11px;
}
.quote .who img{
  display:block;
  width:40px;
  height:40px;
  border-radius:50%;
  object-fit:cover;
  object-position:center top;
  flex:none;
  background:var(--wash);
}
.quote .who .mono{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--wash);
  color:var(--mut);
  font-size:var(--t-ui);
  font-weight:590;
  letter-spacing:.03em;
  flex:none;
}
.quote .who > div{min-width:0;}
.quote .who b{
  display:block;
  font-size:var(--t-small);
  font-weight:590;
  line-height:1.3;
  letter-spacing:-.012em;
}
.quote .who span{
  display:block;
  margin-top:2px;
  font-size:var(--t-ui);
  color:var(--mut);
  line-height:1.3;
}

a.quote-link{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  position:relative;
}
a.quote-link .who{padding-right:22px;}
a.quote-link::after{
  content:"\2192";
  position:absolute;
  top:22px;
  right:18px;
  font-size:var(--t-small);
  line-height:1;
  color:var(--mut);
  transition:color var(--dur-ui) var(--ease-out),transform var(--dur-ui) var(--ease-out);
}
a.quote-link:hover::after{
  color:var(--accent-ink);
  transform:translateX(3px);
}
a.quote-link:hover{
  border-color:color-mix(in srgb,var(--ink) 18%,transparent);
  box-shadow:0 8px 24px color-mix(in srgb,var(--shade) 6%,transparent);
  transform:translateY(-1px);
}
a.quote-link:hover .who b{color:var(--accent-ink);}
a.quote-link:focus-visible{
  outline:2px solid var(--accent-ink);
  outline-offset:3px;
}

@media(max-width:720px){
  .quote{margin:0;padding:20px 18px 18px;}
}
@media(prefers-reduced-motion:reduce){
  a.quote-link{transition:none;}
  a.quote-link:hover{transform:none;}
  .home-story:hover .home-story-media img,
  .home-img-tile:hover img{transform:none;}
}

.beat{max-width:41rem;width:100%;margin:0 auto;}
.beat + .beat{margin-top:64px;}

.beat-h{
  font-size:clamp(19px,17px + .4vw,23px);
  font-weight:560;
  letter-spacing:-.018em;
  line-height:1.25;
  color:var(--ink);
  margin:0 0 14px;
}
.beat p{margin:0 0 14px;color:var(--ink);line-height:1.65;font-weight:450;font-size:16px;letter-spacing:-.008em;max-width:60ch;}
.beat p:last-of-type{margin-bottom:0;}
.beat-figs{display:grid;gap:var(--s2);margin-top:24px;}

@media(max-width:900px){.beat-wide{width:100%;margin-left:0;transform:none;}}
.beat-two{grid-template-columns:1fr 1fr;}
.beat-three{grid-template-columns:repeat(3,1fr);}
@media(max-width:640px){.beat-two,.beat-three{grid-template-columns:1fr;}}

.beat-fig{margin:0;}

.beat-fig .shot{background:none;border-radius:var(--r-md);overflow:hidden;}
.beat-fig .shot::after{display:none;}
.beat-fig img{width:100%;height:auto;display:block;}
.beat-fig figcaption{margin-top:10px;font-size:var(--t-ui);color:var(--mut);line-height:1.45;}

.beat-mark .beat-fig{text-align:center;}
.beat-mark .beat-fig .shot{width:fit-content;margin:0 auto;padding:0;}
.beat-mark .beat-fig img{width:auto;max-width:100%;height:auto;max-height:300px;margin:0 auto;}

@media(max-width:1080px){.beat-full{width:100%;margin-left:0;transform:none;}}

.board{display:flex;flex-direction:column;gap:76px;max-width:1180px;margin:0 auto;}

.bd-markart{display:flex;}
.bd-markart img{width:auto;height:auto;max-height:280px;max-width:min(100%,560px);display:block;}
.bd-book{display:flex;}
.bd-book img{width:auto;height:auto;max-height:460px;max-width:100%;display:block;
  border-radius:10px;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent),
             0 22px 44px -26px color-mix(in srgb,var(--shade) 34%,transparent);}
@media(max-width:820px){
  .bd-item{max-width:none;}
  
  .bd-media{order:1;}
  .bd-meta{order:2;margin:11px 0 0;}
  .bd-client{font-size:10px;margin-bottom:4px;}
  .bd-what{font-size:19px;letter-spacing:-.018em;}
  .bd-meta .chips{margin-top:7px;}
  .chip{font-size:11px;}
  .board{gap:44px;}
  .bd-markart img{max-height:200px;}
  .bd-book img{max-height:360px;}
  
  .bd-k-phones .bd-media{overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;scrollbar-width:none;
    margin-right:-22px;padding-right:22px;}
  .bd-k-phones .bd-media::-webkit-scrollbar{display:none;}
  .bd-k-phones .bd-phones{display:flex;width:max-content;max-width:none;
    margin:0;gap:14px;}
  .bd-k-phones .bd-phone{width:172px;flex:none;scroll-snap-align:start;}
}

.bd-item{display:flex;flex-direction:column;color:inherit;text-decoration:none;
  min-width:0;cursor:pointer;max-width:880px;margin-inline:auto;width:100%;}

.bd-media{position:relative;display:block;
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out);}
.bd-item:hover .bd-media{transform:translateY(-4px);}

.bd-screen{border-radius:10px;overflow:hidden;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent),
             0 26px 50px -28px color-mix(in srgb,var(--shade) 34%,transparent);}
.bd-screen img{width:100%;height:auto;display:block;}

.bd-window{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:16/9;
  background:var(--shot-bg,var(--wash));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent),
             0 26px 50px -28px color-mix(in srgb,var(--shade) 34%,transparent);}
.bd-window img{width:100%;height:auto;display:block;}

.bd-phone{border-radius:12px;overflow:hidden;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 9%,transparent),
             0 22px 44px -26px color-mix(in srgb,var(--shade) 38%,transparent);}
.bd-phone img{width:100%;height:auto;display:block;}

.bd-phones{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}

.bd-pair{display:grid;grid-template-columns:minmax(0,1fr) 24%;align-items:end;gap:12px;}

.bd-meta{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;margin-top:26px;}
.bd-client{font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mut);flex:none;}
.bd-what{font-size:20px;font-weight:500;letter-spacing:-.014em;line-height:1.3;color:var(--ink);
  transition:color var(--dur-ui) var(--ease-out);}
.bd-go{margin-left:auto;font-size:var(--t-ui);font-weight:500;color:var(--accent-ink);
  white-space:nowrap;opacity:0;transform:translateX(-6px);
  transition:opacity var(--dur-ui) var(--ease-out),transform var(--dur-ui) var(--ease-out);}
.bd-item:hover .bd-what{color:var(--accent-ink);}
.bd-item:hover .bd-go,.bd-item:focus-visible .bd-go{opacity:1;transform:none;}
.bd-item:focus-visible{outline:2px solid var(--accent-ink);outline-offset:8px;border-radius:14px;}

@media(pointer:coarse){.bd-go{opacity:1;transform:none;}}

.ix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 44px;
  max-width:1180px;margin:0 auto;}
.ix-item{display:block;color:inherit;text-decoration:none;min-width:0;cursor:pointer;}
.ix-media{display:flex;align-items:flex-end;height:300px;}
.ix-media img{max-height:300px;width:auto;max-width:100%;height:auto;display:block;
  border-radius:10px;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent),
             0 16px 32px -22px color-mix(in srgb,var(--shade) 30%,transparent);
  transition:transform .45s var(--ease-out);}
.ix-item:hover .ix-media img{transform:translateY(-3px);}
.ix-meta{display:block;margin-top:18px;}
.ix-client{display:block;font-size:10.5px;font-weight:650;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mut);margin-bottom:5px;}
.ix-what{display:block;font-size:17px;font-weight:500;letter-spacing:-.012em;line-height:1.32;
  color:var(--ink);transition:color var(--dur-ui) var(--ease-out);}
.ix-item:hover .ix-what{color:var(--accent-ink);}
.ix-item:focus-visible{outline:2px solid var(--accent-ink);outline-offset:6px;border-radius:12px;}
@media(max-width:720px){
  .ix{grid-template-columns:1fr;gap:44px;}
  .ix-media{height:230px;}
  .ix-media img{max-height:230px;}
}

.case-proofline{max-width:41rem;margin:26px 0 0;padding:0;}
.case-proofline blockquote{margin:0;font-size:17px;font-weight:450;line-height:1.55;
  letter-spacing:-.01em;color:var(--ink);}
.case-proofline blockquote::before{content:"\201C";}
.case-proofline blockquote::after{content:"\201D";}
.case-proofline figcaption{margin-top:10px;font-size:var(--t-ui);color:var(--mut);}

.lead{margin-top:var(--s4);}
.lead-fig{margin:0;}
.lead-fig > img{width:100%;height:auto;display:block;border-radius:12px;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent),
             0 26px 50px -28px color-mix(in srgb,var(--shade) 34%,transparent);}
.lead-fig .browser-frame{border-radius:12px;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent),
             0 26px 50px -28px color-mix(in srgb,var(--shade) 34%,transparent);}
.lead-fig .browser-view{aspect-ratio:16/9;}
.lead-fig figcaption,.pairfig figcaption{margin-top:16px;font-size:var(--t-ui);color:var(--mut);}

.lead .lead-fig,.lead .pairfig{max-width:1180px;margin-inline:auto;}
.lead-phones .phones{max-width:1180px;width:100%;margin-inline:auto;transform:none;}
.pairfig{margin:0;display:grid;grid-template-columns:minmax(0,1fr) 20%;align-items:end;
  gap:28px;}
.pairfig figcaption{grid-column:1 / -1;}
.pairfig-wide,.pairfig-phone{border-radius:12px;overflow:hidden;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent),
             0 22px 44px -26px color-mix(in srgb,var(--shade) 32%,transparent);}
.pairfig-phone{border-radius:16px;}
.pairfig img{width:100%;height:auto;display:block;}
@media(max-width:720px){
  .pairfig{grid-template-columns:1fr;justify-items:start;}
  .pairfig-phone{width:46%;}
  .case-proofline blockquote{font-size:16px;}
}

.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}

.chip{display:inline-block;font-size:11px;font-weight:520;letter-spacing:.015em;
  color:var(--mut);background:var(--wash);padding:4px 9px;border-radius:6px;
  border:0;white-space:nowrap;}
.chips{gap:6px;}
.bd-meta .chip{margin-top:0;}
.bd-meta{align-items:center;}

.case-hero{padding-bottom:0;}
.lead{margin-top:56px;}
.set-body{padding-top:80px;padding-bottom:0;gap:0;display:block;
  max-width:var(--wrap);margin-inline:auto;}
.lead + .set-body{padding-top:80px;}
.beat{max-width:41rem;width:100%;margin:0 auto;}
.beat + .beat{margin-top:80px;}
.beat-h{margin:0 0 18px;}
.beat p{margin:0 0 16px;}
.beat p:last-of-type{margin-bottom:0;}
.beat-figs{margin-top:32px;}
.beat-pair{margin-top:32px;max-width:1180px;}

.beat-fig-phonepage{max-width:430px;}
.beat-fig-phonepage .browser-view{aspect-ratio:9/16;}
.beat-fig figcaption{margin-top:14px;}

.set-body + .case-body{padding-top:88px;}
.case-body + .contact,.set-body + .contact{padding-top:88px;}
.contact.wrap{padding-bottom:96px;}
@media(max-width:640px){
  .lead{margin-top:36px;}
  .set-body,.lead + .set-body{padding-top:52px;}
  .beat + .beat{margin-top:56px;}
  .beat-figs{margin-top:24px;}
  .set-body + .case-body,.case-body + .contact,.set-body + .contact{padding-top:60px;}
}

.case-hero > h1,
.case-hero > .lede,
.case-hero > .case-meta,
.case-hero > .case-proofline,
.case-hero > .set-note,
.beat,
.case-body > .case-quote{
  margin-left:0;
  margin-right:auto;
}
.case-hero > h1{max-width:34rem;}
.case-hero > .lede,.case-hero > .set-note{max-width:41rem;}
.case-hero > .case-meta{max-width:none;}
.case-body > .case-quote{max-width:41rem;}

.lead-fig figcaption,.pairfig figcaption,.beat-fig figcaption{margin-left:0;}

.beat-figs{width:100%;max-width:100%;margin-left:0;transform:none;}
.beat{max-width:none;}
.beat > .beat-h,.beat > p{max-width:41rem;}
.beat-figs.beat-one{max-width:56rem;}
.beat-figs.beat-two,.beat-figs.beat-three{max-width:none;}
.beat-mark .beat-fig{text-align:left;}
.beat-mark .beat-fig .shot{margin-left:0;}

main .case-hero,
main .set-body,
main .lead,
main .case-body,
main .contact.wrap{
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--pad);
  width:100%;
  box-sizing:border-box;
}
@media(max-width:640px){
  main .case-hero,main .set-body,main .lead,main .case-body,main .contact.wrap{padding-inline:22px;}
}

main .case-hero > *,
main .lead > *,
main .set-body > *,
main .case-body > *,
main .beat > *{
  margin-left:0;
  margin-right:auto;
}

main .case-hero > h1{max-width:34rem;}
main .case-hero > .lede,
main .case-hero > .set-note,
main .case-hero > .case-proofline,
main .beat > .beat-h,
main .beat > p,
main .case-body > .case-quote{max-width:41rem;}
main .case-hero > .case-meta{max-width:56rem;}
main .beat{max-width:none;}
main .beat > .beat-figs,
main .lead > .lead-fig,
main .lead > .pairfig,
main .lead > .lead-phones{max-width:none;width:100%;transform:none;}

main .beat-figs,main .lead-fig,main .pairfig,main .phones{
  transform:none;margin-left:0;width:100%;max-width:100%;
}
main .beat-fig img,main .lead-fig img,main .pairfig img{max-width:100%;}

main .case-meta{display:flex;flex-wrap:wrap;gap:10px 34px;align-items:baseline;}

.outcome{max-width:41rem;margin:24px 0 0;padding:18px 0 0;
  border-top:1px solid var(--line);}
.outcome.is-said{border-top:0;padding-top:0;margin-top:26px;}
.outcome.is-said blockquote{margin:0;font-size:clamp(17px,15px + .45vw,20px);
  font-weight:450;line-height:1.5;letter-spacing:-.014em;color:var(--ink);}
.outcome.is-said blockquote p{margin:0 0 12px;}
.outcome.is-said blockquote p:last-child{margin-bottom:0;}
.outcome.is-said blockquote p:first-child::before{content:"\201C";}
.outcome.is-said blockquote p:last-child::after{content:"\201D";}
.outcome.is-said .who{display:flex;align-items:center;gap:11px;margin-top:14px;}
.outcome.is-said .who img{width:34px;height:34px;border-radius:999px;object-fit:cover;
  flex:none;}
.outcome.is-said .who span{font-size:var(--t-small);color:var(--mut);line-height:1.35;}
.outcome-stat{
  display:block;font-size:clamp(19px,17px + .5vw,23px);font-weight:580;
  letter-spacing:-.022em;line-height:1.2;color:var(--ink);
}
.outcome-line,.outcome-quote{
  margin:9px 0 0;font-size:16px;font-weight:450;line-height:1.55;
  letter-spacing:-.008em;color:var(--mut);
}
.outcome-quote{color:var(--ink);}
.outcome-quote::before{content:"\201C";}
.outcome-quote::after{content:"\201D";}
.outcome-who{
  display:block;margin-top:8px;font-size:var(--t-ui);font-style:normal;color:var(--mut);
}
main .case-hero > .outcome{max-width:41rem;margin-left:0;margin-right:auto;}

.case-proofline{display:none;}

.beat-figs.beat-two,.beat-figs.beat-three{align-items:stretch;}
.beat-figs.beat-two > .beat-fig,
.beat-figs.beat-three > .beat-fig{display:flex;flex-direction:column;min-width:0;}

.beat-figs.beat-two > .beat-fig > .shot,
.beat-figs.beat-three > .beat-fig > .shot{
  
  position:relative;display:block;width:100%;margin:0;
  aspect-ratio:16/10;padding:0;overflow:hidden;
  background:var(--plate,var(--wash));border-radius:var(--r-md);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 7%,transparent);
}
.beat-figs.beat-two > .beat-fig > .shot > img,
.beat-figs.beat-three > .beat-fig > .shot > img{
  position:absolute;inset:20px;width:calc(100% - 40px);height:calc(100% - 40px);
  max-width:none;max-height:none;object-fit:contain;
}
.beat-figs.beat-two > .beat-fig > figcaption,
.beat-figs.beat-three > .beat-fig > figcaption{margin-top:12px;}

.beat-figs.beat-mark > .beat-fig > .shot > img{
  inset:12% 14%;width:auto;height:auto;max-width:72%;max-height:76%;
  margin:auto;
}
.beat-mark .beat-figs.beat-one .beat-fig > .shot,
.beat-figs.beat-mark.beat-one .beat-fig > .shot{
  position:relative;display:block;width:100%;margin:0;
  aspect-ratio:16/7;padding:0;overflow:hidden;
  background:var(--plate,var(--wash));border-radius:var(--r-md);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 7%,transparent);
}
.beat-mark .beat-figs.beat-one .beat-fig > .shot > img,
.beat-figs.beat-mark.beat-one .beat-fig > .shot > img{
  position:absolute;inset:0;margin:auto;width:auto;height:auto;
  max-width:64%;max-height:74%;object-fit:contain;
}
@media(max-width:640px){
  .beat-figs.beat-two,.beat-figs.beat-three{grid-template-columns:1fr;}
  .beat-figs.beat-two > .beat-fig > .shot,
  .beat-figs.beat-three > .beat-fig > .shot{aspect-ratio:16/10;}
  .beat-figs.beat-two > .beat-fig > .shot > img,
  .beat-figs.beat-three > .beat-fig > .shot > img{inset:14px;
    width:calc(100% - 28px);height:calc(100% - 28px);}
}

.bd-meta{display:block;margin:0 0 20px;}

.bd-dot{display:inline-block;width:.3em;height:.3em;margin-left:.18em;
  border-radius:50%;background:var(--accent);vertical-align:baseline;
  transform:scale(0);transform-origin:30% 70%;
  transition:transform .34s cubic-bezier(.3,1.6,.5,1);}
.bd-item:hover .bd-dot,.bd-item:focus-visible .bd-dot{transform:scale(1);}

@media(prefers-reduced-motion:reduce){.bd-dot{transition:none;}}
.bd-client{display:block;font-size:11px;font-weight:650;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mut);margin-bottom:6px;}

.bd-what{display:block;font-size:clamp(21px,18px + .55vw,26px);font-weight:540;
  letter-spacing:-.022em;line-height:1.22;color:var(--ink);max-width:24ch;
  transition:color var(--dur-ui) var(--ease-out);}
.bd-meta .chips{margin-top:11px;}
.bd-go{display:none;}
@media(max-width:820px){
  .bd-meta{margin:0 0 14px;}
  .bd-what{font-size:17px;}
}

.ix{gap:44px 40px;}

.ix-media{position:relative;display:flex;align-items:flex-end;justify-content:flex-start;
  height:340px;padding:0;background:none;border-radius:0;box-shadow:none;overflow:visible;}
.ix-media img{position:static;width:auto;height:auto;max-width:100%;max-height:340px;
  object-fit:contain;display:block;border-radius:8px;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent),
             0 18px 36px -26px color-mix(in srgb,var(--shade) 34%,transparent);
  transition:transform .45s var(--ease-out);}
.ix-item:hover .ix-media img{transform:translateY(-3px);}
.ix-meta{margin-top:16px;}
@media(max-width:720px){
  .ix{grid-template-columns:1fr;gap:36px;}
  
  .ix-media{height:auto;}
  .ix-media img{max-height:300px;}
}

html.sheet-open,html.sheet-open body{overflow:hidden;}
.sheet-root{position:fixed;inset:0;z-index:120;}
.sheet-root[hidden]{display:none;}
.sh-scrim{position:absolute;inset:0;background:color-mix(in srgb,#090a0d 46%,transparent);
  -webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%);
  opacity:0;transition:opacity .4s var(--ease-out);}
.sheet-root.on .sh-scrim{opacity:1;}
.sh{
  
  position:absolute;
  transform:translate(-50%,103%);transform-origin:50% 100%;
  background:var(--bg);overflow:hidden;
  display:grid;grid-template-rows:auto minmax(0,1fr);
  box-shadow:0 22px 64px -22px rgba(0,0,0,.42),
             0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent);
  
  transition:transform .38s var(--ease-in);
}
.sheet-root.on .sh{transform:translate(-50%,0);
  transition:transform .64s cubic-bezier(.24,1.06,.32,1);}

@media(prefers-reduced-motion:reduce){
  .sh,.sh-scrim{transition:none;}
}

.sh-grab{position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:96px;height:24px;z-index:6;display:flex;align-items:center;justify-content:center;
  background:none;border:0;padding:0;cursor:pointer;}
.sh-grab::before{content:"";width:44px;height:5px;border-radius:999px;
  background:color-mix(in srgb,var(--ink) 20%,transparent);
  transition:background var(--dur-ui) var(--ease-out),width var(--dur-ui) var(--ease-out);}
.sh-grab:hover::before,.sh-grab:focus-visible::before{
  background:var(--accent-ink);width:56px;}
.sh-grab:focus-visible{outline:none;}
.sh-x{position:absolute;top:14px;right:16px;z-index:9;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  background:color-mix(in srgb,var(--bg) 78%,transparent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent);
  display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  border:0;padding:0;cursor:pointer;border-radius:999px;
  background:var(--wash);color:var(--mut);
  transition:background var(--dur-ui) var(--ease-out),color var(--dur-ui) var(--ease-out),
             transform var(--dur-ui) var(--ease-out);}
.sh-x:hover{background:var(--wash-2);color:var(--ink);}
.sh-x:active{transform:scale(.93);}
.sh-x svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;}
.sh-rail{display:flex;align-items:center;gap:20px;
  padding:19px 58px 15px 30px;border-bottom:1px solid var(--line);min-width:0;}
.sh-id{min-width:0;display:flex;flex-direction:column;gap:1px;}
.sh-id-client{font-size:10.5px;font-weight:650;letter-spacing:.11em;
  text-transform:uppercase;color:var(--mut);}
.sh-id-what{font-size:15px;font-weight:540;letter-spacing:-.014em;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sh-rail-r{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none;}

.sh-say{height:36px;padding:0 18px;white-space:nowrap;}

.sh-btn,.sh-round{position:relative;display:inline-flex;align-items:center;
  justify-content:center;border:0;padding:0;cursor:pointer;border-radius:999px;
  background:var(--wash);color:var(--mut);
  transition:background var(--dur-ui) var(--ease-out),color var(--dur-ui) var(--ease-out),
             transform var(--dur-ui) var(--ease-out),opacity var(--dur-ui) var(--ease-out);}
.sh-btn{width:36px;height:36px;}
.sh-btn:hover,.sh-round:hover{background:var(--wash-2);color:var(--ink);}
.sh-btn:active,.sh-round:active{transform:scale(.93);}
.sh-btn:focus-visible,.sh-round:focus-visible,.sh-dot:focus-visible{
  outline:2px solid var(--accent-ink);outline-offset:2px;}
.sh-btn svg,.sh-round svg{width:17px;height:17px;fill:none;stroke:currentColor;
  stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;
  transition:transform var(--dur-ui) var(--ease-out);}
.sh-round:hover svg{color:var(--accent-ink);}
.sh-gprev:hover svg{transform:translateX(-2px);}
.sh-gnext:hover svg{transform:translateX(2px);}

.sh-body{position:relative;display:grid;grid-template-columns:62% minmax(0,1fr);
  min-height:0;}
.sh-mhead{display:none;}
.sh-cta{display:none;}

.sh-grip{position:absolute;top:0;bottom:0;width:18px;z-index:8;cursor:col-resize;
  background:none;border:0;padding:0;touch-action:none;}
.sh-grip::after{content:"";position:absolute;top:0;bottom:0;left:9px;width:1px;
  background:var(--line);transition:background var(--dur-ui) var(--ease-out);}
.sh-grip:hover::after,.sh-grip:focus-visible::after,.sheet-root.dragging .sh-grip::after{
  background:var(--accent-ink);}
.sh-grip:focus-visible{outline:none;}
.sheet-root.dragging{cursor:col-resize;user-select:none;}
.sheet-root.dragging .sh-slides{scroll-snap-type:none;}
.sh-body.no-gal{grid-template-columns:minmax(0,1fr);}
.sh-body.no-gal .sh-left{display:none;}
.sh-left{min-width:0;min-height:0;display:grid;}

.sh-gal{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;}
.sh-gal.is-one{grid-template-rows:minmax(0,1fr);}
.sh-slides{display:flex;overflow-x:auto;overflow-y:hidden;min-height:0;
  scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:none;}
@media(pointer:coarse){.sh-slides{scroll-snap-type:x mandatory;}}
.sh-slides::-webkit-scrollbar{display:none;}

.sh-slide{flex:0 0 100%;width:100%;min-width:0;min-height:0;margin:0;
  scroll-snap-align:center;scroll-snap-stop:always;
  display:grid;grid-template-rows:minmax(0,1fr) auto;gap:20px;
  padding:34px 44px 26px;box-sizing:border-box;}

.sh-frame{position:relative;display:flex;align-items:center;justify-content:center;
  min-height:0;min-width:0;background:none;overflow:hidden;}
.sh-frame img{position:static;display:block;width:auto;height:auto;
  max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;
  filter:drop-shadow(0 12px 26px color-mix(in srgb,var(--shade) 20%,transparent));}

.sh-frame.is-scroll{overflow-y:auto;overflow-x:hidden;border-radius:10px;
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 9%,transparent),
             0 16px 34px -26px color-mix(in srgb,var(--shade) 32%,transparent);}
.sh-frame.is-scroll{display:block;align-items:stretch;}
.sh-frame.is-scroll img{position:static;width:100%;height:auto;max-height:none;
  max-width:100%;object-fit:fill;border-radius:0;filter:none;}
.sh-frame.is-scroll::-webkit-scrollbar{width:8px;}
.sh-frame.is-scroll::-webkit-scrollbar-thumb{
  background:color-mix(in srgb,var(--ink) 18%,transparent);border-radius:8px;
  border:2px solid var(--bg);}
.sh-frame.is-scroll::-webkit-scrollbar-track{background:none;}

.sh-slide.is-mark .sh-frame{padding:7%;}
.sh-slide figcaption{font-size:14px;color:var(--ink);line-height:1.5;max-width:60ch;
  letter-spacing:-.006em;}

.sh-slide.is-video .sh-frame video{position:static;display:block;width:auto;height:auto;
  max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;
  filter:drop-shadow(0 12px 26px color-mix(in srgb,var(--shade) 20%,transparent));}
.sh-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;
  border:0;padding:0;cursor:pointer;border-radius:999px;
  background:color-mix(in srgb,#0b0c0f 62%,transparent);color:#fff;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:transform var(--dur-ui) var(--ease-out),opacity .3s var(--ease-out),
             background var(--dur-ui) var(--ease-out);}
.sh-play svg{width:24px;height:24px;margin-left:3px;}
.sh-play:hover{transform:translate(-50%,-50%) scale(1.06);
  background:color-mix(in srgb,#0b0c0f 76%,transparent);}
.sh-slide.playing .sh-play{opacity:0;pointer-events:none;}

.sh-gnav{display:flex;align-items:center;gap:14px;padding:0 44px 26px;}
.sh-round{width:38px;height:38px;flex:none;}
.sh-round[disabled]{opacity:.3;cursor:default;transform:none;}
.sh-round[disabled]:hover{background:var(--wash);color:var(--mut);}
.sh-round[disabled]:hover svg{color:var(--mut);transform:none;}
.sh-dots{display:flex;align-items:center;gap:7px;}
.sh-dot{width:7px;height:7px;padding:0;border:0;cursor:pointer;border-radius:999px;
  background:color-mix(in srgb,var(--ink) 20%,transparent);
  transition:background var(--dur-ui) var(--ease-out),transform var(--dur-ui) var(--ease-out);}
.sh-dot:hover{background:color-mix(in srgb,var(--ink) 42%,transparent);}
.sh-dot.on{background:var(--accent-ink);transform:scale(1.28);}
.sh-count{margin-left:auto;font-size:var(--t-ui);color:var(--mut);
  font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;}
@media(max-width:420px){
  .sh-gnav{gap:8px;}
  .sh-dot{width:18px;}
  .sh-round{width:34px;height:34px;}
}

.sh-read{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;}
.sh-read::-webkit-scrollbar,.sh-body::-webkit-scrollbar{width:8px;}
.sh-read::-webkit-scrollbar-thumb,.sh-body::-webkit-scrollbar-thumb{
  background:color-mix(in srgb,var(--ink) 16%,transparent);border-radius:8px;
  border:2px solid var(--bg);}
.sh-read::-webkit-scrollbar-track,.sh-body::-webkit-scrollbar-track{background:none;}
.sh-read-in{padding:30px 32px 36px;max-width:44rem;}
.sh-read h2{margin:0;font-size:clamp(21px,18px + .7vw,27px);font-weight:540;
  letter-spacing:-.026em;line-height:1.14;color:var(--ink);}

.sh-said{margin:20px 0 0;padding:0;}
.sh-said blockquote{margin:0;font-size:16px;font-weight:450;line-height:1.55;
  letter-spacing:-.008em;color:var(--ink);}
.sh-said blockquote p{margin:0 0 11px;}
.sh-said blockquote p:last-child{margin-bottom:0;}
.sh-said blockquote p:first-child::before{content:"\201C";}
.sh-said blockquote p:last-child::after{content:"\201D";}

.sh-said.is-capped blockquote{
  display:-webkit-box;-webkit-line-clamp:9;-webkit-box-orient:vertical;
  overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);
  mask-image:linear-gradient(180deg,#000 70%,transparent);}
.sh-more{display:block;margin:6px 0 0;padding:0;border:0;background:none;cursor:pointer;
  font-size:var(--t-ui);font-weight:540;color:var(--accent-ink);
  border-bottom:1px solid color-mix(in srgb,var(--accent-ink) 35%,transparent);}
.sh-more:hover{border-bottom-color:var(--accent-ink);}
.sh-said figcaption{display:flex;align-items:center;gap:10px;margin-top:12px;}
.sh-said figcaption img{width:30px;height:30px;border-radius:999px;object-fit:cover;
  flex:none;}
.sh-said figcaption span{font-size:var(--t-ui);color:var(--mut);line-height:1.35;}
.sh-outcome{margin-top:20px;}
.sh-outcome b{display:block;font-size:18px;font-weight:580;letter-spacing:-.02em;
  line-height:1.22;color:var(--ink);}
.sh-outcome p{margin:8px 0 0;font-size:15px;line-height:1.55;color:var(--mut);}
.sh-intro{margin:18px 0 0;font-size:15px;line-height:1.6;color:var(--mut);}

.sh-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 26px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);}
.sh-facts div{display:flex;flex-direction:column;gap:4px;min-width:0;}
.sh-facts span{font-size:10px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mut);}
.sh-facts b{font-size:14px;font-weight:540;color:var(--ink);line-height:1.35;
  overflow-wrap:anywhere;}
.sh-facts a{color:var(--accent-ink);border-bottom:1px solid
  color-mix(in srgb,var(--accent-ink) 35%,transparent);}
.sh-story{margin-top:26px;}
.sh-story h3{margin:26px 0 9px;font-size:15px;font-weight:600;letter-spacing:-.012em;
  color:var(--ink);}
.sh-story h3:first-child{margin-top:0;}
.sh-story p{margin:0 0 12px;font-size:15px;line-height:1.62;color:var(--mut);}
.sh-story p:last-child{margin-bottom:0;}
.sh-tail{margin-top:32px;padding-top:22px;border-top:1px solid var(--line);
  display:flex;flex-direction:column;align-items:flex-start;gap:16px;}

.sh-next{display:flex;align-items:center;gap:12px;width:100%;margin-top:0;padding:10px;
  border-radius:12px;background:var(--wash);
  transition:background var(--dur-ui) var(--ease-out);}
.sh-next:hover{background:var(--wash-2);}
.sh-next img{width:60px;height:44px;object-fit:cover;object-position:top;
  border-radius:7px;flex:none;}
.sh-next-t{min-width:0;display:flex;flex-direction:column;gap:2px;}
.sh-next-k{font-size:10px;font-weight:650;letter-spacing:.11em;text-transform:uppercase;
  color:var(--mut);}
.sh-next-n{font-size:14px;font-weight:540;color:var(--ink);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;}
.sh-next:hover .sh-next-n{color:var(--accent-ink);}

@media(max-width:720px){
  .sh{grid-template-rows:auto minmax(0,1fr);}
  
  .sh-rail{display:none;}
  .sh-cta{display:block;position:absolute;left:0;right:0;bottom:0;z-index:7;
    border-radius:0 0 16px 16px;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));
    background:color-mix(in srgb,var(--bg) 86%,transparent);
    -webkit-backdrop-filter:blur(14px) saturate(160%);
    backdrop-filter:blur(14px) saturate(160%);
    border-top:1px solid var(--line);}
  .sh-say-m{width:100%;justify-content:center;min-height:48px;font-size:var(--t-small);}
  .sh-body{padding-bottom:88px;}
  
  .sh-mhead{position:sticky;top:0;z-index:6;display:flex;flex-direction:column;gap:3px;
    padding:26px 62px 12px 20px;background:var(--bg);
    box-shadow:0 10px 12px -10px var(--bg);}
  .sh-mhead .sh-id-client{font-size:10.5px;font-weight:650;letter-spacing:.11em;
    text-transform:uppercase;color:var(--mut);}
  .sh-mhead .sh-id-what{font-size:19px;font-weight:540;letter-spacing:-.018em;
    line-height:1.22;color:var(--ink);white-space:normal;}
  .sh-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;
    overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
  .sh-left{border-bottom:1px solid var(--line);}
  .sh-grip{display:none;}
  .sh-read{overflow-y:visible;}
  
  .sh-slides{height:auto;}
  .sh-slide{padding:8px 18px 4px;gap:12px;grid-template-rows:clamp(300px,52vh,520px) auto;}
  
  .sh-gnav{justify-content:center;gap:0;padding:2px 18px 12px;}
  .sh-gnav .sh-round,.sh-gnav .sh-count{display:none;}
  .sh-gnav{padding:0 20px 16px;}
  
  .sh-read-in{padding:0 20px 34px;max-width:none;}
  .sh-facts{gap:14px 18px;}
}
@media(max-width:520px){
  .sh-say{padding:0 15px;}
  .sh-slide{grid-template-rows:clamp(280px,48vh,460px) auto;}
}

@media(pointer:coarse){
  .sh-btn,.sh-round{width:44px;height:44px;}
  .sh-dots{gap:0;}
  .sh-dot{width:26px;height:44px;border-radius:0;background:none;position:relative;}
  .sh-dot::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;
    margin:-4px 0 0 -4px;border-radius:999px;
    background:color-mix(in srgb,var(--ink) 20%,transparent);
    transition:background var(--dur-ui) var(--ease-out),transform var(--dur-ui) var(--ease-out);}
  .sh-dot:hover{background:none;}
  .sh-dot.on{background:none;transform:none;}
  .sh-dot.on::after{background:var(--accent-ink);transform:scale(1.3);}
  .sh-say{height:44px;}
}

.bd-k-phones .bd-phones{gap:12px;margin-inline:auto;}

.board{gap:76px;}
.bd-meta{margin:0 0 20px;}
.bd-client{margin-bottom:6px;}
.bd-what{margin:0;}
.bd-meta .chips{margin-top:12px;}
.home-block{padding-top:clamp(56px,7vw,88px);}
.home-block:last-child{padding-bottom:clamp(72px,9vw,104px);}
.work-hero{padding-top:clamp(44px,6vw,72px);padding-bottom:clamp(24px,3vw,40px);}
@media(max-width:820px){
  .board{gap:44px;}
  .bd-media{order:1;}
  .bd-meta{order:2;margin:12px 0 0;}
  .bd-client{margin-bottom:4px;}
  .bd-meta .chips{margin-top:8px;}
}
@media(max-width:640px){
  .home-block{padding-top:40px;}
  .home-block:last-child{padding-bottom:56px;}
}

.work-hero-inner{max-width:880px;margin:0 auto;}
.bd-what{max-width:none;}

@media(max-width:640px){
  .wrap{padding:0 16px;}
  .quote{padding:16px 14px 14px;}
  .quote .who img,.quote .who .mono{width:34px;height:34px;}
  .quote .who{gap:9px;}
  .quote p{font-size:14px;line-height:1.5;}
  .quotes{gap:10px;}
  .bd-meta{margin:10px 0 0;}
  .bd-client{font-size:9.5px;letter-spacing:.11em;margin-bottom:3px;}
  .bd-what{font-size:16px;line-height:1.25;}
  .bd-meta .chips{margin-top:6px;}
  .chip{font-size:10.5px;padding:3px 7px;}
  .board{gap:36px;}
  .home-block{padding-top:32px;}
  .home-proof .sec-head{margin-bottom:14px;}
}

.home-hero-center,.work-hero-inner,.home-end-center{
  max-width:880px;margin-inline:auto;
}

.quotes{max-width:880px;margin-inline:auto;gap:24px 26px;}
@media(min-width:1120px){
  .quotes{max-width:1180px;}
}

@media(max-width:820px){
  .bd-k-phones .bd-media{margin-right:-16px;padding-right:16px;}
}
@media(max-width:640px){
  .bd-k-phones .bd-media{margin-right:-16px;padding-right:16px;}
  .quotes{gap:12px;}
}

.sh-x{left:16px;right:auto;}
.sh-rail{padding-left:66px;}
@media(max-width:720px){
  .sh-x{left:14px;right:auto;}
  .sh-mhead{padding:26px 20px 12px 62px;}
}

.sh-slide{grid-template-rows:auto auto;align-content:center;}
.sh-frame{max-height:min(62vh,560px);}
.sh-frame img,.sh-slide.is-video .sh-frame video{max-height:min(62vh,560px);}
.sh-frame.is-scroll{height:min(62vh,560px);max-height:none;}
@media(max-width:720px){
  .sh-slide{grid-template-rows:auto auto;padding:16px 18px 10px;gap:12px;}
  .sh-frame{max-height:46vh;}
  .sh-frame img,.sh-slide.is-video .sh-frame video{max-height:46vh;}
  .sh-frame.is-scroll{height:46vh;}
}

.sh-slide{grid-template-rows:min(62vh,560px) auto;align-content:stretch;}
.sh-frame{height:100%;max-height:none;}
.sh-frame img,.sh-slide.is-video .sh-frame video{max-height:100%;max-width:100%;}
.sh-frame.is-scroll{height:100%;}
@media(max-width:720px){
  .sh-slide{grid-template-rows:46vh auto;}
  
  .sh-x{left:14px;right:auto;}
  .sh-cta{right:0;left:0;}
}

@media(max-width:820px){
  .board{gap:80px;}
  .bd-meta{margin:12px 0 0;}
}
@media(max-width:640px){
  .board{gap:72px;}
  .bd-meta{margin:12px 0 0;}
  .home-block{padding-top:44px;}
}

.sh-slide figcaption{align-self:start;}
.sh-slide{align-items:start;}
.sh-read,.sh-body{scrollbar-width:thin;}
.sh-slides{scrollbar-width:none;}

.sh{
  --sh-gap:8px;
  left:50%;
  bottom:calc(var(--sh-gap) + env(safe-area-inset-bottom));
  width:calc(100% - var(--sh-gap) * 2);
  height:calc(100dvh - var(--sh-gap) * 2 - env(safe-area-inset-bottom));
  border-radius:18px;
}
@media(min-width:721px){
  .sh{
    --sh-gap:28px;
    width:min(1120px,calc(100% - var(--sh-gap) * 2));
    height:min(780px,calc(100dvh - var(--sh-gap) * 2));
    border-radius:22px;
  }
}

.sh-cta{border-radius:0 0 18px 18px;padding-bottom:14px;}

.sh-slide figcaption:empty{display:none;}

.sh-grab{cursor:grab;touch-action:none;height:30px;}
.sh-grab:active{cursor:grabbing;}
.sh-rail{touch-action:pan-y;cursor:grab;}
.sh-rail a,.sh-rail button{cursor:pointer;}
.sh-grab::before{width:52px;height:5px;}

@property --drag{syntax:'<length>';inherits:false;initial-value:0px;}
.sheet-root.dragging .sh{transition:none;}
.sh{transition:transform .38s var(--ease-in),bottom .28s var(--ease-out);}

.shot,
.case-shots figure.shot img,
.lead-fig > img,
.lead-fig .browser-frame,
.pairfig-wide,
.bd-screen,
.bd-window{border-radius:var(--r-art-lg);}

.beat-fig .shot,
.sh-frame img,
.sh-frame.is-scroll,
.sh-slide.is-video .sh-frame video{border-radius:var(--r-art-md);}

.phone,
.phone video,
.pairfig-phone,
.bd-phone,
.sh-slide.is-narrow .sh-frame img,
.clogo-img{border-radius:var(--r-art-sm);}
.sh-next img{border-radius:5px;}

.quotes{
  display:block;
  columns:1;
  column-gap:22px;
  align-items:initial;
}
.quote{margin:0 0 22px;break-inside:avoid;-webkit-column-break-inside:avoid;}
@media(min-width:721px){
  .quotes{columns:2;}
}
@media(min-width:1120px){
  .quotes{columns:3;column-gap:24px;}
  .quote{margin-bottom:24px;}
}
@media(max-width:520px){
  .quotes{column-gap:0;}
  .quote{margin-bottom:12px;}
}

.sh-rail{padding:16px 22px 15px 66px;}

.sh-grab{z-index:11;}
@media(max-width:720px){
  
  .sh-frame.is-scroll{overflow:hidden;display:block;height:100%;}
  .sh-frame.is-scroll img{width:100%;height:auto;max-width:100%;max-height:none;
    object-fit:contain;object-position:top center;border-radius:0;}
  
  .sh-slide figcaption{text-align:center;margin-inline:auto;}
  .sh-gnav{padding:16px 20px 18px;}
  .sh-left{border-bottom:0;}
}

@media(max-width:720px) and (pointer:fine){
  .sh-rail{display:flex;padding:14px 20px 13px 60px;}
  .sh-mhead{display:none;}
  .sh-cta{display:none;}
  .sh-body{padding-bottom:0;}
  .sh-x{top:12px;left:14px;width:30px;height:30px;}
  .sh-left{border-bottom:1px solid var(--line);}
}

.work-hero,.resume-head{padding-bottom:clamp(40px,5vw,64px);}
@media(max-width:640px){
  .work-hero,.resume-head{padding-bottom:40px;}
}

.sh-gnav{padding:18px 44px 26px;}
@media(max-width:720px){.sh-gnav{padding:16px 20px 18px;}}
.sh-left{border-bottom:0;}

@media(max-width:720px){
  .sh-body,.sh-left,.sh-read,.sh-gal,.sh-gal.is-one{display:block;}
  .sh-slides{display:flex;height:auto;min-height:0;}
  
  
  .sh-slide{grid-template-rows:auto auto;align-content:start;}
  .sh-frame,.sh-frame.is-scroll{display:block;height:auto;max-height:none;
    overflow:visible;padding:0;}
  .sh-frame img,.sh-frame.is-scroll img,.sh-slide.is-video .sh-frame video{
    display:block;width:auto;height:auto;margin-inline:auto;
    max-width:100%;max-height:min(520px,62svh);object-fit:contain;}
}

@media(min-width:721px){
  .sh-gal,.sh-gal.is-one{grid-template-rows:auto auto;align-content:center;}
  
  .sh-slide{grid-template-rows:auto auto;align-content:start;}
  .sh-frame{display:flex;height:auto;max-height:min(62vh,560px);}
  .sh-frame img,.sh-slide.is-video .sh-frame video{max-height:min(62vh,560px);
    max-width:100%;}
  .sh-frame.is-scroll{display:block;height:min(62vh,560px);max-height:none;}
  .sh-frame.is-scroll img{max-height:none;}
}

@media(min-width:721px){
  .sh-x{top:calc((var(--rail-h,72px) - 34px) / 2);}
}
@media(max-width:720px) and (pointer:fine){
  .sh-x{top:calc((var(--rail-h,64px) - 30px) / 2);}
}

.sh-read,.sh-body,.sh-frame.is-scroll{
  scrollbar-width:thin;scrollbar-color:transparent transparent;
  transition:scrollbar-color .2s var(--ease-out);}
.sh-read:hover,.sh-body:hover,.sh-frame.is-scroll:hover{
  scrollbar-color:color-mix(in srgb,var(--ink) 26%,transparent) transparent;}
.sh-read::-webkit-scrollbar,.sh-body::-webkit-scrollbar,
.sh-frame.is-scroll::-webkit-scrollbar{width:11px;height:11px;background:transparent;}
.sh-read::-webkit-scrollbar-track,.sh-body::-webkit-scrollbar-track,
.sh-frame.is-scroll::-webkit-scrollbar-track{background:transparent;border:0;}
.sh-read::-webkit-scrollbar-thumb,.sh-body::-webkit-scrollbar-thumb,
.sh-frame.is-scroll::-webkit-scrollbar-thumb{
  background:transparent;border:3px solid transparent;background-clip:padding-box;
  border-radius:999px;transition:background .2s var(--ease-out);}
.sh-read:hover::-webkit-scrollbar-thumb,.sh-body:hover::-webkit-scrollbar-thumb,
.sh-frame.is-scroll:hover::-webkit-scrollbar-thumb{
  background:color-mix(in srgb,var(--ink) 26%,transparent);background-clip:padding-box;}
.sh-read::-webkit-scrollbar-corner,.sh-body::-webkit-scrollbar-corner{background:transparent;}

.sh-facts.is-3{display:flex;flex-wrap:nowrap;gap:0 30px;}

.sh-facts.is-3 > div{flex:0 1 auto;min-width:0;}
@media(max-width:520px){
  .sh-facts.is-3{flex-wrap:wrap;gap:14px 20px;}
}

.shot,
.case-shots figure.shot img,
.lead-fig > img,
.lead-fig .browser-frame,
.pairfig-wide,
.pairfig-phone,
.bd-screen,
.bd-window,
.bd-phone,
.phone,
.beat-fig .shot,
.sh-frame img,
.sh-frame.is-scroll,
.sh-slide.is-video .sh-frame video{
  box-shadow:var(--art-edge),var(--art-lift);
}

.bd-markart img,.bd-book img{box-shadow:none;}

@media(min-width:721px){
  .sh-gal,.sh-gal.is-one{grid-template-rows:minmax(0,1fr) auto;align-content:stretch;}
  .sh-slides{min-height:0;}
  .sh-slide{align-content:center;}
}

@media(max-width:720px){
  .sh-gnav{padding:14px 20px 16px;}
}

.home-stories .home-cta-row{margin-top:26px;}
@media(max-width:640px){.home-stories .home-cta-row{margin-top:20px;}}

@media(max-width:640px){
  .home-hero{padding-top:60px;padding-bottom:48px;}
  .home-name{margin-bottom:22px;}
}

@media(max-width:720px) and (pointer:fine){
  .sh-id-what{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25;}
  .sh-rail{align-items:flex-start;padding-top:13px;}
  .sh-say{margin-top:2px;}
}

@media(min-width:721px){
  .sh{--stage:calc(min(780px,100dvh - 56px) - 263px);}
  .sh-frame{max-height:var(--stage);}
  .sh-frame img,.sh-slide.is-video .sh-frame video{max-height:var(--stage);}
  .sh-frame.is-scroll{height:var(--stage);max-height:none;}
}

.sh-frame.is-two{display:flex;align-items:flex-end;justify-content:center;gap:18px;}
.sh-frame.is-two img{width:auto;height:auto;max-width:none;}
@media(max-width:720px){.sh-frame.is-two{gap:12px;}}

.sh-slide.is-mark .sh-frame img{box-shadow:none;}

.sh-slides{scroll-behavior:auto;}

.sh-frame{overflow:visible;}
.sh-frame.is-scroll{overflow-y:auto;overflow-x:hidden;}

.sh-frame img,.sh-slide.is-video .sh-frame video{filter:none;}

@media(min-width:721px){
  .sh-slide.is-phone-page .sh-frame,
  .sh-slide.is-phone-page .sh-frame.is-scroll{
    width:290px;max-width:100%;margin-inline:auto;
    height:var(--stage);max-height:none;
    overflow-y:auto;overflow-x:hidden;display:block;padding:0;}
  .sh-slide.is-phone-page .sh-frame img{
    display:block;width:100%;height:auto;max-width:none;max-height:none;object-fit:fill;}
}

.sh-slide figcaption{
  padding-left:0;border-left:0;
  font-size:13.5px;font-weight:450;line-height:1.5;
  letter-spacing:-.004em;
  color:color-mix(in srgb,var(--ink) 62%,transparent);
}
.sh-slide figcaption::first-line{color:var(--ink);}

.bd-client{display:none;}

.chip-client{
  background:var(--wash-2);
  color:var(--ink);
  font-weight:600;
  letter-spacing:.005em;
}

@media(min-width:721px){
  .sh-frame.is-scroll{
    overscroll-behavior-y:contain;
    overscroll-behavior-x:auto;
    
    touch-action:pan-y pinch-zoom;
  }
}
@media(max-width:720px){
  .sh-frame,.sh-frame.is-scroll{overscroll-behavior:auto;touch-action:auto;}
}

.sh-read{overscroll-behavior-y:contain;overscroll-behavior-x:auto;}

@media(max-width:720px){
  .sh-rail .sh-say{display:none;}
  .sh-cta{display:block;}
  .sh-body{padding-bottom:88px;}
}

@media(max-width:640px){
  .resume-head.wrap{padding-top:var(--s5);}
}

.home-end{padding-top:clamp(88px,10vw,132px);}

@media(max-width:720px) and (pointer:coarse){
  .sh-x{top:calc((var(--mhead-h,76px) - 30px) / 2);}
}

.sh-slide.is-phone-page .sh-frame.is-scroll{
  box-shadow:var(--art-edge),var(--art-lift);
  border-radius:var(--r-art-md);
}

.sh-play{width:auto;height:auto;padding:10px;border-radius:0;
  top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%);
  background:none;box-shadow:none;color:#fff;
  -webkit-backdrop-filter:none;backdrop-filter:none;}
.sh-play:hover{background:none;transform:translate(-50%,-50%) scale(1.06);}

.sh-play svg{width:34px;height:34px;margin:0;
  filter:drop-shadow(0 2px 12px color-mix(in srgb,#000 55%,transparent));}

.sh-x{background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 12%,transparent);}
.sh-x svg{stroke-width:2.4;}
.sh-x:hover{background:color-mix(in srgb,var(--ink) 13%,transparent);}

@media(max-width:640px){
  .work-hero.wrap{padding-top:var(--s5);}
}

@media(max-width:720px){
  .sh-frame.is-two{gap:12px;}
  .sh-frame.is-two img{
    width:auto;height:auto;
    max-width:calc((100% - 12px) / 2);
    max-height:min(440px,52svh);
    object-fit:contain;}
}

@media(max-width:720px){
  .sh-frame.is-two{align-items:center;}
}

@media(max-width:720px){
  .sh-slides{align-items:stretch;transition:none;height:auto;}
  .sh-slide{grid-template-rows:var(--stage-h,auto) auto;align-content:start;gap:12px;}
  .sh-frame,.sh-frame.is-scroll{
    display:flex;align-items:center;justify-content:center;
    width:100%;max-width:none;margin-inline:0;aspect-ratio:auto;
    height:100%;max-height:none;overflow:hidden;padding:0;
    touch-action:auto;overscroll-behavior:auto;border-radius:0;}
  .sh-frame img,.sh-slide.is-video .sh-frame video{
    width:auto;height:auto;max-width:100%;
    max-height:var(--art-cap,min(440px,52svh));
    object-fit:contain;border-radius:var(--r-art-md);}
  
  .sh-frame.is-two{display:flex;align-items:center;justify-content:center;gap:12px;}
  .sh-frame.is-two img{
    width:auto;height:auto;
    max-width:calc((100% - 12px) / 2);
    max-height:var(--art-cap,min(440px,52svh));
    object-fit:contain;border-radius:var(--r-art-sm);}
  
  
  .sh-slide.is-phone-page .sh-frame,
  .sh-slide.is-phone-page .sh-frame.is-scroll{
    display:block;width:auto;height:100%;
    aspect-ratio:9/19.5;max-width:82%;margin-inline:auto;
    overflow:hidden;border-radius:var(--r-art-sm);}
  .sh-slide.is-phone-page .sh-frame img{
    width:100%;height:auto;max-width:none;max-height:none;
    object-position:top center;border-radius:0;}
  
  .sh-slide.is-top:not(.is-phone-page) .sh-frame,
  .sh-slide.is-top:not(.is-phone-page) .sh-frame.is-scroll{
    display:block;width:100%;height:100%;
    max-height:none;overflow:hidden;border-radius:var(--r-art-md);}
  .sh-slide.is-top:not(.is-phone-page) .sh-frame img{
    width:100%;height:auto;max-width:100%;max-height:none;
    object-position:top center;border-radius:0;}
  .sh-slide.is-mark .sh-frame{display:flex;align-items:center;justify-content:center;}
  .sh-slide.is-mark .sh-frame img{max-width:82%;max-height:82%;}
}

.sh-cap{margin:0;font-size:14px;line-height:1.5;letter-spacing:-.006em;
  color:color-mix(in srgb,var(--ink) 62%,transparent);}
.sh-cap:first-line{color:var(--ink);}
@media(max-width:720px){
  .sh-gal{display:grid;grid-template-rows:auto auto auto;}
  .sh-slide{grid-template-rows:var(--stage-h,auto);gap:0;}
  
  
  .sh-cap{min-height:var(--cap-h,calc(2 * 1.5 * 14px));padding:10px 20px 0;text-align:center;}
  
  .sh-gnav{padding:6px 20px 6px;}
  .sh-left{padding-bottom:6px;}
}
@media(min-width:721px){
  .sh-cap{min-height:calc(2 * 1.5 * 14px);padding:16px 44px 0;}
  
  .sh-slide{grid-template-rows:minmax(0,1fr);align-items:center;}
}

.sh-slide.is-top .sh-frame,
.sh-slide.is-top .sh-frame.is-scroll,
.sh-slide.is-phone-page .sh-frame,
.sh-slide.is-phone-page .sh-frame.is-scroll{
  overflow:hidden;
  overscroll-behavior:auto;
  touch-action:auto;}

@media(max-width:720px){
  
  .sh-body{display:block;overflow-y:auto;overflow-x:hidden;
    -webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;
    padding-bottom:0;}
  
  .sh-mhead{position:sticky;top:0;z-index:6;box-shadow:none;}
  
  .sh-left{position:sticky;top:var(--gal-top,0px);z-index:5;
    background:var(--bg);overflow:hidden;}
  
  
  .sh-left{border-bottom:1px solid var(--line);}
  .sh-read{overflow:visible;min-height:0;border-top:0;
    padding-top:20px;padding-bottom:104px;}
}

.sh-dots{display:flex;align-items:center;gap:6px;}

.sh-dot{width:16px;height:5px;padding:0;border:0;cursor:pointer;
  border-radius:999px;background:none;position:relative;transform:none;
  -webkit-appearance:none;appearance:none;}
.sh-dot::after{content:"";position:absolute;inset:0;border-radius:999px;
  background:color-mix(in srgb,var(--ink) 17%,transparent);
  transition:background var(--dur-ui) var(--ease-out),
             width var(--dur) var(--ease-out);}
.sh-dot:hover::after{background:color-mix(in srgb,var(--ink) 34%,transparent);}
.sh-dot.on{width:30px;transform:none;background:none;}
.sh-dot.on::after{background:var(--accent-ink);}

@media(pointer:coarse){
  .sh-dots{gap:2px;}
  .sh-dot{height:44px;width:26px;background:none;transform:none;}
  .sh-dot.on{width:40px;background:none;transform:none;}
  .sh-dot::after{
    inset:19px 4px;
    left:4px;top:19px;
    width:auto;height:auto;
    margin:0;
    transform:none;
    border-radius:999px;
    background:color-mix(in srgb,var(--ink) 17%,transparent);}
  .sh-dot.on::after{background:var(--accent-ink);transform:none;}
}

@media(max-width:720px){
  .sh-mhead{display:block;padding:14px 20px 10px;}
  
  .sh-x{top:12px;left:14px;}
  .sh-mhead .sh-id-client{display:block;padding-left:34px;
    min-height:34px;line-height:34px;}
  .sh-mhead .sh-id-what{display:block;margin-top:6px;}
}

@media(max-width:720px){
  .sh-gnav{padding:2px 20px 0;}
  .sh-left{padding-bottom:0;}
  .sh-read{padding-top:16px;}
}

@media(max-width:720px) and (pointer:fine){
  .sh-mhead{display:none;}
}

@media(max-width:720px){
  .sh-cap{min-height:0;}
}

@media(max-width:720px){
  .sh-slides{align-items:flex-start;
    transition:height var(--dur) var(--ease-out);}
  .sh-slide{grid-template-rows:auto;}
  .sh-left{border-bottom:0;padding-bottom:10px;}
  .sh-read{padding-top:18px;}
}

@media(max-width:720px){
  .sh-cta{border-top:0;
    padding:20px 16px calc(20px + env(safe-area-inset-bottom));}
  .sh-cta.sh-cta{padding-bottom:20px;}
  .sh-say-m{min-height:52px;}
  .sh-read{padding-bottom:120px;}
}

@media(max-width:720px){
  .sh-slides{align-items:stretch;transition:none;}
  .sh-slide{grid-template-rows:var(--stage-h,auto);}
  .sh-cap{min-height:var(--cap-h,0px);
    display:flex;flex-direction:column;justify-content:flex-end;}
}

@media(max-width:720px){
  .sh-gal{grid-template-rows:auto var(--cap-h,auto) auto;}
  .sh-cap{display:block;min-height:0;align-self:end;}
}

.sh-play svg{width:var(--play-size,34px);height:var(--play-size,34px);}

@media(max-width:720px){
  .sh-mhead{padding:18px 20px 16px;}
  .sh-mhead .sh-id-client{padding-left:44px;min-height:34px;line-height:34px;}
  .sh-mhead .sh-id-what{margin-top:10px;}
}

@media(pointer:coarse){
  .sh-x{width:44px;height:44px;}
  .sh-grab{height:44px;align-items:flex-start;padding-top:12px;}
}

@media(pointer:coarse){
  .crumb a{min-width:44px;justify-content:center;}
}

@media(max-width:720px){
  .sh-x{left:auto;right:14px;top:12px;}
  .sh-mhead .sh-id-client{padding-left:0;}
}
@media(pointer:coarse){
  .sh-x{width:34px;height:34px;}
  
  .sh-x::before{content:"";position:absolute;inset:-5px;border-radius:999px;}
}

@media(max-width:720px){
  .sh-read-in > :first-child{margin-top:0;}
}

@media(max-width:720px){
  .sh-x{right:20px;}
}

@media(max-width:720px){
  .sh-mhead{padding:16px 20px 16px;}
  .sh-mhead .sh-id-client{min-height:0;line-height:1.25;padding-left:0;}
  .sh-mhead .sh-id-what{margin-top:4px;}
}
@media(pointer:coarse){
  .sh-x{width:30px;height:30px;}
  .sh-x::before{inset:-7px;}
}
@media(max-width:720px){
  .sh-x{box-shadow:none;background:color-mix(in srgb,var(--ink) 8%,transparent);}
}

@media(max-width:720px){
  .sh-x{top:7px;}
}

@media(max-width:720px){
  .sh-x{background:none;box-shadow:none;
    -webkit-backdrop-filter:none;backdrop-filter:none;
    color:var(--ink);}
  .sh-x:hover,.sh-x:focus-visible{background:color-mix(in srgb,var(--ink) 8%,transparent);}
}

@media(max-width:720px){
  .sh-x{top:21px;}
}

@media(max-width:720px){
  .sh-x{top:calc(var(--mhead-h,72px) / 2);transform:translateY(-50%);}
}

.sh-x{background:var(--wash);color:var(--mut);
  box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;
  border-radius:999px;}
.sh-x:hover,.sh-x:focus-visible{background:var(--wash-2);color:var(--ink);}
.sh-x svg{width:16px;height:16px;}
@media(pointer:coarse){
  .sh-x{width:44px;height:44px;}
  
  .sh-x::before{inset:0;}
}

@media(max-width:720px){
  .sh{--sh-head-pad:12px;--sh-chip:44px;}
  .sh-mhead{padding:var(--sh-head-pad) 20px 14px;}
  .sh-mhead .sh-id-client{
    min-height:var(--sh-chip);line-height:var(--sh-chip);
    padding-right:calc(var(--sh-chip) + 32px);}
  .sh-mhead .sh-id-what{margin-top:2px;}
  .sh-x{top:var(--sh-head-pad);transform:none;}
}

@media(max-width:720px){
  .sh{
    --sh-head-pad:12px;
    --sh-glyph:16px;
    --sh-chip:26px;
    --sh-rail:18px;
    --sh-reach:44px;
  }
  .sh-x{
    width:var(--sh-chip);height:var(--sh-chip);
    top:calc(var(--sh-head-pad) - (var(--sh-chip) - var(--sh-glyph)) / 2);
    right:calc(var(--sh-rail) - (var(--sh-chip) - var(--sh-glyph)) / 2);
    left:auto;transform:none;
    background:color-mix(in srgb,var(--ink) 4%,transparent);
    box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;}
  .sh-x:hover,.sh-x:focus-visible{background:color-mix(in srgb,var(--ink) 9%,transparent);}
  .sh-x svg{width:var(--sh-glyph);height:var(--sh-glyph);}
  .sh-x::before{inset:calc((var(--sh-reach) - var(--sh-chip)) / -2);}
  .sh-mhead .sh-id-client{
    min-height:0;line-height:1.25;
    padding-right:calc(var(--sh-chip) + 16px);}
  .sh-mhead .sh-id-what{margin-top:9px;}
}

@media(max-width:720px){
  .sh{--sh-head-pad:24px;}
}

@media(max-width:720px){
  .sh{--sh-head-pad:34px;}
}

@media(max-width:720px){
  .sh-x{top:calc(var(--sh-rail) - (var(--sh-chip) - var(--sh-glyph)) / 2);}
}
