/* Main website only: short, once-only motion and readable project pages. */
html { scroll-padding-top: 104px; }
body > header.fixed { top: 0; left: 0; }
body.admin-bar > header.fixed { top: 32px; }
main [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
.subheading { font-size: 14px; line-height: 1.5; }
.main p, .main article, .main input, .main textarea, .main select { font-size: max(16px, 1em); }
.main input, .main textarea, .main select { line-height: 1.5; }
a.rounded-sm { font-size: 16px; line-height: 1.35; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; transition: opacity 160ms ease, transform 140ms cubic-bezier(.23,1,.32,1); }
a.rounded-sm:active, button:active { transform: scale(.98); }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid #1c1812; outline-offset: 4px; }
.portfolio-header > .container { padding-top: 24px; }
.portfolio-header__content { padding-top: 24px; padding-bottom: 0; }
.portfolio-header__content h1 { font-size: clamp(32px, 3.2vw, 52px); line-height: 1.12; letter-spacing: -.025em; overflow-wrap: normal; text-wrap: balance; }
.portfolio-header__content article { font-size: 18px; line-height: 1.65; }
.ds-project-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 0; width: 100%; margin-top: 24px; }
.ds-project-facts > div { min-width: 0; padding: 20px; gap: 12px; margin-left: 0; }
.ds-project-facts span { display: block; font-size: 16px; line-height: 1.5; word-break: normal; overflow-wrap: break-word; }
.realizacja-gallery { width: 100%; min-width: 0; }
.realizacja-gallery__main__slide { aspect-ratio: 4/3; }
.realizacja-gallery__main__slide img { object-fit: contain; background: #ebe6d9; }
.realizacja-gallery__thumbs__slide { opacity: .72; }
.realizacja-gallery__thumbs__slide.is-active { opacity: 1; }
.realizacja-gallery__thumbs__btn--prev, .realizacja-gallery__thumbs__btn--next { min-width: 44px; min-height: 44px; }
.ds-project-nav { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: center; margin-top: 24px; }
.ds-project-nav a { font-size: 16px; line-height: 1.5; padding: 10px 0; text-decoration: underline; text-underline-offset: 5px; }
.ds-project-enquiry { padding: 32px; border: 1px solid #d4d1ca; background: #ebe6d9; display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.ds-project-enquiry h2 { margin: 0 0 12px; font-size: clamp(26px, 2.7vw, 38px); line-height: 1.15; text-wrap: balance; }
.ds-project-enquiry p { margin: 0; max-width: 640px; font-size: 18px; line-height: 1.6; }
.ds-project-enquiry a { flex-shrink: 0; }
.portfolio-teaser h3 { font-size: clamp(24px, 2vw, 30px); line-height: 1.2; text-wrap: balance; }
.portfolio-teaser p { font-size: 16px; line-height: 1.5; }
@media (hover: hover) and (pointer: fine) { a.rounded-sm:hover { opacity: .88; transform: translateY(-1px); } }
@media (max-width: 782px) { body.admin-bar > header.fixed { top: 46px; } }
@media (max-width: 600px) { body.admin-bar #wpadminbar { position: fixed; } }
@media (max-width: 767px) {
  .hero h1.heading--h1 { font-size: clamp(32px, 8.2vw, 44px); line-height: 1.12; letter-spacing: -.02em; }
  .portfolio-header__content h1 { font-size: 32px; }
  .portfolio-header__content article { font-size: 16px; }
  .ds-project-facts > div { padding: 16px; }
  .ds-project-enquiry { flex-direction: column; align-items: flex-start; padding: 24px; gap: 24px; }
  .ds-project-enquiry p { font-size: 16px; }
  .ds-project-enquiry a { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .ds-site-motion, .ds-site-motion.is-pending { opacity: 1; transform: none; transition: none; }
  a.rounded-sm, button { transition: none; }
  a.rounded-sm:hover, a.rounded-sm:active, button:active { transform: none; }
}

/* Project V1: shared sections and inline enquiry. */
.ds-project-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:stretch; }
.ds-project-form-photo { min-width:0; }
.ds-project-form-photo img { width:100%; height:100%; max-height:900px; object-fit:contain; background:#ebe6d9; }
.ds-project-form-content { min-width:0; padding:32px 0; }
.ds-project-form-content > p { margin:20px 0 28px; line-height:1.6; }
.ds-project-form-content .wpcf7 form { display:flex; flex-direction:column; gap:20px; }
.ds-project-form-content .form-duo { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ds-project-form-content label { display:block; font-size:16px; line-height:1.5; }
.ds-project-form-content input:not([type=checkbox]):not([type=radio]), .ds-project-form-content select { width:100%; min-height:48px; margin-top:8px; padding:10px 12px; border:1px solid #b5afa2; background:transparent; }
.ds-project-form-content .wpcf7-submit { font-size:16px; min-height:48px; align-self:flex-start; cursor:pointer; }
.ds-project-form-content .wpcf7-acceptance label { font-size:14px; line-height:1.6; }
.ds-project-form-content .wpcf7-acceptance input { min-width:18px; min-height:18px; }
.single-realizacja .twi img { aspect-ratio:4/3; object-fit:contain; background:#ebe6d9; }
@media (max-width:1023px) { .ds-project-header-grid > .realizacja-gallery { order:-1; } .portfolio-header__content { padding-top:0; } .ds-project-header-grid { gap:24px; } }
@media (max-width:767px) { .ds-project-form-grid { grid-template-columns:1fr; gap:24px; } .ds-project-form-photo img { aspect-ratio:4/3; max-height:none; } .ds-project-form-content { padding:0; } .ds-project-form-content .form-duo { grid-template-columns:1fr; } .ds-project-form-content .wpcf7-submit { width:100%; } }

/* Dobre Stopnie: restrained architectural motion, BYQ Curtain Image Reveal reference. */
:root { --ds-motion-ease: cubic-bezier(.16,1,.3,1); }
.ds-photo-frame { overflow: hidden; }
.ds-photo-image { transform-origin: center center; }
.ds-project-preview:has(img) { display: block; overflow: hidden; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .ds-project-preview img { transition: transform 650ms var(--ds-motion-ease); }
  .ds-project-preview:hover img { transform: scale(1.025); }
}
.ds-project-preview:focus-visible { outline-offset: 5px; }
@media (prefers-reduced-motion: reduce) {
  .ds-photo-frame, .ds-photo-image, .ds-project-preview img { animation: none !important; transition: none !important; transform: none !important; clip-path: none !important; }
}
