/*
Theme Name: NNCM
Theme URI:
Author: Outcrop Communications Ltd.
Author URI:
Description: Block theme for the NWT & Nunavut Chamber of Mines site. Brand tokens live in theme.json; this file is for the few things theme.json can't express yet.
Version: 0.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nncm
*/

/*
Most styling should live in theme.json (styles + styles.blocks + styles.css),
because that loads on BOTH the front end and inside the editor automatically.
Only reach for this file when something genuinely needs a real stylesheet.
*/

/* ------------------------------------------------------------------ */
/* Topographic background pattern                                     */
/* Cream colour comes from theme.json (color: base). This layers the  */
/* coral pattern over it, on its own layer, so the two stay separate. */
/* Tweak the two variables below — nothing else.                      */
/* ------------------------------------------------------------------ */
:root{
	--nncm-pattern-scale: 300px; /* designer "size 60%" = 60% of the 500px tile */
	--nncm-pattern-opacity: .30; /* designer "opacity 30%" */
}

/* Responsive section padding — edit the variables, not the rule */
:root{
	--pad-hero-pt: 48px;  /* top    — mobile & tablet */
	--pad-hero-px: 20px;  /* sides  — mobile & tablet */
	--pad-hero-pb: 0px;   /* bottom — mobile & tablet */
	--intro-section-px: 20px; /* sides  — mobile & tablet */
	--intro-section-pt: 64px; /* top    — mobile & tablet */
	--intro-section-pb: 32px; /* bottom    — mobile & tablet */
	--intro-section-gap: 20px; /*  mobile & tablet */
	--padding-large: 64px; 
	--padding-medium: 48px;
	--padding-global: 20px;
	--card-gap-y: 48px;
	--padding-hero-content: 32px;
  --nncm-search-blue: #5B6D99;       /* nav text / icon on normal header */
	--nncm-search-accent: #C4644E;     /* terracotta, matches "Become A Member" */
	--nncm-search-ink: #1e1e1e;
	--nncm-search-border: #c9cdd6;
	--nncm-search-muted: #6b6f78;
}

@media (min-width: 782px){   /* desktop */
	:root{
		--pad-hero-pt: 64px;
		--pad-hero-px: 64px;
		--pad-hero-pb: 0;
		--intro-section-px: 64px; 
		--intro-section-pt: 112px; 
		--intro-section-pb: 80px;
		--intro-section-gap: 80px;
		--padding-large: 112px;
		--padding-medium: 80px;
		--padding-global: 64px; 
		--card-gap-y: 64px;
		--card-gap-x: 32px;
		--padding-hero-content: 64px;
	}
}

.large-pt{ padding-top: var(--padding-large); }
.large-pb{ padding-bottom: var(--padding-large); }
.large-px { padding-right: var(--padding-large); padding-left: var(--padding-large); }

.global-pt{ padding-top: var(--padding-global); }
.global-pb{ padding-bottom: var(--padding-global); }
.global-px { padding-right: var(--padding-global); padding-left: var(--padding-global); }

.medium-pt{ padding-top: var(--padding-medium); }
.medium-pb{ padding-bottom: var(--padding-medium); }
.medium-px { padding-right: var(--padding-medium); padding-left: var(--padding-medium); }

.inner-box{ width: 100%; }
@media (min-width: 782px) {
  .inner-box{ width: 65%; }
}

@media (max-width: 600px) {
  .btn-wrapper .wp-block-button{ width: 100%; }
}
.card-layout-grid-gap{
	gap: var(--card-gap-y) var(--card-gap-x);
}
@media (max-width: 782px){
	.card-layout-grid-gap{
		gap: var(--card-gap-y) 0;
	}
}

.wp-block-button a.has-secondary-background-color:hover,
.wp-block-button a.has-secondary-background-color:focus-visible{ 
  background:#6b6c6c !important;
}

.full-image-layout{
	display: flex;
	height: 640px;
	padding: 0 64px;
	flex-direction: column;
	justify-content: center !important;
	align-items: flex-start !important;
	gap: 8px;
	align-self: stretch;
}

@media (max-width: 781px){
	.full-image-layout{
		display: flex;
		height: 425px;
		padding: 32px;
		flex-direction: column;
		align-items: center !important;
        justify-content: flex-start !important;
		gap: 8px;
		flex-shrink: 0;
		align-self: stretch;
	}
}

.wp-site-blocks{ position: relative; z-index: 0; }


.wp-site-blocks::before{
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;                
	pointer-events: none;
	background-image: url("assets/img/Repeat_Topography.png");
	background-repeat: repeat;
	background-size: var(--nncm-pattern-scale) auto;
	opacity: var(--nncm-pattern-opacity);
}
/* Don't paint the pattern inside the block editor / pattern editor */
/*.block-editor-writing-flow .wp-site-blocks::before,
.editor-styles-wrapper .wp-site-blocks::before,
.edit-site-visual-editor .wp-site-blocks::before{
	display: none;
}

@media (max-width: 781px){
	.wp-site-blocks::before{ position: absolute; }
}*/

/* ===== Header: colour by page + breakpoint ===== */

/* Inner pages — mobile: navy bar, white nav */
body:not(.home) .wp-site-blocks > header{
	background-color: var(--wp--preset--color--waikawa-dark);
}
body:not(.home) .wp-site-blocks > header :is(.wp-block-navigation, .wp-block-site-title a){
	color: #fff;
}
@media (min-width: 782px){
	/* Inner pages — desktop: transparent (cream+pattern shows), navy nav */
	body:not(.home) .wp-site-blocks > header{ background-color: transparent; }
	body:not(.home) .wp-site-blocks > header :is(.wp-block-navigation, .wp-block-site-title a){
		color: var(--wp--preset--color--waikawa-dark);
	}
}

/* Homepage — transparent on both, white nav (over the hero) */
body.home .wp-site-blocks > header{ background-color: transparent; }
body.home .wp-site-blocks > header :is(.wp-block-navigation, .wp-block-site-title a){
	color: #fff;
}

/* Buttons: stack only inside the open mobile menu overlay */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-buttons{
	flex-direction: column;
	align-items: stretch;   /* full-width buttons in the panel, like the design */
}

/* Logo swap: colour on desktop, white on mobile */
.logo-mobile{ display: block; }
.logo-desktop{ display: none; }

@media (min-width: 1079px){
	.logo-mobile{ display: none; }
	.logo-desktop{ display: block; }
}

/* Header nav: hamburger from 1024px down */
@media (max-width: 1078px) {
  .wp-block-navigation__responsive-container-open { display: flex !important; }
  .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  body:not(.home) .wp-site-blocks > header {
	background-color: var(--wp--preset--color--waikawa-dark);
	}
}
@media (min-width: 1079px) {
  .wp-block-navigation__responsive-container-open { display: none !important; }
}

