/*
Theme Name:		Phire Group 2026
Author:			John Green @ Phire Group
Author URI:		https://phiregroup.com/
Description:	The Phire Group home theme for the 2026 Phire Group network of sites.
Version:		1.0
*/

:root {color-scheme: dark; --blackwhite: light-dark(var(--black), var(--white)); --whiteblack: light-dark(var(--white), var(--black)); --tangray: light-dark(var(--tan), var(--gray)); --red: #e4002b; --green: #32756a; --online: #3db692; --blue: #6191f2; --white: #fff; --tan: #ecece5; --gray: #505050; --black: #000; --hs: .9375rem; --vs: 6.25rem;}

/* basic styles */
* {margin: 0; padding: 0;}
*, ::before, ::after {box-sizing: border-box;}
html {font: 300 medium 'DM Sans', sans-serif; -webkit-text-size-adjust: none; text-size-adjust: none; color: var(--blackwhite); background-color: var(--whiteblack);}
a {text-decoration-thickness: from-font; color: inherit;}
b, strong {font-weight: 700;}
button, input[type="file"], input[type="submit"] {cursor: pointer; touch-action: manipulation;}
button {border-width: 0; font: inherit; color: inherit; background-color: transparent;}
h1, h2, h3, h4, h5, h6 {font-weight: 500; text-wrap: balance;}
iframe {display: block; max-width: 100%; border: 0;}
img, picture, svg, video {height: auto; max-width: 100%; vertical-align: middle;}
input, select, textarea {font: inherit; letter-spacing: inherit; word-spacing: inherit;}
ol, ul {list-style: none;}
p {text-wrap: pretty;}
summary {list-style: none; cursor: pointer;}
summary::-webkit-details-marker {display: none;}
svg[width="0"][height="0"] {position: fixed;}
svg[width="0"][height="0"][aria-hidden="true"] {display: none;}
[hidden] {display: none !important;}

/* utility classes */
.bigtxt {font-weight: 500; font-size: 1.625rem; line-height: 1.19; letter-spacing: -.03em;}
.btn {display: inline-flex; gap: .625rem; align-items: center; padding: .6875rem 1.25rem; border: 1px solid; font-weight: 500; font-size: .875rem; line-height: 1.43 !important; text-decoration: none; letter-spacing: -.02em; transition: .3s ease-out;}
.btn1 {border-color: transparent; border-radius: .375rem; color: var(--white); background-color: var(--red);}
.btn1:hover {border-radius: 1.875rem;}
.btn2 {border-color: light-dark(transparent, #6b7280); border-radius: 1.875rem; color: var(--blackwhite); background-color: light-dark(var(--tan), transparent);}
.btn2:hover {border-color: transparent; color: var(--whiteblack); background-color: light-dark(var(--green), var(--tan));}
.pgdetails {padding-bottom: .25rem; border-bottom: 1px solid var(--tangray); --arrow: calc(45px + .625rem); --carat: 2.625rem;}
.pgdetails + .pgdetails {margin-top: 1.25rem;}
.pgdetails summary {display: grid; grid-template-columns: 1fr var(--carat); align-items: center; overflow: clip; margin-bottom: 1rem; font-weight: 500; line-height: 1.31;}
.pgdetails summary > * {grid-area: 1 / 1; transition: .3s ease-out;}
.pgdetails summary > svg:first-child {translate: calc(-1 * var(--arrow));}
.pgdetails[open] summary svg:first-child {translate: 0;}
.pgdetails summary span {padding-right: var(--carat);}
.pgdetails[open] summary span {padding-right: 0; translate: var(--arrow);}
.pgdetails summary > svg:last-child {grid-column: 2; justify-self: end;}
.pgdetails:not([open]) summary > svg:last-child {rotate: 180deg;}
.pgdetails::details-content {padding-inline: var(--arrow) var(--carat);}
.pgdetails[open]::details-content {padding-bottom: 1.625rem;}
.screen-reader-text {position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;}
.wrap {margin-inline: max(var(--hs), ((100% - var(--mw, 118.125rem)) / 2));}

/* WYSIWYG */
.wys *:not(.btn) {margin: revert; margin-bottom: 0; padding: revert; list-style: revert;}
.wys > :first-child {margin-top: 0;}
.wys h2 {margin-bottom: 1.25rem;}
.wys > h2:not(:first-child) {margin-top: 2.5rem; padding-top: 2.5rem; border-top: 1px solid var(--tangray);}
.wys2 h3 {font-size: 1.625rem; line-height: 1.19; letter-spacing: -.03em;}
.wys2 > h3:not(:first-child) {margin-top: 2.5rem; padding-top: 2.5rem; border-top: 1px solid var(--tangray);}

/* web components */
pg-slider:defined {display: grid; align-items: center;}
pg-slider:defined [role="group"]:first-child {display: flex; grid-area: 2 / 3; gap: .625rem; align-items: center; padding: .5rem; border: 1px solid var(--tangray); border-radius: 1.875rem;}
pg-slider:defined [role="group"]:first-child button {flex-shrink: 0; border-radius: 1.875rem;}
pg-slider:defined [role="group"]:first-child button:hover {color: var(--white); background-color: var(--green);}
pg-slider:defined .slide-wrap {grid-area: 1 / 1 / 2 / -1; gap: var(--hs); scroll-behavior: smooth;}
pg-slider:defined .slide-wrap > * {flex-shrink: 0;}
pg-slider:defined .card {width: min(28.75rem, 77vw);}
pg-slider:defined meter {display: grid; grid-area: 2 / 2; width: calc(100% - 1.875rem); height: .5rem; border-radius: 1.875rem; background: none; background-color: var(--tangray); appearance: none;}
pg-slider:defined meter::-moz-meter-bar {background: none; background-color: var(--green);}
pg-slider:defined meter::-webkit-meter-bar {grid-row: 1 / -1; height: 100%; border-radius: 1.875rem; background: none; background-color: var(--tangray);}
pg-slider:defined meter::-webkit-meter-optimum-value {border-radius: 1.875rem; background: none; background-color: var(--green);}
pg-videowrap {display: grid; width: max-content; max-width: 100%; overflow: clip;}
pg-videowrap > * {grid-area: 1 / 1;}
pg-videowrap .playbtn {z-index: 1; width: 1.875rem; height: 1.875rem; border-radius: 50%; backdrop-filter: blur(.3125rem);}
pg-videowrap :is(.playbtn[aria-label="Pause"] .play, .playbtn[aria-label="Play"] .pause) {display: none;}

/* header */
#maindocument {position: relative; margin-bottom: calc(200dvw * 378 / 1920); color: var(--blackwhite); background-color: var(--whiteblack); --fbar: 1.875rem;}
#maindocument::after {display: block; position: relative; bottom: calc(-1 * var(--fbar)); width: 100%; height: var(--fbar); border-bottom-right-radius: var(--fbar); border-bottom-left-radius: var(--fbar); background-color: var(--whiteblack); content: '';}
.header-skip {display: block; padding: .5rem; text-align: center; color: var(--whiteblack); background-color: var(--blackwhite);}
.header-skip:not(:focus) {position: absolute; top: 0; left: 0; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;}
.header-skip:focus {outline: none;}
.header-skip span {padding-right: .25rem; padding-left: .25rem;}
.header-skip:focus-visible span {outline: 1px solid;}
.ph {width: 100%; height: calc(var(--hbar)); overflow: auto; background-color: var(--whiteblack); background-image: linear-gradient(to bottom, transparent calc(var(--hbar) - 1px), var(--tangray) calc(var(--hbar) - 1px), transparent var(--hbar)); --hbar: 3.875rem; --flyout: 0px;}
html:has(.ph-menubtn[aria-expanded="true"], .ph-searchbtn[aria-expanded="true"]) {overflow-y: hidden; scrollbar-gutter: stable;}
.ph:has(.ph-menubtn[aria-expanded="true"], .ph-searchbtn[aria-expanded="true"]) {--flyout: calc(100dvh - var(--hbar));}
.wrap-ph {display: grid; grid-template-columns: 1fr auto 1fr; column-gap: .625rem; align-items: center; height: var(--hbar);}
.ph-btns {display: flex;}
.ph-btn {display: inline-flex; gap: .625rem; justify-content: center; align-items: center; padding: .75rem; border-radius: .375rem; text-decoration: none; transition: .3s ease-out;}
.ph-btn[aria-expanded="true"] {color: var(--white); background-color: var(--green);}
.ph-menubtn[aria-expanded="true"] .open, .ph-menubtn[aria-expanded="false"] .close, .ph-searchbtn[aria-expanded="true"] .open, .ph-searchbtn:not([aria-expanded="true"]) .close, .ph-menubtn:not([aria-expanded="true"]) + .ph-menu, .ph-searchbtn:not([aria-expanded="true"]) + .ph-search {display: none;}
.ph-menu, .ph-search {position: absolute; top: var(--hbar); left: 0; z-index: 10; width: 100%; height: var(--flyout); max-height: calc(100dvh - var(--hbar) - var(--wp-admin--admin-bar--height, 0px)); overflow-y: auto; overscroll-behavior: contain; background-color: var(--whiteblack);}
.ph-menu {--leftcol: 41.125rem;}
.wrap-menu {display: grid; gap: 5rem; padding-block: 5rem; --mw: 80rem;}
.ph-menu a {text-decoration: none;}
.ph-menu .menu {display: grid; gap: .625rem; max-width: var(--leftcol); font-weight: 500; font-size: 2.5rem; line-height: 1.25; letter-spacing: -.03em;}
.ph-menu .menu > li {padding-bottom: .75rem; border-bottom: 1px solid var(--tangray);}
.ph-menu .menu > li > a {display: grid; grid-template-columns: var(--arrow) 1fr 1.25rem; align-items: center; transition: .3s ease-out; --arrow: 0;}
.ph-menu .menu > li > a > svg:first-child {opacity: 0;}
.ph-menu .menu > li:is(.current-menu-item, .current-menu-ancestor) > a {--arrow: 4rem;}
.ph-menu .menu > li:is(.current-menu-item, .current-menu-ancestor) > a > svg:first-child {opacity: 1;}
.ph-menu .menu > li.menu-item-has-children > a > svg:last-child {transition: .3s ease-out;}
.ph-menu .menu > li.menu-item-has-children > a[aria-expanded="false"] > svg:last-child {rotate: 180deg;}
.ph-menu .menu > li.menu-item-has-children > a[aria-expanded="false"] ~ .sub-menu {display: none;}
.ph-menu .sub-menu {grid-column: 1 / -1; margin-top: 1.25rem; padding-inline: 1.875rem; font-weight: 400; font-size: 1rem; line-height: 1.31; letter-spacing: 0;}
.ph-menu .sub-menu li a {display: block; padding: .75rem .625rem; border-radius: .375rem;}
.ph-menu .sub-menu li a:hover {background-color: var(--tangray);}
.ph-menu-footer {display: flex; flex-wrap: wrap; gap: 1.875rem; justify-content: space-between; align-items: start; max-width: var(--leftcol);}
.ph-menu-stats {display: grid; grid-template: auto auto / auto auto; flex-basis: 8.125rem; gap: .3125rem .625rem; justify-content: start; justify-self: start; padding-inline: .3125rem; font-weight: 300; font-size: .875rem; line-height: .86;}
.ph-menu-stats > :first-child {grid-column: 1 / -1;}
.ph-menu-stats span {font-weight: 600;}
.ph-menu-promo {max-width: 27rem;}
.ph-menu-promo > img {border-radius: .375rem;}
.ph-menu-promo-content:not(:first-child) {margin-top: 2.5rem;}
.ph-menu-promo-content h2 {font: 500 1.25rem/1.3 Gilroy, sans-serif;}
.ph-menu-promo-ctas {margin-top: 1.875rem;}
.ph-search {display: grid; grid-template-rows: 1fr auto; gap: 5rem; padding-block: 5rem; text-align: center;}
.ph-search .wrap-search1 {display: grid; grid-template-rows: auto 1fr; gap: 2.5rem; --mw: 41.25rem;}
.ph-search .wrap-search1 h2 {font-size: 2rem; line-height: 1.19; letter-spacing: -.03em;}
.ph-search .wrap-search1 form {display: flex; position: relative; gap: .5rem; align-self: start; padding: .5rem; border: 1px solid var(--tangray); border-radius: 2.5rem;}
.ph-search .wrap-search1 form:has(input:focus-visible) {outline: 1px solid;}
.ph-search .wrap-search1 label {display: grid; flex-shrink: 0; place-items: center; margin-left: .75rem;}
.ph-search .wrap-search1 input {flex-grow: 1; flex-shrink: 1; max-width: 43.75dvw; border: 0; border-radius: 1.875rem; background-color: transparent;}
.ph-search .wrap-search1 input:focus {outline: 0;}
.ph-search .wrap-search1 input::placeholder {color: inherit;}
.ph-search .wrap-search1 button {margin-left: auto;}
.ph-search .wrap-search2 {display: grid; gap: 1.875rem; --mw: 14.375rem;}
.ph-search .wrap-search2 .btn {justify-self: center;}
.ph-search .wrap-search2 h2 {font-size: 1.25rem; line-height: 1.3;}
.ph-logo {color: light-dark(var(--red), var(--white));}
.ph-mode {display: flex; gap: .5rem; align-items: center; justify-self: end;}
.ph-mode-btn {display: grid; align-items: center; width: 3.5rem; height: 1.5rem; border-radius: 6.25rem; background-color: var(--tangray);}
.ph-mode-btn::after {width: 1.125rem; height: 1.125rem; margin-inline: .25rem; border-radius: 50%; background-color: var(--white); content: '';}
.ph-mode-btn[aria-pressed="true"]::after {justify-self: right;}

/* footer */
.pf {margin-bottom: calc(-1 * var(--fbar)); padding-top: 5rem; padding-bottom: .25rem;}
.pf a:has(svg) {display: inline-flex; gap: .625rem; align-items: center;}
.pf a:not(:hover) {text-decoration: none;}
.pf .wrap {--mw: 76.875rem;}
.wrap-pf {display: grid; gap: 5rem;}
.pf-menus {display: flex; flex-wrap: wrap; gap: 2.5rem; font-size: .875rem; line-height: 1.29;}
.pf-menus > * {flex-grow: 1;}
.pf-menus h2 {margin-bottom: 1.25rem; font-weight: 700; font-size: 1rem; line-height: 1.31;}
.pf-menus ul {display: grid; gap: .75rem;}
.pf-where li {display: grid; grid-template-columns: 1.375rem auto; gap: .625rem;}
.pf-jim {display: grid; grid-template: auto auto auto / auto 1fr; column-gap: 1.25rem; align-items: center; margin-top: 2.5rem;}
.pf-jim img {grid-row: 1 / 3; border-radius: 50%;}
.pf-jim-title {font-weight: 700; font-size: 1.125rem; line-height: 1.33;}
.pf-jim-online {display: flex; gap: .625rem; align-items: center; font-size: .875rem; line-height: 1.29;}
.pf-jim-online::before {display: block; width: .5rem; height: .5rem; border-radius: 50%; background-color: #3db6a2; content: '';}
.pf-jim-offline::before {background-color: var(--red);}
.pf-jim .btn {grid-area: 3 / 1 / -1 / -1; justify-self: start; margin-top: 1.875rem;}
.pf-right {display: grid; gap: 5rem;}
.pf-promo {font-weight: 300; font-size: 1.125rem; line-height: 1.33;}
.pf-promo h2 {margin: 0; font: 500 3.125rem/1.16 Gilroy, sans-serif; letter-spacing: -.03em;}
.pf-legal {margin-top: 3.75rem; padding-top: 1.875rem; border-top: 1px solid var(--tangray); font-size: .875rem; line-height: 1.29;}
.wrap-legal {display: inline-flex; flex-wrap: wrap; gap: 1.25rem;}
.pf-legal a {font-weight: 500;}
.pf-legal-menu {display: flex; flex-wrap: wrap; gap: 2ch;}
.peekaboo {display: grid; position: fixed; bottom: 0; z-index: -1; place-items: end center; width: 100%; height: calc(200dvw * 378 / 1920); color: var(--white); background-color: var(--red);}
.peekaboo::before {position: absolute; bottom: 0; left: 0; z-index: -2; width: 100dvw; height: 100dvh; background: var(--red); content: '';}
.peekaboo img {width: 100%;}

/* headline */
.wrap-pagehead {padding-block: 7.5rem; text-align: center; --mw: 50.9375rem;}
.wrap-pagehead h1 {font: 500 3.125rem/1.16 Gilroy, sans-serif; letter-spacing: -.03em;}
pg-rotatingtext {display: grid; gap: 2.5rem; margin-block: 7.5rem; text-align: initial; --mw: 76.875rem;}
pg-rotatingtext h1 {font: 500 clamp(2.5rem, -.357rem + 14.286vw, 3.125rem)/1.16 Gilroy, sans-serif; letter-spacing: -.03em;}
pg-rotatingtext h1 > span {max-width: 47.5rem;}
pg-rotatingtext h1 span {display: block;}
pg-rotatingtext h1 .rts {display: grid; overflow: clip;}
pg-rotatingtext .rt {grid-area: 1 / 1; height: 100%; translate: 0 0%; animation: translate-up-in .3s 1 cubic-bezier(.7, 0, .3, 1);}
pg-rotatingtext .rt[aria-hidden="true"] {translate: 0 100%; animation: translate-up-out .3s 1 cubic-bezier(.7, 0, .3, 1);}

/* gravity forms */
.gform_wrapper.pgform_wrapper .gform_required_legend {position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;}
.gform_wrapper.pgform_wrapper .pgform .gform_fields {gap: 1.25rem;}
.gform_wrapper.pgform_wrapper .pgform .gfield_label {margin-bottom: .25rem; font-weight: 300;}
.gform_wrapper.pgform_wrapper .pgform .gfield_required {color: inherit;}
.gform_wrapper.pgform_wrapper .pgform :is(input:is([type="email"], [type="file"], [type="tel"], [type="text"], [type="url"]), textarea) {padding: .75rem .875rem; border: 0; border-radius: .5rem; font-size: inherit; background-color: var(--tangray);}
.gform_wrapper.pgform_wrapper .pgform .gfield .ginput_container_textarea textarea {height: 10rem;}
.gform_wrapper.pgform_wrapper .pgform input[type="file"]::file-selector-button {display: inline-flex; gap: .625rem; align-items: center; margin-right: .5rem; padding: .6875rem 1.25rem; border: 1px solid light-dark(transparent, #6b7280); border-radius: 1.875rem; font-weight: 500; font-size: .875rem; line-height: 1.43; text-decoration: none; letter-spacing: -.02em; color: var(--blackwhite); background-color: light-dark(var(--tan), transparent); transition: .3s ease-out; cursor: pointer;}
.gform_wrapper.pgform_wrapper .pgform input[type="file"]:hover::file-selector-button {border-color: transparent; color: var(--whiteblack); background-color: light-dark(var(--green), var(--tan));}
.gform_wrapper.pgform_wrapper .pgform .gfield .gform_fileupload_rules {margin-top: .25rem; padding-top: 0;}
.gform_wrapper.pgform_wrapper .pgform :is(.gfield_error .gfield_repeater_cell label, .gfield_error label, .gfield_error legend, .gfield_validation_message, .validation_message, [aria-invalid="true"] + label, label + [aria-invalid="true"], .gform_validation_errors > h2) {color: var(--red);}
.gform_wrapper.pgform_wrapper .gform_validation_errors {border-color: var(--red);}
.gform_wrapper.pgform_wrapper .gform_validation_errors:focus {outline-color: var(--red);}

/* hubspot */
.hsform {--hsf-button__background-color: var(--red); --hsf-button__border-color: transparent; --hsf-button__border-radius: .375rem; --hsf-button__color: var(--white); --hsf-button__font-size: .875rem; --hsf-button__font-weight: 500; --hsf-button__padding: .6875rem 1.25rem; --hsf-button--hover__color: var(--white); --hsf-default-background__padding: 0; --hsf-field-label__color: var(--blackwhite); --hsf-field-label-requiredindicator__color: var(--blackwhite); --hsf-field-input__background-color: var(--tangray); --hsf-field-input__border-radius: .5rem; --hsf-field-input__border-width: 0; --hsf-field-input__color: var(--blackwhite); --hsf-field-input__padding: .75rem .875rem; --hsf-field-input__placeholder-color: rgb(from var(--blackwhite) r g b / .5); --hsf-module__vertical-spacing: .25rem;}
.hsfc-FieldLabel__RequiredIndicator {padding-inline-start: .125em;}
.hsform [data-hsfc-id=Renderer] .hsfc-Button {transition: .3s ease-out; transform: none !important;}
.hsform [data-hsfc-id=Renderer] .hsfc-Button:hover {transform: none !important; --hsf-button__border-radius: 1.875rem;}

/* cards */
.posts-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(min(18.75rem, 100%), 1fr)); gap: 3.75rem; justify-items: center; padding-block: 2.5rem; --mw: 97.5rem;}
.card {aspect-ratio: 1; overflow: clip; border-radius: .5rem; background-color: var(--blackwhite);}
.posts-grid .card {max-width: 21.875rem;}
.card-titles {display: flex; flex-wrap: wrap; place-self: end start; margin: var(--hs);}
.card:has(pg-videowrap) .card-titles {margin-right: 0;}
.card-title {display: inline-grid; place-items: center; padding: .75rem 1rem; border: 1px solid transparent; border-radius: 6.25rem; font-size: .875rem; line-height: 1.28575; text-decoration: none; color: var(--white); background-color: rgb(0 0 0 / .5); background-image: linear-gradient(0deg, rgb(255 255 255 / .2), rgb(255 255 255 / .2)); backdrop-filter: blur(.5rem);}
.card-title:has(svg) {width: 2.625rem; padding: 0;}
.card-image {display: grid; background-color: var(--whiteblack);}
.card-image > * {grid-area: 1 / -1;}
.card-image > img {transition: .3s scale ease-out;}
.card-image:hover > img {scale: 1.05;}
.card-video {display: grid; grid-template: 1fr auto / auto minmax(1.875rem, 1fr); column-gap: .625rem; background-color: var(--whiteblack);}
.card-video pg-videowrap {display: grid; grid-area: 1 / 1 / -1 / -1; grid-template: subgrid / subgrid;}
.card-video pg-videowrap video {grid-area: 1 / 1 / -1 / -1;}
.card-video pg-videowrap .playbtn {grid-area: 2 / 2; align-self: center;}
.card-video .card-titles {grid-area: 2 / 1;}
.card-plustitle {display: inline-block; max-width: 21.875rem; margin-top: 1.25rem; font-weight: 700; line-height: 1.31;}
.card-plustitle:not(:hover) {text-decoration: none;}

/* pagination */
.pagination {display: flex; flex-wrap: wrap; gap: .625rem; justify-content: center; width: max-content; margin: 2.5rem auto 6.25rem; padding: .5rem; border: 1px solid var(--tangray); border-radius: 1.875rem; font-weight: 600;}
.pagination * {display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; text-decoration: none;}
.pagination a {font: inherit; color: var(--blackwhite);}
.pagination a.current {border: 1px solid transparent; color: var(--white); background-color: var(--green);}
.pagination a:hover {color: var(--blackwhite); background-color: var(--tangray);}

/* work */
.single-work pg-videowrap button {align-self: end; margin: var(--hs);}
.wrap-work {margin-top: 7.8125rem;}
.work1 {margin-bottom: 3.75rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--tangray);}
.work1 h1 {margin-bottom: 2.5rem; font: 500 2.5rem/1.25 Gilroy, sans-serif; letter-spacing: -.03em;}
.work1 .wys-work blockquote {margin-inline: 0;}
.work1 .wys-work blockquote p::before {content: open-quote;}
.work1 .wys-work blockquote p::after {content: close-quote;}
.work1 .wys-work hr {margin-block: 2.5rem; border: 0; border-top: 1px solid var(--tangray);}
.work1 .wys-work a:hover {text-decoration: none;}
.work1 .wys-work h2 {padding-top: 2.5rem; border-top: 1px solid var(--tangray); font-size: .875rem; line-height: 1.29;}
.work1 .wys-work h2:not(:first-child) {margin-top: 2.5rem;}
.work1 .wys-work h2 + * {margin-top: .5rem;}
.work1 .wys-work > :is(pg-number, p:has(pg-number)) {display: block; margin-top: 1.25rem; font: 500 1.625rem/1.192 Gilroy, sans-serif; letter-spacing: -.03em;}
.work1 .wys-work > :is(pg-number, p:has(pg-number)) + p {margin-top: .5rem;}
.work2 > * {display: grid; margin-inline: auto; border-radius: .5rem;}
.work3 {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--hs); margin-block: var(--hs);}
.work3 > * {grid-column: 1 / -1;}
.work3-pair {display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--hs);}
.work3 :is(img, pg-videowrap, lite-vimeo) {border-radius: .375rem;}
.work3 lite-vimeo {aspect-ratio: 16 / 9;}
.work3 lite-vimeo:not(:defined) {display: grid; place-items: center; border: 1px solid; font-size: clamp(1.5rem, .8rem + 3.5vw, 5rem); text-align: center;}

/* insights */
.wrap-insights {padding-bottom: 3.75rem; --mw: 76.875rem;}
.wrap-insights h2 {font: 500 1.625rem/1.192 Gilroy, sans-serif; letter-spacing: -.03em;}
.wrap-insights > img {margin-block: var(--hs); border-radius: .375rem;}
.insights-side {display: grid; grid-template-columns: 1fr auto; column-gap: 2.5rem; align-content: start; max-width: 30rem; margin-top: 3.75rem;}
.insights-side > * {grid-column: 1 / -1;}
.insights-side p {margin-top: .625rem;}
.insights-side dl {display: grid; grid-template-columns: subgrid; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--tangray);}
.insights-side dd {margin-top: .375rem; font-weight: 700; font-size: 1.125rem; line-height: 1.33;}
.insights-side h3 {font-weight: inherit; font-size: inherit;}
.insights-side-share {display: grid; grid-template-columns: subgrid; align-items: center; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--tangray);}
.insights-side-share ul {display: flex; gap: 1.25rem; justify-content: end;}
.insights-side-share :is(a, button):hover {color: var(--red);}
.insights-side .btn {justify-self: start; margin-top: 1.25rem;}
.insights-main {margin-top: 3.75rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--tangray);}
.insights-main h2 b::after {font-size: smaller; color: var(--white); background-color: var(--red); content: 'ERROR: Do not make headings bold.';} /* @TODO: remove on launch */
.insights-main-locked {position: relative; padding-bottom: 0; border-bottom: 0;}
.insights-main-locked::after {position: absolute; bottom: 0; width: 100%; height: 9.375rem; background: linear-gradient(180deg, transparent 0%, var(--whiteblack) 100%); content: '';}
.insights-author {display: grid; grid-template-columns: auto 1fr; gap: 1.25rem; align-items: center; width: 100%; padding-block: 2.5rem; border-bottom: 1px solid var(--tangray);}
.insights-author:has(> img) {grid-template-columns: auto 1fr auto;}
.insights-author img {border-radius: 50%;}
.insights-author-name {display: grid;}
.insights-author-name strong {font-weight: 700; font-size: 1.125rem; line-height: 1.33;}
.insights-author .btn {justify-self: end;}
.insights-author-bio {grid-column: 1 / -1;}
.insights-author-bio:empty {display: none;}
.insights-hsform {padding-block: 2.5rem; border-bottom: 1px solid var(--tangray);}
.insights-hsform .hs-form-html {margin-top: 1rem;}

