.page-template-template-portfolio-v2 #Content { padding-top: 0; }
.tcg-portfolio { --tcg-gold: #d69942; --tcg-black: #0a0a0a; --tcg-ink: #202020; overflow: clip; background: #fff; color: #343434; }
.tcg-portfolio-shell { width: min(1180px, calc(100% - 56px)); margin-inline: auto; }
.tcg-portfolio-overline { margin: 0 0 18px !important; color: var(--tcg-gold); font-size: 12px; font-weight: 800; letter-spacing: .23em; line-height: 1.4; }

.tcg-portfolio-hero { position: relative; display: grid; min-height: 610px; place-items: center; overflow: hidden; background: #111 url('https://thecameraguys.co.uk/wp-content/uploads/2019/10/Cheap-Videographers-in-Essex.jpg') center / cover no-repeat; color: #fff; }
.tcg-portfolio-hero__video, .tcg-portfolio-cta__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.tcg-portfolio-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,7,9,.88) 0%, rgba(5,7,9,.67) 48%, rgba(5,7,9,.32) 100%); }
.tcg-portfolio-hero::after { content: ''; position: absolute; inset: auto 0 0; height: 150px; background: linear-gradient(to bottom, transparent, #fff); }
.tcg-portfolio-hero__content { position: relative; z-index: 1; padding: 105px 0 150px; }
.tcg-portfolio-hero h1 { max-width: 950px; margin: 0 !important; color: #fff !important; font-size: clamp(54px, 6.2vw, 92px) !important; font-weight: 800 !important; line-height: .98 !important; letter-spacing: -.045em !important; }
.tcg-portfolio-hero h1 strong { color: var(--tcg-gold); font-weight: inherit; }
.tcg-portfolio-hero__content > p:last-child { max-width: 760px; margin: 30px 0 0 !important; color: rgba(255,255,255,.88); font-size: clamp(17px, 1.7vw, 21px); line-height: 1.55; }

.tcg-portfolio-work { padding: 105px 0 118px; background: #fff; }
.tcg-portfolio-heading { max-width: 830px; margin: 0 auto 76px; text-align: center; }
.tcg-portfolio-heading h2, .tcg-portfolio-about h2 { margin: 0 !important; color: var(--tcg-ink) !important; font-size: clamp(42px, 5vw, 68px) !important; font-weight: 300 !important; line-height: 1.05 !important; letter-spacing: -.035em !important; }
.tcg-portfolio-heading h2 strong, .tcg-portfolio-about h2 strong { font-weight: 800; }
.tcg-portfolio-heading > p:last-child { max-width: 680px; margin: 25px auto 0 !important; color: #6d6d6d; font-size: 17px; line-height: 1.7; }

.tcg-portfolio-featured { display: grid; gap: 74px; margin-bottom: 100px; overflow: visible; }
.tcg-portfolio-featured__item { position: relative; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .8fr); align-items: center; min-height: 430px; background: #0c0d0e; color: #fff; transform-origin: center; transition: transform 300ms cubic-bezier(.2,.7,.25,1), box-shadow 300ms ease; }
.tcg-portfolio-featured__item.is-reversed { grid-template-columns: minmax(300px, .8fr) minmax(0, 1.55fr); }
.tcg-portfolio-featured__item.is-reversed .tcg-portfolio-featured__media { order: 2; }
.tcg-portfolio-featured__media { align-self: stretch; min-height: 430px; overflow: hidden; background: #151719; }
.tcg-portfolio-featured__media-link { display: block; height: 100%; color: inherit; }
.tcg-portfolio-featured__media-link.tcg-portfolio-video-trigger { position: relative; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; text-align: inherit; }
.tcg-portfolio-featured__media-link:focus-visible { outline: 3px solid var(--tcg-gold); outline-offset: -5px; }
.tcg-portfolio-featured__item:nth-child(1) .tcg-portfolio-video { object-position: 50% 50%; }
.tcg-portfolio-featured__item:nth-child(2) .tcg-portfolio-video { object-position: 54% 50%; }
.tcg-portfolio-featured__item:nth-child(3) .tcg-portfolio-video { object-position: 50% 48%; }
.tcg-portfolio-featured__copy { position: relative; padding: 52px 48px; }
.tcg-portfolio-featured__copy h3 { margin: 0 0 12px !important; color: #fff !important; font-size: clamp(32px, 3.5vw, 50px) !important; font-weight: 700 !important; line-height: 1.05 !important; }
.tcg-portfolio-featured__copy > p:not(.tcg-portfolio-overline):not(.tcg-portfolio-number):not(.tcg-portfolio-meta) { margin: 21px 0 0 !important; color: #b9b9b9; line-height: 1.7; }
.tcg-portfolio-number { position: absolute; top: 24px; right: 28px; margin: 0 !important; color: rgba(255,255,255,.12); font-size: 64px; font-weight: 800; line-height: 1; }
.tcg-portfolio-meta { margin: 0 !important; color: var(--tcg-gold); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.tcg-portfolio-link { display: inline-block; margin-top: 25px; border-bottom: 1px solid var(--tcg-gold); color: #fff !important; font-size: 12px; font-weight: 800; letter-spacing: .13em; text-decoration: none; }
.tcg-portfolio-read-more { display: inline-flex; align-items: center; gap: 7px; margin-top: 25px; padding: 0; border: 0; background: transparent; color: var(--tcg-gold) !important; font: inherit; font-size: 12px; font-weight: 800; letter-spacing: .13em; text-decoration: none; cursor: pointer; }
.tcg-portfolio-read-more > span { display: inline-block; transition: transform 250ms ease; }
.tcg-portfolio-read-more:is(:hover,:focus-visible) > span { transform: translateX(4px); }
.tcg-portfolio-read-more:focus-visible { outline: 3px solid var(--tcg-gold); outline-offset: 5px; }
.tcg-portfolio-read-more.is-placeholder { opacity: .78; }

@media (hover: hover) and (pointer: fine) {
    .tcg-portfolio-featured__item:hover { z-index: 2; transform: scale(1.02); box-shadow: 0 16px 36px rgba(0,0,0,.16); }
}

.tcg-portfolio-visual { display: block; width: 100%; height: 100%; object-fit: cover; background: #151719; }
.tcg-portfolio-visual--featured { min-height: 430px; }
.tcg-portfolio-visual--fallback { background: linear-gradient(135deg,#202326,#090a0b); }
.tcg-portfolio-play-cue { position: absolute; z-index: 3; right: 24px; bottom: 22px; display: inline-flex; align-items: center; gap: 9px; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .13em; text-shadow: 0 2px 16px rgba(0,0,0,.8); }
.tcg-portfolio-play-cue > span { display: grid; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; place-items: center; padding-left: 2px; background: rgba(0,0,0,.38); font-size: 11px; }

.tcg-portfolio-grid-stage { width: calc(100% - clamp(48px, 3.3vw, 80px)); margin-inline: auto; }
.tcg-portfolio-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 auto 32px; }
.tcg-portfolio-filters button { min-height: 44px; padding: 10px 18px; border: 1px solid #d6d6d6; border-radius: 24px; background: #fff; color: #4b4b4b; font: inherit; font-size: 11px; font-weight: 800; letter-spacing: .1em; cursor: pointer; transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.tcg-portfolio-filters button:is(:hover,:focus-visible) { border-color: var(--tcg-gold); color: #9a6319; box-shadow: 0 0 0 1px rgba(214,153,66,.16), 0 4px 16px rgba(214,153,66,.16); }
.tcg-portfolio-filters button.is-active { border-color: var(--tcg-gold); background: var(--tcg-gold); color: #17120b; box-shadow: 0 5px 18px rgba(214,153,66,.32); }
.tcg-portfolio-filters button:focus-visible, .tcg-portfolio-card__link:focus-visible, .tcg-portfolio-button:focus-visible { outline: 3px solid var(--tcg-gold); outline-offset: 3px; }
.tcg-portfolio-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.4vw, 25px); }
.tcg-portfolio-card { min-width: 0; transition: opacity .2s ease; }
.tcg-portfolio-card[hidden] { display: none; }
.tcg-portfolio-card__link { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: inherit !important; font: inherit; text-align: inherit; text-decoration: none; }
.tcg-portfolio-card__link:is(a,button) { cursor: pointer; }
.tcg-portfolio-card__media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #151719; }
.tcg-portfolio-card__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.72), transparent 52%); opacity: .45; transition: opacity .25s ease; pointer-events: none; }
.tcg-portfolio-card__view { position: absolute; z-index: 2; right: 18px; bottom: 15px; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .13em; opacity: .85; }
.tcg-portfolio-card__view--video { opacity: 1; }
.tcg-portfolio-card__copy { padding: 18px 2px 0; }
.tcg-portfolio-card__copy h3 { margin: 0 0 6px !important; color: #202020 !important; font-size: 21px !important; font-weight: 700 !important; line-height: 1.22 !important; }
.tcg-portfolio-card__copy p { margin: 0 !important; color: #858585; font-size: 12px; font-weight: 600; letter-spacing: .065em; line-height: 1.5; text-transform: uppercase; }
.tcg-portfolio-card__link:hover .tcg-portfolio-card__media::after { opacity: .72; }
.tcg-portfolio-card__link:hover .tcg-portfolio-visual { transform: scale(1.018); }
.tcg-portfolio-card .tcg-portfolio-visual { transition: transform .35s ease; }

body.tcg-portfolio-modal-open { overflow: hidden; }
body.tcg-portfolio-modal-open #tidio-chat { visibility: hidden !important; pointer-events: none !important; }
.tcg-portfolio-modal[hidden] { display: none; }
.tcg-portfolio-modal { --tcg-gold: #d69942; position: fixed; z-index: 1000000000; inset: 0; display: grid; padding: clamp(14px, 3vw, 42px); place-items: center; background: rgba(2,3,4,.88); opacity: 0; transition: opacity .18s ease; }
.tcg-portfolio-modal.is-open { opacity: 1; }
.tcg-portfolio-modal__panel { width: min(1120px, 100%); max-height: calc(100dvh - 28px); overflow: auto; border: 1px solid rgba(214,153,66,.35); border-radius: 5px; background: #090a0b; box-shadow: 0 28px 90px rgba(0,0,0,.55); }
.tcg-portfolio-modal__header { display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding: 8px 12px 8px 20px; gap: 20px; }
.tcg-portfolio-modal__header h2 { margin: 0 !important; overflow: hidden; color: #fff !important; font-size: clamp(15px, 2vw, 20px) !important; font-weight: 600 !important; line-height: 1.3 !important; text-overflow: ellipsis; white-space: nowrap; }
.tcg-portfolio-modal__close { flex: 0 0 auto; display: grid; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; place-items: center; background: rgba(255,255,255,.06); color: #fff; font: inherit; font-size: 28px; line-height: 1; cursor: pointer; }
.tcg-portfolio-modal__close:is(:hover,:focus-visible) { border-color: var(--tcg-gold); color: var(--tcg-gold); }
.tcg-portfolio-modal__close:focus-visible { outline: 3px solid rgba(214,153,66,.5); outline-offset: 3px; }
.tcg-portfolio-modal__player { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; }
.tcg-portfolio-modal__player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.tcg-portfolio-pagination { display: flex; justify-content: center; gap: 14px; min-height: 48px; margin-top: 42px; }
.tcg-portfolio-page-button { min-height: 46px; padding: 12px 23px; border: 1px solid var(--tcg-gold); background: transparent; color: #252525; font: inherit; font-size: 11px; font-weight: 800; letter-spacing: .11em; cursor: pointer; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.tcg-portfolio-page-button:hover, .tcg-portfolio-page-button:focus-visible { background: var(--tcg-gold); color: #17120b; box-shadow: 0 5px 18px rgba(214,153,66,.25); }
.tcg-portfolio-page-button:focus-visible { outline: 3px solid rgba(214,153,66,.45); outline-offset: 3px; }
.tcg-portfolio-page-button[hidden] { display: none; }

.tcg-portfolio-about { padding: 110px 0; background: #0b0c0d; color: #d2d2d2; }
.tcg-portfolio-about__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .8fr); gap: 90px; align-items: start; }
.tcg-portfolio-about h2 { color: #fff !important; font-size: clamp(38px, 4vw, 58px) !important; }
.tcg-portfolio-about h2 strong { color: var(--tcg-gold); }
.tcg-portfolio-about__grid > div:last-child p { margin: 0 0 20px !important; color: #bcbcbc; font-size: 17px; line-height: 1.75; }
.tcg-portfolio-button { display: inline-block; margin-top: 18px; padding: 13px 26px; border: 1px solid var(--tcg-gold); background: var(--tcg-gold); color: #fff !important; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.tcg-portfolio-button:hover { background: #c58935; transform: translateY(-1px); }

.tcg-portfolio-reviews { padding: 105px 0 110px; background: #fff; text-align: center; }
.tcg-portfolio-reviews__heading { max-width: 930px; margin: 0 auto 54px; }
.tcg-portfolio-reviews__heading h2 { margin: 0 !important; color: #202020 !important; font-size: clamp(38px,4.5vw,62px) !important; font-weight: 800 !important; line-height: 1.04 !important; letter-spacing: -.035em !important; }
.tcg-portfolio-reviews__rating { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 9px; margin: 28px 0 0 !important; color: #292929; }
.tcg-portfolio-reviews__rating strong { font-size: 26px; }
.tcg-portfolio-reviews__rating span { color: var(--tcg-gold); font-size: 20px; letter-spacing: .08em; }
.tcg-portfolio-reviews__rating small { color: #777; font-size: 13px; }
.tcg-portfolio-reviews__carousel { position: relative; text-align: left; }
.tcg-portfolio-reviews__track { display: flex; gap: 22px; margin: 0; padding: 3px 2px 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #c9c9c9 transparent; }
.tcg-portfolio-reviews__track:focus-visible { outline: 3px solid rgba(214,153,66,.45); outline-offset: 5px; }
.tcg-portfolio-review { display: flex; flex: 0 0 calc((100% - 44px) / 3); flex-direction: column; justify-content: space-between; box-sizing: border-box; min-width: 0; min-height: 390px; margin: 0; padding: 32px 29px 27px; border: 1px solid #e2e2e2; border-top: 3px solid var(--tcg-gold); background: #fafafa; scroll-snap-align: start; }
.tcg-portfolio-review__stars { margin: 0 0 18px !important; color: var(--tcg-gold); font-size: 17px; letter-spacing: .08em; }
.tcg-portfolio-review__source-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.tcg-portfolio-review__source-row .tcg-portfolio-review__stars { margin-bottom: 0 !important; }
.tcg-portfolio-review__source { flex: 0 0 auto; padding: 4px 8px; border: 1px solid #d7d7d7; border-radius: 999px; background: #fff; color: #5e5e5e; font-size: 10px; font-weight: 800; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
.tcg-portfolio-review__source--yell { border-color: #e0bb17; background: #ffd928; color: #222; }
.tcg-portfolio-review__text { margin: 0 !important; color: #3d3d3d; font-size: 15px; line-height: 1.7; white-space: normal; }
.tcg-portfolio-review__text.is-collapsible:not(.is-expanded) { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 7; }
.tcg-portfolio-review__more { margin: 15px 0 24px; padding: 0 0 3px; border: 0; border-bottom: 1px solid var(--tcg-gold); background: transparent; color: #333; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.tcg-portfolio-review footer { margin-top: 28px; padding-top: 20px; border-top: 1px solid #e1e1e1; }
.tcg-portfolio-review__author { display: flex; align-items: center; gap: 12px; color: #222 !important; text-decoration: none; }
.tcg-portfolio-review__author img { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%; object-fit: cover; background: #e7e7e7; }
.tcg-portfolio-review__author span, .tcg-portfolio-review__author strong, .tcg-portfolio-review__author time { display: block; min-width: 0; }
.tcg-portfolio-review__author strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.tcg-portfolio-review__author time { margin-top: 3px; color: #777; font-size: 12px; }
.tcg-portfolio-review__author--yell::before { display: grid; flex: 0 0 48px; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: #ffd928; color: #222; content: 'Y'; font-size: 18px; font-weight: 800; }
.tcg-portfolio-review__author--yell small { display: block; margin-top: 3px; color: #777; font-size: 12px; }
.tcg-portfolio-review__actions { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 14px; }
.tcg-portfolio-review__actions a { color: #666 !important; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.tcg-portfolio-reviews__controls { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 22px; text-align: center; }
.tcg-portfolio-reviews__controls button { display: grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 1px solid #cfcfcf; border-radius: 50%; background: #fff; color: #222; font: inherit; font-size: 20px; cursor: pointer; transition: border-color .2s ease, background-color .2s ease; }
.tcg-portfolio-reviews__controls button:is(:hover,:focus-visible) { border-color: var(--tcg-gold); background: #fff8ee; outline: 0; }
.tcg-portfolio-reviews__controls button:disabled { opacity: .35; cursor: default; }
.tcg-portfolio-reviews__status { min-width: 82px; margin: 0 !important; color: #777; font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.tcg-portfolio-reviews__disclosure { max-width: 780px; margin: 28px auto 0; text-align: center; }
.tcg-portfolio-reviews__disclosure p { margin: 0 !important; color: #777; font-size: 12px; line-height: 1.6; }
.tcg-portfolio-reviews__source-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 24px; }
.tcg-portfolio-reviews__link { display: inline-block; margin-top: 15px; border-bottom: 1px solid var(--tcg-gold); color: #333 !important; font-family: Roboto, sans-serif; font-size: 12px; font-style: normal; font-weight: 400; letter-spacing: normal; line-height: 1.4; text-decoration: none; white-space: nowrap; }

.tcg-portfolio-cta { position: relative; display: grid; min-height: 400px; place-items: center; overflow: hidden; background: #35130f; color: #fff; text-align: center; }
.tcg-portfolio-cta__video { z-index: 0; }
.tcg-portfolio-cta__shade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgba(28,5,3,.8),rgba(44,8,5,.66),rgba(28,5,3,.8)); }
.tcg-portfolio-cta__content { position: relative; z-index: 2; padding-block: 74px; }
.tcg-portfolio-cta h2 { margin: 0 !important; color: #fff !important; font-size: clamp(43px,5vw,70px) !important; font-weight: 300 !important; line-height: 1 !important; letter-spacing: -.035em !important; }
.tcg-portfolio-cta h2 strong { color: var(--tcg-gold); font-weight: 800; }
.tcg-portfolio-cta__content > p:not(.tcg-portfolio-overline) { margin: 22px auto 4px !important; color: rgba(255,255,255,.88); font-size: 18px; line-height: 1.55; }
.tcg-portfolio-cta .tcg-portfolio-button { margin-top: 27px; }

/* The markup below is rendered directly from homepage section 6. These rules mirror its existing scoped styles. */
.page-template-template-portfolio-v2 .tcg-home-contact { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 88px 0 58px; color: #454545; text-align: center; }
.page-template-template-portfolio-v2 .tcg-home-contact__intro { width: min(850px, 100%); margin: 0 auto 50px; }
.page-template-template-portfolio-v2 .tcg-home-contact__title { margin: 0 !important; color: #202020 !important; font-size: clamp(42px, 5vw, 68px) !important; font-weight: 800 !important; line-height: 1.03 !important; letter-spacing: -.035em !important; }
.page-template-template-portfolio-v2 .tcg-home-contact__title > span { color: var(--tcg-gold); }
.page-template-template-portfolio-v2 .tcg-home-contact__rule { width: 70px; height: 2px; margin: 27px auto 28px; background: var(--tcg-gold); }
.page-template-template-portfolio-v2 .tcg-home-contact__lead { max-width: 720px; margin: 0 auto 13px !important; color: #353535; font-size: clamp(19px, 2vw, 23px); font-weight: 400; line-height: 1.5; }
.page-template-template-portfolio-v2 .tcg-home-contact__copy { max-width: 760px; margin: 0 auto !important; color: #707070; font-size: 16px; line-height: 1.72; }
.page-template-template-portfolio-v2 .tcg-home-contact__form { width: min(900px, 100%); margin: 0 auto; }
.page-template-template-portfolio-v2 .tcg-home-contact__form .wpforms-submit-container { text-align: center; }
.page-template-template-portfolio-v2 .tcg-home-contact__form button[type="submit"], .page-template-template-portfolio-v2 .tcg-home-contact__form .wpforms-submit { min-width: 150px; padding: 13px 27px !important; border: 1px solid var(--tcg-gold) !important; border-radius: 2px !important; background: var(--tcg-gold) !important; color: #fff !important; font-weight: 700 !important; letter-spacing: .025em !important; box-shadow: none !important; }
.page-template-template-portfolio-v2 .tcg-home-contact__privacy { margin: 11px 0 0 !important; color: #999; font-size: 12px; line-height: 1.5; }
.page-template-template-portfolio-v2 .tcg-home-contact__privacy::before { content: "✓"; margin-right: 6px; color: var(--tcg-gold); font-weight: 800; }
.page-template-template-portfolio-v2 .tcg-home-contact__credentials { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); width: min(1000px,100%); margin: 72px auto 0; border-block: 1px solid #e2e2e2; }
.page-template-template-portfolio-v2 .tcg-home-contact__credential { padding: 30px 16px 27px; }
.page-template-template-portfolio-v2 .tcg-home-contact__credential + .tcg-home-contact__credential { border-left: 1px solid #e2e2e2; }
.page-template-template-portfolio-v2 .tcg-home-contact__credential strong, .page-template-template-portfolio-v2 .tcg-home-contact__credential span { display: block; }
.page-template-template-portfolio-v2 .tcg-home-contact__credential strong { color: #242424; font-size: 15px; font-weight: 800; line-height: 1.35; letter-spacing: .02em; }
.page-template-template-portfolio-v2 .tcg-home-contact__credential span { margin-top: 4px; color: var(--tcg-gold); font-size: 11px; font-weight: 700; line-height: 1.35; letter-spacing: .13em; }
.page-template-template-portfolio-v2 .tcg-home-contact__seo { width: min(850px,100%); margin: 34px auto 0 !important; color: #888; font-size: 14px; line-height: 1.75; }
.tcg-portfolio-shared-contact > .section { padding-top: 20px; }
.tcg-portfolio-shared-services > .section { margin-top: 0; }

@media (max-width: 1024px) {
    .tcg-portfolio-shell { width: min(100% - 44px, 960px); }
    .tcg-portfolio-featured__item, .tcg-portfolio-featured__item.is-reversed { grid-template-columns: 1.25fr .9fr; }
    .tcg-portfolio-featured__copy { padding: 42px 34px; }
    .tcg-portfolio-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tcg-portfolio-grid-stage { width: calc(100% - 44px); }
    .tcg-portfolio-about__grid { gap: 52px; }
    .tcg-portfolio-reviews__track { gap: 16px; }
    .tcg-portfolio-review { flex-basis: calc((100% - 16px) / 2); padding: 28px 24px; }
}

@media (max-width: 800px) {
    .tcg-portfolio-hero { min-height: 540px; }
    .tcg-portfolio-hero__content { padding: 100px 0 120px; }
    .tcg-portfolio-work { padding: 82px 0 95px; }
    .tcg-portfolio-featured__item, .tcg-portfolio-featured__item.is-reversed { grid-template-columns: 1fr; }
    .tcg-portfolio-featured__item.is-reversed .tcg-portfolio-featured__media { order: 0; }
    .tcg-portfolio-featured__media, .tcg-portfolio-visual--featured { min-height: 370px; }
    .tcg-portfolio-about__grid { grid-template-columns: 1fr; gap: 45px; }
    .tcg-portfolio-review { flex-basis: 100%; min-height: 370px; }
    .page-template-template-portfolio-v2 .tcg-home-contact { width: calc(100% - 34px); padding: 70px 0 52px; }
    .page-template-template-portfolio-v2 .tcg-home-contact__credentials { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .page-template-template-portfolio-v2 .tcg-home-contact__credential:nth-child(3) { border-left: 0; border-top: 1px solid #e2e2e2; }
    .page-template-template-portfolio-v2 .tcg-home-contact__credential:nth-child(4) { border-top: 1px solid #e2e2e2; }
}

@media (max-width: 600px) {
    .tcg-portfolio-shell { width: calc(100% - 30px); }
    .tcg-portfolio-hero { min-height: 500px; background-position: 58% center; }
    .tcg-portfolio-hero__content { padding: 88px 0 110px; }
    .tcg-portfolio-hero h1 { font-size: clamp(42px, 13vw, 58px) !important; }
    .tcg-portfolio-hero__content > p:last-child { font-size: 16px; }
    .tcg-portfolio-heading { margin-bottom: 56px; }
    .tcg-portfolio-heading h2 { font-size: 42px !important; }
    .tcg-portfolio-featured { gap: 46px; margin-bottom: 75px; }
    .tcg-portfolio-featured__media, .tcg-portfolio-visual--featured { min-height: 240px; }
    .tcg-portfolio-featured__copy { padding: 38px 25px; }
    .tcg-portfolio-filters { justify-content: flex-start; flex-wrap: nowrap; margin-inline: -15px; padding: 3px 15px 10px; overflow-x: auto; scrollbar-width: thin; }
    .tcg-portfolio-filters button { flex: 0 0 auto; }
    .tcg-portfolio-grid-stage { width: calc(100% - 30px); }
    .tcg-portfolio-grid { grid-template-columns: 1fr; gap: 20px; }
    .tcg-portfolio-modal { padding: 10px; }
    .tcg-portfolio-modal__panel { max-height: calc(100dvh - 20px); }
    .tcg-portfolio-modal__header { min-height: 52px; padding: 5px 7px 5px 14px; }
    .tcg-portfolio-modal__close { width: 40px; height: 40px; }
    .tcg-portfolio-pagination { flex-wrap: wrap; margin-top: 30px; }
    .tcg-portfolio-about { padding: 82px 0; }
    .tcg-portfolio-about h2 { font-size: 38px !important; }
    .tcg-portfolio-reviews { padding: 78px 0 82px; }
    .tcg-portfolio-reviews__heading h2 { font-size: 38px !important; }
    .tcg-portfolio-reviews__heading { margin-bottom: 42px; }
    .tcg-portfolio-review { min-height: 360px; }
    .tcg-portfolio-review__text.is-collapsible:not(.is-expanded) { -webkit-line-clamp: 9; }
    .tcg-portfolio-cta { min-height: 360px; }
    .tcg-portfolio-cta h2 { font-size: 44px !important; }
    .page-template-template-portfolio-v2 .tcg-home-contact { width: calc(100% - 28px); padding: 56px 0 44px; }
    .page-template-template-portfolio-v2 .tcg-home-contact__intro { margin-bottom: 40px; }
    .page-template-template-portfolio-v2 .tcg-home-contact__title { font-size: clamp(35px,10.8vw,46px) !important; line-height: 1.02 !important; }
    .page-template-template-portfolio-v2 .tcg-home-contact__lead { font-size: 18px; }
    .page-template-template-portfolio-v2 .tcg-home-contact__copy { font-size: 15px; }
    .page-template-template-portfolio-v2 .tcg-home-contact__credentials { margin-top: 54px; }
    .page-template-template-portfolio-v2 .tcg-home-contact__credential { padding: 23px 8px 21px; }
    .page-template-template-portfolio-v2 .tcg-home-contact__credential strong { font-size: 13px; }
    .page-template-template-portfolio-v2 .tcg-home-contact__credential span { font-size: 10px; }
    .page-template-template-portfolio-v2 .tcg-home-contact__seo { margin-top: 28px !important; font-size: 13px; line-height: 1.7; }
}

@media (prefers-reduced-motion: reduce) {
    .tcg-portfolio *, .tcg-portfolio *::before, .tcg-portfolio *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
    .tcg-portfolio-hero__video, .tcg-portfolio-cta__video { display: none; }
    .tcg-portfolio-featured__item:hover { transform: none !important; }
    .tcg-portfolio-modal { transition: none; }
    .tcg-portfolio-read-more:is(:hover,:focus-visible) > span { transform: none !important; }
}


/* Separate controls keep the thumbnail and its baked-in title unobstructed. */
.tcg-portfolio-card__media::after { inset: auto 0 0; height: 28%; opacity: .65; background: linear-gradient(0deg,rgba(0,0,0,.58),transparent); }
.tcg-portfolio-card__project, .tcg-portfolio .tcg-portfolio-card__play { position: absolute; z-index: 2; right: 10px; bottom: 4px; display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 0 10px; color: #fff !important; font: 600 12px/1.3 Roboto,sans-serif; text-decoration: underline; text-decoration-color: #d69942; text-underline-offset: 5px; text-decoration-thickness: 1px; text-shadow: 0 1px 5px #000; transition: background-color .25s ease,text-decoration-color .25s ease; }
.tcg-portfolio-card__project:hover, .tcg-portfolio .tcg-portfolio-card__play:hover { background: rgba(0,0,0,.38); text-decoration-color: #fff; }
.tcg-portfolio-card__play:focus-visible,.tcg-portfolio-card__project:focus-visible { outline: 3px solid #f0bc70; outline-offset: 3px; }
.tcg-portfolio-modal { width: 100%; height: 100%; max-width: none; max-height: none; box-sizing: border-box; margin: 0; border: 0; color: #fff; }
.tcg-portfolio-modal::backdrop { background: transparent; }
.tcg-portfolio-modal { overscroll-behavior: contain; }
.tcg-portfolio-modal__player video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.tcg-portfolio-modal__project { display: flex; align-items: center; justify-content: flex-end; min-height: 48px; padding: 0 20px; color: #e9bb78 !important; font: 500 13px/1.4 Roboto,sans-serif; text-decoration: none; }
.tcg-portfolio-modal__project[hidden] { display: none; }
.tcg-portfolio-modal__project:is(:hover,:focus-visible) { text-decoration: underline; text-underline-offset: 5px; }
.tcg-portfolio-modal__project:focus-visible { outline: 2px solid #e9bb78; outline-offset: -5px; }
.tcg-portfolio-modal__close { min-width: 44px; min-height: 44px; }
@media (prefers-reduced-motion: reduce) { .tcg-portfolio-card__play,.tcg-portfolio-card__project { transition: none !important; } }

.tcg-portfolio .tcg-portfolio-card__play { left: 10px; right: auto; top: auto; width: auto; height: auto; margin: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent !important; cursor: pointer; letter-spacing: normal; text-transform: none; }
.tcg-portfolio .tcg-portfolio-card__play::before, .tcg-portfolio .tcg-portfolio-card__play::after { display: none !important; }
.tcg-portfolio .tcg-portfolio-card__play:hover { background: rgba(0,0,0,.38) !important; }