/* 1025–1280: render Contact + Become A Member as plain menu links */
@media (min-width: 1079px) and (max-width: 1280px) {
  .wp-block-navigation .wp-block-button__link {
    background-color: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    color: inherit !important;          /* match the nav link colour */
    font-weight: inherit !important;
    border-radius: 0 !important;
  }

  .has-transparent-header .wp-block-navigation .wp-block-button__link{ color: #fff !important; }

  .has-transparent-header .wp-block-navigation .wp-block-search__button svg{ color: #fff !important; }
  
  /* space them like nav items, not stuck together */
  .wp-block-navigation .wp-block-buttons {
    gap: 24px !important;
    padding: 0 !important;              /* kills the 20px top/bottom on the buttons group */
    align-items: center !important;
  }
  .custom-logo{ width: 60px !important; }
}

@media (min-width: 1281px){
  body.home header .header-contact-btn a {
      background-color: rgb(255 255 255 / 50%) !important;
  }
}

/* The mobile menu toggle (hamburger) */
.wp-block-navigation__responsive-container-open{
	color: #fff;             /* white on the navy mobile bar */
	gap: 0.5rem;             /* space between icon and the text we add */
	font-size: var(--wp--preset--font-size--text-regular);
	font-weight: 600;
}
.wp-block-navigation__responsive-container-open svg{
	width: 1.5rem;
	height: 1.5rem;
	fill: currentColor;      /* icon follows the color above */
}

/* Add the word "Menu" next to the icon */
.wp-block-navigation__responsive-container-open::after{
	content: "Menu";
}

/* The close (×) button inside the open panel */
.wp-block-navigation__responsive-container-close{
	color: var(--wp--preset--color--waikawa-dark); /* navy, on the white panel */
}
.wp-block-navigation__responsive-container-close::after{
	content: "Close";
	margin-left: 0.5rem;
	font-weight: 600;
}

@media (max-width: 1078px){
	body:not(.home) .wp-site-blocks > header.has-global-padding{
		/*padding: 15px 20px !important;*/
    /*padding: 25px 20px !important;*/
    padding-top: 25px !important; padding-bottom: 25px !important;
	}
	body:not(.home) .wp-site-blocks > header > .wp-block-group.alignfull{
		/*padding: 25px 20px !important;*/
    padding-top: 25px !important; padding-bottom: 25px !important;
	}
}

@media (max-width: 1078px) {
  /* When the menu is open, pin the header logo into the menu's blue top bar,
     above the sliding panel, so the panel slides under it. */
  .has-modal-open .logo-mobile {
    position: fixed;
    top: 25px;    /* match the overlay bar's padding-top */
    left: 20px;   /* match the overlay bar's padding-left */
    z-index: 10001;   /* above the menu's 9999 */
  }
  .hidden-line { display: none !important; }
}
.wp-block-navigation__responsive-container-open{
	display: flex;
	align-items: center;   /* icon + text share a center line */
	line-height: 1;        /* kills the baseline offset that lifts the text */
}

/* hide WP's default hamburger svg */
.wp-block-navigation__responsive-container-open svg{ display: none; }

/* draw your icon in its place */
.wp-block-navigation__responsive-container-open::before{
	content: "";
	width: 24px;
	height: 24px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M3.70234 18.2212C3.46184 18.2212 3.25975 18.139 3.09609 17.9745C2.93242 17.81 2.85059 17.6049 2.85059 17.3592C2.85059 17.1176 2.93242 16.9159 3.09609 16.7542C3.25975 16.5927 3.46184 16.512 3.70234 16.512H20.2978C20.5383 16.512 20.7414 16.5942 20.9071 16.7587C21.0728 16.9232 21.1556 17.1263 21.1556 17.368C21.1556 17.6137 21.0728 17.8172 20.9071 17.9787C20.7414 18.1404 20.5383 18.2212 20.2978 18.2212H3.70234ZM3.70234 12.8517C3.46184 12.8517 3.25975 12.7694 3.09609 12.6047C2.93242 12.4402 2.85059 12.2372 2.85059 11.9955C2.85059 11.754 2.93242 11.5524 3.09609 11.3907C3.25975 11.2291 3.46184 11.1482 3.70234 11.1482H20.2978C20.5383 11.1482 20.7414 11.2306 20.9071 11.3952C21.0728 11.5597 21.1556 11.7628 21.1556 12.0045C21.1556 12.246 21.0728 12.4476 20.9071 12.6092C20.7414 12.7709 20.5383 12.8517 20.2978 12.8517H3.70234ZM3.70234 7.488C3.46184 7.488 3.25975 7.40575 3.09609 7.24125C2.93242 7.07675 2.85059 6.87166 2.85059 6.626C2.85059 6.38433 2.93242 6.18275 3.09609 6.02125C3.25975 5.85958 3.46184 5.77875 3.70234 5.77875H20.2978C20.5383 5.77875 20.7414 5.861 20.9071 6.0255C21.0728 6.19 21.1556 6.39308 21.1556 6.63475C21.1556 6.88041 21.0728 7.08408 20.9071 7.24575C20.7414 7.40725 20.5383 7.488 20.2978 7.488H3.70234Z' fill='white'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	flex-shrink: 0;
}

/* Mobile overlay: animate open */
/*.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__overlay-container{
	animation: menuIn .28s ease both;
}
@keyframes menuIn{
	from{ opacity: 0; transform: translateY(-10px); }
	to{ opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce){
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__overlay-container{
		animation: none;
	}
}*/

/* Hide the hamburger while the menu is open */
.has-modal-open .wp-block-navigation__responsive-container-open{
	opacity: 0;
}

/* Prevent scrollbar-jump globally */
html{ scrollbar-gutter: stable; }


/* Footer */
body.home .pre-footer-area { display: none; }

footer{ margin-top: 0;}
/* mobile: single column, left aligned */
.footer-menu .wp-block-navigation__container{
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 16px;
	justify-items: start;   /* left-align items */
}

/* large screens: two columns */
@media (min-width: 782px){
	.footer-menu .wp-block-navigation__container{
		grid-template-columns: 1fr 1fr !important;
		gap: 16px 64px !important;
	}
}
.footer-menu a{ overflow-wrap: break-word; }

.pad-hero{
	padding: 0 var(--pad-hero-px) var(--pad-hero-pb) !important;
}

.pad-hero-ii{
	padding: 0 var(--pad-hero-px) var(--padding-medium) !important;
}
.pad-hero .wp-block-cover, .pad-hero-ii .wp-block-cover{
	padding: var(--padding-hero-content) !important;
}
@media (min-width: 782px){
	.pad-hero .wp-block-cover, .pad-hero-ii .wp-block-cover{
		padding: var(--padding-hero-content) !important;
	}
  .pad-hero .wp-block-cover, .pad-hero-ii .wp-block-cover{ min-height: 640px !important; }
}

.pad-hero-ii .wp-block-cover__inner-container .wp-block-group p.wp-block-paragraph,
.pad-hero .wp-block-cover__inner-container .wp-block-group p.wp-block-paragraph {
    font-weight: 400 !important;
}

@media (max-width: 600px){
  .button-row{ flex-direction: column; width: 100%; }
  .button-row .wp-block-buttons{ width: 100% !important; }
  .home-hero-buttons .wp-block-buttons .wp-block-button, .home-hero-buttons .wp-block-buttons,
  .button-wrapper.wp-block-buttons, .button-wrapper.wp-block-buttons .wp-block-button {
      width: 100% !important;
  }
  .center-content-wrapper .wp-block-heading, 
  .center-content-wrapper .wp-block-paragraph, 
  .center-content-wrapper .wp-block-buttons{
    max-width: 100% !important; 
    width: 100% !important;
  }

  .hero-banner-cta .wp-block-button a, .hero-banner-cta .wp-block-button, .heading-with-cta .hero-banner-cta {
      width: 100% !important;
  }
}

.intro-section{
	padding: var(--intro-section-pt) var(--intro-section-px) var(--intro-section-pb);
}

.intro-gap { gap: 24px 0; }               /* mobile: no gap */
@media (min-width: 782px){
	.intro-gap { gap: 80px; }        /* desktop */
}

/* ---- Project / Mine modal ---- */
.exploration-card .project-card__cue a{ display: none !important; }
.project-card__cue a, .more-news-section li div .wp-block-read-more {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.project-card__cue a::after, .more-news-section li div .wp-block-read-more::after {
  content: "";
  flex: 0 0 auto;
  width: 1.1em; height: 1.1em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M13.1061 11.975L8.75285 7.62172C8.58285 7.45172 8.50202 7.2528 8.51035 7.02497C8.51868 6.79713 8.60785 6.59822 8.77785 6.42822C8.94785 6.25822 9.15093 6.17322 9.3871 6.17322C9.62327 6.17322 9.82635 6.25822 9.99635 6.42822L14.9404 11.3722C15.0317 11.4636 15.098 11.5589 15.1394 11.6582C15.1807 11.7574 15.2014 11.863 15.2014 11.975C15.2014 12.087 15.1807 12.1926 15.1394 12.2917C15.098 12.3911 15.0317 12.4864 14.9404 12.5777L9.97135 17.5467C9.80135 17.7167 9.60243 17.7976 9.3746 17.7892C9.14677 17.7809 8.94785 17.6917 8.77785 17.5217C8.60785 17.3517 8.52285 17.1486 8.52285 16.9125C8.52285 16.6763 8.60785 16.4732 8.77785 16.3032L13.1061 11.975Z' fill='%235B6D99'/%3E%3C/svg%3E") center / contain no-repeat;
}



/* card fills its grid cell */
.project-mines-grid > li { display: flex; }

/* card becomes a flex column (this is what beats constrained layout) */
.project-mines-grid .project-card {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.project-mines-grid li .project-card__title{ margin-left: 0 !important; margin-top: 16px;}
/* pin Details to the bottom, left-aligned */
.project-mines-grid .project-card__cue {
  margin-top: auto;
  justify-content: flex-start;
  margin-left: 0 !important;
}

.project-modal-content { display: none; }

.nncm-modal[hidden] { display: none; }
.nncm-modal {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
}
.nncm-modal__backdrop {
  position: absolute; inset: 0;
  background: rgba(8, 9, 10, 0.6);
}

.nncm-modal__dialog {
  position: relative;
  display: flex; flex-direction: column;   /* header fixed, body scrolls */
  background: #FFFFFF; color: #08090A;
  width: 100%; max-height: 90vh;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(8, 9, 10, 0.25);
}
.nncm-modal__dialog:focus { outline: none; }   /* kills the blue focus ring */
@media (min-width: 782px) { .nncm-modal__dialog { width: 65%; } }

/* close on its own first row, top-right, never scrolls away */
.nncm-modal__header {
  flex: 0 0 auto;
  display: flex; justify-content: flex-end;
  padding: 16px 16px 0;
}
.nncm-modal__close {
  width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  padding: 0; border: 0;
  background: transparent; color: #08090A; cursor: pointer;
}
.nncm-modal__close:hover { color: #D25E47; }
.nncm-modal__close svg { display: block; }

/* body = the scroll area */
.nncm-modal__body {
  flex: 1 1 auto; overflow-y: auto;
  padding: 8px clamp(24px, 4vw, 56px) clamp(24px, 4vw, 56px);
}
.nncm-modal__body > :first-child { margin-top: 0; }
.nncm-modal__body :is(h1,h2,h3,h4,h5,h6,p,li) { font-weight: 400; }

/* desktop: title (left) + Visit Website (right) on one row, body below */
@media (min-width: 782px) {
  .nncm-modal__body {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    column-gap: 32px;
  }
  .nncm-modal__body > .wp-block-post-title   { grid-column: 1; grid-row: 1; margin: 0; }
  .nncm-modal__body > .wp-block-buttons      { grid-column: 2; grid-row: 1; margin: 0; }
  .nncm-modal__body > .wp-block-post-content { grid-column: 1 / -1; grid-row: 2; width: 65%; margin-top: 32px; }

  .project-mines-grid{ gap: 64px 32px !important; }
}

/* mobile: Visit Website, then title, then body; full-screen */
@media (max-width: 781px) {
  .nncm-modal__dialog { width: 100%; height: 100%; max-height: none; border-radius: 0; }
  .nncm-modal__body { display: flex; flex-direction: column; padding: 8px 20px 64px; }
  .nncm-modal__body > .wp-block-buttons      { order: 1; margin: 0 0 24px; }
  .nncm-modal__body > .wp-block-post-title   { order: 2; margin: 0 0 24px; }
  .nncm-modal__body > .wp-block-post-content { order: 3; width: 100%; }
}

body.nncm-modal-open { overflow: hidden; }

/* Single News Template */
.breadcrumbs-news, .date-news{ padding-bottom: 40px; }
.news-back-link{
	text-decoration: none;
	font-weight: 500;
}
.content-news{ padding-bottom: 64px; }
@media (max-width: 600px){
	.breadcrumbs-news{ padding-bottom: 16px; }
	.date-news{ padding-bottom: 32px; }
	.content-news{ padding-bottom: 24px; }
	.more-news-section li{ border-right: none !important; }
 }

@media (min-width: 320px) and (max-width: 600px){
  .more-news-section li{ border-bottom: 1px solid #08090A !important; padding-bottom: 32px !important; }
  .more-news-section li:last-child{ border-bottom: none !important; padding-bottom: 0 !important; }
 }

@media (min-width: 601px){
	.more-news-section li div{
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		height: 100%;

	}

  .more-news-section{ gap: 64px 32px !important; }

	.more-news-section li{ border-right: 0.5px solid var(--Color-Neutral-Light, #B4B5B5); padding-right: 20px; }
  .home-news-section.more-news-section li, .more-news-section li:nth-child(3n){ border-right: none !important; }
	.more-news-section li:last-child{ border-right: none !important; }

}


.news-view-details a:not([href]),
.news-view-details a[href=""], 
.news-external-link a:not([href]),
.news-external-link a[href=""] {
  display: none;
}

.news-view-details a::after,
.news-external-link a::after,
.btn-with-arrow a::after {
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  width: 1.1em;
  height: 1.1em;
  margin-left: 8px;
  vertical-align: middle;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M16.2902 7.801L6.69448 17.4028C6.52065 17.5726 6.32073 17.6575 6.09473 17.6575C5.8689 17.6575 5.67098 17.5706 5.50098 17.3968C5.32715 17.2228 5.24023 17.0228 5.24023 16.797C5.24023 16.5712 5.32715 16.3713 5.50098 16.1973L15.0967 6.60175H6.64773C6.4034 6.60175 6.1994 6.51942 6.03573 6.35475C5.87207 6.19025 5.79023 5.98717 5.79023 5.7455C5.79023 5.504 5.87207 5.30242 6.03573 5.14075C6.1994 4.97909 6.4034 4.89825 6.64773 4.89825H17.1477C17.3882 4.89825 17.5903 4.98017 17.754 5.144C17.9177 5.30767 17.9995 5.50967 17.9995 5.75V16.25C17.9995 16.4903 17.9172 16.6923 17.7527 16.856C17.5882 17.0198 17.3852 17.1018 17.1435 17.1018C16.8978 17.1018 16.6942 17.0198 16.5325 16.856C16.371 16.6923 16.2902 16.4903 16.2902 16.25V7.801Z' fill='%2308090A'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* keep icon + text aligned on one line */
.news-view-details a,
.news-external-link a,
.btn-with-arrow a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.content-news a.link{
	background-color: #d25e47;
    border-radius: 100px;
    border-width: 0;
    color: #d25e47;
    font-family: inherit;
    font-size: 16px;
    font-style: inherit;
    font-weight: 500;
    letter-spacing: inherit;
    line-height: inherit;
    padding-top: 0.7rem;
    padding-right: 1.6rem;
    padding-bottom: 0.7rem;
    padding-left: 1.6rem;
    text-decoration: none;
    text-transform: inherit;
}
@media (max-width:480px){
	.view-more-news-btn-wrapper{ justify-content: center !important; }
	.view-more-news-btn-wrapper .wp-block-button{ width: 100% !important; }
}

@media (min-width:481px) and (max-width: 781px){
	.view-more-news-btn-wrapper{ justify-content: center !important; }
}

@media (max-width: 359px){
	.honorary-members-grid .project-mines-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid{
		grid-template-columns: 1fr !important;
	}
}

@media (min-width: 360px) and (max-width: 600px){
	.honorary-members-grid .project-mines-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid{
		grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	}

  /* Honorary members */
  .project-mines-grid .project-card.honorary-member-card{ min-height: 200px !important; }
  .honorary-member-image-wrapper { height: 187px !important; }
  .honorary-member-image-wrapper img{ height: 100% !important;}
}

.honorary-member-image-wrapper, .project-card-image-wrapper{ width: 100% !important;}



/* Events */
/* Events card — date + location meta row */
.event-meta {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.event-date,
.event-location {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--wp--preset--font-size--text-small);
  line-height: 1.2;
}
.event-date::before,
.event-location::before {
  content: "";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  background: center / contain no-repeat;
}
.event-date::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M17.0039 2.34473C17.1238 2.34473 17.2031 2.3801 17.2734 2.44922C17.3441 2.51855 17.3759 2.59117 17.376 2.69824V3.84473H19.4473C19.7707 3.84473 20.0449 3.9579 20.2939 4.20703H20.2949C20.5439 4.45595 20.6562 4.73047 20.6562 5.05371V20.4463C20.6562 20.7675 20.544 21.041 20.2949 21.2891C20.046 21.5371 19.7712 21.6494 19.4473 21.6494H4.55469C4.23297 21.6494 3.95979 21.5371 3.71191 21.2891L3.625 21.1953C3.43733 20.9725 3.35156 20.7279 3.35156 20.4463V5.05371C3.35162 4.72985 3.46389 4.45487 3.71191 4.20605H3.71289C3.96086 3.95718 4.23361 3.84476 4.55469 3.84473H6.62598V2.69824C6.62601 2.6164 6.64438 2.55478 6.68262 2.5L6.72754 2.44727C6.79841 2.37689 6.87329 2.34473 6.98145 2.34473C7.10073 2.3448 7.17943 2.38004 7.25 2.44922C7.32066 2.51855 7.35249 2.59117 7.35254 2.69824V3.84473H16.6494V2.69824C16.6494 2.61642 16.6677 2.55483 16.7061 2.5L16.751 2.44727C16.8215 2.37714 16.896 2.34481 17.0039 2.34473ZM4.05469 20.9463H19.9473V9.25H4.05469V20.9463ZM4.05469 8.75H19.9473V4.55371H4.05469V8.75Z' fill='%2308090A' stroke='%2308090A'/%3E%3C/svg%3E");
}
.event-location::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12.001 2.34473C14.0253 2.34473 15.804 3.04933 17.3564 4.47754C18.88 5.87913 19.6562 7.7626 19.6562 10.1826C19.6562 11.1679 19.4393 12.1526 18.9971 13.1406C18.5436 14.154 17.9745 15.1246 17.2891 16.0527C16.5977 16.9889 15.8469 17.8627 15.0361 18.6738C14.2131 19.4974 13.4458 20.2259 12.7344 20.8594L12.7285 20.8643L12.7236 20.8691C12.6331 20.9548 12.5285 21.017 12.4062 21.0566C12.2598 21.1041 12.1226 21.126 11.9932 21.126C11.8639 21.126 11.7303 21.104 11.5908 21.0576C11.4751 21.0191 11.377 20.959 11.291 20.875L11.2822 20.8662L11.2725 20.8584C10.5575 20.2252 9.78851 19.497 8.96582 18.6738C8.15507 17.8627 7.40425 16.9889 6.71289 16.0527C6.02763 15.1248 5.45921 14.1547 5.00781 13.1416C4.56744 12.1534 4.35162 11.1682 4.35156 10.1826C4.35156 7.76231 5.12768 5.8791 6.64941 4.47754C8.19974 3.04953 9.9767 2.34475 12.001 2.34473ZM12.001 3.05371C10.0657 3.05371 8.41091 3.72261 7.06934 5.05664C5.71975 6.39887 5.05469 8.12233 5.05469 10.1826C5.0548 11.6021 5.6486 13.1413 6.75293 14.7861C7.85778 16.4317 9.49846 18.2606 11.6602 20.2715L11.9971 20.585L12.3369 20.2764C14.5497 18.2689 16.2073 16.4381 17.29 14.7852C18.3688 13.138 18.9472 11.5989 18.9473 10.1826C18.9473 8.12228 18.2823 6.39888 16.9326 5.05664V5.05566C15.5908 3.72177 13.9361 3.05375 12.001 3.05371ZM11.999 8.70215C12.3652 8.7022 12.663 8.82522 12.9199 9.08105C13.1761 9.33617 13.2988 9.63248 13.2988 9.99805C13.2988 10.3642 13.1758 10.6605 12.9209 10.915C12.666 11.1694 12.3693 11.292 12.0029 11.292C11.6359 11.2919 11.3402 11.169 11.0859 10.916C10.8324 10.6634 10.7091 10.3691 10.709 10.0029C10.709 9.68146 10.8033 9.41279 10.9971 9.17871L11.0859 9.08105C11.3389 8.82567 11.6335 8.70215 11.999 8.70215Z' fill='%2308090A' stroke='%2308090A'/%3E%3C/svg%3E");
}

.event-link a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-left:0;
}
.event-link a::after {
  content: "";
  flex: 0 0 auto;
  width: 1.1em;
  height: 1.1em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M13.1081 11.975L8.7548 7.62172C8.5848 7.45172 8.50397 7.2528 8.5123 7.02497C8.52064 6.79713 8.6098 6.59822 8.7798 6.42822C8.9498 6.25822 9.15289 6.17322 9.38905 6.17322C9.62522 6.17322 9.8283 6.25822 9.9983 6.42822L14.9423 11.3722C15.0336 11.4636 15.1 11.5589 15.1413 11.6582C15.1826 11.7574 15.2033 11.863 15.2033 11.975C15.2033 12.087 15.1826 12.1926 15.1413 12.2917C15.1 12.3911 15.0336 12.4864 14.9423 12.5777L9.9733 17.5467C9.8033 17.7167 9.60439 17.7976 9.37655 17.7892C9.14872 17.7809 8.9498 17.6917 8.7798 17.5217C8.6098 17.3517 8.5248 17.1486 8.5248 16.9125C8.5248 16.6763 8.6098 16.4732 8.7798 16.3032L13.1081 11.975Z' fill='%235B6D99'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* equal-height event cards, View Event pinned to bottom */
/* make each column a flex column so the card content can stretch */
.events-column-wrapper > .wp-block-column.event-card {
  display: flex;
  flex-direction: column;
}

/* push View Event to the bottom */
.event-card > .event-link {
  margin-top: auto;
}

/* Contact Us*/
/* Contact Form */
@media (min-width: 320px) and (max-width: 600px){
  #gform_wrapper_1 {
    width: 100% !important;
    max-width: 100% !important;
  }
  .contact-us-page-wrapper, .contact-us-page-wrapper .wp-block-heading, .contact-us-page-wrapper .wp-block-paragraph{ width: 100% !important; max-width: 100% !important; }
  #gform_submit_button_1{ width: 100% !important;}
}

@media (min-width: 601px) and (max-width: 1079px){
  #gform_wrapper_1 {
    width: 85% !important;
    max-width: 85% !important;
  }
  .contact-us-page-wrapper, 
  .contact-us-page-wrapper .wp-block-heading, 
  .contact-us-page-wrapper .wp-block-paragraph{ 
    margin-left:0 !important; margin-right: 0 !important; width: 85% !important; max-width: 85% !important; }
  #gform_submit_button_1{ width: 300px !important;}
}

.gform_wrapper.gravity-theme .gfield_label{
	font-weight: 400 !important;
}

.gform_wrapper.gravity-theme input[type=color], 
.gform_wrapper.gravity-theme input[type=date], 
.gform_wrapper.gravity-theme input[type=datetime-local], 
.gform_wrapper.gravity-theme input[type=datetime], 
.gform_wrapper.gravity-theme input[type=email], 
.gform_wrapper.gravity-theme input[type=month], 
.gform_wrapper.gravity-theme input[type=number], 
.gform_wrapper.gravity-theme input[type=password], 
.gform_wrapper.gravity-theme input[type=search], 
.gform_wrapper.gravity-theme input[type=tel], 
.gform_wrapper.gravity-theme input[type=text], 
.gform_wrapper.gravity-theme input[type=time], 
.gform_wrapper.gravity-theme input[type=url], 
.gform_wrapper.gravity-theme input[type=week], 
.gform_wrapper.gravity-theme select, 
.gform_wrapper.gravity-theme textarea{
	font-size: 16px;
    padding: 8px;
    background-color: rgba(8, 9, 10, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.00);
    border-radius: 12px;
    height: 48px;
}

input#gform_submit_button_1 {
    display: flex;
    padding: 10px 24px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    background: var(--Color-Red-Damask, #D25E47);
    border-radius: 100px;
    border: 1px solid #D25E47;
    font-size: 16px;
    font-weight: 500;
}

.gform_wrapper.gravity-theme .gfield_required{ color: transparent !important; }

.gform_required_legend, .ginput_counter.gfield_description{ display: none; }

/* Publication Card */
.publication-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
}

.publication-image img {
  width: 100%;
  height: 640px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

.publication-columns{ gap:80px; }
@media (max-width: 781px) {
  .publication-image{ min-height: 348px !important; height: 348px !important; }
  .publication-image img { height: 348px !important; }
  .publication-columns{ gap: 48px 0 !important; }
}

@media (max-width: 781px) {
  .publication-columns { display: flex; flex-direction: column; }
  .publication-media { order: 1; }
  .publication-text  { order: 2; }
  .publication-text { gap: 0 !important; }

  
  .industry-page .publication-columns .publication-media { order: 2 !important; }
  .industry-page .publication-columns .publication-text  { order: 1 !important; }
}

@media (min-width: 320px) and (max-width: 600px) {
  .publication-link .wp-block-button{ width: 100%; }
}



.impact-list { display: flex; flex-direction: column; gap: 16px; }

.impact-item {
  position: relative;
  padding-left: 32px;        /* room for the icon */
  margin: 0;
  margin: 0 0 16px; 
}
.impact-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;               /* aligns icon to first line of text, not center */
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  background: center / contain no-repeat;
}
.impact-item.icon-pin::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M7.99941 13.2703C9.46385 11.9418 10.5462 10.7429 11.2466 9.67367C11.9468 8.60456 12.2969 7.64267 12.2969 6.78801C12.2969 5.49267 11.8819 4.43234 11.0519 3.60701C10.2218 2.78179 9.20424 2.36918 7.99924 2.36918C6.79424 2.36918 5.77679 2.78179 4.94691 3.60701C4.11691 4.43234 3.70191 5.49267 3.70191 6.78801C3.70191 7.64267 4.06035 8.6039 4.77724 9.67167C5.49424 10.7396 6.56829 11.9391 7.99941 13.2703ZM7.99424 14.417C7.87013 14.417 7.74563 14.3962 7.62074 14.3547C7.49585 14.3131 7.38657 14.2466 7.29291 14.155C6.81024 13.7276 6.29274 13.2375 5.74041 12.6848C5.18796 12.1322 4.67641 11.5372 4.20574 10.8998C3.73507 10.2625 3.34418 9.59473 3.03307 8.89651C2.72196 8.1984 2.56641 7.49556 2.56641 6.78801C2.56641 5.09556 3.11285 3.74606 4.20574 2.73951C5.29852 1.73295 6.56307 1.22968 7.99941 1.22968C9.43574 1.22968 10.701 1.73295 11.7951 2.73951C12.8893 3.74606 13.4364 5.09556 13.4364 6.78801C13.4364 7.49556 13.2802 8.1984 12.9677 8.89651C12.6553 9.59473 12.2637 10.2625 11.7931 10.8998C11.3224 11.5372 10.8108 12.1322 10.2584 12.6848C9.70607 13.2375 9.18991 13.7276 8.70991 14.155C8.61313 14.2466 8.50068 14.3131 8.37257 14.3547C8.24446 14.3962 8.11835 14.417 7.99424 14.417ZM7.99941 9.80151C8.41941 9.80151 8.82691 9.72067 9.22191 9.55901C9.61679 9.39745 9.95641 9.16201 10.2407 8.85267C10.2951 8.79756 10.3353 8.73979 10.3616 8.67934C10.3878 8.6189 10.4009 8.55473 10.4009 8.48684C10.4009 8.38284 10.3747 8.28795 10.3222 8.20217C10.2698 8.1164 10.1951 8.0444 10.0982 7.98617C9.77557 7.81062 9.43624 7.6804 9.08024 7.59551C8.72413 7.51062 8.36385 7.46817 7.99941 7.46817C7.63496 7.46817 7.27468 7.51062 6.91857 7.59551C6.56257 7.6804 6.22324 7.81062 5.90057 7.98617C5.81213 8.0444 5.74235 8.11506 5.69124 8.19817C5.64013 8.28117 5.61457 8.37373 5.61457 8.47584C5.61457 8.5454 5.62524 8.61251 5.64657 8.67717C5.66779 8.74195 5.70402 8.80195 5.75524 8.85717C6.04146 9.16351 6.38202 9.39745 6.77691 9.55901C7.17191 9.72067 7.57941 9.80151 7.99941 9.80151ZM8.00091 6.46817C8.32213 6.46817 8.59663 6.35379 8.82441 6.12501C9.05218 5.89623 9.16607 5.62123 9.16607 5.30001C9.16607 4.97879 9.05168 4.70429 8.82291 4.47651C8.59413 4.24873 8.31913 4.13484 7.99791 4.13484C7.67668 4.13484 7.40218 4.24923 7.17441 4.47801C6.94663 4.70667 6.83274 4.98167 6.83274 5.30301C6.83274 5.62423 6.94713 5.89873 7.17591 6.12651C7.40468 6.35429 7.67968 6.46817 8.00091 6.46817Z' fill='%2308090A'/%3E%3C/svg%3E");
}
.impact-item.icon-dollar::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M8.02416 14.0438C7.87172 14.0438 7.74627 13.9953 7.64783 13.8982C7.54938 13.8011 7.50016 13.6763 7.50016 13.5238V12.6358C6.95627 12.5443 6.49477 12.3521 6.11566 12.0592C5.73655 11.7664 5.44011 11.3965 5.22633 10.9493C5.16544 10.8165 5.16677 10.6773 5.23033 10.532C5.29388 10.3868 5.39894 10.2837 5.5455 10.2228C5.67572 10.1673 5.80938 10.1686 5.9465 10.2268C6.0835 10.2851 6.192 10.3819 6.272 10.5173C6.46933 10.8846 6.72644 11.1586 7.04333 11.3395C7.36022 11.5204 7.7205 11.6108 8.12416 11.6108C8.6495 11.6108 9.07838 11.4822 9.41083 11.2248C9.74338 10.9675 9.90966 10.6148 9.90966 10.1667C9.90966 9.69112 9.75622 9.32068 9.44933 9.05534C9.14244 8.7899 8.56811 8.52095 7.72633 8.24851C6.93166 7.99829 6.33577 7.6574 5.93866 7.22584C5.54155 6.7944 5.343 6.25801 5.343 5.61668C5.343 5.01357 5.53688 4.50179 5.92466 4.08134C6.31244 3.6609 6.83761 3.41629 7.50016 3.34751V2.47618C7.50016 2.32373 7.54938 2.19895 7.64783 2.10184C7.74627 2.00473 7.87172 1.95618 8.02416 1.95618C8.17661 1.95618 8.30133 2.00473 8.39833 2.10184C8.49544 2.19895 8.544 2.32373 8.544 2.47618V3.34751C8.94133 3.4084 9.301 3.53329 9.623 3.72218C9.945 3.91107 10.2129 4.15812 10.4267 4.46334C10.5098 4.58512 10.5264 4.7159 10.4767 4.85568C10.4269 4.99534 10.3287 5.09562 10.1822 5.15651C10.0546 5.21473 9.92016 5.22095 9.77883 5.17518C9.6375 5.1294 9.51311 5.0414 9.40566 4.91118C9.25277 4.72184 9.06444 4.58129 8.84066 4.48951C8.61688 4.39773 8.3505 4.35184 8.0415 4.35184C7.54372 4.35184 7.15144 4.46251 6.86466 4.68384C6.578 4.90529 6.43466 5.20801 6.43466 5.59201C6.43466 5.99834 6.59333 6.3294 6.91066 6.58518C7.22811 6.84095 7.84216 7.10907 8.75283 7.38951C9.51361 7.62818 10.0786 7.96962 10.4477 8.41384C10.8168 8.85795 11.0013 9.42001 11.0013 10.1C11.0013 10.808 10.7938 11.3792 10.3787 11.8137C9.96355 12.248 9.352 12.5276 8.544 12.6525V13.5238C8.544 13.6763 8.49483 13.8011 8.3965 13.8982C8.29805 13.9953 8.17394 14.0438 8.02416 14.0438Z' fill='%2308090A'/%3E%3C/svg%3E");
}

.impact-item.icon-lab::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M5.83274 7.8334C5.69107 7.8334 5.57235 7.78518 5.47657 7.68874C5.38068 7.5924 5.33274 7.47296 5.33274 7.3304C5.33274 7.18796 5.38068 7.06951 5.47657 6.97507C5.57235 6.88063 5.69107 6.8334 5.83274 6.8334H10.1661C10.3077 6.8334 10.4265 6.88162 10.5224 6.97807C10.6182 7.0744 10.6661 7.19385 10.6661 7.3364C10.6661 7.47885 10.6182 7.59729 10.5224 7.69174C10.4265 7.78618 10.3077 7.8334 10.1661 7.8334H5.83274ZM5.83274 5.16674C5.69107 5.16674 5.57235 5.11851 5.47657 5.02207C5.38068 4.92574 5.33274 4.80629 5.33274 4.66374C5.33274 4.52129 5.38068 4.40285 5.47657 4.3084C5.57235 4.21396 5.69107 4.16674 5.83274 4.16674H10.1661C10.3077 4.16674 10.4265 4.21496 10.5224 4.3114C10.6182 4.40774 10.6661 4.52718 10.6661 4.66974C10.6661 4.81218 10.6182 4.93062 10.5224 5.02507C10.4265 5.11951 10.3077 5.16674 10.1661 5.16674H5.83274ZM3.70191 9.43224H8.93957C9.24379 9.43224 9.52707 9.50074 9.78941 9.63774C10.0516 9.77463 10.2759 9.95857 10.4621 10.1896L12.2969 12.5831V2.36924H3.70191V9.43224ZM3.70191 13.6309H11.6614L9.57107 10.8899C9.49307 10.7913 9.39902 10.713 9.28891 10.6549C9.17879 10.5969 9.06235 10.5679 8.93957 10.5679H3.70191V13.6309ZM12.2969 14.7664H3.70191C3.39524 14.7664 3.12935 14.6538 2.90424 14.4286C2.67902 14.2035 2.56641 13.9376 2.56641 13.6309V2.36924C2.56641 2.06146 2.67902 1.79462 2.90424 1.56874C3.12935 1.34274 3.39524 1.22974 3.70191 1.22974H12.2969C12.6047 1.22974 12.8715 1.34274 13.0974 1.56874C13.3234 1.79462 13.4364 2.06146 13.4364 2.36924V13.6309C13.4364 13.9376 13.3234 14.2035 13.0974 14.4286C12.8715 14.6538 12.6047 14.7664 12.2969 14.7664Z' fill='%2308090A'/%3E%3C/svg%3E");
}
.impact-item.icon-construction::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M12.3411 13.5844L8.61642 9.88038L9.63026 8.86254L13.3548 12.5872C13.4961 12.7318 13.5668 12.8988 13.5668 13.0882C13.5668 13.2777 13.4961 13.4437 13.3548 13.5862C13.2135 13.7289 13.0446 13.8002 12.8479 13.8002C12.6514 13.8002 12.4824 13.7283 12.3411 13.5844ZM2.57809 13.5862C2.43676 13.4437 2.36609 13.274 2.36609 13.0774C2.36609 12.8808 2.43676 12.7119 2.57809 12.5705L6.93592 8.21254L5.14076 6.42121L5.10742 6.45455C5.00742 6.5541 4.89142 6.60388 4.75942 6.60388C4.62742 6.60388 4.51009 6.5541 4.40742 6.45455L4.06792 6.11504V7.64804C4.06792 7.77516 4.00781 7.86077 3.88759 7.90488C3.76748 7.9491 3.6632 7.92704 3.57476 7.83871L1.60009 5.86404C1.51176 5.7756 1.48964 5.67132 1.53376 5.55121C1.57798 5.43099 1.66364 5.37088 1.79076 5.37088H3.34026L2.95409 4.98471C2.84876 4.87938 2.79609 4.75471 2.79609 4.61071C2.79609 4.46682 2.85009 4.34221 2.95809 4.23688L4.79592 2.39554C4.98981 2.20132 5.20253 2.06954 5.43409 2.00021C5.66565 1.93088 5.9187 1.89621 6.19326 1.89621C6.42126 1.89621 6.62259 1.92677 6.79726 1.98788C6.97192 2.04899 7.15237 2.1491 7.33859 2.28821C7.40203 2.3491 7.43653 2.41888 7.44209 2.49754C7.44765 2.5761 7.4187 2.64716 7.35526 2.71071L5.78776 4.27621L6.23376 4.72288C6.33376 4.8231 6.38376 4.94004 6.38376 5.07371C6.38376 5.20738 6.33376 5.32399 6.23376 5.42354L6.18376 5.47354L7.92909 7.21938L9.96242 5.19004C9.8762 5.04827 9.80809 4.88316 9.75809 4.69471C9.70809 4.50627 9.68309 4.30738 9.68309 4.09804C9.68309 3.49771 9.90142 2.97854 10.3381 2.54054C10.7748 2.10254 11.2933 1.88354 11.8936 1.88354C11.9864 1.88354 12.0715 1.8876 12.1491 1.89571C12.2266 1.90371 12.2952 1.91849 12.3548 1.94004C12.4304 1.97782 12.4763 2.03727 12.4924 2.11838C12.5086 2.19949 12.4863 2.27049 12.4254 2.33138L11.4566 3.30421C11.3957 3.36554 11.3653 3.43477 11.3653 3.51188C11.3653 3.58888 11.3957 3.65782 11.4566 3.71871L12.2603 4.52238C12.3185 4.58327 12.3866 4.61371 12.4646 4.61371C12.5426 4.61371 12.6126 4.58327 12.6748 4.52238L13.6103 3.58288C13.6738 3.51932 13.7545 3.49354 13.8523 3.50554C13.95 3.51743 14.0191 3.56632 14.0596 3.65221C14.0838 3.72521 14.0993 3.80027 14.1059 3.87738C14.1127 3.95449 14.1161 4.03916 14.1161 4.13138C14.1161 4.7336 13.8962 5.25254 13.4564 5.68821C13.0168 6.12399 12.4956 6.34188 11.8929 6.34188C11.696 6.34188 11.5267 6.32866 11.3849 6.30221C11.2431 6.27577 11.1125 6.2361 10.9929 6.18321L3.57909 13.601C3.43453 13.7449 3.26687 13.8141 3.07609 13.8085C2.88531 13.803 2.71931 13.7289 2.57809 13.5862Z' fill='%2308090A'/%3E%3C/svg%3E");
}

