/* Match the approved 946px composition proportionally at desktop sizes. */
.home .wrap { padding-inline: var(--page-gutter); }
.home .hero {
    position: relative;
    isolation: isolate;
    padding-top: clamp(40px, 4.3vw, 62px);
    min-height: clamp(840px, calc(100svh - 80px), 1080px);
    max-width: var(--frame-width);
    margin-inline: auto;
    overflow: hidden;
}
.home .hero-copy { position: relative; z-index: 1; }
.home .hero-copy > div { max-width: 100%; }
.home .hero .eyebrow {
    font-size: clamp(9px, 1.05vw, 15px);
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: none;
    line-height: 1.6;
    margin-bottom: 0;
    color: #29453a;
}
.home .hero .eyebrow .status-dot {
    display: inline-block;
    width: .9em;
    height: .9em;
    margin-right: 10px;
    filter: invert(66%) sepia(81%) saturate(875%) hue-rotate(29deg) brightness(99%);
}
.home .hero h1 {
    max-width: min(80%, 1450px);
    font-size: clamp(46px, 6.5vw, 112px);
    line-height: 1;
    letter-spacing: -.055em;
    margin-top: clamp(20px, 1.6vw, 24px);
}
.home .hero p {
    max-width: min(67%, 780px);
    font-size: clamp(16px, 1.8vw, 26px);
    line-height: 1.4;
    margin-top: clamp(24px, 2.1vw, 30px);
}
.home .hero .space-top:has(> a) { margin-top: 32px; gap: 24px; }
.home .hero .button, .home .hero .button-outline {
    min-height: 56px;
    font-size: 15px;
    line-height: 1.4;
    padding: 14px 28px;
    border-radius: 4px;
}
.home .hero .button { background: linear-gradient(110deg, #87c70c, #00c65b); border-color: transparent; }
.home .hero-landscape {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center bottom;
    margin: 0;
}
.home .certification-band {
    padding-block: 1.8vw;
    font-size: clamp(8.5px, .88vw, 13px);
    line-height: 1.4;
}
.home .certification-band .wrap { padding: 0; }
.home .certification-band p { max-width: 84%; }
.home .certification-band span { color: var(--green); }
.home .services { padding-top: 4vw; padding-bottom: 4vw; }
.home .services .eyebrow { font-size: clamp(9px, 1vw, 14px); line-height: 1; margin-bottom: 2vw; }
.home .services h2 {
    font-size: clamp(36px, 5.6vw, 81px);
    line-height: 1.02;
    max-width: 80%;
}
.home .services .grid { margin-top: 1.8vw; }
.home .service-column { padding-left: clamp(24px, 2.8vw, 40px); padding-right: clamp(20px, 2vw, 28px); }
.home .service-column:first-child { padding-left: 0; }
.home .service-column:last-child { padding-right: 0; }
.home .service-column::before { font-size: clamp(48px, 5.3vw, 76px); margin-bottom: 1vw; }
.home .service-column h3 { font-size: clamp(19px, 2.3vw, 33px); margin-top: 0; }
.home .service-column p { font-size: clamp(14px, 1.45vw, 21px); line-height: 1.45; margin-top: 1.3vw; }
.home .service-column .source-icon { display: inline-block; width: 1em; height: 1em; margin-left: 8px; color: var(--green); }
.home .service-column ul { font-size: clamp(11px, 1.1vw, 16px); margin-block: 1.4vw; line-height: 1.5; }
.home .service-column a span:last-child { font-size: clamp(13px, 1.45vw, 21px); margin-top: 1.3vw; }
.home .services .services-note { font-size: clamp(12px, 1.3vw, 18px); margin-top: 3vw; }
.home .services .service-features { gap: 0; margin-top: 16px; }
.home .service-features > div { padding-inline: clamp(24px, 2.8vw, 40px); border-left: 1px solid var(--line); }
.home .service-features > div:first-child { padding-left: 0; border-left: 0; }
.home .service-features > div:last-child { padding-right: 0; }
.home .service-features ul { font-size: clamp(11px, 1.2vw, 17px); line-height: 1.65; margin: 0; }
.home .green-section { padding-block: 4.5vw; }
.home .green-section > .wrap > .grid { gap: clamp(32px, 5.8vw, 80px); grid-template-columns: .9fr 1.1fr; }
.home .green-section .eyebrow { font-size: clamp(9px, 1vw, 14px); margin-bottom: 1.8vw; }
.home .green-section h2 { font-size: clamp(30px, 4vw, 58px); line-height: 1.1; }
.home .green-section > .wrap > .grid > div:first-child p { font-size: clamp(15px, 1.65vw, 24px); line-height: 1.45; margin-top: 1.8vw; }
.home .green-section img { height: 35vw; max-height: 520px; object-position: center; }
.home .green-section ul { font-size: clamp(12px, 1.2vw, 17px); }
.home .green-section li { margin-bottom: 12px; }
.home .green-section .grid .grid { gap: 20px; margin-top: 24px; }
.home .green-section .grid .grid p { font-size: 14px; margin-top: 8px; }
.home .green-section .green-support { margin-top: 40px; border-top: 1px solid #49604f; padding-top: 28px; }
.home .green-section .green-support ul { margin: 0; }
.home .green-section .green-support .grid { margin-top: 0; }
.home .green-section .button { min-height: 44px; font-size: clamp(13px, 1.65vw, 24px); margin-top: 2.4vw; }
.home .console-section .tertiary-link { margin-left: 24px; text-decoration: underline; }
@media (max-width: 760px) {
    .home .wrap { padding-inline: 24px; }
    .home .hero { min-height: 0; padding-top: 32px; padding-bottom: 350px; }
    .home .hero h1 { font-size: 44px; max-width: 100%; margin-top: 24px; line-height: 1.05; }
    .home .hero p { max-width: 100%; font-size: 16px; margin-top: 20px; line-height: 1.5; }
    .home .hero .eyebrow { font-size: 10px; }
    .home .hero .space-top:has(> a) { margin-top: 24px; gap: 12px; }
    .home .hero .button, .home .hero .button-outline { min-height: 48px; font-size: 13px; padding: 12px 20px; }
    .home .hero-landscape { top: auto; bottom: 0; height: 650px; object-position: center bottom; }
    .home .certification-band { padding-block: 20px; }
    .home .certification-band p { max-width: 100%; }
    .home .services { padding-block: 44px; }
    .home .services h2 { font-size: 34px; max-width: 100%; }
    .home .services .eyebrow { margin-bottom: 20px; }
    .home .services .grid { margin-top: 30px; }
    .home .service-column::before { font-size: 48px; margin-bottom: 16px; }
    .home .service-column h3 { font-size: 22px; }
    .home .service-column p { font-size: 16px; margin-top: 16px; }
    .home .service-column ul { font-size: 13px; margin-block: 16px; }
    .home .service-column a span:last-child { font-size: 14px; margin-top: 16px; }
    .home .services .services-note { font-size: 14px; margin-top: 28px; }
    .home .service-features > div { padding: 0; border: 0; }
    .home .service-features ul { font-size: 13px; }
    .home .green-section { padding-block: 44px; }
    .home .green-section h2 { font-size: 34px; }
    .home .green-section > .wrap > .grid > div:first-child p { font-size: 16px; margin-top: 20px; }
    .home .green-section img { height: 320px; }
    .home .green-section ul { font-size: 14px; }
    .home .green-section > .wrap > .grid { grid-template-columns: 1fr; }
}

/* Consistent full-width sections and aligned content rows. */
.home .strategy-section, .home .console-section, .home .news-section, .home .contact-section { padding-block: clamp(56px, 6vw, 88px); }
.home .strategy-layout, .home .console-layout, .home .contact-layout { margin-top: 0; gap: clamp(36px, 5vw, 72px); }
.home .strategy-layout { grid-template-columns: .9fr 1.1fr; align-items: stretch; }
.home .strategy-layout > div:first-child > div { height: 100%; }
.home .strategy-section { padding-block: 0; }
.home .strategy-layout > div:last-child { padding-block: clamp(28px, 3vw, 48px); }
.home .strategy-layout img { height: 100%; max-height: none; object-position: 42% center; }
.home .strategy-section h2, .home .console-section h2, .home .contact-section h2 { font-size: clamp(32px, 3.5vw, 50px); line-height: 1.12; }
.home .strategy-section .eyebrow, .home .news-section .eyebrow, .home .contact-section .eyebrow { margin-bottom: 18px; }
.home .strategy-stages { margin-top: 28px; }
.home .strategy-step { padding-block: 20px; border-top: 1px solid var(--line); }
.home .strategy-step:last-child { padding-bottom: 0; }
.home .strategy-step > div { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 16px; }
.home .strategy-step > div > span { font-size: 12px; line-height: 26px; color: var(--green); font-weight: 700; }
.home .strategy-step h3 { font-size: 21px; }
.home .strategy-step p.space-top { margin-top: 10px; }
.home .console-layout { grid-template-columns: .85fr 1.15fr; align-items: start; }
.home .console-layout > div:first-child { padding-right: 24px; }
.home .console-layout > div:first-child > div > span:first-child { display: flex; gap: 8px; align-items: center; font-size: 12px; margin-bottom: 22px; }
.home .console-layout h2 { max-width: 420px; }
.home .console-layout p { font-size: 16px; }
.home .console-layout a.space-top { display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; }
.home .console-section .tertiary-link { margin-left: 24px; }
.home .console-features { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; margin-top: 0; }
.home .console-features > div { padding-top: 22px; border-top: 1px solid #bac5b4; }
.home .console-features h3 { font-size: 21px; min-height: 54px; }
.home .console-features p { margin-top: 14px; font-size: 15px; }
.home .news-section h2 { font-size: clamp(34px,4vw,58px); }
.home .news-section .wrap > div:first-child > div { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 24px; }
.home .news-section .wrap > div:first-child > div { max-width: none; }
.home .news-section .wrap > div:first-child > div > a { white-space: nowrap; font-size: 14px; }
.home .news-grid { gap: 32px; margin-top: 32px; }
.home .news-card { display: grid; grid-template-rows: auto 1fr; }
.home .news-card > a:first-child { display: block; }
.home .news-card img { width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; }
.home .news-card h3 { font-size: clamp(20px,1.7vw,24px); line-height: 1.35; }
.home .news-card p { margin-top: 18px; font-size: 15px; }
.home .contact-layout { grid-template-columns: minmax(0,1fr) minmax(0,800px); align-items: start; }
.home .contact-layout h2 { max-width: 440px; }
.home .contact-layout > div:first-child p { max-width: 430px; font-size: 16px; }
.home .contact-layout form { width: 100%; max-width: none; }
.home .contact-layout form .grid:first-child { margin-top: 0; }
.home .contact-layout form input, .home .contact-layout form select { min-height: 56px; font-size: 14px; }
.home .contact-layout form textarea { min-height: 168px; font-size: 14px; resize: vertical; }
.home .contact-layout form p { font-size: 12px; }
.home .service-column { display: flex; flex-direction: column; }
.home .service-column > a { flex: 1; display: flex; flex-direction: column; }
.home .service-column > a > div { flex: 1; display: flex; flex-direction: column; }
.home .service-column h3 { min-height: 2.6em; }
.home .service-column p { margin-bottom: 26px; }
.home .service-column a span:last-child { margin-top: auto; align-self: start; }
.home .services h2 { max-width: 100%; font-size: clamp(36px,5.1vw,73px); }
@media (max-width: 760px) {
    .home .strategy-layout, .home .console-layout, .home .contact-layout { grid-template-columns: 1fr; gap: 32px; }
    .home .strategy-layout img { height: 340px; }
    .home .strategy-step > div { grid-template-columns: 1fr; gap: 8px; }
    .home .strategy-step h3 { font-size: 20px; }
    .home .console-layout > div:first-child { padding-right: 0; }
    .home .console-features { grid-template-columns: 1fr; gap: 24px; }
    .home .console-features h3 { min-height: 0; }
    .home .news-grid { gap: 32px; }
    .home .news-card h3 { font-size: 22px; }
    .home .service-column h3 { min-height: 0; }
    .home .service-column a span:last-child { margin-top: 0; }
}
.home .news-card > a { display: grid; grid-template-rows: auto 1fr; height: 100%; }
.home .news-card > a > div:last-child { display: grid; grid-template-rows: auto minmax(calc(clamp(20px, 1.7vw, 24px) * 4.05), auto) 1fr; gap: 12px; margin-top: 18px; }
.home .news-card > a > div:last-child > div > span { color: var(--green); font-size: 11px; letter-spacing: .04em; }
.home .news-card h3 { margin-top: 0; }
.home .news-card p { margin-top: 0; }
.home .console-features > div > div > span { display: inline-block; margin-top: 18px; font-size: 11px; color: var(--green); }
@media(max-width:760px){.home .news-card > a > div:last-child{grid-template-rows:auto auto auto}}

.home .article-media { aspect-ratio: 3 / 2; overflow: hidden; }
.home .news-card .article-media img { width: 100%; height: 100%; max-height: none; aspect-ratio: auto; object-fit: cover; }

@media (min-width: 761px) {
    .home .hero::after { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(90deg, rgb(247 246 241 / 96%) 0%, rgb(247 246 241 / 82%) 38%, rgb(247 246 241 / 8%) 78%); }
}

.home .services .services-note { max-width: 1100px; font-size: clamp(22px, 2vw, 32px); font-weight: 800; line-height: 1.4; color: var(--green); }
.home .contact-layout form p { max-width: 90ch; }
@media (min-width: 1600px) {
    .home .news-card > a > div:last-child { grid-template-rows: auto minmax(65px,auto) 1fr; }
}
@media (max-width: 1500px) and (min-width: 761px) {
    .home .contact-layout { grid-template-columns: .8fr 1.2fr; }
}
@media (max-width: 760px) {
    .home .contact-layout { grid-template-columns: 1fr; }
}

/* Registration belongs on the landscape, grouped with the left hero content. */
.home .certification-band { position: relative; z-index: 1; border: 0; padding-block: 0; margin-top: 40px; }
.home .certification-band > a { display: block; }
.home .certification-band .wrap { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.home .certification-band p { max-width: 760px; margin: 0; font-size: 17px; line-height: 1.6; color: var(--ink); }
.home .certification-band span { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; }
@media (max-width: 760px) {
    .home .certification-band { margin-top: 32px; }
    .home .certification-band p { font-size: 15px; }
    .home .certification-band span { font-size: 14px; margin-top: 0; }
    .home .hero::after { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(180deg, transparent 35%, rgb(247 246 241 / 94%) 62%, transparent 82%); }
}