/* people */
.wrap-person {display: grid; gap: 3.75rem 1.25rem; justify-content: center; --mw: 76.875rem;}
.wrap-person > img {justify-self: center; border-radius: .75rem;}
.wrap-person .wys {max-width: 42.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--tangray);}
.wrap-person .wys h2 {font-size: 1.625rem; line-height: 1.19; letter-spacing: -.03em;}
.wrap-person .wys .ctas {margin-top: 1.25rem;}

/* careers */
.wrap-career {row-gap: 3.125rem; padding-block: 3.75rem;}
.career-main {padding-bottom: 2.5rem; border-bottom: 1px solid var(--tangray);}

/* block 3268 */
.block3268 {display: grid; --mw: 76.875rem;}
.block3268 h2 {font-size: 1.625rem; line-height: 1.19; letter-spacing: -.03em;}

/* block: accordions */
.block-acc {display: grid; gap: 1.875rem; padding-block: 8.75rem; --mw: 78.75rem;}
.block-acc h2 {font-size: 1.625rem; line-height: 1.19; letter-spacing: -.03em;}
.block-acc .acc {width: 100%; margin-top: 2.5rem;}
.block-acc .pgdetails summary {font-weight: 500; font-size: 1.625rem; line-height: 1.19; letter-spacing: -.03em;}
.block-acc .pgdetails::details-content {max-width: 31.25rem;}
.block-acc .pgdetails p:has(.btn) {margin-top: 1.25rem;}

