/* Bilka uses the same case-study surfaces and rhythm as UngeKræfter. */
.bilka-page .bilka-case-layout { max-width:none; width:100%; margin:0; padding:0; }
.bilka-page .uk-opening-title { max-width:none; }
.bilka-page .uk-opening-subtitle { max-width:600px; margin-inline:auto; }
.bilka-page .bilka-opening-facts { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:24px 0 0; padding:0; background:none; border:0; }
.bilka-page .bilka-opening-facts > div { display:flex; flex-direction:column; align-items:center; gap:4px; padding:10px 16px; min-width:0; border:1px solid var(--navigation-glass-border); border-radius:16px; background:var(--navigation-glass); }
.bilka-page .bilka-opening-facts span { font-size:11px; color:var(--case-muted); }
.bilka-page .bilka-opening-facts strong { margin:0; font-size:12px; font-weight:400; }
.bilka-page .bilka-opening-facts .case-figma-tool svg { height:20px; width:14px; }
.bilka-page .bilka-chapters .uk-chapter-card { min-width:0; }
.bilka-page .bilka-chapter-content { margin-top:0; }
.bilka-page .bilka-chapter-content > h2 { margin-bottom:24px; }
.bilka-page .bilka-chapter-content p { font-size:18px; line-height:1.6; }
.bilka-page .bilka-chapter-content p + p { margin-top:20px; }
.bilka-page .bilka-chapter-content .core-insight-buttons { display:grid; grid-template-columns:1fr; gap:12px; }
.bilka-page .bilka-chapter-content .core-insight-buttons button { padding:14px 20px; border:1px solid var(--navigation-glass-border); border-radius:999px; background:var(--navigation-glass); color:var(--ink); font-size:16px; font-weight:400; box-shadow:none; }
.bilka-page .bilka-chapter-content .core-insight-buttons button:hover { background:var(--navigation-glass-hover); }
.bilka-page .bilka-chapter-content .case-method-list { display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:0; list-style:none; }
.bilka-page .bilka-chapter-content .case-method-list li { display:block; padding:10px 14px; background:var(--navigation-glass); border:1px solid var(--navigation-glass-border); border-radius:999px; font-size:14px; }
.bilka-page .bilka-chapter-content .case-method-list li::before { content:none; }
.bilka-page .turning-point-content > h3 { font-size:clamp(22px,2.2vw,28px); line-height:1.3; margin:0 0 24px; }
.bilka-page .bilka-chapter-content .research-shift-cards { display:grid; grid-template-columns:1fr; gap:12px; }
.bilka-page .bilka-chapter-content .research-shift-cards > div { padding:16px; background:var(--navigation-glass); border:1px solid var(--navigation-glass-border); border-radius:16px; }
.bilka-page .bilka-wide-section { display:block; position:relative; z-index:5; padding:80px 48px; margin:0; border:0; border-radius:0; background:var(--paper); color:var(--ink); box-shadow:none; }
.bilka-page .bilka-wide-section > * { max-width:1184px; margin-inline:auto; }
.bilka-page .bilka-wide-section > h2 { font-size:clamp(28px,3vw,44px); letter-spacing:-.04em; line-height:1.15; margin-bottom:32px; }
.bilka-page .bilka-principle-map { background:linear-gradient(135deg,#ece5fa55,#ebf2d566),var(--paper); }
.bilka-page .principle-map-rows { gap:16px; }
.bilka-page .principle-map-card { border-radius:24px; border-color:var(--navigation-glass-border); background:var(--navigation-glass); color:var(--ink); box-shadow:var(--navigation-glass-shadow); }
.bilka-page .principle-flip-back .principle-map-card { background:var(--paper); color:var(--ink); }
.bilka-page .bilka-features { margin:0; padding:64px 48px 96px; }
.bilka-page .bilka-features > .uk-feature-copy { max-width:1184px; margin:0 auto; padding:0; }
.bilka-page .uk-feature-copy .uk-feature-tabs { max-width:100%; width:fit-content; justify-content:center; }
.bilka-page .uk-feature-copy .uk-feature-tabs button { font-size:14px; }
.bilka-page .uk-feature-copy .feature-carousel-track > .prototype-feature { display:grid; grid-template-columns:1fr 1fr; gap:0; padding:0; min-height:520px; border:1px solid var(--navigation-glass-border); border-radius:28px; }
.bilka-page .uk-feature-copy .prototype-feature-copy { grid-column:2; grid-row:1; }
.bilka-page .uk-feature-copy .prototype-feature-visual { grid-column:1; grid-row:1; display:grid; align-items:center; padding:32px; border-radius:28px; min-width:0; min-height:420px; }
.bilka-page .uk-feature-copy .prototype-feature-visual img { object-fit:contain; max-height:500px; }
.bilka-page .uk-feature-copy .prototype-feature-label { display:block; margin-bottom:16px; font:11px/1.4 Arial,sans-serif; letter-spacing:.08em; }
.bilka-page .uk-feature-copy .uk-feature-reading > h2 { font-size:clamp(28px,3vw,40px); }
.bilka-page .uk-feature-copy .uk-feature-reading > p { font-size:16px; line-height:1.65; }
.bilka-page .uk-feature-copy .care-letter-quote { font-size:clamp(20px,2vw,26px); line-height:1.35; font-weight:600; }
.bilka-page .bilka-service-combined { background:linear-gradient(135deg,#ece5fa55,#ebf2d566),var(--paper); }
.bilka-page .bilka-service-combined .service-view-tabs { display:flex; flex-wrap:wrap; width:fit-content; gap:8px; padding:4px; border:1px solid var(--case-border); border-radius:24px; background:var(--navigation-glass); }
.bilka-page .bilka-service-combined .service-view-tabs button { min-height:44px; padding:10px 16px; border-radius:999px; font:14px/1.4 Arial,sans-serif; }
.bilka-page .bilka-service-combined .service-view-tabs button[aria-selected="true"] { background:var(--navigation-glass-hover); color:var(--ink); border-color:var(--navigation-glass-border); }
.bilka-page .bilka-chapter-content .concept-potential-cards { display:grid; grid-template-columns:1fr; gap:16px; }
.bilka-page .bilka-chapter-content .concept-potential-cards > * { padding:20px; border:1px solid var(--navigation-glass-border); border-radius:20px; background:var(--navigation-glass); }
.bilka-page .bilka-result-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.bilka-page .bilka-result-actions button { min-height:44px; padding:12px 18px; border:1px solid var(--navigation-glass-border); border-radius:999px; color:var(--ink); background:var(--navigation-glass); font:14px/1.4 Arial,sans-serif; cursor:pointer; }
.bilka-page .case-end { position:relative; z-index:6; margin:0; padding:32px 48px; background:var(--paper); }
.bilka-page .uk-floating-prototype { background:#eaf2d2; color:#252422; }
[data-theme="dark"] .bilka-page .bilka-principle-map,
[data-theme="dark"] .bilka-page .bilka-service-combined { background:linear-gradient(135deg,#c0a9e510,#ceddad08),var(--design-bg); }
.bilka-page .uk-project-outro .uk-scroll-introduction { max-width:1040px; }
@media(max-width:900px) {
 .bilka-page .bilka-features { padding-inline:24px; }
 .bilka-page .uk-feature-copy .uk-feature-tabs { border-radius:24px; }
 .bilka-page .uk-feature-copy .uk-feature-tabs button { font-size:13px; }
}
@media(max-width:700px) {
 .bilka-page .uk-intro-opening { width:100%; }
 .bilka-page .uk-opening-subtitle { font-size:16px; }
 .bilka-page .bilka-opening-facts { gap:6px; margin-top:16px; }
 .bilka-page .bilka-opening-facts > div { padding:8px 10px; }
 .bilka-page .uk-intro-opening .showcase-device { max-width:100px; }
 .bilka-page .bilka-wide-section { padding:56px 24px; }
 .bilka-page .bilka-chapter-content p { font-size:16px; }
 .bilka-page .uk-feature-copy .feature-carousel-track > .prototype-feature { grid-template-columns:1fr; min-height:0; }
 .bilka-page .uk-feature-copy .prototype-feature-visual { grid-column:1; grid-row:1; min-height:260px; padding:24px; }
 .bilka-page .uk-feature-copy .prototype-feature-visual img { max-height:320px; }
 .bilka-page .uk-feature-copy .prototype-feature-copy { grid-column:1; grid-row:2; }
 .bilka-page .bilka-service-combined .service-view-tabs { width:100%; }
 .bilka-page .case-end { padding:24px; }
}
@media(prefers-reduced-motion:reduce) {
 .bilka-page .uk-feature-copy *, .bilka-page .principle-flip * { animation:none; transition:none; }
}
@media print {
 .bilka-page .uk-quote-intro { display:block; height:auto; }
 .bilka-page .uk-intro-stage { position:static; height:auto; }
 .bilka-page .uk-scroll-quote { display:none; }
 .bilka-page .uk-chapter-stream { height:auto!important; overflow:visible; }
 .bilka-page .uk-chapter-card { opacity:1!important; min-height:0; }
 .bilka-page .uk-project-ending { height:auto!important; }
 .bilka-page .uk-ending-stage { position:static; overflow:visible; }
 .bilka-page .uk-project-outro { position:relative; height:auto; }
 .bilka-page .uk-project-outro .uk-scroll-introduction { visibility:visible!important; transform:none!important; }
 .bilka-page .uk-floating-prototype { display:none; }
}

.bilka-page .bilka-chapter-content .research-shift-cards { margin-top:24px; }
.bilka-page .bilka-chapter-content .research-shift-cards h4 { margin:8px 0; font-size:18px; color:var(--ink); }
.bilka-page .bilka-chapter-content .research-shift-cards p { font-size:16px; }
.bilka-page .bilka-chapter-content .turning-point-takeaway { margin-top:24px; padding:20px; border-radius:20px; background:var(--navigation-glass); color:var(--ink); }
.bilka-page .bilka-chapter-content .concept-potential-cards h3 { margin:0 0 12px; font-size:20px; }
.bilka-page .bilka-chapter-content .concept-potential-intro { margin-bottom:24px; }

.bilka-page .principle-map-heading h2, .bilka-page .service-combined-heading h2 { font-size:clamp(28px,3vw,44px); letter-spacing:-.04em; line-height:1.15; margin:0 0 16px; }
.bilka-page .principle-map-heading { margin-bottom:32px; }
.bilka-page .principle-map-heading p { font-size:18px; line-height:1.6; }
.bilka-page #bilka-features .uk-feature-reading .care-letter-tags li { background:linear-gradient(160deg,rgba(48,87,139,.12) 0%,rgba(35,70,115,.12) 48%,rgba(23,49,86,.12) 100%),var(--bilka-section); border-color:#ffffff66; color:#171717; border-radius:18px; }

/* The feature shell is a vertical stack; only each slide uses two columns. */
.bilka-page .uk-feature-section > .case-block.uk-feature-copy {
  display:block;
  width:100%;
  min-width:0;
  grid-template-columns:none;
}
.bilka-page .uk-feature-copy > .uk-feature-tabs {
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  align-content:center;
  justify-content:center;
  width:fit-content;
  max-width:100%;
  height:auto;
  min-height:0;
  margin:0 auto 32px;
}
.bilka-page .uk-feature-copy > .uk-feature-tabs button { flex:0 0 auto; min-height:44px; }
.bilka-page .uk-feature-copy > .feature-carousel-track { width:100%; min-width:0; }

/* Blue grid sampled from the supplied Bilka colour reference: #e5ecf6. */
:root:not([data-theme="dark"]) .bilka-page,
:root:not([data-theme="dark"]) .bilka-page .uk-quote-intro,
:root:not([data-theme="dark"]) .bilka-page .uk-feature-section {
  background-color:#e5ecf6;
  background-image:linear-gradient(#a5b7cf24 1px,transparent 1px),linear-gradient(90deg,#a5b7cf24 1px,transparent 1px);
  background-size:80px 80px;
}

/* Bilka's shared case-study template uses a consistent blue surface palette. */
.bilka-page {
  --bilka-blue:#e5ecf6;
  --bilka-blue-line:#a5b7cf40;
  --bilka-section:radial-gradient(ellipse at 12% 35%,#dee6f0,transparent 65%),#f1f3f5;
  --bilka-panel:linear-gradient(135deg,#e5ecfa55,#edf2f566);
  --bilka-sheet:229 236 246;
  --case-accent:#dce7f5;
  --case-green:#e5ecf6;
  --care-visual-background:linear-gradient(135deg,#e5ecfa55,#edf2f566);
  --navigation-glass:rgba(255,255,255,.28);
  --navigation-glass-hover:rgba(255,255,255,.44);
  --navigation-glass-shadow:inset 0 1px 0 #ffffffb3,0 4px 16px #26466b0d;
}
:root:not([data-theme="dark"]) .bilka-page { --purple:#486c99; --case-muted:#58677a; }
.bilka-page .uk-chapters,
.bilka-page .bilka-principle-map,
.bilka-page .bilka-service-combined { background:var(--bilka-section); }
.bilka-page .uk-chapters .uk-chapter-card { background:#ffffff59; border-color:#ffffffa6; box-shadow:0 8px 32px #24334508; }
.bilka-page .uk-chapters .uk-chapter-placeholder { background:var(--bilka-panel); border-color:var(--bilka-blue-line); }
.bilka-page .uk-chapters-nav button { background:var(--navigation-glass); border-color:var(--bilka-blue-line); }
.bilka-page .uk-chapters-nav button[aria-current="step"] { background:var(--navigation-glass-hover); border-color:var(--navigation-glass-border); box-shadow:0 4px 24px #294a710a; }
.bilka-page .uk-project-tabs.uk-elastic-tabs { background:var(--navigation-glass); border-color:var(--bilka-blue-line); }
.bilka-page .uk-tab-highlight { background:var(--navigation-glass-hover); }
.bilka-page .uk-feature-copy .feature-carousel-track > .prototype-feature { background:var(--case-surface); color:var(--ink); }
.bilka-page .uk-feature-copy .prototype-feature-visual { background:var(--care-visual-background); }
.bilka-page .uk-floating-prototype { background:var(--bilka-blue); color:var(--ink); }
.bilka-page .uk-project-outro::before { background:rgb(var(--bilka-sheet) / var(--uk-ending-glass,0)); }
.bilka-page .uk-intro-stage::after { background:rgb(var(--bilka-sheet) / var(--uk-card-glass,0)); }
:root:not([data-theme="dark"]) .bilka-page::before { background:linear-gradient(#d7e4f48c,transparent); }
:root:not([data-theme="dark"]) .bilka-page::after { background:linear-gradient(transparent,#d7e4f460); }
[data-theme="dark"] .bilka-page {
  --bilka-blue:#293c56;
  --bilka-blue-line:#a8c7ef30;
  --bilka-section:linear-gradient(135deg,#202c3e,#1b2532);
  --bilka-panel:linear-gradient(135deg,#d5e5ff0e,#d5e5ff04);
  --bilka-sheet:24 34 49;
  --case-accent:#344c6b;
  --case-green:#293c56;
  --care-visual-background:linear-gradient(135deg,#233247,#1b2635);
  --navigation-glass:rgba(199,222,255,.08);
  --navigation-glass-hover:rgba(199,222,255,.16);
  --navigation-glass-shadow:inset 0 1px 0 #d5e5ff18,0 4px 16px #00000014;
}
[data-theme="dark"] .bilka-page .uk-quote-intro,
[data-theme="dark"] .bilka-page .uk-feature-section {
  background-color:#1b2635;
  background-image:linear-gradient(#a8c7ef12 1px,transparent 1px),linear-gradient(90deg,#a8c7ef12 1px,transparent 1px);
  background-size:80px 80px;
}

/* Selected navigation buttons use a black highlight with white text. */
.bilka-page .bilka-service-combined .service-view-tabs button[aria-selected="true"],
.bilka-page .uk-chapters-nav button[aria-current="step"] {
  background:#171717;
  border-color:#171717;
  color:#fff;
  opacity:1;
}
.bilka-page .uk-tab-highlight { background:#171717; }
.bilka-page .uk-project-tabs.uk-elastic-tabs button[aria-selected="true"] {
  color:#fff;
  opacity:1;
}

/* Match the reference's lightness and transparency, with a blue hue. */
:root:not([data-theme="dark"]) .bilka-page,
:root:not([data-theme="dark"]) .bilka-page .uk-quote-intro,
:root:not([data-theme="dark"]) .bilka-page .uk-feature-section {
 background-color:#f0f4f8;
 background-image:linear-gradient(#b5c1cd24 1px,transparent 1px),linear-gradient(90deg,#b5c1cd24 1px,transparent 1px),linear-gradient(#eaf0f6,#f2f5f8);
 background-size:80px 80px,80px 80px,100% 100%;
}
[data-theme="dark"] .bilka-page .uk-chapters .uk-chapter-card { background:linear-gradient(135deg,#e7f0ff0e,#dce6f006); border-color:#e7f0ff24; box-shadow:inset 0 1px 0 #ffffff0b,0 12px 40px #08080b18; }
.bilka-page .bilka-service-combined .blueprint-panel .blueprint-badge,
.bilka-page .uk-project-outro .uk-about-link {
 background:#171717;
 color:#fff;
 border-color:#171717;
}
.bilka-page .uk-project-outro .uk-about-link:hover { background:#303030; border-color:#303030; }

/* Design-details section copied from the reference case. */
.bilka-page .uk-design-details { position:relative; z-index:6; background:var(--bilka-section); border-radius:0; }
.bilka-page .uk-details-stage { background:linear-gradient(135deg,#dce5f0,#e7edf5); }
.bilka-page .uk-details-tile-accent { background:#d7e4f4; }
.bilka-page .uk-details-shape-one { background:repeating-linear-gradient(90deg,#adbed544 0 2px,transparent 2px 5px); }
.bilka-page .uk-details-shape-two { background:repeating-linear-gradient(0deg,#bdcddd44 0 2px,transparent 2px 5px); }
[data-theme="dark"] .bilka-page .uk-details-stage { background:#253347; }
[data-theme="dark"] .bilka-page .uk-details-tile-accent { background:#344c6b; }

/* This showcase keeps a dark presentation in both page themes. */
.bilka-page .uk-design-details {
  --ink:#f1f1f3;
  --case-muted:#c4c4cb;
  background:#19191f;
  color:#f1f1f3;
}
.bilka-page .uk-design-details .uk-details-stage { background:#19191f; }
.bilka-page .uk-design-details .uk-details-panel { background:#28282edc; border-color:#ffffff20; box-shadow:0 16px 48px #00000026; color:#f1f1f3; }
.bilka-page .uk-design-details .uk-details-panel-heading h3 { color:#f1f1f3; }
.bilka-page .uk-design-details .uk-details-panel-label { color:#c7c7ce; opacity:1; }
.bilka-page .uk-design-details .uk-details-tile { background:#ffffff0d; }
.bilka-page .uk-design-details .uk-details-tile-accent { background:#404047; }
.bilka-page .uk-design-details .uk-details-number { color:#d9d9df; opacity:1; }
.bilka-page .uk-design-details .uk-details-shape { opacity:.25; }
.bilka-page .uk-design-details .uk-save-draft-example { background:#171717; color:#fff; border-color:#ffffff20; }

.bilka-page .uk-design-details .uk-details-shape { background:repeating-linear-gradient(35deg,#ffffff12 0 2px,transparent 2px 5px); }

/* Only animate the existing service-menu highlight. */
.bilka-page .service-view-tabs.uk-elastic-tabs { position:relative; isolation:isolate; }
.bilka-page .service-view-tabs.uk-elastic-tabs .uk-tab-highlight { position:absolute; top:0; left:0; z-index:0; border-radius:999px; pointer-events:none; background:#171717; }
.bilka-page .service-view-tabs.uk-elastic-tabs button { position:relative; z-index:1; }
.bilka-page .bilka-service-combined .service-view-tabs.uk-elastic-tabs button[aria-selected="true"] { background:transparent; border-color:transparent; }
/* Neutral black glass on the design-detail panels and tiles. */
.bilka-page .uk-design-details .uk-details-panel {
 background:linear-gradient(125deg,rgba(156,156,150,.30),rgba(91,91,89,.22) 48%,rgba(189,189,180,.34));
 border-color:#ffffff20;
 backdrop-filter:blur(32px) saturate(105%);
 -webkit-backdrop-filter:blur(32px) saturate(105%);
 box-shadow:inset 0 1px 0 #ffffff30,inset 1px 0 0 #ffffff12,0 16px 48px #00000020;
}
.bilka-page .uk-design-details .uk-details-tile,
.bilka-page .uk-design-details .uk-details-tile-accent {
 background:linear-gradient(140deg,rgba(210,210,204,.16),rgba(125,125,122,.10) 55%,rgba(225,225,216,.19));
 border:1px solid #ffffff1c;
 backdrop-filter:blur(16px);
 -webkit-backdrop-filter:blur(16px);
 box-shadow:inset 0 1px 0 #ffffff1c;
}
.bilka-page .bilka-inline-prototype .bilka-inline-phases { display:flex; gap:6px; margin:0 0 20px; }
.bilka-page .bilka-inline-phases button { flex:1; min-height:44px; border:1px solid #ffffff20; border-radius:999px; background:#ffffff0d; color:#dddde4; font:13px/1.4 Arial,sans-serif; cursor:pointer; }
.bilka-page .bilka-inline-phases button[aria-pressed="true"] { background:#f1f1f3; color:#19191f; }
.bilka-inline-phone-row { display:grid; grid-template-columns:32px minmax(0,1fr) 32px; gap:8px; align-items:center; }
.bilka-page .bilka-inline-phone { display:block; width:100%; max-width:300px; margin:auto; padding:5px; border-radius:36px; border:2px solid #b7b8b3; background:#080909; aspect-ratio:403/862; cursor:pointer; animation:none; transform:none; }
.bilka-page .bilka-inline-phone .showcase-device-screen { display:block; width:100%; height:100%; border-radius:28px; overflow:hidden; }
.bilka-inline-phone img { display:block; width:100%; height:100%; object-fit:cover; }
.bilka-inline-phone-row > button:not(.bilka-inline-phone) { width:32px; height:44px; border:1px solid #ffffff26; border-radius:999px; background:#ffffff0d; color:#fff; cursor:pointer; }
.bilka-inline-phone-row > button:disabled { opacity:.3; cursor:default; }
.bilka-page .bilka-inline-caption { margin:16px 0; font:13px/1.5 Arial,sans-serif; color:#dddde4; text-align:center; }
.bilka-inline-step-label { display:block; font:12px/1.5 Arial,sans-serif; color:#ccc; }
.bilka-inline-step-label select { display:block; width:100%; min-height:44px; margin-top:6px; padding:8px; border:1px solid #ffffff26; border-radius:12px; background:#28282e; color:#fff; font:13px/1.4 Arial,sans-serif; }
.bilka-inline-prototype button:focus-visible,.bilka-inline-prototype select:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.bilka-page .bilka-inline-prototype .bilka-inline-phases { display:grid; grid-template-columns:5fr 2fr 5fr; gap:16px; margin-bottom:24px; }
.bilka-page .bilka-inline-prototype .bilka-inline-phases button { display:flex; flex-direction:column; gap:12px; align-items:stretch; min-width:0; min-height:44px; padding:8px 0; border:0; border-radius:0; background:transparent; color:#a5a5af; text-align:left; font:14px/1.4 Arial,sans-serif; }
.bilka-page .bilka-inline-prototype .bilka-inline-phases button[aria-pressed="true"] { background:transparent; color:#ece5fa; }
.bilka-inline-progress { display:block; height:3px; overflow:hidden; background:#ffffff24; }
.bilka-inline-progress i { display:block; width:0; height:100%; background:#ece5fa; transition:width .25s ease; }
@media(prefers-reduced-motion:reduce) { .bilka-inline-progress i { transition:none; } }
/* Prototype context and phone occupy their respective glass panels. */
.bilka-page .bilka-inline-prototype { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); align-items:center; }
.bilka-page .bilka-inline-context { padding:28px; }
.bilka-inline-explanation { padding:24px; margin:24px 0; border:1px solid #ffffff26; border-radius:24px; background:linear-gradient(135deg,#ffffff0c,#00000010); }
.bilka-inline-kicker { font:600 11px/1.4 Arial,sans-serif; letter-spacing:.08em; color:#c7c7ce; }
.bilka-page .bilka-inline-explanation h3 { margin:16px 0 20px; color:#f1f1f3; font-size:clamp(22px,2.4vw,30px); line-height:1.25; }
.bilka-page .bilka-inline-explanation p { margin:0; color:#d2d2da; font-size:16px; line-height:1.65; }
.bilka-page .bilka-inline-context .bilka-slide-menu { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px 8px; margin:0; }
.bilka-page .bilka-inline-context .bilka-slide-menu button { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:8px; min-width:0; min-height:64px; padding:8px 2px; border:0; background:transparent; color:#aaaab3; cursor:pointer; font:11px/1.4 Arial,sans-serif; }
.bilka-page .bilka-inline-context .bilka-slide-menu button[aria-current="step"] { color:#fff; }
.bilka-page .bilka-inline-context .bilka-menu-icon { display:block; width:24px; height:24px; background:currentColor; mask-image:var(--menu-icon); -webkit-mask-image:var(--menu-icon); mask-size:contain; -webkit-mask-size:contain; mask-repeat:no-repeat; -webkit-mask-repeat:no-repeat; }
@media(max-width:800px) {
 .bilka-page .bilka-inline-prototype { grid-template-columns:minmax(0,1fr); }
 .bilka-page .bilka-inline-context { padding:20px; }
 .bilka-page .bilka-inline-context .bilka-slide-menu { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

/* Only the outer service-tab container has an outline. */
.bilka-page .bilka-service-combined .service-view-tabs.uk-elastic-tabs button,
.bilka-page .bilka-service-combined .service-view-tabs.uk-elastic-tabs button[aria-selected="true"] {
  border-color:transparent;
  box-shadow:none;
}

/* Journey matrices: black header row and blue perspective column. */
.bilka-page #bilka-service .blueprint-scroll thead th {
  background:#171717;
  color:#fff;
  border-color:transparent;
}
.bilka-page #bilka-service .blueprint-scroll thead .blueprint-step { color:#ffffffb3; }
.bilka-page #bilka-service .blueprint-scroll tbody th {
  background:#3f8fca;
  color:#fff;
  border-color:transparent;
}

/* Dark outlines on the journey's content cells. */
.bilka-page #bilka-service .blueprint-scroll tbody td:not(.blueprint-pain):not(.blueprint-gain) {
  border-color:#171717;
}

/* Perspective labels use the menu's light glass tone and original corners. */
.bilka-page #bilka-service .blueprint-scroll tbody th {
  background:var(--navigation-glass);
  color:#171717;
  border:1px solid var(--navigation-glass-border);
  border-radius:10px;
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  box-shadow:var(--navigation-glass-shadow);
  font-weight:600;
}

/* Pain point copy follows the normal cell alignment; its icon sits to the right. */
.bilka-page #bilka-service .blueprint-scroll td.blueprint-pain {
  position:relative;
  vertical-align:top;
  text-align:left;
  padding-right:40px;
}
.bilka-page #bilka-service .blueprint-scroll td.blueprint-pain > .blueprint-status {
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  margin:0;
}

/* Use the slide visual's soft radial glass gradient for the flow controls. */
.bilka-page .uk-design-details .uk-details-panel.bilka-inline-context {
  background:radial-gradient(ellipse at 75% 20%,#ebf2d560,transparent 60%),linear-gradient(145deg,#d4c6e735,#eee5fc12);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border-color:#ffffff26;
  box-shadow:inset 0 1px 0 #ffffff20;
}

/* More compact flow copy and matching glass arrow controls. */
@media(min-width:801px) {
 .bilka-page .bilka-inline-prototype { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
}
.bilka-page .bilka-inline-phone-row { grid-template-columns:44px minmax(0,1fr) 44px; }
.bilka-page .bilka-inline-phone-row > button:not(.bilka-inline-phone) {
 width:44px;
 height:44px;
 border-radius:50%;
 background:radial-gradient(ellipse at 75% 20%,#ebf2d560,transparent 60%),linear-gradient(145deg,#d4c6e735,#eee5fc12);
 border:1px solid #ffffff26;
 box-shadow:inset 0 1px 0 #ffffff20;
 backdrop-filter:blur(24px);
 -webkit-backdrop-filter:blur(24px);
 color:#f1f1f3;
 font-size:24px;
}

/* After cells share the same copy/icon alignment as pain points. */
.bilka-page #bilka-service .blueprint-scroll td.blueprint-solved {
 position:relative;
 vertical-align:top;
 text-align:left;
 padding-right:40px;
}
.bilka-page #bilka-service .blueprint-scroll td.blueprint-solved > .blueprint-status {
 position:absolute;
 right:10px;
 top:50%;
 transform:translateY(-50%);
 margin:0;
}
.bilka-page #bilka-service .blueprint-status .ti-check {
 display:block;
 width:14px;
 height:14px;
 background:currentColor;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E") center/contain no-repeat;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Let the prototype phone stand freely beside the flow copy. */
.bilka-page .uk-design-details .uk-details-panel.bilka-inline-phone-panel {
 background:transparent;
 border:0;
 box-shadow:none;
 backdrop-filter:none;
 -webkit-backdrop-filter:none;
}
.bilka-page .bilka-inline-phone-row > button:not(.bilka-inline-phone) .ph { font-size:24px; display:block; }

/* Open service blueprint with subtle column dividers. */
.bilka-page #bilka-service .blueprint2-matrix {
 border-spacing:0 8px;
}
.bilka-page #bilka-service .blueprint2-matrix thead th,
.bilka-page #bilka-service .blueprint2-matrix tbody th,
.bilka-page #bilka-service .blueprint2-matrix tbody td {
 background:transparent;
 color:#000;
 border:0;
 border-radius:0;
 padding:16px 10px;
 box-shadow:none;
 backdrop-filter:none;
 -webkit-backdrop-filter:none;
}
.bilka-page #bilka-service .blueprint2-matrix .userflow-card-number { color:#000; }
.bilka-page #bilka-service .blueprint2-matrix tbody th small { opacity:1; }
.bilka-page #bilka-service .blueprint2-matrix .blueprint2-boundary td {
 padding:10px 0;
 color:#5B6778;
}
.bilka-page #bilka-service .blueprint2-boundary span::before,
.bilka-page #bilka-service .blueprint2-boundary span::after { border-color:#5B6778; }
.bilka-page .bilka-inline-phone-row > button:not(.bilka-inline-phone) { display:grid; place-items:center; padding:0; }
.bilka-page .bilka-inline-phone-row > button:not(.bilka-inline-phone) svg { display:block; fill:none; stroke:currentColor; }

/* Compact insight tabs use the same sliding highlight as UngeKræfter. */
.bilka-page .bilka-insight-tabs { display:flex; flex-wrap:wrap; gap:4px; width:fit-content; max-width:100%; margin:0 0 28px; }
.bilka-page .bilka-insight-tabs button { min-height:44px; padding:10px 14px; font-size:13px; }
.bilka-page .bilka-insight-tabs .uk-tab-highlight { background:#171717; }
.bilka-page .bilka-insight-tabs button[aria-selected="true"] { color:#fff; }
.bilka-page .bilka-insight-panels h3 { margin:0 0 20px; }
.bilka-page .bilka-insight-panels p { margin:0; }
.bilka-page .bilka-insight-points { margin:28px 0 0; padding-left:1.4em; }
.bilka-page .bilka-insight-points li { padding-left:4px; margin-bottom:18px; line-height:1.6; }
.bilka-page .bilka-insight-points li:last-child { margin-bottom:0; }

/* Insight points in soft glass capsules, matching the reference. */
.bilka-page .bilka-insight-points { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:14px; }
.bilka-page .bilka-insight-points li {
 margin:0;
 padding:14px 24px;
 border:1px solid #ffffffd9;
 border-radius:32px;
 background:linear-gradient(135deg,#ffffff99,#ffffff70);
 box-shadow:inset 0 1px 0 #ffffff80;
 backdrop-filter:blur(12px);
 -webkit-backdrop-filter:blur(12px);
 line-height:1.6;
}

/* Compact design principles with neutral icon backgrounds. */
.bilka-page #bilka-design-principles .principle-map-rows { gap:14px; }
.bilka-page #bilka-design-principles .principle-map-card {
 min-height:0;
 padding:20px;
 gap:16px;
 border-radius:24px;
 grid-template-columns:40px minmax(0,1fr);
}
.bilka-page #bilka-design-principles .principle-map-card h3 { font-size:21px; line-height:1.3; margin:0 0 10px; }
.bilka-page #bilka-design-principles .principle-map-card p { font-size:16px; line-height:1.55; margin:0; }
.bilka-page #bilka-design-principles .principle-map-icon { width:40px; height:40px; min-width:40px; border-radius:12px; background:linear-gradient(135deg,#ffffffb3,#ffffff66); }
.bilka-page #bilka-design-principles .principle-map-icon svg { width:22px; height:22px; }

/* Potential uses the horizontal storytelling gallery, with text-led cards. */
.bilka-page .bilka-potential-gallery { padding:96px max(32px,6vw); background:#f0f3f5; border-radius:48px 48px 0 0; position:relative; }
.bilka-potential-gallery .au-story-gallery-inner { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:48px; align-items:start; }
.bilka-potential-gallery h2 { margin:0 0 24px; }
.bilka-potential-gallery .au-story-gallery-heading > p { color:#626775; line-height:1.6; }
.bilka-potential-gallery .au-story-gallery-copy { margin-top:28px; }
.bilka-potential-gallery .au-story-gallery-copy h3 { font-size:26px; margin:0 0 16px; }
.bilka-potential-gallery .au-story-gallery-copy p { line-height:1.6; }
.bilka-potential-gallery .au-story-gallery-stage { min-width:0; }
.bilka-potential-gallery .au-story-gallery-track { display:flex; gap:12px; overflow-x:auto; padding:4px 4px 16px; scrollbar-width:none; mask-image:linear-gradient(to right,#000 calc(100% - 56px),transparent); }
.bilka-potential-gallery .au-story-gallery-track::-webkit-scrollbar { display:none; }
.bilka-potential-gallery .au-story-gallery-track.is-scroll-end { mask-image:none; }
.bilka-potential-gallery .au-story-gallery-track::after { content:''; flex:0 0 max(0px,calc(100% - 252px)); }
.bilka-potential-gallery .au-story-gallery-card { flex:0 0 180px; border:0; padding:0; background:none; cursor:pointer; text-align:left; transition:flex-basis .65s cubic-bezier(.22,1,.36,1); color:#252422; }
.bilka-potential-gallery .au-story-gallery-art { display:flex; align-items:center; box-sizing:border-box; height:260px; padding:24px; border:1px solid #ffffffb3; border-radius:24px; background:linear-gradient(135deg,#e0e9f1,#ffffff80); box-shadow:0 8px 24px #25242205; transition:height .65s cubic-bezier(.22,1,.36,1); }
.bilka-potential-gallery .au-story-gallery-art strong { font:600 26px/1.25 Arial,sans-serif; }
.bilka-potential-gallery.has-active-story .au-story-gallery-card[aria-pressed=true] { flex-basis:240px; }
.bilka-potential-gallery.has-active-story .au-story-gallery-card[aria-pressed=true] .au-story-gallery-art { height:310px; }
.bilka-potential-gallery:not(.has-active-story) .au-story-gallery-copy { opacity:0; }
@media(max-width:700px) { .bilka-potential-gallery .au-story-gallery-inner { grid-template-columns:1fr; gap:24px; } .bilka-page .bilka-potential-gallery { padding:64px 24px; } }
@media(prefers-reduced-motion:reduce) { .bilka-potential-gallery .au-story-gallery-card,.bilka-potential-gallery .au-story-gallery-art { transition:none; } }
.bilka-potential-gallery .au-story-gallery-copy { display:none; }
.bilka-potential-gallery .au-story-gallery-art { flex-direction:column; align-items:flex-start; justify-content:center; height:350px; }
.bilka-potential-card-copy { display:none; font:15px/1.55 Arial,sans-serif; }
.bilka-potential-gallery.has-active-story .au-story-gallery-card[aria-pressed=true] { flex-basis:340px; }
.bilka-potential-gallery.has-active-story .au-story-gallery-card[aria-pressed=true] .au-story-gallery-art { height:350px; }
.bilka-potential-gallery .au-story-gallery-card[aria-pressed=true] .bilka-potential-card-copy { display:block; }
.bilka-potential-gallery .bilka-result-actions { display:flex; flex-wrap:wrap; gap:8px; }

/* A distinct rounded white surface around the potential gallery. */
.bilka-page .uk-project-ending .bilka-potential-gallery {
 position:relative;
 width:100%;
 max-width:none;
 box-sizing:border-box;
 margin:0;
 border-radius:48px 48px 0 0;
 background:radial-gradient(ellipse at 85% 15%,#ffffffcc,transparent 65%),linear-gradient(135deg,#f1f2f3,#fff);
 isolation:isolate;
}
.bilka-page .bilka-potential-gallery .au-story-gallery-heading {
 display:block;
 border:0;
 padding:0;
 margin:0;
}
.bilka-page .bilka-potential-gallery .au-story-gallery-heading > p { display:block; margin:0; max-width:520px; }
@media(max-width:800px) { .bilka-page .uk-project-ending .bilka-potential-gallery { border-radius:32px 32px 0 0; } }
.bilka-page .uk-project-ending .bilka-potential-gallery { background:#fff; }
.bilka-page .bilka-reading-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; }
.bilka-page .bilka-reading-heading h2 { margin:0; }
.bilka-reading-toggle { flex:0 0 44px; width:44px; height:44px; display:grid; place-items:center; padding:10px; border:1px solid #ffffffd9; border-radius:50%; background:var(--navigation-glass); color:#171717; box-shadow:var(--navigation-glass-shadow); cursor:pointer; backdrop-filter:blur(12px); }
.bilka-reading-toggle svg { width:22px; height:22px; }
.bilka-reading-toggle:focus-visible { outline:2px solid #171717; outline-offset:4px; }
.bilka-reading-advanced[hidden],.bilka-reading-easy[hidden] { display:none; }

/* Easy insights share UngeKræfter's heading, body and compact point layout. */
.bilka-page .bilka-reading-easy h2 { font-size:28px; line-height:1.2; margin:0 0 24px; }
.bilka-page .bilka-reading-easy p { font-size:16px; line-height:1.55; margin:0; }
.bilka-page .bilka-easy-points { list-style:none; padding:0; margin:24px 0 0; display:flex; flex-direction:column; gap:12px; }
.bilka-page .bilka-easy-points .uk-chapter-point { margin:0; padding:8px 20px; border:1px solid #ffffffcc; border-radius:999px; background:#ffffff99; font:400 16px/1.5 Arial,sans-serif; text-align:left; box-shadow:none; }
.bilka-page .bilka-reading-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin:0 0 24px; }
.bilka-page .bilka-reading-title-row > :is(h2,h3) { margin:0; flex:1; min-width:0; }
.bilka-page .bilka-reading-title-row .bilka-reading-toggle { margin-top:2px; }
.bilka-page .bilka-insight-tabs { margin-top:0; margin-bottom:28px; }

/* Match the compact scale of the insight content. */
.bilka-page #bilka-design-principles .principle-map-rows { display:grid; gap:12px; margin-top:24px; }
.bilka-page #bilka-design-principles .principle-map-card { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:start; min-height:0; padding:14px 20px; gap:14px; border-radius:24px; box-shadow:none; }
.bilka-page #bilka-design-principles .principle-map-card h3 { font-size:18px; line-height:1.4; margin:0 0 6px; }
.bilka-page #bilka-design-principles .principle-map-card p { font-size:16px; line-height:1.5; margin:0; }
.bilka-page #bilka-design-principles .principle-map-icon { width:32px; height:32px; min-width:32px; border-radius:10px; margin:0; }
.bilka-page #bilka-design-principles .principle-map-icon svg { width:20px; height:20px; }
.bilka-page #bilka-design-principles .bilka-chapter-content > p { font-size:16px; line-height:1.55; }
/* Equal type scale in both reading modes. */
.bilka-page .bilka-reading-advanced h3 { font-size:28px; line-height:1.2; }
.bilka-page .bilka-reading-advanced p { font-size:16px; line-height:1.55; }
.bilka-page .bilka-reading-advanced .bilka-insight-points li { font-size:16px; line-height:1.5; }

/* Research-to-design explanations unfold in a quiet FAQ layout. */
.bilka-page .bilka-principle-faq { margin-top:12px; }
.bilka-page .bilka-principle-faq-item { border-bottom:1.5px solid #171717; }
.bilka-page .bilka-principle-faq-item:last-child { border-bottom:0; }
.bilka-page .bilka-principle-faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; cursor:pointer; padding:24px 0; font:500 18px/1.5 Arial,sans-serif; }
.bilka-principle-faq-item summary::-webkit-details-marker { display:none; }
.bilka-principle-faq-item summary svg { width:20px; height:20px; flex-shrink:0; transition:transform .25s ease; }
.bilka-principle-faq-item[open] summary svg { transform:rotate(180deg); }
.bilka-page .bilka-principle-faq-item p { font-size:16px; line-height:1.55; margin:0; padding:0 32px 24px 0; }
.bilka-principle-faq-item summary:focus-visible { outline:2px solid #171717; outline-offset:4px; }

/* Compact insight navigation, matching UngeKræfter's tab scale. */
.bilka-page .bilka-insight-tabs { gap:4px; padding:2px; }
.bilka-page .bilka-insight-tabs button { min-height:36px; padding:8px 12px; font:400 13px/1.4 Arial,sans-serif; }
.bilka-page #uk-chapter-2 > .bilka-insight-tabs { margin:0 0 32px; }
.bilka-page #uk-chapter-2 > .bilka-chapter-content { margin-top:0; }
.bilka-page .bilka-next-steps .bilka-insight-points .bilka-change-title { display:block; font-size:16px; line-height:1.5; font-weight:700; margin:0 0 8px; }

/* Shared chapter typography and spacing from UngeKræfter. */
.bilka-page .uk-chapters .uk-chapter-text { padding:32px; }
.bilka-page .uk-chapters .uk-chapter-text h2,
.bilka-page .uk-chapters .bilka-reading-title-row > :is(h2,h3) {
 font-size:28px; line-height:1.2; font-weight:600; letter-spacing:-.025em;
}
.bilka-page .uk-chapters .uk-chapter-text h2 { margin:0 0 24px; }
.bilka-page .uk-chapters .bilka-reading-title-row > :is(h2,h3) { margin:0; }
.bilka-page .uk-chapters .uk-chapter-text p { font-size:16px; line-height:1.55; }
.bilka-page .uk-chapters .bilka-insight-points { gap:12px; margin-top:24px; }
.bilka-page .uk-chapters .bilka-insight-points li {
 font-size:16px; line-height:1.5; font-weight:400; padding:8px 20px; margin:0;
 border-radius:999px; border:1px solid #ffffffcc; background:#ffffff99; box-shadow:none;
}
.bilka-page .bilka-insight-tabs button { font:400 14px/1.4 Arial,sans-serif; padding:8px 12px; }
@media(max-width:800px) { .bilka-page .uk-chapters .uk-chapter-text { padding:24px; } }
.bilka-page .bilka-research-questions { margin-top:28px; }
.bilka-page .bilka-research-questions p + p { margin-top:20px; }
.bilka-page .bilka-change-text { margin-top:28px; display:grid; gap:24px; }
.bilka-page .bilka-change-text .bilka-change-title { font-size:16px; line-height:1.5; font-weight:700; margin:0 0 8px; }
.bilka-potential-icon { display:block; width:48px; height:48px; margin-bottom:20px; }
.bilka-potential-icon svg { display:block; width:100%; height:100%; }

/* A connected family journey, starting in the existing Bilka+ app. */
.bilka-journey-map { position:relative; padding:12px 0; }
.bilka-journey-path { position:absolute; inset:12px 0; width:100%; height:780px; pointer-events:none; }
.bilka-journey-path path { fill:none; stroke:#3f8fca; stroke-width:5; stroke-linecap:round; opacity:.55; }
.bilka-journey-map ol { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(3,260px); gap:0 36px; padding:0 44px; margin:0; list-style:none; }
.bilka-journey-map li { padding:0 16px; min-width:0; }
.bilka-journey-map li:nth-child(4) { grid-column:3; grid-row:2; }
.bilka-journey-map li:nth-child(5) { grid-column:2; grid-row:2; }
.bilka-journey-map li:nth-child(6) { grid-column:1; grid-row:2; }
.bilka-journey-map li:nth-child(7) { grid-column:1; grid-row:3; }
.bilka-journey-map li:nth-child(8) { grid-column:2; grid-row:3; }
.bilka-journey-map li:nth-child(9) { grid-column:3; grid-row:3; }
.bilka-journey-stop { display:grid; place-items:center; width:64px; height:64px; margin:20px 0 16px; border-radius:50%; background:var(--navigation-glass); color:white; border:1px solid #ffffffa6; box-shadow:0 4px 16px #24334512; }
.bilka-journey-stop svg { width:28px; height:28px; }
.bilka-journey-number { font:600 11px/1.4 Arial,sans-serif; color:#647284; }
.bilka-page .bilka-journey-map h3 { font-size:18px; line-height:1.3; margin:6px 0 10px; }
.bilka-page .bilka-journey-map p { font-size:15px; line-height:1.55; margin:0; color:#5c697b; }
@media(max-width:800px) {
 .bilka-journey-path { display:none; }
 .bilka-journey-map ol { display:flex; flex-direction:column; gap:24px; padding:0 0 0 24px; border-left:3px solid #3f8fca80; margin-left:20px; }
 .bilka-journey-map li { position:relative; padding:0 0 0 28px; }
 .bilka-journey-stop { position:absolute; left:-46px; top:0; width:40px; height:40px; margin:0; }
 .bilka-journey-stop svg { width:22px; height:22px; }
}

/* A compact journey with the number and icon inside each touchpoint. */
@media(min-width:801px) {
 .bilka-page .bilka-journey-map { max-width:1100px; margin:0 auto; padding:0; }
 .bilka-page .bilka-journey-map ol { grid-template-rows:repeat(3,190px); gap:0 30px; padding:0 28px; }
 .bilka-page .bilka-journey-path { inset:0; height:570px; }
 .bilka-page .bilka-journey-map li { padding:0 10px; }
 .bilka-page .bilka-journey-stop { width:66px; height:40px; margin:12px 0 12px; border-radius:14px; display:flex; align-items:center; justify-content:center; gap:7px; }
 .bilka-page .bilka-journey-stop svg { width:20px; height:20px; }
 .bilka-page .bilka-journey-map h3 { font-size:15px; margin:0 0 8px; }
 .bilka-page .bilka-journey-map p { font-size:12px; line-height:1.5; }
}
.bilka-page .bilka-journey-stop .bilka-journey-number { color:#fff; font:600 11px/1 Arial,sans-serif; }
@media(max-width:800px) { .bilka-page .bilka-journey-stop { width:52px; left:-52px; border-radius:12px; display:flex; gap:4px; } .bilka-page .bilka-journey-stop svg { width:18px; } }

/* Final empty surface rises over the project ending, ready for footer content. */
.bilka-page main.bilka-case-layout > .bilka-footer-section.case-surface {
 position:relative;
 z-index:11;
 margin-top:-48px;
 min-height:360px;
 padding:72px max(32px,6vw);
 border-radius:48px 48px 0 0;
 background:#fff;
 box-shadow:0 -8px 32px #25242205;
}
.bilka-footer-content { width:100%; max-width:1280px; margin:0 auto; }
@media(max-width:800px) { .bilka-page main.bilka-case-layout > .bilka-footer-section.case-surface { margin-top:-32px; min-height:280px; padding:48px 24px; border-radius:32px 32px 0 0; } }

/* The next-steps surface overlaps the white gallery, including its corners. */
body.bilka-page main.bilka-case-layout > .uk-project-ending .uk-ending-stage > .uk-chapters-copy.bilka-next-steps {
 position:relative;
 z-index:2;
 margin-top:-48px;
 border-radius:48px 48px 0 0;
}
.bilka-page .bilka-potential-gallery { padding-bottom:144px; }
@media(max-width:800px) {
 body.bilka-page main.bilka-case-layout > .uk-project-ending .uk-ending-stage > .uk-chapters-copy.bilka-next-steps { margin-top:-32px; border-radius:32px 32px 0 0; }
 .bilka-page .bilka-potential-gallery { padding-bottom:96px; }
}

/* A tall, pale glass footer overlays the lower part of the closing section. */
body.bilka-page main.bilka-case-layout > footer.bilka-footer-section.case-surface {
 margin-top:-60svh;
 min-height:80svh;
 background:linear-gradient(135deg,#ffffffb8,#ffffffe0);
 backdrop-filter:blur(30px) saturate(105%);
 -webkit-backdrop-filter:blur(30px) saturate(105%);
 border-top:1px solid #ffffffd9;
 border-radius:48px 48px 0 0;
 box-shadow:0 -8px 40px #ffffff20,inset 0 1px 0 #fff;
}
@media(max-width:800px) {
 body.bilka-page main.bilka-case-layout > footer.bilka-footer-section.case-surface {
  margin-top:-56svh;
  min-height:76svh;
  border-radius:32px 32px 0 0;
 }
}
body.bilka-page main.bilka-case-layout > footer.bilka-footer-section.case-surface { min-height:50svh; }
@media(max-width:800px) { body.bilka-page main.bilka-case-layout > footer.bilka-footer-section.case-surface { min-height:48svh; } }

/* Reveal the footer only during the additional scroll after the ending. */
.bilka-page .bilka-footer-runway { height:60svh; width:100%; background:transparent; pointer-events:none; }
body.bilka-page > footer.bilka-footer-section.case-surface {
 position:fixed;
 z-index:9996;
 left:var(--site-frame-width,12px);
 right:var(--site-frame-width,12px);
 bottom:0;
 width:auto;
 height:50svh;
 min-height:0;
 margin:0;
 padding:48px max(24px,6vw);
 box-sizing:border-box;
 border-radius:48px 48px 0 0;
 background:linear-gradient(135deg,#ffffffb8,#ffffffe0);
 backdrop-filter:blur(30px) saturate(105%);
 -webkit-backdrop-filter:blur(30px) saturate(105%);
 border-top:1px solid #ffffffd9;
 box-shadow:inset 0 1px 0 #fff;
 transform:translateY(100%);
 visibility:hidden;
}
@media(max-width:800px) { body.bilka-page > footer.bilka-footer-section.case-surface { height:48svh; border-radius:32px 32px 0 0; } }
.bilka-game-phase { display:block; font:500 10px/1.4 Arial,sans-serif; letter-spacing:.04em; color:#647284; margin-bottom:4px; }
@media(min-width:801px) {
 .bilka-page .bilka-game-flow .bilka-journey-map ol { grid-template-rows:repeat(4,190px); }
 .bilka-page .bilka-game-flow .bilka-journey-path { height:760px; }
 .bilka-game-flow .bilka-journey-map li:nth-child(10) { grid-column:3; grid-row:4; }
 .bilka-game-flow .bilka-journey-map li:nth-child(11) { grid-column:2; grid-row:4; }
}

/* The final card holds the related projects within the lower third. */
body.bilka-page > footer.bilka-footer-section.case-surface { height:34svh; padding:24px max(24px,6vw); }
.bilka-footer-content .uk-outro-projects { position:static; width:100%; max-width:1200px; margin:0 auto; padding:0; background:none; border:0; }
.bilka-footer-content .uk-related-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
.bilka-footer-content .uk-related-heading h2 { font-size:20px; line-height:1.3; margin:0; }
.bilka-footer-content .uk-related-heading > a { font-size:13px; color:inherit; }
.bilka-footer-content .uk-related-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.bilka-footer-content .library-item { text-decoration:none; color:inherit; text-align:center; min-width:0; }
.bilka-footer-content .uk-outro-projects .uk-related-row .library-item .project-folder { transform:scale(.35); margin:0 auto -148px; }
.bilka-footer-content .library-item h3 { font-size:14px; line-height:1.3; margin:6px 0 0; }
.bilka-footer-content .library-item > p { display:none; }
@media(max-width:700px) {
 body.bilka-page > footer.bilka-footer-section.case-surface { height:38svh; padding:24px; }
 .bilka-footer-content .uk-related-row { display:flex; overflow-x:auto; gap:16px; }
 .bilka-footer-content .library-item { flex:0 0 150px; }
 .bilka-footer-content .uk-outro-projects .uk-related-row .library-item .project-folder { transform:scale(.3); margin-bottom:-160px; }
}

.bilka-media-tabs { display:flex; width:fit-content; margin:28px auto 44px; padding:3px; gap:2px; border-radius:999px; background:rgba(255,255,255,.22); }
.bilka-media-tabs button { border:1px solid transparent; border-radius:999px; background:transparent; color:#c9c9ce; font:inherit; font-size:15px; padding:10px 20px; cursor:pointer; transition:background .25s,color .25s; }
.bilka-media-tabs button[aria-selected="true"] { background:rgba(255,255,255,.65); color:#202020; border-color:#fff; }
.bilka-media-view[hidden] { display:none !important; }
#bilka-video-view { max-width:1100px; margin:0 auto; }
#bilka-video-view video { display:block; width:100%; max-height:70svh; border-radius:24px; background:#111; }

/* Keep the revealed footer aligned with both edges of the page frame. */
body.bilka-page > footer.bilka-footer-section.case-surface {
 max-width:none;
 width:calc(100% - 2 * var(--site-frame-width,12px));
 left:var(--site-frame-width,12px);
 right:var(--site-frame-width,12px);
 margin:0;
}

/* Native video proportions keep its frame flush with the image. */
#bilka-video-view video { width:100%; height:auto; max-height:none; aspect-ratio:auto; object-fit:contain; border:0; padding:0; background:transparent; }
.bilka-inline-video-actions { display:flex; justify-content:center; gap:24px; flex-wrap:wrap; margin-top:24px; }
.bilka-inline-video-actions .bilka-video-button { color:#e9e9ed; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25); border-radius:999px; padding:12px 24px; font:inherit; font-size:15px; text-decoration:none; cursor:pointer; }
.bilka-footer-content { display:grid; grid-template-columns:1fr auto 1.5fr; gap:36px; align-items:center; height:100%; }
.bilka-footer-contact h2 { font-size:20px; margin:0 0 18px; }
.bilka-footer-contact-links { display:flex; flex-direction:column; gap:12px; }
.bilka-footer-contact-links a { color:inherit; text-decoration:none; font-size:15px; }
.bilka-footer-menu { display:flex; justify-content:center; min-width:60px; }
.bilka-footer-dock { position:relative; width:56px; height:56px; border-radius:999px; background:linear-gradient(135deg,#ffffffa8,#ffffff50); border:1px solid #fff; backdrop-filter:blur(20px); transition:width .35s ease; }
.bilka-footer-dock.is-expanded { width:280px; }
.bilka-footer-dock > * { position:absolute; top:5px; left:calc(50% - 22px); width:44px; height:44px; display:flex; align-items:center; justify-content:center; padding:10px; box-sizing:border-box; border:0; border-radius:50%; color:#222; background:transparent; cursor:pointer; }
.bilka-footer-dock svg { width:24px; height:24px; fill:currentColor; }
.bilka-footer-dock > :not(.dock-centre-toggle) { opacity:0; pointer-events:none; transition:transform .35s,opacity .25s; }
.bilka-footer-dock.is-expanded > :not(.dock-centre-toggle) { opacity:1; pointer-events:auto; }
.bilka-footer-dock.is-expanded .dock-phone { transform:translateX(-100px); }
.bilka-footer-dock.is-expanded .dock-email { transform:translateX(-52px); }
.bilka-footer-dock.is-expanded .theme-toggle { transform:translateX(60px); }
.bilka-footer-content .uk-outro-projects { min-width:0; }
.bilka-footer-content .uk-related-heading h2 { font-size:17px; }
.bilka-footer-content .uk-related-row { gap:8px; }
.bilka-footer-content .uk-outro-projects .uk-related-row .library-item .project-folder { transform:scale(.25); transform-origin:top left; margin:0 0 -170px; }
.bilka-footer-content .library-item h3 { font-size:11px; }
@media(max-width:800px) {
 .bilka-footer-content { grid-template-columns:1fr 1fr; gap:20px; }
 .bilka-footer-content .uk-outro-projects { grid-column:1 / -1; }
 body.bilka-page > footer.bilka-footer-section.case-surface { height:48svh; }
}

.bilka-footer-contact-links a { display:flex; align-items:center; gap:12px; }
.bilka-footer-contact-links svg { flex:none; width:20px; height:20px; fill:currentColor; }
.bilka-footer-contact-links i { flex:none; font-size:20px; }
.bilka-footer-content { grid-template-columns:minmax(280px,1fr) auto minmax(360px,.8fr); gap:48px; }
.bilka-footer-content .uk-outro-projects { justify-self:end; margin:0; max-width:470px; }
.bilka-footer-content .uk-related-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
@media(max-width:800px) {
 .bilka-footer-content { grid-template-columns:1fr auto; gap:20px; }
 .bilka-footer-content .uk-outro-projects { width:100%; max-width:none; }
}

.bilka-footer-content .uk-outro-projects .uk-related-row { display:flex; flex-direction:row; flex-wrap:nowrap; align-items:flex-start; gap:24px; }
.bilka-footer-content .uk-related-row > .library-item { flex:1 1 0; min-width:0; }

/* Compact portrait and contact card. */
.bilka-footer-contact { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:center; gap:20px; padding:10px; border-radius:22px; background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,.6)); border:1px solid rgba(255,255,255,.95); box-shadow:0 8px 24px rgba(35,40,45,.05); }
.bilka-footer-portrait { width:100px; height:138px; object-fit:cover; object-position:50% 35%; border-radius:14px; display:block; }
.bilka-footer-contact-copy { min-width:0; padding:8px 6px 8px 0; }
.bilka-footer-contact-copy h2 { font-size:18px; margin:0 0 14px; }
.bilka-footer-contact-links a { font-size:12px; gap:8px; overflow-wrap:anywhere; }
.bilka-footer-contact-links svg { width:16px; height:16px; }
@media(max-width:600px) {
 .bilka-footer-contact { grid-template-columns:70px minmax(0,1fr); gap:12px; }
 .bilka-footer-portrait { width:70px; height:110px; }
 .bilka-footer-contact-links a { font-size:11px; }
}
.bilka-footer-about { display:inline-flex; align-items:center; justify-content:center; margin-top:14px; padding:7px 18px; border-radius:999px; background:#171717; color:#fff; font-size:12px; line-height:1.3; text-decoration:none; }
.bilka-footer-about:hover { background:#353535; }
.bilka-footer-dock .dock-centre-toggle span { display:none; }

.bilka-page .bilka-journey-path path { stroke:#171717; opacity:1; }
.bilka-page .bilka-journey-stop { border-radius:999px; }
@media(max-width:800px) { .bilka-page .bilka-journey-map ol { border-left-color:#171717; } }

body.bilka-page main.bilka-case-layout > .bilka-contact-invitation.case-surface {
 position:relative; min-height:100svh; display:flex; align-items:center;
 padding:100px max(32px,8vw) 38svh; box-sizing:border-box;
 background:linear-gradient(135deg,#edf2f7,#f8fafc); color:#171717;
}
.bilka-contact-invitation > div { width:100%; max-width:1400px; margin:auto; }
.bilka-contact-invitation h2 { font-size:clamp(46px,6.5vw,104px); font-weight:650; line-height:1.06; letter-spacing:-.045em; margin:0 0 32px; max-width:1250px; }
.bilka-contact-invitation p { max-width:780px; margin:0; font-size:clamp(17px,1.6vw,24px); line-height:1.5; }
@media(max-width:700px) { body.bilka-page main.bilka-case-layout > .bilka-contact-invitation.case-surface { padding:80px 28px 42svh; } }

/* The outer white frame rises into a soft central contact shelf. */
body.bilka-page > footer.bilka-footer-section.case-surface {
 overflow:visible;
 background:#fff;
 backdrop-filter:none;
 -webkit-backdrop-filter:none;
}
body.bilka-page > footer.bilka-footer-section.case-surface::before {
 content:""; position:absolute; z-index:-1;
 width:min(560px,60vw); height:100px;
 left:50%; top:-64px; transform:translateX(-50%);
 background:#fff;
 border-radius:100px 100px 0 0;
}
.bilka-footer-content { position:relative; grid-template-columns:1fr 1fr; align-items:center; }
.bilka-footer-contact {
 position:absolute; left:50%; top:-70px; transform:translateX(-50%);
 width:min(440px,55vw); box-sizing:border-box;
 grid-template-columns:66px minmax(0,1fr); gap:14px;
 padding:12px 18px; background:transparent; border:0; box-shadow:none;
}
.bilka-footer-portrait { width:66px; height:88px; border-radius:12px; }
.bilka-footer-contact-copy { padding:0; }
.bilka-footer-contact-copy h2 { font-size:15px; margin:0 0 8px; }
.bilka-footer-contact-links { gap:6px; }
.bilka-footer-contact-links a { font-size:12px; }
.bilka-footer-about { margin-top:8px; padding:5px 14px; font-size:11px; }
.bilka-footer-menu { justify-self:start; }
.bilka-footer-content .uk-outro-projects { grid-column:2; }
@media(max-width:700px) {
 body.bilka-page > footer.bilka-footer-section.case-surface::before { width:88%; height:90px; top:-54px; border-radius:64px 64px 0 0; }
 .bilka-footer-contact { width:85%; top:-65px; }
 .bilka-footer-content { padding-top:90px; grid-template-columns:auto minmax(0,1fr); gap:20px; }
 .bilka-footer-content .uk-outro-projects { grid-column:2; }
}

/* Only the two contact links sit horizontally in the white curve. */
.bilka-footer-contact { display:block; width:min(560px,70vw); top:-48px; padding:0 24px; }
.bilka-footer-contact .bilka-footer-portrait,
.bilka-footer-contact-copy > h2,
.bilka-footer-contact-copy > .bilka-footer-about { display:none; }
.bilka-footer-contact-links { display:flex; flex-direction:row; align-items:center; justify-content:center; gap:24px; }
.bilka-footer-contact-links a { white-space:nowrap; font-size:13px; }
@media(max-width:700px) {
 .bilka-footer-contact { width:94%; top:-30px; padding:0 10px; }
 .bilka-footer-contact-links { gap:14px; }
 .bilka-footer-contact-links a { font-size:10px; gap:5px; }
 .bilka-footer-contact-links svg { width:13px; height:13px; }
}

/* Expanded navigation rests in the central curve; large contact links sit left. */
.bilka-footer-menu { position:absolute; left:50%; top:-52px; transform:translateX(-50%); min-width:0; }
.bilka-footer-dock, .bilka-footer-dock.is-expanded { width:280px; }
.bilka-footer-contact { position:static; transform:none; width:100%; padding:0; justify-self:start; }
.bilka-footer-contact-links { flex-direction:column; align-items:flex-start; justify-content:center; gap:14px; }
.bilka-footer-contact-links a { font-size:clamp(18px,1.75vw,28px); font-weight:500; white-space:normal; gap:12px; }
.bilka-footer-contact-links svg { width:22px; height:22px; }
.bilka-footer-content { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:60px; }
.bilka-footer-content .uk-outro-projects { grid-column:2; }
@media(max-width:700px) {
 .bilka-footer-menu { top:-46px; }
 .bilka-footer-content { padding-top:30px; gap:20px; }
 .bilka-footer-contact-links a { font-size:13px; overflow-wrap:anywhere; }
 .bilka-footer-contact-links svg { width:16px; height:16px; }
}

/* Icon-only counterpart of the top dock, revealed by the footer scroll. */
.bilka-footer-menu .bilka-footer-dock { width:56px; overflow:hidden; }
.bilka-footer-menu .bilka-footer-dock.is-expanded { width:320px; }
.bilka-footer-menu .bilka-footer-dock span { display:none !important; }
.bilka-footer-menu .bilka-footer-dock > a,
.bilka-footer-menu .bilka-footer-dock > button { font-size:0; text-decoration:none; }
.bilka-footer-menu .bilka-footer-dock .dock-centre-toggle { background:rgba(25,25,31,.07); }
.bilka-footer-menu .bilka-footer-dock.is-expanded .dock-phone { transform:translateX(-120px); }
.bilka-footer-menu .bilka-footer-dock.is-expanded .dock-email { transform:translateX(-64px); }
.bilka-footer-menu .bilka-footer-dock.is-expanded .theme-toggle { transform:translateX(64px); }
.bilka-footer-menu .theme-sun { display:none; }
[data-theme="dark"] .bilka-footer-menu .theme-sun { display:block; }
[data-theme="dark"] .bilka-footer-menu .theme-moon { display:none; }

body.bilka-page .bilka-footer-menu .bilka-footer-dock > .theme-toggle {
 position:absolute; top:5px; right:auto; bottom:auto; left:calc(50% - 22px);
 width:44px; height:44px; margin:0; padding:10px;
 display:flex; align-items:center; justify-content:center;
 background:transparent; border:0; box-shadow:none;
}
body.bilka-page .bilka-footer-menu .bilka-footer-dock > .theme-toggle svg {
 position:static; width:24px; height:24px; margin:0; transform:none;
}

/* Tangent-matched shoulders blend the central shelf into the footer. */
body.bilka-page > footer.bilka-footer-section.case-surface::before {
 width:min(640px,88vw); height:64px; top:-48px;
 border-radius:0; background:transparent;
 background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%2064%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%2064C72%2064%2072%200%20152%200H488C568%200%20568%2064%20640%2064V64H0Z%22%2F%3E%3C%2Fsvg%3E");
 background-size:100% 100%; background-repeat:no-repeat;
}
.bilka-footer-menu { top:-64px; }
@media(max-width:700px) {
 body.bilka-page > footer.bilka-footer-section.case-surface::before {
  width:96%; height:56px; top:-44px;
 }
 .bilka-footer-menu { top:-66px; }
}

/* Complete both curves before they meet the footer's horizontal edge. */
body.bilka-page > footer.bilka-footer-section.case-surface::before {
 height:48px; top:-48px;
}
@media(max-width:700px) {
 body.bilka-page > footer.bilka-footer-section.case-surface::before { height:44px; top:-44px; }
}

/* Compact footer with a right-aligned pair of project folders. */
body.bilka-page > footer.bilka-footer-section.case-surface { height:29svh; }
.bilka-footer-content .uk-related-heading { display:none; }
.bilka-footer-content .uk-outro-projects { width:300px; max-width:100%; justify-self:end; }
.bilka-footer-content .uk-outro-projects .uk-related-row { gap:24px; justify-content:flex-end; }
.bilka-footer-content .uk-related-row > .library-item { flex:0 0 138px; display:flex; flex-direction:column; align-items:center; }
.bilka-footer-content .library-item .secondary-folder-frame { width:138px; height:100px; position:relative; margin:0; }
.bilka-footer-content .uk-outro-projects .uk-related-row .library-item .project-folder { position:absolute; top:0; left:50%; transform:translateX(-50%) scale(.4); transform-origin:top center; margin:0; }
.bilka-footer-content .library-item h3 { width:100%; text-align:center; font-size:12px; line-height:1.3; margin:10px 0 0; }
@media(max-width:800px) {
 body.bilka-page > footer.bilka-footer-section.case-surface { height:38svh; }
}
@media(max-width:600px) {
 .bilka-footer-content .uk-outro-projects { width:220px; }
 .bilka-footer-content .uk-outro-projects .uk-related-row { gap:8px; }
 .bilka-footer-content .uk-related-row > .library-item { flex-basis:100px; }
 .bilka-footer-content .library-item .secondary-folder-frame { width:100px; height:80px; }
 .bilka-footer-content .uk-outro-projects .uk-related-row .library-item .project-folder { transform:translateX(-50%) scale(.3); }
 .bilka-footer-content .library-item h3 { font-size:10px; }
}

body.bilka-page > footer.bilka-footer-section.case-surface { background:var(--bilka-section); border-top:0; box-shadow:none; }
body.bilka-page > footer.bilka-footer-section.case-surface::before {
 background:#ebeff3;
 -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%2064%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%2064C72%2064%2072%200%20152%200H488C568%200%20568%2064%20640%2064V64H0Z%22%2F%3E%3C%2Fsvg%3E") center / 100% 100% no-repeat;
 mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%2064%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%2064C72%2064%2072%200%20152%200H488C568%200%20568%2064%20640%2064V64H0Z%22%2F%3E%3C%2Fsvg%3E") center / 100% 100% no-repeat;
}

.bilka-page .uk-project-outro .uk-scroll-introduction { width:100%; max-width:1400px; }
.bilka-page .uk-project-outro .uk-scroll-introduction h2 { font-size:clamp(46px,6.5vw,104px); font-weight:650; line-height:1.06; letter-spacing:-.045em; max-width:1300px; margin-bottom:32px; }
.bilka-page .uk-project-outro .uk-scroll-introduction > p { font-size:clamp(17px,1.6vw,24px); line-height:1.5; max-width:960px; }

/* Restore the original outro scale ahead of the independent contact stage. */
.bilka-page .uk-project-outro .uk-scroll-introduction { max-width:1040px; }
.bilka-page .uk-project-outro .uk-scroll-introduction h2 { font-size:clamp(32px,4vw,56px); line-height:1.15; letter-spacing:-.03em; }
.bilka-page .uk-project-outro .uk-scroll-introduction > p { font-size:clamp(20px,2vw,28px); line-height:1.55; }
.bilka-page .uk-project-outro .uk-scroll-introduction > .uk-intro-role-note { font-size:16px; }

.bilka-footer-menu { top:-56px; display:flex; align-items:center; justify-content:center; }
.bilka-footer-top { display:flex; align-items:center; justify-content:center; width:48px; height:48px; padding:0; border:0; background:transparent; color:#171717; cursor:pointer; }
.bilka-footer-top i { font-size:28px; line-height:1; }
.bilka-footer-top:focus-visible { outline:2px solid currentColor; outline-offset:4px; border-radius:50%; }
@media(max-width:700px) { .bilka-footer-menu { top:-54px; } }
body.bilka-page .bilka-footer-menu .bilka-footer-top svg { display:block; width:28px; height:28px; fill:none; stroke:currentColor; opacity:1; visibility:visible; }
body.bilka-page .bilka-footer-menu .bilka-footer-top { transform:translateY(-6px); }
body.bilka-page .bilka-footer-menu .bilka-footer-top svg { width:23px; height:23px; }

body.bilka-page > footer.bilka-footer-section.case-surface { height:26svh; }
@media(max-width:800px) {
 body.bilka-page > footer.bilka-footer-section.case-surface { height:35svh; }
}

.bilka-footer-contact-links a { font-weight:700; }

/* Fit the flow presentation within a single desktop viewport. */
@media(min-width:801px) {
 .bilka-page #bilka-flow-view .uk-details-stage { min-height:0; padding:12px 16px 24px; }
 .bilka-page #bilka-flow-view .bilka-inline-prototype { max-width:1160px; margin:0 auto; gap:44px; }
 .bilka-page #bilka-flow-view .bilka-inline-phone { height:min(63svh,530px); width:auto; max-width:100%; }
 .bilka-page #bilka-flow-view .bilka-inline-context { padding:20px; }
 .bilka-page #bilka-flow-view .bilka-inline-phone-panel { padding:0; }
 .bilka-page #bilka-flow-view .bilka-inline-explanation { padding:18px; margin:16px 0 0; }
 .bilka-page #bilka-flow-view .bilka-inline-explanation h3 { font-size:26px; margin:0 0 16px; }
 .bilka-page #bilka-flow-view .bilka-inline-explanation p { font-size:15px; line-height:1.55; }
 .bilka-page .bilka-media-tabs { margin-bottom:20px; }
}

.bilka-page.bilka-at-footer .project-folder-dock { display:none; }
.bilka-footer-shortcuts { position:fixed; z-index:9998; right:var(--site-frame-width,12px); top:calc(var(--site-frame-width,12px) + 12px); display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.bilka-footer-shortcuts[hidden] { display:none; }
.bilka-footer-shortcuts button { min-height:42px; padding:10px 22px; border:1px solid rgba(255,255,255,.85); border-right:0; border-radius:999px 0 0 999px; background:linear-gradient(135deg,#ffffffbd,#ffffff70); backdrop-filter:blur(20px); color:#171717; font:500 14px/1.3 Arial,sans-serif; cursor:pointer; }
.bilka-footer-shortcuts button:hover { background:#fff; }
.bilka-footer-shortcuts button:focus-visible { outline:2px solid #171717; outline-offset:2px; }

.bilka-footer-shortcuts button {
 background:linear-gradient(135deg,rgba(45,45,51,.94),rgba(23,23,27,.9));
 color:#f5f5f7;
 border-color:rgba(255,255,255,.2);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.bilka-footer-shortcuts button:hover { background:linear-gradient(135deg,#414147,#252529); }
.bilka-footer-shortcuts button:focus-visible { outline-color:#55555d; }

.bilka-footer-shortcuts button {
 background:linear-gradient(135deg,#e5edf3,#d3dfe9);
 color:#20252b;
 border-color:rgba(255,255,255,.8);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.bilka-footer-shortcuts button:hover { background:linear-gradient(135deg,#dce6ee,#c6d4e0); }

.bilka-page .project-back-link { display:none; }
.bilka-top-contact { position:fixed; z-index:9999; top:calc(var(--site-frame-width,12px) + 12px); left:calc(var(--site-frame-width,12px) + 12px); display:flex; gap:8px; }
.bilka-top-contact a { position:relative; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid #fff; border-radius:50%; background:#ffffff70; backdrop-filter:blur(20px); color:#222; text-decoration:none; }
.bilka-top-contact svg { width:22px; height:22px; fill:currentColor; }
.bilka-top-contact span { position:absolute; left:0; top:calc(100% + 10px); padding:8px 12px; border-radius:12px; background:#fff; color:#222; font:13px/1.3 Arial,sans-serif; white-space:nowrap; opacity:0; visibility:hidden; transition:opacity .2s; }
.bilka-top-contact a:hover span,.bilka-top-contact a:focus-visible span { opacity:1; visibility:visible; }
body.bilka-page > .bilka-corner-theme { position:fixed; z-index:9999; top:auto; left:auto; bottom:calc(var(--site-frame-width,12px) + 16px); right:calc(var(--site-frame-width,12px) + 16px); width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; padding:10px; background:#ffffff9c; border:1px solid #fff; backdrop-filter:blur(20px); color:#222; }
.bilka-corner-theme svg { width:24px; height:24px; }
.bilka-page .horizontal-contact-dock > :is(.bilka-dock-about,.bilka-dock-projects) { position:absolute; top:6px; left:calc(50% - 22px); width:44px; height:44px; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; pointer-events:none; transition:transform .35s,opacity .25s; }
.bilka-page .horizontal-contact-dock.is-expanded > :is(.bilka-dock-about,.bilka-dock-projects) { opacity:1; visibility:visible; pointer-events:auto; }
.bilka-page .horizontal-contact-dock.is-expanded > .bilka-dock-about { transform:translateX(-64px); }
.bilka-page .horizontal-contact-dock.is-expanded > .bilka-dock-projects { transform:translateX(64px); }
body.bilka-page .horizontal-contact-dock.is-expanded { width:240px; }

.bilka-page .horizontal-contact-dock > :is(.bilka-dock-about,.bilka-dock-projects) svg{width:22px;height:22px;fill:currentColor}
[data-theme="dark"] .bilka-top-contact a,[data-theme="dark"] body.bilka-page > .bilka-corner-theme{background:#29292ec9;color:#f4f4f4;border-color:#ffffff30}

/* Contact details expand in the row, pushing the following control along. */
.bilka-top-contact a { width:auto; flex:0 0 auto; justify-content:flex-start; overflow:hidden; }
.bilka-top-contact svg { flex:0 0 22px; margin:0 10px; }
.bilka-top-contact span { position:static; display:block; max-width:0; padding:0; border-radius:0; background:transparent; color:inherit; opacity:0; visibility:hidden; overflow:hidden; white-space:nowrap; transition:max-width .4s cubic-bezier(.22,1,.36,1),padding .4s cubic-bezier(.22,1,.36,1),opacity .2s,visibility .4s; }
.bilka-top-contact a:hover span,.bilka-top-contact a:focus-visible span { max-width:290px; padding-right:16px; opacity:1; visibility:visible; }
.bilka-footer-shortcuts button,.bilka-footer-shortcuts button:hover { background:transparent; border-color:#171717; box-shadow:none; backdrop-filter:none; color:#171717; }
@media(prefers-reduced-motion:reduce){.bilka-top-contact span{transition:none;}}

/* Keep circular ends when contact information widens the controls. */
.bilka-top-contact a { border-radius:999px; box-sizing:border-box; height:44px; }
body.bilka-page > .icon-menu.horizontal-contact-dock.is-expanded { width:184px; }
.bilka-page .horizontal-contact-dock.is-expanded > .bilka-dock-about { transform:translateX(-60px); }
.bilka-page .horizontal-contact-dock.is-expanded > .bilka-dock-projects { transform:translateX(60px); }

.bilka-top-contact a { height:38px; }
.bilka-top-contact svg { width:18px; height:18px; flex-basis:18px; margin:0 9px; }

/* Shared glass treatment for the context chapter cards. */
.bilka-page .uk-chapters :is(#uk-chapter-2,#bilka-turning-point,#bilka-methods,#bilka-design-principles) {
 min-height:0;
 color:#f4f4f5;
 background:linear-gradient(160deg,rgba(48,87,139,.12) 0%,rgba(35,70,115,.12) 48%,rgba(23,49,86,.12) 100%);
 border-color:#ffffff26;
 box-shadow:inset 0 1px 0 #ffffff14,0 16px 40px #17171b16;
 backdrop-filter:blur(24px);
 -webkit-backdrop-filter:blur(24px);
}
.bilka-page :is(#uk-chapter-2,#bilka-turning-point,#bilka-methods,#bilka-design-principles) .bilka-chapter-content {
 background:var(--bilka-section);
 border-color:#ffffff29;
 color:#000;
}
.bilka-page :is(#uk-chapter-2,#bilka-turning-point,#bilka-methods,#bilka-design-principles) .bilka-chapter-content :is(h2,h3,p) { color:#000; }
.bilka-page :is(#uk-chapter-2,#bilka-turning-point,#bilka-methods,#bilka-design-principles) .bilka-insight-tabs {
 background:rgba(255,255,255,.40);
 border-color:#ffffff66;
}
.bilka-page :is(#uk-chapter-2,#bilka-turning-point,#bilka-methods,#bilka-design-principles) .bilka-insight-tabs button { color:#171717; opacity:1; }
.bilka-page :is(#uk-chapter-2,#bilka-turning-point,#bilka-methods,#bilka-design-principles) .bilka-insight-tabs button[aria-selected="true"] { color:#fff; }
.bilka-page :is(#uk-chapter-2,#bilka-turning-point,#bilka-methods,#bilka-design-principles) .bilka-insight-tabs .uk-tab-highlight { background:#000; border-color:#ffffff40; }
.bilka-page :is(#uk-chapter-2,#bilka-turning-point,#bilka-methods,#bilka-design-principles) .bilka-reading-toggle {
 color:#f4f4f5;
 background:linear-gradient(135deg,#ffffff1c,#ffffff09);
 border-color:#ffffff40;
 box-shadow:inset 0 1px 0 #ffffff12,0 8px 24px #00000018;
}
.bilka-page :is(#uk-chapter-2,#bilka-turning-point,#bilka-methods,#bilka-design-principles) .bilka-reading-toggle:focus-visible { outline-color:#fff; }
.bilka-page :is(#uk-chapter-2,#bilka-turning-point,#bilka-methods,#bilka-design-principles) .bilka-easy-points .uk-chapter-point {
 color:#171717;
 background:rgba(255,255,255,.40);
 border-color:#ffffff66;
}

/* Keep the fixed fades outside the resting chapter card. */
.bilka-page .uk-chapter-stream {
 box-sizing:content-box;
 padding:64px 48px;
 margin:-64px -48px;
 mask-image:linear-gradient(to bottom,transparent,#00000003 8px,#00000014 16px,#00000043 24px,#00000080 32px,#000000bc 40px,#000000eb 48px,#000000fc 56px,#000 64px,#000 calc(100% - 64px),#000000fc calc(100% - 56px),#000000eb calc(100% - 48px),#000000bc calc(100% - 40px),#00000080 calc(100% - 32px),#00000043 calc(100% - 24px),#00000014 calc(100% - 16px),#00000003 calc(100% - 8px),transparent);
 -webkit-mask-image:linear-gradient(to bottom,transparent,#00000003 8px,#00000014 16px,#00000043 24px,#00000080 32px,#000000bc 40px,#000000eb 48px,#000000fc 56px,#000 64px,#000 calc(100% - 64px),#000000fc calc(100% - 56px),#000000eb calc(100% - 48px),#000000bc calc(100% - 40px),#00000080 calc(100% - 32px),#00000043 calc(100% - 24px),#00000014 calc(100% - 16px),#00000003 calc(100% - 8px),transparent);
}
@media(prefers-reduced-motion:reduce) {
 .bilka-page .uk-chapter-stream { mask-image:none; -webkit-mask-image:none; }
}

/* Slightly lighter inactive context navigation. */
.bilka-page .bilka-chapters .uk-chapters-nav button:not([aria-current="step"]) {
 background:rgba(255,255,255,.38);
}

/* Match the context cards over the same section surface. */
body.bilka-page #bilka-features {
 background:linear-gradient(160deg,rgba(48,87,139,.12) 0%,rgba(35,70,115,.12) 48%,rgba(23,49,86,.12) 100%),var(--bilka-section);
 background-size:auto;
}

/* Feature navigation matches the context card's insight navigation. */
.bilka-page #bilka-features .uk-feature-tabs {
 background:rgba(255,255,255,.40);
 border-color:#ffffff66;
}
.bilka-page #bilka-features .uk-feature-tabs button { color:#171717; opacity:1; }
.bilka-page #bilka-features .uk-feature-tabs button[aria-selected="true"] { color:#fff; }
.bilka-page #bilka-features .uk-feature-tabs .uk-tab-highlight { background:#000; border-color:#ffffff40; }

/* Fill the shopping-list visual to its rounded container edges. */
.bilka-page #uk-feature-panel-0 .bilka-list-feature {
 position:relative;
 padding:0;
 overflow:hidden;
}
.bilka-page #uk-feature-panel-0 .bilka-list-feature img {
 position:absolute;
 inset:0;
 width:100%;
 height:100%;
 max-height:none;
 object-fit:cover;
}

/* Journey map has no subtitle; before/after summaries use black text and arrows. */
.bilka-page #bilka-service:has([data-service-view="blueprint"][aria-selected="true"]) .service-view-description {
 display:none;
}
.bilka-page #service-blueprint-panel .blueprint-panel summary,
.bilka-page #service-blueprint-panel .blueprint-chevron {
 color:#000;
}


/* Separate actions from touchpoints, and backstage from supporting processes. */
.bilka-page #bilka-service .blueprint2-matrix tbody > tr:nth-child(2) > *,
.bilka-page #bilka-service .blueprint2-matrix tbody > tr:last-child > * {
 border-top:1px solid #17171726;
}

/* Stronger divider below the blueprint column headings. */
.bilka-page #bilka-service .blueprint2-matrix thead th {
 border-bottom:2px solid #17171780;
}

/* Both journey maps share the service blueprint's open table layout. */
.bilka-page #bilka-service .blueprint-scroll table {
 border-spacing:0 8px;
 font-size:11px;
 line-height:1.45;
}
.bilka-page #bilka-service .blueprint-scroll thead th,
.bilka-page #bilka-service .blueprint-scroll tbody th,
.bilka-page #bilka-service .blueprint-scroll tbody td {
 background:transparent;
 color:#000;
 border:0;
 border-radius:0;
 padding:16px 10px;
 vertical-align:middle;
 box-shadow:none;
 backdrop-filter:none;
 -webkit-backdrop-filter:none;
}
.bilka-page #bilka-service .blueprint-scroll th:first-child {
 width:120px;
 position:static;
}
.bilka-page #bilka-service .blueprint-scroll thead th:not(:first-child) {
 border-bottom:1px solid #171717;
}
.bilka-page #bilka-service .blueprint-scroll thead .blueprint-step {
 color:#000;
 opacity:1;
 font-size:20px;
 margin-bottom:6px;
 letter-spacing:normal;
}
.bilka-page #bilka-service .blueprint-scroll tbody > tr + tr > td {
 border-top:1px solid #171717;
}
.bilka-page #bilka-service .blueprint-scroll td:is(.blueprint-pain,.blueprint-solved) {
 padding-right:40px;
}

/* Refine the family journey without changing the other service views. */
.bilka-page :is(#service-flow-panel,#service-architecture-panel) .bilka-journey-path path { stroke-width:2; }
.bilka-page :is(#service-flow-panel,#service-architecture-panel) .bilka-journey-stop { background:#f2f4f7; border:1px solid #fff; }
.bilka-page #bilka-service:has(:is([data-service-view="flow"],[data-service-view="architecture"])[aria-selected="true"]) .service-view-description {
 display:none;
}

/* Keep journey labels readable and the curved route evenly weighted. */
.bilka-page :is(#service-flow-panel,#service-architecture-panel) .bilka-journey-stop,
.bilka-page :is(#service-flow-panel,#service-architecture-panel) .bilka-journey-stop .bilka-journey-number { color:#000; }
.bilka-page :is(#service-flow-panel,#service-architecture-panel) .bilka-journey-path { overflow:visible; }
.bilka-page :is(#service-flow-panel,#service-architecture-panel) .bilka-journey-path path {
 vector-effect:non-scaling-stroke;
}

/* Centre the prototype, with a compact information card beside it. */
.bilka-page #bilka-flow-view .bilka-inline-prototype {
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(280px,360px) minmax(0,1fr);
 gap:32px;
 align-items:center;
}
.bilka-page #bilka-flow-view .bilka-inline-context {
 grid-column:1;
 grid-row:1;
 width:100%;
 box-sizing:border-box;
 padding:20px;
}
.bilka-page #bilka-flow-view .bilka-inline-explanation {
 margin:0;
 padding:0;
 border:0;
 background:none;
}
.bilka-page #bilka-flow-view .bilka-inline-explanation h3 { font-size:22px; line-height:1.3; }
.bilka-page #bilka-flow-view .bilka-inline-phone-panel {
 grid-column:2;
 grid-row:1;
 width:100%;
 padding:0;
 background:none;
 border:0;
 box-shadow:none;
 backdrop-filter:none;
 -webkit-backdrop-filter:none;
}
.bilka-page #bilka-flow-view .bilka-inline-phases { margin:16px 0 0; gap:12px; }
.bilka-page #bilka-flow-view .bilka-inline-phases button { font-size:12px; gap:8px; }
@media(max-width:800px) {
 .bilka-page #bilka-flow-view .bilka-inline-prototype { grid-template-columns:minmax(0,1fr); gap:24px; }
 .bilka-page #bilka-flow-view .bilka-inline-phone-panel { grid-column:1; grid-row:1; max-width:360px; justify-self:center; }
 .bilka-page #bilka-flow-view .bilka-inline-context { grid-column:1; grid-row:2; max-width:440px; justify-self:center; }
}

/* Keep phase progress directly above the separate information card. */
.bilka-page #bilka-flow-view .bilka-inline-info-column {
 grid-column:1;
 grid-row:1;
 min-width:0;
}
.bilka-page #bilka-flow-view .bilka-inline-info-column > .bilka-inline-phases {
 margin:0 0 16px;
}
@media(max-width:800px) {
 .bilka-page #bilka-flow-view .bilka-inline-info-column {
  grid-column:1;
  grid-row:2;
  width:100%;
  max-width:440px;
  justify-self:center;
 }
}

/* Match the visible bottom spacing to the top, including the next surface's overlap. */
.bilka-page #bilka-service { padding-bottom:128px; }
@media(max-width:800px) {
 .bilka-page #bilka-service { padding-bottom:88px; }
}
