/*
Theme Name: Nature & Climate Commission
Theme URI: https://staffordshireclimate.com/
Author: Support Staffordshire
Description: The Staffordshire and Stoke-on-Trent Nature and Climate Commission design system as a lean classic theme, built for editing with Elementor. Run Appearance > Commission set-up after activating.
Version: 1.0.2
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cnc
*/
@font-face{font-family:'Outfit';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/outfit-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Outfit';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/outfit-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{
/* ============================================================
   Official palette — from the Commission brand guidelines (N&CC Guidelines, p6).
   Named steps marked OFFICIAL are exact brand values and must not be re-mixed;
   the surrounding steps are tints/shades derived for UI states only.
   Warm neutrals are retained from this system (they are not in the guidelines
   and give the brand its "convenor, not authority" ground).
   ============================================================ */

/* ---- Moorland (primary / nature) ---- */
--moor-950:#042735; /* OFFICIAL Slate */
--moor-900:#0A2E23;--moor-800:#12362A; /* OFFICIAL Heath */
--moor-700:#1E4939;--moor-600:#275946; /* OFFICIAL Moorland */
--moor-500:#357A5F;--moor-300:#8FBBA7;--moor-100:#DCE7DF;--moor-50:#F1F6F2;

/* ---- Kiln clay (heritage / just transition) ---- */
--clay-900:#4A1E0E;--clay-800:#6B2C15;--clay-700:#8A3A1E; /* OFFICIAL Fired Brick */
--clay-600:#BB5731; /* OFFICIAL Kiln Clay */
--clay-500:#CD7150;--clay-300:#E2A98C;--clay-100:#F1DCD1;--clay-50:#FAF1EB;

/* ---- Canal (water / climate data) ---- */
--canal-900:#0E2C3A;--canal-800:#1B4459; /* OFFICIAL River */
--canal-700:#2A5B75;--canal-600:#387392; /* OFFICIAL Canal */
--canal-300:#8FBACD;--canal-100:#DCE9EF;--canal-50:#F2F7F9;

/* ---- Gorse (single bright accent) ---- */
--gorse-600:#C98F1E;--gorse-500:#E8B23A; /* OFFICIAL Gorse */
--gorse-200:#F7E3B4; /* OFFICIAL Whins */
--gorse-50:#FDF6E6;
--bracken-600:#7A4B12;

/* ---- Brand-guideline names (aliases; use these when quoting the guidelines) ---- */
--slate:#042735;--heath:var(--moor-800);--moorland:var(--moor-600);
--fired-brick:var(--clay-700);--kiln-clay:var(--clay-600);
--river:var(--canal-800);--canal:var(--canal-600);
--gorse:var(--gorse-500);--whins:var(--gorse-200);

/* ---- Warm neutrals (kiln smoke + unfired clay) — retained ---- */
--ink:#1B1A18;--graphite:#4A4844;--stone:#7C7975;--ash:#B8B4AE;--oatmeal:#E9E4DC;--paper:#F7F4EF;--white:#FFFFFF;
--hairline:rgba(27,26,24,.14);--hairline-strong:rgba(27,26,24,.28);--hairline-invert:rgba(255,255,255,.28);

/* ---- Semantic aliases ---- */
--brand-primary:var(--moor-600);--brand-primary-hover:var(--moor-700);--brand-primary-press:var(--moor-800);
--brand-heritage:var(--clay-600);--brand-heritage-hover:var(--clay-700);--brand-heritage-press:var(--clay-800);
--brand-water:var(--canal-600);--brand-youth:var(--gorse-500);

--text-body:var(--ink);--text-muted:var(--graphite);--text-subtle:var(--stone);
--text-heading:var(--moor-800);--text-heritage:var(--clay-700);--text-link:var(--canal-700);--text-link-hover:var(--canal-800);
--text-on-dark:var(--white);--text-on-dark-muted:rgba(255,255,255,.78);--text-on-accent:var(--ink);

--surface-page:var(--paper);--surface-card:var(--white);--surface-sunken:var(--oatmeal);
--surface-nature:var(--moor-50);--surface-heritage:var(--clay-50);--surface-water:var(--canal-50);--surface-youth:var(--gorse-50);
--surface-inverse:var(--moor-950);--surface-inverse-alt:var(--clay-900);

--border-default:var(--hairline);--border-strong:var(--hairline-strong);--border-focus:var(--canal-600);

--status-success:var(--moor-600);--status-warning:var(--gorse-500);--status-danger:var(--clay-700);--status-info:var(--canal-600);

/* Data / chart ramp: heritage -> transition -> nature (the "just transition" ramp) */
--data-1:var(--clay-700);--data-2:var(--clay-600);--data-3:var(--gorse-500);--data-4:var(--moor-500);--data-5:var(--moor-600);--data-6:var(--canal-600);
}

