:root{--nav-height:88px}@media(max-width:1100px){:root{--nav-height:76px}}
.reveal:target{opacity:1;transform:none;transition:none}
.brand-lockup[class] { display: inline-flex; align-items: center; gap: .7rem; }
    .brand-lockup__mark[class] { width: 2.5rem; height: 2.5rem; flex: 0 0 auto; }
    .brand-lockup__mark[class] path { opacity: .96; }
    .brand-lockup__type[class] { display: grid; gap: .28rem; }
    .brand-lockup__name[class] { padding-inline: .025em; white-space: nowrap; color: var(--mint); font-family: inherit; font-weight: 700; font-style: normal; font-kerning: normal; line-height: 1.2; letter-spacing: .005em; }
    @supports ((background-clip: text) or (-webkit-background-clip: text)) {
        .brand-lockup__name[class] { background-image: var(--brand-wordmark-gradient, linear-gradient(90deg, #ff5b9b 0%, #ff8a70 20%, #f0c56d 40%, #a9d589 60%, #6bcaa9 80%, #8bbdda 100%)); background-clip: text; -webkit-background-clip: text; color: transparent; }
    }
    .brand-lockup__slogan[class] { display: block; color: var(--brand-slogan-color, rgba(242,239,230,.42)); font: 500 .46rem/1 'JetBrains Mono', monospace; letter-spacing: .16em; text-transform: uppercase; }

    .brand-lockup--nav[class] .brand-lockup__name[class] { font-size: var(--nav-brand-size, 1rem); }
    .brand-lockup--footer[class] .brand-lockup__mark[class] { width: 3.2rem; height: 3.2rem; }
    .brand-lockup--footer[class] .brand-lockup__name[class] { font-size: 1.4rem; }

    .brand-lockup--hero[class] { display: grid; gap: 1rem; color: #f2efe6; }
    .brand-lockup--hero[class] .brand-lockup__name[class] { font-size: clamp(4rem, 9vw, 9.5rem); line-height: 1.2; letter-spacing: .005em; }
    .brand-lockup--hero[class] .brand-lockup__slogan[class] { color: var(--mint); font-size: .7rem; letter-spacing: .24em; }

    @media(max-width:760px){
        .brand-lockup--hero[class] { max-width:100%; gap:.75rem; }
        .brand-lockup--hero[class] .brand-lockup__name[class] { font-size:clamp(3rem,12.2vw,5.5rem); }
        .brand-lockup--hero[class] .brand-lockup__slogan[class] { font-size:.5rem; letter-spacing:.18em; }
        .brand-lockup--nav[class] .brand-lockup__mark[class] { width:2.1rem; height:2.1rem; }
        .brand-lockup--nav[class] .brand-lockup__name[class] { font-size:var(--nav-brand-size,.92rem); }
        .brand-lockup--nav[class] .brand-lockup__slogan[class] { font-size:.4rem; letter-spacing:.1em; }
    }
    @media(max-width:360px){
        .brand-lockup--hero[class] .brand-lockup__name[class] { font-size:12.2vw; }
        .brand-lockup--nav[class] { gap:.48rem; }
        .brand-lockup--nav[class] .brand-lockup__mark[class] { width:1.75rem; height:1.75rem; }
        .brand-lockup--nav[class] .brand-lockup__name[class] { font-size:var(--nav-brand-size,.84rem); }
        .brand-lockup--nav[class] .brand-lockup__slogan[class] { font-size:.34rem; letter-spacing:.07em; }
    }
    @media(min-width:1800px){
        .brand-lockup--hero[class] .brand-lockup__name[class] { font-size:clamp(9.5rem,8.5vw,11rem); }
        .brand-lockup--hero[class] .brand-lockup__slogan[class] { font-size:1.05rem; }
    }
    @media (forced-colors: active) {
        .brand-lockup__name[class] { background-image: none; color: CanvasText; }
    }
.site-nav {
        --nav-paper: #eeece4;
        --nav-ink: #173e2c;
        --nav-text: #50604f;
        --nav-button-text: #eeece4;
        --nav-button-fill: #173e2c;
        --nav-button-border: #173e2c;
        --nav-button-hover: #2b513c;
        --nav-button-hover-border: #2b513c;
        --nav-toggle-border: #173e2c40;
        --nav-focus: #567449;
        --brand-slogan-color: #687663;
        --brand-wordmark-gradient: linear-gradient(90deg, #b52a68 0%, #b85538 20%, #8a6a21 40%, #427846 60%, #24736b 80%, #376c9c 100%);
        --nav-brand-size: 1.1rem;
        position: fixed;
        z-index: 1000;
        isolation: isolate;
        inset: 0 0 auto;
        height: var(--nav-height, 88px);
        padding-inline: clamp(1.25rem, 4vw, 4.5rem);
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: clamp(1.25rem, 2.6vw, 2.5rem);
        color: var(--nav-ink);
        background: rgba(238, 236, 228, .97);
        border-bottom: 1px solid rgba(23, 62, 44, .12);
        transition: color 240ms ease, background-color 240ms ease, border-color 240ms ease, box-shadow 240ms ease;
    }
    .site-nav::before {
        content: ''; position: absolute; z-index: -1; inset: 0 0 -32px;
        pointer-events: none; opacity: 0; background-color: rgba(7, 25, 16, .64);
        mask-image: linear-gradient(#000 48%, rgba(0, 0, 0, .65) 75%, transparent);
        transition: opacity 240ms ease, background-color 240ms ease;
    }
    .site-nav.is-scrolled {
        background: rgba(238, 236, 228, .95);
        box-shadow: 0 6px 24px rgba(13, 37, 26, .06);
        backdrop-filter: blur(18px);
    }
    .site-nav.is-on-dark {
        --nav-ink: #f2efe6;
        --nav-text: #e0e7db;
        --nav-button-text: #f2efe6;
        --nav-button-fill: rgba(10, 35, 24, .12);
        --nav-button-border: rgba(226, 236, 223, .48);
        --nav-button-hover: rgba(226, 236, 223, .1);
        --nav-button-hover-border: rgba(226, 236, 223, .75);
        --nav-toggle-border: rgba(226, 236, 223, .38);
        --nav-focus: #b7e4c7;
        --brand-slogan-color: #bdc9bb;
        --brand-wordmark-gradient: linear-gradient(90deg, #ff5b9b 0%, #ff8a70 20%, #f0c56d 40%, #a9d589 60%, #6bcaa9 80%, #8bbdda 100%);
        background-color: transparent;
        border-bottom-color: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }
    .site-nav.is-on-dark::before { opacity: 1; }
    .site-nav.is-on-dark.is-scrolled::before { background-color: rgba(7, 25, 16, .88); backdrop-filter: blur(12px); }
    .site-nav .site-brand { position: relative; z-index: 2; display: flex; width: fit-content; color: inherit; text-decoration: none; }
    .site-nav__desktop { justify-self: center; display: flex; align-items: center; gap: clamp(1rem, 2vw, 2rem); }
    .site-nav__desktop a, .site-nav__contact {
        display: inline-flex; align-items: center; min-height: 44px;
        color: var(--nav-text); text-decoration: none; white-space: nowrap;
        font-size: .78rem; font-weight: 400; line-height: 1.5; letter-spacing: .025em;
        transition: color 200ms ease;
    }
    .site-nav__desktop a { position: relative; }
    .site-nav__desktop a::after {
        content: ''; position: absolute; bottom: 6px; left: 0; right: 0; height: 1px;
        background: var(--nav-ink); transform: scaleX(0); transform-origin: left; transition: transform 250ms ease;
    }
    .site-nav__desktop a:hover, .site-nav__desktop a[aria-current], .site-nav__contact:hover { color: var(--nav-ink); }
    .site-nav__desktop a:hover::after, .site-nav__desktop a[aria-current]::after { transform: scaleX(1); }
    .site-nav__actions { position: relative; z-index: 2; display: flex; align-items: center; gap: 1.35rem; min-width: 0; }
    .site-nav .cs-nav-trigger, .site-nav .account-fallback {
        display: inline-flex; align-items: center; justify-content: center; gap: 9px;
        min-height: 42px; max-width: 176px; padding: 10px 17px;
        border: 1px solid var(--nav-button-border); border-radius: 999px;
        color: var(--nav-button-text); background: var(--nav-button-fill); text-decoration: none;
        font-size: .75rem; font-weight: 400; line-height: 1.5; white-space: nowrap;
        transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease;
    }
    .site-nav .cs-nav-trigger:hover, .site-nav .account-fallback:hover { background: var(--nav-button-hover); border-color: var(--nav-button-hover-border); }
    .site-nav .cs-nav-name { max-width: 105px; }
    .site-nav .cs-nav-dot { background: #b8c6a7; }
    .site-nav__toggle, .site-nav__panel { display: none; }
    .site-nav a:focus-visible, .site-nav button:focus-visible { outline: 2px solid var(--nav-focus); outline-offset: 5px; }
    @media (min-width: 1101px) and (max-width: 1250px) {
        .site-nav { padding-inline: 1.5rem; gap: 1.15rem; --nav-brand-size: 1rem; }
        .site-nav__desktop { gap: 1rem; }
        .site-nav__desktop a, .site-nav__contact { font-size: .73rem; }
        .site-nav__actions { gap: 1rem; }
    }
    @media (max-width: 1100px) {
        .site-nav { grid-template-columns: 1fr auto auto; gap: .85rem; padding-inline: 1.5rem; --nav-brand-size: 1rem; }
        .site-nav__desktop, .site-nav__contact { display: none; }
        .site-nav__toggle {
            position: relative; z-index: 2; width: 44px; height: 44px; padding: 0;
            display: grid; place-content: center; gap: 6px;
            border: 1px solid var(--nav-toggle-border); border-radius: 50%; color: var(--nav-ink); background: transparent; cursor: pointer;
        }
        .site-nav__toggle span { width: 17px; height: 1px; background: currentColor; transition: transform 250ms ease; }
        .site-nav__toggle[aria-expanded='true'] span:first-child { transform: translateY(3.5px) rotate(45deg); }
        .site-nav__toggle[aria-expanded='true'] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
        .site-nav__panel {
            position: fixed; z-index: 1; inset: 0; width: 100%; height: 100dvh;
            padding: calc(var(--nav-height, 76px) + 2.5rem) 1.5rem max(1.5rem, env(safe-area-inset-bottom));
            display: flex; flex-direction: column; justify-content: space-between;
            color: var(--nav-ink); background: var(--nav-paper); overflow-y: auto; overscroll-behavior: contain;
            opacity: 0; visibility: hidden; transform: translateY(-12px); pointer-events: none;
            transition: opacity 250ms ease, visibility 250ms ease, transform 250ms ease;
        }
        .site-nav__panel.is-open { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
        .site-nav__panel nav { border-top: 1px solid #173e2c30; }
        .site-nav__panel a {
            padding: 1.1rem 0; display: grid; grid-template-columns: 2.5rem 1fr; align-items: center;
            border-bottom: 1px solid #173e2c26; color: #3c523e; text-decoration: none;
            font-size: clamp(1.4rem, 4vw, 2rem); font-weight: 400; line-height: 1.5; letter-spacing: -.025em;
        }
        .site-nav__panel a[aria-current] { color: var(--nav-ink); }
        .site-nav__panel a[aria-current]::after { content: '↗'; grid-column: 2; justify-self: end; margin-top: -1.5em; font-size: 1rem; }
        .site-nav__panel a span { color: #7a8a70; font: 400 .62rem/1 'JetBrains Mono', monospace; }
        .site-nav__panel p { margin: 2rem 0 0; color: #687663; font-size: .75rem; line-height: 1.9; }
        html.has-open-menu .site-nav__actions { visibility: hidden; }
    }
    @media (max-width: 480px) {
        .site-nav { padding-inline: 1rem; gap: .65rem; --nav-brand-size: .95rem; }
        .site-nav .cs-nav-trigger, .site-nav .account-fallback { min-height: 40px; max-width: 126px; padding: 9px 13px; font-size: .68rem; }
        .site-nav .cs-nav-name { max-width: 65px; }
        .site-nav__panel { padding-inline: 1.25rem; padding-top: calc(var(--nav-height, 76px) + 1.25rem); }
        .site-nav__panel a { padding: .95rem 0; font-size: 1.4rem; }
    }
    @media (max-width: 360px) {
        .site-nav { padding-inline: .75rem; gap: .5rem; --nav-brand-size: .85rem; }
        .site-nav .cs-nav-trigger, .site-nav .account-fallback { max-width: 112px; padding-inline: 10px; font-size: .65rem; }
        .site-nav .cs-nav-name { max-width: 54px; }
    }
    @media (max-width: 1100px) and (max-height: 620px) {
        .site-nav__panel { justify-content: flex-start; padding-top: calc(var(--nav-height, 76px) + 1rem); }
        .site-nav__panel a { padding: .65rem 0; font-size: 1.15rem; }
        .site-nav__panel p { display: none; }
    }
    @media (min-width: 600px) and (max-width: 1100px) and (max-height: 620px) {
        .site-nav__panel nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }
    }
    @media (prefers-reduced-motion: reduce) { .site-nav, .site-nav::before, .site-nav * { transition: none; } }
    .about-opening__heading .about-opening__company{font-size:.8rem;color:#aabdac;line-height:1.8;margin-bottom:1.3rem}
    .about-opening__heading .about-opening__company a{display:inline;min-height:0;margin-inline:.2em;font-size:inherit;border-bottom:1px solid #b7e4c744}
    .about-company{padding:clamp(3.5rem,6vw,6rem) 0;background:#e7ecdf;color:#183f30;scroll-margin-top:var(--nav-height)}
    .about-company__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2.5rem,7vw,7rem);align-items:start}
    .about-company .eyebrow{color:#42654d;font-size:.6rem;letter-spacing:.14em;margin:0 0 1.5rem}
    .about-company h2{margin:0 0 1.5rem;font-size:clamp(1.8rem,2.8vw,3rem);font-weight:400;line-height:1.4;letter-spacing:-.04em}
    .about-company__intro>p:last-child{max-width:32rem;font-size:.95rem;line-height:2;color:#4b6050;margin:0}
    .about-company strong{font-weight:500;color:#183f30}
    .about-company__details{margin:0;border-top:1px solid #214d3433}
    .about-company__details>div{display:grid;grid-template-columns:5rem minmax(0,1fr);align-items:baseline;gap:1.5rem;padding:1.15rem 0;border-bottom:1px solid #214d3426}
    .about-company dt{font-size:.75rem;color:#607364;white-space:nowrap}
    .about-company dd{margin:0;font-size:.92rem;font-weight:400;overflow-wrap:anywhere}
    .about-company dd a{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-decoration:none;color:inherit}
    .about-company dd a span{color:#54735c}
    .about-company dd a:hover{color:#26794a}
    @media(max-width:760px){.about-company__grid{grid-template-columns:1fr;gap:2rem}.about-company__details>div{grid-template-columns:4.2rem minmax(0,1fr);gap:1rem}.about-company dd{font-size:.85rem}}
    .site-footer__identity{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.2rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.75rem;color:#bacbbf;line-height:1.8}
    .site-footer__identity a{color:inherit;text-decoration:none}
    .site-footer__identity a:hover{color:var(--mint)}
    .site-footer__identity span{color:#879e8e;font-size:.7rem}
