.tony-motion{position:relative;display:block;width:100%;aspect-ratio:1920/1200;overflow:hidden;background:#101115}
.tony-motion-poster,.tony-motion-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.tony-motion-poster{position:absolute;inset:0}
.tony-motion-video{position:absolute;inset:0;opacity:0;transition:opacity .25s ease}
.tony-motion-video.is-ready{opacity:1}
.tony-motion-case{max-height:min(70vh,800px)}
@media(prefers-reduced-motion:reduce){.tony-motion-video{display:none!important}.tony-motion-poster{position:static}.tony-motion{height:auto;aspect-ratio:1920/1200}}

/* Tony's case study uses the existing FMD type, color tokens, and page shell. */
.tpc-case{overflow:hidden}
.tpc-case *{box-sizing:border-box}
.tpc-case p{max-width:72ch}
.tpc-case figure{margin:0}
.tpc-case figure.wrap{margin-inline:auto}
.tpc-case figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:14px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.13em;line-height:1.5;text-transform:uppercase}
.tpc-case figcaption span{font-weight:500;letter-spacing:.02em;text-transform:none}
.tpc-hero{padding-block:88px 52px}
.tpc-hero .breadcrumbs{margin-bottom:54px}
.tpc-hero-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.55fr);gap:clamp(36px,5vw,100px);align-items:end}
.tpc-hero .eyebrow{margin-bottom:22px}
.tpc-hero h1{max-width:930px;margin:0;font-size:clamp(62px,8vw,126px);line-height:1.06;letter-spacing:-.075em;overflow-wrap:normal}
.tpc-hero-statement{font-size:clamp(27px,3.2vw,47px);font-weight:800;line-height:1.08;letter-spacing:-.05em;margin:32px 0 18px;max-width:680px}
.tpc-lead{font-size:clamp(18px,1.5vw,22px);line-height:1.55;color:var(--muted);margin-bottom:29px}
.tpc-hero .button{gap:24px}
.tpc-meta{margin:0;border-top:2px solid var(--red)}
.tpc-meta div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}
.tpc-meta dt,.tpc-section-top,.tpc-inline-list,.tpc-dev-list span,.tpc-journey span{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.tpc-meta dt{color:var(--muted)}
.tpc-meta dd{margin:0;font-size:14px;line-height:1.45}
.tpc-hero-visual{margin-bottom:30px!important}
.tpc-hero-visual img,.tpc-wide-figure img{display:block;width:100%;height:auto;border:1px solid var(--line);background:#131416}
.tpc-shot-link{display:block;cursor:zoom-in}
.tpc-shot-link:hover img{border-color:var(--red)}
.tpc-section{padding-block:clamp(74px,8vw,122px);border-top:1px solid var(--line)}
.tpc-section-top{display:flex;justify-content:space-between;align-items:start;gap:25px;margin-bottom:36px;color:var(--muted)}
.tpc-section-top .eyebrow{margin:0;color:var(--red)}
.tpc-section-top span{text-align:right}
.tpc-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:clamp(35px,7vw,120px)}
.tpc-section h2{max-width:870px;margin:0 0 20px;font-size:clamp(43px,5.7vw,86px);line-height:.99;letter-spacing:-.07em;overflow-wrap:normal}
.tpc-section p:not(.eyebrow):not(.tpc-emphasis){font-size:clamp(17px,1.45vw,20px);line-height:1.64;color:var(--muted);margin:0 0 20px}
.tpc-emphasis{margin:34px 0 0;font-size:clamp(29px,3.8vw,54px);font-weight:800;line-height:1.05;letter-spacing:-.06em;color:var(--ink)}
.tpc-inline-list{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0 0;padding:0;list-style:none}
.tpc-inline-list li{padding:9px 12px;border:1px solid var(--line);color:var(--ink)}
.tpc-direction,.tpc-service-section,.tpc-build-section,.tpc-details-section{background:var(--paper)}
.tpc-direction .tpc-wide-figure{margin-top:48px}
.tpc-before-media{margin-bottom:42px}
.tpc-video-figure .tony-motion,.tpc-video-figure .project-preview{border:1px solid var(--line)}
.tpc-video-figure .tony-motion-case{max-height:none}
.tpc-journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;list-style:none;margin:46px 0 0;padding:0;border-top:1px solid var(--line)}
.tpc-journey li{padding:21px 12px 0 0;display:flex;flex-direction:column;gap:18px;font-size:15px;font-weight:700;line-height:1.3}
.tpc-journey li+li{padding-left:18px;border-left:1px solid var(--line)}
.tpc-journey span{color:var(--red)}
.tpc-voice{display:grid;gap:0;margin-top:35px;border-top:1px solid var(--line)}
.tpc-voice span{display:block;padding:16px 0;border-bottom:1px solid var(--line);font-size:clamp(19px,2.1vw,28px);font-weight:700;letter-spacing:-.03em}
.tpc-responsive-section{background:var(--surface)}
.tpc-responsive-section .text-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px}
.tpc-dev-list{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--line)}
.tpc-dev-list li{display:flex;align-items:baseline;gap:22px;border-bottom:1px solid var(--line);padding:14px 0;font-size:17px;font-weight:700;line-height:1.35}
.tpc-dev-list span{color:var(--red);flex:0 0 auto}
.tpc-details-section h2{margin-bottom:42px}
.tpc-detail-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:32px}
.tpc-detail-grid figure{min-width:0;display:flex;flex-direction:column}
.tpc-detail-grid .tpc-detail-large{grid-row:span 2}
.tpc-detail-grid img{display:block;min-height:0;width:100%;height:100%;max-height:570px;object-fit:cover;object-position:center;border:1px solid var(--line);background:#131416}
.tpc-detail-grid figcaption{margin-top:10px}
.tpc-result .seo-related{margin-top:25px}
.tpc-final{margin-top:10px}
.tpc-final h2{font-size:clamp(38px,4vw,64px);line-height:1.02;letter-spacing:-.06em}
.tpc-final .button{margin-right:24px;margin-bottom:16px}
.tpc-secondary{display:inline-flex;align-items:center;gap:8px;min-height:54px}
.tpc-case a:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(hover:hover){.tpc-detail-grid img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}.tpc-detail-grid figure{overflow:hidden}.tpc-detail-grid figure:hover img{transform:scale(1.025)}}
@media(max-width:1000px){.tpc-hero-grid{grid-template-columns:minmax(0,1fr) minmax(210px,.55fr);gap:30px}.tpc-hero h1{font-size:clamp(62px,8.6vw,105px)}.tpc-section h2{font-size:clamp(42px,5.7vw,70px)}.tpc-split{gap:35px}.tpc-detail-grid{gap:22px}}
@media(max-width:700px){.tpc-hero{padding-block:58px 35px}.tpc-hero .breadcrumbs{margin-bottom:40px}.tpc-hero-grid,.tpc-split{grid-template-columns:1fr}.tpc-split{gap:12px}.tpc-split h2{margin-bottom:10px}.tpc-hero-grid{gap:48px}.tpc-hero h1{font-size:clamp(58px,12vw,84px)}.tpc-hero-statement{font-size:clamp(29px,6vw,40px)}.tpc-meta{max-width:100%}.tpc-section{padding-block:75px}.tpc-section-top{margin-bottom:30px}.tpc-section h2{font-size:clamp(42px,9vw,68px)}.tpc-before-media{margin-bottom:30px}.tpc-journey{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}.tpc-journey li:nth-child(3){padding-left:0;border-left:0}.tpc-detail-grid{grid-template-columns:1fr;grid-template-rows:auto}.tpc-detail-grid .tpc-detail-large{grid-row:auto}.tpc-detail-grid img{height:auto;max-height:none;aspect-ratio:8/5;object-fit:cover}.tpc-detail-grid figure:nth-child(n+2) img{aspect-ratio:16/9}.tpc-case figcaption{flex-wrap:wrap;gap:4px}}
@media(max-width:480px){.tpc-hero h1{font-size:clamp(54px,12.5vw,66px)}.tpc-hero .eyebrow{font-size:10px}.tpc-hero-statement{margin-top:26px}.tpc-section{padding-block:62px}.tpc-section h2{font-size:clamp(39px,10vw,52px)}.tpc-section-top{display:block}.tpc-section-top span{display:block;margin-top:8px;text-align:left;font-size:9px}.tpc-case figcaption{font-size:9px}.tpc-meta div{grid-template-columns:65px minmax(0,1fr)}.tpc-final .button{width:100%;margin-right:0}.tpc-secondary{min-height:42px}.tpc-journey li{font-size:14px}}
@media(prefers-reduced-motion:reduce){.tpc-detail-grid img{transition:none!important}.tpc-detail-grid figure:hover img{transform:none!important}}
