/* Public company site only. Private screens retain their own fonts and controls. */
@font-face {
    font-family:"Gambit Public Sans";
    font-style:normal;
    font-weight:400;
    font-display:block;
    src:url("/fonts/public/FiraGO-Regular.woff2") format("woff2")
}
@font-face {
    font-family:"Gambit Public Sans";
    font-style:normal;
    font-weight:500;
    font-display:block;
    src:url("/fonts/public/FiraGO-Medium.woff2") format("woff2")
}
@font-face {
    font-family:"Gambit Public Sans";
    font-style:normal;
    font-weight:700;
    font-display:block;
    src:url("/fonts/public/FiraGO-Bold.woff2") format("woff2")
}
.public-site {
    --public-ink:#20312e;
    --public-muted:#52615c;
    --public-teal:#245b5b;
    --public-paper:#fafbf8;
    --public-line:#d4ddd7;
    --public-mint:#dcebe0;
    --public-surface:#fff;
    --public-radius:1.25rem;
    --public-radius-small:.75rem;
    --public-shadow:0 12px 32px -22px #20312e40;
    color:var(--public-ink);
    background:var(--public-paper);
    font-family:"Gambit Public Sans",sans-serif;
    font-size:1rem;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    font-synthesis:none
}
.public-site *,.public-site *::before,.public-site *::after {
    box-sizing:border-box
}
.public-site [hidden] {
    display:none!important
}
.public-site h1,.public-site h2,.public-site h3,.public-site h4,.public-site p,.public-site figure {
    margin:0
}
.public-site h1,.public-site h2,.public-site h3,.public-site h4 {
    font-family:inherit;
    font-weight:600;
    color:inherit;
    overflow-wrap:normal;
    word-break:normal
}
.public-site h1,.public-site h2 {
    line-height:1.25;
    letter-spacing:-.035em
}
.public-site h2 {
    font-size:clamp(1.8rem,2.8vw,2.65rem)
}
.public-site h3 {
    font-size:1.25rem;
    line-height:1.5;
    letter-spacing:-.02em
}
.public-site a {
    color:inherit;
    text-decoration:none;
    overflow-wrap:normal
}
.public-site p,.public-site label {
    overflow-wrap:normal
}
.public-site button,.public-site input,.public-site textarea,.public-site select {
    font:inherit
}
.public-site button {
    cursor:pointer
}
.public-site svg {
    fill:none;
    stroke:currentColor;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round
}
.public-icons {
    position:absolute;
    width:0;
    height:0;
    overflow:hidden
}
.public-site :focus-visible {
    outline:3px solid var(--public-teal);
    outline-offset:4px
}
.public-site main:focus {
    outline:none
}
.public-site main[id],.public-site section[id],.public-enquiry__preview {
    scroll-margin-top:var(--public-header-offset,max(130px,6rem))
}
.public-wrap {
    width:min(100% - 5rem,1240px);
    margin-inline:auto
}
.public-site .skip-link {
    position:fixed;
    z-index:100;
    top:10px;
    left:10px;
    padding:12px 20px;
    background:white;
    transform:translateY(-200%)
}
.public-site .skip-link:focus {
    transform:none
}
.public-header {
    position:sticky;
    top:0;
    z-index:30;
    background:var(--public-paper);
    border-bottom:1px solid var(--public-line)
}
.public-header__inner {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:1.6rem;
    min-height:92px;
    padding-block:12px
}
.public-brand {
    display:inline-flex;
    flex-shrink:0
}
.public-brand img {
    display:block;
    width:160px;
    height:auto;
    mix-blend-mode:multiply
}
.public-nav {
    display:flex;
    align-items:center;
    gap:1.7rem;
    margin-left:auto;
    font-size:.875rem;
    font-weight:500;
    white-space:nowrap
}
.public-nav a {
    padding-block:12px;
    min-height:44px
}
.public-nav a:hover,.public-nav a[aria-current],.public-footer a:hover {
    text-decoration:underline;
    text-underline-offset:6px
}
.public-language {
    flex-shrink:0
}
.public-site .public-lang-switch {
    display:inline-flex;
    gap:0;
    padding:0;
    border:1px solid var(--public-line);
    border-radius:var(--radius-md);
    background:none;
    margin:0;
    font-size:.75rem;
    white-space:nowrap
}
.public-site .public-lang-switch a {
    display:flex;
    align-items:center;
    min-height:44px;
    min-width:44px;
    justify-content:center;
    padding:8px;
    background:none;
    border:0;
    border-radius:0;
    color:var(--public-muted)
}
.public-site .public-lang-switch a[aria-current] {
    color:var(--public-ink);
    font-weight:600;
    background:var(--color-accent-tint);
    box-shadow:inset 0 -2px 0 var(--color-accent)
}
.public-site .public-lang-switch a + a {
    border-left:1px solid var(--public-line)
}
.public-site .public-lang-switch a:hover {
    background:var(--color-accent-tint);
    text-decoration:none
}
.public-site .public-lang-switch a:focus-visible {
    outline:2px solid var(--public-teal);
    outline-offset:-4px
}
.public-site .lang-switch__flag {
    stroke:none
}
.public-nav-cta {
    display:inline-flex;
    gap:1.5rem;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 17px;
    background:var(--public-ink);
    color:white!important;
    font-size:.875rem;
    font-weight:500;
    white-space:nowrap;
    border-radius:var(--public-radius-small)
}
.public-nav-cta:hover {
    background:var(--public-teal)
}
.public-menu {
    display:none;
    position:relative;
    margin-left:auto
}
.public-menu summary {
    display:flex;
    gap:.6rem;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    list-style:none;
    min-height:44px;
    padding:8px;
    font-size:.875rem;
    font-weight:500
}
.public-menu summary::-webkit-details-marker {
    display:none
}
.public-menu summary svg {
    width:22px;
    height:22px;
    flex:none
}
.public-menu__panel {
    position:absolute;
    right:0;
    top:calc(100% + 15px);
    width:min(26rem,calc(100vw - 32px));
    padding:16px 22px;
    background:var(--public-paper);
    border:1px solid var(--public-line);
    box-shadow:0 16px 35px #20312e12;
    max-height:65vh;
    overflow:auto
}
.public-menu__panel>a {
    display:block;
    padding:12px 0;
    min-height:44px;
    border-bottom:1px solid var(--public-line)
}
.public-menu__panel .public-lang-switch {
    margin-top:12px
}
.public-header--compact .public-nav,.public-header--compact .public-language {
    display:none
}
.public-header--compact .public-menu {
    display:block
}
.public-eyebrow {
    font-size:.8125rem;
    font-weight:600;
    color:var(--public-teal);
    letter-spacing:.01em
}
.public-hero {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:center;
    gap:3rem;
    padding-block:64px 52px
}
.public-hero__copy {
    min-width:0
}
.public-hero h1 {
    font-size:clamp(2.5rem,3.7vw,3.35rem);
    font-weight:600;
    margin-top:22px;
    max-width:660px
}
.public-hero h1 span {
    display:block;
    color:var(--public-teal)
}
.public-hero__lead {
    max-width:560px;
    margin-top:24px!important;
    font-size:1rem;
    color:var(--public-muted);
    line-height:1.85
}
.public-hero__actions {
    display:flex;
    align-items:center;
    gap:1.6rem;
    flex-wrap:wrap;
    margin-top:30px
}
.public-primary-button {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
    background:var(--public-teal);
    color:white!important;
    border:1px solid var(--public-teal);
    border-radius:var(--public-radius-small);
    box-shadow:0 8px 20px -14px #245b5b80;
    transition:background .2s ease,border-color .2s ease;
    min-height:52px;
    padding:13px 21px;
    font-size:.9375rem;
    font-weight:500
}
.public-primary-button:hover {
    background:var(--public-ink);
    border-color:var(--public-ink)
}
.public-primary-button span,.public-text-link span {
    font-size:1.2rem
}
.public-text-link {
    display:inline-flex;
    gap:1.1rem;
    align-items:center;
    min-height:44px;
    font-size:.875rem;
    font-weight:600;
    color:var(--public-teal)!important
}
.public-text-link:hover {
    text-decoration:underline;
    text-underline-offset:5px
}
.public-hero__phone {
    display:flex;
    align-items:baseline;
    gap:1.15rem;
    flex-wrap:wrap;
    margin-top:22px;
    font-size:.75rem;
    color:var(--public-muted)
}
.public-hero__phone a {
    font-size:.9375rem;
    font-weight:600;
    color:var(--public-ink);
    min-height:44px;
    display:inline-flex;
    align-items:center
}
/* The first screen helps a visitor choose a task; no decorative support map. */
.public-hero__note {
    margin-top:1rem!important;
    color:var(--public-muted);
    font-size:.8125rem
}
.public-help-start {
    min-width:0;
    padding:2rem;
    border:1px solid #c7d8ce;
    border-radius:1.5rem 1.5rem 1.5rem .375rem;
    background:#e8f0e7
}
.public-help-start h2 {
    font-size:1.75rem;
    margin-top:.75rem
}
.public-help-start__lead,.public-help-start__note {
    color:var(--public-muted);
    font-size:.875rem;
    margin-top:.75rem!important
}
.public-help-start__examples {
    list-style:none;
    padding:0;
    margin:1.25rem 0
}
.public-help-start__examples li+li {margin-top:.625rem}
.public-help-start__examples a {
    display:grid;
    grid-template-columns:2rem minmax(0,1fr) 1rem;
    align-items:center;
    gap:.75rem;
    min-height:56px;
    padding:.875rem;
    border:1px solid #c3d3c8;
    border-radius:.625rem;
    background:var(--public-surface);
    font-size:.875rem;
    font-weight:500
}
.public-help-start__examples a:hover {
    border-color:var(--public-teal);
    color:var(--public-teal)
}
.public-help-start__examples a>span:first-child {
    display:grid;
    place-items:center;
    width:2rem;
    height:2rem;
    color:var(--public-teal);
    border:1px solid var(--public-line);
    border-radius:.375rem;
    font-size:1rem
}
.public-confidence {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:2rem;
    padding-block:1.5rem;
    border-block:1px solid var(--public-line)
}
.public-confidence h2 {font-size:1rem;line-height:1.6;letter-spacing:normal}
.public-confidence p {font-size:.875rem;color:var(--public-muted);margin-top:.375rem!important}
.public-service-once {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
    margin-bottom:2rem;
    padding:1.5rem 2rem;
    border:1px solid #c7d8ce;
    border-radius:var(--public-radius);
    background:#e8f0e7
}
.public-service-once>div {min-width:0;max-width:46rem}
.public-service-once h2 {font-size:1.5rem;margin-top:.5rem}
.public-service-once p:last-child {font-size:.875rem;color:var(--public-muted);margin-top:.75rem!important}
.public-service-once>a {flex-shrink:0}
.public-footer__contact {display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.875rem}
.public-footer__contact>a {display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.public-context {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.625rem;
    padding-block:.75rem;
    font-size:.75rem;
    font-weight:500
}
.public-context p {
    padding:.4rem .875rem;
    border:1px solid var(--public-line);
    border-radius:2rem;
    background:#f0f5ef
}
.public-context p:first-child {
    border-color:#c6d9cd;
    color:var(--public-teal);
    font-weight:600
}
.public-section {
    padding-block:84px
}
.public-section__heading {
    display:flex;
    justify-content:space-between;
    gap:2rem;
    align-items:end;
    margin-bottom:40px
}
.public-section__heading h2 {
    margin-top:12px
}
.public-services {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.5rem
}
.public-service {
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:1.5rem;
    border:1px solid var(--public-line);
    border-radius:var(--public-radius);
    background:var(--public-surface);
    box-shadow:var(--public-shadow)
}
.public-service__visual {
    width:80px;
    height:64px;
    margin-bottom:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:var(--public-radius-small)
}
.public-service__visual svg {
    width:72px;
    height:58px;
    stroke-width:1.8;
    position:relative
}
.public-service--people .public-service__visual {
    color:#245b5b;
    background:#e7f1eb
}
.public-service--systems .public-service__visual {
    color:#526854;
    background:#e5e9dc
}
.public-service--project .public-service__visual {
    color:#635947;
    background:#eee8dc
}
.public-service h3 {
    font-size:1.3rem;
    line-height:1.45;
    max-width:330px
}
.public-service>p {
    font-size:.9375rem;
    color:var(--public-muted);
    margin-top:14px
}
.public-service .public-service__examples {
    font-size:.8125rem;
    line-height:1.8;
    padding-top:14px;
    margin-top:18px;
    border-top:1px solid var(--public-line)
}
.public-service__link {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-top:auto;
    padding-top:20px;
    min-height:44px;
    color:var(--public-teal)!important;
    font-size:.8125rem;
    font-weight:600
}
.public-service__link:hover {
    text-decoration:underline;
    text-underline-offset:5px
}
.public-formats {
    background:#eef3ec;
    border-block:1px solid var(--public-line)
}
.public-formats__grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);
    gap:5rem
}
.public-formats__intro h2 {
    margin-top:16px;
    max-width:500px
}
.public-formats__intro>p:last-child {
    margin-top:22px;
    font-size:.9375rem;
    color:var(--public-muted);
    max-width:470px
}
.public-modes {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem
}
.public-mode {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:1.5rem;
    border:1px solid #d6e2d8;
    border-radius:var(--public-radius);
    background:var(--public-surface);
    box-shadow:var(--public-shadow)
}
.public-mode__icon {
    width:2.5rem;
    height:2.5rem;
    padding:.375rem;
    margin-bottom:1rem;
    border-radius:var(--public-radius-small);
    color:var(--public-teal);
    background:var(--public-mint)
}
.public-mode h3 {
    font-size:1.125rem
}
.public-mode p {
    margin-top:.875rem;
    margin-bottom:1rem;
    font-size:.875rem;
    color:var(--public-muted)
}
.public-mode a {
    margin-top:auto;
    padding-top:.5rem;
    font-size:.8125rem
}
.public-modes__note {
    grid-column:1/-1;
    font-size:.75rem;
    color:var(--public-muted)
}
.public-process {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,2fr);
    gap:2rem;
    padding-top:2rem;
    margin-top:2.5rem;
    border-top:1px solid #c4d2c5
}
.public-process h3 {
    font-size:1rem
}
.public-process ol {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.5rem;
    list-style:none;
    padding:0;
    margin:0;
    counter-reset:steps
}
.public-process li {
    position:relative;
    counter-increment:steps;
    font-size:.8125rem
}
.public-process li::before {
    content:counter(steps,decimal-leading-zero);
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    z-index:1;
    width:2rem;
    height:2rem;
    border:1px solid #c6d9cd;
    border-radius:50%;
    background:var(--public-surface);
    font-size:.75rem;
    font-weight:600;
    color:var(--public-teal);
    margin-bottom:.75rem
}
.public-process li:not(:last-child)::after {
    content:"";
    position:absolute;
    top:1rem;
    left:2.5rem;
    width:calc(100% - 1rem);
    border-top:1px solid #c6d9cd
}
.public-process strong {
    font-weight:600
}
.public-process p {
    color:var(--public-muted);
    margin-top:.5rem
}
.public-faq {
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:5rem;
    padding-block:76px
}
.public-faq h2 {
    font-size:1.8rem
}
.public-faq details {
    border-bottom:1px solid var(--public-line)
}
.public-faq details:first-child {
    border-top:1px solid var(--public-line)
}
.public-faq summary {
    padding:18px 25px 18px 0;
    cursor:pointer;
    position:relative;
    list-style:none;
    font-size:.9375rem;
    font-weight:500
}
.public-faq summary::-webkit-details-marker {
    display:none
}
.public-faq summary::after {
    content:"+";
    position:absolute;
    right:0;
    top:17px;
    font-size:1.2rem;
    font-weight:400
}
.public-faq details[open] summary::after {
    content:"−"
}
.public-faq details p {
    padding:0 0 20px;
    font-size:.875rem;
    color:var(--public-muted)
}
.public-contact {
    border-top:1px solid var(--public-line);
    padding-block:78px;
    background:white
}
.public-contact__inner {
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:5rem
}
.public-contact h2 {
    margin-top:16px;
    max-width:500px
}
.public-contact__hint {
    margin-top:20px!important;
    font-size:.9375rem;
    color:var(--public-muted);
    max-width:460px
}
.public-contact__options {
    display:flex;
    flex-direction:column;
    align-items:start;
    gap:7px;
    margin-top:25px;
    font-size:1.15rem;
    font-weight:600
}
.public-contact__options a {
    display:flex;
    align-items:center;
    min-height:44px
}
.public-contact__options a[href^="mailto"] {
    overflow-wrap:anywhere
}
.public-contact__options a:hover {
    text-decoration:underline;
    text-underline-offset:6px
}
.public-contact__hours {
    margin-top:28px;
    font-size:.8125rem;
    color:var(--public-muted);
    max-width:440px
}
.public-contact__hours h3 {
    font-size:.875rem;
    color:var(--public-ink);
    margin-bottom:10px
}
.public-contact__hours p+p {
    margin-top:8px
}
.public-enquiry {
    min-width:0;
    padding:clamp(1.25rem,2.5vw,2rem);
    border:1px solid var(--public-line);
    border-radius:var(--public-radius);
    background:var(--public-surface);
    box-shadow:var(--public-shadow);
    container:public-enquiry / inline-size
}
.public-enquiry__heading {
    padding-bottom:1.25rem;
    border-bottom:1px solid var(--public-line)
}
.public-enquiry__lead {
    font-size:.875rem;
    color:var(--public-muted);
    margin-top:.5rem!important;
    max-width:38rem
}
.public-enquiry__fields {
    border:0;
    padding:0;
    margin:1.5rem 0 0;
    min-width:0
}
.public-enquiry__field {
    display:flex;
    flex-direction:column;
    gap:8px;
    min-width:0
}
.public-enquiry__field label {
    font-size:.875rem;
    font-weight:600;
    line-height:1.6
}
.public-enquiry__field label small {
    display:inline-block;
    margin-left:.375rem;
    font-size:.75rem;
    font-weight:400;
    color:var(--public-muted)
}
.public-enquiry textarea,.public-enquiry input,.public-enquiry select {
    width:100%;
    max-width:100%;
    min-width:0;
    border:1px solid #7b8583;
    border-radius:var(--public-radius-small);
    background:var(--public-surface);
    color:var(--public-ink);
    padding:.875rem 1rem;
    font-size:.9375rem;
    box-shadow:inset 0 1px 2px #20312e06;
    transition:border-color .18s,box-shadow .18s
}
.public-enquiry textarea {
    min-height:11rem;
    resize:vertical;
    line-height:1.75
}
.public-enquiry textarea::placeholder {
    color:#61706a
}
.public-enquiry input,.public-enquiry select {
    min-height:3rem;
    font-size:.875rem
}
.public-enquiry textarea:focus,.public-enquiry input:focus,.public-enquiry select:focus {
    border-color:var(--public-teal);
    box-shadow:0 0 0 3px #245b5b12
}
.public-enquiry textarea[aria-invalid="true"] {
    border-color:#9a2525
}
.public-enquiry__hint,.public-enquiry__draft-state {
    font-size:.75rem;
    color:var(--public-muted);
    line-height:1.7;
    margin-top:9px!important
}
.public-enquiry__error {
    font-size:.8125rem;
    color:#9a2525;
    margin-top:8px!important
}
.public-enquiry #public-enquiry-safety {
    margin-top:.25rem!important;
    padding:.75rem 1rem;
    border-radius:var(--public-radius-small);
    background:#f1f5ef
}
.public-enquiry__details {
    margin-top:1.25rem;
    border:1px solid var(--public-line);
    border-radius:var(--public-radius-small);
    background:var(--public-paper)
}
.public-enquiry__details summary {
    cursor:pointer;
    padding:.875rem 1rem;
    min-height:44px;
    font-size:.8125rem;
    font-weight:600;
    border-radius:var(--public-radius-small)
}
.public-enquiry__details summary:hover {
    color:var(--public-teal)
}
.public-enquiry__details[open] summary {
    border-bottom:1px solid var(--public-line);
    border-radius:var(--public-radius-small) var(--public-radius-small) 0 0
}
.public-enquiry__optional-fields {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.25rem;
    padding:1rem;
    margin:0
}
/* Localized labels may wrap; controls in the same row keep one baseline. */
.public-enquiry__optional-fields .public-enquiry__field {
    justify-content:flex-end
}
.public-enquiry__optional-fields .public-enquiry__field:last-child {
    grid-column:1/-1
}
.public-enquiry__actions {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:1.25rem
}
.public-enquiry>.public-enquiry__actions {
    padding-top:1.25rem;
    border-top:1px solid var(--public-line)
}
.public-enquiry .public-inline-action {
    text-align:center;
    gap:.75rem
}
.public-inline-action {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    min-height:48px;
    padding:12px 18px;
    border:1px solid var(--public-teal);
    border-radius:var(--public-radius-small);
    background:transparent;
    color:var(--public-teal)!important;
    font-size:.8125rem;
    font-weight:600
}
.public-inline-action--primary {
    background:var(--public-teal);
    color:white!important
}
.public-inline-action:hover {
    background:var(--public-ink);
    color:white!important;
    border-color:var(--public-ink)
}
.public-enquiry__clear {
    min-height:44px;
    padding:8px;
    border:0;
    background:none;
    color:var(--public-muted)!important;
    font-size:.75rem
}
.public-enquiry__clear:hover {
    background:var(--public-paper);
    color:var(--public-teal)!important;
    text-decoration:underline;
    text-underline-offset:4px
}
.public-enquiry__status {
    font-size:.75rem;
    color:var(--public-teal);
    margin-top:12px!important
}
.public-enquiry__status:not(:empty) {
    padding:.625rem .875rem;
    border-radius:var(--public-radius-small);
    background:#edf4ef
}
.public-enquiry__status:empty,.public-enquiry__draft-state:empty {
    margin-top:0!important
}
.public-enquiry #public-enquiry-unsent a {
    color:var(--public-teal);
    text-decoration:underline;
    text-underline-offset:3px;
    overflow-wrap:anywhere
}
.public-enquiry__preview {
    background:var(--public-surface);
    border:1px solid var(--public-line);
    border-top:3px solid var(--public-teal);
    border-radius:var(--public-radius-small);
    box-shadow:0 8px 24px -18px #20312e40;
    padding:1.25rem;
    margin-top:1.5rem
}
.public-enquiry__preview h4 {
    font-size:1rem;
    padding-bottom:.875rem;
    border-bottom:1px solid var(--public-line)
}
.public-enquiry__preview-details {
    margin:1rem 0;
    display:block;
    font-size:.8125rem
}
.public-enquiry__preview-details>div {
    display:grid;
    grid-template-columns:5rem minmax(0,1fr);
    gap:1rem;
    margin-top:.75rem
}
.public-enquiry__preview-details dt {
    color:var(--public-muted)
}
.public-enquiry__preview-details dd {
    margin:0;
    overflow-wrap:anywhere;
    white-space:pre-wrap;
    color:var(--public-ink)
}
.public-enquiry__preview-details>div:first-child dd {
    font-weight:600
}
.public-enquiry__preview>p,.public-enquiry__manual-copy {
    font-size:.75rem;
    color:var(--public-muted)
}
.public-enquiry__copy-text {
    max-height:15rem;
    overflow:auto;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    user-select:text;
    font:inherit;
    font-size:.8125rem;
    background:var(--public-paper);
    padding:1rem;
    border:1px solid var(--public-line);
    border-radius:var(--public-radius-small)
}
.public-enquiry__no-js {
    font-size:.8125rem;
    padding-top:20px;
    color:var(--public-muted)
}
.public-enquiry__no-js a {
    text-decoration:underline;
    overflow-wrap:anywhere
}
.public-footer {
    padding-block:35px;
    background:var(--public-paper);
    border-top:1px solid var(--public-line)
}
.public-footer__inner {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:25px;
    justify-content:space-between
}
.public-brand--footer img {
    width:128px
}
.public-footer__nav {
    display:flex;
    flex-wrap:wrap;
    gap:1.5rem;
    font-size:.8125rem
}
.public-footer__nav a {
    min-height:44px;
    display:flex;
    align-items:center
}
.public-footer__meta {
    font-size:.6875rem;
    color:var(--public-muted)
}
.public-footer__meta>a {
    min-height:44px;
    display:flex;
    align-items:center
}
.public-services-hero {
    padding-block:38px 62px
}
.public-breadcrumb {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
    color:var(--public-muted);
    font-size:.75rem;
    margin-bottom:35px
}
.public-breadcrumb a {
    display:flex;
    align-items:center;
    min-height:44px
}
.public-breadcrumb a:hover {
    text-decoration:underline
}
.public-services-hero__grid {
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:5rem;
    align-items:center
}
.public-services-hero h1 {
    font-size:clamp(2.25rem,3.5vw,3.1rem);
    font-weight:550;
    margin-top:16px
}
.public-services-hero__lead {
    margin-top:20px!important;
    font-size:1rem;
    color:var(--public-muted);
    max-width:580px
}
.public-service-index {
    padding:.5rem 1.25rem;
    border:1px solid var(--public-line);
    border-radius:var(--public-radius);
    background:var(--public-surface);
    box-shadow:var(--public-shadow)
}
.public-service-index>a {
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:center;
    padding:20px 0;
    border-bottom:1px solid var(--public-line);
    font-size:.875rem;
    font-weight:500;
    min-height:44px
}
.public-service-index>a:hover {
    color:var(--public-teal);
    text-decoration:underline;
    text-underline-offset:5px
}
.public-service-index>a:last-child {
    border-bottom:0
}
.public-service-details {
    display:grid;
    gap:1.5rem
}
.public-service-detail {
    display:grid;
    grid-template-columns:6rem minmax(0,1fr);
    gap:2.5rem;
    padding:2.25rem;
    border:1px solid var(--public-line);
    border-radius:var(--public-radius);
    background:var(--public-surface);
    box-shadow:var(--public-shadow)
}
.public-service-detail__label {
    color:var(--public-teal);
    background:#eef3ec;
    width:5rem;
    height:5rem;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:var(--public-radius-small)
}
.public-service-detail__label svg {
    width:3rem;
    height:3rem
}
.public-service-detail:nth-child(2) .public-service-detail__label {
    background:#e5e9dc;
    color:#526854
}
.public-service-detail:nth-child(3) .public-service-detail__label {
    background:#eee8dc;
    color:#635947
}
.public-service-detail h2 {
    font-size:2rem;
    max-width:780px
}
.public-service-detail__lead {
    font-size:1rem;
    color:var(--public-muted);
    margin-top:18px!important;
    max-width:820px
}
.public-service-detail__content {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:3rem;
    margin-top:30px
}
.public-service-detail__content h3 {
    font-size:.875rem;
    margin-bottom:13px
}
.public-service-detail__content ul {
    padding-left:20px;
    margin:0;
    color:var(--public-muted);
    font-size:.875rem
}
.public-service-detail__content li+li {
    margin-top:8px
}
.public-service-detail__brief {
    padding:1.25rem;
    border:1px solid #dce6dd;
    border-radius:var(--public-radius-small);
    background:#f1f5ef;
    min-width:0
}
.public-service-detail__brief p {
    font-size:.875rem;
    color:var(--public-muted)
}
.public-service-detail__actions {
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:24px;
    padding-top:20px;
    border-top:1px solid var(--public-line)
}
.public-services-next {
    padding-block:64px
}
.public-services-next__inner {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:3rem
}
.public-services-next h2 {
    font-size:2rem;
    margin-top:13px
}
.public-services-next p:last-child {
    margin-top:16px;
    color:var(--public-muted);
    font-size:.9375rem;
    max-width:640px
}
.public-services-next__actions {
    display:flex;
    flex-direction:column;
    align-items:start;
    gap:14px;
    flex-shrink:0
}
@media(max-width:72em) {
    .public-nav,.public-language {
        display:none
    }
    .public-menu {
        display:block
    }
    .public-header__inner {
        gap:1.2rem
    }
    .public-hero {
        gap:2rem
    }
    .public-services {
        gap:1.25rem
    }
    .public-formats__grid,.public-faq,.public-contact__inner {
        gap:3rem
    }
    .public-formats__grid {
        grid-template-columns:1fr 1.3fr
    }
    .public-process {
        grid-template-columns:1fr
    }
    .public-service-detail {
        grid-template-columns:5rem minmax(0,1fr);
        gap:1.5rem;
        padding:1.75rem
    }
    .public-service-detail__label {
        width:5rem;
        height:5rem
    }
}
@media(max-width:58em) {
    .public-wrap {
        width:calc(100% - 3rem)
    }
    .public-hero {
        grid-template-columns:minmax(0,1fr);
        gap:2rem;
        padding-block:44px
    }
    .public-hero h1 {
        font-size:2.65rem;
        max-width:700px
    }
    .public-hero__lead {
        max-width:640px
    }
    .public-services {
        gap:1.5rem
    }
    .public-service h3 {
        font-size:1.15rem
    }
    .public-formats__grid {
        grid-template-columns:minmax(0,1fr);
        gap:30px
    }
    .public-formats__intro h2 {
        max-width:700px
    }
    .public-faq,.public-contact__inner {
        grid-template-columns:minmax(0,1fr);
        gap:35px
    }
    .public-contact__hours {
        max-width:600px
    }
    .public-services-hero__grid {
        grid-template-columns:minmax(0,1fr);
        gap:32px
    }
    .public-service-index {
        max-width:600px
    }
    .public-service-detail__content {
        gap:1.5rem
    }
    .public-services-next__inner {
        display:block
    }
    .public-services-next__actions {
        flex-direction:row;
        flex-wrap:wrap;
        gap:24px;
        margin-top:26px
    }
}
@media(max-width:42em) {
    .public-wrap {
        width:calc(100% - 2rem)
    }
    .public-header__inner {
        min-height:76px;
        gap:.8rem
    }
    .public-brand img {
        width:136px
    }
    .public-menu__label {
        display:none
    }
    .public-nav-cta {
        padding:10px 12px;
        gap:.65rem;
        font-size:.8125rem
    }
    .public-hero {
        padding-block:36px 30px;
        gap:26px
    }
    .public-hero h1 {
        font-size:2.18rem;
        letter-spacing:-.035em;
        margin-top:17px
    }
    .public-hero__lead {
        font-size:.9375rem;
        line-height:1.85;
        margin-top:19px!important
    }
    .public-hero__actions {
        gap:1rem;
        margin-top:24px
    }
    .public-primary-button {
        font-size:.875rem;
        padding:12px 18px
    }
    .public-hero__phone {
        gap:4px;
        margin-top:12px;
        flex-direction:column
    }
    .public-context {
        gap:.5rem;
        padding-block:.5rem
    }
    .public-context p,.public-context p:first-child {
        padding:.375rem .625rem
    }
    .public-section {
        padding-block:50px
    }
    .public-section__heading {
        align-items:start;
        flex-direction:column;
        gap:12px;
        margin-bottom:26px
    }
    .public-services {
        grid-template-columns:minmax(0,1fr);
        gap:30px
    }
    .public-service {
        display:grid;
        grid-template-columns:3.5rem minmax(0,1fr);
        gap:.75rem 1rem;
        padding:1.25rem
    }
    .public-service__visual {
        grid-row:1;
        width:3.5rem;
        height:3.5rem;
        margin:0
    }
    .public-service__visual svg {
        width:3.25rem;
        height:2.75rem
    }
    .public-service h3 {
        font-size:1.2rem;
        align-self:center
    }
    .public-service p {
        font-size:.875rem;
        margin-top:0;
        grid-column:1/-1
    }
    .public-service .public-service__examples {
        font-size:.75rem;
        margin-top:4px;
        padding-top:12px
    }
    .public-service__link {
        grid-column:1/-1;
        padding-top:4px
    }
    .public-modes {
        grid-template-columns:minmax(0,1fr);
        gap:25px
    }
    .public-modes__note {
        grid-column:auto
    }
    .public-process {
        margin-top:30px;
        padding-top:28px;
        gap:18px
    }
    .public-process ol {
        grid-template-columns:minmax(0,1fr);
        gap:22px
    }
    .public-process li {
        padding-left:40px;
        position:relative
    }
    .public-process li::before {
        position:absolute;
        left:0;
        top:2px
    }
    .public-process p {
        margin-top:6px
    }
    .public-faq {
        padding-block:45px;
        gap:23px
    }
    .public-faq h2 {
        font-size:1.6rem
    }
    .public-faq summary {
        font-size:.875rem
    }
    .public-contact {
        padding-block:46px
    }
    .public-contact__options {
        font-size:1.05rem;
        margin-top:20px
    }
    .public-contact__hours {
        margin-top:22px
    }
    .public-enquiry__optional-fields {
        grid-template-columns:1fr
    }
    .public-enquiry__optional-fields .public-enquiry__field:last-child {
        grid-column:auto
    }
    .public-enquiry__preview {
        padding:16px
    }
    .public-footer {
        padding-block:25px
    }
    .public-footer__inner {
        align-items:start;
        gap:20px
    }
    .public-footer__nav {
        gap:1rem
    }
    .public-footer__meta {
        flex-basis:100%
    }
    .public-services-hero {
        padding-block:22px 35px
    }
    .public-breadcrumb {
        margin-bottom:22px
    }
    .public-services-hero h1 {
        font-size:2.1rem
    }
    .public-service-detail {
        grid-template-columns:minmax(0,1fr);
        gap:1rem;
        padding:1.25rem
    }
    .public-service-detail__label {
        width:4rem;
        height:4rem
    }
    .public-service-detail__label svg {
        width:2.75rem;
        height:2.75rem
    }
    .public-service-detail h2 {
        font-size:1.65rem
    }
    .public-service-detail__content {
        grid-template-columns:minmax(0,1fr);
        gap:22px
    }
    .public-service-detail__lead {
        font-size:.9375rem
    }
    .public-services-next {
        padding-block:40px
    }
    .public-services-next h2 {
        font-size:1.65rem
    }
}
@media(max-width:23em) {
    .public-brand img {
        width:114px
    }
    .public-header__inner {
        gap:.6rem
    }
    .public-nav-cta {
        gap:.5rem
    }
    .public-hero h1 {
        font-size:1.9rem
    }
    .public-service {
        grid-template-columns:3rem minmax(0,1fr);
        column-gap:.875rem;
        padding:1rem
    }
    .public-service__visual {
        width:3rem;
        height:3rem
    }
    .public-service__visual svg {
        width:2.875rem;
        height:2.5rem
    }
}
@media(prefers-reduced-motion:reduce) {
    .public-site * {
        scroll-behavior:auto!important;
        transition:none!important
    }
}
/* Container em follows the actual text size, unlike viewport media-query em.
Keep enlarged text readable by changing composition before words are split. */
.public-site {
    container:public / inline-size
}
@container public (max-width:60em) {
    .public-hero {
        grid-template-columns:1fr
    }
    .public-formats__grid,.public-faq,.public-contact__inner {
        grid-template-columns:minmax(0,1fr);
        gap:2rem
    }
    .public-services {
        grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))
    }
    .public-services-hero__grid {
        grid-template-columns:minmax(0,1fr);
        gap:2rem
    }
    .public-process {
        grid-template-columns:1fr
    }
    .public-service-detail {
        grid-template-columns:minmax(0,1fr);
        gap:1.5rem
    }
    .public-services-next__inner {
        display:block
    }
    .public-services-next__actions {
        flex-wrap:wrap;
        flex-direction:row;
        margin-top:1.5rem
    }
}
@container public (max-width:30em) {
    .public-modes,.public-process ol,.public-service-detail__content {
        grid-template-columns:1fr
    }
    .public-section__heading {
        align-items:start;
        flex-direction:column
    }
    .public-enquiry__optional-fields {
        grid-template-columns:1fr
    }
    .public-enquiry__optional-fields .public-enquiry__field:last-child {
        grid-column:auto
    }
}
@container public (max-width:14em) {
    .public-service {
        display:flex;
        padding:.75rem
    }
    .public-service__visual {
        margin-bottom:0
    }
    .public-service h3 {
        align-self:stretch
    }
    .public-service-detail {
        padding:.75rem
    }
    .public-service-detail__brief {
        padding:.625rem
    }
}
/* The enquiry's own width decides when optional fields and preview rows stack. */
@container public-enquiry (max-width:28em) {
    .public-enquiry__optional-fields {
        grid-template-columns:minmax(0,1fr)
    }
    .public-enquiry__optional-fields .public-enquiry__field:last-child {
        grid-column:auto
    }
    .public-enquiry__preview-details>div {
        grid-template-columns:minmax(0,1fr);
        gap:.25rem
    }
}
@container public-enquiry (max-width:18em) {
    .public-enquiry__actions {
        flex-direction:column;
        align-items:stretch
    }
    .public-enquiry .public-inline-action {
        width:100%
    }
}
.public-header__inner {
    position:relative
}
.public-menu {
    position:static
}
.public-menu__panel {
    top:calc(100% + 1px);
    right:0;
    width:min(26rem,100%)
}
.public-brand img {
    filter:contrast(1.2)
}
.public-wrap>* {
    min-width:0
}
.public-section__heading>div {
    min-width:0;
    max-width:100%
}
.public-contact__options a {
    max-width:100%
}
.public-context {
    grid-template-columns:repeat(3,minmax(0,1fr))
}
.public-site .public-inline-action {
    font-size:.8125rem;
    max-width:100%
}
.public-site .public-enquiry__clear {
    font-size:.75rem
}
.public-primary-button,.public-text-link {
    max-width:100%
}
@media(max-width:42em) {
    .public-context {
        grid-template-columns:minmax(0,1fr)
    }
    .public-primary-button,.public-text-link {
        gap:.5rem
    }
}
@container public (max-width:14em) {
    .public-site h1,.public-site h2,.public-site h3,.public-site p,.public-site label,.public-site summary {
        overflow-wrap:anywhere;
        hyphens:auto
    }
    .public-primary-button,.public-text-link {
        gap:.5rem
    }
    .public-context {
        grid-template-columns:minmax(0,1fr)
    }
}
@container public (max-width:14em) {
    .public-site main a {
        overflow-wrap:anywhere;
        hyphens:auto
    }
    .public-inline-action {
        gap:.5rem
    }
}
@container public (max-width:14em) {
    .public-site h1 {
        font-size: 1.25rem;
        overflow-wrap: normal;
        hyphens: none;
    }
    .public-site h2 {
        font-size: 1.2rem;
        overflow-wrap: normal;
        hyphens: none;
    }
    .public-site h3 {
        font-size: 1.05rem;
        overflow-wrap: normal;
        hyphens: none;
    }
}
@container public (max-width:14em) {
    .public-wrap {
        width: calc(100% - 16px);
    }
    .public-site h3 {
        font-size: 1rem;
    }
}