:root{
/* ONE brand face — Neulis Sans (Bold / Medium / Regular) for headings AND body.
   Outfit is the open-licence stand-in; Arial the system fallback. Display and body
   share the stack, so weight and size carry the hierarchy, not a second family. */
--font-display:"Neulis Sans","Outfit",Arial,Helvetica,sans-serif;
--font-body:"Neulis Sans","Outfit",Arial,Helvetica,sans-serif;
--font-mono:"IBM Plex Mono","Consolas","SFMono-Regular",ui-monospace,monospace;

--fw-regular:400;
--fw-medium:500;
--fw-semibold:600;
--fw-bold:700;

--text-6xl:4.25rem;--text-5xl:3.25rem;--text-4xl:2.5rem;--text-3xl:2rem;--text-2xl:1.5rem;--text-xl:1.25rem;
--text-lg:1.125rem;--text-md:1rem;--text-sm:.875rem;--text-xs:.75rem;

--lh-tight:1.06;
--lh-snug:1.16;
--lh-heading:1.24;
/* Neulis Sans is wide with a large x-height; body leading is generous to suit it. */
--lh-body:1.6;
--lh-loose:1.72;

/* Neulis Sans is generously spaced by design — do not tighten it. Display and headings
   sit at zero tracking; body gets a touch of positive tracking for open, legible copy. */
--ls-display:0;
--ls-heading:0;
--ls-body:.008em;
--ls-eyebrow:.13em;
--ls-caps:.06em;

/* Semantic roles. Display uses Bold (700) — the lockup wordmark weight. */
--type-display:var(--fw-bold) var(--text-5xl)/var(--lh-tight) var(--font-display);
--type-h1:var(--fw-bold) var(--text-4xl)/var(--lh-snug) var(--font-display);
--type-h2:var(--fw-bold) var(--text-3xl)/var(--lh-heading) var(--font-display);
--type-h3:var(--fw-medium) var(--text-xl)/var(--lh-heading) var(--font-display);
--type-lede:var(--fw-regular) var(--text-xl)/var(--lh-body) var(--font-body);
--type-body:var(--fw-regular) var(--text-md)/var(--lh-body) var(--font-body);
--type-small:var(--fw-regular) var(--text-sm)/var(--lh-body) var(--font-body);
--type-label:var(--fw-medium) var(--text-sm)/1.3 var(--font-body);
--type-eyebrow:var(--fw-bold) var(--text-xs)/1.2 var(--font-body);
--type-data:var(--fw-medium) var(--text-sm)/1.4 var(--font-mono);
}

:root{
--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;
--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;
--gutter:24px;--gutter-lg:40px;
--container-max:1200px;
--container-text:68ch;
--measure-report:76ch;
--section-y:80px;--section-y-lg:120px;
--control-h-sm:32px;--control-h-md:42px;--control-h-lg:52px;
}

:root{
/* Radii: modules keep the brick-not-bubble rectangle (2/4/6/10px).
   BUTTONS ARE PILLS — every button, in every size, always. Inputs, selects,
   cards, dialogs and other modules stay rounded rectangles. */
--radius-none:0;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-pill:999px;
--radius-button:var(--radius-pill); /* buttons, icon buttons, chips, tags, switches, avatars */
--radius-control:var(--radius-sm);  /* inputs, selects, textareas, checkboxes */
--radius-module:var(--radius-md);   /* cards, panels, tables, media */
--radius-overlay:var(--radius-lg);  /* dialogs, toasts, popovers */
--border-w:1px;--border-w-thick:2px;--rule-w:3px;

--shadow-none:none;
--shadow-sm:0 1px 2px rgba(27,26,24,.06);
--shadow-md:0 2px 6px rgba(27,26,24,.07),0 1px 2px rgba(27,26,24,.05);
--shadow-lg:0 12px 28px rgba(27,26,24,.10),0 2px 6px rgba(27,26,24,.06);
--shadow-focus:0 0 0 3px rgba(56,115,146,.35);
--shadow-inset-hair:inset 0 -1px 0 rgba(27,26,24,.10);

/* Contour lines: HERO IMAGERY ONLY (full-bleed photographic or dark hero fields).
   Not on cards, not on theme motifs, not as a general texture, and NEVER crossing the
   logo — <cnc-contour> masks a clear zone around the lockup for that.
   Deliberately faint: the contours are a ground, not a graphic. */
--contour-stroke:rgba(255,255,255,.20);
--contour-stroke-index:rgba(255,255,255,.32); /* every 5th line = index contour, drawn heavier */
--contour-stroke-ink:rgba(39,89,70,.14);
--contour-stroke-ink-index:rgba(39,89,70,.22);
--contour-w:1px;--contour-w-index:1.5px;
--protect-scrim:linear-gradient(to top,rgba(4,39,53,.86) 0%,rgba(4,39,53,.55) 45%,rgba(4,39,53,0) 100%);
}

