/* Pinebridge · the firm's pages: who we are, the team, our impact, the gallery, questions,
   talk to us; and the enquiry form, which brings this sheet to whatever page it is placed on.
   Every class here starts with fm- or sits under .enquiry, so nothing leaks into another
   area's page. Tokens, cards, pills, forms and the rest come from site.css. */

/* Controls that only work with script are not offered without it. */
html:not(.js) .fm-js { display: none !important; }
.fm-anchor { scroll-margin-top: 110px; }
.fm-faq .acc__item { scroll-margin-top: 110px; }
.fm-cap { position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 1; margin: 0; padding: 10px 16px; border-radius: 12px; background: rgba(4, 20, 36, .74); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff; font-size: 14px; line-height: 1.45; }
.fm-photo { position: relative; margin: 0; border-radius: var(--r); overflow: hidden; background: var(--navy-800); }
.fm-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.fm-photo:hover img { transform: scale(1.05); }
.fm-tally { margin: 0; font-size: 15px; color: var(--muted); }
.fm-tally b { color: var(--ink); font-weight: 600; }
.fm-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 24px; margin-bottom: 32px; }
@keyframes fm-pop { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }
.fm-in { animation: fm-pop .5s var(--ease) backwards; }

/* Page opening: the pictures on the right ------------------------------------------ */
.fm-art { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 16px; }
.fm-art figure { position: relative; margin: 0; overflow: hidden; border-radius: var(--r-lg); background: var(--navy-800); box-shadow: 0 40px 80px -30px rgba(2, 12, 24, .7); }
.fm-art img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.fm-art figure:hover img { transform: scale(1.05); }
.fm-art__main { grid-column: 1 / -1; aspect-ratio: var(--ar, 1500 / 735); }
.fm-art__sub { aspect-ratio: 16 / 10; }
.fm-art__badge { display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 20px 26px; border-radius: var(--r-lg); background: var(--green); color: var(--navy-900); box-shadow: 0 30px 60px -24px rgba(2, 12, 24, .6); }
.fm-art__badge b { font-size: clamp(40px, 3.8vw, 54px); font-weight: 600; line-height: 1; letter-spacing: -.03em; }
.fm-art__badge > span { font-size: 14.5px; font-weight: 500; line-height: 1.4; }
.fm-phero--deep { padding-bottom: 150px; }

