/* Structural recreation of the reference, scoped to the local preview. */
body { font-family:'DM Sans',sans-serif; background:#fff; color:#111; }
.page h1,.page h2,.page h3,.section-title,.project-title,.beh-title,.model-name,.cert-name { font-family:'DM Sans',sans-serif !important; font-weight:400 !important; letter-spacing:-.035em; }
.page .page-header h1 { font-size:clamp(34px,4.4vw,64px); line-height:1.12; letter-spacing:-.04em; max-width:1000px; }
.page .contact-left h2 { font-size:clamp(32px,4vw,56px); line-height:1.15; }
.page .service-card h3,.project-title,.model-name,.cert-name,.beh-title,.page .kd-service h3,.page .kd-project h3 { font-weight:600 !important; }
.page h1 span,.page h2 span,.page .section-title { font-weight:600; }
.page .kd-numbers strong,.page .kd-case-stat-grid strong { font-weight:700; }
.page strong,.page b { font-weight:700; }
.portfolio-icon { display:inline-block; width:1.15em; height:1.15em; flex-shrink:0; vertical-align:-.18em; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.service-icon .portfolio-icon,.model-icon .portfolio-icon,.contact-link .icon .portfolio-icon { width:24px; height:24px; }
.service-card .service-icon { color:#204ac8; background:#e8f1ff; }
.service-card .service-icon .portfolio-icon { color:#204ac8; stroke:#204ac8; }
.service-card:nth-child(4n+2) .service-icon { color:#b9d3ff; background:#203452; }
.service-card:nth-child(4n+2) .service-icon .portfolio-icon { color:#b9d3ff; stroke:#b9d3ff; }
.featured-badge .portfolio-icon { width:13px; height:13px; margin-right:4px; }
.img-placeholder .portfolio-icon { width:44px; height:44px; }
#page-home > :not(.kd-home) { display:none !important; }
#page-home.active { display:block; }
.kd-home { --blue:#2555f5; color:#111; font-weight:400; }
.kd-home * { box-sizing:border-box; }
.kd-width { width:min(1200px,90%); margin:auto; }
.kd-home h1,.kd-home h2,.kd-home h3 { font-family:'DM Sans',sans-serif; font-weight:500; letter-spacing:-.045em; line-height:1.12; margin:0; }
.kd-home h2 { font-size:clamp(32px,3.8vw,55px); }
.kd-home h1 span,.kd-home h2 span { color:#5795ee; }
.kd-home p { line-height:1.65; }
.kd-home button,.kd-home a { -webkit-tap-highlight-color:transparent; }
.kd-home button { font-family:inherit; cursor:pointer; border:1px solid var(--blue); border-radius:7px; background:var(--blue); color:#fff; padding:13px 27px; font-size:15px; transition:transform .25s,background .25s; }
.kd-home button:hover { transform:translateY(-3px); background:#1744dc; }
.kd-home button:focus-visible,.kd-home a:focus-visible,.kd-home summary:focus-visible { outline:3px solid #73a7ff; outline-offset:5px; }
.kd-home .kd-outline { background:transparent; color:#2451d1; border:1px solid #858585; }
.kd-label { font-size:11px; letter-spacing:.08em; display:block; margin-bottom:20px; }
.kd-hero { text-align:center; padding-top:138px; }
.kd-hero h1 { font-size:clamp(36px,4.4vw,64px); }
.kd-hero > p { max-width:750px; margin:23px auto; color:#666; font-size:18px; }
.kd-buttons { display:flex; justify-content:center; gap:16px; margin-top:30px; }
.kd-hero .kd-proof { font-size:13px; margin-top:25px; }
.kd-clients { display:flex; justify-content:space-around; align-items:center; gap:25px; margin:48px auto 65px; color:#777; font-size:15px; font-weight:700; flex-wrap:wrap; }
.kd-home .kd-showreel { width:100%; height:490px; background:#080a0d; border:0; border-radius:20px; padding:45px; position:relative; overflow:hidden; text-align:left; display:block; }
.kd-showreel strong { position:absolute; z-index:2; top:100px; left:45px; font-size:clamp(45px,6vw,86px); line-height:.98; letter-spacing:-.07em; font-weight:400; }
.kd-showreel em { color:#a4bdfd; font-style:normal; }
.kd-reel-caption { font-size:10px; letter-spacing:.12em; position:absolute; left:45px; top:35px; z-index:2; }
.kd-reel-images { display:flex; position:absolute; left:39%; right:-8%; top:65px; gap:22px; transform:rotate(-9deg); }
.kd-reel-images img { width:29%; height:340px; object-fit:contain; background:#fff; border:7px solid #fff; border-radius:15px; animation:kd-drift 7s ease-in-out infinite alternate; }
.kd-reel-images img:nth-child(2) { margin-top:65px; animation-delay:-3s; }
.kd-reel-link { position:absolute; bottom:30px; right:35px; font-size:13px; }
.kd-dark { background:#080808; color:white; margin-top:85px; padding:85px 0; }
.kd-intro { text-align:center; }
.kd-intro p { max-width:740px; margin:25px auto; color:#aaa; font-size:17px; }
.kd-feature { margin:65px auto 100px; display:grid; grid-template-columns:1fr 1fr; min-height:390px; background:#141820; border-radius:18px; overflow:hidden; }
.kd-feature > div { display:flex; gap:15px; padding:30px; overflow:hidden; }
.kd-feature img { width:49%; min-width:0; height:330px; object-fit:contain; background:#1b202a; border-radius:12px; }
.kd-feature a { padding:45px; color:#fff; text-decoration:none; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:20px; }
.kd-feature h3 { font-size:40px; }
.kd-feature a > span { font-size:12px; }
.kd-feature .kd-play { border:1px solid #79808c; border-radius:50%; font-size:28px; width:60px; height:60px; display:grid; place-items:center; }
.kd-services > h2 { margin-bottom:45px; }
.kd-service { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:16px; border-radius:20px; margin-top:42px; min-height:410px; overflow:hidden; }
.kd-tone-0 { background:#102326; }.kd-tone-1 { background:#111527; }.kd-tone-2 { background:#30200d; }.kd-tone-3 { background:#21142d; }
.kd-service-copy { align-self:center; padding:30px 40px; }
.kd-service h3 { font-size:34px; }
.kd-service ul { padding:0; list-style:none; margin:28px 0 35px; }
.kd-service li { font-size:15px; line-height:1.5; color:#d2d3d6; margin:12px 0; padding-left:22px; position:relative; }
.kd-service li:before { content:'✓'; position:absolute; left:0; }
.kd-service .kd-label { color:#a9adb4; }
.kd-service-images { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; min-width:0; align-items:center; }
.kd-service-images img { display:block; width:100%; min-width:0; height:380px; object-fit:contain; object-position:center; background:rgba(255,255,255,.035); padding:8px; border-radius:15px; }
.kd-service:hover img { transform:none; }
.img-carousel img { object-fit:contain; object-position:center; padding:10px; }
.kd-work { padding:95px 0 50px; }
.kd-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:45px; }
.kd-project-rail { display:flex; overflow-x:auto; gap:24px; scroll-snap-type:x mandatory; scrollbar-width:thin; padding-bottom:18px; }
.kd-home .kd-project { flex:0 0 43%; scroll-snap-align:start; padding:0; border:0; background:transparent; color:#111; text-align:left; transform:none; }
.kd-project > div { height:340px; border-radius:16px; position:relative; overflow:hidden; background:#eee; }
.kd-project img { width:100%; height:100%; object-fit:contain; transition:transform .5s; }
.kd-project:hover img { transform:none; }
.kd-project > div span { position:absolute; bottom:20px; right:20px; background:white; color:black; width:40px; height:40px; border-radius:50%; display:grid; place-items:center; }
.kd-project small { display:block; color:#777; margin:19px 0 8px; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.kd-project h3 { font-size:23px; }
.kd-rail-controls { display:flex; align-items:center; justify-content:center; gap:25px; margin-top:25px; }
.kd-rail-controls span { font-size:12px; color:#777; }
.kd-home .kd-rail-controls button { border-radius:50%; padding:10px 16px; background:#f1f1f1; color:#111; border:0; }
.kd-numbers { text-align:center; padding:80px 0; }
.kd-numbers h2 { font-size:35px; }
.kd-numbers > div { display:grid; grid-template-columns:repeat(3,1fr); margin-top:55px; gap:25px; }
.kd-numbers article { display:flex; flex-direction:column; gap:12px; }
.kd-numbers strong { font-size:58px; color:#2555f5; letter-spacing:-.05em; font-weight:500; }
.kd-numbers article span { color:#777; font-size:14px; }
.kd-faq { padding:60px 0 95px; max-width:1000px; }
.kd-faq h2 { margin-bottom:35px; }
.kd-faq details { border-bottom:1px solid #ddd; padding:25px 0; }
.kd-faq summary { display:flex; justify-content:space-between; cursor:pointer; font-size:18px; list-style:none; gap:25px; }
.kd-faq summary::-webkit-details-marker { display:none; }
.kd-faq details[open] summary span { transform:rotate(45deg); }
.kd-faq details p { color:#666; max-width:800px; margin-bottom:0; }
.kd-final { background:#f2f5fb; text-align:center; padding:85px 20px; }
.kd-final h2 { font-size:clamp(42px,5vw,70px); margin-bottom:30px; }
nav .nav-logo,footer .logo { font-family:'DM Sans',sans-serif; font-size:23px; letter-spacing:-1px; font-weight:700; }
.project-detail-title { font-family:'DM Sans',sans-serif !important; }
@keyframes kd-drift { to { translate:0 -18px; } }
.kd-case { background:#050505; color:#f7f7f7; min-height:100vh; padding:125px 0 0; font-family:'DM Sans',sans-serif; }
.kd-case-inner { width:min(1080px,86%); margin:auto; }
.kd-case h1,.kd-case h2,.kd-case strong { font-family:'DM Sans',sans-serif; font-weight:400; letter-spacing:-.04em; }
.kd-case h1 { font-size:clamp(32px,4vw,58px); line-height:1.16; margin:30px 0 65px; outline:none; }
.kd-case-back { color:#aaa; font-size:13px; text-decoration:none; }
.kd-case-back:hover { color:#fff; }
.kd-case-label { font-size:18px; margin-bottom:22px; }.kd-case-label span { color:#648cff; }
.kd-case-lead { font-size:clamp(23px,3vw,40px); letter-spacing:-.035em; line-height:1.3; margin:0 0 40px; max-width:1000px; }
.kd-case-meta { display:grid; grid-template-columns:1fr 1fr 1.5fr; gap:30px; margin:38px 0; padding:26px 0; border-top:1px solid #333; border-bottom:1px solid #333; }
.kd-case-meta dt { color:#888; font-size:12px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px; }.kd-case-meta dd { margin:0; line-height:1.7; font-size:15px; color:#ddd; }
.kd-case-site { color:#739aff; text-decoration:none; display:inline-block; margin-bottom:45px; }
.kd-case-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; width:min(100%,960px); margin:25px auto 0; align-items:start; }.kd-case-gallery figure { margin:0; min-width:0; }
.kd-case-gallery figure:nth-child(3n) { grid-column:auto; }
.kd-case-gallery figure:last-child:nth-child(odd) { grid-column:1 / -1; width:calc((100% - 28px)/2); justify-self:center; }
.kd-case-gallery button { display:block; width:100%; padding:0; border:0; background:#101010; border-radius:16px; overflow:hidden; cursor:zoom-in; }
.kd-case-gallery img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:contain; margin:auto; }
.kd-case-gallery figure:nth-child(3n) img { height:auto; }
.kd-case-gallery figcaption { display:flex; justify-content:space-between; gap:20px; padding:14px 0; color:#888; font-size:12px; }
.kd-case-results { margin:85px 0; }.kd-case h2 { font-size:clamp(30px,4vw,52px); line-height:1.15; margin:15px 0 35px; }
.kd-case-stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:30px; }
.kd-case-stat-grid article { border-top:1px solid #444; padding:25px 0; min-width:0; }.kd-case-stat-grid strong { font-size:clamp(38px,5vw,66px); color:#87aaff; overflow-wrap:anywhere; }.kd-case-stat-grid p { color:#bbb; line-height:1.6; }
.kd-case-contact { text-align:center; padding:70px 20px; margin:80px 0 45px; border-radius:18px; background:#121620; }.kd-case-contact > span { color:#999; font-size:11px; letter-spacing:.08em; }.kd-case-contact button { border:0; background:#2555f5; color:white; border-radius:7px; padding:15px 25px; font:inherit; cursor:pointer; }
.kd-case-next { display:block; text-decoration:none; color:#fff; border-top:1px solid #333; padding:35px 0 70px; }.kd-case-next > span { color:#999; font-size:13px; }.kd-case-next strong { display:block; font-size:clamp(24px,3vw,40px); margin-top:15px; }.kd-case-next strong span { color:#739aff; }
@media(max-width:760px) { .kd-case { padding-top:100px; }.kd-case-inner { width:90%; }.kd-case h1 { margin-bottom:40px; }.kd-case-meta { grid-template-columns:1fr; gap:20px; }.kd-case-gallery { gap:18px; }.kd-case-gallery img { height:300px; }.kd-case-gallery figure:nth-child(3n) img { height:380px; }.kd-case-results { margin:50px 0; }.kd-case-contact { margin-top:45px; padding:45px 20px; } }
@media(max-width:520px) { .kd-case-gallery { grid-template-columns:1fr; max-width:380px; }.kd-case-gallery figure,.kd-case-gallery figure:nth-child(3n),.kd-case-gallery figure:last-child:nth-child(3n + 1) { grid-column:auto; width:100%; }.kd-case-gallery img,.kd-case-gallery figure:nth-child(3n) img { height:auto; max-height:440px; } }
@media(max-width:760px) {
 .kd-hero { padding-top:110px; }.kd-hero h1 { font-size:40px; }.kd-hero > p { font-size:16px; }
 .kd-buttons { flex-direction:column; }.kd-clients { gap:20px; margin:35px 0; font-size:12px; }
 .kd-home .kd-showreel { height:330px; padding:25px; }.kd-showreel strong { left:25px; top:85px; font-size:48px; }.kd-reel-images { left:48%; top:55px; right:-55%; }.kd-reel-images img { height:230px; }
 .kd-dark { margin-top:50px; padding:55px 0; }.kd-feature { grid-template-columns:1fr; margin:45px auto 65px; }.kd-feature > div { height:260px; padding:15px; }.kd-feature img { height:230px; }.kd-feature a { padding:30px; }.kd-feature h3 { font-size:32px; }
 .kd-service { grid-template-columns:1fr; gap:10px; margin-top:25px; }.kd-service-copy { padding:22px 14px; }.kd-service h3 { font-size:29px; }.kd-service-images { height:260px; gap:12px; }.kd-service-images img { height:260px; }
 .kd-section-heading { align-items:flex-start; flex-direction:column; }.kd-work { padding-top:60px; }.kd-home .kd-project { flex-basis:88%; }.kd-project > div { height:300px; }
 .kd-numbers { padding:45px 0; }.kd-numbers h2 { font-size:28px; }.kd-numbers > div { gap:12px; }.kd-numbers strong { font-size:31px; }.kd-numbers article span { font-size:11px; }.kd-faq { padding:45px 0 60px; }
}
.kd-story {
  max-width:960px; margin:50px auto; padding:28px;
  position:relative; isolation:isolate;
  background:radial-gradient(ellipse at 0 0,rgba(202,220,236,.13),transparent 55%),linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.025) 55%,rgba(173,196,215,.065)),rgba(22,25,30,.8);
  border:1px solid rgba(223,235,245,.18); border-top-color:rgba(255,255,255,.32); border-radius:26px;
  -webkit-backdrop-filter:blur(24px) saturate(115%); backdrop-filter:blur(24px) saturate(115%);
  box-shadow:0 28px 70px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(255,255,255,.04);
}
.kd-story::before { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.025) 45%,transparent 65%); z-index:-1; }
.kd-post-collection { max-width:1100px; margin:64px auto; }
.kd-post-collection header { max-width:620px; margin-bottom:28px; }
.kd-post-collection h2 { font-size:clamp(28px,3.5vw,42px); margin:16px 0; }
.kd-post-collection header p { color:#aeb5bf; line-height:1.7; font-size:15px; }
.kd-post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.kd-post-grid .kd-story { margin:0; padding:20px; width:100%; min-width:0; box-sizing:border-box; border-radius:20px; }
.kd-post-grid .kd-story-heading span { display:none; }
.kd-post-grid .kd-story-heading p { font-size:19px; line-height:1.4; margin:0 0 18px; min-height:54px; }
.kd-post-grid .kd-story-slide { flex-basis:100%; }
.kd-post-grid .kd-story-slide:last-child { margin-right:0; }
.kd-post-grid .kd-story-thumbs { justify-content:center; padding:8px; }
.kd-post-grid .kd-story-thumbs button { flex-basis:40px; }
.kd-post-grid .kd-story-controls { margin:12px 0; }
@media(max-width:700px) { .kd-post-grid { grid-template-columns:1fr; gap:24px; } .kd-post-grid .kd-story { padding:14px; } .kd-post-grid .kd-story-heading p { min-height:0; } }
.kd-reels-section { max-width:1100px; margin:60px auto; }
.kd-reels-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:28px; }
.kd-reels-grid figure { margin:0; min-width:0; }
.kd-reels-grid video { display:block; width:100%; aspect-ratio:9/16; object-fit:contain; background:#151515; border-radius:12px; }
.kd-reels-grid figcaption { color:#aebed1; font-size:12px; margin-top:14px; }
@media(max-width:650px) { .kd-reels-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:16px; padding-bottom:16px; } .kd-reels-grid figure { flex:0 0 90%; scroll-snap-align:start; } }
.kd-case-reel { max-width:960px; margin:72px auto; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px; }
.kd-case-reel h2 { font-size:clamp(28px,4vw,44px); margin:18px 0; }
.kd-case-reel p { color:#b4bac4; line-height:1.7; max-width:360px; }
.kd-case-reel figure { margin:0; min-width:0; }
.kd-case-reel video { display:block; width:100%; max-height:620px; aspect-ratio:9/16; object-fit:contain; background:#111; border-radius:14px; }
.kd-case-reel figcaption { font-size:12px; color:#aebed1; padding-top:14px; }
@media(max-width:600px) { .kd-case-reel { grid-template-columns:1fr; gap:24px; } .kd-case-reel figure { width:100%; max-width:380px; justify-self:center; } }
.kd-story-heading span { font-size:11px; letter-spacing:.14em; color:#aebed1; }
.kd-story-heading p { color:#fff; font-size:24px; margin:12px 0 24px; }
.kd-story-track { position:relative; display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:rgba(218,231,243,.35) transparent; padding-bottom:12px; }
.kd-story-slide { flex:0 0 calc((100% - 20px)/2); padding:0; background:none; border:0; border-radius:8px; overflow:hidden; scroll-snap-align:start; cursor:zoom-in; }
.kd-story-slide:last-child { margin-right:calc((100% + 20px)/2); }
.kd-story-slide img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:contain; }
.kd-story-controls { display:flex; align-items:center; justify-content:space-between; margin:18px 0; color:#d5dfec; font-size:13px; font-variant-numeric:tabular-nums; }
.kd-story-controls button { background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.035)); color:white; border:1px solid rgba(255,255,255,.2); box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 4px 12px rgba(0,0,0,.12); border-radius:50%; width:44px; height:44px; cursor:pointer; transition:background .2s,border-color .2s; }
.kd-story-controls button:hover:not(:disabled) { background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.4); }
.kd-story-controls button:disabled { opacity:.3; cursor:default; }
.kd-story-thumbs { display:flex; gap:10px; overflow-x:auto; padding:12px; border:1px solid rgba(255,255,255,.09); background:rgba(0,0,0,.12); border-radius:12px; scrollbar-width:thin; scrollbar-color:rgba(218,231,243,.3) transparent; }
.kd-story-thumbs button { flex:0 0 54px; padding:0; border:2px solid transparent; background:none; opacity:.5; cursor:pointer; border-radius:4px; overflow:hidden; }
.kd-story-thumbs button[aria-current=true] { border-color:#c4d9f4; opacity:1; }
.kd-story-thumbs img { display:block; width:100%; aspect-ratio:4/5; object-fit:contain; }
.kd-story button:focus-visible,.kd-story-track:focus-visible { outline:2px solid #fff; outline-offset:3px; }
@media(max-width:520px) { .kd-story { padding:14px; } .kd-story-track { gap:12px; } .kd-story-heading p { font-size:20px; } .kd-story-slide { flex-basis:100%; } .kd-story-slide:last-child { margin-right:0; } .kd-case-gallery figure:last-child:nth-child(odd) { width:100%; } }
.kd-case-gallery img,.kd-case-gallery figure:nth-child(3n) img { height:auto; max-height:none; }
.kd-home .kd-project > div { height:auto; aspect-ratio:4/5; }
.kd-home .kd-project > div img { width:100%; height:100%; object-fit:contain; padding:12px; box-sizing:border-box; }
.kd-process-board { margin:20px; padding:clamp(22px,3vw,44px); background:#f4f2ed; color:#182127; border-radius:16px; min-width:0; }
.kd-board-label { font-size:11px; letter-spacing:.15em; color:#53616a; }
.kd-process-board h4 { font-family:'DM Sans',sans-serif; font-size:clamp(25px,2.5vw,36px); font-weight:500; letter-spacing:-.04em; line-height:1.15; margin:20px 0 28px; }
.kd-process-board ol { list-style:none; padding:0; margin:0; }
.kd-process-board li { display:flex; gap:20px; align-items:center; padding:17px 0; border-top:1px solid #ccd1d0; }
.kd-process-board li span { font-size:12px; color:#587068; font-variant-numeric:tabular-nums; }
.kd-service .kd-process-board li::before { content:none; }
.kd-service .kd-process-board li,.kd-process-board li strong { font-size:16px; font-weight:500; color:#182127; }
.kd-process-board p,.kd-process-board a { display:block; margin:24px 0 0; font-size:12px; color:#455b65; }
.kd-process-board a { font-size:14px; text-underline-offset:5px; }
@media(max-width:600px) { .kd-process-board { margin:8px; } }
.kd-reels-grid.kd-reels-pair { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:800px; margin-inline:auto; }
.kd-campaign { max-width:1100px; margin:80px auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,72px); align-items:center; }
.kd-campaign figure { margin:0; min-width:0; }
.kd-campaign figure button { display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in; }
.kd-campaign figure img { display:block; width:100%; height:auto; border-radius:16px; }
.kd-campaign figcaption { margin-top:14px; color:#9ba4b1; font-size:12px; }
.kd-campaign figcaption span:last-child { display:none; }
.kd-campaign-copy > h2 { font-size:clamp(30px,4vw,48px); line-height:1.12; font-weight:500; letter-spacing:-.04em; margin:20px 0; }
.kd-campaign-copy > p { font-size:16px; line-height:1.8; color:#b5bdc9; }
.kd-campaign-copy strong { color:#fff; }
.kd-campaign .kd-case-results { margin:32px 0 0; padding:0; }
.kd-campaign .kd-case-results h2 { font-size:14px; letter-spacing:0; margin:0 0 16px; color:#aeb8c7; }
.kd-campaign .kd-case-stat-grid { display:grid; grid-template-columns:1fr; gap:0; }
.kd-campaign .kd-case-stat-grid article { display:flex; align-items:baseline; justify-content:space-between; gap:16px; border:0; border-top:1px solid #ffffff20; border-radius:0; background:none; padding:20px 0; }
.kd-campaign .kd-case-stat-grid strong { font-size:clamp(30px,3vw,42px); white-space:nowrap; }
.kd-campaign .kd-case-stat-grid p { margin:0; font-size:14px; text-align:right; }
@media(max-width:700px) { .kd-campaign { grid-template-columns:1fr; margin:48px auto; } }
@media(prefers-reduced-motion:reduce) { .kd-home * { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
/* Uniform photographic covers, independent of the full project materials. */
#page-realizacje .projects-grid,
#page-realizacje #projects-top-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
#page-realizacje .behance-realizacje { display: none; }
#page-realizacje #projects-top-row { margin-bottom: 24px; }
#page-realizacje .kd-cover-card,
.kd-home .kd-project.kd-cover-card {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  aspect-ratio: 8 / 5;
  padding: 0;
  border: 0;
  border-radius: 18px;
  background: #15191e;
  overflow: hidden;
  isolation: isolate;
  text-align: left;
  cursor: pointer;
  box-shadow: none;
  color: #fff;
}
.kd-home .kd-project.kd-cover-card { flex: 0 0 calc(50% - 12px); }
#page-realizacje .kd-cover-card picture img,
.kd-home .kd-project.kd-cover-card picture img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: cover;
  transition: transform 650ms cubic-bezier(.2,.65,.3,1);
}
.kd-cover-card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 28%, rgba(5,9,14,.12) 45%, rgba(5,9,14,.65) 75%, rgba(5,9,14,.92) 100%);
}
#page-realizacje .kd-cover-card .kd-cover-copy,
.kd-home .kd-project.kd-cover-card .kd-cover-copy {
  position: absolute;
  z-index: 2;
  inset: auto 64px 26px 28px;
  height: auto;
  aspect-ratio: auto;
  background: none;
  border-radius: 0;
  overflow: visible;
}
.kd-cover-card .kd-cover-copy .kd-cover-scope {
  margin: 0;
  max-width: 43ch;
  color: #dce5ed;
  font-size: clamp(12px, 1.05vw, 14px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-wrap: pretty;
}
.kd-cover-card .kd-cover-copy h3 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(21px, 2vw, 30px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.025em;
}
#page-realizacje .kd-cover-copy > span,
.kd-home .kd-project.kd-cover-card .kd-cover-copy > span {
  position: static;
  display: inline-block;
  width: auto;
  height: auto;
  padding: 5px 9px;
  border: 1px solid rgba(137,196,239,.65);
  border-radius: 30px;
  background: rgba(9,23,37,.28);
  color: #a9d8fb;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.kd-cover-card > .kd-cover-arrow {
  position: absolute;
  z-index: 3;
  right: 26px;
  bottom: 28px;
  color: #fff;
  font-size: 23px;
  opacity: .8;
}
#page-realizacje .kd-cover-card:hover picture img,
.kd-home .kd-project.kd-cover-card:hover picture img { transform: scale(1.035); }
.kd-cover-card:focus-visible { outline: 3px solid #248aff; outline-offset: 5px; }
@media (max-width: 700px) {
  #page-realizacje .projects-grid,
  #page-realizacje #projects-top-row { grid-template-columns: 1fr; gap: 18px; }
  .kd-home .kd-project.kd-cover-card { flex-basis: 88%; }
  #page-realizacje .kd-cover-card .kd-cover-copy,
  .kd-home .kd-project.kd-cover-card .kd-cover-copy { left: 20px; bottom: 20px; right: 45px; }
  .kd-cover-card > .kd-cover-arrow { right: 18px; bottom: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  #page-realizacje .kd-cover-card picture img,
  .kd-home .kd-project.kd-cover-card picture img { transition: none; }
}

/* Shared typography and mobile layout corrections. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.mobile-menu a { font-family:'DM Sans',sans-serif; font-weight:500; letter-spacing:-.025em; }
.about-stat .n,.certs-count,.stat-num,.kpi-val,.stat-block-value { font-family:'DM Sans',sans-serif; font-weight:600; letter-spacing:-.04em; font-variant-numeric:lining-nums; }
.kd-reel-link .portfolio-icon,.kd-cover-arrow .portfolio-icon,.kd-play .portfolio-icon { width:1em; height:1em; }
@media(max-width:700px) {
  .kd-home .kd-showreel { height:auto !important; display:grid; grid-template-columns:minmax(0,1fr); gap:24px; padding:28px 24px !important; }
  .kd-showreel .kd-reel-caption,.kd-showreel strong,.kd-showreel .kd-reel-images,.kd-showreel .kd-reel-link { position:static; inset:auto; transform:none; }
  .kd-showreel strong { font-size:clamp(38px,10vw,54px) !important; line-height:1.06; letter-spacing:-.045em; }
  .kd-showreel .kd-reel-images { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .kd-showreel .kd-reel-images img { width:100%; height:auto; aspect-ratio:4/5; margin:0; border:3px solid #fff; border-radius:8px; animation:none; }
  .kd-showreel .kd-reel-link { display:flex; justify-content:space-between; align-items:center; padding-top:16px; border-top:1px solid #ffffff26; }
  .about-stats { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:8px; }
  .about-stat { padding:18px 6px; min-width:0; }
  .about-stat .n { font-size:clamp(23px,6.2vw,30px); white-space:nowrap; font-weight:600; }
  .about-stat .l { font-size:11px; }
  .certs-intro { padding:24px; gap:20px; align-items:flex-start; }
  .certs-count { font-size:42px; font-weight:500; }
  .mobile-menu a { font-size:26px; line-height:1.25; }
}