/* block: callout box */
.block-cob {padding-block: 3.75rem; --mw: 76.875rem;}
.block-cob .cob {display: grid; gap: 1.875rem 3.75rem; padding: 3.75rem 1.875rem; border-radius: 1rem; color: var(--white); background-color: var(--green);}
.block-cob h2 {font-size: 2rem; line-height: 1.19; letter-spacing: -.03em;}
.block-cob .wys {flex-basis: 43.75rem;}

/* block: careers (3268) */
.block-careers {display: grid; gap: 3.125rem; padding-block: 3.75rem;}
.careers-main {display: grid; gap: 2.5rem;}
.card-career {padding: 1.25rem; border: 1px solid var(--tangray); border-radius: .75rem; background-color: light-dark(var(--tan), transparent);}
.card-career div {font-size: .875rem; line-height: 1.29;}
.card-career h3 {margin-top: 1.875rem; font-size: 1.25rem; line-height: 1.3;}
.card-career p {margin-block: .5rem 1.875rem;}

/* block: center cta */
.block-centercta {padding-block: 6.25rem; text-align: center; --mw: 50.9375rem;}
.block-centercta h2 {font-size: 2.5rem; line-height: 1.25; letter-spacing: -.03em;}
.block-centercta .ctas {margin-top: 2.5rem;}

