/* 2.9.0: only CTA contrast changes apply to desktop. */
body.fm-v2 .v2-home .v2-cta .v2-eyebrow{color:#fff!important}
body.fm-v2 .v2-home .v2-cta .wp-block-button__link{background:#fff!important;color:#222526!important;border-color:#fff!important}
body.fm-v2 .v2-home .v2-cta .wp-block-button__link:hover{background:#f2eee7!important;border-color:#f2eee7!important}
.fm-reference-controls{display:none}
@media(max-width:640px){
 body.fm-v2 .fmv2-home-process{padding-block:36px}
 body.fm-v2 .fmv2-home-process .fm-section-head{gap:12px;margin-bottom:22px}
 body.fm-v2 .fmv2-home-process .fm-section-head p{font-size:13px;line-height:1.55;margin:0}
 body.fm-v2 .fmv2-home-process .fm-kicker{margin-bottom:8px;font-size:10px}
 body.fm-v2.fm-v2.fm-v2 .fmv2-home-process h2{font-size:22px}
 body.fm-v2 .fmv2-process{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:20px}
 body.fm-v2 .fmv2-process .fm-process__item{padding:14px 12px;border-left:1px solid currentColor;border-top:1px solid currentColor;border-color:rgba(160,145,120,.4);min-width:0}
 body.fm-v2 .fm-section--gold .fmv2-process .fm-process__item{border-color:rgba(255,255,255,.28)}
 body.fm-v2 .fmv2-process .fm-process__item:nth-child(odd){border-left:0;padding-left:0}
 body.fm-v2 .fmv2-process .fm-process__num{font-size:25px;line-height:1;margin-bottom:9px}
 body.fm-v2.fm-v2.fm-v2 .fmv2-process h3{font-size:13px;line-height:1.4;margin:0 0 7px;letter-spacing:.025em}
 body.fm-v2 .fmv2-process p{font-size:12px;line-height:1.55;margin:0}
 .fm-mobile-references .fm-featured-projects{display:grid;grid-template-columns:none;grid-template-rows:auto;grid-auto-flow:column;grid-auto-columns:90%;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:0 0 12px;scrollbar-width:thin;scrollbar-color:#a58049 transparent}
 .fm-mobile-references.is-ready .fm-featured-projects{scrollbar-width:none}
 .fm-mobile-references.is-ready .fm-featured-projects::-webkit-scrollbar{display:none}
 body.fm-v2 .fm-mobile-references .fm-featured-projects>.fm-card{grid-row:auto;grid-column:auto;scroll-snap-align:start;min-width:0;border:0;background:transparent;opacity:1;transform:none;transition:none;margin:0}
 body.fm-v2 .fm-mobile-references .fm-featured-projects>.fm-card>a{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:460px;min-height:clamp(430px,64svh,560px);height:100%;overflow:hidden;background:#242728}
 body.fm-v2 .fm-mobile-references .fm-card .fm-card__image{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;z-index:-2}
 .fm-mobile-references .fm-card__image img{width:100%;height:100%;object-fit:cover}
 .fm-mobile-references .fm-card>a:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 22%,rgba(18,22,23,.25) 45%,rgba(18,22,23,.92) 100%);pointer-events:none}
 .fm-mobile-references .fm-card>a:after{content:'';position:absolute;top:18px;right:18px;width:38px;height:38px;border-top:1px solid #e4d1ae99;border-right:1px solid #e4d1ae99;pointer-events:none}
 body.fm-v2 .fm-mobile-references .fm-card .fm-card__body{background:transparent;color:#fff;padding:24px 20px;flex:0 0 auto;width:100%}
 body.fm-v2 .fm-mobile-references .fm-card h3{font-size:19px;line-height:1.3;margin:10px 0 14px;color:#fff}
 body.fm-v2 .fm-mobile-references .fm-card__meta{color:#ebd3af;font-size:10px}
 body.fm-v2 .fm-mobile-references .fm-project-card__facts{color:#eee;font-size:11px;gap:6px 12px}
 body.fm-v2 .fm-mobile-references .fm-project-card__link{color:#fff;font-size:11px;border-top:1px solid #ffffff40;padding-top:14px;margin-top:16px}
 .fm-mobile-references .fm-reference-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:8px}
 .fm-mobile-references .fm-reference-controls[hidden]{display:none}
 .fm-reference-count{margin-right:auto;font-size:11px;letter-spacing:.16em;color:#806544;font-variant-numeric:tabular-nums}
 .fm-reference-controls button{width:46px;height:46px;display:grid;place-items:center;background:transparent;border:1px solid #a5804977;border-radius:50%;color:#705333;font-size:22px;cursor:pointer}
 .fm-reference-controls button:disabled{opacity:.3;cursor:default}
 .fm-mobile-references :is(button,a,.fm-featured-projects):focus-visible{outline:2px solid #c7a264;outline-offset:-3px}
 .fm-mobile-references .fmv2-section-link{font-size:12px;margin-top:18px}
 body.fm-v2 .v2-home .v2-cta{position:relative;isolation:isolate;overflow:hidden}
 .v2-home .v2-cta:after{content:'';position:absolute;right:-25px;top:15px;width:210px;height:160px;z-index:-1;opacity:.2;pointer-events:none;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 210 160' fill='none' stroke='white' stroke-width='1'%3E%3Cpath d='M5 10l70 70-70 70M65 10l70 70-70 70M125 10l70 70-70 70M0 80h195'/%3E%3C/svg%3E")}
 body.fm-v2 .fm-footer{padding:26px 0 18px;text-align:center}
 body.fm-v2 .v2-footer-grid{grid-template-columns:1fr;gap:15px;padding:0;font-size:12px;line-height:1.6}
 body.fm-v2 .v2-footer-logo{width:128px;height:76px;object-fit:contain;margin:0 auto 10px}
 body.fm-v2 .v2-footer-grid p{margin:0 auto;max-width:320px;font-size:12px}
 body.fm-v2 .v2-footer-grid nav ul{display:flex;justify-content:center;flex-wrap:wrap;gap:0 16px}
 body.fm-v2 .v2-footer-grid nav li{padding:0}
 body.fm-v2 .v2-footer-grid nav a{display:inline-flex;align-items:center;min-height:40px;font-size:11px}
 body.fm-v2 .v2-footer-grid address a{margin:0;line-height:2;font-size:12px}
 body.fm-v2 .v2-footer-grid address p{margin-top:5px;font-size:11px;opacity:.7}
 body.fm-v2 .fm-footer__bottom{margin-top:18px;padding-top:14px;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px 16px;font-size:10px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){.fm-mobile-references *{scroll-behavior:auto!important;transition:none!important}}

/* 2.9.1: shared mobile scale, in the existing stylesheet (no new request). */
@media(max-width:700px){
 body.fm-v2{font-size:14px;line-height:1.55}
 body.fm-v2 :is(.entry-content,.fm-story,.fm-landing-content,.fm-service-content){font-size:14px;line-height:1.55}
 body.fm-v2 main :is(p,li,td,th,blockquote){font-size:14px!important;line-height:1.55}
 body.fm-v2 main p{margin-bottom:14px}
 body.fm-v2 main p:last-child{margin-bottom:0}
 body.fm-v2.fm-v2.fm-v2 main h1{font-size:clamp(24px,6vw,27px)!important;line-height:1.2;letter-spacing:.01em;margin-bottom:14px}
 body.fm-v2.fm-v2.fm-v2 main h2{font-size:clamp(20px,5vw,22px)!important;line-height:1.25;letter-spacing:.01em;margin-bottom:12px}
 body.fm-v2.fm-v2.fm-v2 main h3{font-size:17px!important;line-height:1.3;letter-spacing:.01em;margin-bottom:10px}
 body.fm-v2.fm-v2.fm-v2 main :is(h4,h5,h6){font-size:15px!important;line-height:1.35;margin-bottom:10px}
 body.fm-v2 main :is(.fm-kicker,.v2-eyebrow,.fm-story-kicker,.fm-service-eyebrow){font-size:10px!important;line-height:1.5;letter-spacing:.12em;margin-bottom:10px!important}
 body.fm-v2 main :is(figcaption,.wp-element-caption,.fm-article-meta,.fm-card__meta,.fm-project-card__facts,.fm-breadcrumbs,.fm-story-placeholder){font-size:12px!important;line-height:1.5}
 body.fm-v2 main :is(.fm-button,.wp-block-button__link){font-size:13px!important;line-height:1.4;letter-spacing:.025em;min-height:44px;padding:11px 16px}
 body.fm-v2 main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;min-height:44px;padding:11px 12px}
 body.fm-v2 main :is(.fm-field label,.fm-field label span){font-size:13px;line-height:1.5}
 body.fm-v2 main :is(.fm-section,.fm-content,.v2-page-content){padding-block:34px}
 body.fm-v2 .v2-home>.wp-block-group{padding-block:34px}
 body.fm-v2 main :is(.fm-section-head,.fm-partner-strip__head){gap:14px;margin-bottom:24px}
 body.fm-v2 main :is(.fm-split,.fm-page-hero__grid,.fmv2-editorial,.fmv2-execution-intro,.fmv2-material-grid,.fm-contact-layout,.fmv2-contact-heading--with-image){gap:24px}
 body.fm-v2 .v2-home .wp-block-columns{gap:26px}
 body.fm-v2 main :is(.fm-card__body,.fm-knowledge-card__copy){padding:18px}
 body.fm-v2 .fmv2-material-card a>div{padding-block:18px}
 body.fm-v2 main .fmv2-materials>div>h2{margin-bottom:24px}
 body.fm-v2 main :is(.fmv2-section-link,.fmv2-action-row){margin-top:20px}
 body.fm-v2 .v2-home .v2-pillars .wp-block-column>.wp-block-buttons{padding-top:18px}
 body.fm-v2 main :is(.fm-page-hero,.v2-page-heading,.fm-about-hero,.fm-article-hero,.fmv2-execution-hero,.fmv2-blog-hero,.fm-service-editor__header){padding-block:32px}
 body.fm-v2 main :is(.fm-article-hero__grid,.fm-about-hero__grid,.fmv2-execution-hero__grid){gap:24px}
 body.fm-v2 main .fm-breadcrumbs{margin-bottom:18px}
 body.fm-v2 main .fmv2-supply-hero{min-height:420px}
 body.fm-v2 main .fmv2-supply-hero__copy{padding-block:40px}
 body.fm-v2 main .fmv2-restored-hero{min-height:520px}
 body.fm-v2 main .fmv2-restored-hero .fm-hero__content{padding-block:44px}
 body.fm-v2 main :is(.fm-about-hero__image img,.fm-article-hero__image img,.fm-page-hero__image img,.fmv2-execution-hero__photo img,.fmv2-editorial-image img){height:280px;min-height:0;object-fit:cover}
 body.fm-v2 main :is(.fmv2-material-card img,.v2-detail .wp-block-image img,.v2-pillars .wp-block-image img){height:260px}
 body.fm-v2 main .fmv2-contact-featured{max-height:280px;object-fit:cover}
 body.fm-v2 main .fmv2-contact-hero .fm-contact-cards{margin-top:18px}
 body.fm-v2 main .fmv2-contact-hero .fm-contact-card{padding-block:12px}
 body.fm-v2 main .fmv2-contact-hero .fm-contact-card a{font-size:14px}
 body.fm-v2 main .fm-partner-strip{padding-block:28px}
 body.fm-v2 main :is(.fm-form,.fm-article-cta){padding:22px 18px}
 body.fm-v2 main .fm-form-grid{gap:14px}
 body.fm-v2 main .fm-field label{margin-bottom:5px}
 body.fm-v2 main .entry-content :is(h2,h3){margin-top:26px}
 body.fm-v2 main .entry-content>:first-child{margin-top:0}
 body.fm-v2 main .entry-content :is(ul,ol){margin-block:12px 18px}
 body.fm-v2 main .entry-content li{margin-bottom:6px}
 body.fm-v2 main :is(.fm-service-section,.fm-landing-section){padding-block:32px}
 body.fm-v2 main :is(.fm-service-content,.fm-landing-content) .wp-block-columns{gap:22px}
 body.fm-v2 main :is(.fm-service-content,.fm-landing-content,.fm-story) .wp-block-buttons{margin-top:20px;gap:10px}
 body.fm-v2 main .fm-service-content>.fm-service-contact{padding:22px 18px;margin-bottom:32px}
 body.fm-v2 main .fm-service-opening .wp-block-image img{height:260px}
 body.fm-v2 main .fm-landing-hero{min-height:420px;padding-block:40px}
 body.fm-v2 main .fm-landing-benefits>.wp-block-column{padding:18px}
 body.fm-v2 main .fm-story .fm-story-section{padding-block:34px}
 body.fm-v2 main .fm-story .wp-block-cover{padding-block:40px}
 body.fm-v2 main .fm-story .fm-story-hero{min-height:500px}
 body.fm-v2 main .fm-story .fm-story-result-cover{min-height:340px}
 body.fm-v2 main .fm-story .fm-story-heading{padding-top:16px}
 body.fm-v2 main .fm-story .fm-story-chapter{gap:14px}
 body.fm-v2 main .fm-story .fm-story-reading{margin-top:24px}
 body.fm-v2 main .fm-story .fm-story-photo{margin-block:22px}
 body.fm-v2 main .fm-story .wp-block-column .fm-story-photo{margin:0}
 body.fm-v2 main .fm-story .wp-block-columns{gap:18px;margin-top:20px}
 body.fm-v2 main .fm-story .fm-story-statement{margin-block:20px;padding:8px 0 8px 16px}
 body.fm-v2 main .fm-story .fm-story-facts-grid{gap:16px;padding-block:22px}
 body.fm-v2 main .fm-story .fm-story-process-grid{gap:22px}
 body.fm-v2 main .fm-story .fm-story-checklist{padding:18px}
 body.fm-v2 main .fm-story .fm-story-before-process{padding-bottom:0}
 /* Retain the deliberately smaller process grid and large reference photographs. */
 body.fm-v2.fm-v2.fm-v2 main .fmv2-process h3{font-size:13px!important}
 body.fm-v2 main .fmv2-process p{font-size:12px!important}
 body.fm-v2 main .fmv2-home-process .fm-section-head p{font-size:13px!important}
 body.fm-v2 main .fm-mobile-references .fm-card__body{padding:24px 20px}
 body.fm-v2 main .fm-story .fm-story-photo figcaption{font-size:12px!important;padding-block:10px}
}
/* About: full-width team, with editable native WordPress content. */
body.fm-v2 .fm-about-content>.fm-wrap>.entry-content{width:100%;max-width:none}
body.fm-v2 .fm-about-content>.fm-wrap>.entry-content>:not(.fm-client-team){max-width:900px;margin-left:auto;margin-right:auto}
body.fm-v2 .fm-about-content .fm-client-team{width:100%;max-width:none;margin:64px 0 0;padding:36px 0 0;border-top:1px solid #b4935c66}
body.fm-v2 .fm-about-content .fm-client-team>h2{max-width:none;margin:0 0 32px}
body.fm-v2 .fm-about-content .fm-client-team .wp-block-columns{max-width:none;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin:0;align-items:start}
body.fm-v2 .fm-client-team .wp-block-column{min-width:0;padding:0;background:none}
body.fm-v2 .fm-client-team .wp-block-image{position:relative;isolation:isolate;overflow:visible;width:calc(100% - 14px);margin:0 14px 34px 0}
body.fm-v2 .fm-client-team .wp-block-image:before{content:"";position:absolute;z-index:-1;top:36%;left:34%;right:-14px;bottom:-14px;background:linear-gradient(135deg,#c1a475,#a78046);pointer-events:none}
body.fm-v2 .fm-client-team .wp-block-image img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;background:#eee9e0;box-shadow:0 12px 24px #25282a0c}
body.fm-v2 .fm-client-team .wp-block-column>h3{font-size:clamp(18px,1.45vw,22px)!important;line-height:1.35!important;font-weight:600;letter-spacing:.025em;min-height:2.7em;margin:0 0 9px!important;color:#272c2f}
body.fm-v2 .fm-client-team .wp-block-column>h3+p{font-size:12px!important;font-weight:600;line-height:1.65;letter-spacing:.065em;text-transform:uppercase;color:#806336;min-height:4.95em;margin:0!important}
body.fm-v2 .fm-client-team .wp-block-column>p+p{margin:16px 0 0!important;padding:16px 0 0;border-top:1px solid #b4935c55;font-size:15px;line-height:1.65;font-style:italic;color:#5d6264}
@media(max-width:900px) and (min-width:701px){body.fm-v2 .fm-about-content .fm-client-team .wp-block-columns{gap:26px}body.fm-v2 .fm-client-team .wp-block-column>h3{font-size:17px!important;min-height:4.05em}}
@media(max-width:700px){body.fm-v2 .fm-about-content .fm-client-team{margin-top:36px;padding-top:26px}body.fm-v2 .fm-about-content .fm-client-team>h2{margin-bottom:26px}body.fm-v2 .fm-about-content .fm-client-team .wp-block-columns{grid-template-columns:1fr;gap:36px}body.fm-v2 .fm-client-team .wp-block-image{width:calc(100% - 12px);margin:0 12px 28px 0}body.fm-v2 .fm-client-team .wp-block-image:before{right:-12px;bottom:-12px}body.fm-v2 .fm-client-team .wp-block-image img{aspect-ratio:4/5;max-height:none}body.fm-v2 .fm-client-team .wp-block-column>h3{min-height:0;font-size:18px!important;margin-bottom:8px!important}body.fm-v2 .fm-client-team .wp-block-column>h3+p{min-height:0;font-size:11px!important}body.fm-v2 .fm-client-team .wp-block-column>p+p{font-size:14px!important;margin-top:12px!important;padding-top:12px}}

/* Team: equal-width cards, with incomplete desktop rows centered. */
@media (min-width:701px){
 body.fm-v2 .fm-about-content .fm-client-team .wp-block-columns{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:64px}
 body.fm-v2 .fm-about-content .fm-client-team .wp-block-columns>.wp-block-column{grid-column:span 2}
 body.fm-v2 .fm-about-content .fm-client-team .wp-block-columns>.wp-block-column:nth-child(3n+1):nth-last-child(2){grid-column:2 / span 2}
 body.fm-v2 .fm-about-content .fm-client-team .wp-block-columns>.wp-block-column:nth-child(3n+2):last-child{grid-column:4 / span 2}
 body.fm-v2 .fm-about-content .fm-client-team .wp-block-columns>.wp-block-column:nth-child(3n+1):last-child{grid-column:3 / span 2}
 body.fm-v2 .fm-about-content .fm-client-team .wp-block-columns+.wp-block-columns{margin-top:64px}
}
@media (max-width:700px){
 body.fm-v2 .fm-about-content .fm-client-team .wp-block-columns+.wp-block-columns{margin-top:36px}
}