:root{
--dur-fast:120ms;
--dur-med:200ms;
--dur-slow:340ms;
--ease-standard:cubic-bezier(.2,0,.2,1);
--ease-out:cubic-bezier(0,0,.2,1);
--ease-in-out:cubic-bezier(.4,0,.2,1);
--transition-control:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard);
--transition-surface:transform var(--dur-med) var(--ease-standard),box-shadow var(--dur-med) var(--ease-standard);
}
:root{--font-mono:var(--font-body);--cnc-pad-x:clamp(var(--space-5),4vw,var(--gutter-lg));--cnc-admin-bar:var(--wp-admin--admin-bar--height,0px)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--type-body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--text-link)}
a:hover{color:var(--text-link-hover)}
:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-xs)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
body .cnc-skip:focus{position:fixed;top:8px;left:8px;z-index:100;width:auto;height:auto;clip:auto;background:var(--white);padding:var(--space-3) var(--space-4);font:var(--type-label)}
body .cnc-site{background:var(--surface-page);min-height:100vh}
body.cnc-root .e-con,body.cnc-root .e-con-inner{--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0;--gap:0;--row-gap:0;--column-gap:0;--margin-top:0;--margin-bottom:0;--flex-wrap:nowrap;--width:auto;--content-width:100%;padding:0;gap:0;min-width:0;min-height:0}
body.cnc-root .e-con{--display:flex;--flex-direction:column;--align-items:stretch;--justify-content:flex-start;flex-direction:column}
body.cnc-root .e-con.e-con-full,body.cnc-root .e-con>.e-con-inner{max-width:none;width:auto}
body.cnc-root .elementor-element{--widgets-spacing:0px;--kit-widget-spacing:0px}
body.cnc-root .e-con>.elementor-widget{margin-block-end:var(--cnc-mb,0)}
body.cnc-root .elementor-widget-container{padding:0;margin:0}
body.cnc-root .elementor-widget[class*="cnc-"]>.elementor-widget-container{display:contents}
body.cnc-root .elementor-heading-title{font:inherit;color:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;margin:0;padding:0}
body.cnc-root .elementor-widget-text-editor p:last-child{margin-bottom:0}
body.cnc-root .elementor-widget-image img{display:block}
body.cnc-root .elementor-widget-image figure{margin:0}
:where(.cnc-root) p{margin:0}
:where(.cnc-root) :is(h1,h2,h3){margin:0}
body .cnc-wrap{max-width:var(--container-max);margin:0 auto;padding-left:var(--cnc-pad-x);padding-right:var(--cnc-pad-x);width:100%}
body.cnc-root .e-con.cnc-wrap{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--cnc-pad-x);padding-right:var(--cnc-pad-x);max-width:var(--container-max)}
body .cnc-section{padding:var(--section-y) 0}
body .cnc-section--head{padding:var(--space-20) 0 var(--space-12)}
body .cnc-section--flush-top{padding:0 0 var(--section-y)}
body .cnc-section--water{background:var(--surface-water);border-top:var(--rule-w) solid var(--canal-600)}
body .cnc-section--nature{background:var(--surface-nature);border-top:var(--rule-w) solid var(--moor-600)}
body .cnc-section--sunken{background:var(--surface-sunken);border-top:var(--rule-w) solid var(--moor-600)}
body.cnc-root .e-con.cnc-section{padding:var(--section-y) 0}
body.cnc-root .e-con.cnc-section--head{padding:var(--space-20) 0 var(--space-12)}
body.cnc-root .e-con.cnc-section--flush-top{padding:0 0 var(--section-y)}
body .cnc-headrow,body.cnc-root .e-con.cnc-headrow{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4) var(--space-8)}
body .cnc-stack-5,body.cnc-root .e-con.cnc-stack-5{display:flex;flex-direction:column;gap:var(--space-5)}
body .cnc-stack-6,body.cnc-root .e-con.cnc-stack-6{display:flex;flex-direction:column;gap:var(--space-6)}
body .cnc-stack-8,body.cnc-root .e-con.cnc-stack-8{display:flex;flex-direction:column;gap:var(--space-8)}
body .cnc-split,body.cnc-root .e-con.cnc-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--space-16)}
body .cnc-grid-cards,body.cnc-root .e-con.cnc-grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:var(--space-6)}
body .cnc-mt-1{margin-top:var(--space-1)!important}body .cnc-mt-3{margin-top:var(--space-3)!important}body .cnc-mt-4{margin-top:var(--space-4)!important}body .cnc-mt-5{margin-top:var(--space-5)!important}body .cnc-mt-6{margin-top:var(--space-6)!important}body .cnc-mt-8{margin-top:var(--space-8)!important}body .cnc-mt-10{margin-top:var(--space-10)!important}
body .cnc-mb-3{margin-bottom:var(--space-3)!important}body .cnc-mb-4{margin-bottom:var(--space-4)!important}body .cnc-mb-8{margin-bottom:var(--space-8)!important}body .cnc-mb-10{margin-bottom:var(--space-10)!important}
body .cnc-measure-60,body.cnc-root .e-con>.elementor-widget.cnc-measure-60{max-width:60ch}body .cnc-measure-62,body.cnc-root .e-con>.elementor-widget.cnc-measure-62{max-width:62ch}body .cnc-measure-68,body.cnc-root .e-con>.elementor-widget.cnc-measure-68{max-width:68ch}body .cnc-measure-24,body.cnc-root .e-con>.elementor-widget.cnc-measure-24{max-width:24ch}body .cnc-measure-26,body.cnc-root .e-con>.elementor-widget.cnc-measure-26{max-width:26ch}
body .cnc-display,body .cnc-display .elementor-heading-title{font:var(--type-display);color:var(--text-heading);margin:0}
body .cnc-h1,body .cnc-h1 .elementor-heading-title{font:var(--type-h1);color:var(--text-heading);margin:0}
body .cnc-h2,body .cnc-h2 .elementor-heading-title{font:var(--type-h2);color:var(--text-heading);margin:0}
body .cnc-h3,body .cnc-h3 .elementor-heading-title{font:var(--type-h3);color:var(--text-heading);margin:0}
body .cnc-lede,body .cnc-lede p{font:var(--type-lede);color:var(--text-muted);margin:0}
body .cnc-lede--ink,body .cnc-lede--ink p{color:var(--text-body)}
body .cnc-body,body .cnc-body p{font:var(--type-body);color:var(--text-muted);margin:0}
body .cnc-body--ink,body .cnc-body--ink p{color:var(--text-body)}
body .cnc-small,body .cnc-small p{font:var(--type-small);color:var(--text-subtle);margin:0}
body .cnc-small--muted,body .cnc-small--muted p{color:var(--text-muted)}
body .cnc-data,body .cnc-data p{font:var(--type-data);color:var(--text-subtle)}
body .cnc-eyebrow,body .cnc-eyebrow .elementor-heading-title,body .cnc-eyebrow p{font:var(--type-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-heritage);margin:0}
body .cnc-eyebrow--rule{border-top:var(--rule-w) solid var(--clay-600);padding-top:var(--space-3);width:fit-content;align-self:flex-start}
body .cnc-eyebrow--gold,body .cnc-eyebrow--gold .elementor-heading-title,body .cnc-eyebrow--gold p{color:var(--gorse-500)}
body .cnc-eyebrow--dash{display:flex;align-items:center;gap:var(--space-3)}
body .cnc-eyebrow--dash .elementor-heading-title,body .cnc-eyebrow--dash p{display:flex;align-items:center;gap:var(--space-3)}
body .cnc-eyebrow--dash .elementor-heading-title::before,body .cnc-eyebrow--dash>p::before,body span.cnc-eyebrow--dash::before,body div.cnc-eyebrow--dash:not(.elementor-element)::before{content:"";width:28px;height:3px;background:var(--gorse-500);flex:0 0 auto}
body .cnc-eyebrow--subtle,body .cnc-eyebrow--subtle .elementor-heading-title{color:var(--text-subtle)}
body .cnc-eyebrow--moor,body .cnc-eyebrow--moor .elementor-heading-title,body .cnc-eyebrow--moor p{color:var(--moor-700)}
body .cnc-eyebrow--canal,body .cnc-eyebrow--canal .elementor-heading-title,body .cnc-eyebrow--canal p{color:var(--canal-700)}
body .cnc-more a,body a.cnc-more{font:var(--type-label);text-decoration:none;white-space:nowrap}
body .cnc-more p{margin:0}
body .cnc-btn,body .cnc-btn .elementor-button,body .wpcf7 .wpcf7-submit,body .cnc-header__cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:var(--type-label);font-size:var(--text-lg);letter-spacing:.008em;height:var(--control-h-lg);padding:0 var(--space-6);border:var(--border-w) solid transparent;border-radius:var(--radius-button);background:var(--brand-primary);color:var(--white);text-decoration:none;white-space:nowrap;cursor:pointer;transition:var(--transition-control);-webkit-tap-highlight-color:transparent;fill:currentColor}
body .cnc-btn:hover,body .cnc-btn .elementor-button:hover,body .wpcf7 .wpcf7-submit:hover,body .cnc-header__cta:hover{background:var(--brand-primary-hover);color:var(--white)}
body .cnc-btn .elementor-button-text{color:inherit}
body .cnc-btn--secondary,body .cnc-btn--secondary .elementor-button{background:var(--white);color:var(--text-heading);border-color:var(--border-strong)}
body .cnc-btn--secondary:hover,body .cnc-btn--secondary .elementor-button:hover{background:var(--surface-sunken);color:var(--text-heading)}
body .cnc-header__cta{font-size:var(--text-sm);height:var(--control-h-sm);padding:0 var(--space-3)}
body .cnc-btn-row,body.cnc-root .e-con.cnc-btn-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
body .elementor-widget-button.cnc-btn{display:inline-block;height:auto;padding:0;background:none;border:0}
body .cnc-header{position:sticky;top:var(--cnc-admin-bar);z-index:30;background:rgba(247,244,239,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--hairline)}
body .cnc-header__bar{max-width:var(--container-max);margin:0 auto;padding:var(--space-4) var(--cnc-pad-x);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-8);transition:padding var(--dur-med) var(--ease-standard)}
body .cnc-header.is-scrolled .cnc-header__bar{padding-top:var(--space-2);padding-bottom:var(--space-2)}
body .cnc-logo{display:block;flex:0 0 auto;text-decoration:none}
body .cnc-logo svg{display:block;height:82px;width:auto}
body .cnc-logo__full{display:inline-block;vertical-align:baseline}
body .cnc-logo__full svg{width:286px;height:82px}
body .cnc-logo__mark{display:none!important}
body .cnc-header.is-scrolled .cnc-logo__full{display:none!important}
body .cnc-header.is-scrolled .cnc-logo__mark{display:inline-block!important}
body .cnc-header.is-scrolled .cnc-logo__mark svg{height:40px;width:auto}
body .cnc-nav{margin-left:auto}
body .cnc-nav ul{list-style:none;margin:0;padding:0}
body .cnc-nav>ul{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-6)}
body .cnc-nav>ul>li{position:relative;display:flex;align-items:center}
body .cnc-nav>ul>li>a{font:var(--type-label);font-size:var(--text-md);text-decoration:none;white-space:nowrap;position:relative;padding:var(--space-2) 0;color:var(--text-muted);display:flex;align-items:center;gap:var(--space-2)}
body .cnc-nav>ul>li>a:hover{color:var(--text-heading)}
body .cnc-nav>ul>li>a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:var(--rule-w);background:transparent}
body .cnc-nav>ul>li.current-menu-item>a::after,body .cnc-nav>ul>li.current-menu-ancestor>a::after,body .cnc-nav>ul>li.current-page-ancestor>a::after,body .cnc-nav>ul>li.current_page_parent>a::after,body .cnc-nav>ul>li.cnc-current>a::after{background:var(--clay-600)}
body .cnc-nav>ul>li.menu-item-has-children>a::before{content:"";order:2;width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat}
body .cnc-nav .sub-menu{position:absolute;top:100%;left:calc(var(--space-4) * -1);min-width:244px;background:var(--surface-card);border:1px solid var(--border-default);border-top:var(--rule-w) solid var(--clay-600);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-2);display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-standard);z-index:5}
body .cnc-nav li:hover>.sub-menu,body .cnc-nav li:focus-within>.sub-menu{opacity:1;visibility:visible}
body .cnc-nav .sub-menu a{display:block;font:var(--type-body);font-size:var(--text-md);text-decoration:none;color:var(--text-body);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm)}
body .cnc-nav .sub-menu a:hover{background:var(--surface-sunken);color:var(--text-heading)}
body .cnc-menu-toggle{display:none;margin-left:auto;width:48px;height:48px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-heading);cursor:pointer}
body .cnc-menu-toggle svg{width:24px;height:24px}
body .cnc-mobile-nav{display:none;border-top:1px solid var(--hairline);background:var(--surface-page);padding:var(--space-4) var(--cnc-pad-x) var(--space-6);flex-direction:column;gap:2px}
body .cnc-mobile-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
body .cnc-mobile-nav a:not(.cnc-btn){display:block;font:var(--type-label);font-size:var(--text-lg);text-decoration:none;color:var(--text-heading);padding:var(--space-4) 0;border-bottom:1px solid var(--hairline)}
body .cnc-mobile-nav li:last-child a{border-bottom:0}
body .cnc-mobile-nav .cnc-btn{margin-top:var(--space-4);align-self:flex-start}
body .cnc-header.is-open .cnc-menu-toggle{background:var(--surface-sunken)}
@media (max-width:1079px){
  body .cnc-nav,body .cnc-header__cta{display:none}
  body .cnc-menu-toggle{display:flex}
  body .cnc-header.is-open .cnc-mobile-nav{display:flex}
}
body .cnc-hero,body .cnc-band,body .cnc-photo-strip{position:relative;overflow:hidden;background-color:var(--moor-800);background-size:cover;background-position:center;color:var(--text-on-dark)}
body .cnc-hero::before,body .cnc-band::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none}
body .cnc-hero::before{background:linear-gradient(to right,rgba(10,46,35,.94) 0%,rgba(10,46,35,.84) 46%,rgba(10,46,35,.44) 100%)}
body .cnc-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("assets/img/contour.svg") center/cover no-repeat;opacity:.32;-webkit-mask-image:radial-gradient(58% 62% at 6% 4%,transparent 0,transparent 42%,#000 100%);mask-image:radial-gradient(58% 62% at 6% 4%,transparent 0,transparent 42%,#000 100%)}
body .cnc-hero>*,body .cnc-band>*{position:relative;z-index:1}
body .cnc-hero__inner,body.cnc-root .e-con.cnc-hero__inner{max-width:var(--container-max);margin:0 auto;padding:clamp(var(--space-12),9vw,var(--space-24)) var(--gutter-lg);width:100%}
body .cnc-hero .cnc-eyebrow--dash{--cnc-mb:var(--space-6)}
body .cnc-hero__title,body .cnc-hero__title .elementor-heading-title{font:var(--type-display);font-size:clamp(2.4rem,7.5vw,4.05rem);margin:0;max-width:22ch;color:var(--white);text-wrap:pretty}
body .cnc-hero__lede,body .cnc-hero__lede p{font:var(--type-lede);font-size:19px;color:#fff;max-width:min(54ch,669px);margin:0}
body .cnc-hero__lede{margin-top:var(--space-6)}
body .cnc-band{padding:var(--space-20) 0}
body.cnc-root .e-con.cnc-band{padding:var(--space-20) 0}
body .cnc-band::before{background:linear-gradient(to right,rgba(10,46,35,.94) 0%,rgba(10,46,35,.7) 100%)}
body .cnc-band--join::before{background:linear-gradient(to right,rgba(10,46,35,.95) 0%,rgba(10,46,35,.72) 100%)}
body .cnc-band .cnc-display,body.cnc-root .cnc-band .e-con>.elementor-widget.cnc-display,body .cnc-band .cnc-display .elementor-heading-title{color:var(--white);max-width:min(24ch,644px)}
body .cnc-band--join .cnc-lede,body .cnc-band--join .cnc-lede p{max-width:min(56ch,675px)}
body .cnc-band--join .cnc-display,body .cnc-band--join .cnc-display .elementor-heading-title{max-width:min(26ch,630px)}
body .cnc-band .cnc-lede,body .cnc-band .cnc-lede p{color:var(--text-on-dark-muted);max-width:56ch}
body .cnc-statement{position:relative;height:400px;overflow:hidden;display:flex;align-items:flex-end;background-size:cover;background-position:center;background-color:var(--moor-800)}
body.cnc-root .e-con.cnc-statement{display:flex;flex-direction:column;justify-content:flex-end;height:400px}
body .cnc-statement::before{content:"";position:absolute;inset:0;background:var(--protect-scrim);pointer-events:none}
body .cnc-statement>*{position:relative;z-index:1}
body .cnc-statement__inner,body.cnc-root .e-con.cnc-statement__inner{padding-top:var(--space-12);padding-bottom:var(--space-12)}
body .cnc-statement .cnc-eyebrow--dash{--cnc-mb:var(--space-4)}
body .cnc-statement__text,body .cnc-statement__text p{font:var(--type-h2);color:var(--white);margin:0;max-width:26ch}
body .cnc-photo-strip{height:360px}
body.cnc-root .e-con.cnc-photo-strip{height:360px}
body .cnc-numbers,body.cnc-root .e-con.cnc-numbers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:var(--space-12);align-items:center;margin-top:var(--space-10)}
body .cnc-stats,body.cnc-root .e-con.cnc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--space-8) var(--space-6);border-top:1px solid var(--hairline);padding-top:var(--space-8)}
body .cnc-stat,body.cnc-root .e-con.cnc-stat{display:flex;flex-direction:column;gap:var(--space-2)}
body .cnc-stat__value,body .cnc-stat__value p{font:var(--fw-bold) clamp(2.6rem,6vw,4.25rem)/1 var(--font-display);color:var(--clay-700);display:flex;align-items:baseline;gap:4px;margin:0}
body .cnc-stat__value--moor,body .cnc-stat__value--moor p{color:var(--moor-700)}
body .cnc-stat__value small{font:var(--fw-medium) var(--text-2xl)/1 var(--font-display)}
body .cnc-figure img,body .cnc-figure.elementor-widget-image img{width:100%;height:320px;object-fit:cover;border-radius:var(--radius-md);display:block;box-shadow:var(--shadow-md)}
body .cnc-figure figure{margin:0}
body .cnc-figure figcaption,body .cnc-figure .widget-image-caption{font:var(--type-small);color:var(--text-subtle);margin-top:var(--space-3);text-align:left}
body .cnc-event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--space-6)}
body .cnc-event-grid--page{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
body .cnc-event{--tone-600:var(--canal-600);--tone-700:var(--canal-700);--tone-800:var(--canal-800);--tone-surface:var(--surface-water);background:var(--surface-card);border:1px solid var(--border-default);border-top:var(--rule-w) solid var(--tone-600);border-radius:0 0 var(--radius-md) var(--radius-md);overflow:hidden;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}
body .cnc-event--leadership{--tone-600:var(--moor-600);--tone-700:var(--moor-700);--tone-800:var(--moor-800);--tone-surface:var(--surface-nature)}
body .cnc-event--attending{--tone-600:var(--clay-600);--tone-700:var(--clay-700);--tone-800:var(--clay-800);--tone-surface:var(--surface-heritage)}
body .cnc-event__date{position:relative;width:calc(100% + var(--space-6) * 2);margin:calc(var(--space-6) * -1) calc(var(--space-6) * -1) var(--space-2);height:132px;background:var(--tone-surface);overflow:hidden}
body .cnc-event__petal{position:absolute;left:100%;top:50%;width:230%;aspect-ratio:1/1;transform:translate(-62%,-50%);opacity:.15;pointer-events:none;line-height:0}
body .cnc-event__petal svg{display:block;width:100%;height:100%}
body .cnc-event__when{position:absolute;inset:auto auto var(--space-5) var(--space-6);display:flex;align-items:center;gap:var(--space-3)}
body .cnc-event__day{font:var(--fw-bold) 3.4rem/.82 var(--font-display);color:var(--tone-800)}
body .cnc-event__dm{display:flex;flex-direction:column;gap:2px}
body .cnc-event__weekday{font:var(--type-small);color:var(--text-subtle)}
body .cnc-event__mon{font:var(--type-label);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--tone-700)}
body .cnc-event__type,body .cnc-legend__item{display:flex;align-items:center;gap:var(--space-2);font:var(--type-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--tone-700)}
body .cnc-event__type svg,body .cnc-legend__item svg{width:20px;height:20px;flex:0 0 auto;stroke:var(--tone-600)}
body .cnc-event__title{font:var(--type-h3);color:var(--text-heading);margin:0}
body .cnc-event__detail{font:var(--type-body);color:var(--text-muted);margin:0}
body .cnc-event__audience{font:var(--type-small);color:var(--text-subtle);margin-top:auto;border-top:1px solid var(--hairline);padding-top:var(--space-3)}
body .cnc-legend{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-top:var(--space-8);border-top:1px solid var(--hairline);padding-top:var(--space-5)}
body .cnc-legend__item{--tone-600:var(--canal-600);--tone-700:var(--canal-700)}
body .cnc-legend__item--leadership{--tone-600:var(--moor-600);--tone-700:var(--moor-700)}
body .cnc-legend__item--attending{--tone-600:var(--clay-600);--tone-700:var(--text-heritage)}
body .cnc-empty{font:var(--type-body);color:var(--text-muted);margin:0}
body .cnc-archive{display:flex;flex-direction:column;border-bottom:1px solid var(--hairline)}
body .cnc-archive__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--space-2) var(--space-8);border-top:1px solid var(--hairline);padding:var(--space-5) 0}
body .cnc-archive__when{font:var(--type-data);color:var(--text-subtle)}
body .cnc-archive__title{font:var(--type-body);color:var(--text-body)}
body .cnc-news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--space-6)}
body .cnc-news-grid--index{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--space-8) var(--space-6)}
body .cnc-news-card{background:var(--surface-card);border:1px solid var(--border-default);border-top:var(--rule-w) solid var(--moor-600);border-radius:0 0 var(--radius-md) var(--radius-md);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-med) var(--ease-standard);color:inherit}
body .cnc-news-card:hover{box-shadow:var(--shadow-md);color:inherit}
body .cnc-news-card .cnc-news-card__img{width:100%;height:var(--img-h,176px);object-fit:cover;display:block}
body .cnc-news-card__body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);flex:1}
body .cnc-news-card__cat{font:var(--type-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-heritage)}
body .cnc-news-card__date{font:var(--type-small);color:var(--text-subtle);margin-top:var(--space-1)}
body .cnc-news-card__title{font:var(--type-h3);color:var(--text-heading);margin:0}
body .cnc-news-card__teaser{font:var(--type-body);color:var(--text-muted);margin:0}
body .cnc-news-card__more{font:var(--type-label);color:var(--moor-700);margin-top:auto;padding-top:var(--space-3)}
body .cnc-card,body.cnc-root .e-con.cnc-card{background:var(--surface-nature);border:1px solid var(--border-default);border-top:var(--rule-w) solid var(--moor-600);padding:var(--space-6);border-radius:0 0 var(--radius-md) var(--radius-md)}
body .cnc-card--water,body.cnc-root .e-con.cnc-card--water{background:var(--surface-water);border-top-color:var(--canal-600)}
body .cnc-card--heritage,body.cnc-root .e-con.cnc-card--heritage{background:var(--surface-heritage);border-top-color:var(--clay-600)}
body .cnc-card .cnc-eyebrow{--cnc-mb:var(--space-3)}
body .cnc-card .cnc-h3{--cnc-mb:var(--space-3)}
body .cnc-people,body.cnc-root .e-con.cnc-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--space-8) var(--space-6)}
body .cnc-person,body.cnc-root .e-con.cnc-person{display:flex;flex-direction:column;gap:var(--space-2);border-top:var(--rule-w) solid var(--moor-600);padding-top:var(--space-4)}
body .cnc-person--canal,body.cnc-root .e-con.cnc-person--canal{border-top-color:var(--canal-600)}
body .cnc-members ul,body ul.cnc-members{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--space-4) var(--space-8)}
body .cnc-members li{font:var(--type-body);color:var(--text-body);border-top:1px solid var(--hairline);padding-top:var(--space-3)}
body .cnc-aside,body.cnc-root .e-con.cnc-aside{border-top:var(--rule-w) solid var(--clay-600);padding-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}
body .cnc-aside .cnc-eyebrow{--cnc-mb:var(--space-3)}
body .cnc-logo-tiles,body.cnc-root .e-con.cnc-logo-tiles{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
body .cnc-logo-tile,body .cnc-logo-tile p{border:1px dashed var(--hairline-strong);border-radius:var(--radius-md);background:var(--surface-card);min-height:84px;padding:var(--space-3);display:flex;align-items:center;justify-content:center;text-align:center;font:var(--type-small);color:var(--text-muted)}
body .cnc-logo-tile p{border:0;min-height:0;padding:0;background:none}
body .cnc-logo-tile img{max-height:60px;width:auto}
body .cnc-big-data,body .cnc-big-data p{font:var(--type-data);font-size:var(--text-2xl);color:var(--text-heading)}
body .cnc-docs,body.cnc-root .e-con.cnc-docs{display:flex;flex-direction:column}
body .cnc-doc,body.cnc-root .e-con.cnc-doc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:var(--space-2) var(--space-6);align-items:baseline;border-top:1px solid var(--hairline);padding:var(--space-5) 0}
body .cnc-doc--compact,body.cnc-root .e-con.cnc-doc--compact{grid-template-columns:minmax(0,.5fr) minmax(0,3fr) minmax(0,1fr);gap:var(--space-2) var(--space-5)}
body .cnc-doc__meta,body .cnc-doc__meta p{font:var(--type-small);color:var(--text-subtle);display:flex;align-items:center;gap:var(--space-2);margin:0}
body .cnc-doc--compact .cnc-doc__meta{justify-self:end;text-align:right}
body .cnc-doc__meta p::before,body span.cnc-doc__meta::before{content:"";width:16px;height:16px;flex:0 0 auto;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E") center/contain no-repeat}
body .cnc-doc a{color:inherit}
@media (max-width:1079px){body .cnc-doc--compact,body.cnc-root .e-con.cnc-doc--compact{grid-template-columns:1fr}body .cnc-doc--compact .cnc-doc__meta{justify-self:end;justify-content:flex-end}}
body .cnc-steps,body.cnc-root .e-con.cnc-steps{display:flex;flex-direction:column;gap:var(--space-5);border-top:1px solid var(--hairline);padding-top:var(--space-6)}
body .cnc-step,body.cnc-root .e-con.cnc-step{display:grid;grid-template-columns:40px 1fr;gap:var(--space-4)}
body .cnc-step__num,body .cnc-step__num p{font:var(--type-data);font-size:var(--text-xl);color:var(--clay-600)}
body .cnc-step .cnc-h3{--cnc-mb:var(--space-2)}
body .cnc-callout,body.cnc-root .e-con.cnc-callout{background:var(--surface-nature);border-top:var(--rule-w) solid var(--moor-600);padding:var(--space-6)}
body .cnc-callout .cnc-h3{--cnc-mb:var(--space-3)}
body .cnc-form-card,body.cnc-root .e-con.cnc-form-card{background:var(--surface-card);border:1px solid var(--border-default);border-top:var(--rule-w) solid var(--clay-600);border-radius:0 0 var(--radius-md) var(--radius-md);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-5);align-self:start}
body .cnc-form-card .cnc-h3{--cnc-mb:var(--space-2)}
body .cnc-form-card form,body .cnc-form-card .wpcf7-form{display:flex;flex-direction:column;gap:var(--space-5);margin:0}
body .cnc-form-card form p{margin:0}
body .cnc-form-card label{display:flex;flex-direction:column;gap:var(--space-2);font:var(--type-label);color:var(--text-heading)}
body .cnc-form-card label br{display:none}
body .cnc-form-card input[type=text],body .cnc-form-card input[type=email],body .cnc-form-card input[type=tel],body .cnc-form-card textarea,body .cnc-form-card select{width:100%;font:var(--type-body);height:var(--control-h-md);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-page);color:var(--text-body);transition:var(--transition-control)}
body .cnc-form-card textarea{height:auto;padding:var(--space-3);resize:vertical}
body .cnc-form-card input:focus,body .cnc-form-card textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}
body .cnc-form-card .wpcf7-submit{width:100%}
body .cnc-form-card p:has(>.wpcf7-submit){position:relative}
body .cnc-form-card .wpcf7-spinner{position:absolute;right:var(--space-4);top:50%;margin:-12px 0 0}
body .cnc-form-card .wpcf7-response-output{font:var(--type-small);color:var(--text-heading);background:var(--surface-nature);border:0!important;border-top:var(--rule-w) solid var(--moor-600)!important;padding:var(--space-4)!important;margin:0!important}
body .cnc-form-card form.init .wpcf7-response-output,body .cnc-form-card .wpcf7-response-output:empty{display:none}
body .cnc-form-card .wpcf7-not-valid-tip{font:var(--type-small);color:var(--status-danger)}
body .cnc-contact-grid,body.cnc-root .e-con.cnc-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--space-10);margin-top:var(--space-10);border-top:1px solid var(--hairline);padding-top:var(--space-8)}
body .cnc-contact-grid .cnc-eyebrow{--cnc-mb:var(--space-3)}
body .cnc-email a,body a.cnc-email{font:var(--type-h3);text-decoration:none}
body .cnc-article{padding:var(--space-16) 0 var(--section-y)}
body .cnc-back{font:var(--type-label);text-decoration:none}
body .cnc-article .cnc-eyebrow--rule{margin-top:var(--space-8)}
body .cnc-article__title{font:var(--type-display);color:var(--text-heading);margin:var(--space-5) 0 0;max-width:26ch}
body .cnc-article__date{font:var(--type-small);color:var(--text-subtle);margin:var(--space-4) 0 0}
body .cnc-article__img{width:100%;height:380px;object-fit:cover;border-radius:var(--radius-md);display:block;margin:var(--space-10) 0}
body .cnc-article__content{display:flex;flex-direction:column;gap:var(--space-5);max-width:68ch}
body .cnc-article__content>*{margin:0}
body .cnc-article__content p{font:var(--type-body);color:var(--text-body)}
body .cnc-article__content h2{font:var(--type-h2);color:var(--text-heading)}
body .cnc-article__content h3{font:var(--type-h3);color:var(--text-heading)}
body .cnc-article__actions{border-top:1px solid var(--hairline);margin-top:var(--space-12);padding-top:var(--space-6);display:flex;gap:var(--space-6)}
body .cnc-article__actions a{font:var(--type-label);text-decoration:none}
body .cnc-pager{margin-top:var(--space-10);display:flex;flex-wrap:wrap;gap:var(--space-6)}
body .cnc-pager a{border-top:var(--rule-w) solid var(--moor-600);padding-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);text-decoration:none;flex:1 1 240px}
body .cnc-pager a.cnc-pager__next{border-top-color:var(--canal-600);text-align:right;margin-left:auto}
body .cnc-pager__label{font:var(--type-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-subtle)}
body .cnc-pager__title{font:var(--type-h3);color:var(--text-heading)}
body .cnc-pagination{margin-top:var(--space-10);display:flex;gap:var(--space-3);font:var(--type-label)}
body .cnc-pagination .page-numbers{padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);text-decoration:none}
body .cnc-pagination .current{background:var(--brand-primary);color:var(--white);border-color:var(--brand-primary)}
body .cnc-prose{max-width:68ch}
body .cnc-prose>*+*{margin-top:var(--space-5)}
body .cnc-footer{background:var(--moor-900);color:var(--text-on-dark)}
body .cnc-footer__banner{position:relative;height:260px;overflow:hidden;background-size:cover;background-position:center}
body .cnc-footer__banner::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,46,35,.14) 0%,rgba(10,46,35,.62) 74%,var(--moor-900) 100%)}
body .cnc-footer__banner-inner{position:relative;max-width:var(--container-max);margin:0 auto;padding:var(--space-16) var(--cnc-pad-x) 0;height:100%;display:flex;align-items:flex-end}
body .cnc-footer__tagline{font:var(--type-h2);font-size:clamp(1.35rem,3.1vw,var(--text-3xl));color:var(--white);margin:0 0 var(--space-8)}
body .cnc-footer__grid{max-width:var(--container-max);margin:0 auto;padding:var(--space-16) var(--cnc-pad-x) var(--space-10);display:grid;grid-template-columns:minmax(0,1.8fr) repeat(3,minmax(0,1fr));gap:var(--space-10)}
body .cnc-footer__brand{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);padding-right:clamp(0px,4vw,var(--space-16))}
body .cnc-footer__brand .cnc-mark,body .cnc-footer__brand .cnc-mark svg{height:58px;width:56px;display:block}
body .cnc-footer__brand-text{display:flex;flex-direction:column;gap:var(--space-3)}
body .cnc-footer__name{font:var(--type-h3);font-size:17px;color:var(--white);margin:0;max-width:min(26ch,256px)}
body .cnc-footer__desc{font:var(--type-small);color:var(--text-on-dark-muted);margin:0;max-width:min(34ch,343px)}
body .cnc-footer__compact{display:none;flex-direction:column;gap:var(--space-5)}
body .cnc-footer__compact svg{height:52px;width:195px;display:block}
body .cnc-footer__col h2{font:var(--type-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--gorse-500);margin:0 0 var(--space-4)}
body .cnc-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}
body .cnc-footer__col a{font:var(--type-small);color:var(--text-on-dark-muted);text-decoration:none}
body .cnc-footer__col a:hover{color:var(--white)}
body .cnc-footer__base{max-width:var(--container-max);margin:0 auto;padding:var(--space-5) var(--cnc-pad-x);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-6);font:var(--type-small);color:var(--text-on-dark-muted);position:relative}
body .cnc-footer__base::before{content:"";position:absolute;top:0;left:var(--cnc-pad-x);right:var(--cnc-pad-x);height:1px;background:var(--hairline-invert)}
@media (max-width:1079px){
  body .cnc-footer__grid{grid-template-columns:1fr}
  body .cnc-footer__brand{display:none}
  body .cnc-footer__compact{display:flex}
}
body .cnc-page-content{padding:0 0 var(--section-y)}
body .cnc-page-content .cnc-prose p{font:var(--type-body);color:var(--text-body)}
body .cnc-headrow>.elementor-element,body .cnc-headrow>.e-con,body .cnc-btn-row>.elementor-element{width:auto;flex:0 1 auto;max-width:100%}
body.cnc-root .e-con.cnc-headrow>.e-con{--width:auto}
body .cnc-grid-cards>.elementor-element,body .cnc-people>.elementor-element,body .cnc-stats>.elementor-element,body .cnc-numbers>.elementor-element,body .cnc-split>.elementor-element,body .cnc-contact-grid>.elementor-element,body .cnc-logo-tiles>.elementor-element,body .cnc-doc>.elementor-element,body .cnc-step>.elementor-element{width:auto;min-width:0}