.impact-item.icon-diamond::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M8 13.4253C7.837 13.4253 7.67883 13.3936 7.5255 13.33C7.37227 13.2666 7.239 13.1657 7.12566 13.0275L1.758 6.57568C1.66955 6.47357 1.60255 6.3624 1.557 6.24218C1.51155 6.12207 1.48883 5.9929 1.48883 5.85468C1.48883 5.76634 1.50127 5.68073 1.52616 5.59784C1.55094 5.51495 1.58266 5.42934 1.62133 5.34101L2.98616 2.57784C3.08305 2.38729 3.22333 2.23607 3.407 2.12418C3.59077 2.01218 3.79172 1.95618 4.00983 1.95618H11.9902C12.2083 1.95618 12.4092 2.01218 12.593 2.12418C12.7767 2.23607 12.9183 2.38729 13.0178 2.57784L14.3787 5.34101C14.4173 5.42934 14.4491 5.51495 14.4738 5.59784C14.4987 5.68073 14.5112 5.76634 14.5112 5.85468C14.5112 5.9929 14.4884 6.12207 14.443 6.24218C14.3974 6.3624 14.3318 6.47357 14.246 6.57568L8.87433 13.0275C8.761 13.1657 8.62772 13.2666 8.4745 13.33C8.32116 13.3936 8.163 13.4253 8 13.4253ZM6.12933 5.50001H9.87066L8.6405 3.04384H7.3595L6.12933 5.50001ZM7.5 11.7783V6.50001H3.10983L7.5 11.7783ZM8.5 11.7783L12.8902 6.50001H8.5V11.7783ZM10.9913 5.50001H13.1982L11.9722 3.04384H9.76116L10.9913 5.50001ZM2.80183 5.50001H5.01266L6.23883 3.04384H4.02783L2.80183 5.50001Z' fill='%2308090A'/%3E%3C/svg%3E");
}

