/*
Theme Name: MMS Technology
Theme URI: https://magicalmediastudio.com/
Author: Magical Media Studio
Description: A custom technology consulting theme for Magical Media Studio.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mms-technology
*/

:root {
  --mms-ink: #17211c;
  --mms-forest: #132019;
  --mms-forest-2: #20372b;
  --mms-lime: #d9ed73;
  --mms-ivory: #f6f5ef;
  --mms-white: #fff;
  --mms-sage: #e5e9dc;
  --mms-muted: #536358;
  --mms-line: #cfd5ca;
  --mms-max: 1520px;
  --mms-radius: 28px;
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--mms-ivory); color: var(--mms-ink); font-family: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif; font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img, svg, video { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--mms-lime); outline-offset: 4px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.04; letter-spacing: -0.055em; font-weight: 600; }
h1 { font-size: clamp(3.7rem, 7vw, 7.5rem); }
h2 { font-size: clamp(2.7rem, 5vw, 5.7rem); }
h3 { font-size: clamp(1.55rem, 2.5vw, 2.45rem); }
p { max-width: 70ch; }
.mms-container { width: min(calc(100% - clamp(40px, 7vw, 144px)), var(--mms-max)); margin-inline: auto; }
.mms-skip-link { position: fixed; z-index: 1000; top: -100px; left: 24px; padding: 12px 18px; background: var(--mms-white); color: var(--mms-ink); }
.mms-skip-link:focus { top: 16px; }

