/* Shared case-study layout, enabled per project. */
.project-case-study { max-width:1220px; padding:32px 32px 64px; margin:0 auto; color:#30352d; }
.project-case-study .back-link { margin-bottom:28px; font-size:13px; color:#56654e; }
.project-case-study .project-hero { grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); gap:44px; padding-bottom:38px; }
.project-case-study .project-hero-wrap h1 { font:400 clamp(28px,3vw,40px)/1.2 'Playfair Display',Georgia,serif; margin:18px 0; }
.project-case-study .project-hero-wrap .project-tags li { border-radius:5px; padding:4px 9px; font-weight:400; background:#efefe7; }
.project-case-study .project-hero__intro { max-width:none; font:16px/1.75 Lato,Arial,sans-serif; }
.project-case-study .btn { border-radius:4px; padding:12px 18px; font-size:14px; }
.project-case-study .btn-primary { background:#485e45; color:#fff; }
.project-case-study .btn-outline { border:1px solid #96a18e; background:transparent; color:#354b32; }
.project-case-study .project-body { max-width:none; }
.project-case-study .tool-cards { gap:16px; margin:30px 0 42px; }
.project-case-study .tool-card { padding:22px; border:1px solid #e4e3d9; border-radius:6px; background:transparent; box-shadow:none; }
.project-case-study .tool-card h3 { font:400 18px/1.4 Merriweather,Georgia,serif; }
.project-case-study .tool-card p { font-size:14px; line-height:1.7; }
.project-case-study h2 { font:400 25px/1.35 'Playfair Display',Georgia,serif; color:#283126; scroll-margin-top:30px; }
.project-case-study h3 { font-size:18px; line-height:1.5; }
.project-case-study h4 { font-size:17px; margin:28px 0 12px; color:#4b6144; }
.project-case-study p,.project-case-study li { line-height:1.8; }
.project-case-study .project-figure img { width:100%; height:auto; border-radius:5px; }
.project-case-study .project-toc { padding:24px 28px; margin:18px 0 30px; background:#eeefe740; border:1px solid #dedfd4; border-radius:6px; }
.project-case-study .project-toc h2 { margin:0 0 16px; font-size:22px; }
.project-case-study .project-toc ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px 30px; padding:0; margin:0; list-style:none; counter-reset:sections; }
.project-case-study .project-toc li { counter-increment:sections; display:flex; gap:9px; font-size:13px; line-height:1.5; }
.project-case-study .project-toc li::before { content:counter(sections,decimal-leading-zero); color:#819071; font:12px/1.7 Consolas,monospace; }
.project-case-study .project-toc a { color:#4f5e46; text-decoration:none; }
.project-case-study .project-toc a:hover { text-decoration:underline; text-underline-offset:3px; }
.project-case-study .project-detail-section { padding:28px 0; border-bottom:1px solid #dedfd4; }
.project-case-study .project-detail-section h2 { margin:0 0 24px; }
.project-case-study .project-detail-section p { font-size:16px; margin:14px 0; }
.project-case-study .project-detail-section ul { padding-left:24px; margin:16px 0; }
.project-case-study .project-detail-section li { padding-left:5px; margin:5px 0; font-size:15px; }
.project-case-study .project-detail-section li::marker { color:#7b8b6c; }
.project-case-study .trophy-embed-wrapper { margin-top:40px; }
.project-case-study a:focus-visible { outline:2px solid #5d734f; outline-offset:4px; }
@media(max-width:900px) {
 .project-case-study .project-hero { grid-template-columns:1fr; }
 .project-case-study .project-toc ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .project-case-study { padding:24px 18px 40px; }
 .project-case-study .project-toc { padding:20px; }
 .project-case-study .project-toc ol { grid-template-columns:1fr; }
 .project-case-study .tool-cards { grid-template-columns:1fr; }
 .project-case-study .project-hero__cta { flex-direction:column; align-items:stretch; }
 .project-case-study .project-hero__cta a { text-align:center; }
}
.coffee-case-study .coffee-hero-image { margin:0; }
.project-case-study .project-hero-image img { display:block; width:100%; height:auto; border:0; border-radius:0; background:transparent; box-sizing:border-box; box-shadow:none; filter:saturate(.72) contrast(.94); }

.coffee-case-study .coffee-presentation { border-top:0; margin:38px 0; padding-top:24px; }
.coffee-video { display:block; width:100%; aspect-ratio:16/9; height:auto; border:0; border-radius:6px; margin:24px 0; }
.project-case-study .project-figure figcaption { font:13px/1.6 Lato,Arial,sans-serif; color:#72796a; margin-top:12px; }

/* Keep all coffee project sections aligned to the same content edges. */
.project-case-study .project-body,
.project-case-study .project-body > .project-detail-section,
.project-case-study .project-toc,
.coffee-case-study .coffee-presentation,
.project-case-study .project-figure {
  width:100%;
  max-width:none;
  box-sizing:border-box;
  margin-left:0;
  margin-right:0;
}
/* Read the coffee contents down each column. */
.project-case-study .project-toc ol { grid-auto-flow:column; grid-template-rows:repeat(var(--toc-rows),auto); }
@media(max-width:900px) {
 .project-case-study .project-toc ol { grid-template-rows:repeat(var(--toc-rows-tablet),auto); }
}
@media(max-width:600px) {
 .project-case-study .project-toc ol { grid-auto-flow:row; grid-template-rows:none; }
}

.project-case-study .project-repository-link { display:inline-flex; align-items:center; gap:8px; }
.project-case-study .project-repository-link img { width:24px; height:24px; object-fit:contain; flex-shrink:0; }
.project-case-study .project-repository-name { margin-top:6px !important; font:12.5px/1.5 Consolas,monospace !important; word-break:break-word; }
.project-case-study .project-repository-name a { color:inherit !important; font-weight:400 !important; }
.project-case-study .project-repository-name a:hover { color:var(--accent) !important; }

/* Shared project cover and full-width reading layout. */
.project-case-study .project-hero-image { margin:0; }
.project-case-study .project-hero-image img { display:block; width:100%; height:auto; }
.project-case-study .project-hero > *, .project-case-study .tool-card { min-width:0; }
.project-case-study .project-body { overflow-wrap:break-word; }
.project-case-study .project-body .project-detail-section h2 { margin-top:0; }

/* Responsywny embed Tableau (skalowany iframe o stalych proporcjach). */
.tableau-auto-wrap { width:100%; margin:0 auto; }
.tableau-auto-frame { position:relative; width:100%; margin:0 auto; aspect-ratio:1366/795; overflow:hidden; border-radius:12px; }
.tableau-auto-frame iframe { position:absolute; top:0; left:0; border:none !important; display:block !important; max-width:none !important; transform-origin:0 0; }

/* All project pages use the coffee case-study presentation. */
.project-case-study .project-hero-image img { border:0; border-radius:0; background:transparent; box-shadow:none; }
.project-case-study .project-detail-section { width:100%; max-width:none; box-sizing:border-box; }
.project-case-study .project-body > .project-detail-section { margin-left:0; margin-right:0; }
.project-case-study .project-body h2 { font:400 25px/1.35 'Playfair Display',Georgia,serif; }
.project-case-study .project-body > .project-detail-section > :last-child { margin-bottom:0; }
.project-case-study .project-body iframe { max-width:100%; }
.project-case-study .project-body table { max-width:100%; }

/* Certificate beside the introduction, with full-width sections below. */
.project-case-study .project-intro-with-certificate { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:32px; align-items:start; }
.project-case-study .project-intro-with-certificate > * { min-width:0; }
.project-case-study .project-intro-with-certificate > .project-figure { margin:0; }
.project-case-study .project-intro-with-certificate__text > :last-child { margin-bottom:0; }
@media(max-width:760px) {
 .project-case-study .project-intro-with-certificate { grid-template-columns:1fr; gap:24px; }
}

/* Partner promotion: original logo, restrained seasonal palette. */
.project-case-study .project-partner { display:flex; align-items:center; gap:24px; padding:24px 28px; margin:0 0 30px; border:1px solid #ddd8bf; border-radius:6px; background:linear-gradient(110deg,#f5f0df,#eeefe7); box-sizing:border-box; }
.project-case-study .project-partner__logo { display:block; width:88px; height:88px; object-fit:contain; border-radius:4px; flex-shrink:0; }
.project-case-study .project-partner p { margin:0; }
.project-case-study .project-partner__label { font:12px/1.5 Lato,Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; color:#56654e; }
.project-case-study .project-partner__name { font:400 30px/1.4 'Playfair Display',Georgia,serif; color:#283126; }
.project-case-study .project-partner__offer { position:relative; margin-left:auto; padding-left:28px; border-left:1px solid #d6d5c3; }
.project-case-study .project-partner__offer p { font:15px/1.6 Lato,Arial,sans-serif; color:#384a33; }
.project-case-study .project-partner__offer a { display:inline-block; margin-top:10px; font:700 13px/1.5 Lato,Arial,sans-serif; color:#485e45; text-decoration:none; border-bottom:1px solid #a7b09d; }
@media(max-width:650px) {
 .project-case-study .project-partner { flex-wrap:wrap; gap:16px; padding:20px; }
 .project-case-study .project-partner__logo { width:68px; height:68px; }
 .project-case-study .project-partner__offer { width:100%; margin:0; padding:16px 0 0; border-left:0; border-top:1px solid #d6d5c3; }
}

.project-case-study .project-award { display:inline-block; margin:0 0 16px; padding:8px 12px; border:1px solid #d8ceb0; border-radius:4px; background:#f3eedf; color:#635128; font:700 13px/1.5 Lato,Arial,sans-serif; }

.project-case-study .dogs-award { display:flex; align-items:center; justify-content:center; gap:28px; padding:35px 0; }
.project-case-study .dogs-award__copy { flex:0 1 360px; box-sizing:border-box; text-align:center; padding:28px 24px; background:#e8e2da; border-radius:24px; }
.project-case-study .dogs-award__copy h2 { margin:0 0 10px; font-size:16px; line-height:1.3; }
.project-case-study .dogs-award__copy p { margin:0; font-size:14px; line-height:1.6; }
.project-case-study .dogs-award__video { flex:0 1 500px; aspect-ratio:16/9; border:1.5px solid #b9ab96; border-radius:18px; overflow:hidden; background:white; }
.project-case-study .dogs-award__video iframe { display:block; width:100%; height:100%; border:0; }
@media(max-width:700px) { .project-case-study .dogs-award { flex-direction:column; } .project-case-study .dogs-award__copy,.project-case-study .dogs-award__video { flex:auto; width:100%; } }