/* block: contact (3268) */
.block-contact {gap: 3.75rem;}
.block-contact-head {display: grid; gap: 2.5rem; align-content: start;}
.block-contact-head img {align-self: start; border-radius: .75rem;}
.block-contact .ctas {margin-top: 1.25rem;}

/* block: faqs (3268) */
.block-faq {gap: 1.875rem; padding-block: 3.75rem;}

/* block: heading plus content (3268) */
.block-hpc {gap: 3.125rem 1.875rem; padding-block: 3.75rem;}
.block-hpc .hpc-side .wys {margin-top: .625rem;}
.block-hpc .wys2 {padding-bottom: 2.5rem; border-bottom: 1px solid var(--tangray);}

/* block: image plus text */
.block-ipt {display: grid; gap: 2.5rem; padding-block: 3.75rem; --mw: 50rem;}
.block-ipt > img {margin-inline: auto; border-radius: .375rem;}
.block-ipt h2 {font-size: 1.625rem; line-height: 1.19; letter-spacing: -.03em;}
.block-ipt .wys {align-self: end;}
.block-ipt .ctas {margin-top: 1.875rem;}

/* block: logo wall */
.block-lw {display: flex; flex-wrap: wrap; gap: 3.75rem; justify-content: space-around; padding-block: 2.5rem; --mw: 76.875rem;}
.block-lw .logo {width: 125px; height: 48px; text-align: center;}
body:has(.ph-mode-btn[aria-pressed="true"]) .logo-black, body:has(.ph-mode-btn[aria-pressed="false"]) .logo-white {display: none;}

