/* FLITKICK Service Portfolio 1.2.2 */
.fk-services { --fk-service-accent:#e29a61; --fk-service-text:#f6f3ee; --fk-service-muted:#c2c3c7; --fk-sticky-top:0px; --fk-image-fade:.45s; position:relative; width:100%; color:var(--fk-service-text); background:#0d1116; }
.fk-services, .fk-services *, .fk-services *::before, .fk-services *::after { box-sizing:border-box; }
.fk-services .fk-services-stage { position:relative; isolation:isolate; padding:clamp(32px,5vw,80px); background:#0d1116; }
.fk-services.is-pinned .fk-services-stage { position:relative; top:0; height:var(--fk-stage-height); min-height:0; display:flex; align-items:center; will-change:transform; }
.fk-services .fk-services-backgrounds { position:absolute; inset:0; z-index:-1; overflow:hidden; border-radius:inherit; pointer-events:none; }
.fk-services .fk-services-layer { position:absolute; inset:0; background:#1d2830; opacity:0; transition:opacity var(--fk-image-fade) ease; }
.fk-services .fk-services-layer.is-active { opacity:1; }
.fk-services .fk-services-layer .fk-image { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:var(--fk-image-position,center center); }
.fk-services .fk-services-shade { position:absolute; inset:0; background:#080a0d; opacity:.45; }
.fk-services .fk-services-vignette { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,8,11,.74),rgba(6,8,11,.1) 46%,rgba(6,8,11,.83) 72%),linear-gradient(0deg,rgba(6,8,11,.72),transparent 40%); }
.fk-services .fk-services-grid { position:relative; display:grid; grid-template-columns:minmax(0,var(--fk-title-share,45%)) minmax(0,1fr); gap:40px clamp(30px,6vw,110px); align-items:start; width:100%; max-width:1440px; margin-inline:auto; }
.fk-services .fk-services-title, .fk-services .fk-services-content { min-width:0; }
.fk-services .fk-services-eyebrow { margin:8px 0 20px; color:var(--fk-service-muted); font-size:12px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; }
.fk-services .fk-services-heading { margin:0; color:var(--fk-service-accent); font-family:Georgia,serif; font-size:clamp(40px,5.5vw,82px); font-weight:400; line-height:1.05; letter-spacing:-.035em; overflow-wrap:anywhere; }
.fk-services .fk-services-rule { display:block; width:60px; height:1px; background:var(--fk-service-accent); margin:28px 0; }
.fk-services .fk-services-section-description { color:var(--fk-service-muted); font-size:16px; line-height:1.7; max-width:440px; margin:0; overflow-wrap:anywhere; }
.fk-services .fk-services-heading-link { color:inherit; font:inherit; text-decoration:none; }
.fk-services .fk-services-heading-link:hover { color:var(--fk-service-accent); text-decoration:underline; text-underline-offset:5px; }
.fk-services .fk-services-heading-link:focus-visible { outline:2px solid var(--fk-service-accent); outline-offset:4px; }
.fk-services .fk-services-lead { font-family:Georgia,serif; font-size:clamp(22px,2.1vw,31px); font-style:italic; line-height:1.35; margin:0 0 18px; color:var(--fk-service-text); }
.fk-services .fk-services-introduction { font-size:16px; line-height:1.7; color:var(--fk-service-muted); margin:0 0 28px; }
.fk-services .fk-services-item { margin:0; padding:0; border:0; border-top:1px solid #ffffff26; }
.fk-services .fk-services-item:last-child { border-bottom:1px solid #ffffff26; }
.fk-services .fk-services-trigger { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; cursor:pointer; margin:0; padding:17px 0; font-family:inherit; font-size:18px; font-weight:500; line-height:1.35; color:var(--fk-service-text); overflow-wrap:anywhere; }
.fk-services .fk-services-trigger::-webkit-details-marker { display:none; }
.fk-services .fk-services-trigger::marker { content:''; }
.fk-services .fk-services-trigger:focus-visible, .fk-services .fk-services-link:focus-visible { outline:2px solid var(--fk-service-accent); outline-offset:4px; }
.fk-services .fk-services-item[open] > .fk-services-trigger { color:var(--fk-service-accent); }
.fk-services .fk-services-symbol { flex:0 0 auto; font-size:22px; font-weight:300; }
.fk-services .fk-services-symbol::before { content:'+'; }
.fk-services .fk-services-item[open] > .fk-services-trigger .fk-services-symbol::before { content:'\2212'; }
.fk-services .fk-services-panel { padding:0 0 22px; }
.fk-services .fk-services-description { font-size:15px; line-height:1.65; color:var(--fk-service-muted); margin:0 0 16px; overflow-wrap:anywhere; }
.fk-services .fk-services-tags { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; list-style:none; }
.fk-services .fk-services-tag { list-style:none; font-size:12px; line-height:1.4; border:1px solid #ffffff30; border-radius:40px; padding:6px 12px; margin:0; color:var(--fk-service-muted); overflow-wrap:anywhere; max-width:100%; }
.fk-services .fk-services-subservice { list-style:none; margin:0; padding:0; max-width:100%; }
.fk-services .fk-services-tag { display:block; text-decoration:none; transition:color .2s,border-color .2s,background-color .2s; }
.fk-services a.fk-services-tag:hover, .fk-services a.fk-services-tag:focus-visible { color:var(--fk-service-text); border-color:var(--fk-service-accent); background:#ffffff12; }
.fk-services a.fk-services-tag:focus-visible { outline:2px solid var(--fk-service-accent); outline-offset:3px; }
.fk-services .fk-services-link { display:inline-block; color:var(--fk-service-accent); margin-top:16px; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.fk-services .fk-services-eyebrow, .fk-services .fk-services-lead, .fk-services .fk-services-introduction { overflow-wrap:anywhere; }
.fk-services .fk-services-mobile-nav { display:none; }
.fk-services.is-mobile-pinned .fk-services-stage { height:var(--fk-stage-height); min-height:0; padding:24px 20px; align-items:flex-start; }
.fk-services.is-mobile-pinned .fk-services-grid { display:block; max-height:100%; overflow-y:auto; overflow-x:hidden; scrollbar-width:thin; }
.fk-services.is-mobile-pinned .fk-services-title { margin-bottom:20px; }
.fk-services.is-mobile-pinned .fk-services-heading { font-size:34px; }
.fk-services.is-mobile-pinned .fk-services-section-description { font-size:14px; line-height:1.5; }
.fk-services.is-mobile-pinned .fk-services-lead { font-size:21px; }
.fk-services.is-mobile-pinned .fk-services-introduction { font-size:14px; line-height:1.5; margin-bottom:16px; }
.fk-services.is-mobile-pinned .fk-services-item:not([open]) { display:none; }
.fk-services.is-mobile-pinned .fk-services-mobile-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 0 4px; }
.fk-services .fk-services-mobile-nav button { appearance:none; border:1px solid #ffffff40; border-radius:30px; background:transparent; color:var(--fk-service-text); font:inherit; font-size:13px; padding:9px 16px; cursor:pointer; }
.fk-services .fk-services-mobile-nav button:disabled { opacity:.4; cursor:default; }
.fk-services .fk-services-mobile-nav button:focus-visible { outline:2px solid var(--fk-service-accent); outline-offset:3px; }
.fk-services .fk-services-counter { color:var(--fk-service-muted); font-size:12px; }
@media(max-width:767px) {
 .fk-services .fk-services-grid { grid-template-columns:minmax(0,1fr); gap:26px; }
 .fk-services .fk-services-stage { padding:30px 22px; }
 .fk-services .fk-services-heading { font-size:40px; }
 .fk-services .fk-services-eyebrow { margin:0 0 12px; }
 .fk-services .fk-services-rule { margin:18px 0 0; }
 .fk-services .fk-services-section-description { margin-top:18px; }
 .fk-services .fk-services-vignette { background:linear-gradient(0deg,rgba(6,8,11,.8),rgba(6,8,11,.35)); }
}
@media(prefers-reduced-motion:reduce) { .fk-services .fk-services-layer { transition:none; } }
@media print { .fk-services { height:auto!important; } .fk-services .fk-services-stage { position:static!important; min-height:0!important; } }

.fk-services.is-pinned .fk-services-grid { max-height:100%; overflow-y:auto; overflow-x:hidden; scrollbar-width:thin; }
@media print { .fk-services .fk-services-stage { transform:none!important; height:auto!important; } }

/* Keep a single document scroll surface, including tall service content. */
.fk-services.is-pinned .fk-services-grid { max-height:none; overflow:visible; }
.fk-services.is-measuring .fk-services-stage { height:auto; min-height:0; }
.fk-services { overflow-anchor:none; }