@container public (max-width:30em) {
    .public-modes {
        grid-template-columns:minmax(0,1fr);
        gap:1rem
    }
    .public-mode {
        display:grid;
        grid-template-columns:2.5rem minmax(0,1fr);
        align-items:center;
        gap:0 .75rem;
        padding:1.25rem
    }
    .public-mode__icon {
        margin-bottom:0
    }
    .public-mode p,.public-mode a {
        grid-column:1/-1
    }
    .public-process ol {
        gap:1.25rem
    }
    .public-process li {
        padding-left:3rem
    }
    .public-process li::before {
        position:absolute;
        left:0;
        top:0;
        margin:0
    }
    .public-process li:not(:last-child)::after {
        top:2.5rem;
        left:1rem;
        width:0;
        height:calc(100% - 1.25rem);
        border-top:0;
        border-left:1px solid #c6d9cd
    }
}
@container public (max-width:18em) {
    .public-mode {
        display:flex;
        padding:.875rem
    }
    .public-mode__icon {
        margin-bottom:.75rem
    }
    .public-context p {
        max-width:100%
    }
}

/* Keep the useful service choices ahead of secondary details on small screens. */
@media(max-width:58em) {
    .public-hero {padding-block:2.5rem;gap:1.75rem}
    .public-confidence {gap:1.25rem}
    .public-service-once {align-items:flex-start;flex-direction:column;gap:1.25rem}
}
@media(max-width:42em) {
    .public-hero {padding-block:1.75rem;gap:1.5rem}
    .public-hero h1 {font-size:clamp(1.6rem,7.5vw,2.18rem);margin-top:.75rem}
    .public-hero__lead {line-height:1.75;margin-top:1rem!important}
    .public-hero__actions {align-items:stretch;gap:.5rem;margin-top:1.25rem}
    .public-hero__actions>a {justify-content:space-between;flex:1 1 100%}
    .public-hero__actions>.public-text-link {padding-inline:.5rem}
    .public-help-start {padding:1.25rem}
    .public-help-start h2 {font-size:1.4rem}
    .public-help-start__examples a {grid-template-columns:1.75rem minmax(0,1fr) 1rem;gap:.5rem;padding:.75rem}
    .public-help-start__examples a>span:first-child {width:1.75rem;height:1.75rem}
    .public-confidence {grid-template-columns:minmax(0,1fr);gap:1rem;padding-block:1.25rem}
    .public-confidence>div+div {border-top:1px solid var(--public-line);padding-top:1rem}
    .public-service-once {padding:1.25rem}
    .public-footer__contact {flex-direction:column;gap:0}
}
/* An enlarged label may wrap instead of being clipped by a narrow card. */
.public-help-start,.public-confidence,.public-service-once {overflow-wrap:anywhere}