/* block: mosaic grid */
.block-mg-pre {padding-block: var(--hs);}
.block-mg-pre:has(pg-videowrap) .card-titles {margin-right: 0;}
.block-mg-pre :is(img, pg-videowrap, video) {width: 100%; height: 100%; max-width: none; object-fit: cover; border-radius: .5rem;}
.block-mg {display: grid; gap: var(--hs);}

/* block: post slider */
.block-ps {padding-block: 6.25rem;}
.block-ps-head {display: grid; gap: 1.875rem; justify-items: center;}
.block-ps-head h2 {font: 500 2rem/1.1875 Gilroy, sans-serif; letter-spacing: -.03em;}
.block-ps pg-slider {margin-top: 3.75rem;}
.block-ps pg-slider:not(:defined) {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(18.75rem, 100%), 1fr)); gap: 3.75rem; justify-items: center; margin-inline: max(var(--hs), ((100% - var(--mw, 118.125rem)) / 2)); --mw: 97.5rem;}
.block-ps pg-slider:defined {grid-template: auto auto / max(var(--hs), ((100% - 86.25rem) / 2)) 1fr auto max(var(--hs), ((100% - 86.25rem) / 2)); row-gap: 3.75rem;}
.block-ps pg-slider:defined .slide-wrap {padding-inline: max(var(--hs), ((100% - 86.25rem) / 2));}

