@charset "UTF-8";
.button {
    min-height: 54px;
    padding: 0 17px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 17px;
    border: 2px solid var(--text-dark);
    font-family: var(--body);
    font-size: var(--font-small);
    font-weight: 600;
    line-height: 1.33em;
    letter-spacing: .1em;
    transition: all .27s;
    text-decoration: none;
    text-transform: uppercase;
    position: relative;
    z-index: 1;
    cursor: pointer;
}
.btn-subtext {transform: translateY(17px);}
.button-primary {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--bg)
}

.button-primary:hover {
    background: var(--gold-light);
    border-color: var(--gold-light);
}

.button-secondary {
    background: var(--transparent);
    color: var(--gold);
    border-color: var(--gold);
}

.button-secondary:hover {
    background: var(--gold);
    color: var(--bg);
}
.button-secondary.button-secondary-white{border-color: var(--ink);color: var(--ink)}
.button-secondary.button-secondary-white:hover{border-color: var(--gold);color: var(--bg);}

.cookie-consent{position:fixed;z-index:30;left:var(--layout-gutter);bottom:calc(var(--layout-gutter) + env(safe-area-inset-bottom));display:flex;align-items:center;gap:27px;width:min(100% - var(--layout-gutter) - var(--layout-gutter),481px);padding:17px;border:1px solid var(--border-soft);background:var(--graphite);box-shadow:0 5px 22px color-mix(in srgb,var(--shade) 45%,transparent);transition:opacity var(--motion-normal),transform var(--motion-normal),visibility var(--motion-normal)}
.cookie-consent p{margin:0;color:var(--text-dark);font-size:var(--font-small);line-height:1.55}
.cookie-consent a{color:var(--gold)}
.cookie-consent a:hover{color:var(--gold-light)}
.cookie-consent .button{flex:0 0 auto;min-height:40px;white-space:nowrap}
.cookie-consent.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}

.button span,
.inline-link span {
    font-size: var(--font-body);
    line-height: 1;
    margin-top: -2px;
}

.inline-link {
    font-size: var(--font-sub);
    font-weight: 500;
    display: flex;
    gap: 11px;
    align-items: center;
    color: var(--gold);
    text-decoration: none
}

.inline-link:hover {
    color: var(--gold-light);
}

.button-disabled {
    border-color: var(--text-dark);
    color: var(--text-dark);
    opacity: var(--disabled-opacity);
    cursor: not-allowed!important;
}
.button-disabled:hover{background: transparent;color: inherit}

.button-dark {
    background: var(--bg);
    border-color: var(--bg);
    color: var(--text)
}

.scroll-to-top{position:fixed;z-index:19;left:var(--layout-gutter);bottom:calc(var(--layout-gutter) + env(safe-area-inset-bottom));display:grid;place-items:center;width:50px;height:50px;padding:0;border:1px solid var(--gold);border-radius:50%;color:var(--text-dark);background:var(--graphite);box-shadow:0 5px 22px color-mix(in srgb,var(--shade) 45%,transparent);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity var(--motion-normal),visibility var(--motion-normal),transform var(--motion-normal),background var(--motion-normal),color var(--motion-normal);cursor:pointer}
.scroll-to-top svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.scroll-to-top.is-visible,.scroll-to-top:focus-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.scroll-to-top:hover{color:var(--bg);background:var(--gold)}
.scroll-to-top:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.scroll-to-top{transition:none}}

