.home-page { --bg:#FCF9F5; --text:#111; --text-dim:#444; --accent-bg:#c5cab8; background:var(--bg); font-family:Lato,Arial,sans-serif; font-size:16px; line-height:1.5; }
.home-page .header-top { padding:18px 20px 40px; }
.home-page .logo-wolf { width:130px; height:130px; object-fit:contain; margin:0; }
.home-page .site-name { font-size:58px; line-height:1.5; font-weight:400; color:#000222; }
.home-page .site-tagline { font:16px/24px Consolas,monospace; letter-spacing:0; color:#000222; margin:0; }
.home-page .main-nav-real { max-width:1440px; margin:0 auto; padding:12px 30px 12px 68px; border-color:#D4CDC4; min-height:56px; }
.home-page .nav-left { gap:58px; }
.home-page .nav-left a { font:14px/26px Consolas,monospace; letter-spacing:.4px; border:0; padding:0; }
.home-page .nav-left a:hover { color:#6d7854; }
.home-page .nav-right { gap:16px; }
.home-page .nav-right .blog-link { font:20px/26px 'Oooh Baby',cursive; margin-right:24px; }
.home-page .nav-right .icon-link { color:#899b73; }
.home-page .nav-right .icon-link img,.home-page .nav-right .icon-link svg { width:24px; height:24px; object-fit:contain; }
.home-menu-toggle { display:none; }
.home-content { max-width:1100px; margin:40px auto 30px; padding:45px 44px 40px; }
.home-page .hero-frame { margin:0; padding:0; border:0; border-radius:0; }
.home-page .hero-top { gap:0; align-items:center; margin:0 0 10px; }
.home-page .hero-card { background:transparent; border-radius:0; padding:0 40px 0 0; min-height:0; color:#171b12; align-items:flex-start; }
.home-page .hero-card p { font-size:15px; line-height:24px; margin:0 0 20px; text-align:left; }
.home-page .hero-card p.hero-lead { font-size:24px; line-height:1.42; font-weight:600; color:#141a0d; margin-bottom:20px; }
.home-page .hero-card p:last-of-type { margin-bottom:0; }
.home-page .hero-card .cta-row { justify-content:flex-start; margin-top:8px; }
.home-page .hero-badge-row { flex-wrap:nowrap; justify-content:center; gap:32px; margin:10px 0 36px; padding:0; min-height:125px; }
.home-page .badge-img { width:125px; height:125px; object-fit:contain; }
.home-page .hero-badge-row p { font-size:16px; }
.home-page .btn,.home-page .project-card__btn { display:inline-flex; justify-content:center; align-items:center; min-height:40px; padding:0 18px; font:600 14px/1.2 'Segoe UI',Arial,sans-serif; color:#222; background:#d8d7cc; border:1px solid #00000024; border-radius:999px; text-decoration:none; }
.home-page .btn:hover,.home-page .project-card__btn:hover { background:#cfcdbf; }
.home-page .btn-primary { background:#4f5a38; color:#fff; border-color:transparent; }
.home-page .btn-primary:hover { background:#3f4a2c; }
.home-page .btn-outline { background:transparent; color:var(--text); border:1.5px solid var(--border); }
.home-page .btn-outline:hover { background:#f4f2ec; border-color:var(--accent); color:var(--accent); }
.home-page a:focus-visible,.home-page button:focus-visible,.carousel-track:focus-visible { outline:2px solid #59663b; outline-offset:4px; }
.home-page .cta-row { gap:12px; }
.home-page .section { max-width:none; padding:0; margin:66px 0 0; }
.home-page .section h2 { font:400 clamp(20px,2.2vw,28px)/1.2 Merriweather,Georgia,serif; border-bottom:0; margin:0 0 24px; color:#242720; }
.home-page .projects-section h2 { margin-bottom:58px; }
.carousel-track { display:flex; gap:15px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; align-items:flex-start; }
.carousel-track::-webkit-scrollbar { display:none; }
.carousel-slide { flex:0 0 calc((100% - 30px)/3); min-width:0; scroll-snap-align:start; }
.home-page .project-card { padding:0; margin:0; min-height:460px; overflow:hidden; background:#f4eee8; border:2px solid #4b53204d; border-radius:28px; display:flex; flex-direction:column; }
.project-card__thumb { display:block; width:100%; aspect-ratio:16/9; overflow:hidden; }
.project-card__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.project-card__body { padding:16px 18px 18px; display:flex; flex-direction:column; flex:1; }
.project-card__btn { align-self:flex-end; margin-top:8px; }
.carousel-dots { display:flex; justify-content:center; flex-wrap:wrap; margin-top:20px; }
.carousel-dots button { width:16px; height:24px; background:none; border:0; padding:0; cursor:pointer; display:grid; place-items:center; }
.carousel-dots button::before { content:''; width:8px; height:8px; border-radius:50%; background:#d0d0d0; }
.carousel-dots button[aria-current="true"]::before { background:#111; }
.recommendations-section .carousel-track { min-height:320px; }
.about-layout { display:grid; grid-template-columns:33% 1fr; gap:24px; align-items:start; }
.about-photo { display:block; width:285px; max-width:100%; height:auto; border:0; box-shadow:none; margin:0 auto; align-self:center; }
.about-copy p { margin:0 0 24px; font-size:16px; line-height:24px; }
.home-page .section:has(.about-layout) { margin-top:22px; }
.home-page .section:has(.about-layout)+.section { margin-top:28px; }
.home-page .section:has(.about-layout)+.section h2 { margin-bottom:12px!important; }
.home-page .section:has(.about-layout)+.section > div > div { border:0!important; padding:0 0 22px!important; }
.home-page .section:has(.about-layout)+.section h3 { margin-bottom:24px!important; font-size:16px!important; }
.home-page .section:has(.about-layout)+.section p { color:#111!important; }
.contact-form { max-width:520px; display:flex; flex-direction:column; gap:16px; }
.contact-form__row { display:flex; flex-direction:column; gap:6px; }
.contact-form__row label { font:600 13px/1.3 'Segoe UI',Arial,sans-serif; color:var(--text); }
.contact-form__row input,.contact-form__row textarea { font:15px/1.5 Lato,Arial,sans-serif; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:#fff; color:var(--text); resize:vertical; }
.contact-form__row input:focus,.contact-form__row textarea:focus { outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent); }
.contact-form .btn { align-self:flex-start; }
.contact-form__honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.contact-form__status { margin:0; font-size:14px; min-height:20px; }
.contact-form__status.is-success { color:#3f6b2e; }
.contact-form__status.is-error { color:#a13b2f; }
.home-page .site-footer { background:#4f5a38; padding:30px 20px; margin-top:60px; }
.home-page .site-footer .footer-inner { max-width:1440px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:28px; }
.home-page .site-footer .footer-brand { display:flex; align-items:center; gap:14px; }
.home-page .site-footer .footer-logo { width:52px; height:52px; object-fit:contain; filter:brightness(0) invert(1); }
.home-page .site-footer .footer-name { margin:0; font:400 20px/1.3 'Segoe UI',Arial,sans-serif; color:#fff; }
.home-page .site-footer .footer-tagline { margin:2px 0 0; font:12px/1.4 Consolas,monospace; color:#d8ddce; }
.home-page .site-footer .footer-nav { display:flex; flex-wrap:wrap; gap:22px; }
.home-page .site-footer .footer-nav a { color:#fff; text-decoration:none; font:14px/1.3 'Segoe UI',Arial,sans-serif; }
.home-page .site-footer .footer-nav a:hover { text-decoration:underline; }
.home-page .site-footer .footer-meta { text-align:right; }
.home-page .site-footer .footer-social { display:flex; gap:12px; justify-content:flex-end; margin-bottom:10px; }
.home-page .site-footer .footer-social img { width:22px; height:22px; object-fit:contain; filter:brightness(0) invert(1); }
.home-page .site-footer .footer-meta p { margin:0; font:12px/1.6 Consolas,monospace; color:#d8ddce; }
@media(max-width:760px) { .home-page .site-footer .footer-inner { justify-content:center; text-align:center; } .home-page .site-footer .footer-meta { text-align:center; } .home-page .site-footer .footer-social { justify-content:center; } }
@media(max-width:1150px) { .home-content { margin:32px 24px; padding:36px 30px; } .home-page .main-nav-real { margin:0 24px; padding:12px 24px; } .home-page .hero-badge-row { padding:0 30px; } .home-page .hero-card { padding:30px 22px; } }
@media(max-width:760px) { .home-page .header-top { padding:12px 16px 28px; } .home-page .site-name { font-size:40px; } .home-page .site-tagline { font-size:12px; } .home-page .main-nav-real { margin:0 16px; padding:12px 0; flex-direction:row; } .home-menu-toggle { display:block; background:none; border:0; font:14px Consolas,monospace; padding:8px; cursor:pointer; } .home-page .nav-left { display:none; order:3; width:100%; gap:20px; padding:12px; } .home-page .nav-left.open { display:flex; } .home-page .nav-right { gap:10px; } .home-page .nav-right .blog-link { margin-right:0; font-size:18px; } .home-page .nav-right .icon-link img,.home-page .nav-right .icon-link svg { width:20px; height:20px; } .home-content { margin:24px 16px; padding:24px 18px; } .home-page .hero-top { flex-direction:column; gap:22px; } .home-page .hero-card { border-radius:24px; padding:28px 20px; } .home-page .hero-badge-row { padding:0; gap:18px; margin:26px 0; } .home-page .badge-img { width:85px; height:85px; } .home-page .hero-badge-row p { font-size:14px; } .home-page .section { margin-top:48px; } .home-page .projects-section h2 { margin-bottom:28px; } .carousel-slide { flex-basis:100%; } .home-page .project-card { min-height:460px; } .about-layout { grid-template-columns:1fr; gap:24px; } .about-photo { width:260px; } .home-page .section h2 { font-size:22px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* ==============================
   KDS QUOTE CARD
   ============================== */

/* KARTA */
.kds-quote-card{
  position: relative;
  width: min(400px, 100%);
  margin: 0 auto;
  padding: 20px 18px 16px;
  background: #f4eee8;
  border-radius: 28px;
  overflow: hidden;

  /* RAMKA jak w karuzeli postĂłw */
  border: 2px solid rgba(75,83,32,0.30);
}

/* CYTAT */
.kds-quote-card .kds-quote-text{
  position: relative;
  margin: 0 !important;

  font-family: "Segoe UI", Tahoma, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.55;
  color: #111;

  text-align: center;
  font-weight: 400;

  /* miejsce na cudzysĹ‚owy */
  padding: 10px 30px 6px;
}

/* CUDZYSĹĂ“W GĂ“RNY */
.kds-quote-card .kds-quote-text::before{
  content: "";
  position: absolute;
  top: 0px;
  left: 10px;
  width: 26px;
  height: 26px;
  background-image: url("assets/home-cytat.png");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.95;
}

/* CUDZYSĹĂ“W DOLNY */
.kds-quote-card .kds-quote-text::after{
  content: "";
  position: absolute;
  right: 10px;
  bottom: 0px;
  width: 26px;
  height: 26px;
  background-image: url("assets/home-cytat.png");
  background-repeat: no-repeat;
  background-size: contain;
  transform: rotate(180deg);
  opacity: 0.95;
}

/* AUTOR */
.kds-quote-card .kds-quote-author{
  margin: 12px 0 0 0 !important;
  font-family: "Consolas", Tahoma, Arial, sans-serif;
  font-size: 14px;
  color: #4B5320;
  text-align: right;
}

.kds-quote-card .kds-quote-author span{
  font-weight: 500;
  opacity: 0.9;
}

/* MOBILE */
@media (max-width: 520px){
  .kds-quote-card{
    padding: 18px 16px 14px;
  }

  .kds-quote-card .kds-quote-text{
    font-size: 15px;
    padding: 10px 44px 6px;
  }

  .kds-quote-card .kds-quote-text::before,
  .kds-quote-card .kds-quote-text::after{
    width: 22px;
    height: 22px;
  }
}


.carousel-dots button[hidden] { display:none; }
.home-page .project-card { height:100%; }
.projects-section .carousel-track { align-items:stretch; }

/* Language controls sit above the navigation's top rule, aligned with social icons. */
.home-page .header-top { padding-bottom:16px; }
.language-bar { max-width:1440px; margin:0 auto; padding:5px 30px 10px; display:flex; align-items:center; justify-content:flex-end; gap:16px; }
.language-switch { display:flex; align-items:center; gap:4px; }
.language-switch button { display:inline-flex; align-items:center; gap:7px; min-height:36px; padding:6px 10px; border:1px solid transparent; border-radius:7px; background:transparent; color:#626858; font:600 12px/1.2 'Segoe UI',Arial,sans-serif; cursor:pointer; }
.language-switch button[aria-pressed="true"] { background:#eef0e8; border-color:#c5cab8; color:#29351e; }
.language-switch button:hover { background:#f0f1ec; }
.language-switch img { width:20px; height:14px; border:1px solid #0002; border-radius:2px; object-fit:cover; }
html[lang="en"] .home-page .hero-card { padding-left:24px; padding-right:24px; }
@media(max-width:1150px) { .language-bar { margin:0 24px; padding-right:24px; } }
@media(max-width:760px) { .language-bar { margin:0 16px; padding-right:0; padding-bottom:8px; flex-wrap:wrap; } .language-switch button { min-height:40px; } .home-page .nav-right .blog-link { max-width:150px; } }

/* Account strip: subtle, footer-like weight, tucked next to the language switch. */
.account-strip { position:relative; display:flex; align-items:center; min-height:36px; }
.account-strip__btn { border:0; background:none; padding:4px 2px; color:#626858; font:600 12px/1.2 'Segoe UI',Arial,sans-serif; cursor:pointer; display:inline-flex; align-items:center; gap:5px; }
.account-strip__btn:hover { color:#29351e; text-decoration:underline; }
.account-strip__avatar { width:22px; height:22px; border-radius:50%; object-fit:contain; background:#fff; border:1px solid #d8dccd; padding:2px; }

.account-menu, .account-popover { position:absolute; top:100%; right:0; z-index:40; margin-top:8px; padding:14px 16px; background:#fff; border:1px solid #dfe3d5; border-radius:12px; box-shadow:0 8px 24px rgba(30,35,20,.12); }
.account-menu { width:230px; }
.account-menu p { margin:0 0 10px; font:12px/1.5 'Segoe UI',Arial,sans-serif; color:#6b7160; }
.account-menu__link { display:block; width:100%; text-align:left; text-decoration:none; border:0; background:none; padding:6px 0; color:#29351e; font:600 13px/1.3 'Segoe UI',Arial,sans-serif; cursor:pointer; }
.account-menu__link:hover { text-decoration:underline; }

.account-popover { width:270px; }
.account-popover__form { display:flex; flex-direction:column; gap:9px; }
.account-popover__form h4 { margin:0; font:700 15px/1.3 Merriweather,Georgia,serif; color:#29351e; }
.account-popover__hint { margin:0 0 2px; font:12px/1.5 'Segoe UI',Arial,sans-serif; color:#79816f; }
.account-popover__form input { width:100%; box-sizing:border-box; font:13px/1.5 'Segoe UI',Arial,sans-serif; padding:8px 10px; border:1px solid #d8dccd; border-radius:8px; background:#fff; color:#2f302c; }
.account-popover__switch { font:11.5px/1.4 'Segoe UI',Arial,sans-serif; color:#79816f; }
.account-popover__switch button { border:0; background:none; padding:0; color:#56634b; font:700 11.5px/1.4 'Segoe UI',Arial,sans-serif; cursor:pointer; }
.account-popover__switch button:hover { text-decoration:underline; }
.account-popover__actions { display:flex; gap:8px; margin-top:2px; }
.account-popover__actions .btn { padding:6px 14px; min-height:0; font-size:12.5px; }
.account-status { margin:0; font-size:12px; min-height:16px; }
.account-status.is-error { color:#a13b2f; }
/* Compact brand aligned with the left edge of the navigation. */
.home-page .header-top {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 16px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 12px 30px 24px;
  text-align: left;
}
.home-page .header-top > a { grid-column: 1; grid-row: 1 / 3; align-self: center; line-height: 0; }
.home-page .header-top .logo-wolf { width: 110px; height: 110px; }
.home-page .header-top .site-name { grid-column: 2; align-self: end; margin: 0; font-size: 28px; line-height: 1.3; }
.home-page .header-top .site-tagline { grid-column: 2; align-self: start; margin: 4px 0 0; font: 13px/1.5 Lato, Arial, sans-serif; color: #444; }
@media (max-width: 1150px) {
  .home-page .header-top { margin: 0 24px; padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 760px) {
  .home-page .header-top { grid-template-columns: 80px minmax(0, 1fr); column-gap: 12px; margin: 0 16px; padding: 10px 0 20px; }
  .home-page .header-top .logo-wolf { width: 80px; height: 80px; }
  .home-page .header-top .site-name { font-size: 23px; }
  .home-page .header-top .site-tagline { font-size: 11px; }
}
/* Portrait artwork and a separate, translatable skills panel. */
.home-page .hero-top:has(.hero-portrait-composition) { gap:24px; }
.home-page .hero-top:has(.hero-portrait-composition) .hero-card { flex:1 1 calc(44% + 1.5cm); min-width:0; border-radius:28px; padding:30px 22px; }
.hero-portrait-composition { flex:1 1 56%; min-width:0; display:grid; grid-template-columns:minmax(0,1fr); align-items:center; }
.hero-portrait-art { display:block; width:100%; height:auto; object-fit:contain; }
.hero-skills { position:relative; list-style:none; margin:-38px 0 0 auto; width:min(310px,90%); padding:20px; border:1px solid #e8e5db; border-radius:24px; background:#faf8f3; box-shadow:0 8px 24px #48543c0d; }
.hero-skills li { display:flex; align-items:center; gap:14px; padding:2.5px 0; color:#252a24; font:13px/1.45 Lato,Arial,sans-serif; }
.hero-skills img { flex:0 0 24px; width:24px; height:24px; display:block; }
@media(min-width:1250px) { .hero-portrait-composition { padding-right:100px; position:relative; padding-bottom:40px; } .hero-skills { position:absolute; right:0; bottom:0; width:270px; margin:0; } }
@media(max-width:760px) { .hero-portrait-composition { flex:auto; width:100%; max-width:520px; } .hero-skills { margin:12px auto 0; width:100%; } }
.hero-portrait-composition { padding:0; }
.hero-skills { position:static; width:100%; max-width:340px; margin:12px 0 0 auto; }

/* Hero composition inspired by the reference: copy, portrait, skills side by side. */
@media (min-width: 1050px) {
  .home-content {
    max-width: 1440px;
    margin-top: 14px;
    padding: 17px 26px 40px;
  }

  .home-page .hero-top:has(.hero-portrait-composition) {
    display: grid;
    grid-template-columns: minmax(417px, 0.9fr) minmax(430px, 0.85fr) minmax(280px, 0.5fr);
    gap: 26px;
    align-items: center;
    padding-left: 36px;
    margin-bottom: 22px;
  }

  .home-page .hero-top:has(.hero-portrait-composition) .hero-card {
    grid-column: 1;
    align-self: start;
    width: calc(100% + 1.5cm);
    max-width: calc(674px + 1.5cm);
    transform: translateX(1cm);
    margin-top: 32px;
    padding: 0 !important;
    border-radius: 0;
  }

  .home-page .hero-card .cta-row {
    margin-top: calc(8px + 0.5cm);
  }

  .hero-portrait-composition {
    display: contents;
  }

  .hero-portrait-art,
  .hero-skills {
    transform: translateX(1.5cm);
  }

  .hero-portrait-art {
    grid-column: 2;
    width: min(100%, 398px);
    justify-self: end;
  }

  .hero-skills {
    grid-column: 3;
    align-self: center;
    justify-self: start;
    width: min(310px, 100%);
    max-width: 310px;
    margin: 84px 0 0 -72px;
    padding: 12px 16px;
    border-radius: 24px;
    background: #F5F0E8;
    border-color: #DDD4C8;
  }
}

@media (min-width: 1050px) and (max-width: 1250px) {
  .home-page .hero-top:has(.hero-portrait-composition) {
    grid-template-columns: minmax(387px, 0.95fr) minmax(360px, 0.8fr) minmax(250px, 0.55fr);
    gap: 18px;
  }

  .hero-portrait-art {
    width: min(100%, 338px);
  }

  .hero-skills {
    width: 270px;
    padding: 11px 15px;
    margin-left: -54px;
  }
}













/* Portfolio carousel */
.home-page .projects-section { max-width:1440px; margin:64px auto 0; padding:0 26px; }
.projects-eyebrow { display:flex; align-items:center; gap:16px; color:#79816f; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.projects-eyebrow::after { content:""; height:1px; flex:1; background:#d5d9cf; }
.projects-header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:10px 0 24px; }
.home-page .projects-section h2 { margin:0; border:0; color:#242720; font:400 clamp(20px,2.2vw,28px)/1.2 Merriweather,Georgia,serif; }
.projects-all { display:inline-flex; align-items:center; gap:18px; color:#5c6653; font-size:13px; text-underline-offset:5px; white-space:nowrap; }
.projects-section .carousel-track { gap:18px; padding:2px 0 8px; }
.projects-section .carousel-slide { flex:0 0 calc((100% - 36px)/3); display:flex; }
.home-page .projects-section .project-card { width:100%; min-height:0; border:1px solid #e3e5dd; border-radius:12px; background:rgba(255,255,255,.35); padding:6px; }
.projects-section .project-card__thumb { border-radius:8px; aspect-ratio:16/9; }
.projects-section .project-card__body { padding:14px 12px 12px; gap:12px; }
.projects-section .project-card h3 { margin:0; font:600 18px/1.4 Lato,Arial,sans-serif; color:#272a24; }
.projects-section .project-card h3 a { color:inherit; text-decoration:none; }
.projects-section .project-card h3 a:hover { color:#65734f; }
.projects-section .project-card__description { margin:0; font-size:14px; line-height:1.6; color:#6a6c64; }
.project-card__tags { display:flex; flex-wrap:wrap; gap:6px; list-style:none; padding:0; margin:0; }
.project-card__tags li { padding:6px 10px; border-radius:999px; background:#eeede7; color:#555b4e; font-size:11px; line-height:1.3; }
.home-page .projects-section .project-card__btn { align-self:flex-start; justify-content:flex-start; gap:16px; margin-top:auto; padding:8px 0 0; min-height:32px; border:0; border-radius:0; background:none; font-size:13px; color:#343d2c; }
.home-page .projects-section .project-card__btn:hover { color:#6c7d55; background:none; }
.carousel-controls { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:18px; }
.projects-section .carousel-dots { gap:6px; margin:0; }
.projects-section .carousel-dots button::before { width:10px; height:10px; background:#dcded5; }
.projects-section .carousel-dots button[aria-current="true"]::before { background:#56634b; }
.carousel-arrow { display:grid; place-items:center; width:36px; height:36px; padding:0 0 3px; border:0; border-radius:50%; background:#e8ede1; color:#4b5b40; font:26px/1 Georgia,serif; cursor:pointer; }
.carousel-arrow:hover { background:#dce4d2; }
.carousel-arrow:disabled { opacity:.4; cursor:default; }
@media (max-width:1050px) and (min-width:761px) { .projects-section .carousel-slide { flex-basis:calc((100% - 18px)/2); } }
@media (max-width:760px) {
  .home-page .projects-section { padding:0 16px; margin-top:40px; }
  .projects-header { flex-direction:column; align-items:flex-start; gap:14px; }
  .projects-section .carousel-slide { flex-basis:100%; }
  .carousel-controls { gap:12px; }
  .projects-section .carousel-dots { gap:2px; }
}

.project-link-arrow, .carousel-arrow img { display:block; flex-shrink:0; }
.carousel-arrow { padding:0; }
.carousel-arrow[data-carousel-prev] img { transform:rotate(180deg); }

/* Botanical footer */
.home-page .site-footer--botanical {
  position:relative; isolation:isolate; background:#46543d;
  max-width:none; width:100%; margin:120px 0 0; padding:10px 0;
  color:#e7ebdf;
}
.site-footer--botanical::before {
  content:""; position:absolute; inset:-59px 0 auto; height:60px;
  background:url("assets/footer-waves.svg") center bottom / 100% 100% no-repeat;
  pointer-events:none;
}
.site-footer--botanical::after {
  content:""; position:absolute; z-index:-1; inset:-190px 0 auto; height:180px;
  background:url("assets/footer-leaves-left-drawn.webp") left bottom / 115px 180px no-repeat;
  pointer-events:none;
}
.home-page .site-footer--botanical .footer-inner {
  display:grid; grid-template-columns:minmax(240px,1fr) auto auto auto;
  gap:16px 22px; align-items:center;
  max-width:1440px; margin:0 auto; padding:0 30px 0 68px;
}
.home-page .site-footer--botanical .footer-brand { gap:14px; }
.home-page .site-footer--botanical .footer-logo { width:52px; height:52px; opacity:.85; }
.home-page .site-footer--botanical .footer-name { font:400 19px/1.4 Merriweather,Georgia,serif; color:#eef0e7; }
.home-page .site-footer--botanical .footer-tagline { font:11px/1.6 Lato,Arial,sans-serif; color:#d0d7c6; }
.home-page .site-footer--botanical .footer-nav { gap:18px; justify-content:center; }
.home-page .site-footer--botanical .footer-nav a { font:12px/1.5 Lato,Arial,sans-serif; color:#e1e6d8; }
.home-page .site-footer--botanical .footer-social { margin:0; gap:15px; }
.home-page .site-footer--botanical .footer-social a { display:flex; align-items:center; min-height:36px; }
.home-page .site-footer--botanical .footer-social img { width:21px; height:21px; opacity:.85; }
.footer-bottom { justify-self:end; text-align:right; }
.footer-bottom p { margin:0; font:11px/1.6 Lato,Arial,sans-serif; color:#c4ceb9; }
@media(max-width:1150px) {
  .home-page .site-footer--botanical { padding:12px 0; }
  .home-page .site-footer--botanical .footer-inner { max-width:none; margin:0 24px; padding:0 24px; grid-template-columns:1fr auto; }
  .home-page .site-footer--botanical .footer-nav { justify-content:flex-end; }
  .home-page .site-footer--botanical .footer-social { justify-content:flex-start; }
}
@media(max-width:760px) {
  .home-page .site-footer--botanical { margin:100px 0 0; padding:14px 0; }
  .site-footer--botanical::before { top:-44px; height:45px; }
  .site-footer--botanical::after { top:-130px; height:120px; background-size:70px 120px; }
  .home-page .site-footer--botanical .footer-inner { max-width:none; margin:0 16px; padding:0; grid-template-columns:1fr; justify-items:center; gap:20px; }
  .home-page .site-footer--botanical .footer-brand { text-align:left; }
  .home-page .site-footer--botanical .footer-nav { justify-content:center; gap:14px 20px; }
  .footer-bottom { justify-self:center; text-align:center; width:100%; }
}

/* Recommendations: same visual system as project cards. */
.home-page .recommendations-section { max-width:1440px; margin:64px auto 0; padding:0 26px; }
.home-page .recommendations-section h2 { margin:0; border:0; color:#242720; font:400 clamp(26px,3vw,38px)/1.2 Merriweather,Georgia,serif; }
.recommendations-section .carousel-track { min-height:0; gap:18px; padding:2px 0 8px; align-items:stretch; }
.recommendations-section .carousel-slide { flex:0 0 calc((100% - 36px)/3); display:flex; }
.recommendations-section .kds-quote-card { width:100%; margin:0; padding:24px; border:1px solid #e3e5dd; border-radius:12px; background:rgba(255,255,255,.35); display:flex; flex-direction:column; gap:18px; }
.recommendations-section .kds-quote-card .kds-quote-text { padding:30px 0 0; text-align:left; color:#42483b; font:16px/1.7 Lato,Arial,sans-serif; }
.recommendations-section .kds-quote-text::before { left:0; top:0; width:22px; height:22px; }
.recommendations-section .kds-quote-text::after { display:none; }
.recommendations-section .kds-quote-card .kds-quote-author { margin:auto 0 0 !important; padding-top:6px; text-align:left; font:13px/1.6 Lato,Arial,sans-serif; color:#657158; }
.recommendations-section .carousel-dots { gap:6px; margin:0; }
.recommendations-section .carousel-dots button::before { width:10px; height:10px; background:#dcded5; }
.recommendations-section .carousel-dots button[aria-current="true"]::before { background:#56634b; }
@media(max-width:1050px) and (min-width:761px) { .recommendations-section .carousel-slide { flex-basis:calc((100% - 18px)/2); } }
@media(max-width:760px) {
  .home-page .recommendations-section { padding:0 16px; margin-top:40px; }
  .recommendations-section .carousel-slide { flex-basis:100%; }
  .recommendations-section .carousel-dots { gap:2px; }
}

/* Quote carousel alongside partner logos. */
@media(max-width:1050px) {
}
@media(max-width:520px) {
}

/* Editorial recommendations and collaboration cards. */
.home-page .recommendations-feature { padding:0 40px; }
.trust-eyebrow { margin:0 0 10px; text-transform:uppercase; letter-spacing:.3em; color:#798363; font-size:11px; }
.trust-heading { display:flex; align-items:center; justify-content:space-between; gap:36px; margin-bottom:26px; }
.home-page .recommendations-feature h2 { font:400 clamp(20px,2.2vw,28px)/1.2 Merriweather,Georgia,serif; color:#20372e; margin:0 0 8px; }
.trust-heading p { max-width:690px; margin:0; font-size:14px; line-height:1.6; color:#5f6259; }
.trust-partner { display:grid; grid-template-columns:84px minmax(0,1fr); gap:18px; width:100%; padding:22px; border:1px solid #e0e0d5; border-radius:20px; background:#f0eee6; }
.trust-partner > img { width:84px; height:84px; object-fit:contain; mix-blend-mode:multiply; }
.trust-partner > div { display:flex; flex-direction:column; }
.trust-partner h3 { margin:0 0 16px; min-height:42px; font:600 18px/1.4 Lato,Arial,sans-serif; color:#243d32; }
.trust-partner p { margin:0 0 16px; padding-top:12px; border-top:1px solid #d9dccf; font-size:14px; line-height:1.6; color:#5c6055; }
.trust-partner a { display:flex; align-items:center; gap:12px; margin-top:auto; color:#51613b; font-size:14px; text-decoration:none; }
@media(max-width:1150px) {
  .trust-heading { align-items:flex-start; flex-direction:column; gap:16px; }
  .trust-partner { grid-template-columns:56px minmax(0,1fr); padding:18px; gap:14px; }
  .trust-partner > img { width:56px; height:56px; }
}
@media(max-width:760px) {
  .home-page .recommendations-feature { padding:0 20px; }
}

/* Project context synchronized with each recommendation. */
@media(max-width:760px) {
}

/* Three opinion cards per row. */
.opinions-carousel .carousel-track { align-items:stretch; gap:18px; min-height:0; }
.recommendations-section .opinions-carousel .carousel-slide { flex:0 0 calc((100% - 36px)/3); }
.opinions-carousel .kds-quote-card { padding:24px; background:#f0efe7; border:1px solid #deded2; border-radius:18px; }
.opinions-carousel .kds-quote-card .kds-quote-text { font:italic 16px/1.65 Georgia,serif; color:#435237; }
.opinions-carousel .kds-quote-card .kds-quote-author { font:13px/1.6 Lato,Arial,sans-serif; }
.opinions-carousel .kds-quote-author strong { display:block; }
.opinions-carousel .kds-quote-author span { display:block; color:#7b846d; font-size:11px; }
@media(max-width:1050px) and (min-width:761px) {
  .recommendations-section .opinions-carousel .carousel-slide { flex-basis:calc((100% - 18px)/2); }
}
@media(max-width:760px) {
  .recommendations-section .opinions-carousel .carousel-slide { flex-basis:100%; }
}

/* Keep rounded edges visible and balance quote attribution. */
.recommendations-section .opinions-carousel .carousel-track {
  padding:2px 3px 8px;
  scroll-padding-inline:3px;
}
.recommendations-section .opinions-carousel .kds-quote-card .kds-quote-author {
  text-align:right;
  align-self:stretch;
}
.recommendations-section .opinions-carousel .kds-quote-card .kds-quote-text {
  padding-bottom:30px;
}
.recommendations-section .opinions-carousel .kds-quote-text::after {
  display:block;
  right:0;
  bottom:0;
  width:20px;
  height:20px;
  opacity:.65;
}

/* Consistent pagination dots across all carousels. */
.home-page .carousel .carousel-dots { gap:6px; }
.home-page .carousel .carousel-dots button { width:18px; height:24px; padding:0; }
.home-page .carousel .carousel-dots button::before { width:8px; height:8px; border-radius:50%; background:#dcded5; }
.home-page .carousel .carousel-dots button[aria-current="true"]::before { background:#56634b; }


.home-page .section h2.about-eyebrow { border:0; margin:0 0 24px; color:#79816f; font:700 11px/1.5 Lato,Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }

/* Technology overview above recommendations. */
.home-page .section.technology-strip { position:relative; isolation:isolate; max-width:1360px; margin:54px auto 0; padding:26px 40px 28px; border-radius:18px; background:linear-gradient(110deg,#eff1e9,#f1f2ed); }
.technology-strip::before { content:none; }
.technology-strip-header { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:20px; }
.home-page .technology-strip h2 { margin:0; border:0; color:#29362d; font:400 clamp(20px,2.2vw,28px)/1.3 Merriweather,Georgia,serif; }
.technology-strip-header > a { display:inline-flex; align-items:center; gap:16px; color:#58634e; font-size:12px; text-underline-offset:4px; }
.technology-tiles { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; }
.technology-tiles li { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-height:104px; padding:14px 6px; border-radius:12px; background:#ffffffed; }
.technology-tiles img, .technology-tiles .technology-logo { display:block; width:36px; height:36px; object-fit:contain; }
.technology-tiles span { font:12px/1.3 Lato,Arial,sans-serif; text-align:center; color:#343a33; }
#umiejetnosci { scroll-margin-top:24px; }
.technology-tiles li { padding:0; background:none; }
.technology-tile { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; width:100%; min-height:104px; padding:14px 6px; border:1px solid transparent; border-radius:12px; background:#ffffffed; cursor:pointer; transition:background .2s,border-color .2s; }
.technology-tile:hover { background:#f8faf4; border-color:#bcc5af; }
.technology-tile[aria-pressed="true"] { background:#e3e8d8; border-color:#7b8968; }
.technology-tile:focus-visible { outline:2px solid #56634b; outline-offset:3px; }
.technology-descriptions { position:relative; display:grid; align-items:center; width:100%; max-width:none; margin:22px auto 0; padding:18px max(0px, calc((100% - 1080px) / 2)) 0 max(88px, calc((100% - 1080px) / 2 + 88px)); border-top:1px solid #cbd1c1; }
.technology-descriptions::before { content:""; position:absolute; left:max(8px, calc((100% - 1080px) / 2 + 8px)); top:calc(50% + 9px); transform:translateY(-50%); width:60px; height:80px; background:url("assets/footer-leaves-left-drawn.webp") center/contain no-repeat; opacity:.65; pointer-events:none; }
.technology-description { grid-area:1 / 1; padding-left:0; }
.technology-description[hidden] { display:block; visibility:hidden; pointer-events:none; }
.technology-description h3 { margin:0 0 8px; font:700 16px/1.4 Lato,Arial,sans-serif; color:#35452f; }
.technology-description p { margin:0; max-width:1000px; font:400 14px/1.7 Lato,Arial,sans-serif; color:#535b4e; }
@media(max-width:1100px) {
  .home-page .section.technology-strip { margin:44px 26px 0; padding:24px; }
  .technology-tiles { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .home-page .section.technology-strip { margin:36px 16px 0; padding:22px 18px; }
  .technology-strip-header { flex-direction:column; align-items:flex-start; gap:12px; }
  .technology-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .technology-tiles li { min-height:90px; }
}

/* Blend the supplied Excel logo background into both tile states. */
.technology-logo-excel { mix-blend-mode:multiply; }

/* Continuous collaboration ribbon. */
.partners-ribbon { overflow-x:auto; scrollbar-width:none; padding:12px 0 24px; }
.partners-ribbon::-webkit-scrollbar { display:none; }
.partners-ribbon-track, .partners-ribbon-group { display:flex; width:max-content; }
.partners-ribbon-group { flex-shrink:0; }
.partners-ribbon .trust-partner { display:grid; grid-template-columns:68px 1fr; align-items:center; gap:20px; flex:0 0 380px; width:380px; box-sizing:border-box; padding:8px 28px; border:0; border-right:1px solid #d9dccf; border-radius:0; background:none; }
.partners-ribbon .trust-partner > img { width:68px; height:68px; }
.partners-ribbon .trust-partner h3 { min-height:0; margin:0 0 6px; font-size:16px; }
.partners-ribbon .trust-partner p { margin:0 0 10px; padding:0; border:0; font-size:13px; line-height:1.5; }
.partners-ribbon .trust-partner a { width:fit-content; font-size:13px; }
.partners-ribbon .trust-partner a:hover { text-decoration:underline; text-underline-offset:4px; }
.partners-ribbon .trust-partner a:focus-visible { outline:2px solid #56634b; outline-offset:4px; }
@media(max-width:600px) {
  .partners-ribbon .trust-partner { flex-basis:300px; width:300px; grid-template-columns:52px 1fr; gap:16px; padding:8px 20px; }
  .partners-ribbon .trust-partner > img { width:52px; height:52px; }
}

.trust-partners-divider { border:0; border-top:1px solid #cbd0bc; margin:30px 0 18px; }

/* One content column for every homepage section. */
.home-page .home-content {
  max-width:1440px;
  margin-left:auto;
  margin-right:auto;
  padding-left:26px;
  padding-right:26px;
}
.home-page .home-content > .section {
  width:100%;
  max-width:none;
  min-width:0;
  margin-left:0;
  margin-right:0;
  padding-left:0;
  padding-right:0;
}
.home-page .home-content > .technology-strip {
  padding-left:26px;
  padding-right:26px;
}
@media(max-width:1150px) {
  .home-page .home-content { width:calc(100% - 48px); padding-left:24px; padding-right:24px; }
}
@media(max-width:760px) {
  .home-page .home-content { width:calc(100% - 32px); padding-left:0; padding-right:0; }
  .home-page .home-content > .technology-strip { padding-left:18px; padding-right:18px; }
}

/* Shift the description and leaf together without moving the divider. */
.technology-description { transform:translateX(-1cm); }
.technology-descriptions::before { transform:translate(-1cm, -50%); }


.project-publication { margin:0 0 8px; color:#79816f; font:400 11px/1.4 Lato,Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }

/* Leave room for the rounded card borders at both carousel edges. */
.home-page .projects-section .carousel-track,
.home-page .recommendations-section .opinions-carousel .carousel-track {
  padding:4px 4px 8px;
  scroll-padding-inline:4px;
}

.site-back-to-top {
 position:fixed; right:24px; bottom:28px; z-index:1000;
 display:flex; align-items:center; justify-content:center;
 width:44px; height:44px; padding:0;
 border:1px solid #bcbdb1; border-radius:50%;
 background:#d9d9ce; color:#41453b;
 font:22px/1 Georgia,serif; cursor:pointer;
 box-shadow:0 1px 3px #3035250a;
}
.site-back-to-top[hidden] { display:none; }
.site-back-to-top:hover { background:#cbd0bd; }
.site-back-to-top:focus-visible { outline:2px solid #56634b; outline-offset:4px; }
@media(max-width:600px) { .site-back-to-top { right:16px; bottom:20px; } }