.impact-item.icon-globe::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M8.00498 14.7663C7.06942 14.7663 6.19142 14.5892 5.37098 14.235C4.55053 13.8808 3.83298 13.3963 3.21831 12.7817C2.60364 12.167 2.1192 11.4492 1.76498 10.6283C1.41075 9.80745 1.23364 8.92873 1.23364 7.99218C1.23364 7.05573 1.41075 6.17684 1.76498 5.35551C2.1192 4.53429 2.60342 3.81906 3.21764 3.20984C3.83186 2.60051 4.54953 2.11818 5.37064 1.76284C6.19175 1.4074 7.0707 1.22968 8.00748 1.22968C8.94414 1.22968 9.82331 1.40729 10.645 1.76251C11.4665 2.11773 12.1818 2.59979 12.7908 3.20868C13.3999 3.81756 13.8821 4.53356 14.2373 5.35668C14.5926 6.17979 14.7703 7.0594 14.7703 7.99551C14.7703 8.93151 14.5926 9.80968 14.2371 10.63C13.8818 11.4505 13.3995 12.1668 12.7901 12.7792C12.1809 13.3914 11.465 13.8757 10.6423 14.232C9.81964 14.5882 8.94053 14.7663 8.00498 14.7663ZM7.99998 13.6308C9.53675 13.6308 10.8435 13.104 11.9201 12.0502C12.9968 10.9964 13.559 9.71673 13.6068 8.21118C13.6068 8.18273 13.6075 8.15879 13.6088 8.13934C13.6101 8.12001 13.6108 8.09834 13.6108 8.07434C13.5283 8.33134 13.374 8.54445 13.1481 8.71368C12.9224 8.88279 12.6592 8.96734 12.3586 8.96734H11.0453C10.6688 8.96734 10.3464 8.83318 10.0783 8.56484C9.8102 8.2964 9.67614 7.97373 9.67614 7.59684V6.91168H6.93764V5.56801C6.93764 5.18868 7.07187 4.86534 7.34031 4.59801C7.60864 4.33079 7.93125 4.19718 8.30814 4.19718H8.99348V3.83051C8.99348 3.63851 9.07048 3.40473 9.22448 3.12917C9.37848 2.85373 9.55387 2.69351 9.75064 2.64851C9.47553 2.56351 9.19259 2.49573 8.90181 2.44518C8.61114 2.39451 8.31103 2.36918 8.00148 2.36918C6.44181 2.36918 5.11314 2.91484 4.01548 4.00617C2.91792 5.0974 2.36914 6.42868 2.36914 8.00001C2.36914 8.01067 2.36981 8.02062 2.37114 8.02984C2.37248 8.03918 2.37314 8.04918 2.37314 8.05984H4.68981C5.44437 8.05984 6.08942 8.32756 6.62498 8.86301C7.16053 9.39856 7.42831 10.043 7.42831 10.7962V11.4808H5.37648V13.0037C5.77014 13.2031 6.1872 13.3575 6.62764 13.4668C7.0682 13.5762 7.52564 13.6308 7.99998 13.6308Z' fill='%2308090A'/%3E%3C/svg%3E");
}