/* Navigation */
.mms-site-header { position: sticky; z-index: 100; top: 0; background: rgba(19, 32, 25, .97); color: white; border-bottom: 1px solid rgba(255,255,255,.13); backdrop-filter: blur(18px); }
body.admin-bar .mms-site-header { top: 32px; }
.mms-header-inner { display: flex; align-items: center; gap: clamp(18px, 3vw, 50px); min-height: 82px; }
.mms-brand, .mms-footer-brand { display: inline-flex; align-items: center; gap: 13px; flex: none; }
.mms-brand-mark { width: 44px; height: 44px; flex: none; }
.mms-brand-name { display: flex; flex-direction: column; font-size: 16px; font-weight: 800; line-height: 1.05; letter-spacing: -.045em; }
.mms-brand-name span { margin-top: 4px; color: #d2dece; font-size: 10px; font-weight: 650; letter-spacing: .15em; text-transform: uppercase; }
.mms-desktop-nav { margin-left: auto; }
.mms-desktop-nav ul, .mms-mobile-nav ul { display: flex; align-items: center; gap: clamp(16px, 2vw, 34px); margin: 0; padding: 0; list-style: none; }
.mms-desktop-nav a, .mms-nav-solutions summary { color: #edf2e9; font-size: 14px; font-weight: 650; white-space: nowrap; transition: color .2s ease; }
.mms-desktop-nav a:hover, .mms-desktop-nav .current-menu-item a, .mms-nav-solutions:hover summary, .mms-nav-solutions details[open] summary { color: var(--mms-lime); }
.mms-nav-solutions summary { display: flex; align-items: center; cursor: pointer; list-style: none; }
.mms-nav-solutions summary::-webkit-details-marker, .mms-mobile-nav > summary::-webkit-details-marker { display: none; }
.mms-mega { position: absolute; top: calc(100% - 1px); left: 50%; display: none; grid-template-columns: .84fr 1.16fr; width: min(960px, calc(100vw - 48px)); overflow: hidden; border-radius: 0 0 22px 22px; background: var(--mms-ivory); color: var(--mms-ink); box-shadow: 0 35px 80px #07120b55; transform: translateX(-50%); animation: mms-unfold .25s ease both; }
@keyframes mms-unfold { from { opacity: 0; transform: translate(-50%, -10px); } to { opacity: 1; transform: translate(-50%, 0); } }
.mms-nav-solutions:hover .mms-mega, .mms-nav-solutions:focus-within .mms-mega, .mms-nav-solutions details[open] .mms-mega { display: grid; }
.mms-mega-intro { padding: 36px; background: var(--mms-sage); }
.mms-mega-intro > span, .mms-eyebrow { color: var(--mms-lime); font-size: 12px; font-weight: 800; letter-spacing: .19em; line-height: 1.4; text-transform: uppercase; }
.mms-mega-intro > span { color: #405f3c; }
.mms-mega-intro strong { display: block; max-width: 11ch; margin: 18px 0 12px; font-size: 32px; line-height: 1.05; letter-spacing: -.05em; }
.mms-mega-intro p { color: var(--mms-muted); font-size: 14px; }
.mms-mega-intro a { color: #29513b; font-weight: 800; font-size: 14px; }
.mms-mega-links { display: grid; grid-template-columns: repeat(2, 1fr); align-content: center; gap: 4px; padding: 24px; }
.mms-mega-links a { display: flex; justify-content: space-between; gap: 10px; padding: 16px; border-radius: 12px; color: var(--mms-ink); font-size: 14px; white-space: normal; }
.mms-mega-links a:hover, .mms-mega-links a:focus-visible { color: #19412a; background: var(--mms-sage); }
.mms-header-cta { display: inline-flex; align-items: center; gap: 16px; padding: 12px 19px; border-radius: 100px; background: var(--mms-lime); color: var(--mms-ink); font-size: 13px; font-weight: 800; white-space: nowrap; transition: transform .2s ease, background .2s ease; }
.mms-header-cta:hover { transform: translateY(-2px); background: white; }
.mms-mobile-nav { display: none; }

/* Cinematic hero */
.mms-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--mms-forest); color: white; }
.mms-background-video { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.mms-hero::after, .mms-feature-band::after { position: absolute; z-index: -1; inset: 0; content: ""; pointer-events: none; background: linear-gradient(90deg, rgba(9, 24, 16, .91), rgba(9, 24, 16, .55) 58%, rgba(9,24,16,.20)), linear-gradient(0deg, rgba(9,24,16,.60), transparent 50%); }
.mms-hero--home { display: flex; flex-direction: column; justify-content: center; min-height: min(820px, calc(100svh - 82px)); padding-block: clamp(92px, 11vw, 155px) 34px; }
.mms-hero--home .mms-hero__copy { position: relative; z-index: 1; margin-top: auto; }
.mms-hero--home h1 { max-width: 14ch; margin-bottom: 28px; font-weight: 550; }
.mms-hero h1 em { color: var(--mms-lime); font-family: Georgia, serif; font-weight: 400; }
.mms-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; }
.mms-eyebrow--dark { color: #365740; }
.mms-pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--mms-lime); box-shadow: 0 0 0 6px #d9ed7328; }
.mms-lead { max-width: 58ch; color: #e1e9de; font-size: clamp(1.08rem, 1.55vw, 1.35rem); line-height: 1.58; }
.mms-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px 32px; margin-top: 34px; }
.mms-button { display: inline-flex; justify-content: space-between; align-items: center; min-height: 54px; gap: 34px; padding: 14px 22px; border-radius: 100px; font-size: 14px; font-weight: 800; transition: transform .2s ease, background .2s ease; }
.mms-button:hover { transform: translateY(-3px); }
.mms-button--primary { background: var(--mms-lime); color: var(--mms-ink); }
.mms-button--primary:hover { background: white; }
.mms-link { display: inline-flex; align-items: center; gap: 12px; width: fit-content; padding-bottom: 4px; border-bottom: 1px solid currentColor; color: #28573a; font-size: 14px; font-weight: 800; line-height: 1.4; transition: gap .2s ease; }
.mms-link:hover { gap: 20px; }
.mms-link--light { color: white; }
.mms-hero__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: auto; padding-top: 55px; color: #d9e2d5; font-size: 11px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.mms-hero--internal { display: flex; align-items: center; min-height: 600px; }
.mms-hero--internal > .mms-container { position: relative; z-index: 1; padding-block: 105px; }
.mms-hero--internal h1 { max-width: 13ch; margin-bottom: 25px; font-size: clamp(3.6rem, 6.5vw, 7rem); }
.mms-hero--internal .mms-lead { max-width: 58ch; }
.mms-hero--media { background-image: var(--mms-hero-image); background-size: cover; background-position: center; }
.mms-hero--service { min-height: 620px; }
.mms-service-hero-grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(40px, 5vw, 100px); min-height: 620px; }
.mms-service-hero-grid h1 { font-size: clamp(3.3rem, 5.5vw, 6.3rem); }
.mms-service-hero-art { position: relative; height: min(33vw, 540px); min-height: 420px; overflow: hidden; border-radius: var(--mms-radius); }
.mms-service-hero-art::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, #0b2019aa, transparent 45%); }
.mms-service-hero-art img { width: 100%; height: 100%; object-fit: cover; }
.mms-service-hero-art span { position: absolute; z-index: 1; bottom: 26px; left: 28px; color: white; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

/* Page sections and cards */
.mms-section { padding-block: clamp(80px, 8vw, 140px); }
.mms-section--intro { padding-bottom: 28px; }
.mms-section--cards { padding-top: 24px; }
.mms-intro-grid, .mms-two-col { display: grid; grid-template-columns: .96fr 1.04fr; gap: clamp(45px, 7vw, 140px); align-items: start; }
.mms-intro-grid h2, .mms-two-col h2 { max-width: 13ch; margin-bottom: 0; }
.mms-section-lead { margin: 50px 0 0; color: var(--mms-muted); font-size: clamp(1.2rem, 1.5vw, 1.5rem); line-height: 1.5; }
.mms-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2.2vw, 32px); }
.mms-service-card { display: flex; flex-direction: column; overflow: hidden; min-width: 0; border-radius: var(--mms-radius); background: #e8ebdf; transition: transform .35s ease, box-shadow .35s ease; }
.mms-service-card:nth-child(3n+2) { background: #dfe6d7; }
.mms-service-card:nth-child(3n) { background: #ebede6; }
.mms-service-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px #21352825; }
.mms-service-card__image { display: block; overflow: hidden; height: clamp(210px, 20vw, 330px); }
.mms-service-card__image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8); transition: transform .6s ease; }
.mms-service-card:hover .mms-service-card__image img { transform: scale(1.045); }
.mms-service-card__body { display: flex; flex: 1; flex-direction: column; padding: clamp(28px, 3vw, 48px); }
.mms-card-index { display: block; margin-bottom: 32px; color: #3d5a44; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.mms-service-card h3 { max-width: 18ch; margin-bottom: 14px; }
.mms-service-card p { max-width: 52ch; margin-bottom: 26px; color: #4b5d50; font-size: 16px; }
.mms-service-card .mms-link { margin-top: auto; }
.mms-feature-band { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 620px; overflow: hidden; background: #132019; color: white; }
.mms-feature-band > .mms-container { position: relative; z-index: 1; padding-block: 105px; }
.mms-feature-band h2 { max-width: 13ch; margin-bottom: 25px; }
.mms-feature-band p:not(.mms-eyebrow) { color: #e7eee6; font-size: 21px; }
.mms-feature-band--still { background-image: var(--mms-band-image); background-size: cover; background-position: center; }
.mms-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 60px; margin-bottom: 50px; }
.mms-heading-row h2 { max-width: 14ch; margin-bottom: 0; }
.mms-heading-row > p { width: min(100%, 420px); margin: 0; color: var(--mms-muted); }
.mms-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid #b9c4b9; }
.mms-steps li { padding: 26px 28px 20px 0; }
.mms-steps li + li { padding-left: 28px; border-left: 1px solid var(--mms-line); }
.mms-steps span { display: block; margin-bottom: 65px; color: #3d5c41; font-size: 12px; font-weight: 800; letter-spacing: .15em; }
.mms-steps h3 { margin-bottom: 13px; }
.mms-steps p { color: var(--mms-muted); font-size: 14px; }
.mms-section--use-cases, .mms-section--soft { background: var(--mms-sage); }
.mms-use-list { margin: 0; padding: 0; list-style: none; }
.mms-use-list li { position: relative; padding: 18px 0 18px 30px; border-bottom: 1px solid #bfcbbe; font-weight: 650; }
.mms-use-list li:first-child { border-top: 1px solid #bfcbbe; }
.mms-use-list li::before { position: absolute; left: 0; color: #3d633e; content: "↗"; }
.mms-section--cta { background: var(--mms-forest-2); color: white; }
.mms-cta-grid { display: flex; align-items: end; justify-content: space-between; gap: 60px; }
.mms-cta-grid h2 { max-width: 15ch; margin-bottom: 19px; }
.mms-cta-grid p:not(.mms-eyebrow) { margin-bottom: 0; color: #d6e2d4; }

/* Homepage connected journey */
.mms-story { padding-block: 115px 45px; background: #17251c; color: white; }
.mms-story-heading { max-width: 850px; }
.mms-story-heading h2 { max-width: 14ch; margin-bottom: 20px; }
.mms-story-heading > p:last-child { color: #d1dece; font-size: 20px; }
.mms-story-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: clamp(50px, 6vw, 110px); margin-top: 40px; }
.mms-story-stage { position: sticky; top: 118px; align-self: start; padding-top: 30px; }
.mms-workspace { overflow: hidden; min-height: 430px; border: 1px solid #607767; border-radius: 20px 20px 5px 5px; background: #26372c; box-shadow: 0 38px 95px #07140c88; }
.mms-workspace-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; height: 62px; padding: 10px 18px; border-bottom: 1px solid #496552; background: #2d4335; }
.mms-workspace-brand { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 750; line-height: 1.1; }
.mms-workspace-brand small { display: block; margin-top: 4px; color: #b4c6b6; font-size: 10px; font-weight: 500; }
.mms-workspace-symbol { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 7px; background: var(--mms-lime); color: var(--mms-ink); font-size: 15px; font-weight: 900; }
.mms-workspace-status { color: #d4e4d5; font-size: 10px; white-space: nowrap; }
.mms-workspace-status i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--mms-lime); }
.mms-workspace-body { display: grid; grid-template-columns: 136px minmax(0, 1fr); min-height: 366px; }
.mms-workspace-sidebar { display: flex; flex-direction: column; gap: 3px; padding: 20px 10px; border-right: 1px solid #3b5943; color: #bcd1bd; font-size: 10px; }
.mms-workspace-sidebar span { padding: 9px 10px; border-radius: 6px; }
.mms-workspace-sidebar .is-selected { background: #48654c; color: white; }
.mms-workspace-main { position: relative; min-height: 366px; background: radial-gradient(circle at 75% 20%, #8cb57522, transparent 45%), #213428; }
.mms-workspace-panel { position: absolute; inset: 0; overflow: hidden; padding: 30px; opacity: 0; transform: translateY(14px); transition: opacity .45s ease, transform .45s ease; pointer-events: none; }
.mms-workspace-panel.is-active { opacity: 1; transform: translateY(0); }
.mms-workspace-kicker { margin-bottom: 12px; color: var(--mms-lime); font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.mms-workspace-panel h3 { margin-bottom: 7px; font-size: clamp(18px, 2vw, 24px); }
.mms-workspace-panel p { margin-bottom: 0; color: #c7d8c8; font-size: 11px; }
.mms-workspace-base { width: 110%; height: 16px; margin-left: -5%; border: 1px solid #5e7462; border-radius: 0 0 50% 50%; background: linear-gradient(#687d6c, #354b3b 55%, #1a2b20); box-shadow: 0 12px 24px #0004; }
.mms-diagram { position: relative; width: min(100%, 340px); height: 210px; margin: 16px auto 0; background: radial-gradient(circle at center, #c5e87620, transparent 50%); }
.mms-diagram::before, .mms-diagram::after { position: absolute; top: 50%; left: 50%; width: 176px; height: 176px; content: ""; border: 1px solid #617c5f; border-radius: 50%; transform: translate(-50%, -50%); }
.mms-diagram::after { width: 132px; height: 132px; border-style: dashed; }
.mms-diagram-core { position: absolute; z-index: 1; top: 50%; left: 50%; display: grid; place-items: center; width: 94px; height: 94px; border: 1px solid var(--mms-lime); border-radius: 50%; background: #3f6043; color: white; font-size: 12px; font-weight: 800; line-height: 1.25; text-align: center; transform: translate(-50%, -50%); }
.mms-diagram-node { position: absolute; z-index: 2; padding: 6px 9px; border: 1px solid #718b6b; border-radius: 5px; background: #2e4935; color: white; font-size: 10px; }
.mms-diagram-node--a { top: 10%; left: 18%; }
.mms-diagram-node--b { top: 14%; right: 8%; }
.mms-diagram-node--c { right: 8%; bottom: 13%; }
.mms-diagram-node--d { bottom: 14%; left: 15%; }
.mms-pipeline { display: flex; justify-content: center; align-items: center; gap: 10px; min-height: 220px; }
.mms-pipeline > div { display: flex; flex-direction: column; justify-content: center; width: 104px; height: 102px; padding: 13px; border: 1px solid #779174; border-radius: 11px; background: #38553b; }
.mms-pipeline > div:nth-of-type(2) { border-color: var(--mms-lime); background: #56744c; }
.mms-pipeline > div span { color: #d0e0cc; font-size: 9px; }
.mms-pipeline > div strong { margin-top: 12px; font-size: 11px; }
.mms-pipeline > i { width: 26px; height: 1px; background: var(--mms-lime); }
.mms-app-preview { display: grid; grid-template-columns: 35px 1fr; width: min(100%, 380px); height: 188px; margin: 22px auto 0; overflow: hidden; border: 1px solid #819d7b; border-radius: 9px; background: #edf2e6; box-shadow: 0 18px 40px #0003; }
.mms-app-preview__rail { display: flex; flex-direction: column; gap: 11px; padding: 18px 12px; background: #416447; }
.mms-app-preview__rail b { width: 11px; height: 11px; border-radius: 3px; background: var(--mms-lime); }
.mms-app-preview__content { padding: 18px; color: var(--mms-ink); }
.mms-app-preview__title { font-size: 12px; font-weight: 800; }
.mms-app-preview__line { width: 80%; height: 6px; margin-top: 15px; border-radius: 9px; background: #c9d9c4; }
.mms-app-preview__line--short { width: 55%; margin-top: 16px; }
.mms-app-preview__cards { display: flex; gap: 5px; margin-top: 18px; }
.mms-app-preview__cards span { flex: 1; padding: 13px 4px; border: 1px solid #ceddca; border-radius: 5px; background: white; color: #356044; font-size: 9px; font-weight: 750; text-align: center; }
.mms-insight-preview { display: grid; grid-template-columns: .8fr 1.2fr; gap: 12px; margin-top: 27px; }
.mms-insight-preview > div { height: 178px; padding: 14px; border: 1px solid #607e63; border-radius: 9px; background: #31503a; }
.mms-insight-preview span { display: block; margin-bottom: 21px; color: #e0ebdf; font-size: 10px; font-weight: 700; }
.mms-insight-preview b { display: block; height: 11px; margin: 12px 0; border-radius: 10px; background: linear-gradient(90deg, var(--mms-lime) 70%, #4c6b51 70%); }
.mms-insight-preview b:nth-of-type(2) { background: linear-gradient(90deg, var(--mms-lime) 47%, #4c6b51 47%); }
.mms-insight-preview b:nth-of-type(3) { background: linear-gradient(90deg, var(--mms-lime) 83%, #4c6b51 83%); }
.mms-insight-preview svg { width: 100%; height: 94px; }
.mms-insight-preview path { fill: none; stroke: var(--mms-lime); stroke-width: 3; }
.mms-story-step { display: flex; flex-direction: column; justify-content: center; min-height: 75vh; padding: 50px 0 50px 31px; border-left: 1px solid #55735a; opacity: .55; transition: opacity .45s ease, border-color .45s ease; }
.mms-story-step.is-active { border-color: var(--mms-lime); opacity: 1; }
.mms-story-step > span { margin-bottom: 18px; color: var(--mms-lime); font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.mms-story-step h3 { max-width: 12ch; margin-bottom: 17px; font-size: clamp(29px, 3vw, 42px); }
.mms-story-step p { max-width: 33ch; color: #cfddcf; font-size: 16px; }
.mms-story-end { padding: 0 0 60px 31px; }

/* Interior pages */
.mms-challenge p { color: var(--mms-muted); font-size: 20px; }
.mms-challenge p + p { margin-top: 28px; color: var(--mms-ink); font-weight: 650; }
.mms-service-statement { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 510px; overflow: hidden; background: var(--mms-forest); color: white; }
.mms-service-statement::after { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, #102016ed, #1020166b); }
.mms-service-statement > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mms-service-statement .mms-container { padding-block: 90px; }
.mms-service-statement span { color: var(--mms-lime); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.mms-service-statement p { max-width: 18ch; margin: 24px 0 0; font-size: clamp(2.4rem, 4.6vw, 5.3rem); font-weight: 600; line-height: 1.08; letter-spacing: -.055em; }
.mms-capability-grid, .mms-three-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.mms-capability-grid article, .mms-three-grid article { min-height: 265px; padding: clamp(28px, 3vw, 45px); border-radius: var(--mms-radius); background: var(--mms-ivory); }
.mms-capability-grid article p, .mms-three-grid article p { color: var(--mms-muted); font-size: 16px; }
.mms-mini-line { display: block; width: 32px; height: 3px; margin-bottom: 48px; background: #46734c; }
.mms-panel { padding: clamp(30px, 4vw, 58px); border-radius: var(--mms-radius); background: var(--mms-sage); }
.mms-panel h3 { margin-bottom: 30px; }
.mms-check-list, .mms-example-list { margin: 0; padding: 0; list-style: none; }
.mms-check-list li { position: relative; padding: 14px 0 14px 28px; border-top: 1px solid #bfcabd; }
.mms-check-list li::before { position: absolute; left: 0; color: #2e673c; content: "✓"; }
.mms-section--dark { background: var(--mms-forest); color: white; }
.mms-example-list li { padding: 21px 0; border-top: 1px solid #4c6954; color: white; font-size: 19px; }
.mms-fine-print { margin-top: 28px; color: #c6d7c8; font-size: 12px; }
.mms-section--related ul { margin: 0; padding: 0; list-style: none; }
.mms-section--related li { padding: 16px 0; border-bottom: 1px solid var(--mms-line); }
.mms-section--related li:first-child { border-top: 1px solid var(--mms-line); }
.mms-section--related .mms-link { display: flex; justify-content: space-between; width: 100%; border-bottom: 0; color: var(--mms-ink); font-size: 18px; }
.mms-approach-scroll { background: #edf0e6; }
.mms-approach-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 5vw, 95px); align-items: start; }
.mms-stages { border-top: 1px solid #b7c5b6; }
.mms-stage { min-height: 65vh; padding: 58px 28px 60px 0; border-bottom: 1px solid #b7c5b6; opacity: .56; transition: opacity .3s ease; }
.mms-stage.is-active { opacity: 1; }
.mms-stage > span { display: block; margin-bottom: 55px; color: #416d49; font-size: 12px; font-weight: 800; letter-spacing: .17em; }
.mms-stage h2 { max-width: 12ch; margin-bottom: 21px; font-size: clamp(2.35rem, 3.5vw, 4.4rem); }
.mms-stage p { color: var(--mms-muted); font-size: 17px; }
.mms-stage__output { margin-top: 27px; padding-left: 20px; border-left: 2px solid #4e7850; font-weight: 750; }
.mms-approach-visual { position: sticky; top: 118px; align-self: start; height: min(650px, calc(100vh - 145px)); min-height: 460px; overflow: hidden; border-radius: var(--mms-radius); background: var(--mms-forest); color: white; }
.mms-approach-visual::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, #102218ed, transparent 75%); }
.mms-approach-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.035); transition: opacity .7s ease, transform 1.3s ease; }
.mms-approach-visual img.is-active { opacity: 1; transform: scale(1); }
.mms-approach-visual > div { position: absolute; z-index: 1; right: 35px; bottom: 35px; left: 35px; }
.mms-approach-visual p, .mms-approach-visual small { color: #e4ede1; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.mms-approach-visual strong { display: block; min-height: 1.25em; margin: 15px 0 10px; font-size: clamp(3rem, 5vw, 6rem); font-weight: 550; letter-spacing: -.06em; line-height: 1.1; }
.mms-approach-visual strong span { display: none; }
.mms-approach-visual strong span.is-active { display: block; }
.mms-three-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mms-contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(45px, 7vw, 120px); }
.mms-contact-grid h2 { max-width: 13ch; }
.mms-legal a { color: #255f3b; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; }
.mms-form-preview, .mms-contact-form .uagb-forms__outer-wrap, .page-id-622 .uagb-forms__outer-wrap { display: grid; gap: 16px; padding: clamp(28px, 4vw, 56px); border-radius: var(--mms-radius); background: white; box-shadow: 0 20px 60px #1e33201c; }
.page-id-622 .uagb-forms__outer-wrap { width: min(calc(100% - 40px), 760px); margin: 0 auto 110px; }
.page-id-622 .uagb-forms-main-form { display: grid; gap: 18px; }
.page-id-622 .uagb-forms-field-set { margin: 0; }
.page-id-622 .uagb-forms-input-label { margin-bottom: 8px; }
.mms-form-preview label { display: grid; gap: 8px; color: #3e5443; font-size: 14px; font-weight: 700; }
.page-id-622 .uagb-forms__outer-wrap .uagb-forms-input-label { display: flex; align-items: baseline; gap: 3px; color: #3e5443; font-size: 14px; font-weight: 700; }
.page-id-622 .uagb-forms-email-label::after { content: " *"; color: #b71919; }
.mms-form-preview input, .mms-form-preview select, .mms-form-preview textarea, .page-id-622 .uagb-forms-input { width: 100%; min-height: 48px; padding: 10px 13px; border: 1px solid #b9c7b7; border-radius: 8px; background: #f8f9f4; color: var(--mms-ink); }
.mms-form-preview textarea, .page-id-622 .uagb-forms-textarea-input { min-height: 128px; }
.mms-form-preview button, .page-id-622 .uagb-forms-main-submit-button { min-height: 50px; padding: 12px 20px; border: 0; border-radius: 100px; background: var(--mms-lime); color: var(--mms-ink); font-weight: 800; }
.mms-form-preview button:disabled { cursor: default; opacity: .8; }

/* Footer and existing legal pages */
.mms-site-footer { padding: 85px 0 28px; background: #0f1a13; color: #ebf2e9; }
.mms-footer-main { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .7fr); gap: 60px; padding-bottom: 85px; }
.mms-footer-brand { font-size: 22px; font-weight: 800; letter-spacing: -.05em; }
.mms-footer-main p { max-width: 310px; margin-top: 18px; color: #bed0bf; font-size: 14px; }
.mms-footer-main h2 { margin: 4px 0 22px; color: var(--mms-lime); font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.mms-footer-main a:not(.mms-footer-brand) { display: block; width: fit-content; margin-bottom: 12px; font-size: 14px; overflow-wrap: anywhere; }
.mms-footer-main a:hover, .mms-footer-bottom a:hover { color: var(--mms-lime); }
.mms-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 24px; padding-top: 25px; border-top: 1px solid #39523d; color: #b3c7b5; font-size: 12px; }
.mms-footer-bottom > div { display: flex; flex-wrap: wrap; gap: 20px; }
.mms-legal-hero { padding-block: clamp(80px, 11vw, 150px); background: radial-gradient(circle at 84% 18%, #42604a 0, transparent 35%), var(--mms-forest); color: white; }
.mms-legal-hero h1 { max-width: 15ch; margin: 0; font-size: clamp(3.5rem, 6vw, 6.5rem); }
.mms-legal-hero .mms-eyebrow { margin-bottom: 22px; }
.mms-legal { width: min(calc(100% - 44px), 920px); margin: 0 auto; padding: clamp(58px, 7vw, 105px) 0 130px; overflow-wrap: anywhere; }
.mms-legal > :first-child { margin-top: 0; }
.mms-legal h1 { font-size: clamp(2.8rem, 5vw, 4.5rem); }
.mms-legal h2 { margin-top: 55px; padding-top: 20px; border-top: 1px solid var(--mms-line); font-size: clamp(1.75rem, 3vw, 2.65rem); line-height: 1.16; }
.mms-legal h3 { margin-top: 36px; font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.2; }
.mms-legal p, .mms-legal li { max-width: 82ch; color: #3d4b41; font-size: 16px; line-height: 1.78; }
.mms-legal p { margin-bottom: 20px; }
.mms-legal .mms-policy-intro { margin-bottom: 28px; color: var(--mms-ink); font-size: clamp(1.1rem, 1.7vw, 1.35rem); line-height: 1.55; }
.mms-legal ul, .mms-legal ol { padding-left: 1.35em; }
.mms-legal li { margin-bottom: 8px; }
.mms-legal .wp-block-spacer { display: none; }
.mms-legal table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.mms-legal th, .mms-legal td { padding: 12px 16px; border: 1px solid var(--mms-line); text-align: left; }
.mms-legal-cta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 25px; padding: 40px 0; border-top: 1px solid var(--mms-line); }
.mms-legal-cta p { margin: 0; font-size: 19px; font-weight: 700; }
.mms-legal-cta a { display: inline-flex; align-items: center; gap: 28px; padding: 13px 20px; border-radius: 100px; background: var(--mms-forest); color: white; font-size: 14px; font-weight: 800; text-decoration: none; }
.mms-legal-cta a:hover { background: var(--mms-forest-2); color: white; }
#cookie-notice .cookie-notice-container { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px 24px; padding: 18px 30px; font-family: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.5; }
#cookie-notice #cn-accept-cookie { padding: 10px 22px; border-radius: 100px; color: var(--mms-ink) !important; font-weight: 800; }
#cookie-notice #cn-more-info { color: var(--mms-lime); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1080px) {
  .mms-header-cta { display: none; }
  .mms-workspace-sidebar { display: none; }
  .mms-workspace-body { grid-template-columns: 1fr; }
  .mms-story-layout { grid-template-columns: minmax(0, 1fr) minmax(300px, .75fr); gap: 35px; }
}
@media (max-width: 820px) {
  .mms-container { width: min(calc(100% - 44px), var(--mms-max)); }
  .mms-header-inner { min-height: 72px; }
  .mms-desktop-nav { display: none; }
  .mms-mobile-nav { display: block; margin-left: auto; }
  .mms-mobile-nav > summary { padding: 8px 0 8px 18px; cursor: pointer; list-style: none; font-size: 14px; font-weight: 800; }
  .mms-mobile-nav > summary::after { margin-left: 10px; color: var(--mms-lime); content: "☰"; }
  .mms-mobile-nav[open] > summary::after { content: "×"; font-size: 20px; }
  .mms-mobile-nav nav { position: absolute; top: 100%; right: 0; left: 0; max-height: calc(100svh - 72px); overflow-y: auto; padding: 20px 22px 28px; border-top: 1px solid #3d5d43; background: var(--mms-forest); box-shadow: 0 20px 50px #0004; }
  .mms-mobile-nav ul { display: block; }
  .mms-mobile-nav li { border-bottom: 1px solid #3d5d43; }
  .mms-mobile-nav li a { display: block; padding: 12px 0; }
  .mms-mobile-nav nav > a { display: inline-block; margin-top: 20px; color: var(--mms-lime); font-weight: 800; }
  .mms-mobile-nav .mms-nav-solutions { padding: 12px 0; }
  .mms-mobile-nav .mms-mega { position: static; display: none; width: 100%; margin-top: 15px; border-radius: 10px; background: #20392a; box-shadow: none; transform: none; animation: none; }
  .mms-mobile-nav .mms-nav-solutions details[open] .mms-mega { display: block; }
  .mms-mobile-nav .mms-mega-intro { display: none; }
  .mms-mobile-nav .mms-mega-links { display: block; padding: 8px 12px; }
  .mms-mobile-nav .mms-mega-links a { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 12px; padding: 10px; color: white; font-size: 13px; }
  .mms-mobile-nav .mms-mega-links a:hover { background: #31523b; }
  .mms-hero--home { min-height: 690px; }
  .mms-hero--internal { min-height: 540px; }
  .mms-service-hero-grid { grid-template-columns: 1fr; gap: 42px; min-height: 0; }
  .mms-service-hero-art { height: 370px; min-height: 0; }
  .mms-intro-grid, .mms-two-col, .mms-contact-grid { grid-template-columns: 1fr; gap: 30px; }
  .mms-intro-grid h2, .mms-two-col h2 { max-width: 16ch; }
  .mms-section-lead { margin-top: 0; }
  .mms-story-layout { display: block; margin-top: 20px; }
  .mms-story-stage { z-index: 2; top: 78px; padding-top: 0; }
  .mms-workspace, .mms-workspace-body, .mms-workspace-main { min-height: 320px; }
  .mms-story-step { min-height: 58vh; }
  .mms-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mms-steps li { border-bottom: 1px solid var(--mms-line); }
  .mms-steps li:nth-child(3) { padding-left: 0; border-left: 0; }
  .mms-approach-grid { grid-template-columns: 1fr; }
  .mms-approach-visual { grid-row: 1; position: relative; top: 0; height: 450px; min-height: 0; }
  .mms-stage { min-height: 0; opacity: 1; }
  .mms-footer-main { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  body { font-size: 16px; }
  .mms-container, .mms-legal { width: min(calc(100% - 36px), var(--mms-max)); }
  .mms-brand-mark { width: 36px; height: 36px; }
  .mms-brand-name { font-size: 14px; }
  .mms-brand-name span { font-size: 9px; }
  .mms-hero--home { min-height: 660px; padding-block: 85px 25px; }
  .mms-hero h1, .mms-hero--internal h1, .mms-service-hero-grid h1 { font-size: clamp(3.2rem, 11vw, 4.7rem); }
  .mms-hero--home h1 { max-width: 10ch; }
  .mms-hero__bottom { padding-top: 44px; font-size: 9px; }
  .mms-hero--internal > .mms-container { padding-block: 85px; }
  .mms-service-hero-art { height: 300px; }
  .mms-section { padding-block: 75px; }
  .mms-section--intro { padding-bottom: 15px; }
  .mms-section--cards { padding-top: 15px; }
  .mms-service-grid, .mms-capability-grid, .mms-three-grid { grid-template-columns: 1fr; }
  .mms-service-card__image { height: 210px; }
  .mms-service-card__body { padding: 28px; }
  .mms-feature-band { min-height: 520px; }
  .mms-feature-band > .mms-container { padding-block: 80px; }
  .mms-heading-row { display: block; }
  .mms-heading-row > p { margin-top: 25px; }
  .mms-steps { grid-template-columns: 1fr; }
  .mms-steps li, .mms-steps li + li { padding: 24px 0 30px; border-left: 0; }
  .mms-steps span { margin-bottom: 22px; }
  .mms-story { padding-block: 80px 35px; }
  .mms-story-heading > p:last-child { font-size: 16px; }
  .mms-workspace { min-height: 265px; }
  .mms-workspace-top { height: 44px; padding: 7px 12px; }
  .mms-workspace-brand { font-size: 9px; }
  .mms-workspace-brand small, .mms-workspace-status { font-size: 8px; }
  .mms-workspace-symbol { width: 23px; height: 23px; font-size: 12px; }
  .mms-workspace-body, .mms-workspace-main { min-height: 220px; }
  .mms-workspace-panel { padding: 17px; }
  .mms-workspace-panel h3 { font-size: 18px; }
  .mms-workspace-panel p { font-size: 9px; }
  .mms-diagram { height: 132px; margin-top: 5px; }
  .mms-diagram::before { width: 120px; height: 120px; }
  .mms-diagram::after { width: 90px; height: 90px; }
  .mms-diagram-core { width: 67px; height: 67px; font-size: 9px; }
  .mms-diagram-node { padding: 3px 5px; font-size: 8px; }
  .mms-pipeline { min-height: 138px; gap: 5px; }
  .mms-pipeline > div { width: 81px; height: 75px; padding: 8px; }
  .mms-pipeline > div span { font-size: 7px; }
  .mms-pipeline > div strong { margin-top: 9px; font-size: 9px; }
  .mms-pipeline > i { width: 12px; }
  .mms-app-preview { height: 110px; margin-top: 10px; }
  .mms-app-preview__content { padding: 10px; }
  .mms-app-preview__line { margin-top: 6px; }
  .mms-app-preview__cards { margin-top: 8px; }
  .mms-app-preview__cards span { padding: 5px 2px; font-size: 7px; }
  .mms-insight-preview { margin-top: 11px; }
  .mms-insight-preview > div { height: 110px; padding: 8px; }
  .mms-insight-preview span { margin-bottom: 8px; font-size: 8px; }
  .mms-insight-preview b { height: 7px; margin: 7px 0; }
  .mms-insight-preview svg { height: 54px; }
  .mms-story-step { min-height: 55vh; padding-left: 22px; }
  .mms-story-step h3 { font-size: 31px; }
  .mms-cta-grid { display: block; }
  .mms-cta-grid > div:last-child { margin-top: 34px; }
  .mms-service-statement { min-height: 430px; }
  .mms-service-statement p { max-width: 16ch; }
  .mms-approach-visual { height: 330px; }
  .mms-approach-visual > div { right: 22px; bottom: 22px; left: 22px; }
  .mms-stage { padding: 45px 0; }
  .mms-stage > span { margin-bottom: 24px; }
  .mms-footer-main { grid-template-columns: 1fr; gap: 35px; padding-bottom: 55px; }
  .mms-footer-bottom { display: block; }
  .mms-footer-bottom > div { margin-top: 16px; }
  .mms-form-preview, .page-id-622 .uagb-forms__outer-wrap { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .mms-background-video { display: none; }
  .mms-hero--home, .mms-hero--media { background-image: var(--mms-hero-image); background-size: cover; background-position: center; }
  .mms-feature-band { background-image: var(--mms-band-image); background-size: cover; background-position: center; }
}
