/* IGEN public identity: forest, ivory, restrained gold and an editorial scale. */
:root {
  --paper: #f6f7f2;
  --ink: #173a2b;
  --muted: #59685e;
  --line: #d9e0d7;
  --pale: #edf2eb;
  --max: 1280px;
}
body {font-size:1.125rem;line-height:1.7}
h1,h2,h3 {overflow-wrap:anywhere}
h1,h2 {letter-spacing:-.035em;font-weight:500}
.container {width:calc(100% - 112px)}
.eyebrow {font-size:.875rem;letter-spacing:.12em;font-weight:600}
.button {border-radius:2px;min-height:50px;padding:14px 23px;font-weight:500;font-size:.9375rem;max-width:100%;overflow-wrap:anywhere}
.gold-button {background:var(--gold);color:#15392b}
.gold-button:hover {background:#e3ca8d;color:#15392b}
.outline-button {border-color:#ffffff65}
.text-button {padding:9px 0;gap:16px;border:0;border-bottom:1px solid #789582;background:transparent;border-radius:0;min-height:44px}
.text-button:after,.inline-link:after {content:"↗";display:inline-block;margin-left:12px;font-weight:400}
.inline-link {font-weight:500;text-decoration:none;border-bottom:1px solid #9eb4a4;padding-block:8px;min-height:44px;font-size:.9375rem}
.button,.inline-link,a {transition:color .18s ease,background-color .18s ease,border-color .18s ease}
.utility {background:var(--forest);border:0;color:#dfebe0;font-size:.875rem;line-height:1.4}
.utility>.container {padding-block:10px;gap:25px}
.utility div div {display:flex;gap:25px;align-items:center}
.utility a:hover {color:#fff;text-decoration:underline;text-underline-offset:4px}
.header-inner {min-height:104px;gap:40px;padding-block:20px}
.brand img {width:226px}
.site-header {border:0}
.site-header nav {gap:29px;min-width:0;flex-wrap:wrap;justify-content:flex-end}
.site-header nav>a:not(.button) {font-size:.9375rem;font-weight:500;white-space:normal}
.site-header nav>a {max-width:100%;overflow-wrap:anywhere}
.site-header .nav-cta {font-size:.875rem;min-height:48px;padding-inline:20px;margin-left:3px}
.site-header nav>a.mobile-utility {display:none}
.menu-toggle {border:1px solid var(--line);border-radius:2px}
.menu-toggle>span:not(.sr-only) {transition:transform .18s ease}
.menu-toggle[aria-expanded="true"]>span:first-child {transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded="true"]>span:nth-child(2) {transform:translateY(-4px) rotate(-45deg)}

/* Homepage */
.hero {background:var(--forest);color:#fff;padding:78px 0 0}
.hero-layout {display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:8%;align-items:center;padding-bottom:76px}
.hero-copy>.eyebrow {color:var(--gold);margin-bottom:27px}
.hero-copy {min-width:0}
.hero h1 {font-size:clamp(3.5rem,4.8vw,4.7rem);line-height:1.075;max-width:850px;letter-spacing:-.032em}
.hero-copy>p {color:#dce6dd;max-width:60ch;line-height:1.75;font-size:1.125rem;margin-top:27px}
.hero .button-row {gap:13px;margin-top:29px}
.hero-commitments {min-width:0;padding-top:27px}
.commitment-panel>.eyebrow {font-family:'DM Sans',Arial,sans-serif;color:var(--gold);font-size:.875rem;line-height:1.5;letter-spacing:.12em;margin-bottom:21px}
.commitments-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.commitments-grid article {background:#f6f7f2;color:var(--forest);padding:26px 24px 28px;min-width:0}
.commitments-grid h3 {font-family:'Source Serif 4',Georgia,serif;font-size:2rem;font-weight:500;letter-spacing:-.025em;line-height:1.1}
.commitments-grid p {font-size:1rem;line-height:1.65;color:#526357;margin-top:12px}
.commitment-link {background:transparent;border:0;color:#fff;justify-content:flex-start;padding:16px 0 0;min-height:50px;border-radius:0;margin-top:7px}
.commitment-link:after {content:"↗";margin-left:12px;font-weight:400}
.commitment-link:hover {color:var(--gold);background:transparent}
.hero-foot {border-color:#ffffff2f;color:#c9dacb;font-size:.875rem;padding-block:22px;gap:24px}
.hero-foot a {display:flex;align-items:center;gap:35px;min-height:28px;text-decoration:none;color:#fff}
.hero-foot a:hover {color:var(--gold)}
.hero-without-commitments {grid-template-columns:1fr}
.hero-without-commitments .hero-copy>p {max-width:750px}

/* Public sections */
.section {padding:94px 0;border:0}
.section h2 {font-size:clamp(2.5rem,3.2vw,3.4rem);line-height:1.16}
.section-top {align-items:flex-end;gap:12%;margin-bottom:43px}
.section-top>div:first-child {flex:1.6}
.section-summary {font-size:1rem;max-width:360px}
.section-summary.prose>p {margin:0}
.home-page>.section-split {background:var(--paper)}
.split-layout {grid-template-columns:minmax(0,1.17fr) minmax(0,1fr);gap:11%;align-items:start}
.split-layout h2 {max-width:635px;margin-bottom:25px}
.split-layout .prose {max-width:600px;font-size:1rem}
.split-layout .text-button {margin-top:12px}
.value-list {padding-top:0}
.value-list article {border-top:1px solid #bccbbd;padding:25px 0 32px}
.value-list article+article {margin-top:8px}
.value-list h3 {color:#526e59;font-size:.875rem;font-weight:600;letter-spacing:.1em}
.value-list p {font-size:1.5rem;line-height:1.5;letter-spacing:-.015em;margin-top:15px}
.editorial-grid {gap:0 36px}
.editorial-grid article {border-color:#bbcdbf;padding:28px 0 22px}
.index-number {font-size:.875rem;letter-spacing:.05em;margin-bottom:24px;color:#516755}
.editorial-grid h3 {font-family:'Source Serif 4',Georgia,serif;font-size:1.75rem;font-weight:500;line-height:1.25;max-width:400px}
.editorial-grid p {font-size:1rem;margin-top:18px;max-width:440px;overflow-wrap:anywhere}
.editorial-grid .inline-link {margin-top:25px}
.grid-grid[data-count="2"] {grid-template-columns:repeat(2,minmax(0,1fr));gap:8%}
.section-feature {background:var(--paper);color:var(--ink);padding:0}
.section-feature>.container {background:var(--forest);color:#fff;padding:70px 64px}
.feature-layout {grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12%}
.feature-layout .prose {margin-top:24px;font-size:1.0625rem;line-height:1.75;color:#d7e4d9}
.feature-layout .button {margin-top:16px}
.feature-list {grid-template-columns:1fr;gap:0}
.feature-list li {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;font-size:1.0625rem;border-color:#ffffff35}
.feature-list li:after {content:"—";color:var(--gold)}
.section-prose .prose-layout {display:grid;grid-template-columns:minmax(0,1.17fr) minmax(0,1fr);gap:0 11%;max-width:none}
.section-prose .prose-heading h2 {max-width:650px;margin-bottom:0}
.section-prose .prose-content {color:var(--muted);min-width:0}
.section-prose .prose-content>.text-button {margin-top:12px}
.section-prose .section-image {grid-column:1/-1}
.section-stats {background:var(--pale)}
.stats-grid {gap:0 36px}
.stats-grid h3 {font-size:2rem;color:var(--forest)}
.stats-grid article {padding-bottom:30px}
.stats-grid p {max-width:330px}
.section-leadership {background:var(--paper)}
.leadership-grid {gap:10%}
.leadership-grid article {padding-block:32px 0}
.leadership-grid h3 {font-size:2rem}
.role-label {color:#47634e;font-size:.9375rem}
.leadership-grid p {max-width:510px}
.section-news .all-news {margin-top:30px}
.section-cta {padding-block:88px;background:var(--forest)}
.cta-inner {text-align:left;max-width:none;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:0 12%;align-items:start}
.cta-inner>.eyebrow {grid-column:1/-1}
.cta-inner h2 {grid-column:1;grid-row:2/4;max-width:750px;margin:0;font-size:clamp(2.7rem,3.6vw,3.75rem)}
.cta-inner.no-eyebrow h2 {grid-row:1/3}
.cta-inner .prose {grid-column:2;font-size:1.0625rem;margin:0;max-width:460px}
.cta-inner .button-row {grid-column:2;justify-content:flex-start;margin-top:25px;gap:12px}
.cta-inner .button {min-width:165px}
.home-page+.newsletter {background:var(--paper)}

/* Inner pages and reading */
.page-hero {background:var(--paper);padding:30px 0 77px;border:0}
.breadcrumb {font-size:.875rem;margin-bottom:46px;gap:13px}
.page-hero h1 {font-size:clamp(3rem,4.4vw,4.5rem);max-width:1050px;line-height:1.12}
.page-hero p {font-size:1.125rem;line-height:1.75;margin-top:28px;max-width:790px}
.inner-page>.section+.section {border-top:1px solid var(--line)}
.inner-page>.section-feature {padding-block:0;border:0}
.numbered-list h3 {font-size:1.0625rem}
.numbered-list>div {gap:27px;padding:25px 0}
.numbered-list>div>span {font-size:.875rem;min-width:25px}
.prose {font-size:1.0625rem}
.prose p {margin:0 0 1.1rem}
.prose img {max-width:100%;height:auto}
.news-grid h3 {font-family:'Source Serif 4',Georgia,serif;font-size:1.75rem;font-weight:500;line-height:1.25}
.news-grid .article-meta {font-size:.875rem}
.news-grid p {font-size:1rem}
.article-body {max-width:820px}
.article-body .prose {font-size:1.125rem;line-height:1.85}
.article-body .prose h2 {margin-top:40px}
.enquiry-form {background:var(--paper);padding:35px}
.enquiry-form label {font-size:.9375rem}
.contact-layout {grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:10%}
.contact-details dd {overflow-wrap:anywhere}
.filter-bar {margin-block:32px 40px}
input,select,textarea {border-radius:2px;min-height:50px;border-color:#7B907F}
input[type=checkbox] {min-height:20px}
.empty-public {padding-block:40px}
.empty-public h3 {font-size:2.4rem}
.pagination a {border-radius:2px}

/* Newsletter and footer */
.newsletter {background:var(--pale);padding:63px 0;border:0}
.newsletter-grid {grid-template-columns:minmax(0,1.17fr) minmax(0,1fr);gap:11%}
.newsletter h2 {font-size:2.625rem}
.newsletter p {font-size:1rem;max-width:420px}
.newsletter .eyebrow {font-size:.875rem;margin-bottom:14px}
.newsletter .check {font-size:.875rem;color:#5a6b5d}
.newsletter form>label:first-of-type {font-size:.875rem}
.subscribe-row {gap:8px}
.site-footer {padding-top:66px}
.footer-grid {grid-template-columns:minmax(0,1.3fr) minmax(0,1.3fr) minmax(0,1fr);gap:9%}
.footer-brand .brand img {width:222px}
.footer-brand p {font-size:.9375rem;max-width:330px;margin-top:22px}
.footer-brand .muted {font-size:.875rem}
.footer-brand strong {font-size:.875rem;color:#526b55}
.footer-grid h3 {font-size:.875rem;font-weight:600;letter-spacing:.08em}
.footer-links {gap:12px 25px;font-size:.9375rem}
.footer-grid>div:last-child>a,.footer-grid>div:last-child>p {font-size:.9375rem}
.footer-bottom {font-size:.875rem;padding-block:24px;margin-top:52px}
.site-footer a:not(.brand):hover {text-decoration:underline;text-underline-offset:5px}
.setup-fieldset {border:0;padding:0;margin:0 0 28px;min-width:0}
.setup-fieldset legend {font-size:1rem;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:20px;width:100%}
.installation-shell .auth-intro {justify-content:flex-start;padding-top:90px}
.installation-shell .auth-card {max-width:570px}

@media(max-width:1250px) {
  .container {width:calc(100% - 80px)}
  .header-inner {min-height:96px;gap:22px}
  .brand img {width:192px}
  .site-header nav {gap:20px}
  .site-header nav>a:not(.button) {font-size:.875rem}
  .site-header .nav-cta {padding-inline:16px;font-size:.875rem}
  .hero {padding-top:66px}
  .hero-layout {gap:6%;padding-bottom:64px}
  .hero h1 {font-size:clamp(3.4rem,4.8vw,4.3rem)}
  .commitments-grid article {padding:23px 20px}
  .commitments-grid h3 {font-size:1.875rem}
  .section {padding-block:78px}
  .section-feature {padding:0}
  .section-feature>.container {padding:58px 48px}
  .feature-layout {gap:8%}
}
@media(max-width:1080px) {
  .site-header nav {padding:18px 40px 25px;align-items:stretch;justify-content:flex-start;flex-wrap:nowrap;gap:0}
  .site-header nav>a:not(.button) {font-size:1rem;padding-block:15px}
  .site-header nav>a.mobile-utility {display:block}
  .site-header nav>.button {align-self:flex-start;margin-left:0;margin-top:20px}
  .hero-layout {grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
  .hero h1 {font-size:3.25rem}
  .hero-copy>p {font-size:1.125rem}
  .commitments-grid {gap:10px}
  .commitments-grid article {padding:22px 17px}
  .commitments-grid p {font-size:1rem}
  .commitments-grid h3 {font-size:1.75rem}
  .section-top {display:block}
  .section-summary {max-width:700px;margin-top:24px}
  .split-layout,.section-prose .prose-layout {gap:0 7%}
  .value-list p {font-size:1.375rem}
  .feature-layout {grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  .footer-grid {gap:6%}
  .cta-inner {gap:0 7%}
}
@media(max-width:760px) {
  body {font-size:1.0625rem}
  .container {width:calc(100% - 48px)}
  .utility>.container {padding-block:11px}
  .utility-contact a {font-size:.875rem}
  .utility .utility-contact a:first-child {display:inline}
  .utility .utility-phone,.utility .utility-links {display:none}
  .header-inner {min-height:89px;padding-block:18px}
  .brand img {width:192px}
  .site-header nav {padding:12px 24px 25px;max-height:75vh}
  .site-header nav>a:not(.button) {font-size:1rem;line-height:1.5}
  .hero {padding-top:46px}
  .hero-layout {grid-template-columns:minmax(0,1fr);gap:42px;padding-bottom:40px}
  .hero-copy>.eyebrow {font-size:.875rem;letter-spacing:.11em;margin-bottom:23px}
  .hero h1 {font-size:clamp(2.375rem,7.5vw,4rem);line-height:1.075;letter-spacing:-.035em}
  .hero-copy>p {font-size:1.0625rem;line-height:1.75;margin-top:24px}
  .hero .button-row {gap:10px;margin-top:26px}
  .hero .button-row .button {padding-inline:18px;font-size:.875rem}
  .hero-commitments {padding-top:0}
  .commitment-panel>.eyebrow {font-size:.875rem;margin-bottom:18px}
  .commitments-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:10px}
  .commitments-grid article {padding:23px 18px}
  .commitments-grid h3 {font-size:1.625rem}
  .commitments-grid p {font-size:1rem;line-height:1.6}
  .commitment-link {font-size:.9375rem;padding-top:18px;margin-top:0}
  .hero-foot {font-size:.875rem;padding-block:20px;align-items:flex-start;flex-direction:column;gap:13px}
  .hero-foot a {gap:23px}
  .section {padding:58px 0}
  .section h2 {font-size:2.25rem;line-height:1.2}
  .eyebrow {font-size:.875rem;margin-bottom:18px}
  .section-top {margin-bottom:30px}
  .section-summary {margin-top:20px;font-size:1rem}
  .split-layout {grid-template-columns:1fr;gap:37px}
  .split-layout h2 {margin-bottom:23px}
  .split-layout .prose {font-size:1rem}
  .value-list article {padding-block:23px 25px}
  .value-list article+article {margin-top:5px}
  .value-list p {font-size:1.375rem;line-height:1.55}
  .value-list h3 {font-size:.875rem}
  .editorial-grid,.grid-grid[data-count="2"] {grid-template-columns:1fr;gap:30px}
  .editorial-grid article {padding-block:25px 5px}
  .editorial-grid h3 {font-size:1.625rem;max-width:none}
  .editorial-grid p {margin-top:16px;max-width:none}
  .index-number {margin-bottom:21px}
  .editorial-grid .inline-link {margin-top:18px}
  .section-feature {padding:0;background:var(--forest)}
  .section-feature>.container {padding:56px 0}
  .feature-layout {grid-template-columns:1fr;gap:35px}
  .feature-layout .prose {font-size:1rem}
  .feature-list {grid-template-columns:1fr}
  .feature-list li {padding-block:20px;font-size:1rem}
  .section-prose .prose-layout {display:block}
  .section-prose .prose-heading h2 {margin-bottom:25px}
  .section-prose .prose-content>.prose {font-size:1rem}
  .section-prose .prose-content>.text-button {margin-top:12px}
  .stats-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));gap:0 22px}
  .stats-grid h3 {font-size:1.75rem;line-height:1.3}
  .stats-grid article {padding-block:23px 28px}
  .stats-grid p {font-size:.9375rem}
  .leadership-grid {grid-template-columns:1fr;gap:35px}
  .leadership-grid h3 {font-size:1.75rem}
  .leadership-grid article {padding-block:25px 0}
  .cta-inner {display:block}
  .cta-inner h2 {font-size:2.375rem;margin:0 0 27px}
  .cta-inner .prose {font-size:1rem;max-width:none}
  .cta-inner .button-row {margin-top:28px}
  .cta-inner .button {flex:0 1 auto;font-size:.875rem}
  .page-hero {padding:23px 0 50px}
  .breadcrumb {font-size:.875rem;margin-bottom:31px}
  .page-hero h1 {font-size:clamp(2.375rem,7vw,3.25rem);line-height:1.15}
  .page-hero p {font-size:1rem;margin-top:24px}
  .inner-page>.section-feature {padding:0}
  .prose {font-size:1rem}
  .numbered-list {grid-template-columns:1fr}
  .numbered-list h3 {font-size:1rem}
  .numbered-list>div {gap:20px;padding-block:22px}
  .steps {gap:28px}
  .contact-layout {grid-template-columns:1fr;gap:34px}
  .enquiry-form {padding:26px 20px}
  .enquiry-form .form-grid {grid-template-columns:1fr;gap:0}
  .check {font-size:.875rem}
  .newsletter {padding:50px 0}
  .newsletter-grid {grid-template-columns:1fr;gap:29px}
  .newsletter h2 {font-size:2.25rem}
  .newsletter p {font-size:1rem}
  .newsletter .check {font-size:.875rem}
  .subscribe-row .button {font-size:.875rem;padding-inline:18px}
  .subscribe-row {flex-wrap:wrap}
  .subscribe-row input {flex:1 1 12rem}
  .site-footer {padding-top:50px}
  .footer-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:35px 28px}
  .footer-brand {grid-column:1/-1;max-width:450px}
  .footer-brand .brand img {width:210px}
  .footer-brand p {max-width:410px}
  .footer-links {gap:13px}
  .footer-grid h3 {font-size:.875rem}
  .footer-bottom {margin-top:35px;font-size:.875rem}
  .footer-bottom>div {gap:22px}
  .news-grid {gap:30px}
  .news-grid h3 {font-size:2rem}
  .article-body .prose {font-size:1.0625rem}
  .empty-public h3 {font-size:2rem}
  .installation-shell .auth-intro {padding-top:30px}
  .setup-fieldset .form-grid {grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
}
@media(max-width:380px) {
  .container {width:calc(100% - 40px)}
  .hero h1 {font-size:2rem}
  .hero .button-row {flex-direction:column;align-items:stretch}
  .commitments-grid article {padding:20px 15px}
  .commitments-grid h3 {font-size:1.625rem}
  .commitments-grid p {font-size:1rem}
  .stats-grid {grid-template-columns:1fr}
  .footer-grid {grid-template-columns:1fr}
  .footer-brand {grid-column:auto}
  .section h2 {font-size:2.125rem}
  .site-header nav {padding-inline:20px}
}
@media(prefers-reduced-motion:reduce) {
  a,.button,.inline-link,.menu-toggle>span {transition:none}
}

/* Readability rules shared by every public page. */
.section-summary,.split-layout .prose,.editorial-grid p,.feature-layout .prose,
.section-prose .prose-content>.prose,.cta-inner .prose,.page-hero p,.prose,
.numbered-list h3,.numbered-list p,.steps p,.news-grid p,.newsletter p,.maintenance-copy>p,.auth-intro>p {
  font-size:1.125rem;line-height:1.75;
}
.button,.inline-link,.site-header nav>a:not(.button),.site-header .nav-cta,
.enquiry-form label,.contact-details dd {font-size:1rem}
.hero-foot a,.footer-links a {min-height:36px}
.footer-links {gap:3px 25px}
.footer-links a {padding-block:5px}
input,select,textarea {font-size:1rem;min-height:52px}
input::placeholder,textarea::placeholder {color:#5c6b60;opacity:1}
input[type=checkbox] {width:24px;height:24px;min-height:24px}
.eyebrow,.commitment-panel>.eyebrow,.hero-copy>.eyebrow,.value-list h3 {font-size:.875rem;letter-spacing:.1em}
.feature-layout>div,.split-layout>div,.prose-heading {min-width:0}
@media(max-width:760px) {
 .section-summary,.split-layout .prose,.editorial-grid p,.feature-layout .prose,
 .section-prose .prose-content>.prose,.cta-inner .prose,.page-hero p,.prose,
 .numbered-list h3,.numbered-list p,.steps p,.news-grid p,.newsletter p,.maintenance-copy>p,.auth-intro>p {font-size:1.0625rem;line-height:1.75}
 .hero-copy>p {font-size:1.0625rem;line-height:1.75}
 .hero .button-row .button,.cta-inner .button,.subscribe-row .button {font-size:1rem}
 .hero-foot a,.footer-links a {min-height:44px}
 .footer-links {gap:0}
 .commitment-panel>.eyebrow {font-size:.875rem}
 .enquiry-form label,.newsletter form>label:first-of-type {font-size:1rem}
 .hero-foot,.newsletter .check,.footer-bottom {font-size:.875rem}
}
