@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@500;700;800&display=swap');

/* Bootstrap owns layout and spacing. This file contains the visual identity,
   image framing and interaction states only. Never redefine .row, .col-*,
   .container, spacing, flex or position utilities here. */
:root{--ink:#292c27;--muted:#75766f;--wood:#98643d;--line:#e4e5de;--wash:#f6f6f2;--font:'DM Sans',sans-serif;--bs-body-font-family:var(--font);--bs-body-color:var(--ink);--bs-border-color:var(--line);--bs-link-color:var(--wood);--bs-link-hover-color:#7e5030}
html{scroll-behavior:smooth;scroll-padding-top:24px}
[hidden]{display:none!important}
body{line-height:1.75;background:#fff}
body a{text-decoration:none;color:inherit}
h1,h2,h3,h4,h5{font-family:'Fraunces',Georgia,serif;font-weight:400;letter-spacing:-.03em}
h1{font-size:clamp(2.7rem,5.2vw,5.4rem);line-height:1.12}
h2{font-size:clamp(2rem,3.1vw,3.2rem);line-height:1.24}
h3{font-size:1.5rem;line-height:1.35}
em{font-style:italic;color:var(--wood)}
a:focus-visible,button:focus-visible{outline:3px solid var(--wood);outline-offset:4px}
.bg-wash{background:var(--wash)}
.text-muted{--bs-secondary-color:var(--muted)}
.topbar{background:#f5f4ef;font-size:.75rem;letter-spacing:.06em}
.site-header{background:#fff;z-index:30}
.brand{font-family:'Manrope',sans-serif;font-size:1.65rem;font-weight:800;letter-spacing:-.07em;white-space:nowrap;line-height:1.25}
.brand svg{width:38px;height:38px;stroke:var(--wood);stroke-width:1.7;fill:none}
.brand-accent{color:var(--wood)}
.brand small{font:500 .59rem/1.8 var(--font);letter-spacing:.19em}
.navbar .nav-link{color:var(--ink);font-size:.875rem;min-height:44px}
.navbar .nav-link:hover,.navbar .nav-link[aria-current=page]{color:var(--wood)}
.navbar .dropdown-menu{--bs-dropdown-link-active-bg:var(--wood);--bs-dropdown-link-hover-bg:var(--wash);border-color:var(--line);border-radius:0;min-width:270px}
.navbar .dropdown-item{white-space:normal;min-height:44px;font-size:.875rem}
.navbar-toggler{font-size:.9rem;min-height:48px;border-radius:0}
.button,.dm-button{border:1px solid var(--wood);background:var(--wood);color:white;font-size:.875rem;font-weight:500;min-height:52px;transition:background .2s,transform .2s;border-radius:0}
.button:hover,.dm-button:hover{background:#7e5030;color:white;transform:translateY(-2px)}
.button.outline,.dm-button--outline{background:transparent;color:var(--ink);border-color:#a4a498}
.button.outline:hover,.dm-button--outline:hover{background:#e8e5dd}
.button.white,.dm-button--white{background:white;border-color:white;color:var(--ink)}
.button.white:hover,.dm-button--white:hover{background:#eee9e1;color:var(--ink)}
.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.16em}
.rule{height:1px;width:30px;background:var(--wood)}
.lead{max-width:460px;color:#6c6e66;font-size:1.04rem;line-height:1.8}
.text-link{font-size:.875rem;font-weight:500;border-bottom:1px solid #a9aaa1}
i svg,[data-subpage-icon] svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.hero-points,.hero-bottom,.caption{font-size:.8rem;color:var(--muted)}
.hero-visual{min-height:540px;background:#624d3d}
.hero-visual>img{filter:brightness(.8)}
.image-label{color:white;font-size:.75rem;letter-spacing:.14em}
.seal{border:1px solid #ffffff88;border-radius:50%;width:102px;height:102px;font:500 1.65rem 'Manrope',sans-serif;transform:rotate(-12deg)}
.seal small{font:400 .5rem var(--font);letter-spacing:.1em}
.vertical-note{writing-mode:vertical-rl;font-size:.62rem;letter-spacing:.19em;color:white}
.benefit-grid small{color:var(--muted);font-size:.75rem}
.benefit-grid svg{color:var(--wood);width:30px;height:30px}
.intro-grid p,.offer-body p,.steps p,.contact-copy>p,.knowledge-grid p,.story-copy p,.about-pillar p,.about-image-section p,.about-timeline p,.contact-page-copy>p,.contact-company{color:var(--muted)}
.offer-card,.contact-section,.about-pillar,.contact-map-note{background:var(--wash)}
.offer-photo{height:320px}
.offer-photo img,.dm-gallery-tile img{transition:transform .6s}
.offer-card:hover .offer-photo img{transform:scale(1.035)}
.photo-tag{background:white;font-size:.65rem;letter-spacing:.12em}
.offer-body h2{font-size:2.1rem}
.check-list{font-size:.9rem;list-style:none}
.check-list li::before{content:'✓';color:var(--wood);margin-right:12px}
.steps article>span{font-size:1.7rem;color:#bcbdb3}
.steps i{color:var(--wood)}
.steps p{font-size:.9rem}
.wood-banner{height:430px;color:#fff;background:#47382a}
.wood-banner>img{height:140%!important;top:-20%;filter:brightness(.37);will-change:transform}
.wood-banner em{color:#d9b591}
.filters button{background:#fff;border:1px solid var(--line);font-size:.85rem;color:var(--muted);min-height:44px}
.filters button.active{background:var(--ink);color:white}
.gallery-item{height:300px;background:var(--wash);text-align:left;border:0}
.gallery-item img{transition:transform .6s}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-item::after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#0009)}
.gallery-item>span{color:white;z-index:1}
.knowledge-grid article{border:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;font-weight:500}
.quote-form,.contact-page-form{background:white}
.form-control,.form-select{border-radius:0;border-color:var(--line);font-size:1rem;min-height:48px}
.form-control:focus,.form-select:focus{border-color:var(--wood);box-shadow:0 0 0 .2rem #98643d22}
.form-check-input:checked{background-color:var(--wood);border-color:var(--wood)}
.upload{border:1px dashed #bdbeb3;cursor:pointer}
.upload input{cursor:pointer;opacity:0}
.consent,.form-consent,.form-note,#file-list,.form-status,#form-status{font-size:.8rem;color:var(--muted)}
.privacy-link{font-size:inherit;color:inherit;text-decoration:underline}
.poland{border-top:1px solid var(--line)}
.social-link{border:1px solid var(--line);min-width:44px;min-height:44px;font-size:.85rem}
.social-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}
.social-pending{color:var(--muted)}
a.social-link:hover{color:var(--wood);background:var(--wash)}
.site-footer{background:#292c27;color:#fff}
.site-footer .brand-accent,.footer-coverage,.footer-all{color:#deb38d}
.footer-intro,.footer-company,.footer-email,.footer-bottom,.footer-links{color:#c6c9bf;font-size:.9rem}
.site-footer h2{font:500 .9375rem/1.5 var(--font);letter-spacing:0}
.footer-company{font-style:normal}
.footer-company p{white-space:pre-line;overflow-wrap:anywhere}
.footer-contact-item{overflow-wrap:anywhere}
.footer-phone{font-size:1.4rem;white-space:nowrap}
.footer-demo-note{font-size:.8rem;color:#deb38d}
.site-footer a:hover{color:#efcaa5}
.floating-phone{z-index:35;width:60px;height:60px;border:2px solid white;border-radius:50%;background:var(--wood);color:#fff;box-shadow:0 5px 24px #292c2738}
.floating-phone:hover{color:white;background:#7e5030}
.floating-phone svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6}
.floating-phone__label{right:calc(100% + 12px);background:var(--ink);white-space:nowrap;opacity:0;pointer-events:none}
.floating-phone:hover .floating-phone__label,.floating-phone:focus-visible .floating-phone__label{opacity:1}
.subpage-hero{background:var(--wash)}
.subpage-hero-copy{color:var(--muted);max-width:480px}
.subpage-contact-hero{background:var(--ink);color:white}
.subpage-contact-hero .subpage-hero-copy{color:#d2d5cb}
.subpage-contact-hero em{color:#deb38d}
.subpage-narrow,.story-copy{max-width:880px}
.story-copy .story-lead{font-size:1.4rem;color:var(--ink)}
.about-image-section img{height:460px}
.about-timeline article>span{font:400 2.5rem 'Fraunces',serif;color:var(--wood)}
.contact-company strong{color:var(--ink)}
dialog{border:0;color:var(--ink);max-width:94vw;max-height:94vh}
dialog::backdrop{background:#111c}
#lightbox img{width:min(900px,80vw);height:65vh;object-fit:contain!important}
#privacy{max-width:550px}
.dialog-close{font-size:1.7rem;background:transparent;border:0}
.lightbox-nav button{background:white;border:1px solid var(--line)}
.scroll-reveal{--animate-duration:750ms}
.scroll-pending{opacity:0}
.scroll-reveal.animate__animated{animation-delay:var(--scroll-delay,0ms)}
.catalog-top,.catalog-label{border-bottom:1px solid var(--line)}
.catalog-intro,.catalog-label{background:var(--wash)}
.catalog-brand{font-size:1.4rem;font-weight:700}
.catalog-brand span{color:var(--wood)}
.catalog-label h2{font-family:var(--font);font-size:1rem;letter-spacing:0}
.catalog-label small{color:var(--muted)}
.catalog-intro>p{max-width:800px}
.catalog-tabs a,.catalog-tools a,.catalog-tools button{border:1px solid var(--line);background:white;min-height:44px;font-size:.85rem;color:var(--ink)}
.catalog-foot,#copy-status{background:var(--ink);color:white}
#copy-status{z-index:100;max-width:calc(100% - 40px)}
#copy-status:empty{display:none}
/* Component-specific proportions, not replacements for Bootstrap layout. */
.dm-review-card{flex:0 0 calc((100% - 48px)/3)}
.dm-reviews-track{flex-wrap:nowrap}
.dm-reviews-viewport{overflow:hidden}
.dm-photo-value{font:400 clamp(2.7rem,4vw,4.5rem)/1.1 'Fraunces',serif;min-width:150px;color:var(--wood);font-variant-numeric:tabular-nums}
.dm-photo-value small{font:400 1rem var(--font)}
.dm-stats-photo__image{height:100%;min-height:560px}
.dm-hero-split__image{height:100%;min-height:540px}
.dm-cta-card__photo{height:100%;min-height:420px}
.dm-gallery-dialog{max-width:94vw}
.dm-section .dm-gallery-dialog{inset:0;width:min(1100px,94vw);max-height:94dvh;overflow:auto;border:0;background:#20231f;color:white}
.dm-article figure{height:320px}
.dm-rich-text__body{max-width:850px}
.dm-section .dm-table{--bs-table-bg:transparent;--bs-table-color:var(--dm-ink);--bs-table-hover-bg:#f8f1e9}
@media(max-width:991.98px){.hero-visual,.dm-hero-split__image{min-height:390px}.dm-stats-photo__image{min-height:360px}.navbar-collapse{max-height:80vh;overflow:auto}.navbar .dropdown-menu{box-shadow:none!important}.dm-photo-value{min-width:120px}.dm-review-card{flex-basis:100%}.about-image-section img{height:320px}}
@media(max-width:575.98px){.navbar .brand{font-size:1.4rem}.navbar .brand svg{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.scroll-reveal{opacity:1!important;animation:none!important;transform:none!important}.parallax-image{transform:none!important}}
.benefit-grid p{color:#75766f; margin-top:5px; font-size:small}
.benefit-grid i.bi{color:#98643d;}

.search_category a,
.subpages_list a {
  color:#98643d;
  display: block;
  padding: 10px 15px;
  margin-bottom: 5px;
  border-radius: 3px;
  transition: 0.3s ease-out;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-left: 3px solid #98643d;
  background: rgba(255, 255, 255, 0.2);
  text-decoration: none;
  backdrop-filter: blur(3px);
}
.search_category a:hover,
.subpages_list a:hover {
  color: #fff;
  background: #98643d;
  border-left-width: 8px;
}
.search_category li,
.subpages_list li {
  list-style: none;
}
@media (max-width: 600px) {
.subpages_list {
    column-count: 2;
    font-size: 1.3rem;
    padding: 20px 0;
  }
}