:root {
	--mcg-blue: #1266a0;
	--mcg-blue-dark: #0b4e7d;
	--mcg-green: #175b37;
	--mcg-forest-950: #123c29;
	--mcg-forest-900: #175b37;
	--mcg-forest-800: #217443;
	--mcg-leaf-600: #277244;
	--mcg-sage-100: #eef5ec;
	--mcg-cream: #f6f4ed;
	--mcg-paper: #ffffff;
	--mcg-ink: #242c2d;
	--mcg-muted: #5c6568;
	--mcg-line: #dfe6e3;
	--mcg-white: #ffffff;
	--mcg-header-height: 88px;
	--mcg-shell: 1280px;
	--mcg-sans: "Roboto", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--mcg-header-height) + 24px); }
body { margin: 0; background: #fff; color: var(--mcg-ink); font-family: var(--mcg-sans); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
/* WooCommerce patterns assign these presets explicitly; keep them on-brand.
 * A body rule also maps correctly to the WordPress content editor wrapper. */
body { --wp--preset--font-family--inter: var(--mcg-sans); --wp--preset--font-family--cardo: var(--mcg-sans); }
body.menu-is-open, body.search-is-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; cursor: pointer; }
button:disabled { cursor: default; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
svg { vertical-align: middle; flex-shrink: 0; }
[hidden] { display: none !important; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { line-height: 1.25; text-wrap: balance; }
h2 { font-size: clamp(28px, 3vw, 40px); font-weight: 700; letter-spacing: -.025em; }
h3 { font-size: 18px; font-weight: 650; }
:focus-visible { outline: 3px solid #2b86c6; outline-offset: 5px; border-radius: 3px; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; position: absolute !important; white-space: nowrap; }
.skip-link:focus { clip: auto; clip-path: none; width: auto; height: auto; top: 8px; left: 8px; z-index: 10000; background: #fff; padding: 12px 20px; }
.section-shell { width: min(calc(100% - 80px), var(--mcg-shell)); margin-inline: auto; }
.section-pad { padding-block: 84px; }
.eyebrow { color: var(--mcg-blue); font-size: 12px; line-height: 1.4; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; margin-bottom: 14px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 36px; }
.section-heading h2 { margin-bottom: 12px; }
.section-heading--center { display: block; text-align: center; }
.section-description { color: var(--mcg-muted); max-width: 660px; }
.section-cta { display: flex; justify-content: center; margin-top: 36px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 16px; min-height: 50px; padding: 13px 24px; border: 1px solid transparent; border-radius: 6px; color: white; background: var(--mcg-green); font-size: 15px; line-height: 1.3; font-weight: 650; transition: background .18s, transform .18s; }
.button svg { width: 19px; height: 19px; }
.button:hover { background: #10472a; transform: translateY(-1px); }
.button:disabled { background: #52745e; color: #fff; transform: none; }
.arrow-link { display: inline-flex; align-items: center; gap: 10px; color: var(--mcg-blue); font-weight: 650; }
.arrow-link:hover { text-decoration: underline; }
/* White, blue-text sticky navigation. */
.site-header { position: sticky; top: 0; z-index: 1000; height: var(--mcg-header-height); background: #fff; border-bottom: 1px solid #e4ece8; transition: box-shadow .2s; }
.site-header.is-scrolled { box-shadow: 0 4px 24px #123c2912; }
.admin-bar .site-header { top: 32px; }
.header-shell { width: min(calc(100% - 64px), 1480px); height: 100%; margin-inline: auto; display: flex; align-items: center; gap: 30px; }
.site-branding { flex: 0 0 auto; }
.brand-lockup, .custom-logo-link { display: inline-flex; align-items: center; gap: 10px; }
.brand-mark { width: 46px; height: 46px; }
.brand-copy { display: flex; flex-direction: column; }
.brand-copy strong { font-size: 31px; color: var(--mcg-blue); font-weight: 800; line-height: 1; letter-spacing: .04em; }
.brand-copy small { font-size: 8px; font-weight: 750; line-height: 1.5; color: var(--mcg-green); letter-spacing: .1em; margin-top: 5px; }
.custom-logo { max-width: 190px; width: auto; height: 58px; object-fit: contain; }
.primary-navigation { display: flex; min-width: 0; margin-left: auto; align-self: stretch; align-items: center; }
.primary-menu, .primary-menu .sub-menu { padding: 0; margin: 0; list-style: none; }
.primary-menu { display: flex; align-items: stretch; height: 100%; gap: clamp(12px, 1.25vw, 22px); }
.primary-menu > .menu-item { position: relative; display: flex; align-items: center; }
.primary-menu > .menu-item > a { position: relative; display: inline-flex; align-items: center; min-height: 46px; font-size: 14px; color: var(--mcg-blue); font-weight: 650; white-space: nowrap; }
.primary-menu > .menu-item > a::after { content: ""; position: absolute; left: 0; bottom: 2px; width: 0; height: 2px; background: var(--mcg-green); transition: width .18s; }
.primary-menu > .menu-item:hover > a::after, .primary-menu > .menu-item:focus-within > a::after, .primary-menu > .current-menu-item > a::after { width: 100%; }
.menu-item-home > a { justify-content: center; width: 30px; }
.menu-item-has-children > a { padding-right: 20px; }
.submenu-toggle { position: absolute; right: -4px; display: grid; place-items: center; width: 24px; height: 38px; padding: 0; border: 0; background: transparent; color: var(--mcg-blue); pointer-events: none; }
.submenu-toggle svg { transition: transform .18s; }
.submenu-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.primary-menu .sub-menu { position: absolute; top: calc(100% - 8px); left: -18px; width: 224px; padding: 10px; background: #fff; border: 1px solid var(--mcg-line); border-radius: 8px; box-shadow: 0 12px 35px #123c291c; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s; }
.primary-menu .sub-menu::before { content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 14px; }
.primary-menu .menu-item-has-children:hover > .sub-menu, .primary-menu .menu-item-has-children:focus-within > .sub-menu, .primary-menu .submenu-open > .sub-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.primary-menu .sub-menu a { display: block; padding: 12px; color: var(--mcg-blue); font-size: 14px; font-weight: 600; border-radius: 5px; }
.primary-menu .sub-menu a:hover { background: var(--mcg-sage-100); }
.header-actions { display: flex; align-items: center; gap: 5px; margin-left: auto; }
.header-action, .menu-toggle { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 42px; height: 44px; padding: 0 6px; border: 0; background: transparent; color: var(--mcg-blue); font-size: 12px; font-weight: 650; white-space: nowrap; border-radius: 6px; }
.header-action:hover, .menu-toggle:hover { background: #edf5fa; }
.cart-count { position: absolute; top: -1px; left: 19px; display: grid; place-items: center; min-width: 17px; height: 17px; padding: 1px 4px; border: 2px solid #fff; border-radius: 50%; background: var(--mcg-green); color: white; font-size: 9px; line-height: 1; }
.menu-toggle { display: none; }
.menu-toggle-lines { display: flex; flex-direction: column; gap: 5px; width: 22px; }
.menu-toggle-lines i { width: 100%; height: 1.5px; background: currentColor; transition: transform .18s, opacity .18s; }
.menu-toggle[aria-expanded="true"] i:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] i:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] i:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
/* Banner: three distinct images, each with its own destination. */
.home-banner { background: #fff; padding-bottom: 18px; }
.banner-panels { position: relative; }
.banner-panel { position: relative; height: clamp(510px, 44vw, 660px); overflow: hidden; background: var(--mcg-sage-100); }
/* Keep slides in one grid cell so fading never changes the banner height. */
.has-banner-transitions .banner-panels { display: grid; isolation: isolate; background: #123c29; }
.has-banner-transitions .banner-panel { grid-area: 1 / 1; min-width: 0; z-index: 0; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .7s cubic-bezier(.22, 1, .36, 1), visibility 0s .7s; }
.has-banner-transitions .banner-panel.is-active { z-index: 1; opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
.has-banner-transitions .banner-copy { transform: translateY(14px); transition: transform 1.1s cubic-bezier(.22, 1, .36, 1); }
.has-banner-transitions .banner-panel.is-active .banner-copy { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
	.has-banner-transitions .banner-panel, .has-banner-transitions .banner-copy { transition: none; }
	.has-banner-transitions .banner-copy { transform: none; }
}
.banner-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
.banner-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7, 38, 29, .79), rgba(7, 38, 29, .47) 42%, rgba(7, 38, 29, .05) 80%); }
.banner-content { position: relative; height: 100%; display: flex; align-items: center; padding-block: 60px 105px; }
.banner-copy { width: min(58%, 680px); }
.banner-eyebrow { color: #fff; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; font-weight: 650; margin-bottom: 25px; display: flex; align-items: center; gap: 14px; }
.banner-eyebrow::before { content: ""; width: 28px; height: 2px; background: #92c583; }
.banner-copy h1, .banner-copy h2 { color: #fff; font-size: clamp(42px, 4.6vw, 68px); line-height: 1.12; font-weight: 650; letter-spacing: -.045em; margin-bottom: 22px; }
.banner-description { max-width: 480px; color: #f2f6f0; font-size: 17px; line-height: 1.7; margin-bottom: 29px; }
.banner-copy .button { border-color: #6e9476; }
.banner-counter { position: absolute; bottom: 90px; right: 5.5%; color: #fff; font-size: 13px; letter-spacing: .12em; }
.banner-tabs { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: -48px; box-shadow: 0 12px 38px #164e2820; border-radius: 8px; background: #fff; overflow: hidden; }
.banner-tab { position: relative; display: flex; align-items: center; justify-content: center; gap: 18px; padding: 28px 24px; min-height: 106px; background: #fff; border: 0; border-right: 1px solid var(--mcg-line); font-size: 17px; line-height: 1.3; font-weight: 650; color: var(--mcg-blue-dark); text-align: left; transition: background .18s, color .18s; }
.banner-tab:last-child { border-right: 0; }
.banner-tab svg { margin-left: auto; width: 21px; height: 21px; }
.banner-tab-number { color: #71827b; font-size: 12px; font-weight: 500; }
.banner-tab[aria-selected="true"] { color: var(--mcg-green); background: #f4f8f1; }
.banner-tab[aria-selected="true"]::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 4px; background: var(--mcg-green); }
.banner-tab:hover { background: #eef5ec; }
.banner-tab:focus-visible { outline-offset: -6px; }
/* Circular crop categories. */
.crop-section { padding-top: 76px; padding-bottom: 96px; }
.rail-controls { display: flex; gap: 10px; flex-shrink: 0; padding-bottom: 8px; }
.rail-controls button { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; color: #fff; border: 1px solid var(--mcg-green); border-radius: 50%; background: var(--mcg-green); transition: opacity .2s; }
.rail-controls button:disabled { opacity: .28; }
.rail-controls svg { width: 17px; height: 17px; }
.rail-prev svg { transform: rotate(180deg); }
.crop-rail, .video-rail { display: grid; grid-auto-flow: column; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.crop-rail::-webkit-scrollbar, .video-rail::-webkit-scrollbar { display: none; }
.crop-rail { grid-auto-columns: calc((100% - 150px) / 6); gap: 30px; padding: 12px 2px 18px; }
.crop-card { min-width: 0; display: block; scroll-snap-align: start; text-align: center; }
.crop-picture { display: grid; place-items: center; aspect-ratio: 1; margin-bottom: 20px; border-radius: 50%; overflow: hidden; background: #f0f4ee; border: 1px solid #e5ebdf; transition: background .2s, transform .2s; }
.crop-picture svg { width: 70%; height: 70%; }
.crop-picture img { width: 100%; height: 100%; object-fit: cover; }
.crop-card:nth-child(even) .crop-picture { background: #edf5f9; border-color: #dfebef; }
.crop-card:hover .crop-picture { background: #e4eedc; transform: translateY(-3px); }
.crop-card h3 { color: var(--mcg-ink); font-size: 16px; font-weight: 650; }
.crop-card:hover h3 { color: var(--mcg-blue); }
/* Two-column company story: copy on one side, image on the other. */
.story-section { position: relative; background: var(--mcg-cream); overflow: hidden; border-block: 1px solid #eaece1; }
.story-section::before, .story-section::after { content: ""; position: absolute; pointer-events: none; border: 1px solid #c8d8c6; width: 480px; height: 480px; border-radius: 50%; opacity: .38; }
.story-section::before { top: -290px; left: -90px; }
.story-section::after { bottom: -350px; right: -150px; }
.story-inner { position: relative; display: grid; grid-template-columns: minmax(0, .92fr) minmax(380px, 1.08fr); align-items: center; gap: clamp(48px, 6vw, 88px); }
.story-copy { min-width: 0; }
.story-inner h2 { color: var(--mcg-blue-dark); margin-bottom: 24px; }
.story-intro { color: #4a5354; font-size: 19px; line-height: 1.8; max-width: 650px; margin: 0 0 29px; }
.story-media { min-width: 0; overflow: hidden; border-radius: 14px; box-shadow: 0 18px 45px #123c2920; background: #e7eee3; }
.story-image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ceo-quote { border: 0; margin: 24px 0 34px; max-width: 650px; padding: 0; }
.ceo-quote > p { font-size: 21px; line-height: 1.72; color: #323b39; }
.ceo-quote > p::before { content: "“"; color: var(--mcg-green); }
.ceo-quote > p::after { content: "”"; color: var(--mcg-green); }
.ceo-quote footer { display: flex; flex-direction: column; margin-top: 24px; font-size: 14px; gap: 4px; }
.ceo-quote footer strong { color: var(--mcg-blue-dark); font-size: 16px; }
/* Five YouTube slots, three visible on wide screens. */
.video-section { background: #eff6f1; }
.video-section h2 { max-width: 790px; margin-bottom: 0; }
.video-rail { grid-auto-columns: calc((100% - 48px) / 3); gap: 24px; padding: 4px 2px 12px; }
.video-card { min-width: 0; scroll-snap-align: start; }
.video-media { position: relative; aspect-ratio: 16/9; background: #dce7db; border-radius: 8px; overflow: hidden; }
.video-poster, .video-placeholder { display: block; position: relative; width: 100%; height: 100%; }
.video-image { width: 100%; height: 100%; object-fit: cover; }
.video-poster::after, .video-placeholder::after { content: ""; position: absolute; inset: 0; background: #123c2928; }
.video-play { position: absolute; z-index: 1; left: 50%; top: 50%; transform: translate(-50%, -50%); background: #175b37; color: #fff; border: 1px solid #ffffff90; border-radius: 50%; width: 58px; height: 58px; display: grid; place-items: center; }
.video-play svg { width: 27px; height: 27px; }
.video-placeholder > span { position: absolute; z-index: 1; left: 12px; bottom: 12px; right: 12px; background: #123c29e8; color: #fff; padding: 8px 12px; font-size: 12px; border-radius: 4px; text-align: center; }
.video-media iframe { border: 0; width: 100%; height: 100%; display: block; }
.video-caption { display: flex; align-items: flex-start; gap: 12px; margin-top: 18px; }
.video-number { color: var(--mcg-green); font-size: 12px; font-weight: 650; line-height: 1.8; }
.video-caption h3 { font-size: 16px; line-height: 1.5; color: var(--mcg-ink); }
/* Four-column article grid, with two rows for eight posts. */
.featured-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 22px; }
.featured-card { min-width: 0; border-radius: 10px; overflow: hidden; background: #f6f7f5; border: 1px solid #e5e9e3; transition: box-shadow .2s, transform .2s; }
.featured-card:hover { box-shadow: 0 10px 26px #123c2912; transform: translateY(-3px); }
.featured-image { display: block; aspect-ratio: 16/10; overflow: hidden; }
.featured-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.featured-card:hover .featured-image img { transform: scale(1.04); }
.featured-content { padding: 21px 20px 25px; }
.featured-content h3 { font-size: 17px; line-height: 1.5; color: var(--mcg-blue-dark); text-wrap: pretty; margin-bottom: 12px; }
.featured-content h3 a:hover { color: var(--mcg-green); }
.featured-content > p { color: #525c5d; font-size: 14px; line-height: 1.65; }
.empty-state { text-align: center; color: var(--mcg-muted); padding: 35px 20px; border: 1px solid var(--mcg-line); border-radius: 8px; }
/* Dark green footer with four promises and four information columns. */
.site-footer { background: var(--mcg-forest-950); color: #fff; }
.benefits-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 25px; padding-block: 40px; border-bottom: 1px solid #ffffff36; }
.benefit-item { display: flex; align-items: center; gap: 16px; }
.benefit-item > svg { width: 33px; height: 33px; stroke-width: 1.3; }
.benefit-item > p { font-size: 13px; line-height: 1.65; font-weight: 500; }
.footer-main { display: grid; grid-template-columns: 1.4fr 1fr 1fr .95fr; gap: 40px; padding-block: 52px; }
.brand-lockup--light .brand-copy strong, .brand-lockup--light .brand-copy small { color: #fff; }
.footer-brand .brand-lockup { margin-bottom: 25px; }
.footer-main h2 { font-size: 15px; font-weight: 700; color: #fff; letter-spacing: 0; text-wrap: pretty; margin-bottom: 20px; }
.footer-main p, .footer-menu { color: #e5eee6; font-size: 13px; line-height: 1.85; }
.footer-brand p + p { margin-top: 13px; }
.footer-brand p span { font-weight: 600; color: #fff; }
.footer-brand .custom-logo-link { margin-bottom: 24px; }
.footer-menu { list-style: none; padding: 0; margin: 0; }
.footer-menu li + li { margin-top: 14px; }
.footer-menu a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.footer-contact .contact-label { color: #d3e6d4; font-size: 12px; margin-bottom: 6px; }
.footer-hotline { display: inline-block; font-size: clamp(18px, 1.7vw, 24px); font-weight: 750; line-height: 1.3; margin-bottom: 23px; white-space: nowrap; }
.footer-support { display: block; font-size: 14px; }
.social-links { display: flex; gap: 9px; margin-top: 25px; }
.social-icon { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid #ffffff55; color: #fff; border-radius: 50%; }
.social-icon svg { width: 17px; height: 17px; }
a.social-icon:hover { background: #247246; }
.social-icon--pending { opacity: .55; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; padding-block: 20px; border-top: 1px solid #ffffff29; color: #d3e2d4; font-size: 12px; gap: 20px; }
.back-to-top { display: inline-flex; gap: 12px; align-items: center; }
.back-to-top span { font-size: 18px; }
/* Search and ordinary WordPress pages. */
.search-overlay { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: flex-start; justify-content: center; padding: min(18vh, 150px) 24px 40px; overflow-y: auto; }
.search-backdrop { position: fixed; inset: 0; background: #0a251dcc; backdrop-filter: blur(4px); }
.search-dialog { position: relative; width: min(100%, 760px); padding: 48px; background: #fff; border-radius: 12px; box-shadow: 0 24px 70px #0003; }
.search-dialog h2 { margin-bottom: 28px; }
.search-close { position: absolute; top: 13px; right: 13px; display: grid; place-items: center; width: 40px; height: 40px; background: #edf3ec; border: 0; border-radius: 50%; }
.search-field-wrap { display: flex; align-items: center; gap: 12px; padding: 7px 8px 7px 17px; background: #f5f7f3; border: 1px solid var(--mcg-line); border-radius: 7px; }
.search-field { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--mcg-ink); background: transparent; padding: 12px 0; }
.search-field:focus-visible { outline: 2px solid var(--mcg-blue); outline-offset: 2px; }
.search-submit { flex-shrink: 0; border: 0; border-radius: 5px; background: var(--mcg-green); color: #fff; padding: 12px 18px; font-size: 14px; font-weight: 650; }
.search-hint { color: var(--mcg-muted); font-size: 13px; margin-top: 17px; }
.content-shell { width: min(calc(100% - 48px), 960px); padding-block: 70px 100px; margin-inline: auto; min-height: 55vh; }
.entry-header { margin-bottom: 32px; }
.entry-title { font-size: clamp(32px, 4vw, 52px); color: var(--mcg-blue-dark); margin-bottom: 20px; }
.entry-content > * { max-width: 800px; margin-inline: auto; }
.entry-content > * + * { margin-top: 24px; }
.entry-content h2 { font-size: 30px; }
.entry-content h3 { font-size: 23px; }
.entry-content a { color: var(--mcg-blue); text-decoration: underline; }
.entry-content > .alignwide { max-width: 1080px; }
.entry-content > .alignfull { max-width: none; }
.entry-featured-image { margin: 0 0 32px; }
.entry-featured-image img { border-radius: 10px; }
.post-meta { color: var(--mcg-muted); font-size: 13px; }
.archive-entry, .post-summary { padding-block: 28px; border-bottom: 1px solid var(--mcg-line); }
.archive-entry h2, .post-summary h2 { font-size: 27px; margin-bottom: 15px; }
.post-summary-excerpt { margin-block: 14px; }
.search-results-list { margin-top: 30px; }
.no-results { padding-block: 40px; }
.no-results h2 { font-size: 26px; margin-bottom: 14px; }
.entry-footer, .post-navigation { margin-top: 35px; padding-top: 22px; border-top: 1px solid var(--mcg-line); }
.nav-links { display: flex; gap: 30px; justify-content: space-between; }
.nav-next { text-align: right; }
.nav-subtitle { display: block; color: var(--mcg-muted); font-size: 12px; }
.nav-title { color: var(--mcg-blue); }
.woocommerce-page .site-main { width: min(calc(100% - 48px), 1280px); margin-inline: auto; padding-block: 48px; }
@media (max-width: 1180px) {
	:root { --mcg-header-height: 76px; }
	.header-shell { gap: 20px; width: calc(100% - 48px); }
	.header-actions { gap: 8px; }
	.action-label { display: none; }
	.menu-toggle { display: inline-flex; }
	.primary-navigation { display: none; position: fixed; inset: var(--mcg-header-height) 0 0; background: #fff; padding: 25px 30px 80px; overflow-y: auto; }
	.primary-navigation.menu-open { display: block; }
	.admin-bar .primary-navigation { top: calc(var(--mcg-header-height) + 32px); }
	.primary-menu { display: block; height: auto; width: min(100%, 600px); margin-inline: auto; }
	.primary-menu > .menu-item { display: block; border-bottom: 1px solid var(--mcg-line); }
	.primary-menu > .menu-item > a { min-height: 59px; width: calc(100% - 50px); padding-inline: 0; font-size: 17px; }
	.primary-menu > .menu-item > a::after { display: none; }
	.menu-item-home > a { justify-content: flex-start; }
	.submenu-toggle { top: 10px; right: 0; width: 44px; height: 44px; border-radius: 5px; background: #eef5ec; pointer-events: auto; }
	.primary-menu .sub-menu { display: none; position: static; width: 100%; padding: 0 0 13px 20px; border: 0; border-radius: 0; box-shadow: none; visibility: visible; opacity: 1; transform: none; pointer-events: auto; }
	.primary-menu .sub-menu::before { display: none; }
	.primary-menu .submenu-open > .sub-menu { display: block; }
	.primary-menu .sub-menu a { padding-block: 13px; }
	.crop-rail { grid-auto-columns: calc((100% - 100px) / 5); gap: 25px; }
	.footer-main { gap: 28px; grid-template-columns: 1.3fr 1fr 1fr; }
	.footer-contact { grid-column: 1 / -1; display: grid; grid-template-columns: 1.3fr 1fr 1fr; column-gap: 28px; }
	.footer-contact > h2 { grid-column: 1; grid-row: 1; }
	.footer-contact .contact-label:first-of-type { grid-column: 2; grid-row: 1; margin: 0; }
	.footer-hotline { grid-column: 2; grid-row: 2; margin: 0; }
	.footer-contact .contact-label:nth-of-type(2) { grid-column: 3; grid-row: 1; margin: 0; }
	.footer-support { grid-column: 3; grid-row: 2; }
	.footer-contact .social-links { grid-column: 1; grid-row: 2; margin: 0; }
	.benefits-strip { gap: 20px; }
	.benefit-item { gap: 12px; align-items: flex-start; }
}
@media (max-width: 900px) {
	.section-shell { width: calc(100% - 48px); }
	.section-pad { padding-block: 62px; }
	.banner-panel { height: 560px; }
	.banner-copy { width: 70%; }
	.banner-copy h1, .banner-copy h2 { font-size: 48px; }
	.banner-tab { min-height: 91px; padding: 22px 18px; font-size: 15px; gap: 10px; }
	.banner-tab-number { display: none; }
	.banner-tab svg { width: 17px; }
	.crop-rail { grid-auto-columns: calc((100% - 66px) / 4); gap: 22px; }
	.video-rail { grid-auto-columns: calc((100% - 24px) / 2); }
	.featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
	.benefits-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 25px; }
	.footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.footer-brand { grid-column: 1 / -1; max-width: 570px; }
	.footer-contact { display: block; grid-column: auto; }
	.footer-contact .contact-label { margin-block: 18px 4px !important; }
	.footer-contact .social-links { margin-top: 20px; }
}
@media (max-width: 782px) {
	.admin-bar .site-header { top: 46px; }
	.admin-bar .primary-navigation { top: calc(var(--mcg-header-height) + 46px); }
}
@media (max-width: 600px) {
	:root { --mcg-header-height: 70px; }
	.section-shell { width: calc(100% - 36px); }
	.section-pad { padding-block: 48px; }
	.header-shell { width: calc(100% - 28px); gap: 10px; }
	.header-actions { gap: 3px; }
	.brand-mark { width: 37px; height: 37px; }
	.brand-copy strong { font-size: 25px; }
	.brand-copy small { font-size: 6.5px; }
	.brand-lockup { gap: 7px; }
	.custom-logo { max-width: 155px; height: 46px; }
	.primary-navigation { padding-inline: 22px; }
	.banner-panel { height: 565px; }
	.banner-image { object-position: 67% center; }
	.banner-shade { background: linear-gradient(90deg, #082c26c9, #082c2645), linear-gradient(0deg, #082c2699, transparent 75%); }
	.banner-content { align-items: flex-end; padding: 60px 5px 65px; }
	.banner-copy { width: 100%; }
	.banner-copy h1, .banner-copy h2 { font-size: clamp(36px, 9.5vw, 46px); max-width: 420px; margin-bottom: 20px; }
	.banner-eyebrow { font-size: 10px; margin-bottom: 19px; }
	.banner-description { font-size: 15px; max-width: 325px; margin-bottom: 25px; }
	.banner-counter { right: 23px; bottom: 29px; font-size: 10px; }
	.banner-tabs { width: calc(100% - 28px); margin-top: -22px; border-radius: 6px; }
	.banner-tab { justify-content: flex-start; align-items: center; min-height: 85px; padding: 16px 13px; font-size: 14px; line-height: 1.5; }
	.banner-tab svg { display: none; }
	.home-banner { padding-bottom: 0; }
	.section-heading { align-items: flex-end; margin-bottom: 26px; gap: 16px; }
	.section-heading h2 { font-size: 27px; margin-bottom: 10px; }
	.section-description { font-size: 14px; }
	.eyebrow { font-size: 10px; margin-bottom: 11px; }
	.rail-controls { gap: 6px; padding-bottom: 0; }
	.rail-controls button { width: 34px; height: 34px; }
	.crop-section .section-heading { flex-wrap: wrap; }
	.crop-section .rail-controls { margin-left: auto; }
	.crop-rail { grid-auto-columns: calc((100% - 32px) / 3); gap: 16px; }
	.crop-picture { margin-bottom: 13px; }
	.crop-picture svg { width: 78%; height: 78%; }
	.crop-card h3 { font-size: 14px; line-height: 1.5; }
	.story-intro { font-size: 18px; line-height: 1.75; }
	.story-inner h2 { font-size: 29px; }
	.story-inner { grid-template-columns: 1fr; gap: 34px; }
	.story-media { order: -1; }
	.ceo-quote > p { font-size: 20px; }
	.video-section .section-heading { flex-wrap: wrap; }
	.video-section .section-heading h2 { max-width: 330px; }
	.video-section .rail-controls { margin-left: auto; }
	.video-rail { grid-auto-columns: 92%; gap: 16px; }
	.video-caption h3 { font-size: 15px; }
	.featured-grid { gap: 18px 13px; }
	.featured-content { padding: 14px 13px 18px; }
	.featured-content h3 { font-size: 16px; line-height: 1.5; }
	.featured-content > p { font-size: 14px; line-height: 1.7; }
	.featured-image { aspect-ratio: 1.35; }
	.featured-card { border-radius: 7px; }
	.benefits-strip { padding-block: 29px; gap: 24px 20px; }
	.benefit-item { flex-direction: column; gap: 10px; }
	.benefit-item > p { font-size: 14px; }
	.benefit-item > svg { width: 27px; height: 27px; }
	.footer-main { gap: 32px 23px; padding-block: 35px; }
	.footer-brand { grid-column: 1 / -1; }
	.footer-main h2 { font-size: 14px; }
	.footer-contact { grid-column: 1 / -1; }
	.footer-main p, .footer-menu { font-size: 14px; }
	.footer-hotline { font-size: 24px; }
	.footer-bottom { align-items: flex-start; font-size: 10px; gap: 15px; }
	.back-to-top { white-space: nowrap; }
	.search-dialog { padding: 45px 20px 30px; }
	.search-dialog h2 { font-size: 29px; }
	.search-field-wrap { flex-wrap: wrap; padding: 11px; gap: 10px; }
	.search-field-wrap .search-field { width: calc(100% - 42px); }
	.search-submit { width: 100%; }
	.search-overlay { padding: 70px 16px 25px; }
	.admin-bar .site-header { top: 0; }
	.admin-bar .primary-navigation { top: var(--mcg-header-height); }
	.content-shell { width: calc(100% - 36px); padding-block: 44px 65px; }
}
/* Viewport-height homepage sections only; header/footer and widths stay intact.
 * A minimum, not a fixed height, keeps long SCF content and article grids visible.
 * svh avoids resizing sections as mobile browser controls appear/disappear. */
.mcg-home { --mcg-viewport-height: 100vh; --mcg-admin-offset: 0px; --mcg-section-height: calc(var(--mcg-viewport-height) - var(--mcg-header-height) - var(--mcg-admin-offset)); }
@supports (height: 100svh) {
	.mcg-home { --mcg-viewport-height: 100svh; }
}
.admin-bar .mcg-home { --mcg-admin-offset: 32px; }
@media (max-width: 782px) {
	.admin-bar .mcg-home { --mcg-admin-offset: 46px; }
}
@media (max-width: 600px) {
	.admin-bar .mcg-home { --mcg-admin-offset: 0px; }
}
.mcg-home > .section-pad { min-height: var(--mcg-section-height); display: flex; align-items: center; }
.mcg-home > .home-banner { min-height: var(--mcg-section-height); display: grid; grid-template-rows: minmax(auto, 1fr) auto; }
.mcg-home .banner-panel { display: grid; height: auto; }
.mcg-home .banner-content { height: auto; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
