/* MCM Field Services: spacious, photo-led pages. All rules are scoped. */
.mcmfs { --fs-navy:#071c43; --fs-gold:#f3b51b; --fs-ink:#152133; --fs-muted:#556273; --fs-line:#dce2e8; --fs-cream:#f6f4ee; font-family:'DM Sans',sans-serif; color:var(--fs-ink); }
.mcmfs *, .mcmfs *::before, .mcmfs *::after { box-sizing:border-box; }
.mcmfs .fs-wrap { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.mcmfs .fs-section { padding-block:clamp(56px,7vw,100px); }
.mcmfs p { margin:0 0 1rem; }
.mcmfs h1,.mcmfs h2,.mcmfs h3 { margin:0; color:inherit; }
.mcmfs .fs-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 18px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.16em; line-height:1.7; }
.mcmfs .fs-eyebrow::before { content:''; width:25px; height:2px; flex:none; background:var(--fs-gold); }
.mcmfs .fs-title { font-family:'DM Serif Display',Georgia,serif; font-weight:400; font-size:clamp(34px,4vw,52px); line-height:1.12; letter-spacing:-.025em; }
.mcmfs .fs-lead { color:var(--fs-muted); font-size:19px; line-height:1.7; max-width:660px; margin-top:22px; }
.mcmfs .fs-small { font-size:14px; line-height:1.7; color:var(--fs-muted); }
.mcmfs svg { display:inline-block; width:22px; height:22px; vertical-align:middle; flex:none; }
.mcmfs .fs-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:30px; }
.mcmfs .fs-btn { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:52px; padding:15px 22px; border:1px solid var(--fs-navy); border-radius:7px; background:var(--fs-navy); color:#fff; text-decoration:none; font-size:15px; font-weight:700; line-height:1.35; transition:background .18s,transform .18s; }
.mcmfs .fs-btn:hover { background:#173c72; transform:translateY(-2px); color:#fff; }
.mcmfs .fs-btn--gold { border-color:var(--fs-gold); background:var(--fs-gold); color:var(--fs-navy); }
.mcmfs .fs-btn--gold:hover { border-color:#ffcf53; background:#ffcf53; color:var(--fs-navy); }
.mcmfs .fs-text-link { color:inherit; font-size:15px; font-weight:600; text-underline-offset:5px; }
.mcmfs a:focus-visible,.mcmfs summary:focus-visible { outline:3px solid #cc8c00; outline-offset:5px; }
.mcmfs [id] { scroll-margin-top:125px; }
.mcmfs .fs-hero { background:var(--fs-navy); color:#fff; overflow:hidden; }
.mcmfs .fs-hero-grid { display:grid; grid-template-columns:1fr 1.08fr; align-items:center; gap:clamp(36px,5vw,76px); padding-block:70px 85px; }
.mcmfs .fs-hero h1 { font-family:'DM Serif Display',Georgia,serif; font-size:clamp(48px,5.2vw,74px); font-weight:400; letter-spacing:-.035em; line-height:1.03; }
.mcmfs .fs-hero h1 em { font-style:normal; color:#f8c449; }
.mcmfs .fs-hero .fs-lead { color:#d4deeb; font-size:19px; max-width:490px; }
.mcmfs .fs-hero .fs-eyebrow { color:#f5c652; }
.mcmfs .fs-hero .fs-small { color:#c6d2e0; margin:22px 0 0; }
.mcmfs .fs-hero-photo { position:relative; min-width:0; margin:0; padding-bottom:38px; }
.mcmfs .fs-hero-photo > img { display:block; width:100%; height:470px; object-fit:cover; border-radius:12px; }
.mcmfs .fs-photo-note { position:absolute; bottom:0; left:24px; right:24px; padding:22px 25px; background:#fff; color:var(--fs-navy); border-radius:8px; box-shadow:0 14px 30px #0002; display:flex; gap:16px; align-items:center; }
.mcmfs .fs-photo-note > svg { width:38px; height:38px; color:#245592; }
.mcmfs .fs-photo-note strong { display:block; font-size:17px; line-height:1.35; }
.mcmfs .fs-photo-note span { display:block; color:var(--fs-muted); margin-top:4px; font-size:13px; }
.mcmfs .fs-band { background:var(--fs-cream); border-bottom:1px solid #e8e4da; }
.mcmfs .fs-band-inner { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 25px; padding-block:21px; font-size:14px; font-weight:600; }
.mcmfs .fs-band-inner span { display:flex; align-items:center; gap:9px; }
.mcmfs .fs-band svg { color:#216442; width:18px; height:18px; }
.mcmfs .fs-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:38px; }
.mcmfs .fs-section-head > div { max-width:710px; }
.mcmfs .fs-section-head .fs-small { max-width:290px; margin:0 0 4px; }
.mcmfs .fs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.mcmfs .fs-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--fs-line); border-radius:12px; overflow:hidden; background:#fff; }
.mcmfs .fs-card-media { height:235px; position:relative; background:var(--fs-cream); overflow:hidden; }
.mcmfs .fs-card-media > img { width:100%; height:100%; display:block; object-fit:cover; }
.mcmfs .fs-card-media--pair { display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.mcmfs .fs-card-media--pair > img { min-width:0; }
.mcmfs .fs-tag { position:absolute; left:20px; bottom:18px; max-width:calc(100% - 40px); background:var(--fs-navy); color:#fff; padding:8px 12px; border-radius:4px; font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.mcmfs .fs-card-body { padding:30px; display:flex; flex-direction:column; flex:1; }
.mcmfs .fs-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; }
.mcmfs .fs-card h3 { font-size:25px; line-height:1.22; font-weight:700; letter-spacing:-.035em; max-width:340px; }
.mcmfs .fs-price { font-size:40px; line-height:1; font-weight:600; white-space:nowrap; letter-spacing:-.05em; }
.mcmfs .fs-card-copy { color:var(--fs-muted); font-size:16px; line-height:1.65; }
.mcmfs .fs-list { padding:0; margin:2px 0 25px; list-style:none; }
.mcmfs .fs-list li { position:relative; padding-left:22px; margin:10px 0; font-size:14px; line-height:1.6; }
.mcmfs .fs-list li::before { content:''; position:absolute; left:0; top:.65em; width:7px; height:7px; border-radius:50%; background:#d39915; }
.mcmfs .fs-card .fs-btn { margin-top:auto; align-self:flex-start; }
.mcmfs .fs-card--route { background:var(--fs-cream); }
.mcmfs .fs-price--quote { font-size:24px; white-space:normal; text-align:right; letter-spacing:-.025em; }
.mcmfs .fs-pricing-note { margin:30px 0 0; padding:22px 26px; border-left:3px solid var(--fs-gold); background:var(--fs-cream); font-size:14px; line-height:1.8; }
.mcmfs .fs-pricing-note p:last-child { margin:0; }
.mcmfs .fs-report { background:var(--fs-cream); }
.mcmfs .fs-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,88px); align-items:center; }
.mcmfs .fs-sample { background:#fff; padding:30px; border:1px solid #d5dbe3; border-radius:9px; box-shadow:0 22px 55px #071c4310; }
.mcmfs .fs-sample-top { display:flex; justify-content:space-between; gap:15px; padding-bottom:18px; border-bottom:1px solid var(--fs-line); }
.mcmfs .fs-sample-top strong { color:var(--fs-navy); font-size:15px; letter-spacing:.035em; }
.mcmfs .fs-sample-top span { color:var(--fs-muted); font-size:10px; letter-spacing:.09em; text-transform:uppercase; }
.mcmfs .fs-sample h3 { margin:21px 0 8px; font-size:22px; line-height:1.3; }
.mcmfs .fs-sample .fs-small { font-size:12px; }
.mcmfs .fs-sample-photos { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:22px 0; }
.mcmfs .fs-sample-photos figure { margin:0; min-width:0; }
.mcmfs .fs-sample-photos img { display:block; width:100%; aspect-ratio:1.4; object-fit:cover; border-radius:4px; }
.mcmfs .fs-sample-photos figcaption { font-size:11px; margin-top:6px; color:var(--fs-muted); }
.mcmfs .fs-note-example { border-left:3px solid var(--fs-gold); padding:10px 15px; background:#f8f8f6; font-size:13px; line-height:1.65; }
.mcmfs .fs-deliverables { display:grid; gap:20px; margin-top:26px; }
.mcmfs .fs-deliverable { display:flex; gap:15px; align-items:flex-start; }
.mcmfs .fs-deliverable svg { color:#246644; margin-top:2px; }
.mcmfs .fs-deliverable strong { display:block; font-size:17px; margin-bottom:4px; }
.mcmfs .fs-deliverable p { font-size:15px; color:var(--fs-muted); margin:0; }
.mcmfs .fs-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; margin-top:40px; }
.mcmfs .fs-step { border-top:1px solid var(--fs-line); padding-top:25px; }
.mcmfs .fs-step-num { font-family:'DM Serif Display',Georgia,serif; color:#bd8613; font-size:36px; line-height:1; display:block; margin-bottom:20px; }
.mcmfs .fs-step h3 { font-size:21px; line-height:1.3; margin-bottom:12px; }
.mcmfs .fs-step p { color:var(--fs-muted); font-size:15px; line-height:1.75; }
.mcmfs .fs-area { background:var(--fs-navy); color:#fff; }
.mcmfs .fs-area .fs-eyebrow { color:var(--fs-gold); }
.mcmfs .fs-area .fs-lead,.mcmfs .fs-area .fs-small { color:#cfdaea; }
.mcmfs .fs-area-cards { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:35px; }
.mcmfs .fs-area-card { border:1px solid #ffffff40; border-radius:9px; padding:28px; }
.mcmfs .fs-area-card h3 { font-size:23px; margin-bottom:12px; }
.mcmfs .fs-area-card p { color:#d2ddea; font-size:16px; }
.mcmfs .fs-area-card p:last-child { margin:0; }
.mcmfs .fs-area-card a { color:#f9cb64; }
.mcmfs .fs-faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:65px; }
.mcmfs .fs-faq details { border-top:1px solid var(--fs-line); padding:23px 0; }
.mcmfs .fs-faq details:last-child { border-bottom:1px solid var(--fs-line); }
.mcmfs .fs-faq summary { cursor:pointer; font-size:17px; font-weight:600; padding-right:22px; line-height:1.5; }
.mcmfs .fs-faq details p { font-size:15px; line-height:1.8; color:var(--fs-muted); margin:17px 0 0; }
.mcmfs .fs-final { background:var(--fs-cream); text-align:center; padding:60px 30px; border-radius:12px; }
.mcmfs .fs-final .fs-actions { justify-content:center; }
.mcmfs .fs-final .fs-lead { margin-inline:auto; }
.mcmfs .fs-credits { font-size:12px; line-height:1.8; color:#697281; margin:26px 0 0; }
.mcmfs .fs-credits a { color:inherit; }
.mcmfs .fs-home-feature { padding-block:24px 70px; }
.mcmfs .fs-home-card { display:grid; grid-template-columns:1.08fr 1fr; overflow:hidden; background:var(--fs-cream); border:1px solid #e0e3e8; border-radius:14px; }
.mcmfs .fs-home-copy { padding:clamp(30px,4vw,52px); }
.mcmfs .fs-home-copy .fs-title { font-size:clamp(32px,3.5vw,46px); }
.mcmfs .fs-home-copy .fs-lead { font-size:17px; margin-top:20px; }
.mcmfs .fs-home-prices { display:flex; gap:20px 28px; flex-wrap:wrap; margin-top:24px; padding-top:22px; border-top:1px solid #d9d9d0; }
.mcmfs .fs-home-prices span { font-size:13px; color:var(--fs-muted); }
.mcmfs .fs-home-prices strong { display:block; font-size:25px; color:var(--fs-navy); line-height:1.2; margin-bottom:5px; }
.mcmfs .fs-home-visual { position:relative; min-height:440px; }
.mcmfs .fs-home-visual > img { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.mcmfs .fs-home-label { position:absolute; left:22px; right:22px; bottom:22px; padding:17px 21px; border-radius:7px; background:#fff; color:var(--fs-navy); display:flex; gap:13px; align-items:center; font-size:15px; font-weight:600; }
.mcmfs .fs-home-credit { font-size:11px; color:var(--fs-muted); margin-top:10px; text-align:right; }
.mcmfs .fs-home-credit a { color:inherit; }
.mcmhm-hero .mcmfs-home-discovery { display:block; margin-top:26px; max-width:480px; padding-top:19px; border-top:1px solid #ffffff40; color:#fbd578; font-size:15px; line-height:1.6; text-decoration:none; }
.mcmhm-hero .mcmfs-home-discovery:hover { color:#fff; text-decoration:underline; }
@media(min-width:1500px) { .mcmfs .fs-hero-grid { padding-block:85px 100px; } }
@media(max-width:1000px) { .mcmfs .fs-hero-grid { gap:32px; }.mcmfs .fs-hero h1 { font-size:57px; }.mcmfs .fs-hero-photo > img { height:440px; }.mcmfs .fs-card-body { padding:25px; }.mcmfs .fs-card h3 { font-size:23px; }.mcmfs .fs-price { font-size:34px; }.mcmfs .fs-price--quote { font-size:22px; }.mcmfs .fs-faq-layout { gap:35px; } }
@media(max-width:820px) { .mcmfs .fs-hero-grid,.mcmfs .fs-split,.mcmfs .fs-faq-layout,.mcmfs .fs-home-card { grid-template-columns:1fr; }.mcmfs .fs-hero-grid { padding-block:50px 60px; gap:38px; }.mcmfs .fs-hero h1 { font-size:clamp(48px,7vw,62px); }.mcmfs .fs-hero-photo > img { height:390px; }.mcmfs .fs-section-head { display:block; }.mcmfs .fs-section-head .fs-small { max-width:650px; margin-top:20px; }.mcmfs .fs-home-visual { min-height:330px; }.mcmfs .fs-home-copy { padding:36px; } }
@media(max-width:660px) { .mcmfs .fs-wrap { width:calc(100% - 40px); }.mcmfs .fs-grid,.mcmfs .fs-area-cards,.mcmfs .fs-steps { grid-template-columns:1fr; }.mcmfs .fs-hero-photo > img { height:320px; }.mcmfs .fs-photo-note { left:14px; right:14px; padding:18px; }.mcmfs .fs-photo-note strong { font-size:15px; }.mcmfs .fs-photo-note span { font-size:12px; }.mcmfs .fs-band-inner { display:grid; gap:12px; }.mcmfs .fs-lead { font-size:17px; }.mcmfs .fs-card-media { height:220px; }.mcmfs .fs-card-body { padding:25px; }.mcmfs .fs-card h3 { font-size:24px; }.mcmfs .fs-card .fs-btn { width:100%; }.mcmfs .fs-sample { padding:22px; }.mcmfs .fs-sample-top { flex-wrap:wrap; gap:7px; }.mcmfs .fs-home-copy { padding:28px; }.mcmfs .fs-home-prices { gap:18px; }.mcmfs .fs-home-credit { text-align:left; }.mcmfs .fs-steps { gap:12px; }.mcmfs .fs-final { padding:40px 23px; }.mcmfs .fs-eyebrow { font-size:11px; letter-spacing:.12em; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.mcmfs .fs-btn { transition:none; }.mcmfs .fs-btn:hover { transform:none; } }