.portfolio-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;color:var(--text);background:var(--shade)}
.portfolio-lightbox::backdrop{background:var(--shade)}
.portfolio-lightbox[open]{display:grid;grid-template-columns:70px minmax(0,1fr) 70px;grid-template-rows:minmax(0,1fr);align-items:center}
.portfolio-lightbox-toolbar{position:absolute;inset:0 0 auto;z-index:1;height:65px;display:flex;justify-content:flex-end;align-items:center;padding:0 23px}
.portfolio-lightbox-toolbar button{border:0;background:transparent;color:var(--text);cursor:pointer}
.portfolio-lightbox-toolbar button:hover{color:var(--gold-light)}
.portfolio-lightbox-close{font-size:var(--font-title)}
.portfolio-lightbox-prev,.portfolio-lightbox-next{align-self:center;justify-content:center;min-width:54px;padding:0;gap:0;border:none;width:33px;height:33px}
.portfolio-lightbox-stage{grid-column:2;grid-row:1;position:relative;display:grid;place-items:center;width:100%;height:100%;overflow:hidden;touch-action:none}
.portfolio-lightbox-image{--lightbox-zoom:1;--lightbox-drag-x:0px;--lightbox-drag-y:0px;position:absolute;max-width:100%;max-height:calc(100dvh - 90px);width:auto;height:auto;margin:auto;object-fit:contain;transform:translate3d(var(--lightbox-drag-x),var(--lightbox-drag-y),0) scale(var(--lightbox-zoom));transform-origin:center;will-change:transform,opacity}
.portfolio-lightbox-image.is-sliding-next{animation:portfolio-lightbox-in-next var(--motion-slow) both}
.portfolio-lightbox-image.is-sliding-prev{animation:portfolio-lightbox-in-prev var(--motion-normal) both}
.portfolio-lightbox-image.is-leaving-next{animation:portfolio-lightbox-out-next var(--motion-normal) both}
.portfolio-lightbox-image.is-leaving-prev{animation:portfolio-lightbox-out-prev var(--motion-normal) both}
.portfolio-lightbox-count{position:absolute;inset:auto 0 15px;text-align:center;color:var(--text-dark);font-size:var(--font-small)}
@keyframes portfolio-lightbox-in-next{from{opacity:0;transform:translate3d(18%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes portfolio-lightbox-in-prev{from{opacity:0;transform:translate3d(-18%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes portfolio-lightbox-out-next{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(-18%,0,0)}}
@keyframes portfolio-lightbox-out-prev{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(18%,0,0)}}
.portfolio-lightbox button:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}

.service-timeline{display:grid;grid-template-columns:minmax(0,.73fr) minmax(0,1.27fr);gap:67px}
.service-timeline-heading{align-self:start;margin-top:-11px}
.service-timeline-heading h2{margin:0}
.service-timeline-heading p{max-width:460px}
.service-timeline-list{position:relative;display:grid;gap:58px;padding:0;margin:0;list-style:none}
.service-timeline-list::before{position:absolute;top:-43px;bottom:10px;left:161px;width:1px;background:var(--gold);content:""}
.service-timeline-list li{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr);gap:64px}
.service-timeline-list li::before{position:absolute;top:8px;left:156px;width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px color-mix(in srgb,var(--text-dark) 25%,transparent);content:""}
.service-timeline-list h4{margin:0;font-family:var(--menu-font);font-size:var(--font-sub);font-weight:400;text-align:right;letter-spacing: .073px;text-transform:uppercase;line-height:2}
.service-timeline-list p{margin:0;color:var(--text-dark);line-height:1.7}
.service-timeline-list a{color:var(--gold-light)}
@media(max-width:1100px){
    .service-timeline{grid-template-columns:1fr;gap:83px}
    .portfolio-lightbox[open]{grid-template-columns:32px minmax(0,1fr) 32px}
    .portfolio-lightbox-prev, .portfolio-lightbox-next{display: none}
}

@media(max-width:767px){
    .portfolio-lightbox[open]{grid-template-columns:20px minmax(0,1fr) 20px}
    .button{align-self: normal;}
    .cookie-consent{right:var(--layout-gutter);bottom:calc(var(--layout-gutter) + env(safe-area-inset-bottom));gap:16px;padding:16px}
}

@media(max-width:520px){
    .service-timeline-list{gap:35px;padding-left: 17px}
    .service-timeline-list::before{left:23px}.service-timeline-list li{display:block;padding-left:28px}
    .service-timeline-list li::before{left:0}
    .service-timeline-list h4{text-align: left;}
}

@media(prefers-reduced-motion:reduce){.button{transition:none}}

@media(prefers-reduced-motion:reduce){.portfolio-lightbox-image.is-sliding-next,.portfolio-lightbox-image.is-sliding-prev,.portfolio-lightbox-image.is-leaving-next,.portfolio-lightbox-image.is-leaving-prev{animation:none}}