/* block: tabset */
.block-tabset {padding-top: 2.5rem; --mw: 78.75rem;}
.block-tabset h2 {font-size: 2.5rem; line-height: 1.25; letter-spacing: -.03em;}
.block-tabset pg-tabset {display: block; margin-top: 3.75rem;}
.block-tabset .tablist {display: flex; position: sticky; top: var(--wp-admin--admin-bar--height, 0px); padding-inline: max(0px, ((100% - var(--mw)) / 2)); border-bottom: 1px solid var(--tangray); font-weight: 500; font-size: 1.125rem; line-height: 1.33; background-color: var(--whiteblack);}
.block-tabset .tablist a {display: block; padding: .75rem 1rem .5625rem; border-bottom: 3px solid transparent; text-decoration: none; translate: 0 1px;}
.block-tabset .tablist a[aria-selected="true"] {border-bottom-color: var(--red);}
.block-tabset section {gap: 3.75rem; justify-content: space-between; padding-block: 3.75rem;}
.block-tabset section > img {border-radius: .75rem;}

/* block: team carousel */
.block-tc {padding-block: 8.75rem; --mw: 76.875rem;}
.block-tc h2 {font-size: 2rem; line-height: 1.19; letter-spacing: -.03em;}
.block-tc h2 + p {margin-top: .875rem; font-size: 1.25rem; line-height: 1.3;}
.block-tc pg-slider {row-gap: 5rem; margin-top: 5rem;}
.block-tc pg-slider:not(:defined) {display: grid; grid-template-columns: repeat(auto-fill, minmax(min(18.5rem, 100%), 1fr)); gap: var(--hs); justify-items: center; margin-inline: max(var(--hs), ((100% - var(--mw, 118.125rem)) / 2));}
.block-tc pg-slider:defined {grid-template-columns: max(var(--hs), ((100% - var(--mw)) / 2)) 1fr auto max(var(--hs), ((100% - var(--mw)) / 2)); row-gap: 5rem;}
.block-tc pg-slider:defined .slide-wrap {padding-inline: max(var(--hs), ((100% - var(--mw)) / 2));}
.card-person {display: grid; grid-template-rows: auto 1fr; gap: 1.25rem; width: min(18.75rem, 77vw); padding: var(--hs); border: 1px solid var(--tangray); border-radius: .875rem; font-size: .875rem; line-height: 1.29;}
.card-person:not(:has(img))::before {aspect-ratio: 1; content: '';}
.card-person img {border-radius: .375rem;}
.card-person .person-main {align-self: start;}
.card-person h3 {margin-bottom: .25rem; font-size: 1.25rem; line-height: 1.3;}
.card-person h3 a:not(:hover) {text-decoration: none;}
.card-person h4 {margin-block: .9375rem .5rem; font-size: .875rem;}

/* block: wysiwyg */
.block-wys {--mw: 42.5rem;}