/* ---- Commitments stat mosaic ---- */

.stats-mosaic {
  display: grid;
  grid-template-columns: 1fr;   /* MOBILE: single column */
  gap: 24px;
  column-gap: 24px;
  row-gap: 24px;
}

.stat-card {
  border-radius: 8px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: 0;
  height: 100%;
}

.stat-image img {
  width: 100%;
  border-radius: 8px;
  display: block;
  object-fit: cover;
}
.stat-image img { height: 400px; }   /* mobile height */
.stat-image{
  width: 100%;
  margin-top: 0;
}
.stat-col-2, .stat-col-3 {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-top: 0;
  width: 100%;
}
.stat-card--heading{ font-size: 56px; font-weight: 700;}
/* ---- DESKTOP ---- */
@media (min-width: 951px) {
  .stats-mosaic {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 32px;
    row-gap: 32px;
    align-items: stretch;
  }

  /* three direct children now: blue card + two column-stacks */
  .stat--employment { grid-column: 1; height: 100%; }
  .stat-col-2       { grid-column: 2; }
  .stat-col-3       { grid-column: 3; }

  /* each column stacks its two items independently */
  .stat-col-2,
  .stat-col-3 {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-top:0 !important;
  }

  /* the stagger: col2 image shorter, col3 image bigger */
  .stat-col-2 .stat-image img { height: 230px; }   /* crew image — shorter */
  .stat-col-3 .stat-image img { height: 270px; }   /* core image — bigger */
  .home-mosaic .stat-col-2 .stat-image img { height: 270px !important; } 
  .stat-card--heading{ font-size: 80px; font-weight: 700; }
}


