/* Shared controls: compact primary actions, quiet secondary links, consistent sizing. */
:root {
    --gr-control-radius: 6px;
    --gr-control-height: 44px;
    --gr-control-border: #b8c6ac;
}
:is(.gr-button.gr-button, .gr-nav .gr-nav-cta, main .btn) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: var(--gr-control-height);
    max-width: 100%;
    padding: 10px 17px;
    border: 1px solid transparent;
    border-radius: var(--gr-control-radius);
    background: var(--gr-dark);
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    cursor: pointer;
    box-shadow: none;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
:is(.gr-button.gr-button, main .btn):hover {
    background: #355340;
    border-color: transparent;
    color: #fff;
    text-decoration: none;
    transform: none;
    box-shadow: none;
}
:is(.gr-button.gr-button, .gr-nav .gr-nav-cta, main .btn) > span[aria-hidden="true"] {
    flex-shrink: 0;
    font-size: 15px;
    line-height: 1;
    opacity: .75;
}
:is(.gr-button.gr-button-outline, .gr-nav .gr-nav-cta, main .btn-secondary, main .btn-outline-secondary) {
    background: transparent;
    border-color: var(--gr-control-border);
    color: var(--gr-ink);
}
:is(.gr-button.gr-button-outline, .gr-nav .gr-nav-cta, main .btn-secondary, main .btn-outline-secondary):hover {
    background: #e8ede2;
    border-color: #8da17c;
    color: var(--gr-ink);
}
.gr-text-link.gr-text-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    min-height: 40px;
    max-width: 100%;
    padding: 7px 0;
    border: 0;
    border-radius: 2px;
    color: var(--gr-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    text-decoration: none;
}
.gr-text-link.gr-text-link > span[aria-hidden="true"] {
    flex-shrink: 0;
    font-size: 14px;
    line-height: 1;
    opacity: .65;
}
.gr-text-link.gr-text-link:hover {
    color: var(--gr-accent);
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
}
:is(.gr-values, .gr-about-platform, .gr-co-connected, .gr-cu-values, .gr-fc-support, .gr-in-philosophy, .gr-gv-approach) .gr-text-link {
    color: var(--gr-paper);
}
:is(.gr-in-contact-actions, .gr-fc-closing-actions, .gr-co-contact-actions, .gr-hi-actions, .gr-gv-closing-links, .gr-pf-private-actions) {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 20px;
    max-width: 100%;
}
.gr-actions, .gr-co-actions {
    gap: 10px 20px;
}
.gr-nav .gr-nav-cta {
    font-size: 13px;
    padding-inline: 15px;
}
.gr-menu-toggle {
    border-radius: var(--gr-control-radius);
    min-height: var(--gr-control-height);
}
.gr-pf-access-form input[type=password], .contact-form .form-control {
    border-radius: var(--gr-control-radius);
}
.gr-pf-access-form input[type=password] {
    min-height: var(--gr-control-height);
    padding: 9px 12px;
}
:is(.gr-button.gr-button, .gr-nav .gr-nav-cta, main .btn, .gr-text-link.gr-text-link):focus-visible {
    outline: 3px solid #8aa36b;
    outline-offset: 3px;
}
:is(.gr-button.gr-button, main .btn):disabled {
    opacity: .55;
    cursor: not-allowed;
}
@media (max-width: 850px) {
    .gr-nav .gr-nav-cta {
        justify-content: center;
        padding: 10px 17px;
    }
}
@media (prefers-reduced-motion: reduce) {
    :is(.gr-button.gr-button, .gr-nav .gr-nav-cta, main .btn) {
        transition: none;
    }
}
.gr-nav .gr-nav-cta[aria-current=page] {
    text-decoration: none;
    background: #e8ede2;
    border-color: #8da17c;
}