/* Enlarged Georgian text: keep the existing header and hero within their narrow container. */
@container public (max-width:14em){.public-header .public-nav-cta{white-space:normal;overflow-wrap:anywhere;max-width:100%}.public-hero h1 span,.public-mode h3{overflow-wrap:anywhere}}
@container public (max-width:14em){.public-service-once>div{max-width:100%}.public-service-once h2,.public-service-detail__content :is(h3,li){overflow-wrap:anywhere}.public-service-detail__content{grid-template-columns:minmax(0,1fr)}}

/* Organization support is the company story; one-off help is supplementary. */
.public-site h1,.public-site h2,.public-site h3 {font-weight:700}
.public-header {background:#fff}
.public-nav-secondary {color:var(--public-muted)!important}
.public-company-hero {
    background:radial-gradient(ellipse at 90% 10%,#345c51 0,transparent 55%),#163931;
    color:#fff
}
.public-company-hero__grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:4.5rem;
    align-items:center;
    padding-block:4.25rem 3.625rem
}
.public-company-hero .public-eyebrow {color:#c6dfce;letter-spacing:.03em}
.public-company-hero h1 {
    font-size:clamp(2.375rem,4.5vw,4.125rem);
    line-height:1.12;
    margin-top:1.625rem;
    overflow-wrap:anywhere
}
.public-company-hero h1 span {display:block;color:#c8e5c5}
.public-company-hero__lead {
    font-size:1.0625rem;
    line-height:1.8;
    color:#dae5dd;
    max-width:31rem;
    margin-top:1.625rem!important
}
.public-company-hero__actions {display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;margin-top:2.125rem}
.public-company-hero .public-primary-button {background:#d5ebc8;color:#203a30!important;gap:1.75rem}
.public-company-hero .public-primary-button:hover {background:#eff8e9}
.public-company-hero .public-text-link {color:#fff!important;gap:1rem}
.public-company-hero :focus-visible {outline-color:#f2b56f}
.public-company-hero__phone {display:flex;flex-direction:column;gap:.3125rem;margin-top:2rem}
.public-company-hero__phone>a {font-size:1.125rem;font-weight:700;letter-spacing:.02em;min-height:44px;display:flex;align-items:center;align-self:start}
.public-company-hero__phone>span {font-size:.75rem;color:#bfd1c5}
.public-workspace-visual {min-width:0}
.public-workspace-visual__frame {background:#f8faf5;border:1px solid #c3d3c7;border-radius:1.375rem;overflow:hidden;box-shadow:0 25px 65px #06251e55;color:#203a30}
.public-workspace-visual__heading {padding:.875rem 1.125rem;font-size:.75rem;font-weight:500}
.public-workspace-visual picture {display:block;background:#eee8db}
.public-workspace-visual picture img {display:block;width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;object-position:50% 57%}
.public-workspace-visual__links {padding:.125rem 1.125rem .375rem}
.public-workspace-visual__links>a {display:grid;grid-template-columns:1.625rem minmax(0,1fr) 1rem;gap:.8125rem;align-items:center;min-height:3.4375rem;font-size:.8125rem;font-weight:500;border-top:1px solid #dce4dc;overflow-wrap:anywhere}
.public-workspace-visual__links>a:first-child {border:0}
.public-workspace-visual__links>a>span:first-child {color:var(--public-muted);font-size:.6875rem}
.public-workspace-visual__links>a:hover {text-decoration:underline;text-underline-offset:4px}
.public-workspace-visual figcaption {font-size:.6875rem;color:#c2d3c7;text-align:right;padding-top:.625rem}
.public-core-services {padding-block:5rem 5.5rem}
.public-core-services__heading {display:flex;gap:2.5rem;align-items:end;justify-content:space-between;margin-bottom:2.1875rem}
.public-core-services__heading>div {max-width:43rem;min-width:0}
.public-core-services h2 {font-size:2.4375rem;margin-top:.875rem;line-height:1.2;overflow-wrap:anywhere}
.public-core-services__heading>p {max-width:20rem;font-size:.875rem;color:var(--public-muted);padding-bottom:.3125rem}
.public-core-service {display:grid;grid-template-columns:4.125rem minmax(0,1fr) 13.125rem;align-items:center;gap:2rem;border-top:1px solid #cddbd1;padding-block:2rem}
.public-core-service:last-child {border-bottom:1px solid #cddbd1}
.public-core-service__number {font-size:.875rem;color:#426455;display:grid;place-items:center;width:3.125rem;height:3.125rem;background:#e9f0e5;border-radius:50%}
.public-core-service>div {min-width:0}
.public-core-service h3 {font-size:1.5625rem;line-height:1.3;overflow-wrap:anywhere}
.public-core-service p {font-size:.875rem;color:var(--public-muted);margin-top:.625rem!important;max-width:41rem}
.public-core-service>a {display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px;font-size:.875rem;font-weight:500;overflow-wrap:anywhere}
.public-core-service>a:hover {text-decoration:underline;text-underline-offset:4px}
.public-cooperation {padding-block:4.375rem;background:#eaf1e6}
.public-cooperation__grid {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:1.5rem}
.public-cooperation__ongoing {padding:2.75rem;background:#fff;border:1px solid #c4d5c5;border-radius:1.375rem;min-width:0}
.public-cooperation__ongoing h2 {font-size:2.4375rem;line-height:1.2;margin-top:1.125rem;max-width:38rem;overflow-wrap:anywhere}
.public-cooperation__ongoing>p:not(.public-eyebrow) {max-width:34rem;color:var(--public-muted);margin-top:1.5rem!important;font-size:.9375rem}
.public-cooperation__ongoing .public-primary-button {background:#244c42;color:white!important;margin-top:1.75rem}
.public-cooperation__project {background:#d9e5d3;border-radius:1.375rem;padding:2.125rem;display:flex;align-items:start;flex-direction:column;min-width:0}
.public-cooperation__mark {font-size:2.375rem;margin-bottom:1.25rem;color:#426455;line-height:1}
.public-cooperation__project h3 {font-size:2rem;line-height:1.2;margin-top:1rem;overflow-wrap:anywhere}
.public-cooperation__project>p:not(.public-eyebrow) {font-size:.875rem;color:#425b4b;margin-top:1.125rem!important}
.public-cooperation__project>a {margin-top:auto;padding-top:1.5rem;font-size:.875rem;min-height:48px}
.public-supplement {display:flex;align-items:center;justify-content:space-between;gap:2.5rem;padding-top:1.875rem;margin-top:1.875rem;border-top:1px solid #b6c9b4}
.public-supplement>div {min-width:0}
.public-supplement h3 {font-size:1.1875rem;font-weight:500;letter-spacing:0;line-height:1.5;margin-top:.5rem;overflow-wrap:anywhere}
.public-supplement>a {flex-shrink:0;font-size:.875rem}
.public-company-process {margin-top:3rem;padding-top:2rem;border-top:1px solid #b6c9b4}
.public-company-process h3 {font-size:1.25rem;overflow-wrap:anywhere}
.public-company-process strong {overflow-wrap:anywhere}
.public-company-services-hero {background:#eaf1e6;padding-block:2rem 3.75rem}
.public-company-services-hero h1 {font-size:clamp(2.25rem,3.8vw,3.5rem);line-height:1.15;max-width:48rem;overflow-wrap:anywhere}
.public-company-services-hero .public-service-index {background:#fff;border:1px solid #bfcfc0;box-shadow:0 14px 32px -24px #183f2e50}
.public-company-services-hero .public-service-index>a {display:grid;grid-template-columns:1.5rem minmax(0,1fr) 1rem;gap:.875rem;overflow-wrap:anywhere}
.public-company-services-hero .public-service-index__number {font-size:.6875rem;color:#426455}
.public-service-detail__label>span {font-size:1.25rem;font-weight:500;color:#426455}
.public-service-details .public-service-detail {border-radius:0;border:0;border-bottom:1px solid var(--public-line);padding-inline:0;box-shadow:none;background:none}
.public-service-details .public-service-detail:last-child {border-bottom:0}
.public-service-details .public-service-detail__label {width:3.125rem;height:3.125rem;border-radius:50%;background:#e9f0e5}
.public-service-details .public-service-detail__content {gap:2rem}
.public-service-details .public-service-detail__brief {background:#edf3e9;border:0;border-radius:.875rem}
.public-service-once {background:#edf3e9;border-radius:1rem;box-shadow:none;border:1px solid #d3dfce}
.public-service-once .public-eyebrow {color:#426455}
.public-service-once h2 {font-size:1.375rem;overflow-wrap:anywhere}
.public-service-once .public-text-link {font-size:.875rem}
.public-contact {background:#f1f5ed}
.public-contact h2 {font-size:2.75rem;line-height:1.2;overflow-wrap:anywhere}
.public-footer {background:#f0f4ed}
@container public (max-width:70em) {
    .public-company-hero__grid {gap:2.1875rem}
    .public-company-hero h1 {font-size:3rem}
    .public-cooperation__ongoing h2 {font-size:2.125rem}
}
@container public (max-width:56em) {
    .public-company-hero__grid {grid-template-columns:minmax(0,1fr);gap:2rem;padding-block:2.5rem}
    .public-company-hero__copy {max-width:42rem}
    .public-workspace-visual {max-width:40rem;justify-self:center;width:100%}
    .public-core-services__heading {display:block}
    .public-core-services__heading>p {max-width:32rem;margin-top:1.25rem!important}
    .public-core-service {grid-template-columns:2.8125rem minmax(0,1fr);gap:1.25rem}
    .public-core-service>a {grid-column:2;max-width:18rem}
    .public-cooperation__grid {grid-template-columns:minmax(0,1fr)}
    .public-cooperation__project {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:1.875rem}
    .public-cooperation__mark {display:none}
    .public-cooperation__project h3 {grid-row:2}
    .public-cooperation__project>p:not(.public-eyebrow) {grid-column:2;grid-row:1/3}
    .public-cooperation__project>a {grid-column:2}
}
@container public (max-width:42em) {
    .public-company-hero__grid {padding-block:2.125rem 1.875rem}
    .public-company-hero h1 {font-size:2.625rem;line-height:1.16;margin-top:1.375rem}
    .public-company-hero__lead {font-size:.9375rem;margin-top:1.375rem!important}
    .public-company-hero__actions {margin-top:1.625rem;gap:.875rem}
    .public-company-hero__actions>a {font-size:.8125rem;gap:1rem}
    .public-company-hero__phone {margin-top:1.4375rem}
    .public-company-hero__phone>span {font-size:.6875rem}
    .public-workspace-visual picture img {aspect-ratio:1.18;object-position:50% 42%}
    .public-workspace-visual__heading {font-size:.6875rem;padding:.75rem .875rem}
    .public-workspace-visual__links {padding-inline:.875rem}
    .public-workspace-visual__links>a {font-size:.75rem;min-height:3.5rem;gap:.625rem;grid-template-columns:1.3125rem minmax(0,1fr) .9375rem}
    .public-core-services {padding-block:3.25rem}
    .public-core-services h2 {font-size:1.875rem}
    .public-core-services__heading {margin-bottom:1.5rem}
    .public-core-services__heading>p {font-size:.8125rem}
    .public-core-service {padding-block:1.5625rem;grid-template-columns:2.1875rem minmax(0,1fr);gap:1rem}
    .public-core-service__number {width:2rem;height:2rem;font-size:.6875rem}
    .public-core-service h3 {font-size:1.375rem}
    .public-core-service p {font-size:.8125rem}
    .public-core-service>a {font-size:.8125rem}
    .public-cooperation {padding-block:2.1875rem}
    .public-cooperation__ongoing,.public-cooperation__project {padding:1.5625rem;border-radius:1.0625rem}
    .public-cooperation__ongoing h2 {font-size:1.8125rem}
    .public-cooperation__ongoing>p:not(.public-eyebrow) {font-size:.875rem;margin-top:1.125rem!important}
    .public-cooperation__project {display:block}
    .public-cooperation__project h3 {font-size:1.75rem}
    .public-cooperation__project>a {padding-top:1.25rem}
    .public-supplement {display:block;padding-top:1.375rem;margin-top:1.5625rem}
    .public-supplement h3 {font-size:1.0625rem}
    .public-supplement>a {margin-top:.75rem;font-size:.8125rem}
    .public-company-services-hero h1 {font-size:2.1rem}
    .public-contact h2 {font-size:2.125rem}
}
@container public (max-width:23em) {
    .public-company-hero h1 {font-size:2.125rem}
    .public-cooperation__ongoing,.public-cooperation__project {padding:1.125rem}
    .public-company-hero__actions {align-items:stretch}
    .public-company-hero__actions>a {flex:1 1 100%;justify-content:space-between}
    .public-cooperation__ongoing .public-primary-button {gap:.5rem;font-size:.8125rem}
}
@container public (max-width:14em) {
    .public-company-hero h1 {font-size:1.25rem}
    .public-core-services h2,.public-cooperation__ongoing h2,.public-cooperation__project h3,.public-company-services-hero h1,.public-contact h2 {font-size:1.2rem}
    .public-core-service h3 {font-size:1rem}
    .public-cooperation__ongoing,.public-cooperation__project {padding:.375rem}
    .public-cooperation__ongoing h2 {font-size:1.1rem}
    .public-core-service {grid-template-columns:minmax(0,1fr);gap:.5rem}
    .public-core-service>a {grid-column:auto}
    .public-workspace-visual__links>a {grid-template-columns:minmax(0,1fr) 1rem}
    .public-workspace-visual__links>a>span:first-child {display:none}
    .public-company-services-hero .public-service-index>a {grid-template-columns:minmax(0,1fr) 1rem}
    .public-company-services-hero .public-service-index__number {display:none}
    .public-company-hero__lead,.public-company-hero__phone>span,.public-core-service p,.public-cooperation p,.public-supplement h3 {overflow-wrap:anywhere}
    .public-company-hero__actions>a,.public-cooperation__ongoing>a,.public-cooperation__project>a,.public-supplement>a {overflow-wrap:anywhere;white-space:normal}
}
/* The order stylesheet follows this one. Keep its long Georgian title readable
   when the actual text container is narrow, including 200% root text. */
@container public (max-width:14em) {
    .public-site :is(.public-order-hero,.public-order-status) h1 {
        font-size:1.125rem;
        line-height:1.3;
        overflow-wrap:normal
    }
}