/* search */
.resultstxt {font-weight: 500; font-size: 2rem; line-height: 1.19; letter-spacing: -.03em;}
.results li {margin-bottom: 2.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--tangray);}
.results a {font-weight: 500; font-size: 1.25rem; line-height: 1.3;}
.results p {margin-top: 1rem;}

@media (width >= 24.375em) { /* 390px */

	/* header */
	.ph-search .wrap-search1 input {max-width: none;}

	/* block: mosaic grid */
	.block-mg {grid-template-columns: 1fr 1fr; grid-template-areas: 'A A' 'B C' 'D D' 'E E' 'F G' 'H H' 'I I' 'J K' 'L L' 'M M' 'N O' 'P P';}
	.block-mg .card:nth-child(1) {grid-area: A;}
	.block-mg .card:nth-child(2) {grid-area: B;}
	.block-mg .card:nth-child(3) {grid-area: C;}
	.block-mg .card:nth-child(4) {grid-area: D;}
	.block-mg .card:nth-child(5) {grid-area: E;}
	.block-mg .card:nth-child(6) {grid-area: F;}
	.block-mg .card:nth-child(7) {grid-area: G;}
	.block-mg .card:nth-child(8) {grid-area: H;}
	.block-mg .card:nth-child(9) {grid-area: I;}
	.block-mg .card:nth-child(10) {grid-area: J;}
	.block-mg .card:nth-child(11) {grid-area: K;}
	.block-mg .card:nth-child(12) {grid-area: L;}
	.block-mg .card:nth-child(13) {grid-area: M;}
	.block-mg .card:nth-child(14) {grid-area: N;}
	.block-mg .card:nth-child(15) {grid-area: O;}
	.block-mg .card:nth-child(16) {grid-area: P;}

}

@media (width <= 28.125em) { /* 450px */

	/* block: mosaic grid */
	.block-mg-pre, .block-mg-pre video {aspect-ratio: 1;}

}

@media (width >= 30em) { /* 480px */

	/* work */
	.work3-pair {grid-template-columns: subgrid;}

	/* footer */
	.pf-jim {grid-template: auto auto / auto auto 1fr;}
	.pf-jim .btn {grid-area: 1 / 3 / -1 / 4; margin-top: 0; margin-left: .625rem;}

}

@media (max-width: 600px) { /* stylelint-disable-line media-feature-name-unit-allowed-list, media-feature-name-value-allowed-list */

	/* block: tabset */
	.block-tabset .tablist {top: 0;}

}

@media (width >= 40.625em) { /* 650px */

	/* block: mosaic grid */
	.block-mg {grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; grid-template-areas: 'A A A A B B' 'A A A A C C' 'D D D E E E' 'F F G G G G' 'H H G G G G' 'I I I I J J' 'I I I I K K' 'L L L M M M' 'N N O O O O' 'P P O O O O';}

}

@media (width < 48em) { /* 767px */

	.ph-btn span {position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;}

}

@media (width >= 48em) { /* 768px */

	/* header */
	.ph-btn {padding-inline: .9375rem;}
	.ph-search {padding-block: 7.5rem;}
	.ph-search .wrap-search1 h2 {font-size: 2.5rem; line-height: 1.25;}

	/* footer */
	.pf {padding-top: 10rem;}

	/* work */
	.single-work h1 {font-size: 3.125rem;}

	/* people */
	.wrap-person {padding-block: 8.75rem;}
	.wrap-person:has(> img) {grid-template-columns: 53fr 68fr;}
	.wrap-person > img {justify-self: start;}
	.wrap-person .wys h2 {font-size: 2rem;}

	/* careers */
	.wrap-career {padding-block: 8.75rem;}

	/* block 3268 */
	.block3268 h2 {font-size: 2rem;}

	/* block: accordions */
	.block-acc .pgdetails summary {font-size: 2.5rem; line-height: 1.25;}

	/* block: callout box */
	.block-cob {padding-block: 7.5rem;}
	.block-cob .cob {grid-template-columns: 34fr 70fr;}

	/* block: careers (3268) */
	.block-careers {padding-block: 8.75rem;}

	/* block: contact (3268) */
	.block-contact {padding-block: 8.75rem;}

	/* block: faqs (3268) */
	.block-faq {padding-block: 8.75rem;}

	/* block: heading plus content (3268) */
	.block-hpc {padding-block: 8.75rem;}

	/* block: post slider */
	.block-ps {padding-block: 12.5rem;}
	.block-ps pg-slider {margin-top: 7.5rem;}
	.block-ps pg-slider:not(:defined) {gap: 7.5rem;}
	.block-ps pg-slider:defined {row-gap: 7.5rem;}

	/* block: tabset */
	.block-tabset section {padding-block: 8.75rem;}

	/* block: team carousel */
	.block-tc h2 {font-size: 2.5rem; line-height: 1.25;}
	.block-tc h2 + p {font-size: 1.25rem; line-height: 1.3;}
	.block-tc pg-slider:defined .slide-wrap {display: grid; grid-template-rows: auto auto; grid-auto-flow: column;}
	.card-person {display: grid; grid-template: auto / 11.875rem 14.375rem; width: auto;}
	.card-person .person-main {display: grid; grid-template-rows: 1fr auto; height: 100%;}
	.card-person h3 {font-size: 1.625rem; line-height: 1.19;}

}

@media (width >= 60em) { /* 960px */

	/* block: mosaic grid */
	.block-mg-pre {margin-bottom: calc(.5 * .9375rem); padding-block: .9375rem 0; --hs: calc(1.5 * .9375rem); --mw: 117.1875rem;}
	.block-mg {grid-template-columns: 30fr 30fr 15fr 15fr 15fr 30fr; grid-template-areas: 'A A B B B C' 'A A B B B D' 'A A E E E D' 'F G E E E H' 'I J J K K K' 'L J J K K K' 'L M M K K K' 'N M M O O P'; gap: 0;}
	.block-mg .card {align-self: start; margin: .5rem;}
	.block-mg .card > :is(img, pg-videowrap) {width: 100%; height: 100%; max-width: none; object-fit: cover;}

}