/* ============ NNCM Timeline ============ */
.nncm-timeline{
  --tl-accent:#97B4CC;   /* dot + rail — repoint to a lighter Waikawa step if the mock is lighter */
  --tl-line:3px;         /* rail thickness */
  /* mobile */
  --tl-dot:15px;
  --tl-gap:18px;         /* dot → text */
  --tl-row-gap:16px;     /* between events */
  --tl-dot-top:5px;      /* dot nudge vs heading */
  --tl-dot-gap:6px;
}

/* ---- shared content ---- */
.nncm-timeline .timeline-content :is(h1,h2,h3,h4,h5,h6){margin:0;}
.nncm-timeline .timeline-content p{color:var(--tl-desc);margin:4px 0 0;}

/* ---- MOBILE / base: vertical stack ---- */
.nncm-timeline .timeline-item{
  position:relative;
  padding-left:calc(var(--tl-dot) + var(--tl-gap));
  padding-bottom:var(--tl-row-gap);
}
.nncm-timeline .timeline-item:last-child{padding-bottom:0;}
.nncm-timeline .timeline-item::before{               /* dot */
  content:"";position:absolute;
  left:0;
  top:var(--tl-dot-top);
  width:var(--tl-dot);
  height:var(--tl-dot);
  border-radius:50%;
  background:var(--tl-accent);
  z-index:1;
}
.nncm-timeline .timeline-item::after{                /* vertical line */
  content:"";position:absolute;
  left:calc((var(--tl-dot) - var(--tl-line))/2);
  /*top:calc(var(--tl-dot-top) + var(--tl-dot)/2);*/
  top: calc(var(--tl-dot-top) + var(--tl-dot) + var(--tl-dot-gap));
  bottom:calc(-1 * (var(--tl-dot-top) + var(--tl-dot)/2));
  width:var(--tl-line);background:var(--tl-accent);
}
.nncm-timeline .timeline-item:last-child::after{display:none;}