/* Who we are ------------------------------------------------------------------------ */
.fm-duo { position: relative; padding: 0 13% 12% 0; }
.fm-duo figure { margin: 0; overflow: hidden; background: var(--navy-50); }
.fm-duo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.fm-duo figure:hover img { transform: scale(1.05); }
.fm-duo__a { position: relative; border-radius: var(--r-lg); aspect-ratio: 5 / 4.3; }
.fm-duo__b { position: absolute; right: 0; bottom: 0; width: 50%; aspect-ratio: 4 / 3; border-radius: var(--r); box-shadow: 0 0 0 7px #fff, var(--shadow-2); }
.fm-duo__chip { position: absolute; left: 16px; top: 16px; z-index: 1; }
.fm-story h2 { margin: 18px 0 18px; }
.fm-story .ticks { margin: 22px 0; font-size: 15.5px; }
.fm-story .ticks li { color: var(--ink); font-weight: 500; }

.fm-creed { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.fm-creed .card { display: flex; flex-direction: column; padding: 36px 32px 32px; }
.fm-creed .card h3 { margin-top: 24px; font-size: 23px; }
.fm-creed .card p { margin-top: 14px; font-size: 18px; line-height: 1.65; }
.fm-creed .card .link { margin-top: auto; padding-top: 30px; align-self: flex-start; }
.fm-creed .orb { transition: transform .35s var(--ease); }
.fm-creed .card:hover .orb { transform: rotate(-8deg) scale(1.08); }
.fm-creed__photo { position: relative; margin: 0; min-height: 400px; border-radius: var(--r); overflow: hidden; background: var(--navy-800); }
.fm-creed__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 78% 50%; transition: transform 1s var(--ease); }
.fm-creed__photo:hover img { transform: scale(1.05); }

.fm-creds { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(24px, 4vw, 60px); align-items: center; padding: clamp(28px, 4.4vw, 60px); border-radius: var(--r-lg); background: linear-gradient(120deg, var(--navy-950), var(--navy-700)); color: rgba(255, 255, 255, .8); overflow: hidden; isolation: isolate; }
.fm-creds::before { content: ""; position: absolute; left: -8%; bottom: -70%; z-index: -1; width: 56%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(140, 198, 63, .26), transparent); }
.fm-creds h2 { color: #fff; margin: 16px 0 14px; }
.fm-creds__text p { max-width: 460px; margin-bottom: 26px; }
.fm-creds__list { display: grid; gap: 16px; }
.fm-cred { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 22px; align-items: center; padding: 18px 24px 18px 18px; border-radius: var(--r); background: #fff; color: var(--body); transition: transform .35s var(--ease), box-shadow .35s; }
.fm-cred:hover { transform: translateX(-8px); box-shadow: 0 24px 44px -18px rgba(2, 12, 24, .65); }
.fm-cred__mark { display: grid; place-items: center; width: 116px; height: 100px; padding: 10px; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.fm-cred__mark img { max-width: 100%; max-height: 80px; width: auto; height: auto; object-fit: contain; }
.fm-cred h3 { font-size: 18.5px; }
.fm-cred p { margin-top: 6px; font-size: 15px; }
.fm-cred b { color: var(--ink); white-space: nowrap; }

.fm-record { align-items: start; }
.fm-record__side { position: sticky; top: 110px; }
.fm-record__side h2 { margin: 18px 0 16px; }
.fm-record__side .fm-photo { margin-top: 30px; aspect-ratio: 4 / 2.7; }
.fm-years { position: relative; display: grid; gap: 18px; }
.fm-years::before { content: ""; position: absolute; left: 43px; top: 24px; bottom: 24px; width: 2px; background: var(--line-2); }
.fm-year { position: relative; display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 22px; align-items: start; }
.fm-year__when { position: relative; z-index: 1; display: grid; place-items: center; height: 48px; margin-top: 14px; border-radius: 999px; background: var(--navy-900); color: #fff; font-size: 17px; font-weight: 600; letter-spacing: -.01em; box-shadow: 0 0 0 6px #fff; transition: background .3s, color .3s; }
.fm-year:hover .fm-year__when { background: var(--green); color: var(--navy-900); }
.fm-year__body { padding: 22px 26px 24px; border-radius: var(--r); background: #fff; box-shadow: inset 0 0 0 1px var(--line); transition: transform .35s var(--ease), box-shadow .35s; }
.fm-year:hover .fm-year__body { transform: translateX(6px); box-shadow: var(--shadow-1), inset 0 0 0 1px transparent; }
.fm-year__body h3 { font-size: 19px; line-height: 1.35; }
.fm-year__body p { margin-top: 8px; font-size: 15px; }
.fm-year__body p a { color: var(--green-700); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.fm-year__body p a:hover { color: var(--navy-700); }
.fm-next { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.fm-next a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 6px 16px; border-radius: 999px; background: var(--green-50); box-shadow: inset 0 0 0 1px #D5E8B5; color: var(--navy-900); font-size: 14px; font-weight: 600; line-height: 1.3; transition: background .2s, color .2s, box-shadow .2s; }
.fm-next a small { font-size: 14px; font-weight: 500; color: var(--green-700); }
.fm-next a:hover { background: var(--navy-900); color: #fff; box-shadow: none; }
.fm-next a:hover small { color: var(--green); }
.fm-next .ico { color: var(--green-600); font-size: 16px; }

/* People ---------------------------------------------------------------------------- */
.fm-people { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.fm-person { transition: transform .35s var(--ease), box-shadow .35s; }
.fm-person:hover { transform: translateY(-6px); box-shadow: var(--shadow-2); }
.fm-person:focus-within { outline: 3px solid var(--sky); outline-offset: 3px; }
.fm-person .person__body p { line-height: 1.4; }
.fm-person__open { color: inherit; font: inherit; letter-spacing: inherit; text-align: left; }
.fm-person__open::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.fm-person__open:focus-visible { outline: none; }
.fm-person__creds { display: block; max-height: 0; overflow: hidden; opacity: 0; font-size: 14px; line-height: 1.45; color: rgba(255, 255, 255, .86); transition: max-height .45s var(--ease), opacity .3s, margin .3s; }
.fm-person:hover .fm-person__creds, .fm-person:focus-within .fm-person__creds { max-height: 64px; margin-top: 8px; opacity: 1; }
@media (hover: none) { .fm-person__creds { max-height: none; margin-top: 8px; opacity: 1; } }
.fm-person__blank { position: absolute; inset: 0; z-index: -2; display: grid; place-items: center; background: linear-gradient(160deg, var(--navy-700), var(--navy-900)); color: rgba(255, 255, 255, .28); font-size: 84px; font-weight: 600; letter-spacing: -.03em; }
.fm-hint { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 15px; }
.fm-hint .ico { color: var(--green-600); font-size: 20px; }

/* A member's biography, in a window over the page. Without script each is simply on the page. */
/* The box is taller than a phone screen: it starts at the top and scrolls, and is centred only when there is room. */
.fm-bio { align-items: start; }
.fm-bio .modal__box { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); width: min(980px, 100%); margin-block: auto; padding: 0; overflow: hidden; }
.fm-bio__photo { position: relative; margin: 0; min-height: 320px; background: var(--navy-800); }
.fm-bio__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 10%; }
.fm-bio__text { padding: clamp(26px, 3.4vw, 46px); }
.fm-bio__text h2 { margin: 16px 0 12px; padding-right: 40px; font-size: clamp(26px, 2.6vw, 34px); }
.fm-bio__creds { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.fm-bio__body { font-size: 15.5px; line-height: 1.72; }
.fm-bio__foot { margin-top: 24px; }
.fm-bio .modal__close { z-index: 2; background: #fff; box-shadow: var(--shadow-1); }
.fm-bio .modal__close:hover { background: var(--navy-900); }
html:not(.js) .fm-bio { position: static; display: block; padding: 0 var(--gutter) 28px; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; opacity: 1; visibility: visible; overflow: visible; }
html:not(.js) .fm-bio .modal__box { margin-inline: auto; transform: none; box-shadow: inset 0 0 0 1px var(--line); }
html:not(.js) .fm-bio .modal__close { display: none; }

.fm-practice h2 { margin: 18px 0 18px; }
.fm-practice .fm-photo { aspect-ratio: 4 / 3.1; }
.fm-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fm-stats--3 .stat__cap { max-width: 280px; }
.fm-stats--3 .stat__cap b { display: block; color: var(--ink); font-weight: 600; }

/* Our impact ------------------------------------------------------------------------ */
.fm-figures { margin-top: 0; }
.fm-clients { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.fm-client { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px 18px 20px; border-radius: var(--r); background: #fff; box-shadow: inset 0 0 0 1px var(--line); transition: transform .35s var(--ease), box-shadow .35s; }
.fm-client[hidden] { display: none; }
.fm-client:hover { transform: translateY(-5px); box-shadow: var(--shadow-2); }
.fm-client__logo { display: grid; place-items: center; width: 100%; height: 104px; margin-bottom: 6px; padding: 12px 6px; border-bottom: 1px solid var(--line); }
.fm-client__logo img { max-width: 88%; max-height: 78px; width: auto; height: auto; object-fit: contain; transition: transform .45s var(--ease); }
.fm-client:hover .fm-client__logo img { transform: scale(1.08); }
.fm-client__logo b { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--navy-50); color: var(--navy-700); font-size: 24px; font-weight: 600; }
.fm-client h3 { font-size: 16px; line-height: 1.35; }
.fm-client__sector { font-size: 14px; line-height: 1.4; color: var(--muted); }
.fm-client .link { margin-top: auto; padding-top: 8px; font-size: 14px; min-height: 44px; }
.fm-pillbar { margin-bottom: 30px; }

.fm-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.fm-strip .shot { aspect-ratio: 4 / 3; }
.fm-strip .shot img { height: 100%; object-fit: cover; }

/* What clients have written. One card to an organisation, each reference in full. */
.fm-refs { columns: 3; column-gap: 24px; }
.fm-ref { position: relative; break-inside: avoid; display: flex; flex-direction: column; margin: 0 0 24px; padding: 30px 28px 26px; border-radius: var(--r); background: #fff; box-shadow: inset 0 0 0 1px var(--line); scroll-margin-top: 110px; transition: box-shadow .3s, transform .3s var(--ease); }
.fm-ref:hover { box-shadow: var(--shadow-1), inset 0 0 0 1px transparent; transform: translateY(-4px); }
.fm-ref:target { box-shadow: 0 0 0 3px var(--green), var(--shadow-1); }
.fm-ref__mark { font-size: 36px; color: var(--green); margin-bottom: 14px; }
.fm-ref blockquote { margin: 0; font-size: 16px; line-height: 1.72; color: var(--body); }
.fm-ref blockquote + blockquote { margin-top: 18px; padding-top: 18px; border-top: 1px dashed var(--line-2); }
.fm-ref footer { display: flex; align-items: center; gap: 14px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.fm-ref__logo { display: grid; place-items: center; width: 60px; height: 60px; flex: none; padding: 8px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; color: var(--navy-700); font-size: 22px; font-weight: 600; }
.fm-ref__logo img { max-width: 100%; max-height: 44px; width: auto; object-fit: contain; }
.fm-ref cite { display: block; font-style: normal; font-weight: 600; font-size: 16px; line-height: 1.3; color: var(--ink); }
.fm-ref small { display: block; margin-top: 3px; font-size: 14px; line-height: 1.4; color: var(--muted); }
.fm-ref--lead { column-span: all; display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: clamp(22px, 4vw, 60px); align-items: center; padding: clamp(28px, 4vw, 54px); background: linear-gradient(120deg, var(--navy-950), var(--navy-700)); box-shadow: none; overflow: hidden; isolation: isolate; }
.fm-ref--lead::before { content: ""; position: absolute; right: -8%; bottom: -80%; z-index: -1; width: 54%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(140, 198, 63, .28), transparent); }
.fm-ref--lead:hover { box-shadow: var(--shadow-2); }
.fm-ref--lead blockquote { font-size: clamp(18px, 1.7vw, 22px); line-height: 1.62; color: #fff; }
.fm-ref--lead blockquote + blockquote { border-color: rgba(255, 255, 255, .2); }
.fm-ref--lead footer { flex-direction: column; align-items: flex-start; margin: 0; padding: 26px; border: 0; border-radius: var(--r); background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
.fm-ref--lead .fm-ref__logo { width: 84px; height: 84px; padding: 12px; box-shadow: none; }
.fm-ref--lead .fm-ref__logo img { max-height: 60px; }
.fm-ref--lead cite { color: #fff; font-size: 19px; }
.fm-ref--lead small { color: rgba(255, 255, 255, .74); }
.fm-cases .chip { margin-bottom: 16px; }

/* Gallery ---------------------------------------------------------------------------- */
.fm-gallery .shot[hidden] { display: none; }
.fm-gallery .shot img { min-height: 120px; object-fit: cover; }
.fm-gallery .shot__cap b { display: block; font-weight: 600; }
.fm-gallery .shot__cap span { font-weight: 400; color: rgba(255, 255, 255, .86); }
.fm-zoom { position: absolute; right: 14px; top: 14px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--green); color: var(--navy-900); font-size: 19px; opacity: 0; transform: scale(.7); transition: opacity .3s, transform .35s var(--ease); }
.shot:hover .fm-zoom, .shot:focus-visible .fm-zoom { opacity: 1; transform: none; }
@media (hover: none) {
    .fm-gallery .shot__cap, .fm-strip .shot__cap { opacity: 1; transform: none; }
}

/* Questions --------------------------------------------------------------------------- */
.fm-find { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 22px; align-items: center; margin-bottom: 18px; }
.fm-find .input { min-height: 58px; box-shadow: inset 0 0 0 1.5px var(--line-2), var(--shadow-1); }
.fm-faq .fm-pillbar { margin-bottom: 38px; }
.fm-faq__group + .fm-faq__group { margin-top: 44px; }
.fm-faq__head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.fm-faq__head h2 { flex: 1; font-size: clamp(22px, 2.2vw, 28px); text-transform: capitalize; }
.fm-faq .acc__a > div > div p { padding: 0; }
.fm-faq .acc__a > div > div p + p { margin-top: .8em; }
.fm-faq .acc__a a { color: var(--green-700); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.fm-faq .acc__item { scroll-margin-top: 110px; }
.fm-faq .acc__item:hover { box-shadow: inset 0 0 0 1.5px var(--line-2); }
.fm-faq .acc__item.is-open:hover { box-shadow: var(--shadow-1), inset 0 0 0 1px transparent; }
.fm-faq .callcard { margin-top: 0; aspect-ratio: 4 / 3.3; }
.fm-faq .callcard__box .orb { color: var(--navy-900); font-size: 22px; }
.fm-faq .callcard img { transition: transform 1s var(--ease); }
.fm-faq .callcard:hover img { transform: scale(1.05); }
.fm-ask h2 { font-size: 23px; margin-top: 20px; }
.fm-ask p { margin: 10px 0 6px; }
.fm-ask .facts > div { align-items: center; padding: 6px 0; }
.fm-ask .facts dd a { display: inline-block; padding: 10px 0; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.fm-ask .facts dd a:hover { color: var(--green); }
.fm-ask .btn { margin-top: 18px; }

/* Talk to us -------------------------------------------------------------------------- */
.fm-contact { padding-top: 0; }
.fm-reach { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: -78px 0 clamp(48px, 6vw, 84px); }
.fm-reach__card { display: flex; align-items: flex-start; gap: 16px; padding: 24px 22px; border-radius: var(--r); background: #fff; box-shadow: var(--shadow-2); color: var(--body); transition: transform .35s var(--ease), background .3s, color .3s; }
.fm-reach__card small { display: block; margin-bottom: 3px; font-size: 14px; font-weight: 500; color: var(--muted); transition: color .3s; }
.fm-reach__card b { display: block; font-size: 16.5px; font-weight: 600; line-height: 1.38; color: var(--ink); overflow-wrap: anywhere; transition: color .3s; }
.fm-reach__card .orb { transition: transform .35s var(--ease); }
a.fm-reach__card:hover { transform: translateY(-6px); background: var(--navy-900); }
a.fm-reach__card:hover small { color: rgba(255, 255, 255, .72); }
a.fm-reach__card:hover b { color: #fff; }
a.fm-reach__card:hover .orb { transform: rotate(-10deg) scale(1.08); }
.fm-contact__grid { display: grid; grid-template-columns: minmax(0, 1.32fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.fm-contact__side { position: sticky; top: 100px; display: grid; gap: 20px; }
.fm-contact__photo { aspect-ratio: 3 / 2; }
.fm-find-us { position: relative; overflow: hidden; isolation: isolate; }
.fm-find-us > img { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; opacity: .16; mix-blend-mode: luminosity; }
.fm-find-us h2 { font-size: 22px; margin-bottom: 6px; }
.fm-find-us .facts > div { justify-content: flex-start; gap: 14px; align-items: flex-start; }
.fm-find-us .facts dt { flex: none; width: 92px; }
.fm-find-us .facts dd { text-align: left; font-weight: 500; line-height: 1.5; }
.fm-before .card { display: flex; flex-direction: column; }
.fm-before .card p { flex: 1; }
.fm-before .card .link { margin-top: 20px; }
.fm-before .card .orb { transition: transform .35s var(--ease); }
.fm-before .card:hover .orb { transform: rotate(-8deg) scale(1.08); }

/* The enquiry form, wherever a page puts it ---------------------------------------------- */
.enquiry { display: grid; gap: 18px; scroll-margin-top: 110px; }
.enquiry > .notice { padding: 14px 16px; }
.enquiry > .notice b { font-size: 15.5px; margin-bottom: 2px; }
.enquiry__head { margin-bottom: 26px; }
.enquiry__head h2 { font-size: clamp(24px, 2.4vw, 32px); text-transform: capitalize; }
.enquiry__head > p { margin: 10px 0 0; font-size: 15.5px; }
.enquiry__about { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0 0; padding: 12px 18px; border-radius: 14px; background: var(--green-50); box-shadow: inset 0 0 0 1px #D5E8B5; color: var(--navy-900); font-size: 15px; font-weight: 500; }
.enquiry__about .ico { flex: none; margin-top: 3px; font-size: 19px; color: var(--green-700); }
.enquiry__about a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.enquiry .form-grid { grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); }
.enquiry .notice > div, .enquiry__about > span { min-width: 0; overflow-wrap: anywhere; }
.enquiry .field p { margin: 0; }
.enquiry .form__actions { justify-content: space-between; gap: 16px 24px; padding-top: 4px; }
.enquiry__note { flex: 1 1 240px; margin: 0; font-size: 14px; line-height: 1.5; color: var(--muted); }
.enquiry__note a { color: var(--green-700); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.enquiry__again > summary { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 22px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--line-2); color: var(--ink); font-size: 15px; font-weight: 600; cursor: pointer; list-style: none; transition: background .25s, color .25s, box-shadow .25s; }
.enquiry__again > summary::-webkit-details-marker { display: none; }
.enquiry__again > summary:hover { background: var(--navy-900); color: #fff; box-shadow: none; }
.enquiry__again > summary .ico { transition: transform .3s var(--ease); }
.enquiry__again[open] > summary { margin-bottom: 18px; }
.enquiry__again[open] > summary .ico { transform: rotate(45deg); }

/* With motion turned off the strip of words stays one line; it is not left to wrap into a block. */
@media (prefers-reduced-motion: reduce) {
    .fm-band .marquee__track { flex-wrap: nowrap; justify-content: flex-start; width: max-content; }
}

/* Responsive ---------------------------------------------------------------------------- */
@media (max-width: 1180px) {
    .fm-clients { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .fm-reach { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1020px) {
    .fm-art { max-width: 640px; }
    .fm-duo { max-width: 620px; }
    .fm-creed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fm-creed__photo { grid-column: 1 / -1; grid-row: 1; min-height: 340px; }
    .fm-creed__photo img { object-position: 70% 30%; }
    .fm-creds { grid-template-columns: 1fr; }
    .fm-record__side { position: static; }
    .fm-people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fm-clients { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .fm-refs { columns: 2; }
    .fm-ref--lead { grid-template-columns: 1fr; }
    .fm-contact__grid { grid-template-columns: 1fr; }
    .fm-contact__side { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
    .fm-contact__photo { aspect-ratio: auto; min-height: 260px; }
}
@media (max-width: 680px) {
    .enquiry .field__hint, .enquiry .field__error, .enquiry .optional { font-size: 14px; }
    .fm-phero--deep { padding-bottom: 96px; }
    .fm-art { gap: 12px; }
    .fm-art__badge { padding: 16px 18px; }
    .fm-duo { padding: 0 8% 16% 0; }
    .fm-duo__b { width: 56%; }
    .fm-creed { grid-template-columns: 1fr; }
    .fm-creed__photo { min-height: 280px; }
    .fm-creed .card { padding: 28px 24px; }
    .fm-cred { grid-template-columns: 1fr; gap: 14px; padding: 18px; }
    .fm-cred:hover { transform: none; }
    .fm-years::before { left: 10px; top: 10px; }
    .fm-year { grid-template-columns: 1fr; gap: 10px; padding-left: 30px; }
    .fm-year::before { content: ""; position: absolute; left: 3px; top: 15px; width: 16px; height: 16px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px #fff; }
    .fm-year__when { justify-self: start; height: 40px; margin-top: 4px; padding: 0 18px; box-shadow: none; }
    .fm-year:hover .fm-year__body { transform: none; }
    .fm-people { grid-template-columns: 1fr; }
    .fm-people .person { aspect-ratio: 1 / 1; }
    .fm-bio { padding: 12px; }
    .fm-bio .modal__box { grid-template-columns: 1fr; }
    .fm-bio__photo { min-height: 0; aspect-ratio: 16 / 12; }
    .fm-stats--3 { grid-template-columns: 1fr; row-gap: 30px; }
    .fm-clients { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .fm-client { padding: 10px 14px 16px; }
    .fm-client__logo { height: 84px; }
    .fm-client__logo img { max-height: 60px; }
    .fm-strip { grid-template-columns: 1fr; gap: 16px; }
    .fm-refs { columns: 1; }
    .fm-ref { padding: 26px 22px 22px; }
    .fm-find { grid-template-columns: 1fr; }
    .fm-reach { grid-template-columns: 1fr; gap: 12px; margin-top: -60px; }
    .fm-reach__card { align-items: center; padding: 16px 18px; }
    .fm-contact__side { grid-template-columns: 1fr; }
    .fm-find-us .facts > div { flex-direction: column; gap: 4px; }
    .fm-find-us .facts dt { width: auto; }
}