@media (width >= 64em) { /* 1024px */

	/* utility classes */
	.block3268 {grid-template-columns: 20rem 1fr;}
	.block3268 > :last-child {justify-self: end; width: 100%; max-width: 42.5rem;}

	/* header */
	.wrap-menu {display: grid; grid-template: auto auto / 658fr 432fr; align-items: start; padding-block: 7.5rem;}
	.ph-menu-footer {grid-area: 2 / 1;}

	/* footer */
	.wrap-pf {grid-template: auto auto / 1fr 24.375rem;}
	.pf-left, .pf-right {display: grid; grid-row: 1 / -1; grid-template-rows: subgrid;}
	.pf-menus {column-gap: 5rem; justify-self: start;}
	.pf-jim {margin-top: 0;}

	/* work */
	.wrap-work {display: grid; grid-template-columns: minmax(0, 575fr) minmax(0, 700fr); column-gap: 8.4375rem; align-items: start; max-width: 88.125rem; --mw: 88.125rem;}
	.work1 {margin-left: 5.625rem;}
	.work2 {position: sticky; top: 4.75rem; margin-bottom: 3.75rem;}
	.work3, .wrap-work .block-ps {grid-column: 1 / -1;}

	/* insights */
	.wrap-insights {display: grid; grid-template-columns: 20rem 1fr; gap: 2.5rem;}
	.wrap-insights > img {grid-column: 1 / -1;}
	.insights-side {max-width: 20rem; margin-top: 0;}
	.insights-side-share ul {justify-content: space-between;}
	.insights-main, .insights-author, .insights-hsform {justify-self: end; width: 100%; max-width: 42.5rem;}
	.insights-main {margin-top: 0;}
	.insights-author, .insights-hsform {grid-column: 2; padding-top: 0;}

	/* block: callout box */
	.block-cob .cob {padding: 6.25rem 5rem;}

}

@media (width >= 75em) { /* 1200px */

	/* cards */
	.posts-grid {gap: 7.5rem;}

	/* block: image plus text */
	.block-ipt {grid-template-columns: 80fr 54fr; padding-block: 6.25rem; --mw: 90rem;}
	.block-ipt.tpi {grid-template-columns: 54fr 80fr;}
	.block-ipt > * {grid-row: 1;}
	.block-ipt > img {margin-inline: 0;}
	.block-ipt.tpi > img {grid-column: 2;}
	.block-ipt .wys {max-width: 22.5rem; margin-inline: 5.625rem;}

	/* block: heading plus content (3268) */
	.block-hpc .hpc-side > * {max-width: 20rem;}
	.block-hpc .wys2 {max-width: 42.5rem;}

	/* block: logo wall */
	.block-lw {justify-content: space-between;}

}

@media (width >= 100em) { /* 1600px */

	/* block: mosaic grid */
	.block-mg {grid-template-columns: 30fr 30fr 15fr 15fr 15fr 30fr 45fr; grid-template-areas: 'A A B B B C D' 'A A B B B E D' 'A A F F F E G' 'H I F F F J G' 'K L L M M N O' 'P L L . . . O' 'P . . . . . .';}

}

@supports (interpolate-size: allow-keywords) {

	:root {interpolate-size: allow-keywords;}

	::details-content {height: 0; overflow: clip; transition: height .3s ease-out, content-visibility .3s ease allow-discrete;}
	[open]::details-content {height: auto;}

}

@media (hover: hover) {

	/* header */
	.ph-btn:hover {border-radius: 1.875rem; color: var(--blackwhite); background-color: var(--tangray);}
	.ph-menu .menu > li > a:hover {--arrow: 4rem;}
	.ph-menu .menu > li > a:hover > svg:first-child {opacity: 1;}

	/* utility classes */
	.pgdetails summary:hover > span {padding-right: var(--carat); translate: var(--arrow);}
	.pgdetails summary:hover > svg:first-child {translate: 0;}

}

@media print {

	html {color: #000 !important; background-color: #fff !important;}
	html :is(*, *::before, *::after) {border-color: #000 !important; text-shadow: none !important; color: #000 !important; background-color: transparent !important;}
	blockquote, figure {page-break-inside: avoid; break-inside: avoid;}

	/* web components */
	pg-slider:defined [role="group"]:first-child, pg-slider:defined .bar {display: none;}

	/* header */
	#maindocument {margin-bottom: 0;}
	#maindocument::after {background-color: transparent;}
	.ph-btns *, .ph-mode * {display: none;}

	/* footer */
	.peekaboo {display: none;}

	/* block: tabset */
	.block-tabset .tablist a {border: 0}
	.block-tabset .tablist a[aria-selected="true"] {border-bottom: 3px solid;}

}

@media (prefers-reduced-motion: no-preference) {

	html:focus-within {scroll-behavior: smooth;}

	@view-transition {navigation: auto;}

	/* @TODO: implement this? */
	.bump {position: relative; opacity: 0; translate: 0 75px;}
	.bump.bumped {opacity: 1; translate: 0 0;}

	/* header */
	.ph-btn * {transition: none;}
	.ph-menu, .ph-search {transition: .3s ease-out; transition-behavior: allow-discrete; @starting-style {height: 0;}}

	@supports (height: calc-size(auto, size)) {

		/* header */
		.ph-menu .menu > li.menu-item-has-children > .sub-menu {overflow-y: clip; transition: .3s ease-out; transition-behavior: allow-discrete;}
		.ph-menu .menu > li.menu-item-has-children > a[aria-expanded="false"] ~ .sub-menu {height: 0;}
		.ph-menu .menu > li.menu-item-has-children > a[aria-expanded="true"] ~ .sub-menu {height: calc-size(auto, size); @starting-style {height: 0;}}

	}

	/* headline */

	@keyframes translate-up-in {
		0% {translate: 0 100%;}
		100% {translate: 0 0%;}
	}

	@keyframes translate-up-out {
		0% {translate: 0 0%;}
		100% {translate: 0 100%;}
	}

}

@media (prefers-reduced-motion: reduce) {

	*, *::before, *::after {scroll-behavior: auto !important; transition-duration: 1ms !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important;}

}

@media (forced-colors: active) {

	/* @TODO */

}