/* ---- nav arrows ---- */
.timeline-nav{display:none;justify-content:center;gap:12px;margin-top:24px;}
.timeline-nav--visible{display:flex;}   /* JS adds this only when the track overflows */
.timeline-nav button{
  width:48px;height:48px;border:0;border-radius:50%;cursor:pointer;
  background:#D25E47;color:#08090A;display:grid;place-items:center;
  transition:background .15s ease;
}
.timeline-nav button:hover{background:#A84B38;}
.timeline-nav button:focus-visible{outline:2px solid #08090A;outline-offset:2px;}
.timeline-nav button:disabled{opacity:.4;cursor:default;}

@media (min-width:783px){
  .nncm-timeline.nncm-timeline{           /* specificity bump so flex wins the cascade */
    --tl-dot:15px;
    --tl-label-offset:20px;
    --tl-item-min:250px;
    --tl-item-h:300px;
    --tl-half:calc(var(--tl-item-h)/2);
    --tl-dot-gap:6px;  

    min-width:0;
    width:100%;
    max-width:1280px;
    margin-inline:auto;

    display:flex;flex-wrap:nowrap;gap:0;
    overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  }
  .nncm-timeline::-webkit-scrollbar{display:none;}

  /* undo constrained-layout cap + auto-centering + global padding on each item */
  /*.nncm-timeline > .timeline-item{
    max-width:none !important;
    margin-inline:0 !important;
    padding:0 !important;
    flex:1 0 var(--tl-item-min);
    scroll-snap-align:start;
    display:grid;
    grid-template-rows:var(--tl-half) 0 var(--tl-half);  
  }*/
  .nncm-timeline > .timeline-item{
    max-width:none !important;
    margin-inline:0 !important;
    margin-block-start:0 !important;
    padding:0 !important;
    flex: 0 0 250px;   /* was 1 0 — fixed basis, no grow, no shrink */
    scroll-snap-align:start;
    display:grid;
    grid-template-rows:var(--tl-half) 0 var(--tl-half);
  }

  .nncm-timeline .timeline-item::before{               /* dot on the rail */
    left:4px;top:50%;transform:translateY(-50%);
  }
  .nncm-timeline .timeline-item::after{
    top:50%;bottom:auto;transform:translateY(-50%);
    left:calc(var(--tl-dot) + var(--tl-dot-gap));      /* start past the dot, not at its centre */
    width:calc(100% - var(--tl-dot) - var(--tl-dot-gap));
    height:var(--tl-line);
  }
  .nncm-timeline .timeline-item:last-child::after{display:block;}

  /* undo the same injections on the inner wrapper, but keep my rail→label gap */
  .nncm-timeline .timeline-content{
    max-width:none !important;
    margin-inline:0 !important;
    padding:0 var(--tl-gap) 0 0 !important;
  }
  .nncm-timeline .timeline-item:nth-child(even) .timeline-content{ /* above */
    grid-row:1;align-self:end;padding-bottom:var(--tl-label-offset) !important;
  }
  .nncm-timeline .timeline-item:nth-child(odd) .timeline-content{  /* below */
    grid-row:3;align-self:start;padding-top:var(--tl-label-offset) !important;
  }
}

/* Industry page - vertical cards */
.publication-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
}

.publication-image img {
  width: 100%;
  height: 640px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

.publication-columns{ gap:80px; }
@media (max-width: 781px) {
  .publication-image img { height: 348px !important; }
  .publication-columns{ gap: 64px 0; }
}

@media (max-width: 781px) {
  .publication-columns { display: flex; flex-direction: column; }
  .publication-media { order: 1; }
  .publication-text  { order: 2; }
}

/* ===== Resources accordion ===== */
.nncm-resources{ max-width:820px; }   /* content-width column like the mock; bump to 1280 if it should be wide */

.nncm-resources__cat{ border-top:1px solid var(--wp--preset--color--neutral-300, #D9DADA); }
.nncm-resources__cat:last-child{ border-bottom:1px solid var(--wp--preset--color--neutral-300, #D9DADA); }

.nncm-resources__summary{
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding:20px 4px; cursor:pointer; list-style:none;
	font-family:"Inter Tight",sans-serif; font-weight:700;
	font-size:var(--wp--preset--font-size--medium, 1.25rem);
	color:var(--wp--preset--color--text, #08090A);
}
.nncm-resources__summary::-webkit-details-marker{ display:none; }   /* kill default triangle */
.nncm-resources__summary:focus-visible{ outline:2px solid var(--wp--preset--color--coral, #D25E47); outline-offset:2px; }

.nncm-resources__chevron{
	flex:none; width:14px; height:14px;
	border-right:2px solid currentColor; border-bottom:2px solid currentColor;
	transform:rotate(45deg); transition:transform .2s ease;   /* points down = closed */
}
.nncm-resources__cat[open] .nncm-resources__chevron{ transform:rotate(-135deg); }  /* points up = open */

.nncm-resources__list{ list-style:none; margin:0; padding:0 4px 16px; }
.nncm-resources__item{ padding:8px 0; }
.nncm-resources__title{
	color:var(--wp--preset--color--waikawa-dark, #48587A);
	text-decoration:none; font-weight:500;
}
.nncm-resources__title:hover{ text-decoration:underline; }
.nncm-resources__title--plain{ color:var(--wp--preset--color--text, #08090A); }   /* no link */
.nncm-resources__body{
	color:var(--wp--preset--color--neutral-500, #838484);
	font-size:var(--wp--preset--font-size--small, .95rem); margin-top:2px;
}

@media (prefers-reduced-motion:reduce){
	.nncm-resources__chevron{ transition:none; }
}

/* Home Header */
.has-transparent-header .wp-site-blocks > header,
.has-transparent-header header.wp-block-template-part{
	position:absolute;
	top:0; left:0; right:0;
	z-index:10;
	background:transparent;
}

.has-transparent-header .nncm-hero{ padding-top:120px; }
.has-transparent-header .wp-block-post-content{ margin-top:0; padding-top:0; }

@media (min-width: 1079px) {
  /*.has-transparent-header header.wp-block-template-part .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{ color: #fff !important; }*/
  .has-transparent-header header.wp-block-template-part .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:not(.wp-block-navigation__submenu-container .wp-block-navigation-item__content) {
    color: #fff !important;
  }
  .has-transparent-header .wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg{ stroke: #fff; }
  .has-transparent-header .wp-block-template-part .wp-block-navigation .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item__content{ color: #5B6D99 !important; }
}

.btn-with-arrow-ii a::after {
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  margin-left: 8px;
  vertical-align: middle;
  background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"%3E%3Cpath d="M11.9951 4.68945C12.0661 4.69012 12.1279 4.70677 12.1895 4.75L12.251 4.80273L19.1992 11.751C19.2524 11.8051 19.2781 11.8473 19.29 11.876L19.29 11.877C19.3052 11.9133 19.3135 11.9534 19.3135 12.001C19.3134 12.0486 19.3048 12.0877 19.29 12.123L19.29 12.124C19.2782 12.1525 19.2527 12.1948 19.1992 12.249L12.2451 19.1973C12.1538 19.2875 12.0752 19.3135 11.9922 19.3135C11.9115 19.3134 11.8393 19.2889 11.7559 19.2031L11.751 19.1982L11.6992 19.1377C11.6571 19.0781 11.6426 19.02 11.6426 18.9551C11.6426 18.8904 11.6573 18.8328 11.6992 18.7734L11.751 18.7129L18.1123 12.3516H4.70215C4.58005 12.3515 4.50781 12.3164 4.44727 12.2559L4.44629 12.2559C4.38542 12.195 4.35059 12.122 4.35059 12C4.35059 11.878 4.38542 11.805 4.44629 11.7441L4.44727 11.7441C4.50782 11.6836 4.58005 11.6485 4.70215 11.6484H18.1123L11.7568 5.29297C11.6955 5.23162 11.6637 5.17322 11.6514 5.1084L11.6455 5.04102C11.6446 4.95107 11.6708 4.87748 11.751 4.79688L11.752 4.7959C11.8321 4.71531 11.9055 4.68868 11.9951 4.68945Z"/%3E%3C/svg%3E');
}
/* keep icon + text aligned on one line */
.btn-with-arrow-ii a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 1078px){
  .page-id-319 main.wp-block-group {
      margin-top: 0;
  }

}
@media (max-width: 1078px) {
  /* Open: full-screen fixed overlay, slides in from the right */
  .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed;
    inset: 0;
    z-index: 9999;
    overflow-y: auto;
    animation: nncm-menu-slide-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  /* Closing: JS keeps is-menu-open ON (menu stays fully styled + visible)
     and adds nncm-closing, which only reverses the animation to slide out. */
  .wp-block-navigation__responsive-container.is-menu-open.nncm-closing {
    animation: nncm-menu-slide-out 0.6s cubic-bezier(0.22, 1, 0.36, 1) both !important;
  }
}

@keyframes nncm-menu-slide-in {
  from { transform: translateX(100%); }
  to   { transform: translateX(0); }
}
@keyframes nncm-menu-slide-out {
  from { transform: translateX(0); }
  to   { transform: translateX(100%); }
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-navigation__responsive-container.is-menu-open,
  .wp-block-navigation__responsive-container.is-menu-open.nncm-closing {
    animation: none !important;
  }
}

/* Submenu: smoother fade — applies everywhere (desktop dropdown + mobile) */
.wp-block-navigation__submenu-container {
  transition: opacity 0.25s ease, visibility 0.25s !important;
}

/* Desktop only: add a subtle slide-down on top of the fade */
@media (min-width: 1079px) {
  .wp-block-navigation__submenu-container {
    transform: translateY(-8px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s !important;
  }
  .wp-block-navigation-submenu:hover        > .wp-block-navigation__submenu-container,
  .wp-block-navigation-submenu:focus-within > .wp-block-navigation__submenu-container,
  .wp-block-navigation-submenu.is-menu-open > .wp-block-navigation__submenu-container {
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-navigation__submenu-container { transition: none !important; }
}

@media (min-width: 1079px){
  /* Different logos for home and other pages */
  .has-transparent-header .logo-desktop { display: none !important; }
  .has-transparent-header .logo-home    { display: block !important; }
}

/* ==========================================================================
   NNCM site search
   1. Header search icon (inside the Navigation block)
   2. Full-page search overlay
   3. Search results page
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Header search icon
   -------------------------------------------------------------------------- */

/* The nav search block is only an icon now; the overlay does the searching. */
.wp-block-navigation .wp-block-search__input {
	display: none !important;
}

.wp-block-navigation .wp-block-search__inside-wrapper {
	border: 0;
	padding: 0;
	background: none;
	width: auto !important;
}

.wp-block-navigation .wp-block-search__button {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0.25rem;
	margin: 0;
	color: inherit;
	cursor: pointer;
	line-height: 0;
}

.wp-block-navigation .wp-block-search__button svg {
	width: 24px;
	height: 24px;
	min-width: 24px;
	min-height: 24px;
	fill: none;                  /* path carries its own currentColor fill */
}

.wp-block-navigation .wp-block-search__button:hover {
	opacity: 0.75;
}

.wp-block-navigation .wp-block-search__button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
	border-radius: 4px;
}

/* Normal header: nav blue */
.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-search__button {
	color: #5B6D99;
}

/* Transparent header: white.
   TODO: replace .is-header-transparent with your transparent header's class. */
.has-transparent-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-search__button {
	color: #fff !important;
}

/* Mobile menu overlay: dark */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-search__button {
	color: #5B6D99;
}


/* --------------------------------------------------------------------------
   2. Full-page search overlay
   -------------------------------------------------------------------------- */

body.nncm-search-open {
	overflow: hidden;
}

.nncm-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(6rem, 18vh, 12rem) 1rem 2rem;
	background: rgba(8, 9, 10, 0.8) !important; 
	backdrop-filter: blur(4px);
	overflow-y: auto;
	animation: nncm-search-fade 0.2s ease-out;
}

.nncm-search-overlay[hidden] {
	display: none;
}

@keyframes nncm-search-fade {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.nncm-search-overlay { animation: none; }
}

.nncm-search-overlay__close {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	background: transparent;
	border: 0;
	padding: 0.5rem;
	color: #fff;
	cursor: pointer;
	line-height: 0;
}

.nncm-search-overlay__close:hover { opacity: 0.75; }

.nncm-search-overlay__close:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
	border-radius: 4px;
}

.nncm-search-overlay__inner {
	width: 100%;
	max-width: 760px;
}

.nncm-search-overlay__label {
	display: block;
	margin-bottom: 1rem;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	line-height: 1.2;
	color: #fff;
}

.nncm-search-overlay__row {
	display: flex;
	gap: 0.75rem;
	align-items: stretch;
}

.nncm-search-overlay__input {
	flex: 1;
	min-width: 0;
	background: #fff;
	color: #08090a;
	border: 0;
	border-radius: 999px;
	padding: 0.875rem 1.5rem;
	font-size: 18px;
	line-height: 1.5;
}

.nncm-search-overlay__input:focus {
	outline: 2px solid #C4644E;
	outline-offset: 2px;
}

.nncm-search-overlay__submit {
	background: #C4644E;
	color: #08090a;
	border: 0;
	border-radius: 999px;
	padding: 0.875rem 1.75rem;
	font-size: 16px;
  font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}

.nncm-search-overlay__submit:hover { filter: brightness(0.95); }

.nncm-search-overlay__submit:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

@media (max-width: 600px) {
	.nncm-search-overlay__row { flex-direction: column; }
	.nncm-search-overlay__submit { width: 100%; }
}

/* --------------------------------------------------------------------------
   3. Search results page
   -------------------------------------------------------------------------- */

.nncm-search {
	padding-block: clamp(2.5rem, 6vw, 5rem);
}

.nncm-search__title {
	color: #08090a;
  font-weight: 400;
	margin-bottom: 1.5rem;
}

.nncm-search__form {
	margin-bottom: 2.5rem;
}

.nncm-search__form .wp-block-search__inside-wrapper {
	border: 0;
	padding: 0;
	gap: 0.5rem;
}

.nncm-search__form .wp-block-search__input {
	border: 1px solid var(--nncm-search-border);
	border-radius: 999px;
	padding: 0.75rem 1.25rem;
	font-size: 16px;
}

.nncm-search__form .wp-block-search__input:focus {
	outline: 2px solid var(--nncm-search-blue);
	outline-offset: 1px;
}

.nncm-search__form .wp-block-search__button {
	background: #D25E47;
	color: #08090a;
	border: 0;
	border-radius: 999px;
	padding: 0.75rem 1.75rem;
	margin: 0;
	font-size: 16px;
	cursor: pointer;
}

.nncm-search__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nncm-search__list > li {
	margin: 0;
}

.nncm-search-result {
	padding-block: 1.5rem;
	border-bottom: 1px solid #08090a;
}

.nncm-search__list > li:first-child .nncm-search-result {
	border-top: 1px solid #08090a;
}

.nncm-search-result > * {
	margin-block: 0;
}

.nncm-search-result__title {
	font-size: clamp(1.125rem, 2vw, 1.375rem);
	line-height: 1.5;
  font-weight:400;
	margin: 0 0 0.375rem;
}

.nncm-search-result__title a {
	color: #08090a;
	text-decoration: none;
}

.nncm-search-result__title a:hover,
.nncm-search-result__title a:focus-visible {
	text-decoration: underline;
}

.nncm-search-result__date {
	font-size: 0.875rem;
	color: var(--nncm-search-muted);
	margin-bottom: 0.5rem;
}

.nncm-search-result__excerpt,
.nncm-search-result__excerpt p {
	color: #08090a;
	margin: 0;
}

/* Relevanssi highlight (if "highlight query terms" is on with <mark>) */
.nncm-search-result mark {
	background: rgba(196, 100, 78, 0.18);
	color: inherit;
	padding: 0 0.1em;
}

.nncm-search .wp-block-query-pagination {
	margin-top: 2.5rem;
	gap: 0.5rem;
	justify-content: center;
}

.nncm-search .wp-block-query-pagination a,
.nncm-search .wp-block-query-pagination .current {
	padding: 0.375rem 0.75rem;
	border-radius: 999px;
	color: var(--nncm-search-blue);
	text-decoration: none;
}

.nncm-search .wp-block-query-pagination .current {
	background: var(--nncm-search-blue);
	color: #fff;
}

.nncm-search__empty {
	padding-block: 1.5rem;
	color: var(--nncm-search-muted);
}

.nncm-search-target {
	background: rgba(196, 100, 78, 0.15);
	outline: 2px solid #D25E47;
	outline-offset: 4px;
	border-radius: 4px;
	transition: background 0.6s ease, outline-color 0.6s ease;
}

mark.nncm-hl {
	background: #F3D9A4;
	color: inherit;
	padding: 0 0.1em;
	border-radius: 2px;
}

/* Mobile overflow fix: header search is icon-only */
.wp-block-navigation .wp-block-search,
.wp-block-navigation .wp-block-search__inside-wrapper {
	width: auto !important;
	min-width: 0 !important;
	max-width: 100%;
}

.wp-block-navigation .wp-block-search__input {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Results-page search form: never wider than the screen */
.nncm-search__form,
.nncm-search__form .wp-block-search__inside-wrapper {
	/*max-width: 100%;
	min-width: 0;*/
  width: 880px;
    max-width: 100%;
    min-width: 0;
}

.nncm-search__form .wp-block-search__input {
	flex: 1 1 auto;
	min-width: 0;
}

@media (max-width: 600px) {
	.nncm-search__form .wp-block-search__inside-wrapper {
		flex-wrap: wrap;
	}
	.nncm-search__form .wp-block-search__button {
		width: 100%;
	}
}

@media (min-width:1079px) and (max-width: 1138px){
  .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{ gap: 1rem !important; }
}